JP7087908B2 - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP7087908B2
JP7087908B2 JP2018199726A JP2018199726A JP7087908B2 JP 7087908 B2 JP7087908 B2 JP 7087908B2 JP 2018199726 A JP2018199726 A JP 2018199726A JP 2018199726 A JP2018199726 A JP 2018199726A JP 7087908 B2 JP7087908 B2 JP 7087908B2
Authority
JP
Japan
Prior art keywords
unit
control device
data
processing
feature extraction
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2018199726A
Other languages
English (en)
Other versions
JP2020067793A (ja
Inventor
功 川合
隆宏 徳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Priority to JP2018199726A priority Critical patent/JP7087908B2/ja
Priority to CN201980058247.XA priority patent/CN112654988B/zh
Priority to EP19874884.0A priority patent/EP3872667A4/en
Priority to PCT/JP2019/039605 priority patent/WO2020085078A1/ja
Priority to US17/279,086 priority patent/US11783063B2/en
Publication of JP2020067793A publication Critical patent/JP2020067793A/ja
Application granted granted Critical
Publication of JP7087908B2 publication Critical patent/JP7087908B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • 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

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)

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 (8)

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

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018199726A JP7087908B2 (ja) 2018-10-24 2018-10-24 制御装置
CN201980058247.XA CN112654988B (zh) 2018-10-24 2019-10-08 控制装置
EP19874884.0A EP3872667A4 (en) 2018-10-24 2019-10-08 CONTROL DEVICE
PCT/JP2019/039605 WO2020085078A1 (ja) 2018-10-24 2019-10-08 制御装置
US17/279,086 US11783063B2 (en) 2018-10-24 2019-10-08 Control device

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2020067793A JP2020067793A (ja) 2020-04-30
JP7087908B2 true JP7087908B2 (ja) 2022-06-21

Family

ID=70331191

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US11783063B2 (ja)
EP (1) EP3872667A4 (ja)
JP (1) JP7087908B2 (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
JP2000059357A (ja) 1998-08-07 2000-02-25 Nippon Telegr & Teleph Corp <Ntt> 閉域グループ通信システム,管理サーバ装置および通信端末,ならびにそれらのプログラム記憶媒体
JP2002055667A (ja) 2000-05-31 2002-02-20 Matsushita Electric Ind Co Ltd 画像出力装置及び画像出力制御方法
JP2003244124A (ja) 2002-02-15 2003-08-29 Promenade:Kk セキュリティ管理システム
JP2015184849A (ja) 2014-03-24 2015-10-22 株式会社日立産機システム プログラマブルコントローラ
WO2018087851A1 (ja) 2016-11-09 2018-05-17 アライドテレシスホールディングス株式会社 IoTデータ仲介システム
JP2018097662A (ja) 2016-12-14 2018-06-21 オムロン株式会社 制御装置、制御プログラムおよび制御方法
JP2018159981A (ja) 2017-03-22 2018-10-11 オムロン株式会社 制御システム、制御装置、制御プログラム、および制御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 プログラマブルコントローラのプログラミング装置
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
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
US10185934B2 (en) * 2013-07-09 2019-01-22 Qualcomm Incorporated Real-time context aware recommendation engine based on a user internet of things environment
US10681060B2 (en) 2015-05-05 2020-06-09 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
WO2018033953A1 (ja) * 2016-08-15 2018-02-22 株式会社オプティム IoT機器ユーザーインターフェース表示システム、IoT機器ユーザーインターフェース表示方法及びプログラム
JP7051076B2 (ja) 2016-08-26 2022-04-11 株式会社根本杏林堂 薬液注入装置
WO2018110259A1 (ja) * 2016-12-14 2018-06-21 オムロン株式会社 制御装置、制御プログラムおよび制御方法
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
JP2000059357A (ja) 1998-08-07 2000-02-25 Nippon Telegr & Teleph Corp <Ntt> 閉域グループ通信システム,管理サーバ装置および通信端末,ならびにそれらのプログラム記憶媒体
JP2002055667A (ja) 2000-05-31 2002-02-20 Matsushita Electric Ind Co Ltd 画像出力装置及び画像出力制御方法
JP2003244124A (ja) 2002-02-15 2003-08-29 Promenade:Kk セキュリティ管理システム
JP2015184849A (ja) 2014-03-24 2015-10-22 株式会社日立産機システム プログラマブルコントローラ
WO2018087851A1 (ja) 2016-11-09 2018-05-17 アライドテレシスホールディングス株式会社 IoTデータ仲介システム
JP2018097662A (ja) 2016-12-14 2018-06-21 オムロン株式会社 制御装置、制御プログラムおよび制御方法
JP2018159981A (ja) 2017-03-22 2018-10-11 オムロン株式会社 制御システム、制御装置、制御プログラム、および制御方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Le Trieu Phong et al.,Privacy-Preserving Deep Learning via Additively Homomorphic Encryption,IEEE Transactions on Information Forensics and Security,米国,IEEE,2018年05月,Volume: 13, Issue: 5,p. 1333-1345
Nathan Dowlin et al.,CryptoNets: Applying Neural Networks to Encrypted Data with High Throughput and Accuracy,ICML '16: Proceedings of the 33rd International Conference on Machine Learning,米国,2016年06月,Volume 48,p. 201-210
宇根 正志 ほか,機械学習システムの脆弱性と対応策にかかる研究動向について,コンピュータセキュリティシンポジウム2018論文集,2018年10月15日,pp.193-200

Also Published As

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

Similar Documents

Publication Publication Date Title
US10027699B2 (en) Production process knowledge-based intrusion detection for industrial control systems
JP5593416B2 (ja) コントローラを保護するためのシステムおよび方法
EP3036928B1 (en) Mobile device authentication
US20180004949A1 (en) Method For Updating Process Objects In An Engineering System
EP4022405B1 (en) Systems and methods for enhancing data provenance by logging kernel-level events
CN102156840A (zh) 控制装置以及管理装置
JP2002099512A (ja) プロセス制御システムとそのセキュリティシステムおよび方法並びにそのソフトウェアシステム
JP7087908B2 (ja) 制御装置
WO2021034274A1 (en) Blockchain for operational data security in industrial control systems
CN104428782A (zh) 可编程逻辑控制器
CN113573856A (zh) 机器学习模型运用管理***以及机器学习模型运用管理方法
CN103163860A (zh) 经过计算机网络进行访问控制的加工机床
CN112654988B (zh) 控制装置
US20170308720A1 (en) Method of accessing functions of an embedded device
US20190268144A1 (en) Data processing method, control system, and control device
EP3830658A1 (en) Data structure product and product kit
US20180129793A1 (en) Precompile and encrypt industrial intellectual property
EP3920063B1 (en) Safety system and maintenance method
JP7063212B2 (ja) 制御装置および制御システム
Giehl et al. Leveraging Edge Computing and Differential Privacy to Securely Enable Industrial Cloud Collaboration Along the Value Chain
CN113490892A (zh) 控制装置以及控制***
WO2020240945A1 (ja) 制御システム、制御装置および制御プログラム
WO2021161653A1 (ja) 制御システム、中継装置、およびアクセス管理プログラム
US20220326677A1 (en) Control device, control system, and management method
US20240143803A1 (en) Control system and control method therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220523

R150 Certificate of patent or registration of utility model

Ref document number: 7087908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150