システムの高い可用性のためにセンサデータを補間する方法、コンピュータプログラム、システム。
【課題】あるセンサから故障などの異常データが検知された場合であっても、システムの一部又は全部を停止させずに稼動を確保する。
【解決手段】複数のセンサ4と、プロキシ3と、サーバ5とを備えるシステムに適用される方法であり、複数のセンサが、各対象を計測し、各一次計測値を得るステップと、サーバが、前記各一次計測値に基づいて、それらの相関を演算するステップと、プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算するステップと、サーバが、所定のタイミングで複数のセンサのうち一部のセンサを順次検証するステップと、サーバが、複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と、相関とに基づいて、二次計測値の予測値を演算するステップと、少なくとも一部のセンサの検証中は、二次計測値の実測値に代わり、予測値を出力するステップとを備える。
【解決手段】複数のセンサ4と、プロキシ3と、サーバ5とを備えるシステムに適用される方法であり、複数のセンサが、各対象を計測し、各一次計測値を得るステップと、サーバが、前記各一次計測値に基づいて、それらの相関を演算するステップと、プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算するステップと、サーバが、所定のタイミングで複数のセンサのうち一部のセンサを順次検証するステップと、サーバが、複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と、相関とに基づいて、二次計測値の予測値を演算するステップと、少なくとも一部のセンサの検証中は、二次計測値の実測値に代わり、予測値を出力するステップとを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムの高い可用性を実現する技術に関し、特に、複数のセンサデータの一部が欠けても、残りのセンサデータを用いて欠けたデータを補間する技術に関する。
【背景技術】
【0002】
一般に制御系システム、とりわけ、産業制御システム(インダストリアル・コントロール・システム、ICS:例えば、ビル管理システム、発電制御システム、製造プラントシステムなど)ではシステムの可用性が重要となる。したがって、あるセンサから故障などの異常データが検知された場合であっても、システムの一部又は全部を停止させずに、できるだけ稼動を確保することが求められる。
【0003】
従来から、プラント等の産業制御システムを対象とする異常検知等を目的として、以下の特許文献1乃至3などの技術が提案されている。特許文献1では、監視対象設備の故障を早期且つ正確に検知することができる検知感度の高い遠隔監視システムを提供することを目的として、「遠隔監視システムは、監視対象のセンサ値を取得するセンサ情報取得部と、正常運転している際のセンサ値間における第一の相関関係を求め、当該第一の相関関係を、故障を検知する基本予測モデルとして構築し、一部のセンサのセンサ値間における第二の相関関係を求め、当該第二の相関関係を、設備の特定の故障に対して基本予測モデルより検知感度が高い特定故障用予測モデルとを構築する予測モデル構築部と、監視期間中、取得するセンサ値と、予測センサ値との差異に基づいて、設備の故障の有無を検知する故障検知部とを備え、予測モデル構築部は、基本予測モデルに基づいて設備の故障を検知すると、当該故障に対する検知感度が最大になるようなセンサの組み合わせを決定し、当該故障に対する特定故障用予測モデルを構築する」技術が開示されている。
【0004】
また、特許文献2では、回帰分析により化学プラントの状態を推定し、異常な状態が発生したと判定された場合には、自動的に異常の原因を特定することができる異常診断装置を提供することを目的として、「プラントの異常を診断するために、プラント内の測定対象を測定した測定値に基づいて回帰分析を行うことにより、異常検出対象の推定値を求め、該推定値を予め決められたしきい値と比較することにより異常発生を予測する異常診断装置であって、異常検出対象の推定値に大きく寄与している測定値を特定する測定値特定手段を備える」技術が開示されている。
【0005】
さらに、特許文献3では、産業プロセスおよび装置を監視するための改良された方法およびシステムを提供することを目的として、「少なくとも一つの産業プロセスおよび産業用検出器を監視する方法であって、複数の産業用検出器から時間的変動データを得るステップと、前記時間的変動データを処理して、異なる検出器からの検出器信号を比較し、時間相関を計算して、検出器信号の間のずれを決定することにより、前記複数の産業用検出器から蓄積されたデータの最適化された時間相関を取るステップと、前記時間相関により調整されたデータをサーチして該データの最大値と最小値を識別し、それにより前記産業用検出器からのデータの全範囲の値を決定するステップと、少なくとも1つの前記産業プロセスおよび前記産業用検出器の正常な稼働状態に関して学習された状態を決定して、該学習された状態を使用して前記産業プロセスの少なくとも1つの新しい観測結果および前記産業用検出器を結合して、少なくとも1つの稼働中の前記産業プロセスおよび前記産業用検出器の推定値を求めるステップと、前記推定値と前記産業プロセスの前記新しい観測結果とを比較して前記学習された状態の一つに最も近い少なくとも1つの前記産業プロセスおよび前記産業用検出器の現時点の状態を特定し、モデル化されたデータの集合を求めるステップと、前記モデル化されたデータを処理して該データのパターンを特定し、正常稼働の特性を示すパターンからの逸脱が検出された場合、警報を発するステップとから成ることを特徴とする産業プロセス監視方法」が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−135412号公報
【特許文献2】特開2010−218301号公報
【特許文献3】特許第3449560号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、これらの先行技術は、いずれも正確な異常検知を目的としたものであり、システム可用性を高めるとの視点に欠き、そのための手段を提供するものではない。
【0008】
本発明はこのような課題に鑑みてなされたものであり、その目的の一つは、あるセンサから故障などの異常データが検知された場合であっても、システムの一部又は全部を停止させずに、できるだけ稼動を確保する方法、コンピュータプログラム、システムを提供することにある。
【課題を解決するための手段】
【0009】
本発明を方法として把握すると、例えば、以下の通りとなる。すなわち、本発明は、少なくとも一部の計測値が互いに相関する複数のセンサと、プロキシと、サーバとを備えるシステムに適用される方法であり、前記複数のセンサが、各対象を計測し、経時的に各一次計測値を得るステップと、前記サーバが、前記各一次計測値に基づいて、それらの相関を演算するステップと、前記プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算するステップと、前記サーバが、所定のタイミングで前記複数のセンサのうち一部のセンサを順次検証するステップと、前記サーバが、前記複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算するステップと、少なくとも前記一部のセンサの検証中は、前記二次計測値の実測値に代わり、前記予測値を出力するステップとを備える方法である。
【0010】
また、前記検証するステップでは、異常センサを特定するまで、前記複数のセンサのうち一部のセンサを順次検証するように構成してもよいし、すべてのセンサを検証するまで、前記複数のセンサのうち一部のセンサを順次検証するように構成してもよい。また、前記検証するステップでは、異常センサを特定するまで、前記複数のセンサのうち一部のセンサを順次検証し、前記異常センサを特定することに応答して、前記サーバが、前記複数のセンサのうち前記異常センサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算するステップと、少なくとも前記異常センサの改修中は、前記予測値を出力するステップと
を更に備えるように構成することもできる。また、前記検証するステップでは、すべてのセンサを検証するまで、前記複数のセンサのうち一部のセンサを順次検証し、前記すべてのセンサの中に異常センサを特定しないことに応答して、前記出力するステップでは、前記予測値に代わり、前記二次計測値の実測値を出力するように構成することもできる。
【0011】
また、前記残りのセンサには、検証中のセンサは含まれないが、検証前のセンサ、検証済のセンサ、検証前のセンサ及び検証済のセンサを含むことができる。
【0012】
また、前記検証するステップでは、前記二次計測値の実測値に対する貢献のより大きいセンサから順に検証するように構成することができる。ここで、前記二次出力に対する貢献のより大きいセンサは、より多くのセンサと相関しているセンサとすることもできるし、前記複数のセンサ間の構造的な依存関係により決定することもできるし、LARSにより決定することもできる。また、前記検証するステップでは、前記実測値が所定の異常値であることに応答して、前記複数のセンサのうち一部のセンサを順次検証するように構成することもできる。
【0013】
また、前記システムは、複数のサブシステムから構成され、各サブシステムは前記プロキシと、前記複数のセンサとを備え、前記出力するステップでは、前記前記サーバが前記サブシステムへ前記予測値を出力するように構成することもできる。さらに、前記システムは、単一の上位サブシステムと複数の下位サブシステムから構成され、各下位サブシステムは前記プロキシと、前記複数のセンサとを備え、前記出力するステップでは、前記サーバが前記上位サブシステムへ前記予測値を出力するように構成することもできる。
【0014】
本発明をコンピュータプログラムとして把握すると、例えば、コンピュータを上記サーバとして機能させるためのコンピュータプログラムとすることができる。また、本発明をシステムとして把握すると、例えば、複数のセンサと、プロキシと、サーバとを備えるシステムであり、前記複数のセンサが、各対象を計測し、各一次計測値を得て、前記サーバが、前記各一次計測値に基づいて、それらの相関を演算し、前記プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算し、前記サーバが、所定のタイミングで前記複数のセンサのうち一部のセンサを順次検証し、前記サーバが、前記複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算し、前記サーバ又は前記プロキシが、少なくとも前記一部のセンサの検証中は、前記二次計測値の実測値に代わり、前記予測値を出力するシステムとすることができる。なお、前記システムは、ICSを含む制御システムでもよいし、情報システムでもよい。また、本発明をこれらコンピュータプログラム、システムとして把握した場合にも、上述した本発明を方法として把握した場合と実質的に同一の技術的特徴を備える事ができるのは当然である。
【発明の効果】
【0015】
本発明によれば、あるセンサから故障などの異常データが検知された場合であっても、システムの一部又は全部を停止させずに、できるだけ稼動を確保する方法、コンピュータプログラム、システムを提供することができる。また、高い可用性が確保されるため、データの異常を示す閾値を低く設定することができ、結果として、より正確に異常を検知することができる。
【図面の簡単な説明】
【0016】
【図1】図1は、本実施形態に係る産業制御システムのアーキテクチャを示すブロック図である。
【図2】図2は、本実施形態に係る産業制御システムの動作を説明するフローチャートである。
【図3】図3は、本実施形態に係る産業制御システムの動作を説明するものである。
【図4】図4は、従来の産業制御システムの動作を説明するものである。
【図5】図5は、検証対象となるセンサ4iの選択として、センサ間の相互関係を利用する態様を説明するものである。
【図6】図6は、検証対象となるセンサ4iの選択として、センサ間の構造的な依存関係を利用する態様を説明するものである。
【図7】図7は、検証対象となるセンサ4iの選択として、LARSを利用する態様を説明するものである。
【図8】図8は、実施例に係る産業制御システムの構成を説明するものである。
【図9】図9は、実施例に係る産業制御システムの動作を説明するものである。
【図10】図10は、本実施形態に係る分析サーバ5に対応するコンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0017】
実施形態 図1は、本実施形態に係る産業制御システム(ICS)のアーキテクチャを示すブロック図である。この産業制御システムは、そのサブシステムとして、単数の上位ICS1と、複数(3つ)の下位ICS21〜23とを備え、上位ICS1と各下位ICS21〜23とは接続されている。さらに、各下位ICS21〜23は、それぞれプロキシ31〜33を介して、複数のセンサ群41〜43と接続されている。これらのセンサ群41〜43は同種センサ群であってもよいし、異種センサ群であってもよい。さらに、本実施形態に係るICSは、分析サーバ5を備える。分析サーバ5は、(図示しないが)各プロキシ31〜33及び上位ICS1と接続されているが、上位ICS1の代わりに、各下位ICS21〜23と接続されていてもよい。また、分析サーバ5は、単一でもよいし、その機能により複数に分かれていてもよい。分析サーバ5のより具体的なハードウェア構成については、図10を参照して、後述する。
【0018】
なお、産業制御システムは、複数のコンピュータおよび複数の機器等が接続されたシステムである。産業制御システムは、一例として、工業システムおよびインフラストラクチャ(交通およびエネルギ等)システム等の各オブジェクトの管理および制御をするシステムである。産業制御システムは、一例として、一つのビル内のネットワークに接続された様々なデバイス(例えば、電気、ガス、水道、空調およびセキュリティシステム等)を管理するシステムである。また、産業制御システムは、一つの大きな制御システム内における一部分のシステムであってもよい。例えば、産業制御システムは、都市全体を管理するシステムを構成する部分的な管理システム(例えば、ビル管理システム、工場管理システム、水道管理システム、および電気管理システム等)であってもよい。また、産業制御システムは、一例として、オフィス内または家庭内のネットワークに接続された様々なデバイス(例えば電話機およびコピー機、等々)を管理するシステムであってもよい。
【0019】
図2は、本実施形態に係る産業制御システムの動作を説明するフローチャートである。また、図3は、本実施形態に係るサブシステム及び分析サーバ5の動作を説明する図である。また、図4は、比較のために、従来のサブシステムの動作を説明する図である。以下、これらの図を参照しながら、本実施形態に係るICSの基本的な動作を説明する。なお、図3、図4において、下位ICS2、プロキシ3、センサ群4は、下位ICS21〜23、プロキシ31〜33、複数のセンサ群41〜43のいずれかを表す。また、センサ群4はk個のセンサから構成される。
【0020】
まず、図3(a)に示す通常モードを説明する。まずセンサ群4からプロキシ3が各一次計測値v1〜vkを得る(図2ステップS10)。プロキシ3は、一方で、その各一次計測値v1〜vkと所定の関数Fとに基づいて二次計測値の実測値Vrを演算し(図2ステップS11)、その実測値Vrを出力値Voutとして下位ICS2へ出力する。下位ICS2は、その実測値Vrを出力値Voutとして、さらに上位ICS1へ出力する。プロキシ3は、他方で、得られた各一次計測値v1〜vkの経時的な変化を一定期間観測し、それら一次計測値v1〜vkの相関rを演算し(図2ステップS12)、記憶する。ここで、各センサからの一次計測値v1〜vk間の相関値をそれぞれ演算する。この相関関係は、後述の補間に用いる他、図5に示す検証対象となるセンサ4iの選択にも用いることができる。なお、関数Fは任意であるが、例えば、各一次計測値v1〜vkの単純平均を求める関数、加重平均を求める関数などを採用することができる。
【0021】
次に、センサの検証の要否が判断される(図2ステップS13)。例えば、定期的にセンサの検証を行うように構成してもよいし、或いは実測値Vrが所定の異常値であることを条件に、検証を行いように構成してもよい。また、検証モードをトリガーするのは、上位ICS1、下位ICS2、分析サーバ5のいずれでもよい。なお、検証が必要ない場合には、そのまま上記実測値Vrが出力値Voutとして、プロキシ3から下位ICS2へ、下位ICS2から上位ICS1へ出力され続ける(図2ステップS14)。
【0022】
次に、図3(b)に示す検証モードを説明する。まず検証対象である一部のセンサを選択する(図2ステップS20)。ここで、同時に検査対象となるセンサ4iは単数でも良いし、複数でもよいが、全体のセンサ群4に対して、十分に少ない数であることが望ましい。また、検証対象となるセンサ4iは、上記二次計測値の実測値に対する貢献がより大きいセンサから順に選択されるのだが、その詳細は図5〜図7を参照しつつ、後述する。一方で、選択された一部のセンサ4iが検証される(図2ステップS31)。検証の手法は任意であり、異常検知プログラムを実行することにより自動的にセンサを検証することもできるし、手作業により人がセンサを検証することもできるし、これらの組み合わせによりセンサを検証することもできる。センサの検証は、異常センサを特定するまで(図2ステップS35)、センサ群4に属する全てのセンサの検証が終了するまで(図2ステップS36)、検証対象を順次選択しながら、継続される。
【0023】
他方、検証中においては、分析サーバ5は、残りのセンサ(センサ群4に含まれるセンサのうち、検証中のセンサ4iを除くセンサであって、検証前のセンサ及び検証後異常が確認されなかったセンサの両方を含む)からの各一次計測値v1〜vlをプロキシ3を介して得る(図2ステップS32)。分析サーバ5は、これらの各一次計測値v1〜vlと上述の通常モードにおいて演算した相関rとに基づいて、検証中のセンサ4iからの一次計測値を補間する。補間には、周知の方法を採用することができる。例えば、図2ステップS12で示した相関から、検証中センサと相関の高いセンサ(検証中でないもの(検証前or検証後))の値で代用することができる、また、検証中でないセンサ値のみから、検証中センサの予測モデル(重回帰モデルなど)を通常データより算出し、それを利用することもできる。さらに、分析サーバ5は、得られた残りのセンサからの各一次計測値v1〜vl及び補完された検証中のセンサ4iからの一次計測値viと所定の関数Fとに基づいて、二次計測値の予測値Veを演算する(図2ステップS33)。分析サーバ5は、二次計測値の予測値Veを出力値Voutとして上位ICS1へ出力する(図2ステップS34)。なお、この場合、図3(b)に示すように、プロキシ3からの出力及び下位ICS2からの出力を停止(N/A)してもよいし、プロキシ3からの出力及び下位ICS2からの出力を停止せずに、上位ICS1において、下位ICS2からの出力を採用せず、分析サーバ5からの出力を採用するように構成してもよい。
【0024】
次に、図3(c)に示す改修モードを説明する。一方で、特定された異常センサが改修(修理や交換)される。ここで、同時に改修対象となるセンサ4jは単数の場合もあれば、複数の場合も想定されるが、全体のセンサ群4に対して、十分に少ない数であることが望ましい。他方、改修中においては、分析サーバ5は、残りのセンサ(センサ群4に含まれるセンサのうち、改修中のセンサ4jを除くセンサ)からの各一次計測値v1〜vmをプロキシ3を介して得る(図2ステップS42)。分析サーバ5は、これらの各一次計測値v1〜vmと上述の通常モードにおいて演算した相関rとに基づいて、改修中のセンサ4jからの一次計測値を補間する。さらに、分析サーバ5は、得られた残りのセンサからの各一次計測値v1〜vm及び補完された改修中のセンサ4jからの一次計測値vjと所定の関数Fとに基づいて、二次計測値の予測値Veを演算する(図2ステップS43)。分析サーバ5は、二次計測値の予測値Veを出力値Voutとして上位ICS1へ出力する(図2ステップS44)。なお、この場合、図3(c)に示すように、プロキシ3からの出力及び下位ICS2からの出力を停止(N/A)してもよいし、プロキシ3からの出力及び下位ICS2からの出力を停止せずに、上位ICS1において、下位ICS2からの出力を採用せず、分析サーバ5からの出力を採用するように構成してもよい。
【0025】
ここまでのまとめとして、図3に示す本実施形態に係る産業制御システムの動作と、図4に示す従来の産業制御システムの動作とを比較する。通常モードでは、本実施形態に係る上位ICS1も従来の上位ICSも、同様に出力値Voutとして二次計測値の実測値Vrを得る。しかし、検証モード、改修モードにおいては、従来の上位ICSは、出力値Voutを得ることができないが、本実施形態に係る上位ICS1は、出力値Voutとして二次計測値の予測値Veを得ることができる。つまり、検証時、改修時においても、システムの稼動を停止することなく、可用性を高めることができる。また、結果として、より正確な異常検知、より適切な改修を行うことができる。つまり、より正確な異常検知としては、可用性が確保されるため、異常検知のための閾値を下げることが可能となり、その結果として異常を検知する可能性が高まる。また、より適切な改修としては、貢献度の高いセンサから順に検証していくことで、リカバリの速度が早くなる(早期復旧)。
【0026】
ここで、検証対象となるセンサ4iの選択(図2ステップS20)について、より具体的に説明する。上述の通り、検証対象となるセンサ4iは、二次計測値の実測値に対する貢献がより大きいセンサから順に選択されるのだが、二次計測値の実測値に対する貢献のより大きいセンサは、より多くのセンサと相関しているセンサとすることもできるし(図5参照)、前記複数のセンサ間の構造的な依存関係により決定することもできるし(図6参照)、LARSにより決定することもできる(図7参照)。また、これらを組み合わせて決定することもできる。
【0027】
図5は、検証対象となるセンサ4iの選択(図2ステップS20)として、センサ間の相互関係を利用(図5ステップS21)する態様を説明するものである。すなわち、各センサにおいて、他のセンサとの相関の有無を線分で示し、その相関の高低をその線分の長さ(距離)で示す。ここでは、他の5つのセンサと相関のあるセンサを「中心センサ」、他の3つのセンサと相関のあるセンサを「準中心センサ」として、中心センサ、準中心センサの順に優先度を決定する(検証対象とする)。なお、同数の他のセンサと相関のあるセンサが複数ある場合には、より相関の高いセンサの順に優先度を決定する。
【0028】
図6は、検証対象となるセンサ4iの選択(図2ステップS20)として、センサ間の構造的な依存関係を利用(図6ステップS22)する態様を説明するものである。すなわち、各センサが配置される製造プロセスに着目し、製造プロセスのより上流側に配置されるセンサの優先度をより高く設定する。例えば、図6に示すように、鉄板工場の製造ライン上に上流側から下流側にかけて、加圧炉センサ、炉出口温度センサ、炉出口湿度センサ、板厚測定センサが設置される場合には、この順で検証対象とすることができる。
【0029】
図7は、検証対象となるセンサ4iの選択(図2ステップS20)として、LARS:LeastAngleRegressionの変数選択を利用(図7ステップS23)する態様を説明するものである。LARSにおいて、正則化パラメータを変化させることで回帰の説明変数の数を増減させることができる。一般に、変数の数が増加するに従い、予測の精度は上昇する。例えば、x1をバツマーク、x2を四角マーク、x3を丸マーク、x4を三角マークとして、x1を予測するモデルにおいて説明変数の数を増加させていった結果を図7の上に示す。ここでは、説明変数1つの場合、x3が最も精度の高い説明変数として選択される。説明変数が2つの場合は、x3,x4が選択され、その後x2が追加される。同様にx2の予測モデルにおける振る舞い(図7下)では、x3,x4,x1の順に説明変数としてモデルに追加されている。このため、x3,x4がx1,x2の予測モデルへの貢献が高いと判断され、x3,x4の順に優先して検証がなされる。したがって、x3、x4に対応するセンサを優先的に検証対象とするとよい。
【0030】
実施例 さらに具体的に、本発明を鉄板の熱圧延プロセスに適用する例を実施例として説明する。図8は、実施例に係る産業制御システムの構成を説明するものである。この実施例では、鉄板工場の製造ライン上に上流側から下流側にかけて、加圧炉センサ群40、炉出口温度センサ(図示せず)、炉出口湿度センサ(図示せず)、板厚測定センサ(図示せず)が設置される。加圧炉センサ群40は、炉内に4つ(#1〜#4)設けられている。各加圧炉センサからのデータは、プロキシ30を経て、その平均が出力値Voutとして炉コントロールシステム20へ出力される。炉コントロールシステム20からは、出力値Voutに応じたコントロールシグナルが出力され、炉内の燃料噴射装置61、62の動作をフィードバック制御している。このような鉄板の熱圧延制御システムを前提に、以下、板厚異常時の動作を説明する。
【0031】
図9は、実施例に係る産業制御システムの構成を説明するものである。板厚測定センサからのデータが異常値であることに応答して、炉コントロールシステム20は、通常モードから検証モードへと移行する(図2ステップS13参照)。一方で、加圧炉センサ群40の中から、順に検証対象のセンサが選択され、検証される。ここでは、加圧炉センサ間の相互関係から(図5参照)、優先順位(#3→#2→#4→#1)が決定される。例えば、最初に検証される加圧炉センサ40(#3)に故障を発見した場合には、かかるセンサの改修が次いで行われる。他方、センサの検証中、改修中にも、通常モードにおいて演算、記憶していた相関rに基づいて(図2ステップS12参照)、分析サーバ(図示せず)から出力値Voutとして予測値Vrが炉コントロールシステム20へ出力され続けるため(図2ステップS34、ステップS44参照)、鉄板の熱圧延プロセスを停止することなく、加圧炉センサ群40の検証・改修(図2ステップS31、ステップS41参照)を行うことができる。
【0032】
図10は、本実施形態に係る分析サーバ5に対応するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0033】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0034】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0035】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0036】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0037】
コンピュータ1900にインストールされ、コンピュータ1900を管理システム30として機能させるプログラムは、ワークフローデータベースモジュールと、応答データベースモジュールと、イベント解析モジュールと、通信管理モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、上述した分析サーバ5として機能させる。
【0038】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である分析サーバ5として機能する。そして、これらの具体的手段によって、本実施形態における分析サーバ5の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の産業制御システムが構築される。
【0039】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0040】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0041】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0042】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0043】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0044】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0045】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0046】
1…上位ICS、
2、20〜23…下位ICS、
3、30〜33…プロキシ、
4、40〜43…センサ群、
5…分析サーバ、
【技術分野】
【0001】
本発明は、システムの高い可用性を実現する技術に関し、特に、複数のセンサデータの一部が欠けても、残りのセンサデータを用いて欠けたデータを補間する技術に関する。
【背景技術】
【0002】
一般に制御系システム、とりわけ、産業制御システム(インダストリアル・コントロール・システム、ICS:例えば、ビル管理システム、発電制御システム、製造プラントシステムなど)ではシステムの可用性が重要となる。したがって、あるセンサから故障などの異常データが検知された場合であっても、システムの一部又は全部を停止させずに、できるだけ稼動を確保することが求められる。
【0003】
従来から、プラント等の産業制御システムを対象とする異常検知等を目的として、以下の特許文献1乃至3などの技術が提案されている。特許文献1では、監視対象設備の故障を早期且つ正確に検知することができる検知感度の高い遠隔監視システムを提供することを目的として、「遠隔監視システムは、監視対象のセンサ値を取得するセンサ情報取得部と、正常運転している際のセンサ値間における第一の相関関係を求め、当該第一の相関関係を、故障を検知する基本予測モデルとして構築し、一部のセンサのセンサ値間における第二の相関関係を求め、当該第二の相関関係を、設備の特定の故障に対して基本予測モデルより検知感度が高い特定故障用予測モデルとを構築する予測モデル構築部と、監視期間中、取得するセンサ値と、予測センサ値との差異に基づいて、設備の故障の有無を検知する故障検知部とを備え、予測モデル構築部は、基本予測モデルに基づいて設備の故障を検知すると、当該故障に対する検知感度が最大になるようなセンサの組み合わせを決定し、当該故障に対する特定故障用予測モデルを構築する」技術が開示されている。
【0004】
また、特許文献2では、回帰分析により化学プラントの状態を推定し、異常な状態が発生したと判定された場合には、自動的に異常の原因を特定することができる異常診断装置を提供することを目的として、「プラントの異常を診断するために、プラント内の測定対象を測定した測定値に基づいて回帰分析を行うことにより、異常検出対象の推定値を求め、該推定値を予め決められたしきい値と比較することにより異常発生を予測する異常診断装置であって、異常検出対象の推定値に大きく寄与している測定値を特定する測定値特定手段を備える」技術が開示されている。
【0005】
さらに、特許文献3では、産業プロセスおよび装置を監視するための改良された方法およびシステムを提供することを目的として、「少なくとも一つの産業プロセスおよび産業用検出器を監視する方法であって、複数の産業用検出器から時間的変動データを得るステップと、前記時間的変動データを処理して、異なる検出器からの検出器信号を比較し、時間相関を計算して、検出器信号の間のずれを決定することにより、前記複数の産業用検出器から蓄積されたデータの最適化された時間相関を取るステップと、前記時間相関により調整されたデータをサーチして該データの最大値と最小値を識別し、それにより前記産業用検出器からのデータの全範囲の値を決定するステップと、少なくとも1つの前記産業プロセスおよび前記産業用検出器の正常な稼働状態に関して学習された状態を決定して、該学習された状態を使用して前記産業プロセスの少なくとも1つの新しい観測結果および前記産業用検出器を結合して、少なくとも1つの稼働中の前記産業プロセスおよび前記産業用検出器の推定値を求めるステップと、前記推定値と前記産業プロセスの前記新しい観測結果とを比較して前記学習された状態の一つに最も近い少なくとも1つの前記産業プロセスおよび前記産業用検出器の現時点の状態を特定し、モデル化されたデータの集合を求めるステップと、前記モデル化されたデータを処理して該データのパターンを特定し、正常稼働の特性を示すパターンからの逸脱が検出された場合、警報を発するステップとから成ることを特徴とする産業プロセス監視方法」が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2006−135412号公報
【特許文献2】特開2010−218301号公報
【特許文献3】特許第3449560号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、これらの先行技術は、いずれも正確な異常検知を目的としたものであり、システム可用性を高めるとの視点に欠き、そのための手段を提供するものではない。
【0008】
本発明はこのような課題に鑑みてなされたものであり、その目的の一つは、あるセンサから故障などの異常データが検知された場合であっても、システムの一部又は全部を停止させずに、できるだけ稼動を確保する方法、コンピュータプログラム、システムを提供することにある。
【課題を解決するための手段】
【0009】
本発明を方法として把握すると、例えば、以下の通りとなる。すなわち、本発明は、少なくとも一部の計測値が互いに相関する複数のセンサと、プロキシと、サーバとを備えるシステムに適用される方法であり、前記複数のセンサが、各対象を計測し、経時的に各一次計測値を得るステップと、前記サーバが、前記各一次計測値に基づいて、それらの相関を演算するステップと、前記プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算するステップと、前記サーバが、所定のタイミングで前記複数のセンサのうち一部のセンサを順次検証するステップと、前記サーバが、前記複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算するステップと、少なくとも前記一部のセンサの検証中は、前記二次計測値の実測値に代わり、前記予測値を出力するステップとを備える方法である。
【0010】
また、前記検証するステップでは、異常センサを特定するまで、前記複数のセンサのうち一部のセンサを順次検証するように構成してもよいし、すべてのセンサを検証するまで、前記複数のセンサのうち一部のセンサを順次検証するように構成してもよい。また、前記検証するステップでは、異常センサを特定するまで、前記複数のセンサのうち一部のセンサを順次検証し、前記異常センサを特定することに応答して、前記サーバが、前記複数のセンサのうち前記異常センサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算するステップと、少なくとも前記異常センサの改修中は、前記予測値を出力するステップと
を更に備えるように構成することもできる。また、前記検証するステップでは、すべてのセンサを検証するまで、前記複数のセンサのうち一部のセンサを順次検証し、前記すべてのセンサの中に異常センサを特定しないことに応答して、前記出力するステップでは、前記予測値に代わり、前記二次計測値の実測値を出力するように構成することもできる。
【0011】
また、前記残りのセンサには、検証中のセンサは含まれないが、検証前のセンサ、検証済のセンサ、検証前のセンサ及び検証済のセンサを含むことができる。
【0012】
また、前記検証するステップでは、前記二次計測値の実測値に対する貢献のより大きいセンサから順に検証するように構成することができる。ここで、前記二次出力に対する貢献のより大きいセンサは、より多くのセンサと相関しているセンサとすることもできるし、前記複数のセンサ間の構造的な依存関係により決定することもできるし、LARSにより決定することもできる。また、前記検証するステップでは、前記実測値が所定の異常値であることに応答して、前記複数のセンサのうち一部のセンサを順次検証するように構成することもできる。
【0013】
また、前記システムは、複数のサブシステムから構成され、各サブシステムは前記プロキシと、前記複数のセンサとを備え、前記出力するステップでは、前記前記サーバが前記サブシステムへ前記予測値を出力するように構成することもできる。さらに、前記システムは、単一の上位サブシステムと複数の下位サブシステムから構成され、各下位サブシステムは前記プロキシと、前記複数のセンサとを備え、前記出力するステップでは、前記サーバが前記上位サブシステムへ前記予測値を出力するように構成することもできる。
【0014】
本発明をコンピュータプログラムとして把握すると、例えば、コンピュータを上記サーバとして機能させるためのコンピュータプログラムとすることができる。また、本発明をシステムとして把握すると、例えば、複数のセンサと、プロキシと、サーバとを備えるシステムであり、前記複数のセンサが、各対象を計測し、各一次計測値を得て、前記サーバが、前記各一次計測値に基づいて、それらの相関を演算し、前記プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算し、前記サーバが、所定のタイミングで前記複数のセンサのうち一部のセンサを順次検証し、前記サーバが、前記複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算し、前記サーバ又は前記プロキシが、少なくとも前記一部のセンサの検証中は、前記二次計測値の実測値に代わり、前記予測値を出力するシステムとすることができる。なお、前記システムは、ICSを含む制御システムでもよいし、情報システムでもよい。また、本発明をこれらコンピュータプログラム、システムとして把握した場合にも、上述した本発明を方法として把握した場合と実質的に同一の技術的特徴を備える事ができるのは当然である。
【発明の効果】
【0015】
本発明によれば、あるセンサから故障などの異常データが検知された場合であっても、システムの一部又は全部を停止させずに、できるだけ稼動を確保する方法、コンピュータプログラム、システムを提供することができる。また、高い可用性が確保されるため、データの異常を示す閾値を低く設定することができ、結果として、より正確に異常を検知することができる。
【図面の簡単な説明】
【0016】
【図1】図1は、本実施形態に係る産業制御システムのアーキテクチャを示すブロック図である。
【図2】図2は、本実施形態に係る産業制御システムの動作を説明するフローチャートである。
【図3】図3は、本実施形態に係る産業制御システムの動作を説明するものである。
【図4】図4は、従来の産業制御システムの動作を説明するものである。
【図5】図5は、検証対象となるセンサ4iの選択として、センサ間の相互関係を利用する態様を説明するものである。
【図6】図6は、検証対象となるセンサ4iの選択として、センサ間の構造的な依存関係を利用する態様を説明するものである。
【図7】図7は、検証対象となるセンサ4iの選択として、LARSを利用する態様を説明するものである。
【図8】図8は、実施例に係る産業制御システムの構成を説明するものである。
【図9】図9は、実施例に係る産業制御システムの動作を説明するものである。
【図10】図10は、本実施形態に係る分析サーバ5に対応するコンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0017】
実施形態 図1は、本実施形態に係る産業制御システム(ICS)のアーキテクチャを示すブロック図である。この産業制御システムは、そのサブシステムとして、単数の上位ICS1と、複数(3つ)の下位ICS21〜23とを備え、上位ICS1と各下位ICS21〜23とは接続されている。さらに、各下位ICS21〜23は、それぞれプロキシ31〜33を介して、複数のセンサ群41〜43と接続されている。これらのセンサ群41〜43は同種センサ群であってもよいし、異種センサ群であってもよい。さらに、本実施形態に係るICSは、分析サーバ5を備える。分析サーバ5は、(図示しないが)各プロキシ31〜33及び上位ICS1と接続されているが、上位ICS1の代わりに、各下位ICS21〜23と接続されていてもよい。また、分析サーバ5は、単一でもよいし、その機能により複数に分かれていてもよい。分析サーバ5のより具体的なハードウェア構成については、図10を参照して、後述する。
【0018】
なお、産業制御システムは、複数のコンピュータおよび複数の機器等が接続されたシステムである。産業制御システムは、一例として、工業システムおよびインフラストラクチャ(交通およびエネルギ等)システム等の各オブジェクトの管理および制御をするシステムである。産業制御システムは、一例として、一つのビル内のネットワークに接続された様々なデバイス(例えば、電気、ガス、水道、空調およびセキュリティシステム等)を管理するシステムである。また、産業制御システムは、一つの大きな制御システム内における一部分のシステムであってもよい。例えば、産業制御システムは、都市全体を管理するシステムを構成する部分的な管理システム(例えば、ビル管理システム、工場管理システム、水道管理システム、および電気管理システム等)であってもよい。また、産業制御システムは、一例として、オフィス内または家庭内のネットワークに接続された様々なデバイス(例えば電話機およびコピー機、等々)を管理するシステムであってもよい。
【0019】
図2は、本実施形態に係る産業制御システムの動作を説明するフローチャートである。また、図3は、本実施形態に係るサブシステム及び分析サーバ5の動作を説明する図である。また、図4は、比較のために、従来のサブシステムの動作を説明する図である。以下、これらの図を参照しながら、本実施形態に係るICSの基本的な動作を説明する。なお、図3、図4において、下位ICS2、プロキシ3、センサ群4は、下位ICS21〜23、プロキシ31〜33、複数のセンサ群41〜43のいずれかを表す。また、センサ群4はk個のセンサから構成される。
【0020】
まず、図3(a)に示す通常モードを説明する。まずセンサ群4からプロキシ3が各一次計測値v1〜vkを得る(図2ステップS10)。プロキシ3は、一方で、その各一次計測値v1〜vkと所定の関数Fとに基づいて二次計測値の実測値Vrを演算し(図2ステップS11)、その実測値Vrを出力値Voutとして下位ICS2へ出力する。下位ICS2は、その実測値Vrを出力値Voutとして、さらに上位ICS1へ出力する。プロキシ3は、他方で、得られた各一次計測値v1〜vkの経時的な変化を一定期間観測し、それら一次計測値v1〜vkの相関rを演算し(図2ステップS12)、記憶する。ここで、各センサからの一次計測値v1〜vk間の相関値をそれぞれ演算する。この相関関係は、後述の補間に用いる他、図5に示す検証対象となるセンサ4iの選択にも用いることができる。なお、関数Fは任意であるが、例えば、各一次計測値v1〜vkの単純平均を求める関数、加重平均を求める関数などを採用することができる。
【0021】
次に、センサの検証の要否が判断される(図2ステップS13)。例えば、定期的にセンサの検証を行うように構成してもよいし、或いは実測値Vrが所定の異常値であることを条件に、検証を行いように構成してもよい。また、検証モードをトリガーするのは、上位ICS1、下位ICS2、分析サーバ5のいずれでもよい。なお、検証が必要ない場合には、そのまま上記実測値Vrが出力値Voutとして、プロキシ3から下位ICS2へ、下位ICS2から上位ICS1へ出力され続ける(図2ステップS14)。
【0022】
次に、図3(b)に示す検証モードを説明する。まず検証対象である一部のセンサを選択する(図2ステップS20)。ここで、同時に検査対象となるセンサ4iは単数でも良いし、複数でもよいが、全体のセンサ群4に対して、十分に少ない数であることが望ましい。また、検証対象となるセンサ4iは、上記二次計測値の実測値に対する貢献がより大きいセンサから順に選択されるのだが、その詳細は図5〜図7を参照しつつ、後述する。一方で、選択された一部のセンサ4iが検証される(図2ステップS31)。検証の手法は任意であり、異常検知プログラムを実行することにより自動的にセンサを検証することもできるし、手作業により人がセンサを検証することもできるし、これらの組み合わせによりセンサを検証することもできる。センサの検証は、異常センサを特定するまで(図2ステップS35)、センサ群4に属する全てのセンサの検証が終了するまで(図2ステップS36)、検証対象を順次選択しながら、継続される。
【0023】
他方、検証中においては、分析サーバ5は、残りのセンサ(センサ群4に含まれるセンサのうち、検証中のセンサ4iを除くセンサであって、検証前のセンサ及び検証後異常が確認されなかったセンサの両方を含む)からの各一次計測値v1〜vlをプロキシ3を介して得る(図2ステップS32)。分析サーバ5は、これらの各一次計測値v1〜vlと上述の通常モードにおいて演算した相関rとに基づいて、検証中のセンサ4iからの一次計測値を補間する。補間には、周知の方法を採用することができる。例えば、図2ステップS12で示した相関から、検証中センサと相関の高いセンサ(検証中でないもの(検証前or検証後))の値で代用することができる、また、検証中でないセンサ値のみから、検証中センサの予測モデル(重回帰モデルなど)を通常データより算出し、それを利用することもできる。さらに、分析サーバ5は、得られた残りのセンサからの各一次計測値v1〜vl及び補完された検証中のセンサ4iからの一次計測値viと所定の関数Fとに基づいて、二次計測値の予測値Veを演算する(図2ステップS33)。分析サーバ5は、二次計測値の予測値Veを出力値Voutとして上位ICS1へ出力する(図2ステップS34)。なお、この場合、図3(b)に示すように、プロキシ3からの出力及び下位ICS2からの出力を停止(N/A)してもよいし、プロキシ3からの出力及び下位ICS2からの出力を停止せずに、上位ICS1において、下位ICS2からの出力を採用せず、分析サーバ5からの出力を採用するように構成してもよい。
【0024】
次に、図3(c)に示す改修モードを説明する。一方で、特定された異常センサが改修(修理や交換)される。ここで、同時に改修対象となるセンサ4jは単数の場合もあれば、複数の場合も想定されるが、全体のセンサ群4に対して、十分に少ない数であることが望ましい。他方、改修中においては、分析サーバ5は、残りのセンサ(センサ群4に含まれるセンサのうち、改修中のセンサ4jを除くセンサ)からの各一次計測値v1〜vmをプロキシ3を介して得る(図2ステップS42)。分析サーバ5は、これらの各一次計測値v1〜vmと上述の通常モードにおいて演算した相関rとに基づいて、改修中のセンサ4jからの一次計測値を補間する。さらに、分析サーバ5は、得られた残りのセンサからの各一次計測値v1〜vm及び補完された改修中のセンサ4jからの一次計測値vjと所定の関数Fとに基づいて、二次計測値の予測値Veを演算する(図2ステップS43)。分析サーバ5は、二次計測値の予測値Veを出力値Voutとして上位ICS1へ出力する(図2ステップS44)。なお、この場合、図3(c)に示すように、プロキシ3からの出力及び下位ICS2からの出力を停止(N/A)してもよいし、プロキシ3からの出力及び下位ICS2からの出力を停止せずに、上位ICS1において、下位ICS2からの出力を採用せず、分析サーバ5からの出力を採用するように構成してもよい。
【0025】
ここまでのまとめとして、図3に示す本実施形態に係る産業制御システムの動作と、図4に示す従来の産業制御システムの動作とを比較する。通常モードでは、本実施形態に係る上位ICS1も従来の上位ICSも、同様に出力値Voutとして二次計測値の実測値Vrを得る。しかし、検証モード、改修モードにおいては、従来の上位ICSは、出力値Voutを得ることができないが、本実施形態に係る上位ICS1は、出力値Voutとして二次計測値の予測値Veを得ることができる。つまり、検証時、改修時においても、システムの稼動を停止することなく、可用性を高めることができる。また、結果として、より正確な異常検知、より適切な改修を行うことができる。つまり、より正確な異常検知としては、可用性が確保されるため、異常検知のための閾値を下げることが可能となり、その結果として異常を検知する可能性が高まる。また、より適切な改修としては、貢献度の高いセンサから順に検証していくことで、リカバリの速度が早くなる(早期復旧)。
【0026】
ここで、検証対象となるセンサ4iの選択(図2ステップS20)について、より具体的に説明する。上述の通り、検証対象となるセンサ4iは、二次計測値の実測値に対する貢献がより大きいセンサから順に選択されるのだが、二次計測値の実測値に対する貢献のより大きいセンサは、より多くのセンサと相関しているセンサとすることもできるし(図5参照)、前記複数のセンサ間の構造的な依存関係により決定することもできるし(図6参照)、LARSにより決定することもできる(図7参照)。また、これらを組み合わせて決定することもできる。
【0027】
図5は、検証対象となるセンサ4iの選択(図2ステップS20)として、センサ間の相互関係を利用(図5ステップS21)する態様を説明するものである。すなわち、各センサにおいて、他のセンサとの相関の有無を線分で示し、その相関の高低をその線分の長さ(距離)で示す。ここでは、他の5つのセンサと相関のあるセンサを「中心センサ」、他の3つのセンサと相関のあるセンサを「準中心センサ」として、中心センサ、準中心センサの順に優先度を決定する(検証対象とする)。なお、同数の他のセンサと相関のあるセンサが複数ある場合には、より相関の高いセンサの順に優先度を決定する。
【0028】
図6は、検証対象となるセンサ4iの選択(図2ステップS20)として、センサ間の構造的な依存関係を利用(図6ステップS22)する態様を説明するものである。すなわち、各センサが配置される製造プロセスに着目し、製造プロセスのより上流側に配置されるセンサの優先度をより高く設定する。例えば、図6に示すように、鉄板工場の製造ライン上に上流側から下流側にかけて、加圧炉センサ、炉出口温度センサ、炉出口湿度センサ、板厚測定センサが設置される場合には、この順で検証対象とすることができる。
【0029】
図7は、検証対象となるセンサ4iの選択(図2ステップS20)として、LARS:LeastAngleRegressionの変数選択を利用(図7ステップS23)する態様を説明するものである。LARSにおいて、正則化パラメータを変化させることで回帰の説明変数の数を増減させることができる。一般に、変数の数が増加するに従い、予測の精度は上昇する。例えば、x1をバツマーク、x2を四角マーク、x3を丸マーク、x4を三角マークとして、x1を予測するモデルにおいて説明変数の数を増加させていった結果を図7の上に示す。ここでは、説明変数1つの場合、x3が最も精度の高い説明変数として選択される。説明変数が2つの場合は、x3,x4が選択され、その後x2が追加される。同様にx2の予測モデルにおける振る舞い(図7下)では、x3,x4,x1の順に説明変数としてモデルに追加されている。このため、x3,x4がx1,x2の予測モデルへの貢献が高いと判断され、x3,x4の順に優先して検証がなされる。したがって、x3、x4に対応するセンサを優先的に検証対象とするとよい。
【0030】
実施例 さらに具体的に、本発明を鉄板の熱圧延プロセスに適用する例を実施例として説明する。図8は、実施例に係る産業制御システムの構成を説明するものである。この実施例では、鉄板工場の製造ライン上に上流側から下流側にかけて、加圧炉センサ群40、炉出口温度センサ(図示せず)、炉出口湿度センサ(図示せず)、板厚測定センサ(図示せず)が設置される。加圧炉センサ群40は、炉内に4つ(#1〜#4)設けられている。各加圧炉センサからのデータは、プロキシ30を経て、その平均が出力値Voutとして炉コントロールシステム20へ出力される。炉コントロールシステム20からは、出力値Voutに応じたコントロールシグナルが出力され、炉内の燃料噴射装置61、62の動作をフィードバック制御している。このような鉄板の熱圧延制御システムを前提に、以下、板厚異常時の動作を説明する。
【0031】
図9は、実施例に係る産業制御システムの構成を説明するものである。板厚測定センサからのデータが異常値であることに応答して、炉コントロールシステム20は、通常モードから検証モードへと移行する(図2ステップS13参照)。一方で、加圧炉センサ群40の中から、順に検証対象のセンサが選択され、検証される。ここでは、加圧炉センサ間の相互関係から(図5参照)、優先順位(#3→#2→#4→#1)が決定される。例えば、最初に検証される加圧炉センサ40(#3)に故障を発見した場合には、かかるセンサの改修が次いで行われる。他方、センサの検証中、改修中にも、通常モードにおいて演算、記憶していた相関rに基づいて(図2ステップS12参照)、分析サーバ(図示せず)から出力値Voutとして予測値Vrが炉コントロールシステム20へ出力され続けるため(図2ステップS34、ステップS44参照)、鉄板の熱圧延プロセスを停止することなく、加圧炉センサ群40の検証・改修(図2ステップS31、ステップS41参照)を行うことができる。
【0032】
図10は、本実施形態に係る分析サーバ5に対応するコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0033】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0034】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0035】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0036】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0037】
コンピュータ1900にインストールされ、コンピュータ1900を管理システム30として機能させるプログラムは、ワークフローデータベースモジュールと、応答データベースモジュールと、イベント解析モジュールと、通信管理モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、上述した分析サーバ5として機能させる。
【0038】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である分析サーバ5として機能する。そして、これらの具体的手段によって、本実施形態における分析サーバ5の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の産業制御システムが構築される。
【0039】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0040】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0041】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0042】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0043】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0044】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0045】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0046】
1…上位ICS、
2、20〜23…下位ICS、
3、30〜33…プロキシ、
4、40〜43…センサ群、
5…分析サーバ、
【特許請求の範囲】
【請求項1】
複数のセンサと、プロキシと、サーバとを備えるシステムに適用される方法であり、
前記複数のセンサが、各対象を計測し、各一次計測値を得るステップと、
前記サーバが、前記各一次計測値に基づいて、それらの相関を演算するステップと、
前記プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算するステップと、
前記サーバが、所定のタイミングで前記複数のセンサのうち一部のセンサを順次検証するステップと、
前記サーバが、前記複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算するステップと、
少なくとも前記一部のセンサの検証中は、前記二次計測値の実測値に代わり、前記予測値を出力するステップと
を備える方法。
【請求項2】
前記検証するステップでは、異常センサを特定するまで、前記複数のセンサのうち一部のセンサを順次検証し、
前記異常センサを特定することに応答して、
前記サーバが、前記複数のセンサのうち前記異常センサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算するステップと、
少なくとも前記異常センサの改修中は、前記予測値を出力するステップと
を更に備える請求項1に記載の方法。
【請求項3】
前記検証するステップでは、すべてのセンサを検証するまで、前記複数のセンサのうち一部のセンサを順次検証し、
前記すべてのセンサの中に異常センサを特定しないことに応答して、
前記出力するステップでは、前記予測値に代わり、前記二次計測値の実測値を出力する請求項1に記載の方法。
【請求項4】
前記残りのセンサには、検証済のセンサが含まれる請求項1に記載の方法。
【請求項5】
前記検証するステップでは、前記二次計測値の実測値に対する貢献のより大きいセンサから順に検証する請求項1に記載のシステム。
【請求項6】
前記検証するステップでは、前記実測値が所定の異常値であることに応答して、前記複数のセンサのうち一部のセンサを順次検証する請求項1に記載の方法。
【請求項7】
前記システムは、単一の上位サブシステムと複数の下位サブシステムから構成され、
各下位サブシステムは前記プロキシと、前記複数のセンサとを備え、
前記出力するステップでは、前記サーバが前記上位サブシステムへ前記予測値を出力する請求項1に記載の方法。
【請求項8】
コンピュータを請求項1に記載のサーバとして機能させるためのコンピュータプログラム。
【請求項9】
複数のセンサと、プロキシと、サーバとを備えるシステムであり、
前記複数のセンサが、各対象を計測し、各一次計測値を得て、
前記サーバが、前記各一次計測値に基づいて、それらの相関を演算し、
前記プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算し、
前記サーバが、所定のタイミングで前記複数のセンサのうち一部のセンサを順次検証し、
前記サーバが、前記複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算し、
前記サーバ又は前記プロキシが、少なくとも前記一部のセンサの検証中は、(前記二次計測値の実測値に代わり)前記予測値を出力する
システム。
【請求項1】
複数のセンサと、プロキシと、サーバとを備えるシステムに適用される方法であり、
前記複数のセンサが、各対象を計測し、各一次計測値を得るステップと、
前記サーバが、前記各一次計測値に基づいて、それらの相関を演算するステップと、
前記プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算するステップと、
前記サーバが、所定のタイミングで前記複数のセンサのうち一部のセンサを順次検証するステップと、
前記サーバが、前記複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算するステップと、
少なくとも前記一部のセンサの検証中は、前記二次計測値の実測値に代わり、前記予測値を出力するステップと
を備える方法。
【請求項2】
前記検証するステップでは、異常センサを特定するまで、前記複数のセンサのうち一部のセンサを順次検証し、
前記異常センサを特定することに応答して、
前記サーバが、前記複数のセンサのうち前記異常センサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算するステップと、
少なくとも前記異常センサの改修中は、前記予測値を出力するステップと
を更に備える請求項1に記載の方法。
【請求項3】
前記検証するステップでは、すべてのセンサを検証するまで、前記複数のセンサのうち一部のセンサを順次検証し、
前記すべてのセンサの中に異常センサを特定しないことに応答して、
前記出力するステップでは、前記予測値に代わり、前記二次計測値の実測値を出力する請求項1に記載の方法。
【請求項4】
前記残りのセンサには、検証済のセンサが含まれる請求項1に記載の方法。
【請求項5】
前記検証するステップでは、前記二次計測値の実測値に対する貢献のより大きいセンサから順に検証する請求項1に記載のシステム。
【請求項6】
前記検証するステップでは、前記実測値が所定の異常値であることに応答して、前記複数のセンサのうち一部のセンサを順次検証する請求項1に記載の方法。
【請求項7】
前記システムは、単一の上位サブシステムと複数の下位サブシステムから構成され、
各下位サブシステムは前記プロキシと、前記複数のセンサとを備え、
前記出力するステップでは、前記サーバが前記上位サブシステムへ前記予測値を出力する請求項1に記載の方法。
【請求項8】
コンピュータを請求項1に記載のサーバとして機能させるためのコンピュータプログラム。
【請求項9】
複数のセンサと、プロキシと、サーバとを備えるシステムであり、
前記複数のセンサが、各対象を計測し、各一次計測値を得て、
前記サーバが、前記各一次計測値に基づいて、それらの相関を演算し、
前記プロキシが、前記各一次計測値と所定の関数とに基づいて、二次計測値の実測値を演算し、
前記サーバが、所定のタイミングで前記複数のセンサのうち一部のセンサを順次検証し、
前記サーバが、前記複数のセンサのうち検証対象の前記一部のセンサを除いた残りのセンサから得られる一次計測値と前記相関とに基づいて、前記二次計測値の予測値を演算し、
前記サーバ又は前記プロキシが、少なくとも前記一部のセンサの検証中は、(前記二次計測値の実測値に代わり)前記予測値を出力する
システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2012−242159(P2012−242159A)
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願番号】特願2011−110340(P2011−110340)
【出願日】平成23年5月17日(2011.5.17)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
【公開日】平成24年12月10日(2012.12.10)
【国際特許分類】
【出願日】平成23年5月17日(2011.5.17)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
[ Back to top ]