(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】装置、システム及び方法
(51)【国際特許分類】
G05B 19/042 20060101AFI20240910BHJP
【FI】
G05B19/042
(21)【出願番号】P 2023119114
(22)【出願日】2023-07-21
【審査請求日】2024-07-18
(31)【優先権主張番号】P 2022116530
(32)【優先日】2022-07-21
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】小林 良
(72)【発明者】
【氏名】大野 毅
【審査官】田中 友章
(56)【参考文献】
【文献】特開2022-94095(JP,A)
【文献】特開2015-5258(JP,A)
【文献】米国特許出願公開第2008/0320582(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/042
(57)【特許請求の範囲】
【請求項1】
プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であって複数の制御部からネットワークを介して送信されるI/O出力要求を受信する受信部と、
前記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うフィルタリング部と、
前記I/O出力要求の異常を検出する異常検出部と、
前記異常が検出された場合に前記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信し、前記異常が検出されない場合に前記フィルタリング部から出力されたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力する出力部と
を有する装置。
【請求項2】
前記異常検出部は、所定の期間に前記制御部からの前記I/O出力要求を受信しない場合に異常を検出する請求項1に記載の装置。
【請求項3】
前記フィルタリング部は、同じI/O出力デバイスに前記I/O出力要求を送信する複数の前記制御部を含む制御部グループ毎に前記フィルタリングを行う請求項1又は2に記載の装置。
【請求項4】
前記制御部グループに含まれる複数の制御部は、前記I/O出力要求を送信する周期であるグループ要求周期に同期して前記I/O出力要求を送信し、
前記フィルタリング部は、前記グループ要求周期に基づいて前記I/O出力要求を選択して出力する第2のフィルタリングを更に行う
請求項3に記載の装置。
【請求項5】
前記フィルタリング部は、前記グループ要求周期に受信した同じ前記操作出力を含む複数の前記I/O出力要求のうち最初のI/O出力要求を選択して出力するフィルタリングを前記第2のフィルタリングとして行う請求項4に記載の装置。
【請求項6】
前記フィルタリング部は、前記グループ要求周期に受信した複数の前記I/O出力要求において前記操作出力が一致する場合に、受信したI/O出力要求を出力するフィルタリングを前記第2のフィルタリングとして行う請求項4に記載の装置。
【請求項7】
前記フィルタリング部は、前記グループ要求周期に受信した複数の前記I/O出力要求において異なる前記操作出力が含まれる場合に、多数決に基づく前記操作出力を含む前記I/O出力要求を選択して出力するフィルタリングを前記第2のフィルタリングとして行う請求項4に記載の装置。
【請求項8】
前記フィルタリング部は、前記グループ要求周期に受信した複数の前記I/O出力要求において前記操作出力がそれぞれ異なる場合には受信したI/O出力要求を選択しない前記第2のフィルタリングを行う請求項7に記載の装置。
【請求項9】
プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であるI/O出力要求を送信する複数の制御部と、
ネットワークを介して前記I/O出力要求を受信する受信部と、
前記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うフィルタリング部と、
前記I/O出力要求の異常を検出する異常検出部と、
前記異常が検出された場合に前記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信し、前記異常が検出されない場合に前記フィルタリング部から出力されたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力する出力部と
を有するシステム。
【請求項10】
プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であって複数の制御部からネットワークを介して送信されるI/O出力要求を受信することと、
前記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うことと、
前記I/O出力要求の異常を検出することと、
前記異常が検出された場合に前記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信することと、
前記異常が検出されない場合に前記フィルタリングされたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力することと
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、装置、システム及び方法に関する。
【背景技術】
【0002】
プロセス制御システムは、プラントや工場等(以下、これらを総称する場合には、単に「プラント」という)において、工業プロセスにおける各種の状態量(例えば、圧力、温度、流量等)を制御し、高度な自動操業を行う(例えば、特許文献1参照)。
【0003】
従来のプロセス制御システムは、ベンダ独自仕様の専用コントローラが核になって構成される。この専用コントローラは、I/O接続部を通して複数のセンサ(流量計や温度計等)からのI/O入力値によって状態量を取得する。ここで、I/O接続部は、専用コントローラ等の制御部とセンサ等のI/O入力デバイスやアクチュエータ等のI/O出力デバイスとの間に位置し、双方間のI/Oデータのやり取りに必要となる機能を提供するものである。次に、専用コントローラは、状態量に応じてI/O出力デバイス(バルブ等のアクチュエータ)の操作量を求める。更に、I/O接続部を通してこの操作量に応じたI/O出力値をI/O出力デバイスに与えて、操作する。この専用コントローラの3つの機能によって、上述した各種の状態量が制御される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、近年のオープン化されたプロセス制御システムでは、専用コントローラの代わりに、汎用機器(例えば、PCやワークステーション等)に標準的な制御機能(例えばIEC61131-3準拠の制御機能等)を組み込んだ汎用コントローラが提案されている。この汎用コントローラとI/O接続部とを汎用のネットワーク(例えばOPC-UA等)により接続するシステムが増えつつある。その背景には、プロセス制御システムのユーザが、システムの導入費用を安く抑えて、デジタルトランスフォーメーション(DX)技術を取り込み易くするシステム環境を望んでいること、その実現のためにベンダに働きかけて、制御機能とI/O接続部をオープンなネットワークで接続したマルチベンダ環境を実現しようとしていることが挙げられる。従って、マルチベンダ環境のプロセス制御システムでは、I/O接続部は、複数の汎用コントローラからのI/O出力要求に対応する必要がある。
【0006】
そこで、本開示では、複数の制御部に対応可能なI/O出力デバイスの装置、システム及び方法を提案する。
【課題を解決するための手段】
【0007】
本開示は、上述の問題点を解消するためになされたものであり、その第1の態様は、プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であって複数の制御部からネットワークを介して送信されるI/O出力要求を受信する受信部と、上記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うフィルタリング部と、上記I/O出力要求の異常を検出する異常検出部と、上記異常が検出された場合に上記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信し、上記異常が検出されない場合に上記フィルタリング部から出力されたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力する出力部とを有する装置である。
【0008】
また、本開示の第2の態様は、プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であるI/O出力要求を送信する複数の制御部と、ネットワークを介して上記I/O出力要求を受信する受信部と、上記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うフィルタリング部と、上記I/O出力要求の異常を検出する異常検出部と、上記異常が検出された場合に上記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信し、上記異常が検出されない場合に上記フィルタリング部から出力されたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力する出力部とを有するシステムである。
【0009】
また、本開示の第3の態様は、プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であって複数の制御部からネットワークを介して送信されるI/O出力要求を受信することと、上記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うことと、上記I/O出力要求の異常を検出することと、上記異常が検出された場合に上記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信することと、上記異常が検出されない場合に上記フィルタリングされたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力することとを含む方法である。
【図面の簡単な説明】
【0010】
【
図1】従来のI/O接続部の構成例を示す図である。
【
図2】本開示の第1の実施形態に係る制御システムの構成例を示す図である。
【
図3A】本開示の第1の実施形態に係るI/O出力情報の一例を示す図である。
【
図3B】本開示の第1の実施形態に係るI/O出力情報の一例を示す図である。
【
図4】本開示の第1の実施形態に係るフィルタリング処理の処理手順の一例を示す図である。
【
図5】本開示の第1の実施形態に係る異常検出処理の処理手順の一例を示す図である。
【
図6】本開示の第2の実施形態に係る制御システムの構成例を示す図である。
【
図7A】本開示の第2の実施形態に係る制御部グループ情報の一例を示す図である。
【
図7B】本開示の第2の実施形態に係る制御部グループ情報の一例を示す図である。
【
図7C】本開示の第2の実施形態に係る制御部グループ情報の一例を示す図である。
【
図8】本開示の第2の実施形態に係るフィルタリング処理の処理手順の一例を示す図である。
【
図9】本開示の第2の実施形態に係る制御システムの他の構成例を示す図である。
【
図10】本開示の第3の実施形態に係る制御システムの構成例を示す図である。
【
図11】本開示の第4の実施形態に係る制御システムの構成例を示す図である。
【
図12】本開示の第5の実施形態に係る制御システムの構成例を示す図である。
【発明を実施するための形態】
【0011】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。説明は、以下の順に行う。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
1.従来の構成
2.第1の実施形態
3.第2の実施形態
4.第3の実施形態
5.第4の実施形態
6.第5の実施形態
【0012】
(1.従来の構成)
図1は、従来のI/O接続部の構成例を示す図である。同図は、前述の専用コントローラの構成例を表した図である。専用コントローラ100は、制御部110と、I/O接続部120と、I/O出力定義情報保持部130とを備える。なお、同図には、I/O出力デバイス51及び52を更に記載した。このI/O出力デバイス51及び52は、アクチュエータ、バルブ等の操作機器である。
【0013】
制御部110は、制御機能を実行し、制御した結果としてI/O出力情報を生成するものである。この制御部110は、生成したI/O出力情報をもとに、I/O接続部120へI/O出力要求を出す。I/O出力要求とは、I/O出力データ点のIDとその出力値のセットを複数個まとめたものである。I/O出力要求は、出力すべき全てのI/O出力デバイスに対して生成される。なお、I/O出力要求は定周期(以下、要求周期と称する)で出力される。
【0014】
I/O接続部120は、異常検出部121、代替I/O出力部122、I/O通信部123を備える。
【0015】
異常検出部121は、制御部110からI/O出力要求を受け取ったかを、要求周期に同期して監視する。この要求周期は、例えば、1000msである。異常検出部121は、受け取ったI/O出力要求をI/O通信部123に送出する。要求待ち時間以上待っても制御部からのI/O出力要求を受け取らない場合、異常検出部121は、I/O出力要求を行う唯一の制御部110が異常状態にあり、全てのI/O出力データ点に出力できないと判断する。この場合、異常検出部121は、I/O出力定義情報保持部130のI/O出力定義情報に定義された全てのI/O出力データ点のIDを指定して、代替I/O出力部122を呼び出す。要求待ち時間は、要求周期の整数倍にすることができる。例えば、要求待ち時間を要求周期の4倍の4000msにすることができる。監視方法については、例えば、制御部からのI/O出力要求を受け取るバッファが更新されたかを定周期にポーリングして監視する仕組みや、既定時間更新されなければ通知する仕組み(例えばウォッチドックタイマなど)を用いることができる。
【0016】
代替I/O出力部122は、指定された異常のI/O出力データ点に対して、出力値を安全値に強制的に設定して出力するものである。この代替I/O出力部122は、異常検出部121で異常が検出された全てのI/O出力データ点に対して、I/O出力定義情報の安全値を設定して作成したI/O出力要求をI/O通信部123に送出する。
【0017】
I/O通信部123は、受け取ったI/O出力要求の出力データをI/O種別毎に信号変換して、I/O出力デバイスに出力するものである。また、I/O通信部123は、I/O入力デバイスからの入力時には、入力信号をI/O種別毎に入力データに変換して、制御部110に送る。
【0018】
I/O出力定義情報は、各部が動作するのに必要な情報のことである。このI/O出力定義情報は、制御部110の情報とI/O出力データ点毎の情報とから構成される。異常発生時の安全値は、I/O出力データ点毎に登録される。I/O出力定義情報は、各部が動作する前に各部から参照できるメモリ領域等の保持部に配置され、各部が動作していても、動的に変更できる。
【0019】
同図の専用コントローラ100の動作について説明する。まず、制御部110は、要求周期毎にI/O出力要求を異常検出部121に送る。異常検出部121は、要求周期で動作し、制御部110が停止した場合や制御部110がI/O出力要求を送れない場合でも、定周期で動作する。更に、異常検出部121は、制御部110から受け取るI/O出力要求があるかを確認する。I/O出力要求がある場合には、異常検出部121は、I/O出力要求を中継してI/O通信部を呼び出す。一方、異常検出部121は、I/O出力要求を要求待ち時間以上待っているかを確認し、要求待ち時間以上待っている場合には、全てのI/O出力データ点のIDを指定して、代替I/O出力部122を呼び出す。
【0020】
代替I/O出力部122は、異常検出部121から呼び出された場合に動作する。代替I/O出力部122は、指定されたI/O出力データ点のI/O出力要求を作成し、I/O出力要求を指定してI/O通信部123を呼び出す。
【0021】
I/O通信部123は、異常検出部121及び代替I/O出力部122から呼び出された場合に動作し、I/O出力デバイス51及び52にI/O出力要求を送信する。
【0022】
I/O出力デバイス51及び52は、I/O通信部123からのI/O出力要求を受信することにより動作する。
【0023】
[従来技術の問題点]
オープン化されたプラント制御システムは、従来のプラント制御システムと同等の高い安全性や信頼性が求められる。そのために、ネットワーク対応I/O接続機器は、ネットワーク対応I/O接続機器から分離されてネットワーク上に複数存在する制御部からのI/O出力要求を受け取る。このため、ネットワーク対応I/O接続機器は、ネットワーク上の複数の制御部からのI/O出力要求を重複なく出力する必要がある。ネットワーク対応I/O接続機器の場合は同一のI/Oに対して異なる制御部のI/O出力要求を受けるケースが存在するためである。この重複する原因は、主に制御部のエンジニアリングにおける人為的ミスである。
【0024】
また、ネットワーク対応I/O接続機器は、ネットワーク上の複数の制御部からのI/O出力要求を監視し、I/O毎のフォールバックを行う必要がある。ここで、フォールバックとは、I/O接続部が、異常時にI/Oの出力値を強制的に安全値に設定して出力する機能を意味する。例えば、専用および汎用のコントローラの制御部や、ネットワーク対応I/O接続機器のネットワーク通信機能の異常によってI/O出力要求を伝えられない場合に、I/Oへの出力値を安全値に設定して出力する。このフォールバックにより、安全なプラント操業を維持することができる。
【0025】
(2.第1の実施形態)
[制御システムの構成]
図2は、本開示の第1の実施形態に係る制御システムの構成例を示す図である。同図は、制御システム1の構成例を表すブロック図である。制御システム1は、汎用コントローラ60及び61と、汎用ネットワーク40と、ネットワーク対応I/O接続機器10と、I/O出力デバイス51及びI/O出力デバイス52とを備える。
【0026】
汎用コントローラ60及び61は、制御機能を有する汎用機器である。この汎用コントローラ60及び61には、例えば、PCやワークステーション等が該当する。汎用コントローラ60は、制御部30を備える。汎用コントローラ61は、制御部31を備える。
【0027】
制御部30及び31は、プラント等におけるプロセス制御システムに含まれる。この制御部30及び31は、プラントに配置されたI/O出力デバイス51及び52の制御を行う。具体的には、センサ等の入力機器に該当するI/O入力デバイスからの入力に応じて、制御ロジックに従って操作出力を算出して、操作機器に該当するI/O出力デバイス51等に対して出力する。また、制御部30及び31は、汎用ネットワーク40に接続され、この汎用ネットワーク40を介して操作出力を含むI/O出力要求を出力する。なお、I/O出力要求は、制御部30等の自身の識別子である制御部ID及び操作出力の対象となるI/O出力デバイス51等を識別するI/O出力デバイス番号を更に含む構成にすることができる。
【0028】
I/O出力デバイス51及び52は、アクチュエータ及びバルブ等のプラントの操作を行う操作機器である。一方、センサ等の入力機器に該当するI/O入力デバイスは、制御部30等に対してセンサが検出した検出値等の入力値を入力する。また、操作機器に該当するI/O出力デバイス51等は、制御部30等からの操作出力(制御部30等により計算された演算結果の出力値を含む)に基づいて制御対象を操作する。
【0029】
ネットワーク対応I/O接続機器10は、ネットワーク通信部11と、I/O接続部12と、I/O出力定義情報保持部13とを備える。なお、ネットワーク通信部11は、プロトコルに依存せず、1対1のクライアント-サーバ通信でも、1対多のパブリッシャ-スクライバ通信でもかまわない。
【0030】
ネットワーク通信部11は、汎用ネットワーク40との間のやり取りを行うものである。同図のネットワーク通信部11は、制御部30等からのI/O出力要求を受信してI/O接続部12のフィルタリング部14に対して出力する。また、ネットワーク通信部11は、入力機器に該当するI/O入力デバイスからの入力値を汎用ネットワーク40を介して制御部30等に送信する。なお、ネットワーク通信部11は、受信部の一例である。
【0031】
I/O出力定義情報保持部13は、I/O出力情報を保持するものである。I/O出力情報の詳細については後述する。
【0032】
I/O接続部12は、制御部30及び31とI/O出力デバイス51及び52との間に配置されて双方向のデータのやり取りに必要な機能を提供するものである。I/O接続部12は、フィルタリング部14と、異常検出部15と、代替I/O出力部16と、I/O通信部17とを備える。
【0033】
同図の制御システム1では、複数の制御部(制御部30及び31)が汎用ネットワーク40を介して動作する。これに対応するため、I/O接続部12には、I/O出力要求の重複を回避するフィルタリング部14を追加している。また、
図1の異常検出部121の代わりに、複数の制御部(制御部30及び31)毎にI/O出力要求の異常検出を行う異常検出部15を配置した。
【0034】
従来技術(
図1の制御システム1)では制御部が1つであったが、本発明では複数の制御部(制御部30及び31)からのI/O出力要求を監視する。また、
図1の制御システム1の異常検出部121は制御部と同じ周期で同期して動作するのに対し、同図の異常検出部15は、制御部とは独立した独自の周期(以下、I/O出力周期と称する)で動作する。
【0035】
なお、同図には表示されていないが、ネットワーク通信部11は、I/O入力デバイスからの入力信号をI/O種別毎に入力データに変換して、必要とする制御部に送信する。この入力データを複数の制御部に同時に送ることは問題ない。
【0036】
フィルタリング部14は、ネットワーク通信部11から出力されたI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うものである。このフィルタリングは、I/O出力定義情報保持部13に保持されたI/O出力情報に基づいて行われる。
【0037】
異常検出部15は、フィルタリング部14から出力されたI/O出力要求の異常を検出するものである。この異常検出部15は、例えば、所定の期間である要求待ち時間に制御部30等がI/O出力要求を送信しない場合に異常を検出することができる。要求待ち時間は、上述のI/O出力情報に含まれる情報である。
【0038】
また、異常検出部15は、I/O出力要求の異常を検出した場合には、I/O出力デバイス51等に対して代替I/O出力要求を出力する。これは、異常検出部15が代替I/O出力部16を呼び出すことにより行うことができる。この代替I/O出力要求は、上述のI/O出力情報に含まれる代替操作出力を含む情報である。異常検出部15は、
図1の異常検出部121と異なり、複数の制御部30等からのI/O出力要求を監視する。
【0039】
I/O通信部17は、異常検出部15から出力されたI/O出力要求及び代替I/O出力要求のデータをI/O出力デバイス51等毎に信号変換して、出力するものである。
【0040】
[I/O出力情報]
図3A及び3Bは、本開示の第1の実施形態に係るI/O出力情報の一例を示す図である。同図は、3種類のI/O出力情報を表したものである。
【0041】
図3Aは、I/O出力情報のうち、I/O出力デバイス番号、I/O種別、代替操作出力及び制御部IDの対応関係を表す図である。「I/O出力デバイス番号」は、I/O出力デバイス51等を識別する番号である。
図2のI/O出力デバイス51及び52にI/O出力デバイス番号「1」及び「2」をそれぞれ割り当てることができる。「I/O種別」は、I/O出力デバイス51等の操作出力のデータ形式を表すものである。同図の「アナログ」はアナログ信号を表し、「デジタル」はデジタル信号を表す。「代替操作出力」は、代替操作出力を表す。この代替操作出力は、データの形式に沿った値が使用される。「制御部ID」は、制御部30等を識別するものである。同図は、制御部30等のIPアドレスを制御部IDとして使用する場合の例を表したものである。
図2の制御部30及び31に「172.18.32.1」及び「172.18.32.2」をそれぞれ割り当てることができる。
【0042】
図3Bは、I/O出力情報のうち、制御部30等毎の要求待ち時間を表す図である。「172.18.32.1」、「172.18.32.2」及び「172.18.32.3」の要求待ち時間は、それぞれ1000ms、2000ms及び2000msとなる。なお、要求待ち時間は、制御部毎に設定可能であり、例えば、I/O出力周期の整数倍等にする。
【0043】
[フィルタリング処理]
図4は、本開示の第1の実施形態に係るフィルタリング処理の処理手順の一例を示す図である。同図は、フィルタリング部14における処理の処理手順の一例を表す流れ図である。まず、ネットワーク通信部11がI/O出力要求を受信する(ステップS101)。ネットワーク通信部11は、受信したI/O出力要求をフィルタリング部14に対して出力する。次に、フィルタリング部14は、ネットワーク通信部11から出力されたI/O出力要求に含まれる制御部ID及びI/O出力デバイス番号が、I/O出力定義情報保持部13のI/O出力情報に登録された制御部ID及びI/O出力デバイス番号と一致するか否かを判断する(ステップS102)。これは、フィルタリング部14がI/O出力要求に含まれるI/O出力デバイス番号に基づいてI/O出力定義情報保持部13からI/O出力情報の読出しを行い、読み出したI/O出力情報に含まれる制御部IDと、I/O出力要求に含まれる制御部IDとを比較することにより行うことができる。
【0044】
この判断の結果、制御部IDが一致する場合には(ステップS102,Yes)、フィルタリング部14は、I/O出力要求を通過させる(ステップS103)。一方、制御部IDが一致しない場合には(ステップS102,No)、フィルタリング部14は、I/O出力要求を破棄する(ステップS104)。
【0045】
[異常検出処理]
図5は、本開示の第1の実施形態に係る異常検出処理の処理手順の一例を示す図である。同図は、異常検出部15における処理の処理手順の一例を表す流れ図である。異常検出部15は、異常検出処理の処理ループ1(ステップS111乃至116)を実行する。この処理ループ1の終了条件は、全ての制御部について異常検出処理を行うことである。異常検出部15は、制御部30等のうちの1つを選択し、選択した制御部30等である対象制御部からI/O出力要求を受信したかを判断する(ステップS112)。その結果、I/O出力要求を受信した場合には(ステップS112,Yes)、異常検出部15は、受け取ったI/O出力要求をI/O通信部17に対して出力し(ステップS115)、ステップS116に移行する。
【0046】
ステップS112において、対象制御部のI/O出力要求を受信していない場合には(ステップS112,No)、異常検出部15は、対象制御部の要求待ち時間が経過したかを判断する(ステップS113)。その結果、要求待ち時間の経過前の場合には(ステップS113,No)、異常検出部15は、ステップS116に移行する。
【0047】
一方、ステップS113において、要求待ち時間の経過後の場合には(ステップS113,Yes)、異常検出部15は、I/O出力定義情報保持部13から読み出した代替操作出力を含む代替I/O出力要求をI/O通信部17に対して出力し(ステップS114)、ステップS116に移行する。
【0048】
ステップS116において、全ての制御部について異常検出処理を行った場合には、処理ループ1を終了する(ステップS116)。その後、異常検出部15は、処理を終了する。
【0049】
上述のように、ネットワーク対応I/O接続機器10は、フィルタリングを行って不正なI/O出力要求を除去し、正規のI/O出力要求のみをI/O出力デバイス51等に伝達することができる。人為的ミス等により、同じI/O出力デバイス51等を制御する他の制御部が汎用ネットワーク40を介して接続されて、同一のI/O出力デバイス51等に対してI/O出力要求を送信する場合であっても、不正なI/O出力要求を除去することができる。
【0050】
このように、本開示の第1の実施形態のネットワーク対応I/O接続機器10は、フィルタリング行って正規のI/O出力要求のみをI/O出力デバイス51等に伝達する。このようなネットワーク対応I/O接続機器10が介在することにより、汎用ネットワーク40を介して接続される複数の制御部(制御部30及び31)によるI/O出力デバイス51等の制御が可能となる。
【0051】
(3.第2の実施形態)
本開示の第2の実施形態では、冗長性を持たせるために複数の制御部を備える制御システム1について提案する。オープン化プラント制御システムにおいても、従来のプラント制御システムと同様に制御機能やネットワーク経路の故障に対して、高い信頼性が求められる。オープン化されたプラント制御システムは、冗長化構成を取る専用コントローラの制御機能と同等の信頼性を構築する必要がある。これには、汎用コントローラの制御機能に対する冗長化及び汎用コントローラとのネット経路に対する冗長化が必要である。
【0052】
汎用コントローラの制御機能に対する冗長化には、汎用コントローラが故障などの障害によってダウンしても、同一の制御機能が動作している他の汎用コントローラを用意することによってI/O出力要求を代わりに送出する仕組みが該当する。
【0053】
汎用コントローラとのネット経路に対する冗長化には、汎用コントローラからネットワーク対応I/O接続機器までのネットワーク経路が切断等によって通信できない場合でも、異なるネットワーク経路を経由した他の汎用コントローラからのI/O出力要求を受け取ることができる仕組みが該当する。ここで、独立したネットワーク経路とは、ネットワークケーブルやネットワーク機器だけでなく、ネットワーク対応I/O接続機器のNICカードを汎用コントローラの接続毎に用意することを含むものである。
【0054】
[制御システムの構成]
図6は、本開示の第2の実施形態に係る制御システムの構成例を示す図である。同図は、
図2と同様に、制御システム1の構成例を表すブロック図である。同図のネットワーク対応I/O接続機器10は、I/O出力定義情報保持部13、フィルタリング部14及び異常検出部15の代わりに冗長化対応I/O出力定義情報保持部20、冗長化対応フィルタリング部18及び異常検出部19を備える点で、
図2のネットワーク対応I/O接続機器10と異なる。異常検出部19は、各制御部グループに対して異常検出を行う。
【0055】
なお、第1の実施形態とは異なり、制御部30及び31は、二重化の冗長化構成を取る。制御部30及び31は、定周期の処理内容は同じである。同図には表示されていないが、ネットワーク通信部11は、I/O入力デバイスからの入力信号を入力データに変換して、制御部30及び31に同時に送る。また、制御部30及び31は、後述する同じ制御部グループに所属し、同じ時刻に開始した同じ周期の定周期動作を行う。従って、制御部30及び31は、同じ内容の定周期処理をお互いに同期して実行することができる。
【0056】
冗長化対応I/O出力定義情報保持部20は、制御部グルーブ情報を保持するものである。冗長化対応I/O出力定義情報保持部20は、保持した制御部グループ情報を冗長化対応フィルタリング部18に対して出力する。
【0057】
ここで、制御部グループ情報は、同じI/O出力デバイス51等にI/O出力要求を送信する複数の制御部を含むグループである。同図の制御システム1においては、制御部30及び31が同じ制御部グループに含まれるものと想定する。同じ制御部グループに属する制御部は、共通の要求周期(以下、グループ要求周期と称する)に同期してI/O出力要求を送信する。
【0058】
同図の冗長化対応フィルタリング部18は、制御部グループ毎にフィルタリングを行う。具体的には、同図の冗長化対応フィルタリング部18は、制御部グループ毎のグループ要求周期に基づいてI/O出力要求を選択して出力する第2のフィルタリングを更に行う。この第2のフィルタリングには、例えば、グループ要求周期に受信した同じ前記操作出力を含む複数のI/O出力要求のうち最初のI/O出力要求を選択して出力するフィルタリングが該当する。なお、冗長化対応フィルタリング部18は、フィルタリング部の一例である。
【0059】
第2のフィルタリングについて詳細に説明する。制御部30及び31及び汎用ネットワーク40が正常な場合には、グループ要求周期毎に同一内容のI/O出力要求が送信されてネットワーク通信部11により受信される。この場合、冗長化対応フィルタリング部18は、制御部30及び31がそれぞれ送信したI/O出力要求のうち最初のものを異常検出部19に対して出力し、最初でないI/O出力要求を破棄する。
【0060】
また、同図の冗長化対応フィルタリング部18は、
図8において後述するように、2つの事象によって待ち状態から実行に切り替わる。この2つの事象とは、I/O出力要求の受信(
図8のステップS151の分岐のYes)と、制御部グループ毎のグループ要求周期に同期した定周期タイマのタイムアウト(
図8のステップS151の分岐のNo)である。
図8のステップS161で、タイムアウト時に本周期の要求受信記録をクリアする理由は、タイムアウト後に受信するI/O出力要求を次周期の最初の要求だと判断するためである。
【0061】
冗長化対応フィルタリング部18は、周期開始からの経過時間を出力要求受信時刻から容易に算出できるように、例えば、OSの提供する定周期タイマを制御部31等の要求周期に同期させて使用する。本実施例では、定周期タイマと制御部31及び制御部32の要求周期とは、時刻の秒単位がちょうど0秒の定時に開始するように設定することができる。また、定周期タイマのタイムアウトが、どの制御部グループのグループ要求周期か分かるように、例えば、制御部グループ毎に異なるIDの定周期タイマを割り当てても良い。
【0062】
制御部30及び31のうち一方が正常で他方が異常(停止)状態の場合や制御部30及び31につながる汎用ネットワーク40の一方が切断された場合には、制御部30及び31のうちの一方からグループ要求周期毎に送信されたI/O出力要求を異常検出部19に対して出力する。
【0063】
制御部30及び31の両方が異常(停止)状態の場合や制御部30及び31につながる汎用ネットワーク40が両方切断された場合には、制御部30及び31からグループ要求周期毎のI/O出力要求が送信されない。この場合には、異常検出部19において異常が検出される。この場合は、第1の実施形態と同様に、異常検出部19が、代替I/O出力要求を行う。
【0064】
また、同図の異常検出部19は、制御部グループ毎に異常を検出する。なお、異常検出部19は、異常検出部の一例である。
【0065】
[制御部グループ情報]
図7A-7Cは、本開示の第2の実施形態に係る制御部グループ情報の一例を示す図である。同図は、3種類のI/O出力情報を表したものである。
【0066】
図7Aは、制御部グループ情報のうち、制御部ID及び制御部グループの対応関係を表す図である。「制御部グループID」は、制御部グループを識別する番号である。「制御部ID」は、
図3Aの「制御部ID」と同様である。制御部30及び31には、制御部グループID「1」が割り当てられる。なお、制御部グループID「2」は、シングル構成の制御部に対応するものである。
【0067】
図7Bは、制御部グループ情報のうち、I/O出力デバイス番号、I/O種別、代替操作出力及び制御部グループIDの対応関係を表す図である。
図3Aの「制御部ID」の代わりに「制御部グループID」が記載される。
【0068】
図7Cは、制御部グループ情報のうち、制御部グループID、グループ要求周期、経過許容時間及び要求待ち時間を表す図である。同図の「経過許容時間」は、制御部グループ毎の経過許容時間を表す。「要求待ち時間」は、制御部グループ毎の要求待ち時間を表す。
【0069】
[フィルタリング処理]
図8は、本開示の第2の実施形態に係るフィルタリング処理の処理手順の一例を示す図である。同図は、
図4と同様に、冗長化対応フィルタリング部18における処理の処理手順の一例を表す流れ図である。同図の処理は、I/O出力要求の他に、グループ要求周期毎の定周期タイマのタイムアウトにより起動される点で、
図4の処理と異なる。
図6の冗長化対応フィルタリング部18は、待機状態(待ち状態)から2つの要因により待ち状態が解除され、同図の処理を実行する。
【0070】
まず、冗長化対応フィルタリング部18は、待ち解除要因がI/O出力要求かを判断する(ステップS151)。その結果、待ち解除要因がI/O出力要求の場合には(ステップS151,Yes)、冗長化対応フィルタリング部18は、I/O出力要求を取り出す(ステップS152)。次に、冗長化対応フィルタリング部18は、冗長化対応I/O出力定義情報保持部20から制御部グループ情報を取得する(ステップS153)。これにより、冗長化対応フィルタリング部18は、制御部クループIDやグループ要求周期を取得する。次に、冗長化対応フィルタリング部18は、経過時間を算出する(ステップS154)。次に、冗長化対応フィルタリング部18は、経過時間が許容範囲かを判断する(ステップS155)。
【0071】
その結果、経過時間が許容範囲を超える場合には(ステップS155,No)、冗長化対応フィルタリング部18は、I/O出力要求を破棄し(ステップS158)、ステップS159の処理に移行する。
【0072】
一方、ステップS155において、経過時間が許容範囲内の場合には(ステップS155,Yes)、冗長化対応フィルタリング部18は、グループ要求周期の最初のI/O出力要求かを判断する(ステップS156)。ステップS157において後述するように、要求受信記録に「受信」とあれば、最初の受信ではない。その結果、最初のI/O出力要求でない場合には(ステップS156,No)、冗長化対応フィルタリング部18は、I/O出力要求を破棄し(ステップS158)、ステップS159の処理に移行する。
【0073】
一方、ステップS156において、最初のI/O出力要求の場合には(ステップS156、Yes)、冗長化対応フィルタリング部18は、要求受信記録に「受信」を記録し、I/O出力要求を異常検出部19に対して出力し(ステップS157)、ステップS159の処理に移行する。
【0074】
ステップS151において、待ち解除要因がI/O出力要求でない場合には(ステップS151,No)、冗長化対応フィルタリング部18は、制御部グループIDを取得し(ステップS160)、制御部グループの要求受信記録をクリアする(ステップS161)。
【0075】
ステップS159において、冗長化対応フィルタリング部18は、処理を停止し、待ち状態に戻る(ステップS159)。以上説明した処理により、フィルタリング処理を行うことができる。
【0076】
冗長化対応フィルタリング部18は、I/O出力要求の受信が、グループ要求周期内の経過許容時間よりも遅れて受信した場合に、当該I/O出力要求を異常と判断して破棄する。経過許容時間は、例えば、グループ要求周期の1/2の時間に設定することができる。具体的には、
図7Cに表したように、グループ要求周期が500msの場合に、経過許容時間を250msにすることができる。本実施例ではグループ要求周期が500msであるため、グループ要求周期内の経過時間は、受信時刻における1000ms未満の端数をグループ要求周期で除算した際の剰余として算出することができる。例えば、受信時刻が9時17分32秒700msの場合は、700/500=1と算出され、剰余が200となる。この200を経過時間として算出することができる。
【0077】
なお、冗長化対応フィルタリング部18の第2のフィルタリングは、この例に限定されない。例えば、冗長化対応フィルタリング部18は、制御部30及び31のI/O出力要求が揃うまで待機し、2つのI/O出力要求が一致する場合に、I/O出力要求を異常検出部19に出力する処理を第2のフィルタリングとして行うこともできる。この場合、2つのI/O出力要求が一致しない場合には、I/O出力要求を破棄する。
【0078】
[制御システムの他の構成]
図9は、本開示の第2の実施形態に係る制御システムの他の構成例を示す図である。同図は、
図6と同様に、制御システム1の構成例を表すブロック図である。同図の制御システム1は、制御部30及び31がそれぞれ異なる汎用ネットワークに接続される点で、
図6の制御システム1と異なる。
【0079】
制御部30は、汎用ネットワーク40を介してネットワーク対応I/O接続機器10と接続される。また、制御部31は、汎用ネットワーク41を介してネットワーク対応I/O接続機器10と接続される。また、同図のネットワーク対応I/O接続機器10は、
図6の第2の実施形態とは異なり、汎用ネットワーク41とのやり取りを行うネットワーク通信部21を更に備える。これにより、独立したネットワーク経路を2経路確保することができる。
【0080】
以上説明したように、制御システム1は、同じ制御部グループに含まれる制御部30及び31を同期して動作させる。また、ネットワーク対応I/O接続機器10は、I/O出力要求を制御部グループ毎にまとめて処理する。このため、同期してI/O出力デバイス51等を制御する2つの制御部(制御部30及び31)を備える場合であっても、I/O出力デバイス51等の制御が可能となる。また、2つの制御部(制御部30及び31)のうち、何れか一方が破損した場合や汎用ネットワーク40及び41の不調により何れか一方の制御部の通信が途絶えた場合であっても、他の制御部によりI/O出力デバイス51等の制御を続行することができる。
【0081】
これ以外の制御システム1の構成は本開示の第1の実施形態における制御システム1の構成と同様であるため、説明を省略する。
【0082】
このように、本開示の第2の実施形態の制御システム1は、2つの制御部(制御部30及び31)を備え、ネットワーク対応I/O接続機器10を介してI/O出力デバイス51等にI/O出力要求を伝達することにより、制御部を二重化することができる。制御システム1に冗長性を持たせることができ、信頼性を向上させることができる。
【0083】
(4.第3の実施形態)
上述の第2の実施形態の制御システム1は、2つの制御部を備えていた。これに対し、本開示の第3の実施形態の制御システム1は、3つの制御部を備える点で、上述の第2の実施形態と異なる。
【0084】
[制御システムの構成]
図10は、本開示の第3の実施形態に係る制御システムの構成例を示す図である。同図は、
図6と同様に、制御システム1の構成例を表すブロック図である。同図のネットワーク対応I/O接続機器10は、制御部32に更に接続される点で、
図6のネットワーク対応I/O接続機器10と異なる。
【0085】
同図の制御部30、31及び32は、同じ制御部グループに含まれる制御部である。すなわち、制御部30、31及び32は、同期して動作する。
【0086】
同図の冗長化対応フィルタリング部18は、制御部30、31及び32からのI/O出力要求に対してフィルタリングを行う。同図の冗長化対応フィルタリング部18は、複数の制御部(制御部30、31及び32)からのI/O出力要求に対して多数決に基づいてI/O出力要求を選択するフィルタリングを第2のフィルタリングとして行うことができる。具体的には、制御部30、31及び32からのI/O出力要求のうち2つのI/O出力要求の操作出力が一致する場合に、当該I/O出力要求を選択することができる。この場合、制御部30、31及び32のI/O出力要求の操作出力が全て異なる場合には、全てのI/O出力要求を破棄することとなる。この場合は、第1の実施形態と同様に、異常検出部19が、代替I/O出力要求を行う。
【0087】
これ以外の制御システム1の構成は本開示の第2の実施形態における制御システム1の構成と同様であるため、説明を省略する。
【0088】
このように、本開示の第3の実施形態の制御システム1は、3つの制御部30、31及び32を備えることにより、更に冗長性を向上させることができる。
【0089】
(5.第4の実施形態)
上述の第3の実施形態の制御システム1は、3つの制御部を備えていた。これに対し、本開示の第4の実施形態の制御システム1は、n(nは4以上の整数)個の制御部を備える点で、上述の第3の実施形態と異なる。
【0090】
[制御システムの構成]
図11は、本開示の第4の実施形態に係る制御システムの構成例を示す図である。同図は、
図10と同様に、制御システム1の構成例を表すブロック図である。同図のネットワーク対応I/O接続機器10は、n個の制御部(制御部30乃至34)を備える点で、
図10の制御システム1と異なる。
【0091】
同図の制御部30乃至34は、同じ制御部グループに含まれる制御部である。すなわち、制御部30乃至34は、同期して動作する。
【0092】
同図の冗長化対応フィルタリング部18は、制御部30乃至34からのI/O出力要求に対してフィルタリングを行う。同図の冗長化対応フィルタリング部18は、制御部30乃至34のI/O出力要求のうちの2つのI/O出力要求が一致する場合に、I/O出力要求を異常検出部19に出力する処理を第2のフィルタリングとして行うこともできる。この場合、制御部30乃至34のI/O出力要求の操作出力が全て異なる場合には、全てのI/O出力要求を破棄することとなる。この場合、第1の実施形態と同様に、異常検出部19が、代替I/O出力要求を出力する。
【0093】
また、同図の冗長化対応フィルタリング部18は、複数の制御部(制御部30乃至34)からのI/O出力要求に対して多数決に基づいてI/O出力要求を選択するフィルタリングを第2のフィルタリングとして行うこともできる。
【0094】
これ以外の制御システム1の構成は本開示の第3の実施形態における制御システム1の構成と同様であるため、説明を省略する。
【0095】
このように、本開示の第4の実施形態の制御システム1は、n個の制御部30乃至34を備えることにより、冗長性を更に向上させることができる。
【0096】
(6.第5の実施形態)
[制御システムの構成]
図12は、本開示の第5の実施形態に係る制御システムの構成例を示す図である。同図は、
図2と同様に、制御システム1の構成例を表すブロック図である。同図のネットワーク対応I/O接続機器10は、タイマ部22を備える点で、
図2の制御システム1と異なる。
【0097】
タイマ部22は、上述の要求待ち時間を計測するものである。このタイマ部22は、制御部30等毎に要求待ち時間を計測することができる。例えば、タイマ部22は、制御部30等毎にタイマを有する構成を採ることができる。また、タイマ部22は、経過時刻をタイマの情報として異常検出部15に対して出力する。
【0098】
また、タイマ部22は、時刻同期機能を備えてもよい。この時刻同期機能は、上記のネットワーク環境における時刻同期を制御する機能である。前述のように汎用コントローラ60及び61並びにネットワーク対応I/O接続機器10は、グループ要求周期毎にI/O出力要求をやり取りする。この複数の汎用コントローラ60等とネットワーク対応I/O接続機器10との間は、時刻同期機能により絶対時刻を同期させている。これにより、各機器の定時刻タイマや定周期タイマのタイムアウトをほぼ同時に発生させることができる。このため、同じ制御部グループの複数の制御部30等は、制御周期の各処理をほぼ同時に行うことができる。また、制御部30等とI/O接続部12との間において、グループ要求周期内の経過時間を同期して測定できるため、経過許容時間よりも遅いI/O出力要求を異常としてはじくことができる。時刻同期は、例えば、NTP(Network Time Protocol)を実装したSNTP(Simple Network Time Protocol)により行うことができる。
【0099】
これ以外の制御システム1の構成は本開示の第1の実施形態における制御システム1の構成と同様であるため、説明を省略する。
【0100】
なお、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
【0101】
開示される技術的特徴の組合せのいくつかの例を以下に記載する。
(1)
プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であって複数の制御部からネットワークを介して送信されるI/O出力要求を受信する受信部と、
前記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うフィルタリング部と、
前記I/O出力要求の異常を検出する異常検出部と、
前記異常が検出された場合に前記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信し、前記異常が検出されない場合に前記フィルタリング部から出力されたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力する出力部と
を有する装置。
(2)
前記異常検出部は、前記受信部が所定の期間に前記制御部からの前記I/O出力要求を受信しない場合に異常を検出する前記(1)に記載の装置。
(3)
前記フィルタリング部は、同じI/O出力デバイスに前記I/O出力要求を送信する複数の前記制御部を含む制御部グループ毎に前記フィルタリングを行う前記(1)又は(2)に記載の装置。
(4)
前記制御部グループに含まれる複数の制御部は、前記I/O出力要求を送信する周期であるグループ要求周期に同期して前記I/O出力要求を送信し、
前記フィルタリング部は、前記グループ要求周期に基づいて前記I/O出力要求を選択して出力する第2のフィルタリングを更に行う
前記(3)に記載の装置。
(5)
前記フィルタリング部は、前記グループ要求周期に受信した同じ前記操作出力を含む複数の前記I/O出力要求のうち最初のI/O出力要求を選択して出力するフィルタリングを前記第2のフィルタリングとして行う前記(4)に記載の装置。
(6)
前記フィルタリング部は、前記グループ要求周期に受信した複数の前記I/O出力要求において前記操作出力が一致する場合に、受信したI/O出力要求を出力するフィルタリングを前記第2のフィルタリングとして行う前記(4)に記載の装置。
(7)
前記フィルタリング部は、前記グループ要求周期に受信した複数の前記I/O出力要求において異なる前記操作出力が含まれる場合に、多数決に基づく前記操作出力を含む前記I/O出力要求を選択して出力するフィルタリングを前記第2のフィルタリングとして行う前記(4)に記載の装置。
(8)
前記フィルタリング部は、前記グループ要求周期に受信した複数の前記I/O出力要求において前記操作出力がそれぞれ異なる場合には受信したI/O出力要求を選択しない前記第2のフィルタリングを行う前記(7)に記載の装置。
(9)
プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であるI/O出力要求を送信する複数の制御部と、
ネットワークを介して前記I/O出力要求を受信する受信部と、
前記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うフィルタリング部と、
前記I/O出力要求の異常を検出する異常検出部と、
前記異常が検出された場合に前記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信し、前記異常が検出されない場合に前記フィルタリング部から出力されたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力する出力部と
を有するシステム。
(10)
プラントの操作を行うI/O出力デバイスに対する操作出力を含む要求であって複数の制御部からネットワークを介して送信されるI/O出力要求を受信することと、
前記受信したI/O出力要求のうち適正な制御部からのI/O出力要求を選択して出力するフィルタリングを行うことと、
前記I/O出力要求の異常を検出することと、
前記異常が検出された場合に前記I/O出力要求に対応するI/O出力デバイスに代替操作出力を含む要求である代替I/O出力要求を送信することと、
前記異常が検出されない場合に前記フィルタリングされたI/O出力要求を当該I/O出力要求に対応するI/O出力デバイスに出力することと
を含む方法。
【符号の説明】
【0102】
1 制御システム
10 ネットワーク対応I/O接続機器
11 ネットワーク通信部
14 フィルタリング部
13 I/O出力定義情報保持部
15、19 異常検出部
16 代替I/O出力部
17 I/O通信部
18 冗長化対応フィルタリング部
20 冗長化対応I/O出力定義情報保持部
30~34 制御部
40、41 汎用ネットワーク
51、52 I/O出力デバイス