(57)【要約】【課題】アプリケーションプログラムにしたがって演算を実行するコンピュータを含むシステムにおいて発生し得る異常について、多大な工数を要することなくその発生原因を迅速に特定できるようにする。【解決手段】異常解析を支援する異常解析支援システムに、以下の静的解析部と出力部とを設ける。静的解析部は、システムの構成要素の接続関係を示すシステム構成定義情報とアプリケーションプログラムの構造を示すアプリケーション情報とを解析し、システムに含まれる機器の入出力とアプリケーションプログラムの変数との対応を示す変数リレーション情報を生成する。出力部は、何れかの機器に異常が発生したことの検知を契機として、当該機器の入出力に関連する全ての変数を、変数リレーション情報を参照して特定し、発生イベント情報から上記特定した変数に関連するイベントの情報を抽出して表示装置に表示させる。【選択図】図１
2017227973.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行するコンピュータ、前記コンピュータへのデータの入力元となる機器、および前記コンピュータからのデータの出力先となる機器を構成要素として含むシステムにおいて発生する異常の発生原因の特定を支援する異常解析支援システムであって、
前記システムにおける構成要素の接続関係を示すシステム構成定義情報と前記アプリケーションプログラムの構造を示すアプリケーション情報とを解析し、前記システムに含まれる機器の入出力と前記アプリケーションプログラムの変数との対応関係および前記アプリケーションプログラムにおける変数の階層関係を示す変数リレーション情報を生成する静的解析部と、
前記システムに含まれる何れかの機器に異常が発生したことまたは異常の発生が予見されたことの検知を契機として、当該機器の入出力に関連する全ての変数を前記変数リレーション情報を参照して特定し、前記システムにて発生したイベントを示す情報が発生順に配列される発生イベント情報から前記特定した変数に関連するイベントの情報を抽出して出力する出力部と、
を有することを特徴とする異常解析支援システム。
【請求項２】
前記アプリケーションプログラムの作成を支援するための支援ツールを有し、前記支援ツールが前記静的解析部を有する
ことを特徴とする請求項１に記載の異常解析支援システム。
【請求項３】
アプリケーションプログラムを実行するコンピュータ、前記コンピュータへのデータの入力元となる機器、および前記コンピュータからのデータの出力先となる機器を構成要素として含むシステムにおいて発生する異常の発生原因の特定を支援する異常解析支援装置であって、
前記システムにおける構成要素の接続関係を示すシステム構成定義情報と前記アプリケーションプログラムの構造を示すアプリケーション情報とを解析し、前記システムに含まれる機器の入出力と前記アプリケーションプログラムの変数との対応関係および前記アプリケーションプログラムにおける変数の階層関係を示す変数リレーション情報を生成する静的解析部と、
前記システムに含まれる何れかの機器に異常が発生したことまたは異常の発生が予見されたことの検知を契機として、当該機器の入出力に関連する全ての変数を前記変数リレーション情報を参照して特定し、前記システムにて発生したイベントを示す情報が発生順に配列される発生イベント情報から前記特定した変数に関連するイベントの情報を抽出して出力する出力部と、
を有することを特徴とする異常解析支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器を含むシステムの運用管理を支援する技術に関し、特に、異常発生時の対応を支援する技術に関する。
【背景技術】
【０００２】
複数の機器を含むシステムの一例として、工場や発電所などのプラントの稼働制御を行う制御システムが挙げられる。この種の制御システムの構成要素としては、動力源としてプラントに含まれる電動機等の制御対象機器、制御対象機器の動作状態や動作環境を監視するための各種センサ、制御対象機器の駆動制御を行うコントローラ、および、センサや制御対象機器とコントローラとのデータ通信を仲介する通信ユニットが挙げられる。
【０００３】
制御システムに含まれるコントローラは、各種センサからの入力データに応じて制御対象機器を制御するための演算を予めインストールされたアプリケーションプログラムにしたがって実行し、その演算結果を表すデータを制御対象機器へ出力する。コントローラの具体例としては、ＤＣＳ（Distributed Control System：分散型制御システム或いは分散型制御装置）やプログラマブルロジックコントローラ（以下、ＰＬＣ）が挙げられる。一般的なＦＡ（Factory Automation）システムではコントローラとしてＰＬＣを用いることが多く、高信頼性を要求されるプラント設備ではコントローラとしてＤＣＳを用いることが多い。ＤＣＳはＰＬＣに比較して信頼性が高いからである。なお、以下では、コントローラへのデータの入力元となるセンサ等とコントローラからのデータの出力先となる制御対象機器とをまとめて「ＩＯ機器」と総称する場合がある。
【０００４】
制御システムの構成要素に異常が発生すると、プラントの稼働に支障が生じる場合がある。このため、異常が発生した場合にその発生箇所や発生原因を迅速に特定して対処することは勿論、異常が発生するであろう箇所を予測して事前に対処することが重要になる。例えば故障の発生が予見されるＩＯ機器を事前に交換する、といった具合である。制御システムにおいて発生する異常の具体例としては、ＩＯ機器の故障や、アプリケーションプログラムの不良等に起因するコントローラの誤動作が挙げられる。以下では、異常の発生箇所或いは異常が発生するであろう箇所、およびその発生原因を特定することを異常解析と呼ぶ。
【０００５】
異常解析については、制御システム或いはプラントの運用管理者等がシステムの稼働状況を示すログ等を精査するなど、人手で行われることが一般的である。特許文献１や特許文献２には、運用管理者等による異常解析の実行を支援する技術が開示されている。特許文献１には、プラントにて発生する全てのイベント（事象）について、イベントの内容等を表すメッセージデータを記録し、当該メッセージデータの表示或いは再現を行うことで、プラントで発生する様々な事象の解析を容易にするイベント記録表示装置の発明が記載されている。特許文献２には、プラントの制御システムから出力されるアラームを、発生時刻を示すタイムスタンプとともに記憶するアラーム解析装置の発明が記載されている。このアラーム解析装置では、アラームの発生原因および対応方法をアラーム毎に登録することができる。このアラーム解析装置は、検出されたアラームと同一の過去のアラームに関する発生原因および対応方法を表示部に表示させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２５１７７７号公報
【特許文献２】特開２０１２−２１２３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示の技術では、記録された多数のメッセージデータのうちから異常の発生を示すイベント或いは異常の発生を予見させるイベント（以下、両者をまとめて「異常イベント」と呼ぶ）のデータを見つけ出し、さらに異常の発生原因となったイベントを上記多数のメッセージデータを精査して特定するといった作業を運用管理者等が人手で行わねばならない。このため、特許文献１に開示の技術には、異常解析の実行に多くの工数を要する、といった問題がある。特許文献２に開示の技術では、過去に発生した異常と同一の異常であれば、その発生原因を迅速に把握し、速やかに対応を行うことができる。しかし、過去に発生したものとは異なる異常については、特許文献２に開示の技術では速やかに対応することはできない。特に、アプリケーションプログラムの不良に起因する誤動作等は再現性や事前予測性が乏しく、物理的な機器の故障とは異なり、異常の発生原因の特定が困難な場合が多い。これは、制御システム固有の問題ではなく、入力データにしたがった演算をアプリケーションプログラムにしたがって実行するコンピュータを含むシステムであれば、例えば企業内の事務処理支援や金融取引等のためのシステム（所謂情報系システム）であっても同様である。
【０００８】
本発明は以上に説明した課題に鑑みて為されたものであり、入力データにしたがった演算をアプリケーションプログラムにしたがって実行するコンピュータを含むシステムにおいて発生し得る異常について、多大な工数を要することなくその発生原因を迅速に特定することを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために本発明は、アプリケーションプログラムを実行するコンピュータ、当該コンピュータへのデータの入力元となる機器、および当該コンピュータからのデータの出力先となる機器を構成要素として含むシステムにおいて発生する異常の発生原因の特定を支援する異常解析支援システムとして、以下の静的解析部および出力部を有する異常解析支援システムを提供する。静的解析部は、システムにおける構成要素の接続関係を示すシステム構成定義情報とアプリケーションプログラムの構造を示すアプリケーション情報とを解析して変数リレーション情報を生成する。変数リレーション情報とは、システムに含まれる機器の入出力とアプリケーションプログラムの変数との対応関係およびアプリケーションプログラムにおける変数の階層関係を示す情報である。一方、出力部は、システムに含まれる何れかの機器に異常が発生したこと、または異常の発生が予見されたことの検知を契機として、当該機器の入出力に関連する全ての変数を変数リレーション情報を参照して特定する。そして、出力部は、システムにて発生したイベントを示す情報が発生順に配列される発生イベント情報から上記特定した変数に関連するイベントの情報を抽出して出力する。
【００１０】
本発明の異常解析支援システムにより異常解析の実行を支援されるシステムの具体例としては、プラントの稼働制御を行う制御システムが挙げられ、この場合における上記コンピュータはアプリケーションプログラムにしたがって機器制御を行うコントローラである。本発明によれば、何れかの機器に異常が発生した場合或いは異常の発生が予見された場合に、当該機器の入出力に直接或いは間接的に関連するイベントに関する情報が発生イベント情報から抽出され、出力される。このため、当該機器の制御に直接或いは間接的に関連する全てのイベントを運用管理者が一目で把握することが可能となり、多大な工数を要することなく異常の原因を迅速に特定することが可能になる。
【００１１】
上記静的解析部および出力部の具体的な実装態様については種々の態様が考えられる。例えば、アプリケーションプログラムの作成を支援するための支援ツール、およびイベントを監視するためのイベントビューアの各装置が異常解析支援システムに含まれている場合、静的解析部を支援ツールに設け、出力部をイベントビューアに設ける態様が考えられる。また、出力部による情報の出力態様についても種々の態様が考えられる。例えば、発生イベント情報に対応するイベント表示画面（例えば、イベントに関する情報をその発生順に配列した画面）をイベントビューアの表示部に表示させる態様であれば、次のような態様が考えられる。出力部は、上記イベント表示画面に対して異常イベントを指定する操作が運用管理者等によって為されたことに応じて、異常の発生或いはその予見を検知する。そして、上記出力部は、上記の要領で抽出した情報のみからなる第２のイベント表示画面を上記表示部にポップアップ表示させる。なお、上記表示部の表示内容を上記第２のイベント表示画面に切り替える態様であっても良い。
【００１２】
また、別の好ましい態様においては上記静的解析部と上記出力部とを組み合わせて１つの装置を構成し、当該装置を異常解析支援装置として提供しても良い。このような態様によっても、入力データにしたがった演算をアプリケーションプログラムにしたがって実行するコンピュータを含むシステムにおいて発生し得る異常について、多大な工数を要することなくその発生原因を迅速に特定することが可能になる。
【００１３】
また、上記課題を解決するために本発明は、コンピュータを、上記静的解析部および上記出力部として機能させるプログラムを提供する。このようなプログラムを従来の支援ツール或いはイベントビューアなどにインストールし、それら支援ツール或いはイベントビューアの制御部（ＣＰＵ（Central Processing Unit）などのコンピュータ）を当該プログラムにしたがって作動させることで、本発明の異常解析支援装置として機能させることが可能になる。なお、上記プログラムの具体的な提供態様としては、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）やフラッシュＲＯＭ（Read
Only Memory）などのコンピュータ読み取り可能な記録媒体に上記プログラムを書き込んで配布する態様や、インターネットなどの電気通信回線経由のダウンロードにより配布する態様が考えられる。
【発明の効果】
【００１４】
本発明によれば、入力データにしたがった演算をアプリケーションプログラムにしたがって実行するコンピュータを含むシステムにおいて発生し得る異常について、多大な工数を要することなくその発生原因を迅速に特定することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態による異常解析支援システム１の構成例を示す図である。
【図２】同異常解析支援システム１に含まれる支援ツール２０のシステム構成エディッタ２２０により生成されるシステム構成定義情報を説明するための図である。
【図３】同支援ツール２０の静的解析部２３０における解析アルゴリズムのフローチャートである。
【図４】同静的解析部２３０による解析対象のアプリケーション情報およびシステム構成定義情報の一例を示す図である。
【図５】同静的解析部２３０により生成される変数リレーション情報の一例を示す図である。
【図６】異常解析支援システム１に含まれるイベントビューア３０の出力部３１０により表示されるイベント表示画面の一例を示す図である。
【図７】同出力部３１０が実行するイベントフィルタ処理の流れを示すフローチャートである。
【図８】同出力部３１０によるフィルタリング後のイベント表示画面の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下図面を参照しつつ本発明の実施形態を説明する。
図１は、本発明の一実施形態による異常解析支援システム１の構成例を示す図である。図１に示す異常解析支援システム１は、プラントの制御システムにおいて発生するイベントの監視、および異常イベント発生時の異常解析を支援するためのコンピュータシステムである。図１には、異常解析支援システム１の構成要素の他に、異常解析の対象となる制御システムのコントローラ１０が図示されている。図１に示すように異常解析支援システム１は支援ツール２０とイベントビューア３０とを有する。
【００１７】
支援ツール２０は、例えばパーソナルコンピュータであり、制御システムの運用管理の支援に使用される。図１に示すように、支援ツール２０は、アプリケーションエディッタ２１０、システム構成エディッタ２２０、静的解析部２３０、およびイベント設定部２４０を有する。アプリケーションエディッタ２１０、システム構成エディッタ２２０、静的解析部２３０、およびイベント設定部２４０の各々は、何れも、支援ツール２０に予めインストールされた運用支援プログラムにしたがって支援ツール２０の制御部（例えばＣＰＵ）を作動させることにより実現されるソフトウェアモジュールである。これら各部の役割、すなわちこれら各部が担っている機能は以下の通りである。
【００１８】
アプリケーションエディッタ２１０は、制御対象機器の制御をコントローラ１０に行わせるためのアプリケーションプログラムの作成（すなわち、アプリケーションププログラムのソースコードのコーディング、実行形式ファイルへのコンパイルやリンク、およびデバッグ）を支援する機能を担っている。アプリケーションエディッタ２１０により生成されたアプリケーションプログラムの実行形式ファイルはコントローラ１０へダウンロードされる。
【００１９】
また、アプリケーションエディッタ２１０は、アプリケーションプログラムのプログラム構造を表すアプリケーション情報を生成する機能を有する。アプリケーションプログラムのソースコードにコンパイルおよびリンクを施して実行形式ファイルを生成する際に、各変数の変数名を示すシンボルとそのシンボルの示す変数のアドレスとの対応関係を示す情報を埋め込んで実行形式ファイルを生成する態様であれば、当該実行形式ファイルそのものをアプリケーション情報としても良い。また、アプリケーションプログラムのソースコードを上記アプリケーション情報としても良く、上記実行形式ファイルやソースコードとは別個にアプリケーション情報を生成しても良い。
【００２０】
システム構成エディッタ２２０は、運用管理支援の対象となる制御システムの構成要素、および構成要素の接続関係（例えば図２参照）を示すシステム構成定義情報を、運用管理者の操作に応じて生成する。前述したように、制御システムの構成要素の具体例としては、コントローラ１０の他、コントローラ１０による制御対象となる制御対象機器（例えば、電動機）や各種センサなどのＩＯ機器、ＩＯ機器とコントローラ１０とのデータ通信を仲介する通信ユニットが挙げられる。
【００２１】
従来の制御システムにおいてもシステム構成定義情報の作成および利用は行われていたが、本実施形態におけるシステム構成定義情報とは異なり、通信ユニットのＩＯモジュールに接続されるＩＯ機器（図２における機器Ａ、機器Ｂおよび機器Ｃ）に関する情報を含んでいなかった。つまり、本実施形態におけるシステム構成エディッタ２２０は、通信ユニットのＩＯモジュールの接続先のＩＯ機器に関する情報を含むシステム構成定義情報を生成する点が従来と異なる。
【００２２】
静的解析部２３０は、システム構成定義情報とアプリケーション情報とを解析し、異常解析の対象となる制御システムに含まれるＩＯ機器の入出力とアプリケーションプログラムの変数との対応関係およびアプリケーションプログラムにおける変数の階層関係を示す変数リレーション情報を生成する。静的解析部２３０は、アプリケーションプログラムに含まれる変数のうちＩＯ機器の入出力に関連する変数を通信モジュールに接続されるＩＯ機器毎に抽出し、コントローラ１０に対する入力から出力までのそれら変数の階層関係を示す変数リレーション情報を生成する。変数リレーション情報は、制御システムにおいて発生する全てのイベントを表す設定イベント情報とともにコントローラ１０へダウンロードされ、コントローラ１０におけるイベントの発生の検知等に利用される。
【００２３】
図３は、静的解析部２３０における解析アルゴリズムのフローチャートである。図３に示すように、静的解析部２３０は、まず、システム構成定義情報を解析し、通信ユニットに接続されているＩＯ機器を示す情報（以下、接続機器情報）を抽出する（ステップＳＡ１００）。次いで、静的解析部２３０は、ステップＳＡ１００にて抽出した接続機器情報の示すＩＯ機器への入力信号（接続先のＩＯモジュールを介して入力される信号：以下、出力モジュール信号）を示す情報（出力モジュール信号情報）をシステム構成定義情報から抽出する（ステップＳＡ１１０）。ステップＳＡ１１０に後続するステップＳＡ１２０では、静的解析部２３０は、アプリケーション情報を解析し、ステップＳＡ１１０にて抽出した出力モジュール信号情報の示す信号の生成に関連する変数を、入力元の変数がＩＯモジュールからの入力信号に到達するか、または入力元のない変数に到達するまで、再帰的に抽出する処理をＩＯ機器毎に実行し、変数リレーション情報を生成する。
【００２４】
例えば、静的解析部２３０による解析対象のアプリケーション情報およびシステム構成定義情報が図４に示すものであったとする。この場合、静的解析部２３０は、上記ステップＳＡ１００では機器Ａ、機器Ｂおよび機器Ｃの各々を示す接続機器情報を抽出し、ステップＳＡ１１０では機器Ａ、機器Ｂおよび機器Ｃの各々について出力モジュール信号情報を抽出する。機器Ａについては、ＩＯモジュール１＿４（図４では、「ＩＯ１＿４」と略記、他のＩＯモジュールについても同様）とＩＯモジュール２＿２の各々からの出力信号を示す出力モジュール信号情報が抽出される。
【００２５】
ステップＳＡ１２０では、静的解析部２３０は、機器Ａ〜機器Ｃの各々について、ステップＳＡ１１０にて抽出した出力モジュール信号情報の示す信号の生成に関連する変数を再帰的に抽出して変数リレーション情報を生成する。前述したように機器Ａについては、出力モジュール信号情報として、ＩＯモジュール１＿４とＩＯモジュール２＿２の各々からの出力信号を示す情報がステップＳＡ１１０にて抽出されている。図４に示すように、ＩＯモジュール１＿４の出力信号についてはアプリケーションプログラムにおける変数名ＶＡＬ３＿１の変数が対応しており、変数名ＶＡＬ３＿１の変数はアプリケーションプログラムにおける機能ブロック（例えば、アプリケーションプログラムに含まれるサブルーチンや関数：図４では「ＦＢ」と表記、以下本明細書においても同様）３の出力である。ＦＢ３の入力はＩＯモジュールＩＯ１＿２の出力信号、変数名ＶＡＬ２＿１およびＶＡＬ２＿２の各変数である。
【００２６】
図４に示すように、変数名ＶＡＬ２＿１の変数はＦＢ１の出力であり、ＦＢ１の入力はＩＯモジュール１＿１の出力信号と変数名ＶＡＬ１＿１の変数であり、変数名ＶＡＬ１＿１の変数には入力元がない。一方、変数名ＶＡＬ２＿２の変数はＦＢ２の出力であり、ＦＢ２の入力は変数名ＶＡＬ１＿２およびＶＡＬ１＿３の各変数である。変数名ＶＡＬ１＿２およびＶＡＬ１＿３の各変数には、変数名ＶＡＬ１＿１の変数と同様、入力元はない。このようにしてＩＯモジュール１＿４の出力信号の生成に関連する変数が、ＩＯモジュールからの入力信号または入力元のない変数に到達するまで再帰的に抽出される。同様にしてＩＯモジュール２＿２の出力信号についても生成に関連する変数が再帰的に抽出される。その結果、静的解析部２３０は、機器Ａについて、例えば図５の階層関係を示す変数リレーション情報を生成する。
【００２７】
イベント設定部２４０は、制御システムの稼働中に発生する事象のうち、機器制御等に関連する事象をイベントとして設定し、その設定内容を表す設定イベント情報を生成する。イベント設定部２４０により設定されるイベントの一例としては、工程を次の段階に進めるか否かの判定基準となるイベントや、前述した異常イベントが挙げられる。制御システムの稼働中に発生する事象は、特定のＩＯモジュールの入力信号或いは出力信号の値、またはアプリケーションプログラムの特定の変数の値が所定の値に達した（或いは所定の値を下回った）こととして一般に表現される。イベント設定部２４０は、イベントが発生したか否かの判定対象となる信号或いは変数とその判定基準となる閾値を運用管理者等がイベント毎に設定することを支援する。
【００２８】
より詳細に説明すると、イベント設定部２４０は、上記設定支援を実現するため、変数情報出力機能とイベント入力機能とを有する。変数情報出力機能は、各ＩＯモジュールの入力信号および出力信号やアプリケーションプログラムの変数を示す情報を運用管理者に提示する機能である。イベント入力機能は、変数情報出力機能により提示される変数のうちイベント発生の判断基準となる変数の選択および比較対象の値の入力、イベントを一意に示すイベント識別子（例えば、イベントの名称を表す文字列等）の入力、およびプラントにおける当該イベントの発生場所を示すロケーション情報の入力を運用管理者に行わせる機能である。イベント設定部２４０により生成される設定イベント情報には、イベント入力機能により入力されたイベント識別子と、運用管理者等に選択された変数についての変数名および比較対象の値と、ロケーション情報とがイベント毎に格納されている。
【００２９】
コントローラ１０は、アプリケーションプログラムを実行し、そのアプリケーションプログラムにしたがって機器制御を行う機能に加えて、設定イベント情報にて設定されたイベントの発生を監視し、該当するイベントが発生した場合にそのイベントの発生を示す発生イベント情報を記憶部に書き込むイベント検出機能を有する。発生イベント情報には、発生したイベントを示すイベント識別子、イベント発生の判定基準となった変数の変数名とその値、およびロケーション情報（すなわち、当該イベントについて設定イベント情報に格納されている情報）と当該イベントの発生時刻を示すタイムスタンプとが含まれている。
【００３０】
イベントビューア３０は、制御システムにけるイベントの発生を運用管理者等に監視させるための監視端末である。イベントビューア３０としては、専用の監視端末を用いても良いし、液晶ディスプレイなどの表示装置とその表示装置の制御を行うパーソナルコンピュータの組み合わせをイベントビューア３０として用いても良い。
【００３１】
イベントビューア３０は、図１に示すようにコントローラ１０に接続されている。イベントビューア３０は、コントローラ１０の記憶部に記憶されている発生イベント情報の全てを取得して発生時刻の古いものから順に表示装置に表示させる出力部３１０を有する。図６は、出力部３１０が表示装置に表示させる画面（以下、イベント表示画面）の一例を示す図である。このように、発生した全てのイベントについての情報をその発生時刻の順に表示装置に表示させる点では本実施形態のイベントビューア３０は従来のイベントビューアと同一である。しかし、本実施形態のイベントビューア３０は、以下の点が従来のイベントビューアと異なる。すなわち、イベントビューア３０の出力部３１０は、表示装置に表示させたイベント表示画面に対して異常イベントを指定する操作が為された場合に、異常イベントが発生したＩＯ機器の制御に直接或いは間接的に関連する変数を変数リレーション情報を参照して特定し、当該特定した変数に関連するイベントのみの情報を抽出して出力するイベントフィルタ処理を実行する。
【００３２】
図７は、出力部３１０が実行するイベントフィルタ処理の流れを示すフローチャートである。運用管理者等によって異常イベントが指定されると、イベントビューア３０の出力部３１０は、当該異常イベントの発生基準となった変数の変数名を発生イベント情報を参照して特定する（ステップＳＢ１００）。例えば、図６のように表示されているイベントのうちの「故障Ａ＿発生」が運用管理者等によって指定された場合には、ＩＯモジュールＩＯ１＿１への入力信号の変数名（以下、「変数名ＩＯ１＿１」と表記）が特定される。
【００３３】
次いで、出力部３１０は、ステップＳＢ１００にて特定した変数名の変数が制御に関与するＩＯ機器、すなわち異常の発生したＩＯ機器を、変数リレーション情報を参照して特定する（ステップＳＢ１１０）。例えば、図５に示す変数リレーション情報がコントローラ１０の記憶部に記憶されている場合、ステップＳＢ１００にて取得した変数名の表す変数が制御に関与する機器として「機器Ａ」が特定される。
【００３４】
ステップＳＢ１１０に後続するステップＳＢ１２０では、出力部３１０は、ステップＳＢ１１０にて特定したＩＯ機器の制御に直接或いは間接的に関連する全ての変数の変数名を、変数リレーション情報を参照して特定する。図５に示す変数リレーション情報がコントローラ１０の記憶部に記憶されており、ステップＳＢ１１０にて「機器Ａ」が特定されたのであれば、ステップＳＢ１２０では、変数名ＩＯ１＿１、ＩＯ１＿２、ＩＯ１＿４、ＩＯ２＿２、ＶＡＬ１＿１、ＶＡＬ１＿２、ＶＡＬ１＿３、ＶＡＬ２＿１、ＶＡＬ２＿２、ＶＡＬ２＿３、ＶＡＬ３＿１およびＶＡＬ３＿２の各々が特定される。
【００３５】
ステップＳＢ１２０に後続するステップＳＢ１３０では、出力部３１０は、ステップＳＢ１２０にて特定した変数名の示す変数に関連するイベント以外のイベントに関する情報をイベント表示画面（図６参照）から削除する。図６に示すイベント表示画面にて表示されているイベントのうち、ステップＳＢ１２０にて特定した変数名の示す変数に関連するイベントは、「故障Ａ＿発生」の他は「イベントＣ」、「イベントＧ」および「イベントＨ」のみである。したがって、イベント表示画面の表示内容は図８のように更新される。
【００３６】
図６に示すイベント表示画面の表示は従来のイベントビューアにおいても行われていたが、図６に示すイベント表示画面では異常とは無関係なイベントに関する情報が多数含まれており、それら多数のイベントの何れが異常の発生原因であるかを特定することに多大な工数を要していた。これに対して、図８に示すイベント表示画面では、「故障Ａ＿発生」元となったＩＯ機器の制御とは無関係なイベントが削除されている。このため、図８に示すイベント表示画面を視認した運用管理者等は、「故障Ａ＿発生」の発生原因が「イベントＣ」、「イベントＧ」および「イベントＨ」の何れであったのかを即座に判断することができる。例えば、「イベントＧ」に問題があったのであれば、運用管理者は変数名ＶＡＬ２＿３の変数の値に問題があったこと、すなわち、「故障Ａ＿発生」の発生原因はコントローラ１０のアプリケーションプログラムの不具合であると即座に判断できる。このように、本実施形態によれば、制御システムにおいて発生し得る異常について、多大な工数を要することなくその発生原因を迅速に特定することが可能になる。
【００３７】
以上本発明の一実施形態について説明したが、この実施形態に以下の変形を加えても良い。
（１）上記実施形態では、プラントの稼働制御を行う制御システムの異常解析支援への本発明の適用例を説明した。しかし、本発明の適用対象は制御システムの異常解析に限定される訳ではない。例えば金融取引のためのコンピュータシステムなどの情報系システムの異常解析支援に本発明を適用しても良い。要は、アプリケーションプログラムにしたがって動作するコンピュータを含むシステムの異常解析であれば本発明を適用可能である。
【００３８】
（２）上記実施形態における支援ツール２０は、静的解析部２３０の他に、アプリケーションエディッタ２１０、システム構成エディッタ２２０およびイベント設定部２４０を有していた。しかし、支援ツール２０以外の装置を用いてシステム定義情報やアプリーション情報、設定イベント情報の生成を行っても良く、この場合、支援ツール２０は静的解析部２３０のみを有していれば良い。つまり、アプリケーションプログラムを実行するコンピュータ、当該コンピュータへのデータの入力元となる機器、および当該コンピュータからのデータの出力先となる機器を構成要素として含むシステムにおいて発生する異常の発生原因の特定を支援する異常解析支援システムとしては、少なくとも静的解析部２３０と出力部３１０とを含んでいれば良い。
【００３９】
（３）上記実施形態では、静的解析部２３０と出力部３１０とがそれぞれ別個の装置に設けられていたが、両者を一つの装置に設けても良い。つまり、静的解析部２３０と出力部３１０とを組み合わせて構成した異常解析支援装置を提供しても良い。
【符号の説明】
【００４０】
１…異常解析支援システム、１０…コントローラ、２０…支援ツール、２１０…アプリケーションエディッタ、２２０…システム構成エディッタ、２３０…静的解析部、２４０…イベント設定部、３０…イベントビューア、３１０…出力部。
【図１】
2017227973.tif 000003
【図２】
2017227973.tif 000004
【図３】
2017227973.tif 000005
【図４】
2017227973.tif 000006
【図５】
2017227973.tif 000007
【図６】
2017227973.tif 000008
【図７】
2017227973.tif 000009
【図８】
2017227973.tif 000010