(57)【特許請求の範囲】
【請求項１】
制御対象の制御装置で実行される制御プログラムに関し且つ前記制御対象の複数の動作モードを対象にした制御ロジックを記述した制御ロジック図面のデータが格納されている制御ロジック図面格納部と、
前記制御装置から前記制御プログラムの演算状態のデータを取得し、前記制御対象の動作監視装置から、前記制御対象が前記複数の動作モードのうちのどの動作モードであるかに関する情報を含む前記制御対象の動作状態のデータを取得するデータ取得部と、
前記制御ロジックの結線を追跡するためにあらかじめ規定され且つ前記複数の動作モードに応じて規定された追跡規則のデータが格納されている追跡規則格納部と、
前記制御ロジックの前記結線を、警報を出力するための警報制御信号の出力端子から逆方向に、前記演算状態と前記動作状態と前記追跡規則とに従って辿ることにより、前記制御ロジックにおいて前記警報の発生原因の箇所および当該箇所へ至る追跡経路を特定する追跡処理を行う、制御ロジック追跡部と、
前記追跡処理によって得られた前記追跡経路を前記制御ロジック図面上に反映した表示情報を生成する表示情報生成部と、
を備える制御ロジック管理装置。
【請求項２】
前記追跡規則は、所定条件を満たす結線に対してはさらなる追跡を行わない旨の規則を含む、請求項１に記載の制御ロジック管理装置。
【請求項３】
前記制御プログラムの前記演算状態と前記制御対象の前記動作状態とを前記警報の発生ごとにスナップショットデータとして保存するスナップショットデータ保存部をさらに備え、
前記制御ロジック追跡部は、前記スナップショットデータ保存部から前記演算状態と前記動作状態とを取り出して前記追跡処理を行う、
請求項１または請求項２に記載の制御ロジック管理装置。
【請求項４】
前記制御ロジックを構成している演算子の複数の入力端子と、前記制御ロジックに関わる複数の信号とのうちの少なくとも一方に対して、前記制御ロジックを追跡する際の優先度である追跡優先度が設定されており、
前記追跡優先度をオペレータが設定するための入力部をさらに備える、
請求項１ないし請求項３のうちのいずれか１項に記載の制御ロジック管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象の制御ロジックを管理する制御ロジック管理装置に関する。
【背景技術】
【０００２】
発電プラント等のプラント運転監視システムでは、プロセス値の変動やプラント機器の故障等によって警報が発生した場合、警報の発生原因を迅速に把握することが求められる。例えば、下記特許文献１には、プラント運転員の知識や経験の如何に関わらず、プラント異常発生時に迅速に原因特定に至ることを目的とした、プラント運転監視システムが記載されている。
【０００３】
特許文献１のプラント運転監視システムでは、プラント警報発生時に、警報監視画面に表示されている個別警報要因の箇所を選択すると、個別警報要因毎にあらかじめ結び付けられた関連図面の詳細警報ロジック図面を表示し、その詳細警報ロジック図面上に、制御装置に内蔵されている制御用コントローラの現在の演算状態を表示する。このような動作は、個別警報要因に対して、調査すべき図面のシート番号をあらかじめ設定しておくことによって実現される。これにより、警報発生時に、関連図面の演算ロジックの信号状態を容易な操作で迅速に確認することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３６６８７６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般に、制御ロジックは、プラントの通常運転時だけでなく、起動時、停止時、メンテナンス時等のさまざまなプラントの運転状態に応じて、記述されている。例えば、圧力や温度等のプロセス値が既定値を逸脱すると警報を発生させる制御ロジックは、通常運転状態に達していない状態（例えばプラントの起動時や停止時等）では意味がない。このため、そのような警報発生ロジックは、通常運転状態に達していない状態で抑制されるように、記述されている。同様に、メンテナンス時には、動作していない機器について故障発生を知らせる警報は抑制される。
【０００６】
このように、プラント機器からの信号について、さまざまな運転状態に応じた処理を記述する必要があるので、制御ロジックは複雑になりがちである。このため、複雑な制御ロジックは、複数枚の制御ロジック図面に分割して記述される。
【０００７】
従来のプラント運転監視システムにおいて警報の発生原因となる箇所を把握するには、調査すべき図面を呼び出し、プラント運転員が制御ロジック図面に表示されている演算状態を見ながら制御ロジックを追跡する必要があった。そのため、複数枚に跨って記述されている複雑な制御ロジックの場合、原因となる箇所の把握に時間がかかるという問題があった。
【０００８】
また、プラントの内部状態は刻々と変化しているので、次々に警報が発生すると、過去に発生した警報を確認することができない状況が生じうるという問題点もあった。
【０００９】
本発明は、かかる点に鑑みてなされたものであり、警報の発生原因の箇所および追跡経路の把握を容易にするための技術を提供することを目的とする。また、過去に発生した警報を確認可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様に係る制御ロジック管理装置は、制御ロジック図面格納部と、データ取得部と、追跡規則格納部と、制御ロジック追跡部と、表示情報生成部とを含んでいる。前記制御ロジック図面格納部は、制御対象の制御装置で実行される制御プログラムに関し且つ前記制御対象の複数の動作モードを対象にした制御ロジックを記述した制御ロジック図面のデータを格納している。前記データ取得部は、前記制御装置から前記制御プログラムの演算状態のデータを取得し、前記制御対象の動作監視装置から、前記制御対象が前記複数の動作モードのうちのどの動作モードであるかに関する情報を含む前記制御対象の動作状態のデータを取得する。前記追跡規則格納部は、前記制御ロジックの結線を追跡するためにあらかじめ規定され且つ前記複数の動作モードに応じて規定された追跡規則のデータを格納している。前記制御ロジック追跡部は、前記制御ロジックの前記結線を、警報を出力するための警報制御信号の出力端子から逆方向に、前記演算状態と前記動作状態と前記追跡規則とに従って辿ることにより、前記制御ロジックにおいて前記警報の発生原因の箇所および当該箇所へ至る追跡経路を特定する追跡処理を行う。前記表示情報生成部は、前記追跡処理によって得られた前記追跡経路を前記制御ロジック図面上に反映した表示情報を生成する。
【発明の効果】
【００１１】
上記一態様によれば、警報の発生原因の箇所が、追跡処理によって自動的に特定される。また、追跡経路を制御ロジック図面上に反映した表示情報が生成される。このため、警報の発生原因の箇所および追跡経路を表示画面上で容易に把握することが可能になる。その結果、例えば、警報発生から原因特定までの時間を短縮できる。
【００１２】
本発明の目的、特徴、局面、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１について制御ロジック管理装置を示すブロック図である。
【図２】実施の形態１について制御ロジック図面の一例を示す図である。
【図３】実施の形態１について制御ロジック図面の一例を示す図である。
【図４】実施の形態１について追跡規則の一例を示す図である。
【図５】実施の形態１について追跡規則の一例を示す図である。
【図６】実施の形態１について追跡結果の表示例を示す図である。
【図７】実施の形態１について制御ロジックの他の例を示す図である。
【図８】実施の形態１について複数の入力端子を持つ演算子を示す図である。
【図９】実施の形態１について演算子の入力端子の追跡優先度を規定した追跡規則の一例を示す図である。
【図１０】実施の形態１について信号の追跡優先度を規定した追跡規則の一例を示す図である。
【図１１】実施の形態２について制御ロジック管理装置を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜実施の形態１＞
図１に、実施の形態１に係る制御ロジック管理装置２０のブロック図を示す。図１には、説明のために、プラント１０と、制御装置１４と、動作監視装置１６と、表示装置１８も図示している。制御ロジック管理装置２０を詳述する前に、これらの要素１０，１４，１６，１８について説明する。
【００１５】
プラント１０は例えば発電プラントであるが、他の種類のプラントにも制御ロジック管理装置２０を適用可能である。また、制御ロジック管理装置２０は、プラントのみならず、各種の機械、装置等に対しても適用可能である。
【００１６】
制御装置１４は、プラント１０に接続されており、プラント１０を所定の制御プログラムに従って制御する。動作監視装置１６は、プラント１０に接続されており、プラント１０の動作を監視する。例えば、動作監視装置１６は、プラント１０から、プロセス値等のデータを取得し、取得したデータからプラント１０の動作モード（例えば、通常運転中、起動中、終了中、メンテナンス中等の種別を表す）を判別する。
【００１７】
また、動作監視装置１６は、制御装置１４に接続されており、プラント１０から得られた各種情報を制御装置１４に提供し、また、制御装置１４の指示の下、例えば警報機を制御する。また、制御装置１４および動作監視装置１６は、制御ロジック管理装置２０に接続されている。
【００１８】
表示装置１８は、制御ロジック管理装置２０に接続されており、制御ロジック管理装置２０から出力される表示情報８６のデータに基づいて表示動作を行う。なお、表示情報８６のデータを単に、表示情報８６と称する場合もある。
【００１９】
なお、図１の例では、制御ロジック管理装置２０と、制御装置１４と、動作監視装置１６と、表示装置１８とを含む構成を制御監視システム１２と称している。
【００２０】
ここで、制御装置１４とプラント１０との接続は、これらの間で各種情報を伝達可能である限り、有線接続と無線接続のいずれを採用してもよい。また、有線接続と無線接続を組み合わせてもよい。かかる点は、上記のその他の要素間の接続、さらには以下に説明する制御ロジック管理装置２０内における要素間の接続についても同様である。
【００２１】
＜制御ロジック管理装置２０の構成＞
制御ロジック管理装置２０は、制御装置１４で実行される上記制御プログラムの制御ロジックについて各種の管理を行う。特に、制御ロジック管理装置２０は、上記制御プログラムの実行において警報が出力される状況が生じた場合に、警報の発生原因の箇所を特定するために制御ロジックを追跡する機能と、その追跡結果を表示装置１８に表示させる機能とを有している。これらの機能は、以下に例示する構成および動作によって実現される。
【００２２】
制御ロジック管理装置２０は、図１の例では、データ取得部２２と、制御ロジック図面格納部３０と、追跡規則格納部３２と、制御ロジック追跡部３４と、表示情報生成部３６と、入力部３８とを含んでいる。以下では、まず各部２２，３０，３２，３４，３６，３８を概説し、その後、より具体的な例示を説明する。
【００２３】
データ取得部２２は、制御装置１４と動作監視装置１６と制御ロジック追跡部３４とに接続されている。データ取得部２２は、制御装置１４から上記制御プログラムの演算状態（換言すれば、実行状態）６４に関するデータを取得し、動作監視装置１６からプラント１０の動作状態６６に関するデータを取得し、取得したそれらのデータを制御ロジック追跡部３４へ出力する。
【００２４】
なお、制御プログラムの演算状態６４に関するデータを単に、演算状態６４と称する場合もある。同様に、プラント１０の動作状態６６に関するデータを単に、動作状態６６と称する場合もある。
【００２５】
演算状態６４として、例えば、制御プログラム中のどのステップ、換言すれば制御ロジック中のどの箇所が実行されているのかに関する情報、制御プログラムで利用されている各種の値（固定値、変数値、論理値、等）、等が挙げられる。また、動作状態６６として、例えば、プラント１０の動作モード（例えば、起動中、通常運転中、終了中、メンテナンス中等）の情報が挙げられる。
【００２６】
データ取得部２２は、図１の例では、演算状態６４を制御装置１４から取得して制御ロジック追跡部３４へ出力する演算状態取得部２４と、動作状態６６を動作監視装置１６から取得して制御ロジック追跡部３４へ出力する動作状態取得部２６とを含んでいる。但し、データ取得部２２の構成はこの例に限定されるものではない。
【００２７】
制御ロジック図面格納部３０は、制御装置１４で実行される上記制御プログラムの制御ロジックが記述された制御ロジック図面８０のデータを格納している記憶部である。なお、制御ロジック図面８０のデータを単に、制御ロジック図面８０と称する場合もある。制御ロジック図面格納部３０は、制御ロジック追跡部３４および表示情報生成部３６に接続されており、これにより制御ロジック追跡部３４および表示情報生成部３６は制御ロジック図面格納部３０にアクセス可能である。
【００２８】
追跡規則格納部３２は、制御ロジック図面８０の制御ロジックの結線を追跡するためにあらかじめ規定された追跡規則８２のデータを格納している記憶部である。特に、追跡規則８２のデータには、警報の発生原因の箇所を特定する際に利用する規則が規定されている。なお、追跡規則８２のデータを単に、追跡規則８２と称する場合もある。追跡規則格納部３２は、制御ロジック追跡部３４に接続されており、これにより制御ロジック追跡部３４は追跡規則格納部３２にアクセス可能である。
【００２９】
なお、制御ロジック図面格納部３０と追跡規則格納部３２は、別々の記憶装置（例えばハードディスク装置）で構成されてもよいし、あるいは、同じ記憶装置内の別々の記憶領域で構成されてもよい。
【００３０】
制御ロジック追跡部３４は、演算状態取得部２４と、動作状態取得部２６と、制御ロジック図面格納部３０と、追跡規則格納部３２と、表示情報生成部３６とに接続されている。制御ロジック追跡部３４は、制御ロジック図面格納部３０に格納されている制御ロジック図面８０中の結線を、警報を出力するための制御信号（以下、警報制御信号とも称する）の出力端子を起点にして、逆方向に辿り、それにより制御ロジック中において警報の発生原因となった箇所と、当該警報発生原因箇所へ至る追跡経路とを特定する。この際、制御ロジック追跡部３４は、データ取得部２２から取得した演算状態６４および動作状態６６と、追跡規則格納部３２に格納されている追跡規則８２とに従って、上記追跡を行う。
【００３１】
そして、制御ロジック追跡部３４は、得られた追跡結果８４のデータを表示情報生成部３６へ出力する。なお、追跡結果８４のデータを単に、追跡結果８４と称する場合もある。
【００３２】
表示情報生成部３６は、制御ロジック追跡部３４と、制御ロジック図面格納部３０とに接続されている。表示情報生成部３６は、制御ロジック追跡部３４から取得した追跡結果８４を、制御ロジック図面格納部３０に格納されている制御ロジック図面８０上に反映させて表示情報８６のデータを生成する。
【００３３】
より具体的に、表示情報８６では、警報制御信号の出力端子から警報の発生原因の箇所へ至る追跡経路が、制御ロジック図面８０上で強調される。強調の手法として例えば、線幅を太くする手法、色を変える手法等が挙げられる。生成された表示情報８６は表示装置１８において表示される。
【００３４】
入力部３８は、オペレータが制御ロジック管理装置２０に指示、データ等を入力するためのマンマシンインターフェースである。図１では図面の煩雑化を避けるために入力部３８と他の要素との接続関係を省略しているが、入力部３８から入力されたデータ等は制御ロジック追跡部３４等に伝達される。なお、入力部３８は、必要がなければ、省略することも可能である。
【００３５】
ここで、制御ロジック追跡部３４等における各種処理、換言すれば制御ロジック追跡部３４等の各種機能は、ソフトウェアによって実現可能である。具体的には、マイクロコンピュータがプログラムに記述された各処理ステップ（換言すれば手順）を実行することによって、当該マイクロコンピュータが各種処理を行う手段として機能し、あるいは、当該マイクロコンピュータが各種機能を提供する。各種処理または各種機能の一部または全部をハードウェアによって実現することも可能である。
【００３６】
＜制御ロジック図面８０＞
図２および図３に、制御ロジック図面８０の例として、制御ロジック図面８０ａ，８０ｂを示す。図２の制御ロジック図面８０ａ（図面＃１）と図３の制御ロジック図面８０ｂ（図面＃２）とは、制御ロジック上、繋がっており、一連の図面、換言すれば一つの図面群を生成している。図２および図３には、プラント１０に設けられた圧力センサによって計測されたプロセス値に関する一連の制御ロジックが例示されている。
【００３７】
具体的には、図２の制御ロジック図面８０ａには上記プロセス値を検定するロジックが記述されている。上記プロセス値は、アナログの入力信号ＡＩ００１として、入力端子Ｐ１１に入力される。
【００３８】
ここで、上記プロセス値は、動作監視装置１６によってプラント１０から取得され、動作監視装置１６から制御装置１４へ引き渡され、制御装置１４によって制御プログラムの実行に利用される。また、上記プロセス値は、制御装置１４から、演算状態情報６４として、演算状態取得部２４へ供給される。あるいは、上記プロセス値は、動作状態情報６６として、動作監視装置１６から動作状態取得部２６へ供給されてもよい。いずれの例においても、上記プロセス値は制御ロジック追跡部３４へ引き渡される。
【００３９】
入力端子Ｐ１１は下限検定演算子Ｌ１１の入力端子に接続されている。これにより、入力信号ＡＩ００１の値は下限検定演算子Ｌ１１によって、あらかじめ設定された下限値を下回っているか否かが演算される。そして、入力信号ＡＩ００１の値が下限しきい値を下回っている場合、下限検定演算子Ｌ１１はＯＮを出力し、そうでなければＯＦＦを出力する。
【００４０】
下限検定演算子Ｌ１１の出力端子はＡＮＤ演算子Ａ１１の入力端子に接続されている。また、ＡＮＤ演算子Ａ１１のもう一つの入力端子には、ＮＯＴ演算子Ｎ１１を介してＪＵＭＰ端子Ｊ１１の出力端子が接続されている。これにより、下限検定演算子Ｌ１１の出力値は、別の図面からＪＵＭＰ端子Ｊ１１へ引き渡された信号ＢＹ００１（後述する）のＮＯＴ演算結果と、ＡＮＤ演算される。ここでは、ＡＮＤ演算子Ａ１１による演算結果がＯＮである場合、それは上記プロセス値の下限異常を表す。
【００４１】
ＡＮＤ演算子Ａ１１の出力端子は、図３の図面＃２へ信号を引き渡すためのＪＵＭＰ端子Ｊ１２に接続されている。これにより、ＡＮＤ演算子Ａ１１による演算結果は、信号ＤＩ００１として、ＪＵＭＰ端子Ｊ１２から図面＃２へ引き渡される。
【００４２】
また、入力端子Ｐ１１は上限検定演算子Ｈ１１の入力端子に接続されており、上限検定演算子Ｈ１１の出力端子はＡＮＤ演算子Ａ１２の入力端子に接続されている。当該ＡＮＤ演算子Ａ１２のもう一つの入力端子には、ＮＯＴ演算子Ｎ１１を介してＪＵＭＰ端子Ｊ１１の入力端子が接続されている。これにより、入力信号ＡＩ００１が、あらかじめ設定された上限値を上回っているか否かが演算される。その演算結果はＪＵＭＰ端子Ｊ１３を介して他の図面へ引き渡される。ここでは、ＡＮＤ演算子Ａ１２による演算結果がＯＮである場合、それは上記プロセス値の上限異常を表す。
【００４３】
図面＃１の上記信号ＢＹ００１は、バイパス信号である。バイパス信号とは、プラント１０が通常運転モード以外の動作モード（例えば起動モードや停止モード等）である場合において、実行不要の演算等が実行されるのを回避するための信号である。
【００４４】
ここでは、バイパス信号ＢＹ００１がＯＦＦである場合を、プラント１０の通常運転モードに対応させることにする。この場合、通常運転モード以外の動作モードでは、バイパス信号ＢＹ００１はＯＮであるのでＮＯＴ演算子Ｎ１１の出力値はＯＦＦであり、その結果、ＡＮＤ演算子Ａ１１の出力値は、下限検定演算子Ｌ１１の出力値に関係なく、ＯＦＦである。つまり、下限検定の結果が無効化されることになり、下限異常を表す信号はＡＮＤ演算子Ａ１１から出力されない。上限検定についても同様である。
【００４５】
図３の制御ロジック図面８０ｂ（図面＃２）には、複数の図面からジャンプしてきた信号（いずれも異常の発生を示す信号）のうちで、最初に発生した異常に対応する信号を選定するためのロジックが記述されている。図３の例では、ＪＵＭＰ端子Ｊ２１〜Ｊ２４が設けられており、これらに他の図面からジャンプしてきた信号ＤＩ００１〜ＤＩ００４がそれぞれ入力される。ここでは、図２の制御ロジック図面８０ａ（図面＃１）からジャンプしてきた信号ＤＩ００１が入力されるＪＵＭＰ端子Ｊ２１について後段の制御ロジックを説明するが、図３に示すように他のＪＵＭＰ端子Ｊ２２〜Ｊ２４の後段も同様に構成されている。
【００４６】
ＪＵＭＰ端子Ｊ２１の出力端子はＡＮＤ演算子Ａ２１の入力端子に接続されている。また、ＡＮＤ演算子Ａ２１のもう一つの入力端子にはＪＵＭＰ端子Ｊ２５の出力端子が接続されている。ＡＮＤ演算子Ａ２１の出力端子は、ＡＮＤ演算子Ａ２２の入力端子に接続されている。また、ＡＮＤ演算子Ａ２２のもう一つの入力端子には、ＮＯＴ演算子Ｎ２１を介してＪＵＭＰ端子Ｊ２６の出力端子が接続されている。また、ＡＮＤ演算子Ａ２２の出力端子は、警報制御信号ＡＬ００１を出力するための出力端子Ｄ２１に接続されている。
【００４７】
警報制御信号ＡＬ００１は出力端子Ｄ２１から動作監視装置１６へ出力され、動作監視装置１６が、警報制御信号ＡＬ００１の取得によって、動作監視装置１６に設けられた（あるいは動作監視装置１６の外部に設けられた）警報機を作動させる。
【００４８】
信号ＤＩ００１〜ＤＩ００４に対して警報制御信号ＡＬ００１〜ＡＬ００４がそれぞれ対応付けられており、これらの警報制御信号ＡＬ００１〜ＡＬ００４は出力端子Ｄ２１〜Ｄ２４からそれぞれ出力される。
【００４９】
なお、警報制御信号ＡＬ００１〜ＡＬ００４は一旦ＯＮになると、所定の解除操作がなされるまでＯＮが持続するものとする。
【００５０】
上記ＪＵＭＰ端子Ｊ２５へ他の図面から引き渡されるセレクタ信号ＳＬ００１は、信号ＤＩ００１〜ＤＩ００４の全てがＯＦＦである状態においてＯＮを示し、信号ＤＩ００１〜ＤＩ００４のうちのいずれか１つがＯＮになった時点で（より具体的には、そのＯＮ遷移から、次段のＡＮＤ演算子２１等が演算結果を出力した後に）ＯＮからＯＦＦになる。
【００５１】
これにより、ＡＮＤ演算子Ａ２１は、信号ＤＩ００１がＯＦＦからＯＮになった時点で（すなわち、信号ＤＩ００１によって上記の下限異常の発生が通知された時点で）ＯＮを出力し、その後、セレクタ信号ＳＬ００１がＯＮからＯＦＦになるのに従ってＯＦＦになる。また、信号ＤＩ００１がＯＦＦであり他の信号ＤＩ００２〜ＤＩ００４のいずれかがＯＮになった場合、ＡＮＤ演算子Ａ２１はＯＦＦのままである。図３の例によれば、ＡＮＤ演算子Ａ２１の出力値は、ＡＮＤ演算子Ａ２２を介して出力端子Ｄ２１から出力されることになる。
【００５２】
ここで、ＪＵＭＰ端子Ｊ２６に他の図面から引き渡されるブロック信号ＢＬ００１は、上記バイパス信号ＢＹ００１（図２参照）と同様に、プラント１０が通常運転モード以外の動作モードである場合に、実行不要の演算等が実行されるのを回避するための（ここでは、警報制御信号ＡＬ００１が出力端子Ｄ２１から出力されるのを回避するための）信号である。
【００５３】
ここでは、ブロック信号ＢＬ００１がＯＦＦである場合を、通常運転モードに対応させることにする。この場合、通常運転モード以外の動作モードでは、ブロック信号ＢＬ００１はＯＮであるのでＮＯＴ演算子Ｎ２１はＯＦＦを出力し、その結果、ＡＮＤ演算子Ａ２２は、ＡＮＤ演算子Ａ２１の出力値に関係なく、ＯＦＦを出力する。つまり、ＡＮＤ演算子Ａ２１の演算結果が無効化される。
【００５４】
このように、図面＃２の制御ロジックによれば、信号ＤＩ００１〜ＤＩ００４のうちで最初にＯＮになった信号は、警報制御信号ＡＬ００１〜ＡＬ００４のうちで対応する信号だけを排他的にＯＮにする。このため、警報制御信号ＡＬ００１〜ＡＬ００４の状態から、信号ＤＩ００１〜ＤＩ００４のうちで最初にＯＮになった信号を判別することが可能である。すなわち、通常運転モードのプラント１０になんらかの異常が次々と起こり、それらに応じて各警報機が作動する状況下において、最初に発生した警報を判別することが可能である。
【００５５】
＜追跡規則および追跡処理＞
図４および図５に、追跡規則８２の例として、追跡規則８２ａ，８２ｂを示す。
【００５６】
追跡規則８２ａには追跡に際しての原則的な事項が規定されており、図４の例では追跡規則８２ａは１０個の追跡規則８２ａ１〜８２ａ１０で構成されている。但し、ここで例示する１０個の追跡規則８２ａ１〜８２ａ１０のうちの一部を省略してもよいし、あるいは他の規則を追跡規則８２ａに追加してもよい。
【００５７】
追跡規則８２ｂには追跡規則８２ａを適用する際に必要となる情報が規定されている。図５の例では、信号の種別ごとに、追跡の必要性と、その信号の予測値とが規定されている。図５に例示の追跡規則８２ｂはプラント１０が通常運転モードである場合に適用される規則であり、他の動作モードについても必要に応じて、同様の追跡規則があらかじめ規定される。
【００５８】
以下では、プラント１０が通常運転モードで動作中に、図２および図３の制御ロジック図面８０ａ，８０ｂ上で警報制御信号ＡＬ００１がＯＮになった場合を例に挙げて、警報の発生原因の追跡処理（制御ロジック追跡部３４によって実行される）を具体的に説明する。
【００５９】
まず、図３の制御ロジック図面８２ｂ（図面＃２）において、警報制御信号ＡＬ００１が出力される出力端子Ｄ２１を起点にして、制御ロジックの結線を逆方向に辿ると（すなわち、遡ると）、ＡＮＤ演算子Ａ２２に到達する。警報制御信号ＡＬ００１がＯＮである場合、ＡＮＤ演算子Ａ２２の出力値はＯＮであるので、ＡＮＤ演算子Ａ２２の２つの入力値は両方ともＯＮであると判断できる。この場合、追跡規則８２ａ１（すなわち、出力値から入力値が自明である場合、自明な値で入力側の全ての結線を追跡する旨の規則）に従って、ＡＮＤ演算子Ａ２２の２つの入力側結線が両方とも追跡対象になる。
【００６０】
そこで、ＡＮＤ演算子Ａ２２について図３中で左側の入力端子の結線を逆方向に辿ると、ＮＯＴ演算子Ｎ２１に到達する。ここではＮＯＴ演算子Ｎ２１へ至るＡＮＤ演算子Ａ２２の入力値がＯＮであるので、ＮＯＴ演算子Ｎ２１の出力値はＯＮであり、したがってＮＯＴ演算子Ｎ２１の入力値はＯＦＦであると判断できる。この場合も追跡規則８２ａ１に従うことになるが、ＮＯＴ演算子Ｎ２１の入力側結線は１つだけなので、この１つの入力側結線が追跡対象になる。
【００６１】
ＮＯＴ演算子Ｎ２１の入力側結線をさらに辿ると、ブロック信号ＢＬ００１が入力されるＪＵＭＰ端子Ｊ２６に到達する。ここで図５の追跡規則８２ｂによれば、ブロック信号は通常運転モードでは、それ以上の追跡が必要ない旨が規定されている。よって、図４の追跡規則８２ａ４（すなわち、特定の動作モード下で追跡の必要がない信号に到達した場合、その信号を伝達する結線については、さらなる追跡を行わない旨の規則）に従って、この結線についてはそこで追跡を終了する。これにより、ＡＮＤ演算子Ａ２２の左側の入力端子に繋がる結線については、追跡不要と判断される。
【００６２】
他方、ＡＮＤ演算子Ａ２２について図３中で右側の入力端子の結線を逆方向に辿ると、ＡＮＤ演算子Ａ２１に到達する。ここでは当該ＡＮＤ演算子Ａ２１へ至るＡＮＤ演算子Ａ２２の入力値がＯＮであるので、ＡＮＤ演算子Ａ２１の出力値はＯＮであり、したがってＡＮＤ演算子Ａ２１の入力値は両方ともＯＮであると判断できる。この場合、追跡規則８２ａ１に従って、ＡＮＤ演算子Ａ２１の２つの入力側結線が両方とも追跡対象になる。
【００６３】
ＡＮＤ演算子Ａ２１について図３中で左側の入力端子の結線を逆方向に辿ると、セレクタ信号ＳＬ００１が入力されるＪＵＭＰ端子Ｊ２５に到達する。ここで図５の追跡規則８２ｂによれば、セレクタ信号は通常運転モードでは、それ以上の追跡が必要ない旨が規定されている。よって、図４の追跡規則８２ａ４に従って、この結線についてはそこで追跡を終了する。これにより、ＡＮＤ演算子Ａ２１の左側の入力端子に繋がる結線については、追跡不要と判断される。
【００６４】
これに対し、ＡＮＤ演算子Ａ２１について図３中で右側の入力端子の結線を逆方向に辿ると、図面＃１に繋がるＪＵＭＰ端子Ｊ２１に到達する。このため、このＪＵＭＰ端子Ｊ２１と図面＃１中のＪＵＭＰ端子Ｊ１２とを経由して、さらに結線を辿ると、ＡＮＤ演算子Ａ１１に到達する。
【００６５】
ＡＮＤ演算子Ａ１１について図２中で左側の入力端子の結線を逆方向に辿ると、ＮＯＴ演算子Ｎ１１に到達する。ここではＮＯＴ演算子Ｎ１１へ至るＡＮＤ演算子Ａ１１の入力値がＯＮであるので、ＮＯＴ演算子Ｎ１１の出力値はＯＮであり、したがってＮＯＴ演算子Ｎ１１の入力値はＯＦＦであると判断できる。この場合も追跡規則８２ａ１に従って、ＮＯＴ演算子Ｎ１１の入力側結線は追跡対象になる。
【００６６】
ＮＯＴ演算子Ｎ１１の入力側結線をさらに辿ると、バイパス信号ＢＹ００１が入力されるＪＵＭＰ端子Ｊ１１に到達する。ここで図５の追跡規則８２ｂによれば、バイパス信号は通常運転モードでは、それ以上の追跡が必要ない旨が規定されている。よって、図４の追跡規則８２ａ４に従って、この結線についてはそこで追跡を終了する。これにより、ＡＮＤ演算子Ａ１１の左側の入力端子に繋がる結線については、追跡不要と判断される。
【００６７】
他方、ＡＮＤ演算子Ａ１１について図２中で右側の入力端子の結線を逆方向に辿ると、下限検定演算子Ｌ１１に到達する。ここでは下限検定演算子Ｌ１１へ至るＡＮＤ演算子Ａ１１の入力値がＯＮであるので、下限検定演算子Ｌ１１の出力値はＯＮであり、したがって下限検定演算子Ｌ１１の入力値は下限しきい値を下回る値であると判断できる。この場合も追跡規則８２ａ１に従って、下限検定演算子Ｌ１１の入力側結線は追跡対象になる。
【００６８】
そして、下限検定演算子Ｌ１１の入力側結線を逆方向に辿ると、入力端子Ｐ１１に到達する。入力端子Ｐ１１は制御ロジック中の末端であるので、ここで結線の追跡が終了する。
【００６９】
つまり、入力端子Ｐ１１が警報の発生原因の箇所であると特定される。また、この入力端子Ｐ１１に入力される入力信号ＡＩ００１（上記例では、プラント１０に設けられた圧力センサによって計測されたプロセス値）の値が異常であることが、警報の発生原因であると特定される。また、上記のようにして辿った、警報制御信号ＡＬ００１の出力端子Ｄ２１から入力信号ＡＩ００１の入力端子Ｐ１１までの経路が、警報発生原因箇所へ至る追跡経路として特定される。
【００７０】
＜追跡結果の表示＞
図６に、表示装置１８の画面に表示される追跡結果の表示例を示す。図６の例では、制御ロジック図面８２ａ，８２ｂ上で追跡結果に係る経路が太線で強調されることによって、当該追跡経路が判別しやすく表示されている。
【００７１】
また、図６の例では、画面左側に複数の制御ロジック図面のうちの１つ（ここでは制御ロジック図面８２ａ）が表示されるとともに、画面右側にリンク先となる他の制御ロジック図面（ここでは制御ロジック図面８２ｂ）がサムネイル（縮小表示）で表示されている。このように、連続した制御ロジック図面８２ａ，８２ｂを同時に表示することによって、制御ロジックの前後の繋がりを確認しやすくなる。
【００７２】
ここで、追跡経路が複数の制御ロジック図面に跨る場合、追跡経路の確認の優先度に応じた表示を採用してもよい。例えば、オペレータに最初に提示する画面では、警報制御信号ＡＬ００１の出力端子Ｄ２１を含んだ制御ロジック図面８２ａ（図面＃１）を画面左側の大きな領域に表示する。
【００７３】
なお、追跡結果の表示形態は、これらの例に限定されるものではない。
【００７４】
＜追跡処理および追跡結果表示に関連した効果＞
このように、制御ロジック追跡部３４が制御ロジック図面８０ａ，８０ｂ中の結線の追跡することによって、警報の発生原因の箇所が自動的に特定される。また、追跡経路を制御ロジック図面８０ａ，８０ｂ上に反映した表示情報８６が生成される。このため、警報発生原因箇所および追跡経路を表示装置１８の画面上で容易に把握することが可能になる。その結果、例えば、警報発生から原因特定までの時間を短縮できる。
【００７５】
また、追跡規則８２ａ４によれば、所定条件を満たす結線に対してはさらなる追跡を行わないので、追跡対象を減らすことができる。このため、追跡を迅速に実行することができる。
【００７６】
＜追跡規則の他の例＞
ここで、図４に例示した他の追跡規則について説明を加える。
【００７７】
追跡規則８２ａ２には、出力値から入力値が自明でない場合、仮定値で入力側の全ての結線を追跡する旨が規定されている。かかる追跡規則８２ａ２が適用される制御ロジックの一例を図７に示す。
【００７８】
図７の例において、ＯＲ演算子Ｏ７１の出力値はＯＮであるので、当該ＯＲ演算子Ｏ７１の２つの入力値の一方または両方がＯＮである。
【００７９】
そこで、ＯＲ演算子Ｏ７１の左側の入力端子について、その入力値がＯＮであると仮定して追跡を続ける。当該左側の入力端子を逆方向に辿ると、通信異常を示す信号ＣＥ００１が入力されるＪＵＭＰ端子Ｊ７１に到達する。図５の追跡規則８２ｂには、通信異常信号は追跡する必要がある旨、および、通信異常信号の予測値がＯＦＦである旨が規定されている。
【００８０】
そして、データ取得部２２から取得した通信異常信号ＣＥ００１の実際の値が、追跡規則８２ｂに規定された予測値と同じ場合、図４の追跡規則８２ａ５（すなわち、特定の動作モード下で追跡の必要がある信号に到達した場合、かつ、その信号の値が予測値と同じである場合、その信号を伝達する結線については、さらなる追跡を行わない旨の規則）に従って、通信異常信号ＣＥ００１が入力されるＪＵＭＰ端子Ｊ７１の結線については、そこで追跡を終了する。
【００８１】
これに対し、データ取得部２２から取得した通信異常信号ＣＥ００１の実際の値が、追跡規則８２ｂに規定された予測値と異なる場合、図４の追跡規則８２ａ６（すなわち、特定の動作モード下で追跡の必要がある信号に到達した場合、かつ、その信号の値が予測値と異なる場合、その信号を伝達する結線を、追跡優先度を上げて追跡する旨の規則）に従う。すなわち、通信異常信号ＣＥ００１が入力されるＪＵＭＰ端子Ｊ７１の結線については、追跡優先度を上げて、追跡を継続する。
【００８２】
通信異常信号はプラント１０が正常に動作していればＯＦＦである可能性が高いが、通信制御装置の故障等により異常が発生するとＯＮになる。かかる点に鑑み、ブロック信号やバイパス信号とは異なり、必ずしもＯＦＦであると断定できない信号については、予測値と実際の値とを比較して追跡の必要性を判断する。
【００８３】
ここで、追跡規則８２ａ５によれば、所定条件を満たす結線に対してはさらなる追跡を行わないので、追跡対象を減らすことができる。このため、追跡を迅速に実行することができる。
【００８４】
なお、追跡規則８２ａ２に関連して、追跡規則８２ａ３には、信号値を仮定して追跡をしている場合、かつ、その信号値が判明した場合、判明した値で再度、追跡を行う旨が規定されている。
【００８５】
上記のように、図７の例では、ＯＲ演算子Ｏ７１の出力値はＯＮであるので、当該ＯＲ演算子Ｏ７１の一方または両方の入力値がＯＮである。例えば、右側の入力端子にＯＮが入力されるという仮定の下で追跡している途中で、当該右側の入力端子への入力値はＯＦＦであることが判明した場合、追跡規則８２ａ３に従い当該ＯＲ演算子Ｏ７１に戻って追跡をやり直す。
【００８６】
図８に、複数の入力端子を持つ演算子Ｘ８１を例示する。なお、演算子Ｘ８１による演算内容は例えばＡＮＤ演算、ＯＲ演算等である。
【００８７】
複数の入力端子をどの順番で追跡対象に選定するかは基本的に任意である。しかし、追跡処理を実行するプログラムの作成、制御ロジック中における追跡の重要度の違い、等に鑑みると、各入力端子に対して追跡優先度をあらかじめ設定しておき、図４の追跡規則８２ａ７（すなわち、演算子の入力端子に追跡優先度が設定されている場合、追跡優先度の高い入力端子から順番に追跡する旨の規定）と組み合わせるのが実用的である。
【００８８】
例えば演算子Ｘ８１について、複数の入力端子のうちで左端の入力端子に最高レベルの追跡優先度を設定し、右側に向かうほど追跡優先度を下げた場合、追跡規則８２ａ７に従って、各入力端子が左端から右端へ向かって順番に、追跡対象として選択される。
【００８９】
各入力端子の追跡優先度は、例えば、図９に例示するように各入力端子の追跡優先度の情報を規定した追跡規則８２ｃによって付与可能である。あるいは、各入力端子の追跡優先度の情報を、例えば、制御ロジック図面のデータに組み込んでもよい。あるいは、追跡処理を実行するプログラム中に、各入力端子の追跡優先度に関する定義を設けてもよい。
【００９０】
入力端子の追跡優先度は、演算子の種別ごとに設定してもよいし、あるいは、個々の演算子ごとに設定してもよい（この場合、同じ種別の演算子であっても異なる追跡優先度を設定可能である）。
【００９１】
また、図４の追跡規則８２ａは、追跡優先度に関して追跡規則８２ａ８を含んでいる。すなわち、追跡規則８２ａ８は、演算子の入力端子に追跡優先度が設定されている場合、優先度しきい値よりも優先度が低い入力端子の結線については、さらなる追跡を行わない旨を規定している。
【００９２】
かかる追跡規則８２ａ８によれば、所定条件を満たす結線に対してはさらなる追跡を行わないので、追跡対象を減らすことができる。このため、追跡を迅速に実行することができる。
【００９３】
なお、図４の例では追跡規則８２ａ７，８２ａ８の両方が含まれるが、これらのうちの一方のみを採用することも可能である。
【００９４】
また、演算子の入力端子に加えてあるいは代えて、信号に追跡優先度を設定してもよい。すなわち、図５に例示した追跡規則８２ｂでは追跡の必要があるか否かの２つのレベルが規定されていたが、図１０に例示する追跡規則８２ｄのように３つ以上のレベルの追跡優先度を採用してもよい。
【００９５】
信号の追跡優先度は、図１０に例示するように信号の種別ごとに設定してもよいし、あるいは、個々の信号ごとに設定してもよい（この場合、同じ種別の信号であっても異なる追跡優先度を設定可能である）。
【００９６】
図４の例では、信号の追跡優先度に関して、追跡規則８２ａ９，８２ａ１０が設けられている。すなわち、追跡規則８２ａ９には、信号に追跡優先度が設定されている場合、追跡優先度の高い信号を伝達する結線から順番に追跡する旨が規定されている。また、追跡規則８２ａ１０には、信号に追跡優先度が設定されている場合、優先度しきい値よりも優先度が低い信号を伝達する結線については、さらなる追跡を行わない旨が規定されている。但し、追跡規則８２ａ９，８２ａ１０の一方のみを採用することも可能である。
【００９７】
特に追跡規則８２ａ１０によれば、所定条件を満たす結線に対してはさらなる追跡を行わないので、追跡対象を減らすことができる。このため、追跡を迅速に実行することができる。
【００９８】
ここで、演算子の入力端子の追跡優先度および信号の追跡優先度を、入力部３８（図１参照）を介してオペレータ等が設定する（換言すれば、変更する）ことによって、追跡順序や追跡範囲を変更することができる。このため、例えばオペレータの熟練度に応じた追跡を設定することが可能になる。
【００９９】
＜実施の形態２＞
図１１に、実施の形態２に係る制御ロジック管理装置２０Ｂのブロック図を示す。図１１には、説明のために、プラント１０と、制御装置１４と、動作監視装置１６と、表示装置１８も図示している。
【０１００】
制御ロジック管理部２０Ｂは、図１に例示した制御ロジック管理装置２０に、スナップショットデータ保存部４０を追加した構成を有している。スナップショットデータ保存部４０は、プラント１０の制御プログラムの演算状態６４とプラント１０の動作状態６６とを、警報の発生ごとに、スナップショットデータとして保存する。スナップショットデータは、例えば、演算状態６４および動作状態６６が警報の発生日時に関連づけられたデータ群として構成される。
【０１０１】
図１１の例では、スナップショットデータ保存部４０は、スナップショットデータ取得部４２と、スナップショットデータ格納部４４とを含んでいる。
【０１０２】
スナップショットデータ取得部４２は、データ取得部２２（より具体的には演算状態取得部２４および動作状態取得部２６）と、スナップショットデータ格納部４４とに接続されている。スナップショットデータ取得部４２は、データ取得部２２から演算状態６４および動作状態６６を取得し、それらを警報の発生ごとのスナップショットデータとして、スナップショットデータ格納部４４内に格納する。
【０１０３】
スナップショットデータ格納部４４は、上記のようにスナップショットデータが格納される記憶部である。スナップショットデータ格納部４４は、スナップショットデータ取得部３４に接続されており、これにより制御ロジック追跡部３４はスナップショットデータ格納部４４にアクセス可能である。
【０１０４】
なお、スナップショットデータ格納部４４は、制御ロジック図面格納部３０および追跡規則格納部３２と別々の記憶装置で構成されてもよいし、あるいは、制御ロジック図面格納部３０または追跡規則格納部３２と同じ記憶装置内の別々の記憶領域で構成されてもよい。
【０１０５】
かかる構成下、制御ロジック追跡部３４は、警報の発生日時を検索キーに設定してスナップショットデータ格納部４２内の蓄積データを検索することによって、検索キーに関連づけられた演算状態６４および動作状態６６を取り出すことが可能である。このため、過去に発生した警報について追跡処理を実行して、その警報の発生原因の箇所等を把握することができる。
【０１０６】
ここで、追跡処理に利用する演算状態６４および動作状態６６の具体的項目が警報の種別ごとに異なる場合、例えば、演算状態６４および動作状態６６のうちで追跡処理に必要な項目を、警報の種別ごとに、あらかじめ登録しておけばよい。図１１の例では、その登録先として追跡規則格納部３２を利用している。この例によれば、スナップショットデータ取得部４２は、追跡規則格納部３２内の登録内容に従って、必要な項目でスナップショットデータを生成する。
【０１０７】
なお、制御ロジック管理部２０Ｂは図１に例示した制御ロジック管理装置２０の構成も含んでいるので、制御ロジック管理部２０Ｂによれば、制御ロジック管理装置２０が奏する効果も得ることができる。
【０１０８】
＜付記＞
本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【０１０９】
１０  プラント（制御対象）、１４  制御装置、１６  動作監視装置、２０，２０Ｂ  制御ロジック管理装置、２２  データ取得部、２４  演算状態取得部、２６  動作状態取得部、３０  制御ロジック図面格納部、３２  追跡規則格納部、３４  制御ロジック追跡部、３６  表示情報生成部、３８  入力部、４０  スナップショットデータ保存部、６４  演算状態データ、６６  動作状態データ、８０，８０ａ，８０ｂ  制御ロジック図面、８２，８２ａ〜８２ｄ，８２ａ１〜８２ａ１０  追跡規則、８４  追跡結果、８６  表示情報、ＡＬ００１〜ＡＬ００４  警報制御信号、Ｄ２１〜Ｄ２４  警報制御信号の出力端子、Ｐ１１  入力端子（警報の発生原因の箇所）。
【図１】
0005726100.tif 000002
【図２】
0005726100.tif 000003
【図３】
0005726100.tif 000004
【図４】
0005726100.tif 000005
【図５】
0005726100.tif 000006
【図６】
0005726100.tif 000007
【図７】
0005726100.tif 000008
【図８】
0005726100.tif 000009
【図９】
0005726100.tif 000010
【図１０】
0005726100.tif 000011
【図１１】
0005726100.tif 000012