WO2020085078A1 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
WO2020085078A1
WO2020085078A1 PCT/JP2019/039605 JP2019039605W WO2020085078A1 WO 2020085078 A1 WO2020085078 A1 WO 2020085078A1 JP 2019039605 W JP2019039605 W JP 2019039605W WO 2020085078 A1 WO2020085078 A1 WO 2020085078A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
control device
processing
data
feature extraction
Prior art date
Application number
PCT/JP2019/039605
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 オムロン株式会社
Priority to US17/279,086 priority Critical patent/US11783063B2/en
Priority to CN201980058247.XA priority patent/CN112654988A/zh
Priority to EP19874884.0A priority patent/EP3872667A4/en
Publication of WO2020085078A1 publication Critical patent/WO2020085078A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • G05B23/0254Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a quantitative model, e.g. mathematical relationships between inputs and outputs; functions: observer, Kalman filter, residual calculation, Neural Networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0283Predictive maintenance, e.g. involving the monitoring of a system and, based on the monitoring results, taking decisions on the maintenance schedule of the monitored system; Estimating remaining useful life [RUL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Definitions

  • the present invention relates to a control device capable of detecting any abnormality that may occur in a monitoring target.
  • Predictive maintenance refers to a maintenance mode in which any abnormality that occurs in a machine or device is detected and maintenance work such as maintenance and replacement is performed before the equipment is put into a state unless it is stopped.
  • the content such as what state value to collect to realize anomaly detection or what kind of anomaly detection algorithm to use is, so to speak, know-how and needs to be kept secret. .
  • One object of the present invention is to provide a mechanism capable of appropriately protecting know-how relating to abnormality detection processing.
  • a control device for controlling a control target refers to a feature extraction unit that calculates one or more feature amounts from one or more state values acquired from a monitoring target, and a feature extraction by referring to a learning model. Based on the score calculated by the processing unit, and a processing unit that calculates a score that is a value indicating the possibility that some abnormality has occurred in the monitoring target based on the one or more characteristic amounts calculated by the processing unit.
  • a first data storage unit, a second data storage unit that stores an arbitrary state value that can be referred to by the control device, and an authority management unit that restricts access to the first data storage unit are included.
  • the data relating to the processing in the feature extraction unit and the data relating to the processing in the processing unit are the first data whose access is restricted by the authority management unit. It is stored in the storage unit.
  • any state value that can be referred to by the control device is stored in the second data storage unit, it is possible to easily confirm the validity.
  • the data related to the processing by the feature extraction unit may include one or more feature amounts calculated by the feature extraction unit. According to this configuration, the feature amount calculated by the feature extraction unit, which is one of the know-how relating to the abnormality detection process, can be appropriately concealed.
  • the feature extraction unit calculates one or a plurality of feature amounts from one or a plurality of state values designated by external setting information, and the data related to the processing by the feature extraction unit may include the setting information. .
  • the setting information which is one of the know-how relating to the abnormality detection processing, can be appropriately hidden.
  • Data related to processing in the processing unit may include a score calculated by the processing unit. According to this configuration, it is possible to appropriately conceal the score calculated by the processing unit, which is one of the know-how relating to the abnormality detection processing.
  • the authority management unit may restrict access to the program itself for realizing the feature extraction unit and the processing unit. According to this configuration, not only the input to the feature extraction unit and the processing unit or the output from the feature extraction unit and the processing unit, but also the feature extraction unit and the processing unit itself can be protected. Can be protected.
  • the second data storage unit may further store the determination result generated by the determination unit. According to this configuration, since the determination result is stored in the second data storage unit in addition to the state value, the posterior analysis process can be facilitated.
  • the authority management unit may determine whether or not the authority to access the first data storage unit is granted based on the identification information and the password. According to this configuration, since a general authority management method can be adopted, versatility can be enhanced.
  • the authority management unit has a secret key corresponding to the public key held by the external device that accesses the first data storage unit, and the authority management unit encrypts with the public key transmitted from the external device.
  • the encrypted identification information and password may be decrypted with the secret key, and then it may be determined whether or not the authority to access the first data storage unit is given. According to this configuration, it is possible to secure the security for the identification information and the password exchanged between the control device and the external device.
  • the authority management unit determines that the authority to access the first data storage unit is given, the authority management unit transmits the common key for encrypting the data exchanged with the external device to the external device. You may do it. According to this configuration, it is possible to ensure the security of the data provided from the control device to the external device.
  • FIG. 3 is a block diagram showing a basic software configuration example of the abnormality detection system according to the present embodiment.
  • FIG. 6 is a schematic diagram showing a range of operation restrictions set for the software configuration example shown in FIG. 5.
  • FIG. 3 is a block diagram showing a more detailed software configuration example of the abnormality detection system according to the present embodiment.
  • FIG. 8 is a schematic diagram showing an example of data stored in a restriction DB of the control device shown in FIG. 7.
  • FIG. 8 is a schematic diagram showing an example of data stored in a public DB of the control device shown in FIG. 7.
  • FIG. 7 is a block diagram showing an example of implementation for restricting access to a restriction DB in abnormality detection system 1 according to the present embodiment.
  • a functional configuration example of a control system capable of executing the abnormality detection processing according to this embodiment will be described.
  • the abnormality detection process included in the control system will be mainly described, and thus the entire control system is also referred to as an “abnormality detection system”.
  • FIG. 1 is a schematic diagram showing an overall configuration example of an abnormality detection system 1 according to the present embodiment.
  • abnormality detection system 1 includes, as main components, control device 100 that controls a control target, and support device 200 that can be connected to control device 100.
  • the abnormality detection system 1 may further include a host server 300 and a display device 400 as an optional configuration.
  • the control device 100 generates a determination result indicating whether or not any abnormality has occurred in the monitoring target included in the control target.
  • the control device 100 may be embodied as a kind of computer such as a PLC (programmable controller).
  • control device 100 is connected to the field device group 10 via the first field bus 2 and is connected to one or a plurality of display devices 400 via the second field bus 4. Further, the control device 100 is connected to the host server 300 via the local network 6. The control device 100 exchanges data with the connected device via each network.
  • the control device 100 not only executes various control calculations for controlling facilities and machines, but also has an abnormality detection function of detecting an abnormality occurring in a control target. By mounting the abnormality detection function in the control device 100, it is possible to detect an abnormality that may occur in the control target in a shorter cycle.
  • the “state value” is a term that includes a value that can be observed by an arbitrary control target (or a monitoring target). It may include an ON / OFF state, command values such as position, speed, and torque given to the servo driver by the PLC, and variable values used by the PLC for calculation.
  • the state value observed by an arbitrary control target and transferred to the control device 100 is also referred to as an “input value” below.
  • the first field bus 2 and the second field bus 4 it is preferable to adopt a network that performs fixed-cycle communication in which the arrival time of data is guaranteed.
  • EtherCAT registered trademark
  • networks that perform such fixed-cycle communication are known as networks that perform such fixed-cycle communication.
  • the field device group 10 includes devices that collect, as an input value, state values of a control target or a manufacturing device or a production line related to control or the like (hereinafter, also collectively referred to as “field”).
  • An input relay, various sensors, etc. are assumed as a device which acquires such a state value.
  • the field device group 10 further includes a device that exerts some action on the field based on a command value (hereinafter, also referred to as “output value”) generated by the control device 100.
  • An output relay, a contactor, a servo driver, a servo motor, or any other actuator is assumed as a device that gives some action to such a field.
  • These field device groups 10 exchange data including an input value and an output value with the control device 100 via the first field bus 2.
  • the field device group 10 includes a remote I / O (Input / Output) device 12, a relay group 14, an image sensor 18, a camera 20, a servo driver 22 and a servo motor 24. Including.
  • the remote I / O device 12 communicates with the communication unit via the first fieldbus 2, and an input / output unit for acquiring an input value and outputting an output value (hereinafter, also referred to as “I / O unit”). .) And. Through such an I / O unit, input values and output values are exchanged between the control device 100 and the field.
  • FIG. 1 shows an example in which a digital signal is exchanged as an input value and an output value via the relay group 14.
  • the I / O unit may be directly connected to the fieldbus.
  • FIG. 1 shows an example in which the I / O unit 16 is directly connected to the first field bus 2.
  • the image sensor 18 performs image measurement processing such as pattern matching on the image data captured by the camera 20, and transmits the processing result to the control device 100.
  • the servo driver 22 drives the servo motor 24 according to the output value (for example, position command) from the control device 100.
  • the support device 200 is a device that supports the preparation necessary for the control device 100 to control the control target.
  • the support device 200 includes a development environment (a program creation / editing tool, a parser, a compiler, etc.) for a program executed by the control device 100, parameters of the control device 100 and various devices connected to the control device 100 (configuration). Environment, a function of transmitting the generated user program to the control device 100, a function of modifying / changing a user program executed on the control device 100 online, and the like.
  • the support device 200 provides functions such as various settings and data generation and transmission for realizing the abnormality detection processing in the control device 100.
  • the upper server 300 is connected to the control device 100 via the local network 6 and exchanges necessary data with the control device 100.
  • the upper server 300 has, for example, a database function, and collects various data stored in the control device 100 on a regular or event basis.
  • a general-purpose protocol such as Ethernet (registered trademark) may be mounted on the local network 6.
  • the display device 400 is connected to the control device 100 via the second field bus 4, receives a user's operation, transmits a command or the like according to the user's operation to the control device 100, and causes the control device 100 to operate.
  • the processing result of is displayed graphically.
  • FIG. 2 is a schematic diagram showing a main part of control device 100 configuring abnormality detection system 1 according to the present embodiment.
  • control device 100 has feature extraction unit 140, machine learning processing unit 144, result determination unit 146, authority management unit 130, and restriction database (hereinafter also referred to as “restriction DB”). ) 180 and a public database (hereinafter also referred to as “public DB”) 190.
  • restriction database hereinafter also referred to as “restriction DB”.
  • public DB public database
  • the feature extraction unit 140 calculates one or more feature amounts 150 from the one or more state values 164 acquired from the monitoring target. At this time, the feature extraction unit 140 calculates one or a plurality of feature amounts 150 from the one or a plurality of state values 164 designated by the setting information 158 from the outside.
  • the machine learning processing unit 144 refers to the learning model 152 and uses the value indicating the possibility that some abnormality has occurred in the monitoring target based on the one or more feature amounts 150 calculated by the feature extraction unit 140. A certain score 154 is calculated.
  • the result determination unit 146 generates the determination result 170 indicating whether or not any abnormality has occurred in the monitoring target based on the score 154 calculated by the machine learning processing unit 144. At this time, the result determination unit 146 refers to the determination condition 156 and determines whether or not any abnormality has occurred in the monitoring target based on the score 154.
  • the restriction DB 180 corresponds to a data storage unit that stores at least one of data related to processing by the feature extraction unit 140 and data related to processing by the machine learning processing unit 144.
  • the public DB 190 corresponds to a data storage unit that stores any state value that can be referred to by the control device 100.
  • the authority management unit 130 also restricts access to the restriction DB 180.
  • control device 100 by preparing two types of databases (data storage units) having different access rights, know-how relating to abnormality detection processing is protected and various analyzes are performed. Provide means to secure methods.
  • FIG. 3 is a block diagram showing a hardware configuration example of control device 100 configuring abnormality detection system 1 according to the present embodiment.
  • the control device 100 includes a processor 102 such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit), a chipset 104, a main storage device 106, a secondary storage device 108, A local network controller 110, a USB (Universal Serial Bus) controller 112, a memory card interface 114, an internal bus controller 122, fieldbus controllers 118 and 120, I / O units 124-1, 124-2, ... ⁇ Including and.
  • a processor 102 such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit)
  • chipset 104 such as a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit)
  • main storage device 106 such as a main storage device 106, a secondary storage device 108,
  • a local network controller 110 such as a
  • the processor 102 reads various programs stored in the secondary storage device 108, expands the programs in the main storage device 106, and executes the programs to realize control according to a control target and various processes described below. .
  • the chip set 104 realizes processing as the entire control device 100 by controlling each component together with the processor 102.
  • the secondary storage device 108 in addition to the system program 126 (corresponding to a control program) for realizing the function provided by the control device 100, a user program executed by using the execution environment provided by the system program 126. Is stored.
  • the local network controller 110 controls the exchange of data with other devices via the local network 6.
  • the USB controller 112 controls data exchange with the support device 200 via the USB connection.
  • the memory card interface 114 is configured such that the memory card 116 can be attached to and detached from the memory card 116, and data can be written in the memory card 116 and various data (user programs, trace data, etc.) can be read from the memory card 116. There is.
  • the internal bus controller 122 is an interface for exchanging data with the I / O units 124-1, 124-2, ... Installed in the control device 100.
  • the fieldbus controller 118 controls the exchange of data with other devices via the first fieldbus 2.
  • the fieldbus controller 120 controls the exchange of data with other devices via the second fieldbus 4.
  • FIG. 3 shows a configuration example in which necessary functions are provided by the processor 102 executing a program.
  • some or all of the provided functions may be provided in a dedicated hardware circuit (for example, ASIC). It may be implemented using (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array).
  • the main part of the control device 100 may be realized by using hardware according to a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • a virtualization technique may be used to execute a plurality of OSs (Operating Systems) having different purposes in parallel and to execute a required application on each OS.
  • OSs Operating Systems
  • the support device 200 is realized by executing a program using hardware according to a general-purpose architecture (for example, a general-purpose personal computer).
  • a general-purpose architecture for example, a general-purpose personal computer.
  • FIG. 4 is a block diagram showing a hardware configuration example of support device 200 that constitutes abnormality detection system 1 according to the present embodiment.
  • the support device 200 includes a processor 202 such as a CPU or MPU, a drive 204, a main storage device 206, a secondary storage device 208, a USB controller 212, a local network controller 214, and an input.
  • the unit 216 and the display unit 218 are included. These components are connected via a bus 220.
  • the processor 202 reads various programs stored in the secondary storage device 208, expands them in the main storage device 206, and executes them to realize various processes described later.
  • the secondary storage device 208 is composed of, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the secondary storage device 208 typically includes a development program (not shown) for creating a user program executed in the support device 200, debugging the created program, defining a system configuration, and setting various parameters.
  • Various programs including the data mining tool 250 and the setting tool 260 are stored.
  • the OS and other necessary programs may be stored in the secondary storage device 208.
  • the drive 204 can write data to the storage medium 205 and read various data (user program, trace data, time series data, etc.) from the storage medium 205.
  • the storage medium 205 includes, for example, a storage medium 205 (for example, an optical storage medium such as a DVD (Digital Versatile Disc)) that non-transitoryly stores a computer-readable program.
  • the program or data stored therein is read from the memory card 116 or the storage medium 205 and installed in an internal storage area such as the secondary storage device 208.
  • the various programs executed by the support apparatus 200 may be installed via the computer-readable memory card 116 or the storage medium 205, or may be installed by being downloaded from a server apparatus on the network. . Further, the function provided by support device 200 according to the present embodiment may be realized by utilizing a part of the module provided by the OS.
  • the USB controller 212 controls the exchange of data with the control device 100 via the USB connection.
  • the local network controller 214 controls the exchange of data with other devices via an arbitrary network.
  • the input unit 216 is composed of a keyboard, a mouse, etc., and receives user operations.
  • the display unit 218 includes a display and various indicators, and outputs the processing result from the processor 202.
  • a printer may be connected to the support device 200.
  • FIG. 4 shows a configuration example in which necessary functions are provided by the processor 202 executing a program, but some or all of the provided functions may be provided in a dedicated hardware circuit (for example, ASIC). Alternatively, it may be implemented by using an FPGA or the like.
  • FIG. 5 is a block diagram showing a basic software configuration example of abnormality detection system 1 according to the present embodiment.
  • control device 100 executes an abnormality detection process based on various information provided from support device 200.
  • the control device 100 includes a variable management unit 160, a feature extraction unit 140, a learning model generation unit 142, a machine learning processing unit 144, a result determination unit 146, and an authority management unit 130.
  • the variable management unit 160 updates the internal state value by acquiring the state value (input value) appearing in a control target such as a machine or device for each predetermined control cycle. Further, the variable management unit 160 updates the command value (output value) calculated by executing the user program or the like for each control cycle. That is, the variable management unit 160 executes at least a part of the I / O refresh processing, and updates the input value acquired from the control target and the output value given to the control target for each control cycle.
  • control device 100 In control device 100 according to the present embodiment, a state value (input value) obtained from a control target, a command value (output value) given to the control target, and arithmetic processing in control device 100 or control device 100 is performed.
  • the form referred to in the form of "variable” is adopted for both data and values (all included in "internal state value") used for state management. Therefore, in the following description, a value that can be used in the control device 100 may be expressed as a “variable value”. Then, a set of internal state values indicating state values generated in a control target such as a machine or a device is expressed as a "device variable".
  • the present invention is not limited to the form in which the value is referred to by using the "variable”, and is also applicable to the form in which the physical address of the memory storing each value is directly specified and referred to.
  • the feature extraction unit 140 calculates one or more feature quantities 150 from one or more state values acquired from the monitoring target. More specifically, the feature extraction unit 140 sets the value (temporal change in unit section) indicated by the one or more device variables 162 (state value) of the designated target according to the setting information 158 set by the support apparatus 200. ), One or a plurality of feature amounts 150 (for example, an average value, a maximum value, a minimum value, etc. over a predetermined time) are calculated periodically or for each event according to a predetermined process.
  • the unit section used by the feature extraction unit 140 to calculate the feature amount 150 is also referred to as a “frame” below. The unit section (frame) is arbitrarily set according to the operation of the monitoring target.
  • the machine learning processing unit 144 refers to the learning model 152 and uses the value indicating the possibility that some abnormality has occurred in the monitoring target based on the one or more feature amounts 150 calculated by the feature extraction unit 140. A certain score 154 is calculated.
  • the learning model 152 is typically provided by the learning model generation unit 142.
  • the machine learning processing unit 144 employs, as an abnormality detection algorithm, a method of calculating a score corresponding to the input value based on the deviation degree of the input value with respect to the value group in the hyperspace.
  • the anomaly detection method based on the degree of deviation include a method of detecting anomalies based on the shortest distance from each point to the value group (k-nearest neighbor method), and a local outlier factor that evaluates the distance including the cluster including the value group
  • the (LoF: local outlier factor) method and the iForest (isolation forest) method that uses a score calculated from the path length are known.
  • the learning model 152 is composed of normal feature amounts, it can be determined that there is a high possibility that some abnormality has occurred in the monitoring target as the degree of deviation (ie, score) from the learning model 152 increases. .
  • the degree of deviation from the learning model 152 that is, the score
  • the learning model generation unit 142 generates the learning model 152 according to the instruction from the support device 200.
  • the learning model generation unit 142 may be provided in a part of the support device 200.
  • the learning model 152 itself is provided from the support device 200 to the control device 100. More specifically, the learning model 152 may be generated by extracting necessary data using the data mining tool 250 of the support device 200.
  • the result determination unit 146 generates the determination result 170 indicating whether or not any abnormality has occurred in the monitoring target based on the score 154 calculated by the machine learning processing unit 144.
  • the determination condition 156 may be set by the support device 200. Typically, the determination condition 156 includes a threshold range that is set for the score 154 and indicates that there is a high possibility that some abnormality has occurred in the monitoring target.
  • the authority management unit 130 provides a function of restricting access to software modules and programs installed in the control device 100. Details of the authority management unit 130 will be described later.
  • the support device 200 sets the setting information 158 and the determination condition 156 in the control device 100. More specifically, the support apparatus 200 has a setting tool 260, and the setting tool 260 is in charge of setting processing of various data to the control apparatus 100.
  • the feature extraction unit 140, the learning model generation unit 142, and the machine learning processing unit 144 are mounted on the control device 100. To be done.
  • the processing unit related to the abnormality detection processing it is prohibited to change or confirm the definition contents by a user other than the user who is given the predetermined authority.
  • the prohibition of such an operation is for maintaining the operation of the abnormality detection system 1 in a constant state and for protecting the operation state as know-how, and is managed by the authority management unit 130.
  • the authority management unit 130 cooperates with the setting tool 260 of the support device 200 to operate the feature extraction unit 140, the learning model generation unit 142, and the machine learning processing unit 144 with a password.
  • FIG. 6 is a schematic diagram showing the range of operation restrictions set for the software configuration example shown in FIG.
  • the authority management unit 130 restricts operations on the feature extraction unit 140, the learning model generation unit 142, and the machine learning processing unit 144. That is, the authority management unit 130 restricts access to the program itself for realizing the feature extraction unit 140, the learning model generation unit 142, and the machine learning processing unit 144. This makes it possible to conceal know-how such as definition contents set in the feature extraction unit 140, the learning model generation unit 142, and the machine learning processing unit 144.
  • control device 100 may be equipped with a function of collecting time-series data by data logging or the like in order to evaluate whether or not the control calculation is appropriately executed.
  • a function of collecting time-series data by data logging or the like in order to evaluate whether or not the control calculation is appropriately executed.
  • the anomaly detection system 1 according to the present embodiment includes not only software related to the abnormality detection processing but also a know-how provider related to the abnormality detection processing (that is, a definition content setting person) and a beneficiary of the abnormality detection processing. For each, a configuration with each merit is provided.
  • FIG. 7 is a block diagram showing a more detailed software configuration example of abnormality detection system 1 according to the present embodiment.
  • control device 100 has two types of databases for storing various data. Specifically, the control device 100 includes a restriction database (hereinafter, also referred to as “restriction DB”) 180 whose access is restricted by the authority management unit 130, and a public database (hereinafter, “public DB”) whose access is not restricted. It is also abbreviated.) 190.
  • restriction database hereinafter, also referred to as “restriction DB”
  • public DB public database
  • the data related to the know-how of abnormality detection processing is stored in the restriction DB 180, and the data necessary to use the result of the abnormality detection processing is stored in the public DB 190.
  • the restriction DB 180 the data necessary to use the result of the abnormality detection processing is stored in the public DB 190.
  • the restriction DB 180 stores data related to know-how of abnormality detection processing. That is, the restriction DB 180 is a data storage unit that stores at least one of data related to processing by the feature extraction unit 140 and data related to processing by the machine learning processing unit 144. More specifically, the restriction DB 180 stores time information, frame identification information, feature amounts, scores and the like. These pieces of information are basically stored in the form of time series data. Further, the restriction DB 180 may store the contents of the setting information 158 set from the support device 200 (which variable calculates what characteristic amount). These pieces of information are stored as tabular static information.
  • FIG. 8 is a schematic diagram showing an example of data stored in the restriction DB 180 of the control device 100 shown in FIG.
  • the time series data 182 shown in FIG. 8A and the setting data 184 shown in FIG. 8B are stored in the restriction DB 180.
  • the time-series data 182 shown in FIG. 8A includes data sequentially generated by executing the feature extraction unit 140, the learning model generation unit 142, the machine learning processing unit 144, the result determination unit 146, and the like. . More specifically, the time series data 182 includes an index 1821, a time stamp 1822, a frame ID 1823, a feature amount 1824, and a score 1825.
  • the index 1821 is information for identifying each record, and is a unique value arbitrarily given in the control device 100. Typically, the index 1801 is incremented or decremented every acquisition cycle. By using the value that is incremented or decremented, it is possible to determine whether or not data is missing.
  • the time stamp 1822 is time information indicating the timing of generating each record.
  • the time information is provided by the timekeeping means managed by the control device 100.
  • the frame ID 1823 is identification information for identifying a unit section (frame) in which the data used to generate each record is collected. Typically, the values of device variables used to determine the frame are stored.
  • the feature amount 1824 stores the value of the feature amount 150 sequentially calculated by the feature extraction unit 140. That is, the data related to the processing by the feature extraction unit 140 stored in the restriction DB 180 includes one or a plurality of feature amounts 150 calculated by the feature extraction unit 140.
  • the score 1825 stores the value of the score 154 sequentially calculated by the machine learning processing unit 144. That is, the data related to the processing by the feature extraction unit 140 stored in the restriction DB 180 includes the score 154 calculated by the machine learning processing unit 144.
  • the setting data 184 shown in FIG. 8B describes the content of the setting information 158 set by the support device 200 for the feature extraction unit 140. More specifically, the setting data 184 includes a feature amount ID 1841, a device variable 1842, and a feature amount type 1843.
  • the feature amount ID 1841 is identification information for identifying the feature amount calculated by the feature extraction unit 140.
  • the device variable 1842 stores information that identifies the device variable used for calculating the corresponding feature amount.
  • the feature amount type 1843 stores information that specifies the method of calculating the corresponding feature amount.
  • the data related to the processing in the feature extraction unit 140 stored in the restriction DB 180 includes the setting information 158.
  • the public DB 190 stores arbitrary data other than data related to the abnormality detection processing know-how. That is, the public DB 190 is a data storage unit that stores any state value that can be referred to by the control device 100.
  • FIG. 9 is a schematic diagram showing an example of data stored in the public DB 190 of the control device 100 shown in FIG. 7.
  • the time series data 192 shown in FIG. 9 is stored in the public DB 190.
  • the time-series data 192 sequentially has a value that is updated every control cycle (I / O refresh processing cycle) of one or more device variables 162 (state values) managed by the variable management unit 160. Is stored. More specifically, the time series data 192 includes an index 1921, a time stamp 1922, and a device variable 1923.
  • the index 1921 is information for identifying each record, and is a unique value arbitrarily given in the control device 100. Typically, the index 1901 is incremented or decremented every acquisition cycle. By using the value that is incremented or decremented, it is possible to determine whether or not data is missing. Note that the same value as the index 1821 may be used for the time series data 182 of FIG. 8A, or a value set independently for each time series data may be used.
  • the time stamp 1922 is time information indicating the timing of generating each record.
  • the time information is provided by the timekeeping means managed by the control device 100.
  • the device variable 1923 stores the values of one or a plurality of device variables 162 set arbitrarily.
  • the data items shown in FIGS. 8 and 9 are examples, and data items other than the data items shown may be stored, or some data items may be replaced with other data items. You may For example, the public DB 190 may further store the determination result 170 generated by the result determination unit 146.
  • the data related to the know-how of abnormality detection processing is stored only in the restriction DB 180 and not in the public DB 190.
  • the data necessary to use the result of the abnormality detection processing (basically, not directly related to the know-how of the abnormality detection processing) is stored in the public DB 190.
  • the access to the data stored in the restriction DB 180 of the control device 100 is limited to the user who is given the predetermined authority. Further, it is preferable that the data read from the restriction DB 180 of the control device 100 is also securely transferred. In the following, an example of implementation for realizing access restriction to the restriction DB 180 and secure transfer of read data will be described.
  • FIG. 10 is a block diagram showing an example of implementation for restricting access to restriction DB 180 in abnormality detection system 1 according to the present embodiment.
  • the setting tool 260 of the support device 200 is used to set the authority for access to the control device 100, and the authorized user accesses the control device 100 from the analysis device 600. To do.
  • the authority management unit 130 determines whether or not the authority to access the restriction DB 180 is granted based on the identification information (ID) and the password (Password).
  • the administrator user of the abnormality detection system 1 operates the setting tool 260 of the support apparatus 200 to identify the accessible user to the authority management unit 130 of the control apparatus 100. And a password (Password) are set ((1) setting). This setting content is stored in the authority setting table 266.
  • Password password
  • the administrator user of the abnormality detection system 1 operates the setting tool 260 of the support apparatus 200 to set the secret key 262 in the authority management unit 130 ((2) provision of secret key) and to set the secret key 262.
  • the corresponding public key 264 is set in the analysis device 600 ((3) provision of public key).
  • the processing such as the authority setting to the abnormality detection system 1 is completed.
  • the authority management unit 130 has a private key 262 corresponding to the public key 264 held by the analysis device 600 that is an external device that accesses the restriction DB 180.
  • the analysis device 600 accesses the data stored in the restriction DB 180 of the control device 100.
  • the user who is given the predetermined authority operates the analysis device 600 to input the identification information (ID) and the password (Password) given to himself / herself.
  • the input identification information (ID) and password (Password) are encrypted by the public key 264 stored in the analysis device 600 and transmitted to the control device 100 ((4) input ID + Password (public)). Encryption with a key)).
  • the authority management unit 130 of the control apparatus 100 decrypts the identification information (ID) and password (Password) encrypted by the public key 264 transmitted from the analysis apparatus 600 with the secret key 262, and then the authority setting table 266. With reference to, a process (authentication process) for determining whether or not the authority to access the restriction DB 180 is granted is executed ((5) Authentication).
  • the authority management unit 130 of the control device 100 When the authentication process is successful, the authority management unit 130 of the control device 100 generates a common key 268 used for data transfer ((6) common key generation). Further, the authority management unit 130 of the control device 100 transfers the generated common key 268 to the analysis device 600 ((7) common key transfer). That is, when it is determined that the authority to access the restriction DB 180 is granted, the authority management unit 130 sends the common key 268 for encrypting the data exchanged with the analysis apparatus 600 to the analysis apparatus 600. Send.
  • the authority management unit 130 of the control device 100 encrypts the secret key 262 and then transfers the common key 268 to the analysis device 600.
  • the common key 268 encrypted from the analysis device 600 is decrypted with the public key 264 of its own device.
  • the data stored in the restriction DB 180 is transferred to the analysis device 600 by using the common key 268 shared by the authority management unit 130 of the control device 100 and the analysis device 600 ((8) data). Transfer (encryption with common key)). More specifically, the encryption unit 132 of the authority management unit 130 encrypts the data stored in the restriction DB 180 using the common key 268 and transfers the encrypted data to the analysis device 600. The analysis device 600 decrypts the encrypted data using the common key 268 and utilizes the decrypted data.
  • the public DB 190 is basically accessible from any device connected to the control device 100. As described above, the contents of the public DB 190 can be arbitrarily referred to by the user of the control device 100, while the contents of the restriction DB 180 can be referred to only by a user who is given a predetermined authority. It is possible.
  • HTTP hypertext transfer protocol
  • FTP file transfer protocol
  • FIG. 10 illustrates a configuration for accepting access from the analysis device 600 connected to the network to the restriction DB 180 of the control device 100
  • the present invention is not limited to this, and the memory card 116 that can be attached to the control device 100.
  • the data may be taken out only by a user having a predetermined authority via the above.
  • a control device (100) for controlling a controlled object comprising: A feature extraction unit (140) that calculates one or more feature quantities (150) from one or more state values (164) acquired from the monitoring target; A score (154) that is a value indicating the possibility that some abnormality has occurred in the monitoring target based on one or a plurality of feature amounts calculated by the feature extraction unit with reference to the learning model (152).
  • a control device comprising: an authority management unit (130) for restricting access to the first data storage unit.
  • the feature extraction unit calculates the one or more feature quantities (150) from one or more state values designated by external setting information (158), The control device according to configuration 1 or 2, wherein the data related to the processing in the feature extraction unit includes the setting information.
  • the control device according to any one of configurations 1 to 3 wherein the data related to the processing in the processing unit includes a score (154) calculated by the processing unit.
  • the authority management unit restricts access to a program itself for realizing the feature extraction unit and the processing unit.
  • the authority management unit determines whether or not the authority to access the first data storage unit is granted based on the identification information and the password (266). Control device.
  • the authority management unit has a secret key (262) corresponding to a public key (264) held by an external device that accesses the first data storage unit, The authority management unit decrypts the identification information and the password encrypted by the public key transmitted from the external device with the secret key, and then is authorized to access the first data storage unit.
  • the control device according to configuration 7, which determines whether or not there is.
  • the common key (268) for encrypting the data exchanged with the external device. Is transmitted to the external device.
  • 1 abnormality detection system 2 first fieldbus, 4 second fieldbus, 6 local network, 10 field device group, 12 remote I / O device, 14 relay group, 16,124 I / O unit, 18 image sensor, 20 Camera, 22 servo driver, 24 servo motor, 100 control device, 102, 202 processor, 104 chip set, 106, 206 main storage device, 108, 208 secondary storage device, 110, 214 local network controller, 112, 212 USB controller , 114 memory card interface, 116 memory card, 118, 120 fieldbus controller, 122 internal bus controller, 126 system program, 130 authority management unit, 13 Encryption unit, 140 feature extraction unit, 142 learning model generation unit, 144 machine learning processing unit, 146 result determination unit, 150, 1824 feature amount, 152 learning model, 154, 1825 score, 156 determination condition, 158 setting information, 160 Variable management unit, 162, 1842, 1923 device variable, 164 status value, 170 determination result, 180 limit DB, 182,192 time series data, 184 setting data, 190

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

制御装置は、1または複数の状態値から1または複数の特徴量を算出する特徴抽出部と、学習モデルを参照して、特徴抽出部により算出される1または複数の特徴量に基づいてスコアを算出する処理部と、スコアに基づいて監視対象に何らかの異常が発生しているか否かを示す判定結果を生成する判定部と、特徴抽出部での処理に係るデータ、および、処理部での処理に係るデータの少なくとも一方を格納する第1のデータ格納部と、制御装置で参照可能な任意の状態値を格納する第2のデータ格納部と、第1のデータ格納部へのアクセスを制限する権限管理部とを含む。

Description

制御装置
 本発明は、監視対象に発生し得る何らかの異常を検知可能な制御装置に関する。
 様々な生産現場において、機械や装置に対する予知保全により設備稼働率を向上させたいというニーズが存在する。予知保全とは、機械や装置に生じる何らかの異常を検知して、設備を停止しなければ状態になる前に、整備や交換などの保守作業を行うような保全形態を意味する。
 予知保全を実現するために、機械や装置の状態値を収集するとともに、収集された状態値に基づいて、当該機械や装置に何らかの異常が生じているか否かを判断するような仕組みが必要となる。
 一方で、異常検知を実現するためにいずれの状態値を収集するのか、あるいは、どのような異常検知のアルゴリズムを採用するのかといった内容は、いわばノウハウであり、秘匿化しておきたいというニーズがある。
 異常検知処理をPLC(プログラマブルコントローラ)などの制御装置に実装する場合には、例えば、IEC 61131-3に規定されるPLCプログラミング言語を用いて必要なプログラムが記述されることになる。特開2007-280348号公報(特許文献1)および特開2005-154688号公報(特許文献2)に開示されるような制限技術を用いて、制御装置内のプログラム自体へのアクセスを禁止することは可能である。
特開2007-280348号公報 特開2005-154688号公報
 しかしながら、異常検知処理に係るノウハウを保護するためには、プログラムだけではなく、処理途中のデータなども秘匿化する必要がある。上述の特許文献1および2は、このような新たな課題について何ら考慮するものではない。そのため、上述の特許文献1および2は、制御装置内のプログラム自体を保護するだけであり、処理途中のデータなどを保護することはできない。
 本発明の一つの目的は、異常検知処理に係るノウハウを適切に保護できる仕組みを提供することである。
 本発明の一例に従う制御対象を制御する制御装置は、監視対象から取得された1または複数の状態値から1または複数の特徴量を算出する特徴抽出部と、学習モデルを参照して、特徴抽出部により算出される1または複数の特徴量に基づいて、監視対象に何らかの異常が発生している可能性を示す値であるスコアを算出する処理部と、処理部により算出されるスコアに基づいて、監視対象に何らかの異常が発生しているか否かを示す判定結果を生成する判定部と、特徴抽出部での処理に係るデータ、および、処理部での処理に係るデータの少なくとも一方を格納する第1のデータ格納部と、制御装置で参照可能な任意の状態値を格納する第2のデータ格納部と、第1のデータ格納部へのアクセスを制限する権限管理部とを含む。
 本構成によれば、異常検知処理に係るノウハウに関する、特徴抽出部での処理に係るデータ、および、処理部での処理に係るデータについては、権限管理部によりアクセスが制限された第1のデータ格納部に格納される。一方で、制御装置で参照可能な任意の状態値については、第2のデータ格納部に格納されるので、妥当性の確認などを容易化できる。
 特徴抽出部での処理に係るデータは、特徴抽出部により算出される1または複数の特徴量を含んでいてもよい。本構成によれば、異常検知処理に係るノウハウの一つである特徴抽出部により算出される特徴量を適切に秘匿化できる。
 特徴抽出部は、外部からの設定情報により指定された1または複数の状態値から1または複数の特徴量を算出し、特徴抽出部での処理に係るデータは、設定情報を含んでいてもよい。本構成によれば、異常検知処理に係るノウハウの一つである設定情報を適切に秘匿化できる。
 処理部での処理に係るデータは、処理部により算出されるスコアを含んでいてもよい。本構成によれば、異常検知処理に係るノウハウの一つである処理部により算出されるスコアを適切に秘匿化できる。
 権限管理部は、特徴抽出部および処理部を実現するためのプログラム自体へのアクセスを制限するようにしてもよい。本構成によれば、特徴抽出部および処理部への入力あるいは特徴抽出部および処理部からの出力だけではなく、特徴抽出部および処理部自体も保護できるので、異常検知処理に係るノウハウを適切に保護できる。
 第2のデータ格納部は、判定部により生成される判定結果をさらに格納するようにしてもよい。本構成によれば、第2のデータ格納部には、状態値に加えて判定結果が格納されるので、事後的な解析処理を容易化できる。
 権限管理部は、識別情報およびパスワードに基づいて、第1のデータ格納部へアクセスする権限が付与されているか否かを判断するようにしてもよい。本構成によれば、一般的な権限管理手法を採用できるので汎用性を高めることができる。
 権限管理部は、第1のデータ格納部へアクセスする外部装置が保持している公開鍵に対応する、秘密鍵を有しており、権限管理部は、外部装置から送信される公開鍵により暗号化された識別情報およびパスワードを秘密鍵で復号した上で、第1のデータ格納部へアクセスする権限が付与されているか否かを判断するようにしてもよい。本構成によれば、制御装置と外部装置との間で遣り取りされる識別情報およびパスワードに対するセキュリティを担保できる。
 権限管理部は、第1のデータ格納部へアクセスする権限が付与されていると判断されると、外部装置との間で遣り取りされるデータを暗号化するための共通鍵を外部装置へ送信するようにしてもよい。本構成によれば、制御装置から外部装置へ提供されるデータに対するセキュリティを担保できる。
 本発明によれば、異常検知処理に係るノウハウを適切に保護できる仕組みを提供できる。
本実施の形態に従う異常検知システムの全体構成例を示す模式図である。 本実施の形態に従う異常検知システムを構成する制御装置の主要部を示す模式図である。 本実施の形態に従う異常検知システムを構成する制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う異常検知システムを構成するサポート装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う異常検知システムの基本的なソフトウェア構成例を示すブロック図である。 図5に示すソフトウェア構成例に対して設定される操作制限の範囲を示す模式図である。 本実施の形態に従う異常検知システムのより詳細なソフトウェア構成例を示すブロック図である。 図7に示す制御装置の制限DBに格納されるデータの一例を示す模式図である。 図7に示す制御装置の公開DBに格納されるデータの一例を示す模式図である。 本実施の形態に従う異常検知システム1における制限DBへのアクセスを制限するための実装例を示すブロック図である。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
 <A.適用例>
 まず、本発明が適用される場面の一例について説明する。
 本実施の形態に従う異常検知処理を実行可能な制御システムの機能的な構成例について説明する。以下の説明においては、主として、制御システムが有している異常検知処理に注目して説明するので、制御システム全体を「異常検知システム」とも称する。
 まず、本実施の形態に従う異常検知システム1の全体構成例について説明する。
 図1は、本実施の形態に従う異常検知システム1の全体構成例を示す模式図である。図1を参照して、異常検知システム1は、主たる構成要素として、制御対象を制御する制御装置100と、制御装置100に接続され得るサポート装置200とを含む。異常検知システム1は、オプショナルな構成として、上位サーバ300および表示装置400をさらに含んでいてもよい。
 制御装置100は、制御対象に含まれる監視対象に何らかの異常が発生しているか否かを示す判定結果を生成する。制御装置100は、PLC(プログラマブルコントローラ)などの、一種のコンピュータとして具現化されてもよい。
 より具体的には、制御装置100は、第1フィールドバス2を介してフィールド装置群10と接続されるとともに、第2フィールドバス4を介して1または複数の表示装置400と接続される。さらに、制御装置100は、ローカルネットワーク6を介して上位サーバ300に接続される。制御装置100は、それぞれのネットワークを介して、接続された装置との間でデータを遣り取りする。
 制御装置100は、設備や機械を制御するための各種制御演算を実行するとともに、制御対象に生じる異常を検知する異常検知機能も有している。異常検知機能が制御装置100に実装されることで、制御対象に生じ得る異常をより短い周期で検知できる。
 本明細書において、「状態値」は、任意の制御対象(あるいは、監視対象)にて観測できる値を包含する用語であり、例えば、任意のセンサにより測定できる物理値や、リレーやスイッチなどのON/OFF状態、PLCがサーボドライバに与える位置、速度、トルクなどの指令値、PLCが演算に用いる変数値などを含み得る。
 任意の制御対象にて観測されて制御装置100に転送される状態値を、以下「入力値」とも称す。
 第1フィールドバス2および第2フィールドバス4としては、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)などが知られている。
 フィールド装置群10は、制御対象または制御に関連する製造装置や生産ラインなど(以下、「フィールド」とも総称する。)の状態値を入力値として収集する装置を含む。このような状態値を取得する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群10は、さらに、制御装置100にて生成される指令値(以下、「出力値」とも称す。)に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群10は、第1フィールドバス2を介して、制御装置100との間で、入力値および出力値を含むデータを遣り取りする。
 図1に示す構成例においては、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、画像センサ18およびカメラ20と、サーボドライバ22およびサーボモータ24とを含む。
 リモートI/O装置12は、第1フィールドバス2を介して通信を行う通信部と、入力値の取得および出力値の出力を行うための入出力部(以下、「I/Oユニット」とも称す。)とを含む。このようなI/Oユニットを介して、制御装置100とフィールドとの間で入力値および出力値が遣り取りされる。図1には、リレー群14を介して、入力値および出力値として、デジタル信号が遣り取りされる例が示されている。
 I/Oユニットは、フィールドバスに直接接続されるようにしてもよい。図1には、第1フィールドバス2にI/Oユニット16が直接接続されている例を示す。
 画像センサ18は、カメラ20によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置100へ送信する。
 サーボドライバ22は、制御装置100からの出力値(例えば、位置指令など)に従って、サーボモータ24を駆動する。
 上述のように、第1フィールドバス2を介して、制御装置100とフィールド装置群10との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数百μsecオーダ~数十msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理を、「I/Oリフレッシュ処理」と称することもある。
 サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置200は、制御装置100で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境、生成したユーザプログラムを制御装置100へ送信する機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。
 さらに、サポート装置200は、制御装置100での異常検知処理を実現するための各種設定やデータの生成および送信などの機能を提供する。
 上位サーバ300は、制御装置100とローカルネットワーク6を介して接続され、制御装置100との間で必要なデータを遣り取りする。上位サーバ300は、例えば、データベース機能を有しており、制御装置100に格納される各種データを定期的またはイベント的に収集する。ローカルネットワーク6には、イーサネット(登録商標)などの汎用プロトコルが実装されてもよい。
 表示装置400は、第2フィールドバス4を介して制御装置100と接続され、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置100での処理結果などをグラフィカルに表示する。
 次に、本実施の形態に従う異常検知システム1における異常検知処理および異常検知処理に関するデータ保存に関する主要部について説明する。
 図2は、本実施の形態に従う異常検知システム1を構成する制御装置100の主要部を示す模式図である。図2を参照して、制御装置100は、特徴抽出部140と、機械学習処理部144と、結果判定部146と、権限管理部130と、制限データベース(以下、「制限DB」とも略称する。)180と、公開データベース(以下、「公開DB」とも略称する。)190とを含む。
 特徴抽出部140は、監視対象から取得された1または複数の状態値164から1または複数の特徴量150を算出する。このとき、特徴抽出部140は、外部からの設定情報158により指定された1または複数の状態値164から1または複数の特徴量150を算出する。
 機械学習処理部144は、学習モデル152を参照して、特徴抽出部140により算出される1または複数の特徴量150に基づいて、監視対象に何らかの異常が発生している可能性を示す値であるスコア154を算出する。
 結果判定部146は、機械学習処理部144により算出されるスコア154に基づいて、監視対象に何らかの異常が発生しているか否かを示す判定結果170を生成する。このとき、結果判定部146は、判定条件156を参照して、スコア154に基づいて、監視対象に何らかの異常が発生しているか否かを判定する。
 制限DB180は、特徴抽出部140での処理に係るデータ、および、機械学習処理部144での処理に係るデータの少なくとも一方を格納するデータ格納部に相当する。一方、公開DB190は、制御装置100で参照可能な任意の状態値を格納するデータ格納部に相当する。また、権限管理部130は、制限DB180へのアクセスを制限する。
 図2に示すように、本実施の形態に従う制御装置100においては、アクセス権限の異なる2種類のデータベース(データ格納部)を用意することで、異常検知処理に係るノウハウを保護するとともに、各種解析手法などを確保するための手段を提供する。
 <B.ハードウェア構成例>
 次に、本実施の形態に従う異常検知システム1を構成する主要な装置のハードウェア構成例について説明する。
 (b1:制御装置100のハードウェア構成例)
 図3は、本実施の形態に従う異常検知システム1を構成する制御装置100のハードウェア構成例を示すブロック図である。図3を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、ローカルネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ118,120と、I/Oユニット124-1,124-2,・・・とを含む。
 プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。チップセット104は、プロセッサ102とともに、各コンポーネントを制御することで、制御装置100全体としての処理を実現する。
 二次記憶装置108には、制御装置100が提供する機能を実現するためのシステムプログラム126(制御プログラムに相当)に加えて、システムプログラム126が提供する実行環境を利用して実行されるユーザプログラムが格納される。
 ローカルネットワークコントローラ110は、ローカルネットワーク6を介した他の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介してサポート装置200との間のデータの遣り取りを制御する。
 メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。
 内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124-1,124-2,・・・との間でデータを遣り取りするインターフェイスである。
 フィールドバスコントローラ118は、第1フィールドバス2を介した他の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ120は、第2フィールドバス4を介した他の装置との間のデータの遣り取りを制御する。
 図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 (b2:サポート装置200のハードウェア構成例)
 次に、本実施の形態に従うサポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。
 図4は、本実施の形態に従う異常検知システム1を構成するサポート装置200のハードウェア構成例を示すブロック図である。図4を参照して、サポート装置200は、CPUやMPUなどのプロセッサ202と、ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、ローカルネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
 プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種処理を実現する。
 二次記憶装置208は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などで構成される。二次記憶装置208には、典型的には、サポート装置200において実行されるユーザプログラムの作成、作成したプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための図示しない開発プログラムと、データマイニングツール250と、設定ツール260とを含む各種プログラムが格納される。二次記憶装置208には、OSおよび他の必要なプログラムが格納されてもよい。
 ドライブ204は、記憶媒体205に対してデータを書き込み、記憶媒体205から各種データ(ユーザプログラム、トレースデータまたは時系列データなど)を読み出すことが可能になっている。記憶媒体205は、例えばコンピュータ読取可能なプログラムを非一過的に格納する記憶媒体205(例えば、DVD(Digital Versatile Disc)などの光学記憶媒体)を含む。メモリカード116または記憶媒体205から、その中に格納されたプログラムまたはデータが読み取られて二次記憶装置208などの内部の記憶領域にインストールされる。
 サポート装置200で実行される各種プログラムは、コンピュータ読取可能なメモリカード116または記憶媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従うサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 USBコントローラ212は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。ローカルネットワークコントローラ214は、任意ネットワークを介した他の装置との間のデータの遣り取りを制御する。
 入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータなどで構成され、プロセッサ202からの処理結果などを出力する。サポート装置200には、プリンタが接続されてもよい。
 図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
 <C.ソフトウェア構成例/機能構成例>
 次に、本実施の形態に従う異常検知システム1を構成する主要な装置のソフトウェア構成例および機能構成例について説明する。
 図5は、本実施の形態に従う異常検知システム1の基本的なソフトウェア構成例を示すブロック図である。図5を参照して、異常検知システム1において、制御装置100は、サポート装置200から提供される各種情報に基づいて、異常検知処理を実行する。
 制御装置100は、変数管理部160と、特徴抽出部140と、学習モデル生成部142と、機械学習処理部144と、結果判定部146と、権限管理部130とを含む。
 変数管理部160は、機械や装置などの制御対象に現れる状態値(入力値)を予め定められた制御周期毎に取得して内部状態値を更新する。また、変数管理部160は、ユーザプログラムの実行などによって算出される指令値(出力値)を制御周期毎に更新する。すなわち、変数管理部160は、I/Oリフレッシュ処理に係る少なくとも一部の処理を実行し、制御周期毎に、制御対象から取得される入力値および制御対象へ与えられる出力値を更新する。
 本実施の形態に従う制御装置100においては、制御対象から取得される状態値(入力値)、制御対象へ与えられる指令値(出力値)、ならびに、制御装置100での演算処理または制御装置100の状態管理に用いられるデータあるいは値(「内部状態値」にすべて包含される)のいずれについても、「変数」の形で参照する形態を採用する。そのため、以下の説明においては、制御装置100において利用可能な値を「変数値」と表現することもある。そして、機械や装置などの制御対象に生じる状態値を示す内部状態値の集合を「デバイス変数」と表現する。
 なお、本発明は「変数」を用いて値を参照する形態に限られることなく、各値を格納するメモリの物理アドレスなどを直接指定して参照する形態などにも適用可能である。
 特徴抽出部140は、監視対象から取得された1または複数の状態値から1または複数の特徴量150を算出する。より具体的には、特徴抽出部140は、サポート装置200により設定される設定情報158に従って、指定された対象の1または複数のデバイス変数162(状態値)が示す値(単位区間の時間的変化)から、予め定められた処理に従って1または複数の特徴量150(例えば、所定時間に亘る平均値、最大値、最小値など)を周期的またはイベント毎に算出する。特徴抽出部140が特徴量150を算出するために用いる単位区間を以下では「フレーム」とも称す。単位区間(フレーム)は、監視対象の動作などに応じて任意に設定される。
 機械学習処理部144は、学習モデル152を参照して、特徴抽出部140により算出される1または複数の特徴量150に基づいて、監視対象に何らかの異常が発生している可能性を示す値であるスコア154を算出する。典型的には、学習モデル152は、学習モデル生成部142により提供される。
 一例として、機械学習処理部144は、異常検知のアルゴリズムとして、超空間上における値群に対する入力値の外れ度合いに基づいて、当該入力値に対応するスコアを算出する方法を採用する。外れ度合いに基づく異常検知の手法としては、各点から値群までの最短距離に基づいて異常を検知する手法(k近傍法)、値群を含むクラスタを含めて距離を評価する局所外れ値因子(LoF:local outlier factor)法、パス長さから算出されるスコアを用いるiForest(isolation forest)法などが知られている。
 学習モデル152が正常時の特徴量から構成される場合には、学習モデル152からの外れ度合い(すなわち、スコア)が大きいほど、監視対象に何らかの異常が発生している可能性が高いと判断できる。一方、学習モデル152が異常時の特徴量から構成される場合には、学習モデル152からの外れ度合い(すなわち、スコア)が小さいほど、監視対象に何らかの異常が発生している可能性が高いと判断できる。
 学習モデル生成部142は、サポート装置200からの指示に従って、学習モデル152を生成する。なお、学習モデル生成部142は、サポート装置200の一部に設けられてもよい。この場合には、学習モデル152自体がサポート装置200から制御装置100へ提供されることになる。より具体的には、サポート装置200のデータマイニングツール250を用いて、必要なデータを抽出することで、学習モデル152を生成してもよい。
 結果判定部146は、機械学習処理部144により算出されるスコア154に基づいて、監視対象に何らかの異常が発生しているか否かを示す判定結果170を生成する。判定条件156は、サポート装置200により設定されてもよい。典型的には、判定条件156は、スコア154に対して設定される、監視対象に何らかの異常が発生している可能性が高いことを示すしきい範囲などを含む。
 以上のような構成を採用することで、制御対象に含まれる任意の監視対象において、発生し得る何らかの異常を検知可能できる。
 権限管理部130は、制御装置100に実装されるソフトウェアモジュールやプログラムなどに対するアクセスを制限する機能を提供する。権限管理部130の詳細については後述する。
 一方、サポート装置200は、制御装置100に対して、設定情報158および判定条件156を設定する。より具体的には、サポート装置200は、設定ツール260を有しており、設定ツール260が制御装置100への各種データの設定処理を担当する。
 <D.課題および解決手段>
 次に、本実施の形態に従う異常検知システム1が想定する課題およびその解決手段について説明する。
 上述の図5に示すように、本実施の形態に従う異常検知システム1においては、異常検知処理に関して、特徴抽出部140、学習モデル生成部142、および機械学習処理部144が、制御装置100に実装される。
 異常検知処理に関する処理部に対しては、予め定められた権限を付与されたユーザ以外による、定義内容の変更や確認は禁止される。このような操作の禁止は、異常検知システム1での動作を一定の状態に維持するとともに、当該動作状態をノウハウとして保護するためであり、権限管理部130によって管理される。より具体的には、権限管理部130は、サポート装置200の設定ツール260との間で連携することで、特徴抽出部140、学習モデル生成部142、および機械学習処理部144に対する操作を、パスワードなどを用いて管理する。
 図6は、図5に示すソフトウェア構成例に対して設定される操作制限の範囲を示す模式図である。図6を参照して、権限管理部130は、特徴抽出部140、学習モデル生成部142、および機械学習処理部144に対する操作を制限する。すなわち、権限管理部130は、特徴抽出部140、学習モデル生成部142、および機械学習処理部144を実現するためのプログラム自体へのアクセスを制限する。これによって、特徴抽出部140、学習モデル生成部142、および機械学習処理部144に設定される定義内容などのノウハウを秘匿化できる。
 一方で、異常検知処理の妥当性(すなわち、適切に実行されているか否か)を評価する必要もあり、この場合には、異常検知処理において算出または生成される各種データ(例えば、特徴量150およびスコア154)の確認が必要となる。このような各種データを参照すれば、異常検知処理での定義内容を類推することは容易であり、ノウハウを十分に秘匿化できない可能性もある。
 また、制御装置100には、制御演算が適切に実行されているか否かを評価するために、データロギングなどによって時系列データを収集する機能が実装されていることもある。このようなデータロギング機能を用いて収集された、制御装置100が保持する内部状態値の時系列データなどが解析されることで、異常検知処理での定義内容を類推することも可能である。このような場合には、上記と同様に、ノウハウを十分に秘匿化できない可能性もある。
 上述したように、ノウハウの秘匿化と妥当性確認の容易性という一面では相反する二つの課題が存在し、本実施の形態に従う異常検知システム1は、この二つの課題の解決が可能である。すなわち、本実施の形態に従う異常検知システム1は、異常検知処理に係るソフトウェアだけではなく、異常検知処理に係るノウハウの提供者(すなわち、定義内容の設定者)、および、異常検知処理の受益者に対して、それぞれメリットのある構成を提供する。
 図7は、本実施の形態に従う異常検知システム1のより詳細なソフトウェア構成例を示すブロック図である。図7を参照して、制御装置100は、各種データを保存するための2種類のデータベースを有している。具体的には、制御装置100は、権限管理部130によってアクセスを制限された制限データベース(以下、「制限DB」とも略称する。)180と、アクセスが制限されない公開データベース(以下、「公開DB」とも略称する。)190とを含む。
 すなわち、本実施の形態に従う異常検知システム1においては、異常検知処理のノウハウに係るデータは制限DB180に格納され、異常検知処理の結果を利用するために必要なデータは公開DB190に格納される。このように、役割の異なる2種類のデータベースを実装することで、ノウハウの秘匿化と妥当性確認の容易性という一面では相反する二つの課題を同時に解決できる。
 制限DB180は、異常検知処理のノウハウに係るデータを保存する。すなわち、制限DB180は、特徴抽出部140での処理に係るデータ、および、機械学習処理部144での処理に係るデータの少なくとも一方を格納するデータ格納部である。より具体的には、制限DB180には、時刻情報、フレーム識別情報、特徴量、スコアなどが格納される。これらの情報は、基本的には、時系列データの形で格納されることになる。また、制限DB180には、サポート装置200から設定される設定情報158の内容(いずれの変数からどのような特徴量を算出するのか)が格納されてもよい。これらの情報は、テーブル形式の静的な情報として格納される。
 図8は、図7に示す制御装置100の制限DB180に格納されるデータの一例を示す模式図である。制限DB180には、図8(a)に示される時系列データ182、および、図8(b)に示される設定データ184が格納される。
 図8(a)に示される時系列データ182は、特徴抽出部140、学習モデル生成部142、機械学習処理部144、および結果判定部146などが実行されることで順次生成されるデータを含む。より具体的には、時系列データ182は、インデックス1821と、タイムスタンプ1822と、フレームID1823と、特徴量1824と、スコア1825とを含む。
 インデックス1821は、各レコードを特定するための情報であり、制御装置100において任意に付与されるユニークな値である。典型的には、インデックス1801は、収集周期毎にインクリメントまたはデクリメントされる。インクリメントまたはデクリメントされる値を用いることで、データの欠落の有無を判断できる。
 タイムスタンプ1822は、各レコードを生成したタイミングを示す時刻情報である。時刻情報は、制御装置100が管理する計時手段により提供される。
 フレームID1823は、各レコードを生成するために用いたデータを収集した単位区間(フレーム)を特定するための識別情報である。典型的には、フレームを決定するために用いたデバイス変数の値などが格納される。
 特徴量1824には、特徴抽出部140により順次算出される特徴量150の値が格納される。すなわち、制限DB180に格納される特徴抽出部140での処理に係るデータは、特徴抽出部140により算出される1または複数の特徴量150を含む。
 スコア1825には、機械学習処理部144により順次算出されるスコア154の値が格納される。すなわち、制限DB180に格納される特徴抽出部140での処理に係るデータは、機械学習処理部144により算出されるスコア154を含む。
 また、図8(b)に示される設定データ184は、サポート装置200により特徴抽出部140に対して設定される設定情報158の内容を記述するものである。より具体的には、設定データ184は、特徴量ID1841と、デバイス変数1842と、特徴量種別1843とを含む。
 特徴量ID1841は、特徴抽出部140により算出される特徴量を特定するための識別情報である。デバイス変数1842には、対応する特徴量の算出に用いられるデバイス変数を特定する情報が格納される。特徴量種別1843には、対応する特徴量の算出方法を特定する情報が格納される。
 このように、制限DB180に格納される特徴抽出部140での処理に係るデータは、設定情報158を含む。
 一方、公開DB190には、異常検知処理のノウハウに係るデータ以外の任意のデータが格納される。すなわち、公開DB190は、制御装置100で参照可能な任意の状態値を格納するデータ格納部である。
 図9は、図7に示す制御装置100の公開DB190に格納されるデータの一例を示す模式図である。公開DB190には、図9に示される時系列データ192が格納される。
 時系列データ192には、基本的には、変数管理部160が管理する1または複数のデバイス変数162(状態値)の制御周期(I/Oリフレッシュ処理の周期)毎に更新される値が順次格納される。より具体的には、時系列データ192は、インデックス1921と、タイムスタンプ1922と、デバイス変数1923とを含む。
 インデックス1921は、各レコードを特定するための情報であり、制御装置100において任意に付与されるユニークな値である。典型的には、インデックス1901は、収集周期毎にインクリメントまたはデクリメントされる。インクリメントまたはデクリメントされる値を用いることで、データの欠落の有無を判断できる。なお、図8(a)の時系列データ182にインデックス1821と同じ値を用いてもよいし、それぞれの時系列データにそれぞれ独立に設定される値を用いてもよい。
 タイムスタンプ1922は、各レコードを生成したタイミングを示す時刻情報である。時刻情報は、制御装置100が管理する計時手段により提供される。
 デバイス変数1923は、任意に設定された1または複数のデバイス変数162の値が格納される。
 図8および図9に示すデータ項目は一例であり、示されるデータ項目以外のデータ項目を格納するようにしてもよいし、あるいは、一部のデータ項目に変えて別のデータ項目を格納するようにしてもよい。例えば、公開DB190は、結果判定部146により生成される判定結果170をさらに格納するようにしてもよい。
 上述したように、異常検知処理のノウハウに係るデータは、制限DB180のみに格納され、公開DB190には格納されない。一方、異常検知処理の結果を利用するために必要なデータ(基本的には、異常検知処理のノウハウには直接的には関連しない)は、公開DB190に格納される。
 <E.制限DB180へのアクセス>
 次に、制限DB180へのアクセス方法などについて説明する。
 上述したように、制御装置100の制限DB180に格納されたデータに対するアクセスは、予め定められた権限を付与されたユーザに限られる。また、制御装置100の制限DB180から読み出されるデータについてもセキュアに転送されることが好ましい。以下では、制限DB180へのアクセス制限および読み出されるデータのセキュアな転送を実現するための一実装例を説明する。
 図10は、本実施の形態に従う異常検知システム1における制限DB180へのアクセスを制限するための実装例を示すブロック図である。図10には、サポート装置200の設定ツール260を利用して、制御装置100へのアクセスに対する権限を設定するとともに、権限を付与されたユーザが解析装置600から制御装置100へアクセスする処理を想定する。
 典型例として、権限管理部130は、識別情報(ID)およびパスワード(Password)に基づいて、制限DB180へアクセスする権限が付与されているか否かを判断する。
 図10を参照して、事前準備として、サポート装置200の設定ツール260には、秘密鍵262および公開鍵264のペアが用意されているとする。
 まず、異常検知システム1の管理者ユーザは、サポート装置200の設定ツール260を操作して、制御装置100の権限管理部130に対して、アクセス可能なユーザを特定するための識別情報(ID)およびパスワード(Password)を設定する((1)設定)。この設定内容は、権限設定テーブル266に格納される。
 続いて、異常検知システム1の管理者ユーザは、サポート装置200の設定ツール260を操作して、秘密鍵262を権限管理部130に設定するとともに((2)秘密鍵提供)、秘密鍵262に対応する公開鍵264を解析装置600に設定する((3)公開鍵提供)。
 以上の操作によって、異常検知システム1への権限設定などの処理が完了する。この状態において、権限管理部130は、制限DB180へアクセスする外部装置である解析装置600が保持している公開鍵264に対応する、秘密鍵262を有している。
 その後、制御装置100の制限DB180に格納されたデータに対して解析装置600からアクセスする場合を想定する。所定の権限を付与されたユーザは、解析装置600を操作して、自身に付与された識別情報(ID)およびパスワード(Password)を入力する。この入力された識別情報(ID)およびパスワード(Password)は、解析装置600に格納されている公開鍵264により暗号化されて、制御装置100へ送信される((4)入力されたID+Password(公開鍵による暗号化))。
 制御装置100の権限管理部130は、解析装置600から送信される公開鍵264により暗号化された識別情報(ID)およびパスワード(Password)を、秘密鍵262で復号した上で、権限設定テーブル266を参照して、制限DB180へアクセスする権限が付与されているか否かを判断する処理(認証処理)を実行する((5)認証)。
 制御装置100の権限管理部130は、認証処理に成功すると、データの転送に用いられる共通鍵268を生成する((6)共通鍵生成)。さらに、制御装置100の権限管理部130は、生成した共通鍵268を解析装置600に転送する((7)共通鍵転送)。すなわち、権限管理部130は、制限DB180へアクセスする権限が付与されていると判断されると、解析装置600との間で遣り取りされるデータを暗号化するための共通鍵268を解析装置600へ送信する。
 なお、共通鍵268の転送時において、制御装置100の権限管理部130は、秘密鍵262を用いて暗号化した上で共通鍵268を解析装置600に転送する。一方、解析装置600から暗号化された共通鍵268を自装置の公開鍵264で復号する。
 最終的に、制御装置100の権限管理部130と解析装置600との間で共通される共通鍵268を用いて、制限DB180に格納されているデータを解析装置600へ転送する((8)データ転送(共通鍵による暗号化))。より具体的には、権限管理部130の暗号化部132が共通鍵268を用いて制限DB180に格納されているデータを暗号化した上で解析装置600へ転送する。解析装置600は、暗号化されたデータを、共通鍵268を用いて復号化して活用する。
 なお、公開DB190については、基本的には、制御装置100に接続される任意のデバイスからのアクセスが可能になっている。このように、公開DB190の内容については、制御装置100のユーザであれば任意に参照可能になっている一方で、制限DB180の内容については、予め定められた権限を付与されたユーザのみが参照可能になっている。
 このような構成を採用することで、異常検知処理に係るノウハウの保護、および、異常検知処理の妥当性の評価や何らかの異常発生時の検証などの要求を両立できる。
 また、図10に示すような実装例を採用することで、HTTP(hypertext transfer protocol)やFTP(file transfer protocol)などの任意の転送プロトコルを用いることができる。
 なお、図10には、制御装置100の制限DB180に対して、ネットワーク接続された解析装置600からのアクセスを受け付ける構成を例示するが、これに限らず、制御装置100に装着可能なメモリカード116などを介して、予め定められた権限を有するユーザのみがデータを持ち出すようにしてもよい。
 <F.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
 制御対象を制御する制御装置(100)であって、
 監視対象から取得された1または複数の状態値(164)から1または複数の特徴量(150)を算出する特徴抽出部(140)と、
 学習モデル(152)を参照して、前記特徴抽出部により算出される1または複数の特徴量に基づいて、前記監視対象に何らかの異常が発生している可能性を示す値であるスコア(154)を算出する処理部(144)と、
 前記処理部により算出されるスコアに基づいて、前記監視対象に何らかの異常が発生しているか否かを示す判定結果(170)を生成する判定部(146)と、
 前記特徴抽出部での処理に係るデータ、および、前記処理部での処理に係るデータの少なくとも一方を格納する第1のデータ格納部(180)と、
 前記制御装置で参照可能な任意の状態値を格納する第2のデータ格納部(190)と、
 前記第1のデータ格納部へのアクセスを制限する権限管理部(130)とを備える、制御装置。
[構成2]
 前記特徴抽出部での処理に係るデータは、前記特徴抽出部により算出される1または複数の特徴量(150)を含む、構成1に記載の制御装置。
[構成3]
 前記特徴抽出部は、外部からの設定情報(158)により指定された1または複数の状態値から前記1または複数の特徴量(150)を算出し、
 前記特徴抽出部での処理に係るデータは、前記設定情報を含む、構成1または2に記載の制御装置。
[構成4]
 前記処理部での処理に係るデータは、前記処理部により算出されるスコア(154)を含む、構成1~3のいずれか1項に記載の制御装置。
[構成5]
 前記権限管理部は、前記特徴抽出部および前記処理部を実現するためのプログラム自体へのアクセスを制限する、構成1~4のいずれか1項に記載の制御装置。
[構成6]
 前記第2のデータ格納部は、前記判定部により生成される判定結果(170)をさらに格納する、構成1~5のいずれか1項に記載の制御装置。
[構成7]
 前記権限管理部は、識別情報およびパスワード(266)に基づいて、前記第1のデータ格納部へアクセスする権限が付与されているか否かを判断する、構成1~6のいずれか1項に記載の制御装置。
[構成8]
 前記権限管理部は、前記第1のデータ格納部へアクセスする外部装置が保持している公開鍵(264)に対応する、秘密鍵(262)を有しており、
 前記権限管理部は、前記外部装置から送信される前記公開鍵により暗号化された識別情報およびパスワードを前記秘密鍵で復号した上で、前記第1のデータ格納部へアクセスする権限が付与されているか否かを判断する、構成7に記載の制御装置。
[構成9]
 前記権限管理部は、前記第1のデータ格納部へアクセスする権限が付与されていると判断されると、前記外部装置との間で遣り取りされるデータを暗号化するための共通鍵(268)を前記外部装置へ送信する、構成8に記載の制御装置。
 <G.利点>
 本実施の形態に従う異常検知システムにおいては、アクセスが制限される制限DB180および任意にアクセス可能な公開DB190の2種類のデータ格納部を用意することで、異常検知処理に係るノウハウを適切に保護できるとともに、事後的な解析処理を容易化できる仕組みを提供できる。
 また、本実施の形態に従う異常検知システムにおいては、識別情報およびパスワードを用いたアクセス制限、ならびに、公開鍵、秘密鍵、共通鍵を用いたデータ保護を実現できるので、必要なセキュリティの確保できる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 異常検知システム、2 第1フィールドバス、4 第2フィールドバス、6 ローカルネットワーク、10 フィールド装置群、12 リモートI/O装置、14 リレー群、16,124 I/Oユニット、18 画像センサ、20 カメラ、22 サーボドライバ、24 サーボモータ、100 制御装置、102,202 プロセッサ、104 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110,214 ローカルネットワークコントローラ、112,212 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、126 システムプログラム、130 権限管理部、132 暗号化部、140 特徴抽出部、142 学習モデル生成部、144 機械学習処理部、146 結果判定部、150,1824 特徴量、152 学習モデル、154,1825 スコア、156 判定条件、158 設定情報、160 変数管理部、162,1842,1923 デバイス変数、164 状態値、170 判定結果、180 制限DB、182,192 時系列データ、184 設定データ、190 公開DB、200 サポート装置、204 ドライブ、205 記憶媒体、216 入力部、218 表示部、220 バス、250 データマイニングツール、260 設定ツール、262 秘密鍵、264 公開鍵、266 権限設定テーブル、268 共通鍵、300 上位サーバ、400 表示装置、600 解析装置、1801,1821,1901,1921 インデックス、1822,1922 タイムスタンプ、1823 フレームID、1841 特徴量ID、1843 特徴量種別。

Claims (9)

  1.  制御対象を制御する制御装置であって、
     監視対象から取得された1または複数の状態値から1または複数の特徴量を算出する特徴抽出部と、
     学習モデルを参照して、前記特徴抽出部により算出される1または複数の特徴量に基づいて、前記監視対象に何らかの異常が発生している可能性を示す値であるスコアを算出する処理部と、
     前記処理部により算出されるスコアに基づいて、前記監視対象に何らかの異常が発生しているか否かを示す判定結果を生成する判定部と、
     前記特徴抽出部での処理に係るデータ、および、前記処理部での処理に係るデータの少なくとも一方を格納する第1のデータ格納部と、
     前記制御装置で参照可能な任意の状態値を格納する第2のデータ格納部と、
     前記第1のデータ格納部へのアクセスを制限する権限管理部とを備える、制御装置。
  2.  前記特徴抽出部での処理に係るデータは、前記特徴抽出部により算出される1または複数の特徴量を含む、請求項1に記載の制御装置。
  3.  前記特徴抽出部は、外部からの設定情報により指定された1または複数の状態値から前記1または複数の特徴量を算出し、
     前記特徴抽出部での処理に係るデータは、前記設定情報を含む、請求項1または2に記載の制御装置。
  4.  前記処理部での処理に係るデータは、前記処理部により算出されるスコアを含む、請求項1~3のいずれか1項に記載の制御装置。
  5.  前記権限管理部は、前記特徴抽出部および前記処理部を実現するためのプログラム自体へのアクセスを制限する、請求項1~4のいずれか1項に記載の制御装置。
  6.  前記第2のデータ格納部は、前記判定部により生成される判定結果をさらに格納する、請求項1~5のいずれか1項に記載の制御装置。
  7.  前記権限管理部は、識別情報およびパスワードに基づいて、前記第1のデータ格納部へアクセスする権限が付与されているか否かを判断する、請求項1~6のいずれか1項に記載の制御装置。
  8.  前記権限管理部は、前記第1のデータ格納部へアクセスする外部装置が保持している公開鍵に対応する、秘密鍵を有しており、
     前記権限管理部は、前記外部装置から送信される前記公開鍵により暗号化された識別情報およびパスワードを前記秘密鍵で復号した上で、前記第1のデータ格納部へアクセスする権限が付与されているか否かを判断する、請求項7に記載の制御装置。
  9.  前記権限管理部は、前記第1のデータ格納部へアクセスする権限が付与されていると判断されると、前記外部装置との間で遣り取りされるデータを暗号化するための共通鍵を前記外部装置へ送信する、請求項8に記載の制御装置。
PCT/JP2019/039605 2018-10-24 2019-10-08 制御装置 WO2020085078A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/279,086 US11783063B2 (en) 2018-10-24 2019-10-08 Control device
CN201980058247.XA CN112654988A (zh) 2018-10-24 2019-10-08 控制装置
EP19874884.0A EP3872667A4 (en) 2018-10-24 2019-10-08 CONTROL DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-199726 2018-10-24
JP2018199726A JP7087908B2 (ja) 2018-10-24 2018-10-24 制御装置

Publications (1)

Publication Number Publication Date
WO2020085078A1 true WO2020085078A1 (ja) 2020-04-30

Family

ID=70331191

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/039605 WO2020085078A1 (ja) 2018-10-24 2019-10-08 制御装置

Country Status (5)

Country Link
US (1) US11783063B2 (ja)
EP (1) EP3872667A4 (ja)
JP (1) JP7087908B2 (ja)
CN (1) CN112654988A (ja)
WO (1) WO2020085078A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022067778A (ja) * 2020-10-21 2022-05-09 株式会社タツノ ガス充填システム
WO2024025537A1 (en) * 2022-07-28 2024-02-01 Siemens Industry Software Inc. Method and system for anomaly detection

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244124A (ja) * 2002-02-15 2003-08-29 Promenade:Kk セキュリティ管理システム
JP2005154688A (ja) 2003-11-28 2005-06-16 Hitachi Chem Co Ltd 熱硬化性樹脂組成物
JP2007280348A (ja) 2006-03-13 2007-10-25 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置
JP2016528610A (ja) * 2013-07-09 2016-09-15 クアルコム,インコーポレイテッド ユーザのモノのインターネット環境に基づくリアルタイムのコンテキストを意識した推薦エンジン
WO2018033953A1 (ja) * 2016-08-15 2018-02-22 株式会社オプティム IoT機器ユーザーインターフェース表示システム、IoT機器ユーザーインターフェース表示方法及びプログラム
WO2018087851A1 (ja) * 2016-11-09 2018-05-17 アライドテレシスホールディングス株式会社 IoTデータ仲介システム
WO2018110259A1 (ja) * 2016-12-14 2018-06-21 オムロン株式会社 制御装置、制御プログラムおよび制御方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059357A (ja) 1998-08-07 2000-02-25 Nippon Telegr & Teleph Corp <Ntt> 閉域グループ通信システム,管理サーバ装置および通信端末,ならびにそれらのプログラム記憶媒体
JP3718832B2 (ja) 2000-05-31 2005-11-24 松下電器産業株式会社 画像出力装置及び画像出力制御方法
CN1323508C (zh) * 2003-12-17 2007-06-27 上海市高级人民法院 一种基于数字证书的单点登录方法
TWI389536B (zh) * 2008-11-07 2013-03-11 Ind Tech Res Inst 階層式金鑰為基礎之存取控制系統與方法,以及其認證金鑰交換方法
US8898469B2 (en) * 2010-02-05 2014-11-25 Motorola Mobility Llc Software feature authorization through delegated agents
JP2012027650A (ja) * 2010-07-22 2012-02-09 Nec Corp コンテンツ管理装置およびコンテンツ管理方法
JP5996872B2 (ja) * 2012-01-11 2016-09-21 株式会社東海理化電機製作所 貸与システム
US10914608B2 (en) * 2012-10-12 2021-02-09 Nec Corporation Data analytic engine towards the self-management of complex physical systems
CN103136379B (zh) * 2013-03-28 2016-04-13 中国人民解放军理工大学 一种基于Android终端的多数据库访问方法
JP2015184849A (ja) 2014-03-24 2015-10-22 株式会社日立産機システム プログラマブルコントローラ
WO2016177437A1 (en) * 2015-05-05 2016-11-10 Balabit S.A. Computer-implemented method for determining computer system security threats, security operations center system and computer program product
JP2017162239A (ja) * 2016-03-10 2017-09-14 東芝メモリ株式会社 メモリシステム
US9818126B1 (en) * 2016-04-20 2017-11-14 Deep Labs Inc. Systems and methods for sensor data analysis through machine learning
JP7051076B2 (ja) 2016-08-26 2022-04-11 株式会社根本杏林堂 薬液注入装置
CN106778325B (zh) * 2016-11-24 2019-06-11 杭州领点科技有限公司 一种信息保密系统及其操作方法
JP6919186B2 (ja) 2016-12-14 2021-08-18 オムロン株式会社 制御システム、制御プログラムおよび制御方法
JP6903976B2 (ja) 2017-03-22 2021-07-14 オムロン株式会社 制御システム
US10695907B2 (en) * 2017-09-29 2020-06-30 Intel Corporation Methods and apparatus for monitoring robot health in manufacturing environments
JP7007243B2 (ja) * 2018-07-04 2022-01-24 株式会社日立製作所 異常検知システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003244124A (ja) * 2002-02-15 2003-08-29 Promenade:Kk セキュリティ管理システム
JP2005154688A (ja) 2003-11-28 2005-06-16 Hitachi Chem Co Ltd 熱硬化性樹脂組成物
JP2007280348A (ja) 2006-03-13 2007-10-25 Fuji Electric Fa Components & Systems Co Ltd プログラマブルコントローラのプログラミング装置
JP2016528610A (ja) * 2013-07-09 2016-09-15 クアルコム,インコーポレイテッド ユーザのモノのインターネット環境に基づくリアルタイムのコンテキストを意識した推薦エンジン
WO2018033953A1 (ja) * 2016-08-15 2018-02-22 株式会社オプティム IoT機器ユーザーインターフェース表示システム、IoT機器ユーザーインターフェース表示方法及びプログラム
WO2018087851A1 (ja) * 2016-11-09 2018-05-17 アライドテレシスホールディングス株式会社 IoTデータ仲介システム
WO2018110259A1 (ja) * 2016-12-14 2018-06-21 オムロン株式会社 制御装置、制御プログラムおよび制御方法

Also Published As

Publication number Publication date
JP2020067793A (ja) 2020-04-30
US20210390194A1 (en) 2021-12-16
US11783063B2 (en) 2023-10-10
EP3872667A1 (en) 2021-09-01
CN112654988A (zh) 2021-04-13
EP3872667A4 (en) 2022-07-13
JP7087908B2 (ja) 2022-06-21

Similar Documents

Publication Publication Date Title
US10027699B2 (en) Production process knowledge-based intrusion detection for industrial control systems
US10354071B2 (en) Method for updating process objects in an engineering system
EP3036928B1 (en) Mobile device authentication
US20220327219A1 (en) Systems and methods for enhancing data provenance by logging kernel-level events
US20160300001A1 (en) Planning and Engineering Method, Software Tool and Simulation Tool for an Automation Solution
WO2020085078A1 (ja) 制御装置
WO2021034274A1 (en) Blockchain for operational data security in industrial control systems
CN104428782A (zh) 可编程逻辑控制器
CN113573856A (zh) 机器学习模型运用管理系统以及机器学习模型运用管理方法
US20220085982A1 (en) Safety system and maintenance method
US20190268144A1 (en) Data processing method, control system, and control device
US20180129793A1 (en) Precompile and encrypt industrial intellectual property
US20220317649A1 (en) Control system, control device, and management method
EP3920063A1 (en) Safety system and maintenance method
CN113490892A (zh) 控制装置以及控制系统
US20230093865A1 (en) Control system, relay device, and access management program
JP2020140312A (ja) 制御装置、管理プログラムおよび制御システム
WO2020240945A1 (ja) 制御システム、制御装置および制御プログラム
US20240143803A1 (en) Control system and control method therefor
US20240142952A1 (en) Control system and method for controlling same
EP4152192A1 (en) On-chassis backplane intrusion detection system and continuous threat detection enablement platform
CN116541191A (zh) 技术装置操作过程中的操作事件的分析方法
CN113557507A (zh) 控制器系统
EP3830658A1 (en) Data structure product and product kit

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: 19874884

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019874884

Country of ref document: EP

Effective date: 20210525