(57)【要約】      （修正有）【課題】プラント運転中における制御ソフトの変更が可能なプラント制御装置のコストを低減する。【解決手段】プラント制御装置１は、仮想コントローラ実装部２０と、第１の仮想演算部１４ａと、第２の仮想演算部１４ｂと、信号選択部１７と、書換対象選択部２１とを備える。信号選択部が第１の制御信号をプラントへ出力する制御信号として選択時、書換対象選択部は、プラントの運転中に、プラント制御装置の外部から制御プログラムの書き換えの指令を受領時、第２の仮想演算部を、制御プログラムの書き換えを行う仮想演算部として選択する。第２の仮想演算部は、第２の仮想演算部が制御プログラムの書き換えを行う仮想演算部として選択された場合、第２の制御プログラムを書き換える。信号選択部は、第２の制御プログラムの書き換えが完了した場合、プラントへ出力する制御信号を第１の制御信号から、前記第２の制御信号に切り替える。【選択図】図２
2016031658.tif 000002
【特許請求の範囲】
【請求項１】
一つのコントローラ上に第１の仮想コントローラと第２の仮想コントローラと共通仮想コントローラとを実装可能な仮想コントローラ実装部を備えるプラント制御装置であって、
前記第１の仮想コントローラは、第１の制御プログラムを実行して、プラントを制御する第１の制御信号を生成する第１の仮想演算部を有し、
前記第２の仮想コントローラは、前記第１の制御プログラムと内容が同じ第２の制御プログラムを実行して、前記プラントを制御する第２の制御信号を生成する第２の仮想演算部を有し、
前記共通仮想コントローラは、
前記第１の制御信号と前記第２の制御信号から、前記プラントへ出力する制御信号を選択する信号選択部と、
前記第１の仮想演算部と前記第２の仮想演算部のうち前記信号選択部が選択しなかった制御信号を生成する仮想演算部を制御プログラムの書き換えを行う仮想演算部として選択する書換対象選択部と、
を有するプラント制御装置。
【請求項２】
前記信号選択部が、前記第１の制御信号を前記プラントへ出力する制御信号として選択した場合において、
前記書換対象選択部が、前記プラントの運転中に前記プラント制御装置の外部から前記制御プログラムの書き換えの指令を受けた場合、前記第２の仮想演算部は、前記第２の制御プログラムを書き換え、
前記信号選択部は、前記第２の制御プログラムの書き換えが完了した場合、前記プラントへ出力する制御信号を、前記第１の制御信号から前記第２の制御信号に切り替える
請求項１に記載のプラント制御装置。
【請求項３】
前記第１の仮想演算部は、前記プラントへ出力する制御信号が前記第１の制御信号から前記第２の制御信号に切り替わった場合、未だ書き換えが完了していない第１の制御プログラムを、前記プラントの運転中に書き換える
請求項１または２に記載のプラント制御装置。
【請求項４】
前記信号選択部は、前記プラントへ出力する制御信号を前記第１の制御信号から前記第２の制御信号に切り替えるときに、前記第１の制御信号のレベルを前記第２の制御信号のレベルへ徐々に変化させる
請求項１から３のいずれか一項に記載のプラント制御装置。
【請求項５】
前記信号選択部は、前記第２の制御プログラムの書き換えが完了し、且つ前記書換対象選択部が常用系の仮想コントローラと待機系の仮想コントローラの切替指示を示す常用待機切替信号を前記プラント制御装置の外部から受信した場合、前記第１の制御信号から前記第２の制御信号に切り替える
請求項１から４のいずれか一項に記載のプラント制御装置。
【請求項６】
一つのコントローラ上に第１の仮想コントローラと第２の仮想コントローラと共通仮想コントローラとを実装可能な仮想コントローラ実装部を備えるプラント制御装置が実行するプラント制御方法であって、
前記第１の仮想コントローラの第１の仮想演算部は、第１の制御プログラムを実行して、プラントを制御する第１の制御信号を生成し、
前記第２の仮想コントローラの第２の仮想演算部は、前記第１の制御プログラムと内容が同じ第２の制御プログラムを実行して、前記プラントを制御する第２の制御信号を生成し、
前記共通仮想コントローラの信号選択部は、前記第１の制御信号と前記第２の制御信号から、前記プラントへ出力する制御信号を選択し、
前記共通仮想コントローラの書換対象選択部は、前記第１の仮想演算部と前記第２の仮想演算部のうち前記信号選択部が選択しなかった制御信号を生成する仮想演算部を制御プログラムの書き換えを行う仮想演算部として選択する、
プラント制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プラント制御装置、及びプラント制御方法に関する。
【背景技術】
【０００２】
従来、プラントに設置されたタービンに接続された発電機からの出力を制御するプラント制御装置が知られている。従来のプラント制御装置では、タービン運転中にプラント制御装置内の制御ソフトの変更を可能とするために、制御を行っているコントローラと、制御を行わず待機しているコントローラとを設けていた。このようにコントローラを２重化していたため、プラント制御装置のコストが増大するという問題があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２４７４０１号公報
【特許文献２】特開２００９−１８０１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態が解決しようとする課題は、プラント運転中における制御ソフトの変更が可能なプラント制御装置のコストを低減するプラント制御装置、及びプラント制御方法を提供することである。
【課題を解決するための手段】
【０００５】
一の実施形態によれば、プラント制御装置は、一つのコントローラ上に第１の仮想コントローラと第２の仮想コントローラと共通仮想コントローラとを実装可能な仮想コントローラ実装部を備えるプラント制御装置である。前記第１の仮想コントローラは、第１の制御プログラムを実行して、プラントを制御する第１の制御信号を生成する第１の仮想演算部を有する。前記第２の仮想コントローラは、前記第１の制御プログラムと内容が同じ第２の制御プログラムを実行して、前記プラントを制御する第２の制御信号を生成する第２の仮想演算部を有する。前記共通仮想コントローラは、前記第１の制御信号と前記第２の制御信号から、前記プラントへ出力する制御信号を選択する信号選択部と、前記第１の仮想演算部と前記第２の仮想演算部のうち前記信号選択部が選択しなかった制御信号を生成する仮想演算部を制御プログラムの書き換えを行う仮想演算部として選択する書換対象選択部と、を有する。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態におけるプラント制御装置１の構成を示す図である。
【図２】第１の実施形態におけるプラント制御装置１のＲＡＭ４１のワークエリアに実現される機能を示すブロック図である。
【図３】常用系の仮想コントローラと待機系の仮想コントローラの割り振りの時間遷移の例である。
【図４】第１の実施形態における制御プログラムの書き換え処理を示すフローチャートである。
【図５】第２の実施形態におけるプラント制御装置１０１のＲＡＭ４１のワークエリアに実現される機能を示すブロック図である。
【図６】図６（Ａ）は、第１の制御信号の信号レベル及び第２の制御信号の信号レベルの時間変化の一例を示すグラフである。図６（Ｂ）は、図６（Ａ）のように、第１の制御信号の信号レベル及び第２の制御信号の信号レベルが時間変化する場合の、信号選択部１８の出力信号の信号レベルの時間変化を示す図である。
【発明を実施するための形態】
【０００７】
以下、図面を参照しながら、本発明に係る各実施形態について説明する。
【０００８】
（第１の実施形態）
まず、第１の実施形態について説明する。第１の実施形態に係るプラント制御装置１は、メモリ空間上に、第１の仮想コントローラと第２の仮想コントローラを生成する。本実施形態では一例として、当初、第１の仮想コントローラが常用系のコントローラに設定され、第２の仮想コントローラが待機系のコントローラに設定される。そして、プラント制御装置１は、第２の仮想コントローラが有する第２の制御プログラムを変更し、その後、第１の仮想コントローラを待機系のコントローラ、第２の仮想コントローラを常用系のコントローラに切り替える。そして、プラント制御装置１は第１の仮想コントローラが有する第１の制御プログラムを変更する。
【０００９】
図１は、第１の実施形態におけるプラント制御装置１の構成を示す図である。
【００１０】
プラント制御装置１は、プラント８を制御する。プラント８は、例えば蒸気発電プラントであり、図１に示すように、ボイラ８１、バルブ８２、蒸気タービン８３、発電機８４、速度センサ８５、復水器８６、及び復水ポンプ８７を備える。
【００１１】
ボイラ８１は、復水ポンプ８７から供給された水を蒸気にして排出する。バルブ８２は、ボイラ８１から蒸気タービン８３への蒸気流入量を調節する。蒸気タービン８３は、流入した蒸気に応じて内部のタービンを回転する。発電機８４は、蒸気タービン８３に接続されており、蒸気タービン８３内部のタービンの回転に応じて発電する。速度センサ８５は、蒸気タービンの回転数を計測する。復水器８６は、蒸気タービン８３から流入した蒸気を水にして排出する。復水ポンプ８７は、復水器８６から流入した水をボイラ８１へ供給する。
【００１２】
保守ツール９は、保守管理者が第１の制御プログラム及び第２の制御プログラムを変更するために用いる装置である。保守ツール９は、例えば、保守管理者から入力を受け付ける入力部（図示せず）と、情報を表示する表示部（図示せず）とを備える。
【００１３】
図１に示すように、プラント制御装置１は、コントローラ２を備える。ここで、コントローラ２は、入出力部３と、メモリ４と、インタフェース５と、ＣＰＵ（Central Processing Unit）６とを備える。これらの構成要素は、互いに内部バスによって接続されている。
【００１４】
入出力部３は、プラント８との間で信号をやり取りするための入出力用のハードウェアである。
【００１５】
メモリ４は、情報を記憶する。メモリ４は、ＲＡＭ（Random Access Memory）４１と、ＲＯＭ（Read Only Memory）４２を有する。
【００１６】
ＲＡＭ４１は、情報を一時的に記憶するワークエリアを提供する。
【００１７】
ＲＯＭ４２は、仮想化を実現するプログラムが記憶されている。
【００１８】
インタフェース５は、保守ツール９との間で信号をやり取りするためのハードウェアである。
【００１９】
ＣＰＵ６は、ＲＯＭ４２からプログラムを読み出して実行して、ＲＡＭ４１のワークエリアに、後述する図２に示すように、仮想コントローラ実装部２０、第１の仮想コントローラ１２ａ、第２の仮想コントローラ１２ｂ、共通仮想コントローラ１２ｃを実現する。
【００２０】
図２は、第１の実施形態におけるプラント制御装置１のＲＡＭ４１のワークエリアに実現される機能を示すブロック図である。図２に示すように、ＲＡＭ４１のワークエリアに、仮想コントローラ実装部２０、第１の仮想コントローラ１２ａ、第２の仮想コントローラ１２ｂ、共通仮想コントローラ１２ｃが実現される。
【００２１】
仮想コントローラ実装部２０は、コントローラ２上に、第１の仮想コントローラ１２ａと第２の仮想コントローラ１２ｂと共通仮想コントローラ１２ｃとを実装する。仮想コントローラ実装部２０は、例えば、仮想オペレーティングシステムである。
【００２２】
第１の仮想コントローラ１２ａは、仮想入出力部１３ａ、第１の仮想演算部１４ａ、及び仮想インタフェース１５ａを有する。同様に、第２の仮想コントローラ１２ｂは、仮想入出力部１３ｂ、第２の仮想演算部１４ｂ、及び仮想インタフェース１５ｂを有する。
【００２３】
仮想入出力部１３ａ及び仮想入出力部１３ｂは、共通仮想コントローラ１２ｃ内の後述する信号選択部１７と信号のやり取りをする。
【００２４】
第１の仮想演算部１４ａは、内部に保持する第１の制御プログラム１６ａを実行し、プラントを制御する第１の制御信号を生成する。第１の仮想演算部１４ａは、生成した第１の制御信号を仮想入出力部１３ａを介して、共通仮想コントローラ１２ｃ内の後述する信号選択部１７へ出力する。
【００２５】
第２の仮想演算部１４ｂは、第１の制御プログラム１６ａと内容が同じ第２の制御プログラム１６ｂを内部に保持する。第２の仮想演算部１４ｂは、この第２の制御プログラム１６ｂを実行し、プラントを制御する第２の制御信号を生成する。第２の仮想演算部１４ｂは、生成した第２の制御信号を仮想入出力部１３ｂを介して、共通仮想コントローラ１２ｃ内の後述する信号選択部１７へ出力する。
【００２６】
仮想インタフェース１５ａ及び仮想インタフェース１５ｂは、共通仮想コントローラ内の後述する書換対象選択部２１との間で情報のやり取りをする。
【００２７】
共通仮想コントローラ１２ｃは、信号選択部１７と、書換対象選択部２１とを備える。
【００２８】
信号選択部１７は、第１の制御信号と第２の制御信号から、プラント８へ出力する制御信号を選択する。信号選択部１２ｃは、仮想コントローラ実装部２０と入出力部３を介して、プラント８と信号のやり取りをする。例えば、信号選択部１２ｃは、選択した制御信号を入出力部３を介して、プラント８へ出力する。
【００２９】
書換対象選択部２１は、共通仮想コントローラ１２ｃ内で、第１の仮想演算部１４ａと第２の仮想演算部１４ｂから制御プログラムの書き換えを行う仮想演算部を選択する。書換対象選択部２１は、仮想コントローラ実装部２０とインタフェース５を介して、保守ツール９と信号のやり取りをする。
【００３０】
以上のような構成を有するプラント制御装置１の動作について、以下説明する。
【００３１】
まず、図３を用いて、常用系の仮想コントローラと待機系の仮想コントローラの割り振りの時間遷移の例を説明する。図３は、常用系の仮想コントローラと待機系の仮想コントローラの割り振りの時間遷移の例である。図３に示すように、時刻０から時刻ｔ１の間、第１の仮想コントローラ１２ａは、常用系の仮想コントローラとして動作し、第２の仮想コントローラ１２ｂは、待機系の仮想コントローラとして動作する。次に、時刻ｔ１から時刻ｔ２の間、第１の仮想コントローラ１２ａは、引き続き常用系の仮想コントローラとして動作するのに対し、第２の仮想コントローラ１２ｂは、第２の制御プログラム１６ｂを書き換える。
【００３２】
次に、時刻ｔ２において、第１の仮想コントローラ１２ａが待機系の仮想コントローラに切り替わり、第２の仮想コントローラ１２ｂが常用系の仮想コントローラに切り替わる。
【００３３】
そして、時刻ｔ２から時刻ｔ３の間、第１の仮想コントローラ１２ａは、第１の制御プログラム１６ａを書き換えるのに対し、第２の仮想コントローラ１２ｂが常用系の仮想コントローラとして動作する。
【００３４】
そして、時刻ｔ３以降、第１の仮想コントローラ１２ａは、待機系の仮想コントローラとして動作し、第２の仮想コントローラ１２ｂは引き続き、常用系の仮想コントローラとして動作する。
【００３５】
続いて、図４を用いて、第１の実施形態における制御プログラムの書き換え処理について説明する。図４は、第１の実施形態における制御プログラムの書き換え処理を示すフローチャートである。ここで、信号選択部１７は、第１の仮想コントローラ１２ａと第２の仮想コントローラ１２ｂのいずれが常用系の仮想コントローラであるかを示す常用フラグを保持している。例えば、常用フラグが０で、第１の仮想コントローラ１２ａが常用系の仮想コントローラであり、常用フラグが１で、第２の仮想コントローラ１２ｂが常用系の仮想コントローラである。
【００３６】
図４のフローチャートでは、当初、常用フラグが０で、図３に示すように、第１の仮想コントローラ１２ａが常用系の仮想コントローラで、第２の仮想コントローラ１２ｂが待機系の仮想コントローラである。そのため、当初、信号選択部１８は、値が０である常用フラグを参照して、第１の仮想コントローラ１２ａを常用系のコントローラと判別する。信号選択部１８には、常時、第１の制御信号と第２の制御信号が入力されているが、この判別結果から、信号選択部１８は、第１の制御信号をプラント８へ出力する制御信号に選択し、選択した第１の制御信号をプラント８へ出力する。
【００３７】
（ステップＳ１０１）まず、書換対象選択部２１は、保守ツール９から制御プログラム書換信号を受信する。既述のように、制御プログラム書換信号は、制御プログラムを書き換えるための信号で、ここでは、例えば、書き換え後の制御プログラム、書き換え後の制御プログラムをインストールするためのインストーラなどを含む。
【００３８】
（ステップＳ１０２）次に、書換対象選択部２１は、常用フラグを信号選択部１７から取得する。
【００３９】
（ステップＳ１０３）次に、書換対象選択部２１は、常用フラグから待機系の仮想コントローラを第２の仮想コントローラ１２ｂと判別し、第２の仮想コントローラ１２ｂへ制御プログラム書換信号を送信する。このように、書換対象選択部２１は、プラントの運転中に、自装置の外部から制御プログラムの書き換えの指令を受けた場合、第２の仮想演算部を、制御プログラムの書き換えを行う仮想演算部として選択する。
【００４０】
（ステップＳ１０４）次に、第２の仮想コントローラ１２ｂの第２の仮想演算部１４ｂは、ステップＳ１０３で送信された制御プログラム書換信号を受信する。そして、第２の仮想コントローラ１２ｂの第２の仮想演算部１４ｂは、保持する既存のタービン制御プログラム１６ａを、制御プログラム書換信号に含まれる書き換え後の制御プログラムに書き換える。
【００４１】
このように、第２の仮想演算部１４ｂは、第２の仮想演算部１４ｂが制御プログラムの書き換えを行う仮想演算部として選択された場合、第２の制御プログラムを書き換える。書き換え後、第２の仮想コントローラ１２ｂの第２の仮想演算部１４ｂは、書き換え完了信号を書換対象選択部２１へ送信する。
【００４２】
（ステップＳ１０５）次に、書換対象選択部２１は、ステップＳ１０４で送信された書き換え完了信号を受信する。
【００４３】
（ステップＳ１０６）次に、書換対象選択部２１は、書き換え完了信号を保守ツール９へ送信する。保守ツール９は、この書き換え完了信号を受信し、書き換え完了を提示する。これにより、保守管理者は、待機系の仮想コントローラで制御プログラムの書き換えが完了したことを把握することができる。今度は、その時点で常用系の仮想コントローラについて、制御プログラムの書き換えを行うために、保守管理者は、常用系の仮想コントローラと待機系の仮想コントローラの切替指示を保守ツール９に入力する。保守ツール９は、この入力を受け付けると、この切替指示を示す常用待機切替信号を書換対象選択部２１へ送信する。
【００４４】
（ステップＳ１０７）次に、書換対象選択部２１は、ステップＳ１０６で送信された常用待機切替信号を受信する。
【００４５】
（ステップＳ１０８）次に、書換対象選択部２１は、常用待機切替信号を信号選択部１７へ渡す。
【００４６】
（ステップＳ１０９）次に、信号選択部１７は、ステップＳ１０８で常用待機切替信号が渡されたのを契機に、保持している常用フラグを反転する。
【００４７】
（ステップＳ１１０）そして、信号選択部１７は、反転した常用フラグを参照して、第２の仮想コントローラを常用系のコントローラと判別する。そして、信号選択部１７は、プラントへ出力する制御信号を、第１の制御信号から、第２の制御信号に切り替える。
【００４８】
（ステップＳ１１１）次に、信号選択部１７は、反転後の常用フラグを書換対象選択部２１へ渡す。
【００４９】
（ステップＳ１１２）次に、書換対象選択部２１は、ステップＳ１１０で反転後の常用フラグが渡されたのを契機に、反転後の常用フラグを用いて、待機系の仮想コントローラを第１の仮想コントローラ１２ａと判別し、第１の仮想コントローラ１２ａへ制御プログラム書換信号を送信する。
【００５０】
（ステップＳ１１３）次に、第１の仮想コントローラ１２ａの第１の仮想演算部１４ａは、ステップＳ１１１で送信された制御プログラム書換信号を受信する。そして、第１の仮想コントローラ１２ａの第１の仮想演算部１４ａは、タービン制御プログラム１６ａを、制御プログラム書換信号に含まれる書き換え後の制御プログラムに書き換える。書き換え後、第１の仮想コントローラ１２ａの第１の仮想演算部１４ａは、書き換え完了信号を書換対象選択部２１へ送信する。
【００５１】
（ステップＳ１１４）次に、書換対象選択部２１は、ステップＳ１１２で送信された書き換え完了信号を受信する。
【００５２】
（ステップＳ１１５）次に、書換対象選択部２１は、書き換え完了信号を保守ツール９へ送信する。これにより、保守ツール９は、書き換え完了信号を受信すると、書き換え完了を提示する。
【００５３】
なお、書換対象選択部２１は、ステップＳ１０５で書き換え完了信号を受信した場合、信号選択部１７が保持する常用フラグを反転させ、自動的に、第１の仮想コントローラ１２ａの制御プログラムを書き替えるようにしてもよい。
【００５４】
（第１の実施形態の効果）
以上説明したように、第１の実施形態におけるプラント制御装置１において、信号選択部１７が第１の制御信号をプラントへ出力する制御信号に選択した場合に、書換対象選択部２１は、プラントの運転中に、外部から制御プログラムの書き換えの指令を受けた場合、第２の仮想演算部１４ｂを、制御プログラムの書き換えを行う仮想演算部として選択する。そして、第２の仮想演算部１４ｂは、第２の仮想演算部１４ｂが制御プログラムの書き換えを行う仮想演算部として選択された場合、第２の制御プログラムを書き換える。そして、信号選択部１７は、第２の制御プログラムの書き換えが完了した場合、プラント８へ出力する制御信号を、第１の制御信号から、第２の制御信号に切り替える。
【００５５】
このように、第１の実施形態によれば、プラント制御装置１は、仮想コントローラを二つＲＡＭ４１上に生成することにより、一方の制御プログラムによる演算結果がプラントの制御に利用されているときに、他方の制御プログラムを更新することができる。これにより、ハードウェアが１重化コントローラで構成されていても、第２の制御プログラムをタービン運転中に変更できる。従来のように、ハードウェアで構成されたコントローラを多重化する必要がなく、ハードウェアで構成されたコントローラが一つでよいため、プラント運転中における制御ソフトの変更が可能なプラント制御装置のコストを低減することができる。
【００５６】
また、第１の仮想演算部１４ａは、プラント８へ出力する制御信号が第１の制御信号から第２の制御信号に切り替わった場合、未だ書き換えが完了していない第１の制御プログラムを、プラント８の運転中に書き換える。これにより、ハードウェアが１重化コントローラで構成されていても、第１の制御プログラムをタービン運転中に変更することができる。
【００５７】
（第２の実施形態）
続いて、第２の実施形態について説明する。第１の実施形態では、信号選択部１７は、第２の制御プログラムの書き換えが完了した場合、プラント８へ出力する制御信号を、第１の制御信号から、第２の制御信号に切り替えた。第２の制御プログラムを変更した場合、それまで制御のために用いられてきた第１の制御プログラムの演算結果と、書き換えが完了した第２の制御プログラムの演算結果に差があると、プラント８に大きな変動を与えるという問題がある。
【００５８】
そこで、第２の実施形態におけるプラント制御装置１０１は、第１の制御信号から第２の制御信号に切り替えるときに、第１の制御信号のレベルを第２の制御信号のレベルへ徐々に変化させる。これにより、第１の制御信号のレベルと第２の制御信号のレベルに差があっても、プラント８に与える変動を低減することができる。
【００５９】
図５は、第２の実施形態におけるプラント制御装置１０１のＲＡＭ４１のワークエリアに実現される機能を示すブロック図である。図２と共通する要素には同一の符号を付し、その具体的な説明を省略する。第２の実施形態におけるプラント制御装置１の構成は、第１の実施形態におけるプラント制御装置１の構成に対して、信号選択部１７が信号選択部１８に変更されたものになっている。
【００６０】
第２の実施形態における信号選択部１８は、第１の実施形態における信号選択部１７と同様の機能を有するのに加えて、更に以下の機能を有する。
【００６１】
第２の実施形態における信号選択部１８は、図６（Ｂ）に示すように、第１の制御信号から第２の制御信号に切り替えるときに、第１の制御信号のレベルを第２の制御信号のレベルへ徐々に変化させる。
【００６２】
図６（Ａ）は、第１の制御信号の信号レベル及び第２の制御信号の信号レベルの時間変化の一例を示すグラフである。図６（Ｂ）は、図６（Ａ）のように、第１の制御信号の信号レベル及び第２の制御信号の信号レベルが時間変化する場合の、信号選択部１８の出力信号の信号レベルの時間変化を示す図である。
【００６３】
図６（Ａ）の折れ線ＷＢが示すように、第２の制御プログラム１６ｂの書き換えが完了する時刻ｔ２までは、第２の制御信号の信号レベルはＬＡである。第２の制御プログラム１６ｂの書き換えが完了する時刻ｔ２以降は、第２の制御信号の信号レベルはＬＢである。
【００６４】
一方、図６（Ａ）の折れ線ＷＡが示すように、第１の制御プログラム１６ａの書き換えが完了する時刻ｔ３までは、第１の制御信号の信号レベルはＬＡである。第１の制御プログラム１６ａの書き換えが完了する時刻ｔ３以降は、第１の制御信号の信号レベルはＬＢである。
【００６５】
図６（Ｂ）の折れ線ＷＯが示すように、第２の制御プログラム１６ｂの書き換えが完了する時刻ｔ２までは、信号選択部１８の出力信号のレベルは、第１の制御信号の信号レベルと同じＬＡである。
【００６６】
図６（Ｂ）の折れ線ＷＯが示すように、信号選択部１８は、第２の制御プログラム１６ｂの書き換えが完了する時刻ｔ２から、第１の制御信号の信号レベルＬＡから第２の制御信号の信号レベルＬＢへ徐々に変化させる。
【００６７】
具体的には例えば、信号選択部１８は、時刻ｔ２における第１の制御信号の信号レベルＬＡと第２の制御信号の信号レベルＬＢの差分（＝ＬＡ−ＬＢ）を加算項として、第２の制御信号の信号レベルＬＢに足した信号を出力する。その後、信号選択部１８は、この加算項を一定のレートで０に落とす。
【００６８】
（第２の実施形態の効果）
以上説明したように、信号選択部２２は、第１の制御信号から第２の制御信号に切り替えるときに、第１の制御信号のレベルを第２の制御信号のレベルへ徐々に変化させる。これにより、第１の実施形態の効果に加えて、第１の制御プログラムと書き換え後の第２の制御プログラムの演算結果に差があっても、プラント８に与える変動を低減することができる。
【００６９】
なお、各実施形態において、仮想コントローラ実装部２０は、二つの仮想コントローラを実装したが、これに限らず、三つ以上の仮想コントローラを実装してもよい。
【００７０】
また、各実施形態のプラント制御装置１または１０１の各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、プロセッサが実行することにより、各実施形態のプラント制御装置１または１０１に係る上述した種々の処理を行ってもよい。
【００７１】
以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００７２】
１、１０１、２０１  プラント制御装置
２、１０２  コントローラ
３  入出力部
４  メモリ
４１  ＲＡＭ
４２  ＲＯＭ
５  インタフェース
６  ＣＰＵ
８  プラント
９  保守ツール
１２ａ  第１の仮想コントローラ
１２ｂ  第２の仮想コントローラ
１２ｃ  共通仮想コントローラ
１３ａ、１３ｂ  仮想入出力部
１４ａ  第１の仮想演算部
１４ｂ  第２の仮想演算部
１５ａ、１５ｂ  仮想インタフェース
１６ａ、２０６ａ  第１の制御プログラム
１６ｂ、２０６ｂ  第２の制御プログラム
１７、１８  信号選択部
２０  仮想コントローラ実装部
２１  書換対象選択部
２０２ａ  第１のコントローラ
２０２ｂ  第２のコントローラ
２０３ａ、２０３ｂ  入出力部
２０４ａ、２０４ｂ  演算部
２０５ａ、２０５ｂ  インタフェース
２０７  信号選択装置
【図１】
2016031658.tif 000003
【図２】
2016031658.tif 000004
【図３】
2016031658.tif 000005
【図４】
2016031658.tif 000006
【図５】
2016031658.tif 000007
【図６】
2016031658.tif 000008