(58)【調査した分野】(Int.Cl.,DB名)
前記改善候補パターンは、関連イベントを基点イベントに対する原因側イベントと結果側イベントとに区別し、原因側イベントと結果側イベントのそれぞれについて属性および条件付確率の条件が定められることを特徴とする請求項1または2に記載のイベント解析装置。
【背景技術】
【0002】
プラントに分散配置されたフィールドコントローラ等の制御システムを用いてセンサやアクチュエータ等のフィールド機器群を制御する分散制御システム等において、プラントで発生したアラームやオペレータの操作等のイベントを取得し、解析するイベント解析装置が知られている。
【0003】
イベント解析装置では、各イベントの発生件数や頻度などを統計的に扱っており、プラントの操業担当者や操業コンサルタント等は、イベント解析装置を利用して、例えば、頻発するアラームや多く行なわれる操作等の情報を取得し、イベント全体の傾向を把握することで、プラントの操業改善や安全性の向上を図っている。
【0004】
近年では、単独のイベントの解析のみならず、複数の異なるイベント間の関係について解析する手法が提案されている。例えば、特許文献1には、収集したイベントログから、各イベントの個別発生確率とイベントの組み合わせ毎の同時発生確率とを算出し、得られた条件付確率に基づいてベイジアンネットワークを構築することが記載されている。
【0005】
ここで、ベイジアンネットワークは、因果関係を確率により記述するグラフィカルモデルの1つで、複雑な因果関係の推論を有向グラフ構造により表わすとともに、個々の変数の関係を条件付確率で表す確率推論のモデルである。
【0006】
図19は、イベントE1、E2、E3の因果的な特徴を表わしたベイジアンネットワークの例である。本図に示すように、ベイジアンネットワークは、各イベントがノードで示され、ノード同士が一方向の矢印で結ばれた形式で表わされる。ベイジアンネットワークにおいて、各ノードには、確率が付されており、矢印の終点となるノードには、親ノードとの間の条件付確率が付される。
【0007】
本図の例では、イベントE1が発生する確率は0.1%であり、イベントE2が発生する確率は0.2%であることが示されている。また、矢印の終点となるイベントE3については条件付確率が付されており、イベントE1、イベントE2がともに発生している場合にイベントE3が発生する確率は95%であること等が示されている。
【0008】
本例において、イベントE1に着目した場合、矢印の終点であるイベントE3は、結果側イベントであり、イベントE3に着目した場合、矢印の起点であるイベントE1とイベントE2とが原因側イベントとなる。
【0009】
ベイジアンネットワークからは、例えば、原因側イベントE1が発生したときに結果側イベントE3が発生する確率に加え、結果側イベントE3が発生したときに原因側イベントE1が発生していた確率も求めることができる。
【0010】
特許文献1に記載されたイベント解析装置は、ユーザが、着目したいイベントを指定すると、イベントログに基づいて、指定されたイベントに関連するイベントを抽出してベイジアンネットワークを生成し、関連するイベントとの因果関係を確率的に表示する。
【0011】
これにより、ユーザは、着目したいイベントの因果関係を把握し、必要に応じて、操作手順やアラーム設定の改善を行なうことができるようになる。例えば、因果関係が強く連鎖的に起きるアラーム群については、それらのアラーム群をまとめて扱うことでアラームの発生回数を減らすことができる。また、あるアラームの発生を原因とした特定の操作がある場合には、アラーム対応操作の自動化等を図ることができる。
【発明を実施するための形態】
【0021】
本発明の実施の形態について図面を参照して説明する。
図1は、本実施形態に係るイベント解析システム10の構成を示すブロック図である。本図に示すように、イベント解析システム10は、イベントログ収集装置20、イベントログデータベース30、イベント解析装置100を備えて構成される。イベント解析システム10は、複数台の機器で構成してもよいし、1台の機器で構成してもよい。
【0022】
イベントログ収集装置20は、イベントログ収集部21とイベントログ変換部22とを備えている。イベントログ収集部21は、プラントで稼働している制御システムやヒストリアンからイベントログを収集する。イベントログには、イベント発生した日時、イベントが発生した機器の識別子(タグ)、イベント種類の識別子等が含まれる。イベント種類は、そのイベントのカテゴリが「操作」であるのか「アラーム」であるかに区別される。ただし、区分するカテゴリは「操作」「アラーム」に限られない。
【0023】
イベントログ変換部22は、イベントログ収集部21が収集したイベントログをイベントログデータベース30に記録する。イベントログ変換部22は、イベントログを記録する際に、イベント解析装置100が行なう解析に適した形式にイベントログを変換する。
【0024】
具体的には、縦方向にイベントログの最小時間単位の時間軸を展開し、横方向に機器の識別子とイベント種類の識別子とを結合した項目を並べたマトリクスを作成する。そして、イベントログに含まれるイベントについて、発生した日時と発生した機器およびイベント種類とに対応するカラムにチェックを入力した形式に変換する。
【0025】
以降では、イベントログを変換したデータを「イベントマトリクス」と称し、機器とイベント種類との組み合わせを「イベント」と称する。例えば、機器「TAG1」で発生した「ALARM1」は、イベント「TAG1:ALARM1」と表わされる。すなわち、同じイベント種類であっても発生した機器が異なれば別のイベントとして扱うものとする。
【0026】
イベント解析装置100は、関連イベントグループ作成部110、因果関係モデル構築部120、パターン解析部130、表示部140、改善候補パターン受付部150を備えている。
【0027】
なお、イベント解析装置100は、パーソナルコンピュータ、サーバコンピュータ等の汎用的な情報処理装置を用いて構成することができる。すなわち、情報処理装置は、以下に説明するような処理を行なうためのコンピュータプログラムを実行することにより、イベント解析装置100として機能することができる。もちろん、イベント解析装置100は、専用装置として構成してもよい。
【0028】
関連イベントグループ作成部110は、イベントマトリクスに基づいて、イベント同士の関連度を算出し、関連イベントグループを各イベントについて作成する。ここで、関連イベントグループは、中心となるイベントと関連度の高いイベントとをグルーピングしたものである。中心となるイベントを基点イベントと称し、関連度の高いイベントを関連イベントと称する。
【0029】
因果関係モデル構築部120は、各関連イベントグループについて、イベントマトリクスに基づいてベイジアンネットワークによる確率付因果関係モデルを構築する。
【0030】
改善候補パターン受付部150は、改善候補パターン154の設定をユーザから受け付ける。ここで、改善候補パターン154は、改善候補とするイベントの条件を、基点イベントと関連イベントの属性および基点イベントと関連イベント間の条件付確率で定めたパターンである。
【0031】
パターン解析部130は、イベント毎の確率付因果関係モデルから、設定された改善候補パターンのいずれかに合致する確率付因果関係モデルを抽出する。
【0032】
表示部140は、パターン解析部130の解析結果や、操作メニュー等の表示制御を行ない、表示画像データを内蔵あるいは外部に接続された表示装置に出力する。
【0033】
次に、イベント解析システム10の動作について説明する。まず、イベントログ収集装置20の動作について
図2のフローチャートを参照して説明する。イベントログ収集部21は、所定の収集タイミングになると(S11:Yes)、制御システム、ヒストリアン等からイベントログを収集する(S12)。
【0034】
イベントログは、
図3に一例を示すように、イベントが発生した日時、機器識別子(タグ)、イベント識別子を含んでいる。本図の例では、2014年10月21日18時00分00秒に、機器「TAG1」で、アラーム「ALRM1」が発生し、同03秒に、機器「TAG2」に対して操作「OP1」を行なったこと等が示されている。イベントログを収集するタイミングは、一定周期、ユーザからの指示、所定のトリガー等とすることができ、あらかじめ定めておくようにする。
【0035】
イベントログを収集すると、イベントログ変換部22が、イベントログに基づいてイベントマトリクスを作成する(S13)。上述のように、イベントマトリクスは、縦方向にイベントログの最小時間単位の時間軸を展開し、横方向にイベントを並べたマトリクスを作成し、イベントログに含まれるイベントについて、発生した日時と発生した機器およびイベント種類とに対応するカラムにチェックを入力した形式に変換したものである。
【0036】
図4は、
図3に示したイベントログを変換したイベントマトリクスを示している。ここでは、イベントログの最小時間単位を1秒としているため、イベントマトリクスの縦方向は、1秒間刻みとなっている。また、横方向は、機器の識別子とイベント種類の識別子とを結合したイベントを並べるため、「TAG1:ALRM1」「TAG2:ALARM3」「TAG2:OP1」といったカラムが生成されている。実際には、横方向に、機器とイベント種類との組合わせ分のカラムが作成される。
【0037】
本例では、2014年10月21日18時00分00秒に、機器「TAG1」で、アラーム「ALRM1」が発生しているため、対応するカラムにチェック(「○」)が入力されている。同様に、2014年10月21日18時00分03秒に、機器「TAG2」に対して操作「OP1」が行なわれているため、対応するカラムにチェックが入力されている。
【0038】
イベントマトリクスを作成すると、イベントログ変換部22は、作成したイベントマトリクスをイベントログデータベース30に記録する(S14)。このとき、過去のデータも使用できるように、追加記録していくことが望ましい。そして、イベントログ収集部21が次の収集タイミングを待つ(S11)。
【0039】
次に、イベント解析装置100の動作について
図5のフローチャートを参照して説明する。本動作は、例えば、ユーザがイベント解析装置100に対してイベント解析指示を行なうことで開始する。
【0040】
本図に示すように、イベント解析装置100では、関連イベントグループを作成し(S100)、改善候補を抽出し(S200)、抽出された改善候補を表示する(S300)という一連の動作が行なわれる。
【0041】
まず、関連イベントグループ作成処理(S100)について、
図6のフローチャートを参照して説明する。関連イベントグループは、2つのイベントを組にしたイベントペアをすべての組合せについて作成して、各イベントペアの関連度を算出し、関連度の高いイベントペアでグルーピングを行なうことで作成する。
【0042】
ここで、ベイジアンネットワークの構築は確率を基にしているため、関連イベントグループ作成でも確率を基にした関連度を用いるものとする。確率を基にした関連度としては、相互情報量や情報量基準等が挙げられる。本発明はいずれも使用することができるが、以下では、相互情報量を関連度として用いた場合について説明する。
【0043】
なお、イベントXとイベントYとの相互情報量I(X,Y)は、イベントXの発生確率をp(x)、イベントYの発生確率をp(y)、イベントXとイベントYの同時発生確率をp(x,y)とすると[数1]で定義される。
【数1】
このように、相互情報量の算出には、各イベントの個別発生確率、イベント間の同時発生確率が必要となる。これらの確率を算出するため、本実施形態では、ある時間幅、例えば、10分、1時間等を基準時間幅として定める。すなわち、発生確率は、基準時間内に発生する確率を表わすものとしている。
【0044】
図6のフローチャートに示すように、関連イベントグループ作成部110は、イベントログデータベース30に記録されている最新のイベントマトリクスを参照する(S101)。そして、イベントマトリクスの時間軸の開始から終了までを基準時間幅で複数のブロックに分割する(S102)。
【0045】
なお、基準時間幅は、解析対象のプラントに応じて定めることができる。例えば、流量、圧力など遅れ要素がない機器が中心となるプラントを解析する場合は、基準時間幅は短くすることが望ましい。一方で、温度など一次遅れ要素がある機器が中心となるプラントを解析する場合は、基準時間幅を長くすることが望ましい。
【0046】
また、プラントに様々な機器が存在する場合には、単一の基準時間幅でなく、複数の基準時間幅を定めて、それぞれの時間幅に応じた関連度算出を行なうようにしてもよい。この処理を容易にするため、イベントマトリクスは、イベントログの最小時間単位で時間軸を展開している。
【0047】
処理対象のイベントを定め、各ブロックについて、対象のイベントが1回でも発生しているかどうかを判断し、イベントが発生しているブロック数をカウントする。そのカウント値を全期間のブロック数で割ることにより、対象のイベントについての発生確率を算出することができる。この処理を全イベントに対して行なうことで、
図7に示すような各イベントの個別発生確率を算出することができる(S103)。
【0048】
次に、2つのイベントを組み合せてイベントペアを作成し、両方のイベントとも発生しているブロック数をカウントする。そのカウント値を全期間のブロック数で割ることにより、対象のイベントペアについての同時確率を算出する。この処理をすべてのイベントペアに対して行なうことで、
図8に示すような各イベントペアの同時発生確率を算出することができる(S104)。
【0049】
そして、イベントの個別発生確率と、イベントペアの同時発生確率とから、イベントペア毎に相互情報量を算出する(S105)。相互情報量の算出は、[数1]にしたがって行なうことができる。
【0050】
すべてのイベントペアから、算出された相互情報量が所定の基準値以上のイベントペアを抽出する(S106)。抽出されたイベントペアは、イベント同士の関連性が強いと考えられるペアである。
図9は、抽出されたイベントペアの例を示している。本図の例では、イベントAとイベントBのイベントペア、イベントAとイベントCのイベントペア等が抽出されている。
【0051】
最後に、抽出されたイベントペアを、イベント毎にまとめて関連イベントグループを作成する(S107)。関連イベントグループは、イベント毎に作成する。例えば、
図10に示すように、イベントAについては、抽出されたイベントペアのうち、イベントAが含まれているイベントペアを対象に、イベントAと、イベントAのペア相手のイベントとを合わせてイベントAの関連イベントグループとする。
【0052】
ここで、イベントAを基点イベントと称し、他のイベントを関連イベントと称する。イベントB以降についても同様である。例えば、イベントAとイベントBのイベントペアが抽出された場合、イベントAを基点イベントとする関連イベントグループの関連イベントにイベントBが含まれ、イベントBを基点イベントとする関連イベントグループの関連イベントにイベントAが含まれることになる。
【0053】
本図の例では、イベントAを基点イベントとした関連イベントグループに、関連イベントとしてイベントB、イベントC、イベントG等が含まれ、イベントBを基点イベントとした関連イベントグループに、関連イベントとしてイベントA、イベントH、イベントG等が含まれている。また、イベントPのように関連イベントが存在しない関連イベントグループも存在し得る。
【0054】
次に、改善候補抽出処理(
図5:S200)について、
図11のフローチャートを参照して説明する。改善候補抽出処理(S200)では、改善候補パターン受付部150が、ユーザから改善候補パターン154の設定を受け付ける(S201)。なお、本処理は、関連イベントグループ作成処理(S100)に先立ち行なうようにしてもよい。
【0055】
上述のように、改善候補パターン154は、改善候補とするイベントの条件を、基点イベントと関連イベントの属性および基点イベントと関連イベント間の条件付確率で定めたパターンである。改善候補パターン154は複数個設定することができる。改善候補パターン154の詳細については、便宜上後述する。
【0056】
関連イベントグループ作成処理(S100)により、それぞれのイベントが基点イベントとなった関連イベントグループが作成されている。これらの関連イベントグループから、処理対象とする関連イベントグループを設定する(S202)。関連イベントグループは、任意の順序で設定することができる。
【0057】
因果関係モデル構築部120は、処理対象となった関連イベントグループについて因果関係モデル、すなわち、ベイジアンネットワークを構築する(S203)。ベイジアンネットワークは、従来の手法を用いて構築することができる。
【0058】
例えば、処理(S101)〜(S104)と同様にイベントマトリクスに基づいて各イベントの個別確率と各イベントペアの同時発生確率を算出する。そして、これらに基づいて各イベント間の条件付確率を算出してベイジアンネットワークを構築することができる。ここで、条件付確率は、イベントAが起きた場合にイベントBが起きる確率であり、イベントA、イベントBの個別発生確率と、イベントA、イベントBの同時発生確率とからベイズの定理により算出することができる。
【0059】
基点イベントとの関連度が高いイベントである関連イベントは、基点イベントに対する矢印の方向により基点イベントに対する原因側イベントと、基点イベントに対する結果側イベントに区分することができる。
【0060】
図12は、イベントAが基点イベントである関連イベントグループのベイジアンネットワークの例を示している。本図の例では、イベントB、イベントM、イベントKが原因側イベントとして区分けされ、イベントC、イベントN、イベントO、イベントG、イベントJが結果側イベントとして区分けされている。イベントM、イベントN、イベントOのように、基点イベントとの間に他の関連イベントが介在している場合もある。
【0061】
また、
図13(a)に示すように、基点イベントのみで関連イベントが存在しないベイジアンネットワークが生成される場合もある。各イベントは、操作かアラームの属性を有しているため、
図13(b)に示すように、原因側イベントの関連イベントがすべてアラームであり、結果側イベントの関連イベントがすべて操作であるようなベイジアンネットワークが生成される場合もある。
【0062】
なお、
図12、
図13では省略しているが、各矢印には条件付確率に関する情報が付されている。例えば、
図12において、イベントBが発生した場合にイベントAが発生する確率や、イベントAが発生したときに、イベントBが発生していた確率等である。
【0063】
次に、作成されたベイジアンネットワークが、処理(S201)で設定された改善候補パターン154のいずれかに合致しているかどうかを解析する(
図11:S204)。この処理は、パターン解析部130が行なう。
【0064】
ここで、改善候補パターン154について説明する。
図14は、改善候補パターン154の定義フォーマット例を説明する図である。本図に示すように、改善候補パターン154は、1)基点イベント、2)関連イベント、3)原因側イベント、4)結果側イベントを項目とした抽出条件を定義したものである。ただし、他の項目を用いて抽出条件を定義してもよい。
【0065】
改善候補パターン154で定められた抽出条件を満たすベイジアンネットワークの関連イベントグループが改善候補パターン154に合致するものとして、改善候補として抽出されることになる。
【0066】
1)基点イベントは、基点イベントの属性がアラームであるか操作であるかの条件を示す。2)関連イベントは、関連イベントとして含まれる複数のイベントの属性の条件を示す。例えば、「アラームのみ」「アラームのみ or 不存在」「操作のみ」「無条件」等を設定することができる。ここで、「不存在」は、関連イベントが存在しないことを条件としたものであり、「無条件」は、関連イベントの属性は条件とせずに、どちらでもよいことを表わしている。
【0067】
3)原因側イベントは、原因側の関連イベントの属性および条件付確率に関する条件であり、属性についての「アラームのみ」「アラームのみ or 不存在」「操作のみ」「無条件」等という条件に加えて、条件付確率の条件を設定することができる。
【0068】
条件付確率の条件は、例えば、原因側イベントが発生したときに基点イベントが発生する確率が基準値以上であるという条件、基点イベントが発生したときに原因側イベントが発生していた確率が基準値以上であるという条件、原因側イベントが発生したときに基点イベントが発生する確率と基点イベントが発生したときに原因側イベントが発生していた確率の両方が基準値以上であるという条件、無条件等を設定することができる。原因側イベントが複数ある場合には、すべての原因側イベントが条件を満たしている必要があるものとする。基準値については適宜調整することができる。
【0069】
4)結果側イベントは、結果側の関連イベントの属性および条件付確率に関する条件であり、属性についての「アラームのみ」「アラームのみ or 不存在」「操作のみ」「無条件」等という条件に加えて、条件付確率の条件を設定することができる。
【0070】
条件付確率の条件は、例えば、基点イベントが発生したときに結果側イベントが発生する確率が基準値以上であるという条件、結果側イベントが発生したときに基点イベントが発生していた確率が基準値以上であるという条件、基点イベントが発生したときに結果側イベントが発生する確率と結果側イベントが発生したときに基点イベントが発生していた確率の両方が基準値以上であるという条件、無条件等を設定することができる。結果側イベントが複数ある場合には、すべての結果側イベントが条件を満たしている必要があるものとする。基準値については適宜調整することができる。
【0071】
例えば、改善候補のイベントの例としてアラーム対応操作が挙げられる。アラーム対応操作は、あるアラームの発生を原因とした特定の操作であり、例えば、プラントの状態を復帰させるための操作である。このような基点イベントの関連イベントグループを改善候補として抽出することで、アラーム対応操作の自動化やアラームの設定見直しを図り、オペレータの負荷を低減させることができる。
【0072】
図15(a)は、アラーム対応操作に対応した改善候補パターン154の例を示し、
図15(b)は、このパターンに合致するベイジアンネットワークの例を示している。アラーム対応操作に対応した改善候補パターン154では、1)基点イベントとして「操作」を条件とし、3)原因側イベントとして「アラームのみ」であり、基点イベントが発生したときに原因側イベントが発生していた確率が基準値以上であることを条件としている。2)関連イベント、4)結果側イベントについては、判定に不要であるため、条件を問わない。
【0073】
また、改善候補のイベントの例として放置アラームが挙げられる。放置アラームは、アラームが発生しているにも関わらず、対応操作がとられていないアラームである。このような基点イベントの関連イベントグループを改善候補として抽出することで、アラーム設定の削除や設定見直し等の検討を行なうことができる。
【0074】
図16(a)は、放置アラームに対応した改善候補パターン154の例を示し、
図16(b)(c)は、このパターンに合致するベイジアンネットワークの例を示している。放置アラームに対応した改善候補パターン154では、1)基点イベントとして「アラーム」を条件とし、2)関連イベントとして「アラームのみ or 不存在」を条件としている。3)原因側イベント、4)結果側イベントについては、判定に不要であるため、条件を問わない。
【0075】
また、改善候補のイベントの例として連鎖アラームが挙げられる。連鎖アラームは、1つの異常事象に対して連鎖的に発生する複数のアラームである。このような基点イベントの関連イベントグループを改善候補として抽出することで、不必要に発生しているアラームの設定見直し、アラームの集約等の検討を行なうことができる。
【0076】
図17(a)は、連鎖アラームに対応した改善候補パターン154の例を示し、
図17(b)は、このパターンに合致するベイジアンネットワークの例を示している。連鎖アラームに対応した改善候補パターン154では、1)基点イベントとして「アラーム」を条件とし、2)関連イベントとして「アラームのみ」を条件としている。3)原因側イベント、4)結果側イベントについては、「アラームのみ or 不存在」としており、アラームのみの場合には、両方向の確率とも高いことを条件としている。
【0077】
改善候補パターン154は、これらの例に限られず、種々のパターンを採用することができ、後から追加することも可能である。また、そのプラントに特有の問題に対応した改善候補パターン154を適宜作成して設定することも可能である。
【0078】
パターン解析部130が、作成されたベイジアンネットワークが改善候補パターン154のいずれかに合致しているかどうかを解析し(
図11:S204)、合致している改善候補パターン154がある場合には(S205:Yes)、そのベイジアンネットワークの基点イベントを改善候補として抽出する(S206)。
【0079】
未処理の関連イベントグループがある場合には(S207:Yes)、処理対象の関連イベントグループを設定し(S202)、以降の処理を繰り返す。未処理の関連イベントグループがない場合には(S207:No)、改善候補抽出処理(
図5:S200)を終了する。
【0080】
改善候補抽出処理(S200)が終了すると、表示部140が、抽出された改善候補の表示を行なう(S300)。
図18(a)は、改善候補表示画面の一例を示している。本図では、タブにより、アラーム対応操作の改善候補パターンで抽出された基点イベントの表示と、連鎖アラームの改善候補パターンで抽出された基点イベントの表示と、放置アラームの改善候補パターンで抽出された基点イベントの表示とを切り替えることができるようになっている。
【0081】
表示された基点イベントについては、発生した頻度や関連イベント数が示される。関連イベントがある基点イベントには三角形の記号が付され、この記号がクリック等により指示されると、展開されて関連イベントが表示される。
【0082】
基点イベントには、表示対象のチェック欄が設けられており、画面中の「因果関係図表示」ボタンがクリックされると、
図18(b)に示すように、チェックされている基点イベントについてのベイジアンネットワークが表示される。
【0083】
ベイジアンネットワークの表示では、
図18(c)に凡例を示すように、アラームイベントを円形のノードで表わし、操作イベントを矩形のノードで表わし、ノード内に発生頻度を示している。また、ノードを結ぶ有向線には、有向線の起点側のイベントが発生したときに終点側のイベントが発生する確率と、終点側のイベントが発生したときに、起点側のイベントが発生した確率とを表示している。
【0084】
また、表示部140は、抽出されたイベントの表示のみならず、作成されたベイジアンネットワークに基づく情報を表示するようにしてもよい。例えば、通常運用時に、あるアラームが発生した際に、そのアラームを基点イベントとしたベイジアンネットワークが作成されている場合には、そのベイジアンネットワークを表示して、原因として考えられるイベントをオペレータに示したり、結果として起きる可能性が高いイベントや対応して行なうべき操作等をオペレータに示すことができる。
【0085】
以上説明したように、本実施形態のイベント解析装置100によれば、イベントログに基づいて、関連度の高いイベントグループを対象にベイジアンネットワークを構築し、改善候補パターンに合致するイベントを自動的に抽出する。このため、プラントで発生するイベントの因果関係に基づいて改善候補のイベントを抽出する作業を支援することができる。