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

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

Info

Publication number
JP7077644B2
JP7077644B2 JP2018022103A JP2018022103A JP7077644B2 JP 7077644 B2 JP7077644 B2 JP 7077644B2 JP 2018022103 A JP2018022103 A JP 2018022103A JP 2018022103 A JP2018022103 A JP 2018022103A JP 7077644 B2 JP7077644 B2 JP 7077644B2
Authority
JP
Japan
Prior art keywords
control
diagnostic
controllers
control data
control system
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
JP2018022103A
Other languages
English (en)
Other versions
JP2019139490A (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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2018022103A priority Critical patent/JP7077644B2/ja
Priority to CN201910085329.5A priority patent/CN110134000B/zh
Priority to US16/264,685 priority patent/US11181896B2/en
Priority to EP19155309.8A priority patent/EP3525057B1/en
Publication of JP2019139490A publication Critical patent/JP2019139490A/ja
Application granted granted Critical
Publication of JP7077644B2 publication Critical patent/JP7077644B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • 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
    • 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/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0237Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on parallel systems, e.g. comparing signals produced at the same time by same type systems and detect faulty ones by noticing differences among their responses
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Safety Devices In Control Systems (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、制御システム、診断装置、診断方法、および診断プログラムに関する。
特許文献1には、プラントなどのプロセス制御に用いるプロセス制御装置において、並列動作する3つ以上のコントローラの制御演算結果を多数決判定してプロセス制御をすることが記載されている。
特許文献1 特開2003-140707号公報
特許文献1に記載のプロセス制御装置は、プロセス制御装置内で3つ以上のコントローラの制御演算結果を多数決判定してから制御データをプロセス機器へと送信する。しかし、特許文献1に記載のプロセス制御装置では、多数決判定を行うプロセス機器インターフェイス30の故障またはインターミッテント障害に対する耐性が低くなってしまう。
上記課題を解決するために、本発明の第1の態様においては、制御システムを提供する。制御システムは、冗長構成をとる複数のコントローラを備えてよい。制御システムは、複数のコントローラから受信する冗長化された複数の制御データに基づく制御出力データを、被制御機器へと出力するインターフェイス装置を備えてもよい。制御システムは、インターフェイス装置における、複数のコントローラのそれぞれからの制御データの採否を含む統計情報に基づいて、制御システムを診断する診断装置を備えてもよい。
制御システムは、複数のインターフェイス装置を備えてもよい。診断装置は、複数のインターフェイス装置のそれぞれにおける、複数のコントローラのそれぞれからの制御データの採否を含む統計情報に基づいて、制御システムを診断してもよい。
制御システムは、複数のコントローラ、複数のインターフェイス装置、および診断装置が接続されるネットワークを備えてもよい。
複数のコントローラは、予め定められた制御周期で同期して、それぞれ制御データを送信してもよい。診断装置は、複数の制御周期における制御データの採否を含む統計情報に基づいて、制御システムを診断してもよい。
診断装置は、複数のコントローラの中で、複数のインターフェイス装置のうち第1基準台数以上のインターフェイス装置のそれぞれにおいて、第1基準個数以上の制御データが不採択とされたコントローラに異常の可能性があると推定してもよい。
診断装置は、複数のインターフェイス装置のうち第2基準台数未満のインターフェイス装置のそれぞれにおいて、第2基準個数以上の制御データが不採択とされたことに応じて、第2基準個数以上の制御データを不採択としたインターフェイス装置に異常の可能性があると推定してもよい。
複数のインターフェイス装置のうち少なくとも1つのインターフェイス装置は、自己診断機能を有してもよい。診断装置は、少なくとも1つのインターフェイス装置の自己診断結果に更に基づいて、制御システムの異常箇所を推定してもよい。
診断装置は、ネットワークのトポロジー情報を記憶してもよい。診断装置は、統計情報およびトポロジー情報に基づいて、ネットワークにおける異常箇所を推定してもよい。
本発明の第2の態様においては、制御システムを診断する診断装置を提供する。制御システムは、冗長構成をとる複数のコントローラを備えてよい。制御システムは、複数のコントローラから受信する冗長化された複数の制御データに基づく制御出力データを、被制御機器へと出力するインターフェイス装置を備えてもよい。診断装置は、インターフェイス装置における、複数のコントローラのそれぞれからの制御データの採否を含む統計情報を取得する統計情報取得部を備えてよい。診断装置は、統計情報に基づいて、制御システムを診断する診断部を備えてもよい。
制御システムは、複数のインターフェイス装置を備えてもよい。診断部は、複数のインターフェイス装置のそれぞれにおける、複数のコントローラのそれぞれからの制御データの採否を含む統計情報に基づいて、制御システムを診断してもよい。
本発明の第3の態様においては、コンピュータにより制御システムを診断する診断方法を提供する。制御システムは、冗長構成をとる複数のコントローラを備えてよい。制御システムは、複数のコントローラから受信する冗長化された複数の制御データに基づく制御出力データを、被制御機器へと出力するインターフェイス装置を備えてもよい。コンピュータが、インターフェイス装置における、複数のコントローラのそれぞれからの制御データの採否を含む統計情報を取得してよい。コンピュータが、統計情報に基づいて、制御システムを診断してもよい。
本発明の第4の態様においては、コンピュータを、制御システムを診断する診断装置として機能させる診断プログラムを提供する。制御システムは、冗長構成をとる複数のコントローラを備えてよい。制御システムは、複数のコントローラから受信する冗長化された複数の制御データに基づく制御出力データを、被制御機器へと出力するインターフェイス装置を備えてもよい。診断プログラムは、コンピュータを、インターフェイス装置における、複数のコントローラのそれぞれからの制御データの採否を含む統計情報を取得する統計情報取得部として機能させてよい。診断プログラムは、コンピュータを、統計情報に基づいて、制御システムを診断する診断部として機能させてもよい。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態に係る制御システム10の構成を示す。 本実施形態に係るコントローラ100の動作フローを示す。 本実施形態に係るインターフェイス装置130の動作フローを示す。 本実施形態に係る診断装置160の動作フローを示す。 本実施形態に係るログDB164に格納されるログ情報の一例を示す。 本実施形態に係る制御システム10の変形例を示す。 本実施形態に係るコンピュータ2200の構成の一例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る制御システム10の構成を示す。制御システム10は、化学製品、金属製品、石油、またはガス等の生産プラントを制御する。これに代えて、制御システム10は、発電プラント等の他のプラントの制御に用いられてもよく、ビルまたは交通機関等の設備の制御に用いられてもよい。
制御システム10は、プラント等の各所に設けられた複数のセンサ150a~m(「センサ150」とも示す。)からのセンスデータに応じて複数の被制御機器155a~m(「被制御機器155」とも示す。)を制御して、プラント等の目的に応じた生産、発電、及び/又は制御を行う。本実施形態に係る制御システム10は、冗長構成をとる複数のコントローラ100a~nからの制御データを被制御機器155a~mに接続されるインターフェイス装置130a~m側で採否をとり、診断装置160において採否の結果を含む統計情報を用いて制御システム10の診断をする。これにより、制御システム10は、内部の異常箇所を統計的に診断することを可能とする。
各センサ150は、制御対象のプラント等の状態を示す物理量を測定して、物理量に応じたセンスデータをインターフェイス装置130に供給する。センサ150は、一例として、温度センサ、圧力センサ、流量計、電流センサ、電圧センサ、ガスセンサ、またはその他の任意の物理量を測定する計測器であってよい。
各被制御機器155は、制御対象のプラント等の動作を制御及び/又は調整する。被制御機器155は、一例として制御対象のプラント等に設けられたバルブ、コンプレッサ、ポンプ、およびモータ等のアクチュエータであってよく、制御対象のプラント等に設けられた装置に対し電気的または磁気的な信号を印加する素子、回路、またはデバイス等であってもよい。
制御システム10は、コントローラ100a~n(「コントローラ100」とも示す。)と、センサ150a~mおよび被制御機器155a~mに接続されるインターフェイス装置130a~m(「インターフェイス装置130」とも示す。)と、診断装置160と、ネットワーク50とを備える。
複数のコントローラ100は、冗長構成をとる。複数のコントローラ100は、1または複数のセンサ150から受け取るセンスデータ等の制御パラメータに基づき互いに同じ制御演算処理を行って、1または複数の被制御機器155を制御するための制御データを1または複数のインターフェイス装置130へと送信する。本実施形態において、制御システム10は、コントローラ100を3台以上備え、各コントローラ100が出力する制御データを多数決採択する。
複数のコントローラ100は、予め定められた制御周期で同期して、それぞれ制御データを対象の被制御機器155が接続されたインターフェイス装置130へと送信する。制御周期は、説明の便宜上制御システム10全体で共通であるものとする。これに代えて、制御周期は、被制御機器155のグループ、個々の被制御機器155、または各被制御機器155内の制御対象パラメータ毎に独立に設定されてもよい。この場合、複数のコントローラ100は、制御データの各対象に応じた制御周期で同期して、制御データを各対象へと送信する。ここで、同期とは、クロック同期等の厳密な同期に限らず、制御周期内に制御データを対象に届けられる程度の緩やかな同期であってもよい。
各コントローラ100は、制御パラメータ受信部110と、制御演算部114と、制御データ送信部116とを有する。
制御パラメータ受信部110は、1または複数のセンサ150からのセンスデータ等の制御パラメータをインターフェイス装置130a~mおよびネットワーク50を介して受信する。
制御演算部114は、制御システム10による制御対象のプラント等を制御するための制御演算を実行する。制御演算部114は、制御データを送信すべき各対象について、制御周期毎に、制御パラメータ受信部110から入力される制御パラメータの値を入力とし、対象に対する操作量及び/又は設定値等の制御データを出力する制御演算処理を実行する。本実施形態に係る制御システム10においては、各インターフェイス装置130が各制御周期において同一値の制御パラメータを複数のコントローラ100へと送信する構成をとる。このため、複数のコントローラ100の各制御演算部114は、制御周期毎に同一の値の制御パラメータを入力して同一アルゴリズムの制御演算処理を行う結果、異常が無ければ同一値の制御データを出力する。制御演算処理は、一例としてPI制御またはPID制御等の制御工学上の制御であってよく、条件判断・条件分岐等を含む任意の制御アルゴリズムであってもよい。
制御データ送信部116は、制御演算部114が出力する制御データを対象の被制御機器155が接続されたインターフェイス装置130へと送信する。
1または複数のインターフェイス装置130は、1または複数のセンサ150と、1または複数の被制御機器155とに接続され、各コントローラ100と、接続先のセンサ150および被制御機器155との間のインターフェイスとして機能する。制御システム10は、センサ150が接続されるが被制御機器155は接続されないインターフェイス装置130、及び/又は、センサ150は接続されないが被制御機器155が接続されるインターフェイス装置130を備えてもよい。本実施形態においては、説明の便宜上各インターフェイス装置130には1つのセンサ150および1つの被制御機器155が接続されている例を示す。これに代えて、各インターフェイス装置130は、複数のセンサ150及び/又は複数の被制御機器155に接続される構成をとってもよい。
各インターフェイス装置130は、制御パラメータ取得部132と、制御パラメータ送信部134と、制御データ受信部136と、採択部138と、採否通知部140と、制御データ出力部142とを有する。
制御パラメータ取得部132は、接続先のセンサ150からセンスデータ等の制御パラメータを取得する。また、制御パラメータ取得部132は、被制御機器155の設定パラメータ等の制御演算部114が制御演算をするために使用する各種のデータを制御パラメータとして取得してよい。
制御パラメータ送信部134は、制御パラメータ取得部132が取得した制御パラメータを、各コントローラ100へと送信する。本実施形態において、制御パラメータ送信部134は、各制御周期において同一値の制御パラメータを複数のコントローラ100へと送信する。例えば、制御パラメータ取得部132は制御周期に同期して制御パラメータを取得し、各制御周期の間には同一値の制御パラメータを制御パラメータ送信部134に提供してもよい。
制御データ受信部136は、インターフェイス装置130に接続された被制御機器155に対する各コントローラ100からの制御データを受信する。ここで、複数のコントローラ100が冗長構成をとることから、各制御データ受信部136は、制御周期毎に、複数のコントローラ100から冗長化された複数の制御データ、すなわち正常であれば同一値を有する制御データを受信する。
採択部138は、制御周期毎に、冗長化された複数の制御データのそれぞれの採否を決定する。一例として、採択部138は、予め定められた数以上の制御データが同一値であることを条件として、その制御データを被制御機器155へと出力すべき制御出力データとして採択し、異なる値の制御データを不採択とする。例えば、採択部138は、コントローラ100が3台存在する場合、2以上の制御データが同一値であれば、その制御データを採択する。ここで、採択部138は、採択した制御データとは異なる値の制御データを不採択とする。
採否通知部140は、複数のコントローラ100のそれぞれからの制御データの採否を示す採否情報を診断装置160内の採否受信部162へと通知する。
制御データ出力部142は、冗長化された複数の制御データに基づいて生成された、被制御機器155へと出力すべき制御出力データを対象の被制御機器155へと出力する。
診断装置160は、1または複数のインターフェイス装置130から受信する採否情報を収集して、複数のコントローラ100のそれぞれからの制御データの採否を含む統計情報を記録する。そして診断装置160は、統計情報に基づいて、制御システム10を診断する。診断装置160は、採否受信部162と、ログDB164と、統計情報取得部165と、トポロジーDB166と、診断部168と、診断結果出力部170とを有する。
採否受信部162は、複数のインターフェイス装置130のそれぞれから制御データの採否を示す採否情報を受信して、ログDB164(ログデータベース164)へと記録する。
ログDB164は、採否受信部162が複数のインターフェイス装置130のそれぞれから受信する、複数の制御周期の採否情報を、ログ情報として格納していく。
統計情報取得部165は、ログDB164に格納されたログ情報から、1または複数のインターフェイス装置130における、複数のコントローラ100のそれぞれからの制御データの採否を含む各種の統計情報を取得する。例えば、統計情報取得部165は、ログ情報を参照して、各コントローラ100からの制御データを不採択とした回数、各インターフェイス装置130が制御データを不採択とした回数といった各種の統計情報を算出する。
トポロジーDB166は、ネットワーク50のトポロジー情報を記憶する。トポロジー情報は、複数のコントローラ100および複数のインターフェイス装置130の間のネットワークの接続関係を示すものであり、各コントローラ100および各インターフェイス装置130の間にある各リンクに関する情報、及び/又は各リンクが多重化されているか否かに関する情報等の、ネットワーク50の異常箇所を診断するために利用可能なネットワーク構造を示す。ネットワーク50のトポロジー情報を異常箇所の診断に用いない場合には、診断装置160は、トポロジーDB166を有さない構成をとってもよい。
診断部168は、統計情報取得部165により取得された統計情報に基づいて、制御システム10を診断する。本実施形態に係る診断部168は、統計情報に加えてトポロジーDB166に記憶されたトポロジー情報に基づいて、ネットワーク50における異常箇所を推定する。ここで、診断部168は、ある制御周期においてあるコントローラ100からの制御データが不採択となったことに応じて直ちにそのコントローラ100が異常であると判断するのではなく、複数のインターフェイス装置130からの採否情報、及び/又は、複数の制御周期における採否情報を含む統計情報を用いて統計的な判断を行って異常を推定する。統計情報を利用することにより、診断部168は、制御データの不採択が永続的な故障または一時的な異常のいずれによって発生したかを判別し、及び/又は制御システム10内の異常箇所をより精度良く絞り込むことも可能となる。これに代えて、診断部168は、診断を単純化すべく、統計情報を用いずに制御周期毎に採否情報を用いて異常を診断する構成をとることも可能である。例えば診断部168は、ある制御周期においてあるコントローラ100からの制御データが不採択となったことに応じて直ちにそのコントローラ100が異常であると判断してもよい。
診断結果出力部170は、診断部168による診断結果を出力する。
ネットワーク50は、複数のコントローラ100、複数のインターフェイス装置130、および診断装置160が接続される、汎用または専用のネットワークである。本実施形態において、コントローラ100は、PC(パーソナルコンピュータ)、ワークステーション、サーバコンピュータ、汎用コンピュータ等のコンピュータであってよく、コンピュータ上で制御プログラムを実行することによりコントローラ100として機能する。これに代えて、コントローラ100は、プラント等の制御用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、インターフェイス装置130は、プラント等の制御用に設計された、マイクロコントローラ等を有する専用の装置であってもよく、一般のコンピュータにセンサ150及び/又は被制御機器155に接続するためのインターフェイス回路を付加した装置であってもよく、専用回路によって実現された専用ハードウェアであってもよい。診断装置160もまた、一般のコンピュータまたは専用コンピュータであってよく、コンピュータ上で診断プログラムを実行することによって診断装置160として機能してよい。これに代えて、診断装置160は、専用ハードウェアで実現されてもよい。ネットワーク50は、イーサネット(登録商標)、LAN、WAN、及び/又はインターネット等を含む有線または無線ネットワークであってよく、産業用ネットワークを含んで構成されてもよい。ネットワーク50は、コントローラ100、インターフェイス装置130、および診断装置160間の通信を、ネットワークパケットを伝送することにより実現してもよい。
上記に代えて、制御システム10は、単一筐体に格納されたコンピュータであってもよい。すなわち、各コントローラ100は、コンピュータのプロセッサ上でのプログラム実行によって実現されてもよく、各インターフェイス装置130は、コンピュータのI/O装置として実装されてもよい。また、各コントローラ100は、1または複数のプロセッサにより実行される仮想マシンとして実装されてもよい。このような構成においては、制御システム10は、汎用または専用のネットワークであるネットワーク50を備えず、コントローラ100およびインターフェイス装置130が、プロセッサおよびI/O装置間を接続するメモリコントローラハブおよびI/Oコントローラハブ等のチップセットによって接続されうる。
図2は、本実施形態に係るコントローラ100の動作フローを示す。一例として本図は、コントローラ100が実行する1または複数の制御処理のうち、1つの制御処理について1制御周期分の動作フローを示す。各コントローラ100は、同一または異なる長さの制御周期で周期的に実行される複数の制御処理のそれぞれについて、並列または並行に本図の動作フローを実行して、各制御処理の対象となる1または複数の被制御機器155を制御してもよい。
S200(ステップ200)において、制御パラメータ受信部110は、制御処理で使用する1または複数の制御パラメータを、各制御パラメータを取得したインターフェイス装置130から受信する。制御パラメータ受信部110は、制御パラメータの読出アクセスまたは読出リクエストを対象のインターフェイス装置130へと発行して、対象のインターフェイス装置130内の制御パラメータ送信部134が返信する制御パラメータを受信する。ここで、読出対象の制御パラメータは、制御システム10のグローバルアドレス空間内のアドレス、グローバルレジスタ空間内のレジスタ識別子(ID、例えば識別番号またはタグ名等の識別名)、または、インターフェイス装置130の識別子と当該インターフェイス装置130のローカルアドレス(レジスタ)空間内のアドレス(レジスタ識別子)とのペア等の識別情報を用いて指定される。ここでインターフェイス装置130の識別子は、IPアドレス等のネットワーク上におけるノードを特定する情報を用いて表されてもよい。読出アクセスまたは読出リクエストは、制御パラメータの識別情報に加え、要求元のコントローラ100の識別情報及び/又は制御周期等を含んでもよい。
これに代えて、インターフェイス装置130内の制御パラメータ送信部134は、制御周期毎に、制御パラメータ取得部132が取得した制御パラメータを、当該制御パラメータを使用する制御パラメータ受信部110へと送信し、制御パラメータ受信部110は、送信されてきた制御パラメータを受信してもよい。制御パラメータ送信部134が送信する情報は、制御パラメータの値に加えて、制御パラメータの識別情報、宛先のコントローラ100の識別情報、及び/又は制御周期等を含んでもよい。
S220において、制御演算部114は、制御パラメータ受信部110から入力される1または複数の制御パラメータの値を入力パラメータとして、対象とする1または複数の被制御機器155に対する制御データを出力する制御演算処理を実行する。複数のコントローラ100が正常に動作している場合には、複数の制御演算部114は、同じ値の制御パラメータを入力したことに応じて同じ値の制御データを出力する。
S230において、制御データ送信部116は、制御演算部114が出力した制御データを、制御対象の1または複数の被制御機器155へと送信する。制御データ送信部116は、制御データの書込アクセスまたは書込リクエストを制御対象の被制御機器155が接続されたインターフェイス装置130へと発行して、当該インターフェイス装置130内のレジスタまたはメモリに制御データを書き込む。このような書込アクセスまたは書込リクエストは、制御パラメータの識別情報と同様に定義された制御データの宛先の識別情報、要求元のコントローラ100の識別情報、及び/又は動作周期等を含みうる。
図3は、本実施形態に係るインターフェイス装置130の動作フローを示す。一例として本図は、コントローラ100が実行する1または複数の制御処理のうち、1つの制御処理について1制御周期分に対応するインターフェイス装置130の動作フローを示す。各インターフェイス装置130は、各コントローラ100が同一または異なる長さの制御周期で周期的に実行する複数の制御処理のそれぞれに対応して、並列または並行に本図の動作フローを実行して、センサ150からの入力処理および被制御機器155への出力処理を行ってもよい。
S300において、制御パラメータ取得部132は、接続先のセンサ150からセンスデータ等の制御パラメータを取得する。また、制御パラメータ取得部132は、コントローラ100で実行する制御処理で使用する被制御機器155の設定パラメータ等のコントローラ100がアクセス可能な任意のパラメータを、コントローラ100からの要求に応じて取得してもよい。制御パラメータ取得部132は、制御パラメータ送信部134がコントローラ100から読出アクセスまたは読出リクエストを受けたことに応じて制御パラメータを取得してもよく、制御周期とは独立したサンプリング周期(例えば、制御周期より小さいサンプリング周期)で制御パラメータを取得してもよい。
S310において、制御パラメータ送信部134は、制御パラメータ取得部132が取得した制御パラメータを、当該制御パラメータを使用するコントローラ100へと送信する。制御パラメータ送信部134は、コントローラ100からの読出アクセスまたは読出リクエストに応じて、対象の制御パラメータを返信してもよく、制御パラメータ毎に予め設定された宛先の1または複数のコントローラ100に対して、予め設定された周期で対象の制御パラメータを送信してもよい。
S320において、制御データ受信部136は、各コントローラ100が送信する、冗長化された複数の制御データを受信する。
S330において、採択部138は、冗長化された複数の制御データのそれぞれの採否を決定する。ここで、インターフェイス装置130に複数の被制御機器155が接続されている等により、インターフェイス装置130が複数種類の制御データを受け取る場合には、採択部138は、同一対象の制御データ毎に採否を判断する。本実施形態に係る採択部138は、予め定められた数以上の制御データが同一であることを条件として、その制御データを被制御機器155へと出力すべき制御出力データとする。採択部138は、複数の制御データの多数決によって、被制御機器155へと出力すべき制御出力データを決定してもよく、多数決により選ばれた制御データの値が、予め定められた数以上の制御データで同一であることを条件として、制御出力データに選択してもよい。例えば、コントローラ100が5台ある場合において上記の数を2としたとすると、3台のコントローラ100が制御データaを出力し、2台のコントローラ100が制御データbを出力した場合には制御データaを制御出力データとし、2台のコントローラ100が制御データaを出力し、残りのコントローラ100が制御データaと異なる別々の制御データを出力した場合には制御データaを制御出力データとし、2台以上のコントローラ100が同一値の制御データを出力しなかった場合には、いずれの制御データも不採択としてもよい。この例では、制御システム10は、最大3台のコントローラ100が故障または保守状態となったとしても、正常稼働を継続することが可能となる。
採択部138は、制御周期の開始タイミングまたは最初の制御データの受信タイミング等の基準タイミングから予め定められたタイムアウト期間の間に一部のコントローラ100から制御データを受信できなかったことに応じて、当該制御データがタイムアウトしたと判断し、不採択としてもよい。
S340において、採否通知部140は、複数のコントローラ100のそれぞれからの制御データの採否を示す採否情報を診断装置160へと通知する。本実施形態に係る採否通知部140は、採否情報をバッファリングし、診断装置160から採否情報の読出アクセスまたは読出リクエストを受信したことに応じて採否情報を返信することにより、採否情報を診断装置160に通知する。診断装置160は、インターフェイス装置130との間で採否情報の読出アクセス等およびその返信を定期的にやり取りし、この通信をインターフェイス装置130からのハートビートとして利用することも可能である。これに代えて、採否通知部140に診断装置160の宛先を予め登録可能とし、採否通知部140が、採択のみ、または不採択のみを能動的に診断装置160へ通知するようにして、ネットワーク50のトラフィック量を低減してもよい。採否通知部140は、診断装置160からの要求に応じて、制御周期毎に採否情報を診断装置160へと通知してもよく、複数の制御周期分を蓄積してから診断装置160へと通知してもよい。
S350において、制御データ出力部142は、冗長化された複数の制御データに基づく制御出力データを対象の被制御機器155へと出力する。本実施形態に係る制御データ出力部142は、制御出力データをそのまま対象の被制御機器155へと出力する。これに代えて、例えばコントローラ100の制御周期が被制御機器155及び/又はインターフェイス装置130の動作周期よりも大きい場合等には、制御データ出力部142は、コントローラ100の制御周期毎に受信する制御出力データを補間して被制御機器155へと出力していくようにしてもよい。
インターフェイス装置130は、本図の動作フローを制御周期毎に実行することにより、被制御機器155にあった制御周期毎に被制御機器155を制御することができる。
上記のS330において、採択部138は、採択の条件によってはいずれの制御データも採択しないケースもありうる。例えば、採択部138は、多数決採択において全ての制御データの値が互いに異なる場合には、いずれの制御データも採択しない方式をとりうる。このような場合、採否通知部140は、上記のS340において、全てのコントローラ100からの制御データを不採択としたことを示す採択情報を診断装置160に通知してもよい。制御データ出力部142は、上記のS350において、直前の制御周期における制御出力データと同じ値の制御出力データを対象の被制御機器155に出力する構成、前の複数の制御周期における制御出力データの値から補間をした制御出力データを対象の被制御機器155に出力する構成、または、制御出力データの出力をスキップする構成等をとってもよい。
図4は、本実施形態に係る診断装置160の動作フローを示す。一例として本図は、診断装置160の1診断周期分に対応する診断装置160の動作フローを示す。診断装置160は、本図の動作フローを診断周期毎に繰り返し実行してもよい。
S400において、採否受信部162は、複数のインターフェイス装置130のそれぞれから制御データの採否を示す採否情報を受信する。採否受信部162は、診断周期毎等の好適なタイミングで採否情報の読出アクセスまたは読出リクエストをインターフェイス装置130内の採否通知部140へと発行することにより、採否情報を取得してもよい。これに代えて、各インターフェイス装置130が制御周期毎等の予め定められたタイミングで能動的に採否情報を送信する構成をとる場合には、採否受信部162は、送信されてくる採否情報を順次受信する。
S410において、採否受信部162は、受信した採否情報をログDB164内のログ情報に追加する。ログ情報の構成例については、後述する。
S415において、統計情報取得部165は、ログDB164に格納された採否情報のログ情報から、診断部168が制御システム10の診断に用いる各種の統計情報を取得する。
S420において、診断部168は、統計情報取得部165により取得された統計情報に基づいて、制御システム10を診断する。診断部168は、トポロジーDB166に記録されたネットワーク50のトポロジー情報に更に基づいて、制御システム10を診断してもよい。この診断において、診断部168は、統計情報および必要に応じてトポロジー情報に基づいて、制御システム10内における異常箇所、および、異常の程度または重度を推定する。診断部168による診断の具体例については、図5に関連して後述する。
S430において、診断結果出力部170は、診断部168による診断結果を出力する。診断結果出力部170は、制御システム10の管理者またはオペレータ等が使用する監視/管理コンソール、及び/又は監視/管理端末に、制御システム10における推定異常箇所および推定異常重度等を表示すること、制御システム10の管理者またはオペレータに対して電子メールまたはSMS等により推定異常箇所および推定異常重度等を通知すること、並びに、制御システム10の各部の近傍に配置された、各部の異常を示す警告ランプまたは警告アラーム等を用いて推定異常箇所の異常を警告すること等といった各種の手段を用いて制御システム10の異常を通知する。
診断結果出力部170は、制御システム10内における異常と診断された機器(コントローラ100、インターフェイス装置130、ネットワーク50の各経路等)を示す情報を、他の機器に通知してもよい。これにより、通知を受けた他の機器は、異常と診断された機器から受診するデータを無視または不採用とする等により、異常の影響を受けないようにすることができる。例えば、診断結果出力部170は、あるコントローラ100が異常と診断されたことを、各インターフェイス装置130に通知してもよい。これにより、各インターフェイス装置130は、異常と診断されたコントローラ100からの制御データを値によらず不採択とすることができる。
図5は、本実施形態に係るログDB164に格納される統計情報の一例を示す。採否受信部162は、各インターフェイス装置130から採否情報を受信して、一例として本図に示すログ情報に記録していく。
本図のログ情報は、日時、インターフェイス装置ID(図中「I/F ID」)、制御アドレス、および各コントローラからの制御データの採否情報(図中「コントローラ1」、「コントローラ2」、および「コントローラ3」)の各カラムに対応するデータ要素を含む複数のエントリを有する。本図は、説明の便宜上、ログ情報の先頭カラムにエントリ番号(図中「#」)を更に加えたものとして示す。
「日時」は、例えば採否通知部140が採否情報を採択部138から取得したタイミングを示す。これに代えて、ログDB164は、採否情報に関する任意のタイミングに関する情報をログ情報に記録してもよい。例えば、ログDB164は、制御周期の開始タイミング等の日時、または制御周期の識別情報をログ情報に記録してもよい。
「インターフェイス装置ID」および「制御アドレス」は、制御システム10内における、採否情報に関連する制御データの位置を示す。本図の例において、制御データを送信すべき位置は、制御システム10内における対象のインターフェイス装置130の識別子(ID)と、対象のインターフェイス装置130内における制御データの格納先のアドレス(制御アドレス)とのペアによって指定されるものとする。ここで、制御データを送信すべき位置は、制御システム10のグローバルアドレス空間内のアドレス、グローバルレジスタ空間内のレジスタ識別子(ID)、または、インターフェイス装置130の識別子と当該インターフェイス装置130のローカルアドレス(レジスタ)空間内のアドレス(レジスタ識別子)とのペア等の識別情報を用いて指定されてもよい。
「各コントローラからの制御データの採否情報」は、「日時」で示されたタイミングにおける「インターフェイス装置ID」および「制御アドレス」の位置に対する各コントローラ100からの制御データの採否を示す。本図において、制御データの採否は、制御データが採択された場合に「採択」、制御データが不採択となった場合に「不採択」、制御データがタイムアウトにより受信できなかった場合に「タイムアウト」として表される。タイムアウトした制御データは、不採択としても扱われる。
本図において、X番目のエントリは、「2018年1月4日15:30:11」に取得された、インターフェイス装置IDが「1」のインターフェイス装置130内の制御アドレス「8F7C」で識別される位置に対し、全て(3つ)のコントローラ100からの制御データが採択されたことを示す。Y番目のエントリは、コントローラ1および3からの制御データは採択されたが、コントローラ2からの制御データはインターフェイス装置130により受信されたものの不採択とされたことを示す。Z番目のエントリは、コントローラ1および3からの制御データは採択されたが、コントローラ2からの制御データはタイムアウトにより不採択とされたことを示す。
診断部168は、統計情報取得部165がログ情報から取得する統計情報を用いて、以下に例示する診断の少なくとも1つを行ってよい。
(1)コントローラ100の異常の推定1
統計情報取得部165は、各コントローラ100の制御データが不採択とされた数の統計をとり、診断部168は、第1基準個数以上の制御データが不採択とされたコントローラ100に異常の可能性があると推定する。第1基準個数を1とした場合、診断部168は、制御データが1回不採択となったことに応じて、当該制御データを送信した(または送信すべきであった)コントローラ100を直ちに異常と推定する。第1基準個数を2以上とした場合、診断部168は、あるコントローラ100からの制御データの不採択が繰り返し発生する、または多発することを条件として、そのコントローラ100を異常と推定する。これにより、診断部168は、落雷等によって生じた外部のノイズ等の一過性の原因による不採択を除外して、比較的恒常的に発生する事象に基づいて異常を推定することができる。
(2)コントローラ100の異常の推定2
あるコントローラ100からの制御データを比較的多くのインターフェイス装置130が不採択とした場合には、送信元のコントローラ100に異常がある可能性が比較的高く、あるコントローラ100からの制御データを比較的少ないインターフェイス装置130のみが不採択とした場合には、送信元のコントローラ100ではなく受信側のインターフェイス装置130に異常がある可能性が比較的高くなる。そこで、上記(1)に異常箇所の判定条件を追加し、診断部168は、例えば複数のインターフェイス装置130のうち第1基準台数以上のインターフェイス装置130のそれぞれにおいて、第1基準個数以上の制御データが不採択とされたコントローラ100に異常の可能性があると推定してもよい。この場合、統計情報取得部165は、各インターフェイス装置130において、各コントローラ100からの制御データが不採択とされた数の統計をとる。一例として、インターフェイス装置130が100台ある場合において、診断部168は、3台(第1基準台数)以上のインターフェイス装置130のそれぞれにおいて、4(第1基準個数)以上の制御データが不採択とされた場合に、制御データの送信元のコントローラ100を異常と推定してもよい。
(3)インターフェイス装置130の異常の推定
上記(2)に関連して、診断部168は、コントローラ100からの制御データを比較的少ないインターフェイス装置130のみが不採択とした場合には、受信側のインターフェイス装置130に異常がある可能性を推定してもよい。すなわち、診断部168は、複数のインターフェイス装置130のうち第2基準台数未満のインターフェイス装置130のそれぞれにおいて、第2基準個数以上の制御データが不採択とされたことに応じて、制御データの受信側のインターフェイス装置130に異常の可能性があると推定してもよい。例えば、診断部168は、3台(第2基準台数)未満のインターフェイス装置130のそれぞれにおいて、4(第2基準個数)以上の制御データが不採択とされたことに応じて、受信側のインターフェイス装置130に異常の可能性があると推定する。この場合、他のインターフェイス装置130のそれぞれにおいては、第2基準個数(例えば4)未満の制御データ以外は採択されることとなる。ここで、第2基準台数は、上記(2)の第1基準台数と同じであってよく、これに代えて第2基準台数は第1基準台数よりも小さい数、または大きい数であってもよい。第2基準台数が第1基準台数よりも大きい場合、診断部168は、上記(2)に従い送信元のコントローラ100を、(3)に従い受信側のインターフェイス装置130を、共に異常の可能性があると推定してもよい。
(4)ネットワーク50の異常の推定
複数のコントローラ100から複数のインターフェイス装置130へと送信される制御データのうち、ネットワーク50のあるリンクにより伝送された(または伝送されるはずの)制御データが不採択となったことが比較的多ければ、ネットワーク50を構成する複数のリンクのうち、そのリンクに異常がある可能性がある。例えば、このような異常は、あるリンクが遮断され、制御データの不着によりタイムアウトによって不採択となるケース、および、あるリンクで制御データにビット誤り等のエラーが生じて宛先に到着し、不採択となるケースがあり得る。そこで、統計情報取得部165は、送信元のコントローラ100および宛先のインターフェイス装置130の組み合わせのそれぞれについて、制御データが不採択とされた数の統計をとってよい。診断部168は、統計情報における不採択となった制御データが伝送されるべきネットワーク50内の経路を、各コントローラ100および各インターフェイス装置130の間に設けられた1または複数のリンクを特定する情報を含むトポロジー情報を用いて特定し、あるリンクを通過した制御データが第3基準個数以上不採択とされたことに応じて、そのリンクを異常と推定してもよい。この推定において、診断部168は、タイムアウトにより不採択とされた制御データのみを対象として、リンクの遮断を推定してもよい。なお、診断部168は、コントローラ100からインターフェイス装置130の間のある通信区間においてリンクが冗長化されている場合においても、同様に異常を推定することで、冗長化されたリンクの少なくとも1つに異常があることを推定することができる。
(5)自己診断結果を利用した異常の推定
複数のインターフェイス装置130のうち少なくとも1つのインターフェイス装置130が自己診断機能を有する場合、診断部168は、少なくとも1つのインターフェイス装置130の自己診断結果に更に基づいて、制御システム10の異常箇所を推定してもよい。例えば診断部168は、統計情報に基づいて、あるコントローラ100またはあるインターフェイス装置130に異常の可能性があると推定した場合において、このインターフェイス装置130が自己診断により異常を検知している場合には、コントローラ100が異常であると推定せず、このインターフェイス装置130に異常があると推定してもよい。また、あるインターフェイス装置130が自己診断により異常を検知している場合において、診断部168は、このインターフェイス装置130における制御データの不採択については、上記(1)~(4)等の条件判断においてカウントに含めないようにしてもよい。ここで、診断装置160は、このインターフェイス装置130が自己診断の結果異常であることを診断結果として別途出力してよい。同様に、複数のコントローラ100のうち少なくとも1つのコントローラ100が自己診断機能を有してもよく、診断部168は、コントローラ100の自己診断結果を更に利用して異常を推定してもよい。なお、コントローラ100およびインターフェイス装置130は、自己診断テストとして、例えばループバック通信テスト、及び/又はメモリリード/ライトテスト等の各種のテストを採用してよい。
上記において、統計情報取得部165は、制御データが不採択となった回数を、予め定められた長さのタイムウィンドウの範囲における採否情報をカウントすることにより統計をとってもよい。そして、診断部168は、基準個数の不採択があったか否かの判断を、タイムウィンドウの範囲で行ってもよい。例えば診断部168は、1時間以内に3回以上制御データが不採択となった場合に、その制御データの送信元のコントローラ100を異常と推定してもよい。換言すれば、診断部168は、制御データが基準頻度以上不採択となったことを条件として、上記の推定を行ってもよい。また、統計情報取得部165は、制御データが送信された回数に対する制御データが不採択となった回数の割合等の統計をとってもよく、診断部168は、基準個数の不採択があったか否かの判断を、ベースとなる制御データの個数に対する割合で判定してもよい。
診断部168は、統計情報、並びに必要に応じてトポロジー情報および自己診断結果を用いて、一例として上記のような様々な判定基準により制御システム10内の異常箇所を推定することができる。また、診断部168は、異常と推定した箇所に関する異常または不採択の発生回数(回数自体、頻度、または割合)の大きさに応じて、異常の重度を算出または推定してもよい。
図6は、本実施形態に係る制御システム10の変形例を示す。本図において、図1と同じ符号を付した部材は、図1と同一または同様の構成および機能を有するので、特に必要がない限り説明を省略する。本図の制御システム10は、各インターフェイス装置130が送信する採否情報を診断装置160がログDB164に蓄積するのに代えて、各インターフェイス装置130がローカルに採否情報をローカルログ情報として蓄積して診断装置160へと送信する。
インターフェイス装置130は、採否通知部140に代えて、ローカルログDB644およびローカルログ送信部646を有する。ローカルログDB644は、制御データの採否情報を採択部138から受け取り、インターフェイス装置130内のローカルなログ情報として格納していく。ローカルログ送信部646は、ローカルログDB644に格納されたローカルなログ情報を、診断装置160内のローカルログ受信部662からの要求に応じて診断装置160へと送信する。
診断装置160は、採否受信部162およびログDB164に代えて、ローカルログ受信部662を有する。ローカルログ受信部662は、各ローカルログ情報を受信する。ローカルログ受信部662は、診断タイミングまたは診断周期毎に、各インターフェイス装置130に対して読出アクセスまたは読出リクエストを送信して、各インターフェイス装置130からローカルログ情報のうち必要な部分を読み出す。これに代えて、ローカルログ受信部662は、各ローカルログ送信部646が定期的等の好適なタイミングで送信するローカル統計情報を受信して統計情報として内部に格納してもよい。
本変形例に係る制御システム10によれば、診断装置160が診断を行うまで各インターフェイス装置130がローカルログ情報を格納しておくことができるので、診断装置160またはインターフェイス装置130が、ネットワーク50の負荷に応じて好適なタイミングを選んでローカルログ情報を伝送するようにすることも可能である。
本変形例において、各インターフェイス装置130は、ローカルログDB644内のローカルログ情報に基づいて、各インターフェイス装置130における制御データの採否を含むローカルな統計情報を取得するローカル統計情報取得部を有する構成をとってもよい。この場合、インターフェイス装置130は、ローカルログ送信部646に代えて、ローカルな統計情報を診断装置160へと送信するローカル統計情報送信部を有する。また、診断装置160は、ローカルログ受信部662に代えて、ローカルな統計情報を受信するローカル統計受信部を有してもよい。
以上に示した制御システム10によれば、診断装置160が制御システム10全体を診断することができ、各コントローラ100、各インターフェイス装置130、およびネットワーク50として汎用または一般的な機器を利用した場合でも制御システム10の信頼性を高めることが可能となる。
また、以上に示した制御システム10によれば、各コントローラ100からの制御データの採否を、いずれのコントローラ100からの制御データであるかは無関係にインターフェイス装置130側で判断することができる。このため、制御システム10が稼働状態のまま複数のコントローラ100の一部をオフラインにすることも可能となる。例えば、制御システム10の稼働中に、4台のコントローラ100のうち1台ずつを順次停止させてOS等の入れ替えまたはアップデートを行い、順に再起動してオンラインに戻していく等のシームレスな運用も可能となる。
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
図7は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ2200の例を示す。コンピュータ2200にインストールされたプログラムは、コンピュータ2200に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ2200に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2200に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU2212によって実行されてよい。
本実施形態によるコンピュータ2200は、CPU2212、RAM2214、グラフィックコントローラ2216、およびディスプレイデバイス2218を含み、それらはホストコントローラ2210によって相互に接続されている。コンピュータ2200はまた、通信インターフェイス2222、ハードディスクドライブ2224、DVD-ROMドライブ2226、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ2220を介してホストコントローラ2210に接続されている。コンピュータはまた、ROM2230およびキーボード2242のようなレガシの入/出力ユニットを含み、それらは入/出力チップ2240を介して入/出力コントローラ2220に接続されている。
CPU2212は、ROM2230およびRAM2214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ2216は、RAM2214内に提供されるフレームバッファ等またはそれ自体の中にCPU2212によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス2218上に表示されるようにする。
通信インターフェイス2222は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ2224は、コンピュータ2200内のCPU2212によって使用されるプログラムおよびデータを格納する。DVD-ROMドライブ2226は、プログラムまたはデータをDVD-ROM2201から読み取り、ハードディスクドライブ2224にRAM2214を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
ROM2230はその中に、アクティブ化時にコンピュータ2200によって実行されるブートプログラム等、および/またはコンピュータ2200のハードウェアに依存するプログラムを格納する。入/出力チップ2240はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ2220に接続してよい。
プログラムが、DVD-ROM2201またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ2224、RAM2214、またはROM2230にインストールされ、CPU2212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ2200の使用に従い情報の操作または処理を実現することによって構成されてよい。
例えば、通信がコンピュータ2200および外部デバイス間で実行される場合、CPU2212は、RAM2214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス2222に対し、通信処理を命令してよい。通信インターフェイス2222は、CPU2212の制御下、RAM2214、ハードディスクドライブ2224、DVD-ROM2201、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
また、CPU2212は、ハードディスクドライブ2224、DVD-ROMドライブ2226(DVD-ROM2201)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM2214に読み取られるようにし、RAM2214上のデータに対し様々なタイプの処理を実行してよい。CPU2212は次に、処理されたデータを外部記録媒体にライトバックする。
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU2212は、RAM2214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM2214に対しライトバックする。また、CPU2212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2212は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ2200上またはコンピュータ2200近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ2200に提供する。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
例えば、インターフェイス装置130が同一制御周期に複数のコントローラ100に対して値が異なる制御パラメータを送信しうる構成をとる場合には、コントローラ100は、同一制御周期に同一制御パラメータについて同一値を全コントローラ100の制御演算部114に供給する同期化部を備えてもよい。このような同期化部は、他のコントローラ100内の同期化部と通信して、各制御周期において制御パラメータの値の多数決をとる等により、複数のコントローラ100の間で各制御演算部114に同一値の制御パラメータを供給し、各制御演算部114が同一値の入力に基づいて制御演算処理を行うことができるようにする。
また、各コントローラ100は、同一値の制御パラメータを用いず非同期で動作する構成をとることも可能である。この場合、各コントローラ100は、同期化処理をしなくても、より近いタイミングではより近い値となるような連続的に変化する制御パラメータを入力するのであれば、互いに比較的近い値の制御データを出力することができる。このため、インターフェイス装置130は、各コントローラ100からの制御データの平均等をとって制御出力データとすることができる。
この場合、採択部138は、複数の制御データの平均値、外れ値を除いた平均値、中央値、外れ値を除いた中央値、または重み付け平均値を制御出力データの値としてもよい。この場合において、採択部138は、外れ値とした制御データを不採択としてもよく、制御出力データには一部値が反映されたとしても、制御出力データの値に対して予め定められた基準範囲外である制御データを不採択とみなしてもよい。逆に、採択部138は、例えば複数の制御データの最大値および最小値を除く値の平均値を制御出力データとすることにより、最大値または最小値を制御出力データに反映しなかったとしても、最大値または最小値が制御出力データの値に対して基準範囲内であれば対応する制御データを採択したとみなしてもよい。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 制御システム、50 ネットワーク、100a~n コントローラ、110 制御パラメータ受信部、114 制御演算部、116 制御データ送信部、130a~m インターフェイス装置、132 制御パラメータ取得部、134 制御パラメータ送信部、136 制御データ受信部、138 採択部、140 採否通知部、142 制御データ出力部、150a~m センサ、155a~m 被制御機器、160 診断装置、162 採否受信部、164 ログDB、165 統計情報取得部、166 トポロジーDB、168 診断部、170 診断結果出力部、644 ローカルログDB、646 ローカルログ送信部、662 ローカルログ受信部、2200 コンピュータ、2201 DVD-ROM、2210 ホストコントローラ、2212 CPU、2214 RAM、2216 グラフィックコントローラ、2218 ディスプレイデバイス、2220 入/出力コントローラ、2222 通信インターフェイス、2224 ハードディスクドライブ、2226 DVD-ROMドライブ、2230 ROM、2240 入/出力チップ、2242 キーボード

Claims (12)

  1. 制御システムであって、
    冗長構成をとる複数のコントローラと、
    互いに異なる被制御機器に接続され、前記複数のコントローラから受信する、接続先の前記被制御機器を制御するための冗長化された複数の制御データに基づく制御出力データを、接続先の前記被制御機器へと出力する複数のインターフェイス装置と、
    前記複数のインターフェイス装置のそれぞれにおける、前記複数のコントローラのそれぞれからの制御データの採否を含む統計情報に基づいて、前記制御システムを診断する診断装置と
    を備える制御システム。
  2. 前記複数のコントローラ、前記複数のインターフェイス装置、および前記診断装置が接続されるネットワークを更に備える請求項に記載の制御システム。
  3. 前記複数のインターフェイス装置のそれぞれは、一のコントローラからの制御データがタイムアウトしたことに応じて、当該一のコントローラからの制御データを不採択とする請求項2に記載の制御システム。
  4. 前記複数のコントローラは、予め定められた制御周期で同期して、それぞれ制御データを送信し、
    前記診断装置は、複数の制御周期における制御データの採否を含む前記統計情報に基づいて、前記制御システムを診断する
    請求項1から3のいずれか一項に記載の制御システム。
  5. 前記診断装置は、前記複数のコントローラの中で、前記複数のインターフェイス装置のうち第1基準台数以上のインターフェイス装置のそれぞれにおいて、第1基準個数以上の制御データが不採択とされたコントローラに異常の可能性があると推定する請求項から4のいずれか一項に記載の制御システム。
  6. 前記診断装置は、前記複数のインターフェイス装置のうち第2基準台数未満のインターフェイス装置のそれぞれにおいて、第2基準個数以上の制御データが不採択とされたことに応じて、前記第2基準個数以上の制御データを不採択としたインターフェイス装置に異常の可能性があると推定する請求項から5のいずれか一項に記載の制御システム。
  7. 前記複数のインターフェイス装置のうち少なくとも1つのインターフェイス装置は、自己診断機能を有し、
    前記診断装置は、前記少なくとも1つのインターフェイス装置の自己診断結果に更に基づいて、前記制御システムの異常箇所を推定する請求項から6のいずれか一項に記載の制御システム。
  8. 前記診断装置は、
    前記ネットワークのトポロジー情報を記憶し、
    前記統計情報および前記トポロジー情報に基づいて、前記ネットワークにおける異常箇所を推定する
    請求項2または3に記載の制御システム。
  9. 制御システムを診断する診断装置であって、
    前記制御システムは、
    冗長構成をとる複数のコントローラと、
    互いに異なる被制御機器に接続され、前記複数のコントローラから受信する、接続先の前記被制御機器を制御するための冗長化された複数の制御データに基づく制御出力データを、接続先の前記被制御機器へと出力する複数のインターフェイス装置と
    を備え、
    前記診断装置は、
    前記複数のインターフェイス装置のそれぞれにおける、前記複数のコントローラのそれぞれからの制御データの採否を含む統計情報を取得する統計情報取得部と、
    前記統計情報に基づいて、前記制御システムを診断する診断部と
    を備える
    診断装置。
  10. 前記診断装置は、ネットワークにより前記複数のコントローラおよび前記複数のインターフェイス装置に接続される請求項9に記載の診断装置。
  11. コンピュータにより制御システムを診断する診断方法であって、
    前記制御システムは、
    冗長構成をとる複数のコントローラと、
    互いに異なる被制御機器に接続され、前記複数のコントローラから受信する、接続先の前記被制御機器を制御するための冗長化された複数の制御データに基づく制御出力データを、接続先の前記被制御機器へと出力する複数のインターフェイス装置と
    を備え、
    前記コンピュータが、前記複数のインターフェイス装置のそれぞれにおける、前記複数のコントローラのそれぞれからの制御データの採否を含む統計情報を取得し、
    前記コンピュータが、前記統計情報に基づいて、前記制御システムを診断する
    診断方法。
  12. コンピュータを、制御システムを診断する診断装置として機能させる診断プログラムであって、
    前記制御システムは、
    冗長構成をとる複数のコントローラと、
    互いに異なる被制御機器に接続され、前記複数のコントローラから受信する、接続先の前記被制御機器を制御するための冗長化された複数の制御データに基づく制御出力データを、接続先の前記被制御機器へと出力する複数のインターフェイス装置と
    を備え、
    当該診断プログラムは、前記コンピュータを、
    前記複数のインターフェイス装置のそれぞれにおける、前記複数のコントローラのそれぞれからの制御データの採否を含む統計情報を取得する統計情報取得部と、
    前記統計情報に基づいて、前記制御システムを診断する診断部と
    して機能させる診断プログラム。
JP2018022103A 2018-02-09 2018-02-09 制御システム、診断装置、診断方法、および診断プログラム Active JP7077644B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018022103A JP7077644B2 (ja) 2018-02-09 2018-02-09 制御システム、診断装置、診断方法、および診断プログラム
CN201910085329.5A CN110134000B (zh) 2018-02-09 2019-01-29 控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质
US16/264,685 US11181896B2 (en) 2018-02-09 2019-02-01 Diagnosing apparatus, diagnosing method, and computer readable medium storing diagnosing program
EP19155309.8A EP3525057B1 (en) 2018-02-09 2019-02-04 Diagnosis of a redundant control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018022103A JP7077644B2 (ja) 2018-02-09 2018-02-09 制御システム、診断装置、診断方法、および診断プログラム

Publications (2)

Publication Number Publication Date
JP2019139490A JP2019139490A (ja) 2019-08-22
JP7077644B2 true JP7077644B2 (ja) 2022-05-31

Family

ID=65279461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018022103A Active JP7077644B2 (ja) 2018-02-09 2018-02-09 制御システム、診断装置、診断方法、および診断プログラム

Country Status (3)

Country Link
US (1) US11181896B2 (ja)
EP (1) EP3525057B1 (ja)
JP (1) JP7077644B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4123535A4 (en) * 2020-03-19 2023-08-16 NEC Corporation DEVICE, SYSTEM AND METHOD FOR PROCESSING BILLING INFORMATION, AND NON-TEMPORARY COMPUTER READABLE MEDIUM STORING A BILLING INFORMATION PROCESSING PROGRAM

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016192158A (ja) 2015-03-31 2016-11-10 アズビル株式会社 異常判断装置、異常判断方法、及び異常判断プログラム
JP2018142077A (ja) 2017-02-27 2018-09-13 三菱重工業株式会社 冗長化システム及び冗長化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63104101A (ja) * 1986-10-22 1988-05-09 Mitsubishi Electric Corp 多重化制御方式
US5799022A (en) 1996-07-01 1998-08-25 Sun Microsystems, Inc. Faulty module location in a fault tolerant computer system
JP3884643B2 (ja) 2001-11-06 2007-02-21 株式会社山武 プロセス制御装置
EP2015182A3 (en) * 2007-05-30 2010-03-24 Hitachi Ltd. Distributed system
DE102016205119A1 (de) * 2016-03-29 2017-10-05 Siemens Aktiengesellschaft System zur Steuerung von Stellwerken im Bahnverkehr

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016192158A (ja) 2015-03-31 2016-11-10 アズビル株式会社 異常判断装置、異常判断方法、及び異常判断プログラム
JP2018142077A (ja) 2017-02-27 2018-09-13 三菱重工業株式会社 冗長化システム及び冗長化方法

Also Published As

Publication number Publication date
EP3525057B1 (en) 2021-06-30
CN110134000A (zh) 2019-08-16
US20190250595A1 (en) 2019-08-15
JP2019139490A (ja) 2019-08-22
US11181896B2 (en) 2021-11-23
EP3525057A1 (en) 2019-08-14

Similar Documents

Publication Publication Date Title
Soualhia et al. Infrastructure fault detection and prediction in edge cloud environments
US20160378583A1 (en) Management computer and method for evaluating performance threshold value
JP5025776B2 (ja) 異常診断フィルタ生成装置
US10564636B2 (en) Method and arrangement for operating two redundant systems
CN111858254B (zh) 数据的处理方法、装置、计算设备和介质
WO2020066052A1 (ja) 監視システム及び監視方法
Jutman et al. Effective scalable IEEE 1687 instrumentation network for fault management
CN111061581B (zh) 一种故障检测方法、装置及设备
JP2013196698A (ja) システム監視
JP6482743B1 (ja) リスク評価装置、リスク評価システム、リスク評価方法、及び、リスク評価プログラム
JP6880560B2 (ja) 故障予測装置、故障予測方法及び故障予測プログラム
EP3608784B1 (en) Control system and control apparatus
JP6574533B2 (ja) リスク評価装置、リスク評価システム、リスク評価方法、及び、リスク評価プログラム
JP7077644B2 (ja) 制御システム、診断装置、診断方法、および診断プログラム
US20230280240A1 (en) Abnormality diagnosis device and abnormality diagnosis method
JP2018010430A (ja) 制御システムの遠隔監視を行う装置およびシステム
JP2011175513A (ja) 障害管理システム及び方法
KR102184892B1 (ko) 사물 인터넷 실시간 데이터 품질 관리 시스템 및 그 방법
KR101977214B1 (ko) 이상치 탐지 방법, 이를 이용하는 장치 및 시스템
CN110134000B (zh) 控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质
JP7026012B2 (ja) 機器状態監視システム及び機器状態監視方法
JP7437163B2 (ja) 診断装置、診断方法およびプログラム
JP6482742B1 (ja) リスク評価装置、リスク評価システム、リスク評価方法、及び、リスク評価プログラム
JP5696492B2 (ja) 故障検出装置、故障検出方法、及び、故障検出プログラム
RU2777950C1 (ru) Обнаружение нештатных ситуаций для прогнозного технического обслуживания и определения конечных результатов и технологических процессов на основании качества данных

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220502

R150 Certificate of patent or registration of utility model

Ref document number: 7077644

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150