(57)【要約】      （修正有）【課題】システマティックフェイラに対する信頼性を向上させる。【解決手段】仮想化オペレーティングシステムにより複数の仮想化コントローラを作成するコントローラ１０と、各仮想化コントローラに対応して設けられ、仮想化コントローラにより生成された第１プラント制御信号を出力する複数の入出力部１２ａ、１２ｂ、１２ｃと、複数の入出力部から出力された第１プラント制御信号に基づいて第２プラント制御信号を生成し、第２プラント制御信号をプラント制御機器へ送信する信号選択部１３と、を備える。各仮想化コントローラは、プラント機器の状態信号を用いて制御演算を行い、第１プラント制御信号を生成する。各仮想化コントローラでは互いに異なるオペレーティングシステムが動作する。【選択図】図３
2015026279.tif 000002
【特許請求の範囲】
【請求項１】
仮想化オペレーティングシステムにより複数の仮想化コントローラを作成するコントローラと、
各仮想化コントローラに対応して設けられ、仮想化コントローラにより生成された第１プラント制御信号を出力する複数の入出力部と、
前記複数の入出力部から出力された前記第１プラント制御信号に基づいて第２プラント制御信号を生成し、前記第２プラント制御信号をプラント制御機器へ送信する信号選択部と、
を備え、
各仮想化コントローラは、プラント機器の状態信号を用いて制御演算を行い、前記第１プラント制御信号を生成し、
各仮想化コントローラでは互いに異なるオペレーティングシステムが動作することを特徴とするプラント監視制御装置。
【請求項２】
各仮想化コントローラのオペレーティングシステム上でミドルウェアがアプリケーションソフトウェアを実行して前記第１プラント制御信号が生成され、
各仮想化コントローラのオペレーティングシステム、ミドルウェア、及びアプリケーションソフトウェアは互いに異なることを特徴とする請求項１に記載のプラント監視制御装置。
【請求項３】
前記信号選択部は、各仮想化コントローラにより生成された前記第１プラント制御信号の中間値又は多数決をとって前記第２プラント制御信号を生成することを特徴とする請求項１又は２に記載のプラント監視制御装置。
【請求項４】
仮想化オペレーティングシステムにより複数の第２仮想化コントローラを作成する第２コントローラをさらに備え、
各第２仮想化コントローラは、前記状態信号を用いて制御演算を行い、第３プラント制御信号を生成し、
前記信号選択部は、前記第１プラント制御信号及び前記第３プラント制御信号に基づいて前記第２プラント制御信号を生成することを特徴とする請求項１乃至３のいずれかに記載のプラント監視制御装置。
【請求項５】
仮想化オペレーティングシステムにより、複数の第１仮想化コントローラと、第２仮想化コントローラとを作成するコントローラを備え、
各第１仮想化コントローラは、プラント機器の状態信号を用いて制御演算を行い、第１プラント制御信号を生成し、
前記第２仮想化コントローラは、各第１仮想化コントローラにより生成された前記第１プラント制御信号に基づいて第２プラント制御信号を生成し、前記第２プラント制御信号をプラント制御機器へ送信し、
各第１仮想化コントローラでは互いに異なるオペレーティングシステムが動作することを特徴とするプラント監視制御装置。
【請求項６】
仮想化オペレーティングシステムにより、互いに異なるオペレーティングシステムが動作する複数の仮想化コントローラを作成するステップと、
各仮想化コントローラが、各仮想化コントローラに対応して設けられた複数の入出力部を介してプラント機器の状態信号を受信するステップと、
各仮想化コントローラが前記状態信号を用いて制御演算を行い、第１プラント制御信号を生成するステップと、
前記複数の入出力部を介して前記第１プラント制御信号を出力するステップと、
前記複数の入出力部から出力された前記第１プラント制御信号の中間値又は多数決をとって第２プラント制御信号を生成するステップと、
前記第２プラント制御信号をプラント制御機器へ送信するステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プラント監視制御装置及びプログラムに関する。
【背景技術】
【０００２】
発電プラントのタービン機器の監視・制御を行う監視制御装置は、多重化されたコントローラを有し、各コントローラが蒸気加減弁や補助機器等のタービンプロセスを制御する演算を行っている。そして、信号選択装置が各コントローラの演算結果の中間値又は多数決をとって制御信号を出力し、タービンプロセスを制御している。
【０００３】
このような従来の監視制御装置は、コントローラが多重化（冗長化）されているため、ハードウェア故障等のランダムフェイラに対する信頼性が高かった。しかし、ソフトウェアに内在する不適合等のシステマティックフェイラに対する信頼性は向上出来ていなかった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１８０１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、システマティックフェイラに対する信頼性を向上させたプラント監視制御装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
本実施形態によれば、プラント監視制御装置は、仮想化オペレーティングシステムにより複数の仮想化コントローラを作成するコントローラと、各仮想化コントローラに対応して設けられ、仮想化コントローラにより生成された第１プラント制御信号を出力する複数の入出力部と、前記複数の入出力部から出力された前記第１プラント制御信号に基づいて第２プラント制御信号を生成し、前記第２プラント制御信号をプラント制御機器へ送信する信号選択部と、を備える。各仮想化コントローラは、プラント機器の状態信号を用いて制御演算を行い、前記第１プラント制御信号を生成する。各仮想化コントローラでは互いに異なるオペレーティングシステムが動作する。
【図面の簡単な説明】
【０００７】
【図１】本実施形態に係るプラント監視制御システムの概略構成図である。
【図２】本実施形態に係るプラント監視制御装置のハードウェア構成図である。
【図３】本実施形態に係るタービンプロセス制御部の論理構成図である。
【図４】変形例によるタービンプロセス制御部の論理構成図である。
【図５】変形例によるタービンプロセス制御部の論理構成図である。
【図６】変形例によるタービンプロセス制御部の論理構成図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態を図面に基づいて説明する。
【０００９】
図１は本実施形態に係るプラント監視制御システムの概略構成を示す。図１に示すように、プラント監視制御システムは、プラント監視制御装置１と、プラント２とを備える。プラント２には、プラント機器や、プラント機器の状態を検出し、状態信号を出力する各種センサ、プラント機器を制御するプラント制御機器などが設けられている。プラント制御装置１は、プラント２の各種センサから状態信号を受け取り、プラント制御信号を出力してプラント制御機器を制御する。
【００１０】
例えば、プラント２が発電プラントである場合、プラント機器として、ボイラ、タービン、発電機等が設置されている。各種センサは、状態信号として、例えば、タービンに供給される蒸気圧力、タービン回転数、発電機の出力等を検出する。プラント監視制御装置１は、センサから取得した状態信号に基づき、例えば、蒸気流量を調整するバルブの開度を制御するプラント制御信号を生成し、出力する。以下では、タービンプロセスを監視・制御する例について説明する。
【００１１】
図２は、プラント監視制御装置１のハードウェア構成図である。図２に示すように、プラント監視制御装置１は、コントローラ１０、第１入出力部１２ａ〜１２ｃ、信号選択部１３、及び第２入出力部１４を備えている。第２入出力部１４は、外部の通信回線に接続され、プラント２の各種センサが検出した状態信号が入力される。また、第２入出力部１４は、プラント制御信号をプラント２のプラント制御機器へ出力する。第１入出力部１２ａ〜１２ｃは、後述する仮想化コントローラ１１０ａ〜１１０ｃに対応して設けられている。
【００１２】
コントローラ１０は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）を有している。ＣＰＵは、ＲＯＭに記憶されているプログラムをＲＡＭにロードし、プログラムを実行することで、タービンプロセス制御部を実現する。
【００１３】
図３に、ＣＰＵがプログラムを実行することで実現されるタービンプロセス制御部の論理構成を示す。プログラムの実行により、コントローラ１０上に仮想化オペレーティングシステム（以下、“仮想化ＯＳ”という）１００が動作し、この仮想化ＯＳ１００上で仮想化コントローラ１１０ａ〜１１０ｃが作成される。
【００１４】
仮想化コントローラ１１０ａは、仮想化ＯＳ１００及び第１入出力部１２ａを介して状態信号を取得する。仮想化コントローラ１１０ａは、オペレーティングシステム（以下、“ＯＳ”という）１１２ａ及びタービンプロセス制御ミドルウェア１１４ａを実装し、ＯＳ１１２ａ上でタービンプロセス制御ミドルウェア１１４ａがタービンプロセス制御アプリソフト（アプリケーションプログラム）１１６ａを実行する。
【００１５】
タービンプロセス制御アプリソフト１１６ａを実行することで、状態信号に基づいてタービンプロセスを制御するための演算が行われ、タービンプロセス制御信号が生成される。例えば、状態信号が示すタービン回転数と、タービン回転数の目標値とが比較され、比較結果に基づいて、蒸気流量を調整するためのタービンプロセス制御信号が生成される。仮想化コントローラ１１０ａは、仮想化ＯＳ１００及び第１入出力部１２ａを介して、生成したタービンプロセス制御信号を信号選択部１３へ出力する。
【００１６】
仮想化コントローラ１１０ｂは、仮想化ＯＳ１００及び第１入出力部１２ｂを介して状態信号を取得する。仮想化コントローラ１１０ｂは、ＯＳ１１２ｂ及びタービンプロセス制御ミドルウェア１１４ｂを実装し、ＯＳ１１２ｂ上でタービンプロセス制御ミドルウェア１１４ｂがタービンプロセス制御アプリソフト１１６ｂを実行する。
【００１７】
タービンプロセス制御アプリソフト１１６ｂを実行することで、状態信号に基づいてタービンプロセスを制御するための演算が行われ、タービンプロセス制御信号が生成される。仮想化コントローラ１１０ｂは、仮想化ＯＳ１００及び第１入出力部１２ｂを介して、生成したタービンプロセス制御信号を信号選択部１３へ出力する。
【００１８】
仮想化コントローラ１１０ｃは、仮想化ＯＳ１００及び第１入出力部１２ｃを介して状態信号を取得する。仮想化コントローラ１１０ｃは、ＯＳ１１２ｃ及びタービンプロセス制御ミドルウェア１１４ｃを実装し、ＯＳ１１２ｃ上でタービンプロセス制御ミドルウェア１１４ｃがタービンプロセス制御アプリソフト１１６ｃを実行する。
【００１９】
タービンプロセス制御アプリソフト１１６ｃを実行することで、状態信号に基づいてタービンプロセスを制御するための演算が行われ、タービンプロセス制御信号が生成される。仮想化コントローラ１１０ｃは、仮想化ＯＳ１００及び第１入出力部１２ｃを介して、生成したタービンプロセス制御信号を信号選択部１３へ出力する。
【００２０】
仮想化コントローラ１１０ａ〜１１０ｃが実装するＯＳ１１２ａ〜１１２ｃはそれぞれ異なるものである。例えば、ＯＳ１１２ａ〜１１２ｃには、Ｗｉｎｄｏｗｓ  ＣＥ（登録商標）、ＶｘＷｏｒｋｓ（登録商標）、μＩＴＲＯＮなど互いに異なるものが用いられる。
【００２１】
同様に、仮想化コントローラ１１０ａ〜１１０ｃが実装するタービンプロセス制御ミドルウェア１１４ａ〜１１４ｃも互いに異なるものである。
【００２２】
また、タービンプロセス制御アプリソフト１１６ａ〜１１６ｃも、同じ制御ロジックを異なるミドルウェアで実行するために異なる言語で構築される。
【００２３】
仮想化コントローラ１１０ａ〜１１０ｃは、同じ状態信号が入力し、同じ制御ロジックを実行するため、ＯＳ１１２ａ〜１１２ｃ、タービンプロセス制御ミドルウェア１１４ａ〜１１４ｃ、タービンプロセス制御アプリソフト１１６ａ〜１１６ｃが正常である場合は、同じタービンプロセス制御信号を生成して出力する。
【００２４】
信号選択部１３は、第１入出力部１２ａ〜１２ｃを介して、仮想化コントローラ１１０ａ〜１１０ｃにより作成された３つのタービンプロセス制御信号（第１プラント制御信号）を取得する。そして、信号選択部１３は、３つのタービンプロセス制御信号の中間値又は多数決をとってタービンプロセス制御信号（第２プラント制御信号）を生成し、第２入出力部１４を介してプラント２のプラント制御機器へ出力する。
【００２５】
本実施形態では、それぞれ異なるＯＳ、ミドルウェア、アプリソフトを実装する複数の仮想化コントローラ１１０ａ〜１１０ｃが作成されている。言い換えれば、ソフトウェアが多重化（冗長化）されている。そのため、例えば、仮想化コントローラ１１０ａ上のＯＳ、ミドルウェア、アプリソフトに不適合（例えば、Ｃ言語のコンパイラにミスがある等のバグ）が内在されている場合でも、他の仮想化コントローラ１１０ｂ、１１０ｃからは正常なタービンプロセス制御信号が出力される。信号選択部１３は、これらのタービンプロセス制御信号に基づいて、正常なプラント制御信号をプラント制御機器へ出力することができる。
【００２６】
信号選択部１３は、異常なプラント制御信号を出力する仮想化コントローラが存在している場合、この仮想化コントローラのＯＳ、ミドルウェア、アプリソフトに不適合が在外していることをオペレータに報知するようにしてもよい。
【００２７】
このように本実施形態では、１つのコントローラの仮想化ＯＳ１００上に複数の仮想化コントローラ１１０ａ〜１１０ｃを実現し、各仮想化コントローラ１１０ａ〜１１０ｃのＯＳ、ミドルウェア、アプリソフトを異なるものにすることで、ソフトウェアの冗長化を図り、ソフトウェアに内在する不適合等のシステマティックフェイラに対する信頼性を向上させることができる。
【００２８】
上記第１の実施形態では、仮想化ＯＳ１００上に、互いに異なるＯＳ、ミドルウェア、アプリソフトを実装する３つの仮想化コントローラ１１０ａ〜１１０ｃが作成される例について説明したが、仮想化コントローラは２つでもよいし、４つ以上でもよい。仮想化コントローラの数が多い程、システマティックフェイラに対する信頼性を向上させることができる。
【００２９】
仮想化コントローラが２つ作成され、そのうちの一方のアプリソフトに不適合が内在し、信号選択部１３が受信する２つのタービンプロセス制御信号が互いに異なる制御を示す場合、信号選択部１３は、２つのタービンプロセス制御信号のうち、タービンの安全運転につながるタービンプロセス制御信号を選択して出力することが好ましい。
【００３０】
例えば、２つのタービンプロセス制御信号の一方がバルブの開度を大きくして蒸気流量を増やす制御を示し、他方がバルブの開度を小さくして蒸気流量を減らす制御を示す場合、信号選択部１３は、バルブの開度を小さくして蒸気流量を減らす制御を示すタービンプロセス制御信号を選択して出力する。仮想化コントローラが２つの場合は、多数決をとることができず、どちらの仮想化コントローラのタービンプロセス制御信号が正常であるか判定できないためである。
【００３１】
上記実施形態では、１つのコントローラ１０上で仮想化ＯＳ１００が動作し、この仮想化ＯＳ上に複数の仮想化コントローラ１１０ａ〜１１０ｃを作成していたが、このようなコントローラ１０を複数設けてもよい。図４は、コントローラ１０を２つ設け、各仮想化コントローラに対応した第１入出力部を設けた例を示している。図４に示す構成では、信号選択部は、信号選択部１３＿１及び１３−２と、信号選択部１３＿３との２段階に配置される。
【００３２】
信号選択部１３＿１は、一方のコントローラ１０の仮想化コントローラ１１０ａ〜１１０ｃから出力される３つのタービンプロセス制御信号（第１プラント制御信号）を取得し、取得した３つのタービンプロセス制御信号の中間値をとり、信号選択部１３＿３へ出力する。また、信号選択部１３＿２は、他方のコントローラ１０の仮想化コントローラ１１０ａ〜１１０ｃから出力される３つのタービンプロセス制御信号（第３プラント制御信号）を取得し、取得した３つのタービンプロセス制御信号の中間値又は多数決をとり、信号選択部１３＿３へ出力する。
【００３３】
信号選択部１３＿３は、信号選択部１３＿１及び１３＿２から受け取った値の中間値をとるか、又はタービンの安全運転につながる値を選択してタービンプロセス制御信号（第２プラント制御信号）を生成し、第２入出力部１４（図示せず）を介してプラント２のプラント制御機器へ出力する。このようにコントローラ１０を複数設けることで、ハードウェア故障等のランダムフェイラに対する信頼性を向上させることができる。
【００３４】
上記実施形態では、ハードウェアで構成された信号選択部１３が、仮想化コントローラ１１０ａ〜１１０ｃから出力されたタービンプロセス制御信号の中間値又は多数決をとり、プラント制御機器へタービンプロセス制御信号を送信していたが、図５に示すように、仮想化コントローラ１１０ｄをさらに作成し、この仮想化コントローラ１１０ｄが信号選択部１３の処理を行い、信号選択部１３を省略してもよい。この場合、仮想化コントローラ１１０ａ〜１１０ｃにより作成されたタービンプロセス制御信号はコントローラ１０の外部へは出力されないため、第１入出力部は１つ（第１入出力部１２ｄ）設ければよい。
【００３５】
仮想化コントローラ１１０ｄは、ＯＳ１１２ｄ及ミドルウェア１１４ｄを実装し、ＯＳ１１２ｄ上でミドルウェア１１４ｄが信号選択アプリソフト１１６ｄを実行する。
【００３６】
信号選択アプリソフト１１６ｄを実行することで、仮想化コントローラ１１０ａ〜１１０ｃにより作成されたタービンプロセス制御信号（第１プラント制御信号）を取得し、これらの中間値又は多数決をとり、タービンプロセス制御信号（第２プラント制御信号）が生成される。仮想化コントローラ１１０ｄは、第１入出力部１２ｄを介して、生成したタービンプロセス制御信号を第２入出力部１４へ出力し、第２入出力部１４がこのタービンプロセス制御信号をプラント２のプラント制御機器へ出力する。
【００３７】
また、仮想化コントローラ１１０ａ〜１１０ｄが作成されるコントローラ１０を複数設けてもよい。図６は、コントローラ１０が３つ設けられている例を示している。図６に示す構成では、コントローラ１０の数に対応して、第１入出力部１２ｄが３つ設けられており、各コントローラ１０の仮想化コントローラ１１０ｄにより生成されたタービンプロセス制御信号が、対応する第１入出力部１２ｄを介して出力される。また、信号選択部１３が設けられ、信号選択部１３は、３つのコントローラ１０の仮想化コントローラ１１０ｄにより生成された３つのタービンプロセス制御信号を取得し、これらの中間値又は多数決をとってタービンプロセス制御信号を生成し、第２入出力部１４（図示せず）を介してプラント２のプラント制御機器へ出力する。
【００３８】
このような構成にすることで、システマティックフェイラ及びランダムフェイラに対する信頼性を向上させることができる。
【００３９】
上記実施形態では、仮想化コントローラ１１０ａ〜１１０ｃに同一の状態信号が入力される例について説明したが、プラント機器の状態を複数のセンサで検出し、各センサで検出した状態信号を対応する仮想化コントローラ１１０に与えてもよい。例えば、タービン回転数を第１〜第３センサで検出し、第１センサから出力された状態信号を仮想化コントローラ１１０ａに入力し、第２センサから出力された状態信号を仮想化コントローラ１１０ｂに入力し、第３センサから出力された状態信号を仮想化コントローラ１１０ｃに入力してもよい。あるいはまた、各仮想化コントローラ１１０ａ〜１１０ｃが、第１〜第３センサから出力された状態信号を取得し、これらの平均値又は中間値に基づいて、プラント制御信号を生成してもよい。
【００４０】
以上説明した少なくともひとつの実施形態によれば、システマティックフェイラに対する信頼性を向上させることができる。
【００４１】
上述した実施形態で説明したプログラムは、フレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、このプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【００４２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００４３】
１  プラント監視制御装置
２  プラント
１０  コントローラ
１１  記憶部
１２ａ〜１２ｃ  第１入出力部
１３  信号選択部
１４  第２入出力部
１００  仮想化オペレーティングシステム
１１０ａ〜１１０ｃ  仮想化コントローラ
１１２ａ〜１１２ｃ  オペレーティングシステム
１１４ａ〜１１４ｃ  タービンプロセス制御ミドルウェア
１１６ａ〜１１６ｃ  タービンプロセス制御アプリソフト
【図１】
2015026279.tif 000003
【図２】
2015026279.tif 000004
【図３】
2015026279.tif 000005
【図４】
2015026279.tif 000006
【図５】
2015026279.tif 000007
【図６】
2015026279.tif 000008