(57)【特許請求の範囲】
【請求項１】
複数台のコントローラ間を二重化された伝送路を介して互いに接続してネットワークを構成し、各コントローラの内の一つをマスタ用としてシステム全体のシーケンス制御を行う一方、残りのコントローラをスレーブ用として上記マスタ用のコントローラから与えられる制御目標値や指令値等のデータに基づいて各プラント機器を個別に制御するプラント制御システムであって、
上記各コントローラからは、同じ内容のデータを互いに時間的に重複しないように所定の時間差をもって各々の伝送路に送信するとともに、この送信データには、送受信周期ごとに値が変化するステータス情報を含むようにしておき、上記スレーブ用のコントローラは、上記伝送路を介して入力されるデータに含まれるステータス情報に変化が現れないときには、マスタ用のコントローラが故障したものと判断して、スレーブ用のコントローラの内の一つがマスタ用のコントローラになるべくマスタ切替処理に移行するものであることを特徴とするプラント制御システム。
【請求項２】
上記各コントローラは、上記マスタ切替処理の開始から完了までの期間中は、プラント機器で得られる現在のプロセス値をホールドするとともに、このホールドした現在のプロセス値を制御目標値に設定してプラント機器を制御するものである、ことを特徴とする請求項１記載のプラント制御システム。
【請求項３】
上記各コントローラは、上記各伝送路を介して同じ内容をもつデータが所定の時間差をもって到来しない場合には、二重化された伝送路の一方の伝送路に障害が発生したものと判断し、他方の伝送路を介して送られてきたデータに基づいてプラント機器の制御を継続するものである、ことを特徴とする請求項１または請求項２に記載のプラント制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを構成する伝送路を介したデータ伝送によってプラントの制御を行うプラント制御システムに関する。
【背景技術】
【０００２】
従来のプラント制御システム、例えば発電プラント制御システムにおいては、マスタ用のコントローラと複数台のスレーブ用のコントローラとを一重系の伝送路を介して互いに接続してネットワークを構成し、マスタ用のコントローラによって発電プラント全体の電力目標値の演算をしたりシステム全体のシーケンス制御を行う一方、スレーブ用のコントローラによってマスタ用のコントローラから与えられる制御目標値や指令値、および現在の受電電力の値に基づいて各発電装置を個別に制御するようにしたものがある。
【０００３】
ところで、このようなプラント制御システムでは、マスタ用のコントローラが故障すると、当該コントローラからの指令がスレーブ用のコントローラに与えられなくなるため、スレーブ用のコントローラは各発電装置を適切に制御できなくなり、プラントの運転が停止するなどの不具合を生じる。
【０００４】
そのため、従来技術では、スレーブ用の各コントローラ内にシーケンス制御機能部および切替スイッチを設けるとともに、各コントローラの相互間で監視を行い、マスタ用のコントローラが故障したときには、直ちにスレーブ用の一つのコントローラにおいて切替スイッチを作用させてシーケンス制御機能部を立ち上げ、このスレーブ用のコントローラをマスタ用のコントローラとして動作させるようにした技術が提案されている（例えば、特許文献１参照）。
【０００５】
また、他の従来技術では、マスタ用のコントローラを２台設けていわゆる二重化を行い、一方のコントローラが故障したときには、直ちに他方のコントローラを起動するようにしたものも提案されている（例えば、特許文献２参照）。
【０００６】
【特許文献１】特許第２９８３３１９号公報
【特許文献２】特開平１０−６３３１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１，２に記載されているような従来技術では、マスタ用とスレーブ用の各コントローラを接続する伝送路は一重系であるため、伝送路の途中に障害が発生したときには、マスタ用のコントローラからの指令がスレーブ用のコントローラに与えられなくなる。このため、スレーブ用のコントローラはプラント機器を適切に制御できなくなる。
【０００８】
しかも、従来技術の場合、スレーブ用のコントローラをマスタ用のコントローラとして動作させるために制御を切り替える際、その切り替え開始から完了までの期間中は、スレーブ用のコントローラにおいて制御目標値と現在のプロセス値の情報が共に喪失しているので、プラント機器に対する制御が不安定になり、ハンチングが起こるなどの問題がある。
【０００９】
さらに、特許文献２に記載されているように、マスタ用のコントローラを二重化したシステムの場合には、マスタ用のコントローラが１台余分に必要となるため、コストアップを招来する。また、従来は、二重化された伝送路に同じタイミングで同じデータを送信するようにしているため、データを受信する側のコントローラでは、２つの伝送路に対して同時に受信処理を行い、かつ、両方からデータを受信した場合には、何れか一方を使用し、他方を使用しないようにデータの選択を行うという複雑な処理が必要で、制御シーケンスが複雑化するなどの問題があった。
【００１０】
本発明は、上記の課題を解決するためになされたもので、プラント制御システムを構成する伝送路の一部に障害が発生した場合や、マスタ用のコントローラが故障した場合でも、プラント機器の制御が停止したり、制御が不安定になったりするなどの不具合発生を確実に防止し、常にプラント機器を円滑かつ安定して制御できるようにし、しかも比較的安価に実施することが可能なコントローラを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の目的を達成するため、本発明は、複数台のコントローラ間を二重化された伝送路を介して互いに接続してネットワークを構成し、各コントローラの内の一つをマスタ用としてシステム全体のシーケンス制御を行う一方、残りのコントローラをスレーブ用として上記マスタ用のコントローラから与えられる制御目標値や指令値等のデータに基づいて各プラント機器を個別に制御するプラント制御システムにおいて、次の構成を採用している。
【００１２】
すなわち、本発明に係るプラント制御システムは、上記各コントローラからは、同じ内容のデータを互いに時間的に重複しないように所定の時間差をもって各々の伝送路に送信するとともに、この送信データには、送受信周期ごとに値が変化するステータス情報を含むようにしておき、上記スレーブ用のコントローラは、上記伝送路を介して入力されるデータに含まれるステータス情報に変化が現れないときには、マスタ用のコントローラが故障したものと判断して、スレーブ用のコントローラの内の一つがマスタ用のコントローラになるべくマスタ切替処理に移行するものであることを特徴としている。
【発明の効果】
【００１３】
本発明によれば、二重化された伝送路の片方に障害が発生した場合でも残りの伝送路によってデータ送信を継続することができる。また、マスタ用のコントローラが故障した場合には、少なくとも一方の伝送路を介して入力されるデータに含まれるステータス情報に変化が現れないので、スレーブ用のコントローラはマスタ用のコントローラの故障発生を確実に検知することができ、これに応じてスレーブ用のコントローラの内の一つがマスタ用のコントローラに切り替わる。したがって、プラント機器の制御が不能になって制御が停止するなどの不具合発生を確実に防止することができ、常にプラント機器を円滑かつ安定して制御することが可能になる。
【発明を実施するための最良の形態】
【００１４】
実施の形態１．
図１はこの実施の形態１におけるプラント制御システムの一例としての発電プラント制御システムの全体を示す構成図、図２は同システムに適用される本発明のコントローラの構成を示すブロック図である。
【００１５】
この実施の形態１の発電プラント制御システムは、複数台（本例では３台）のコントローラ１，２，３を備え、各コントローラ１〜３が二重化された伝送路４ｐ，４ｓを介して互いにリング状に接続されてリング型ＬＡＮが構成されている。そして、各コントローラ１〜３には、プラント機器としての発電装置１１，１２，１３が個別に接続されている。この場合のリング型ＬＡＮを構成する伝送路４ｐ，４ｓとして、本例では光ファイバケーブルが適用されている。なお、ここでは二重化された各伝送路４ｐ，４ｓを区別できるように、一方の伝送路４ｐをＰ系、他方の伝送路４ｓをＳ系と称する。
【００１６】
上記の各コントローラ１〜３の内、一台のコントローラ１は、予め正常時にはマスタ用として定義されており、発電プラント制御システム全体のシーケンス制御、例えば発電プラント制御システム全体の発電電力の目標値を演算し、この演算結果および各スレーブ用のコントローラ２，３からのプロセス値を入手して各発電装置１１〜１３ごとの発電電力の制御目標値を決定するなどの処理を実行するとともに、これに併行して自己に接続されている発電装置１１の発電電力を制御するようになっている。
【００１７】
一方、残りのコントローラ２，３は、予め正常時にはスレーブ用として定義されており、マスタ用のコントローラ１から与えられる制御目標値や指令値等の制御データに基づいて各発電装置１２，１３の発電電力を個別に制御するようになっている。
【００１８】
マスタ用のコントローラ１とスレーブ用の各コントローラ２，３の果たす機能は上記のように相違しているものの、各コントローラ１〜３の構成は、基本的に同じであって、図２に示すように、プラント機器制御部１０１、制御データ演算部１０２、送信データ作成部１０３、データ送信部１０４、データ受信部１０５、制御データ抽出部１０６、マスタ異常検出部１０７、マスタ切替部１０８、マスタ切替中止部１０９、および異常時対応制御データ演算部１１０を含む。
【００１９】
上記のプラント機器制御部１０１は、制御データ演算部１０２や異常時対応制御データ演算部１１０で演算して得られる制御データに基づいてプラント機器である発電装置を制御するものである。
【００２０】
制御データ演算部１０２は、発電装置を制御するための制御データを演算するもので、その演算結果は図示しないメモリの所定のデータ領域に書き込まれるようになっている。また、制御データ演算部１０２は、他のコントローラに制御データを送信する場合には、所定のデータ領域に格納された制御データを読み出す際に、送信ごとに値が更新されるステータス情報（例えばインクリメント値）を付加するようにしている。
【００２１】
送信データ作成部１０３は、制御データ演算部１０２で演算された制御データをデータ送信部１０４から伝送路４ｐ，４ｓを介して他のコントローラにデータを送信するにあたり、パケットなどのデータ送信に適した送信形態に加工して送信データとして作成するものである。
【００２２】
また、データ送信部１０４は、送信データ作成部１０３で作成された送信データを所定の時間間隔ΔＴでもって伝送路４ｐ，４ｓに送信するものである。なお、この場合の時間間隔ΔＴは、例えば各コントローラ１〜３がデータ受信からデータ送信までの間に行う演算処理の１周期分以上になるように設定される。
【００２３】
データ受信部１０５は、各伝送路４ｐ，４ｓからのデータをそれぞれで独立に受信するものであって、何れかの伝送路４ｐまたは４ｓでデータを受信してから所定の期間Ｔｏ（＞ΔＴ）内では、他のデータを受信しても制御データ抽出部１０６に転送しないようになっている。
【００２４】
制御データ抽出部１０６は、データ受信部１０５が受信したデータから制御データを抽出するものである。また、マスタ異常検出部１０７は、制御データ抽出部１０６で抽出された制御データに含まれるステータス情報からマスタ側のコントローラ１の制御データ演算部１０２が正常かどうかを判断するものである。
【００２５】
マスタ切替部１０８は、マスタ異常検出部１０７によりマスタ側のコントローラの異常が検出された場合には、これに応じてマスタ用のコントローラとして動作するためのマスタ切替処理を実行するとともに、このマスタ切替処理を開始したことを示すマスタ宣言、およびマスタ切替処理が完了したことを示すマスタ切替完了宣言を他のコントローラに通知するものである。
【００２６】
マスタ切替中止部１０９は、他のコントローラからマスタ切替処理を開始したことを示すマスタ宣言が通知された際、その通知元のコントローラの優先度と自己に対して予め設定されている優先度とを比較し、通知元のコントローラの優先度の方が高い場合には、マスタ切替部１０８が実行中のマスタ切替処理を中止する指令を出力するものである。なお、ここでは一方のコントローラ２の優先度は、他方のコントローラ３の優先度よりも高く設定されているものとする。
【００２７】
異常時対応制御データ演算部１１０は、マスタ異常検出部１０７によってマスタ用のコントローラ１の制御データ演算部１０２が正常でないことが検出されてから、マスタ切替部１０８がマスタ切替処理の完了をデータ送信部１０４により他のコントローラに通知するか、または他のコントローラからマスタ切替処理の完了通知を受信するまでの間、プラント機器である発電装置から入手する現在のプロセス値が制御目標値となるようにプラント機器制御部１０１を制御する演算を実行するものである。
【００２８】
次に、この発電プラント制御システムにおいて、システム全体が正常な場合、伝送路４ｐ，４ｓの一部に障害が発生した場合、およびマスタ用のコントローラ１が故障した場合のそれぞれの動作について説明する。
【００２９】
（１）システム全体が正常な場合
この正常時では、例えば図３のフローチャートに示すように、マスタ用のコントローラ１は、伝送路４ｐ，４ｓを介してスレーブ用のコントローラ２，３からのプロセス値などのデータを受信する（Ｓ１１）。
【００３０】
この場合、マスタ用のコントローラ１のデータ受信部１０５には、Ｐ系、Ｓ系の各伝送路４ｐ，４ｓを介して同じ内容のデータが所定の時間間隔ΔＴをもって到来することになるが、データ受信部１０５は、何れかの伝送路４ｐ，４ｓの内、最初に受信したデータのみを次段の制御データ抽出部１０６に送出し、そのデータ受信から所定の期間Ｔｏ（＞ΔＴ）内では、他のデータを受信しても次段の制御データ抽出部１０６には送出しない。このため、後に受信したデータは破棄される。
【００３１】
こうして、データ受信部１０５において先に受信したデータが制御データ抽出部１０６に送出されると、制御データ抽出部１０６は、このデータからプロセス値を含む制御データを抽出し、この制御データを制御データ演算部１０２に出力する。
【００３２】
制御データ演算部１０２は、自己のプラント機器制御部１０１を介して得られるプロセス値やスレーブ用のコントローラ２，３から送信されてくるプロセス値に基づいてプラント制御システム全体の発電電力の目標値を演算し、さらに各発電装置１１〜１３ごとの発電電力の制御目標値を決定するなどの演算処理を実行する（Ｓ１２）。そして、このようにして決定した各発電装置１１〜１３ごとの発電電力の制御目標値や指令値のデータを図示しないメモリの所定のデータ領域に書き込む。
【００３３】
また、この制御データ演算部１０２は、自己の発電装置１１について決定された発電電力の制御目標値を読み出してプラント機器制御部１０１に与えるので、プラント機器制御部１０１は、この制御目標値に基づいて自己に接続されている発電装置１１の発電電力を制御する。
【００３４】
さらに、この制御データ演算部１０２は、スレーブ用のコントローラ２，３に対して発電電力の制御目標値や指令値等の制御データを伝送路４ｐ，４ｓを介して送信するために、所定のデータ領域に格納された制御データを読み出して送信データ作成部１０３に送出する。その際、制御データには送信ごとに値が更新されるステータス情報（例えばインクリメント値）を付加する。
【００３５】
送信データ作成部１０３は、制御データ演算部１０２からのステータス情報を含む制御データをデータ送信部１０４から各伝送路４ｐ，４ｓを介して他のコントローラ２，３にデータを送信するにあたり、パケットなどのデータ送信に適した送信形態に加工して送信データを作成する（Ｓ１３）。データ送信部１０４は、この送信データを伝送路４ｐ，４ｓからスレーブ用のコントローラ２，３に向けて送信する。
【００３６】
その際、データ送信部１０４は、同じ内容の送信データを互いに時間的に重複しないように所定の時間間隔ΔＴをもって各々の伝送路４ｐ，４ｓに送信する。すなわち、データ送信部１０４は、例えば送信データを最初にＰ系の伝送路４ｐを介して送信する（Ｓ１４）と、上記の時間ΔＴが経過した後に（Ｓ１５）、再び同じ内容のデータを今度はＳ系の伝送路４ｓを介して送信する（Ｓ１６）。
【００３７】
一方、スレーブ用のコントローラ２は、マスタ用のコントローラ１と同様、Ｐ系、Ｓ系の各伝送路４ｐ，４ｓを介して同じ内容のデータが所定の時間間隔ΔＴをもって到来した場合、データ受信部１０５は、何れかの伝送路４ｐまたは４ｓを経由して最初に受信したデータのみを次段の制御データ抽出部１０６に送出し、そのデータ受信から所定の期間Ｔｏ（＞ΔＴ）内では、他のデータを受信しても次段の制御データ抽出部１０６には送出しない（Ｓ２１）。このため、後に受信したデータは破棄される。つまり、正常時では、最初にＰ系の伝送路４ｐを経由したデータが受信されるので、このデータのみが制御データ抽出部１０６に送出され、その後にＳ系の伝送路４ｓを経由したデータが受信されてもこのデータは破棄されることになる。
【００３８】
そして、制御データ抽出部１０６は、データ受信部１０５が先に受信したデータから制御データを抽出し、この制御データを制御データ演算部１０２に出力する。
【００３９】
制御データ演算部１０２は、自己のプラント機器制御部１０１を介して得られるプロセス値やマスタ用のコントローラ１から送信されてくる発電電力の制御目標値のデータを図示しないメモリの所定のデータ領域に書き込み、また、自己宛ての制御データ以外の制御データを他のコントローラ３にデータ転送する準備を行うなどの演算処理を実行する（Ｓ２２）。
【００４０】
さらに、この制御データ演算部１０２は、自己の発電装置１２について決定された発電電力の制御目標値をメモリから読み出してプラント機器制御部１０１に与えるので、プラント機器制御部１０１は、この制御目標値に基づいて自己に接続されている発電装置１２の発電電力を制御する。
【００４１】
また、制御データ演算部１０２は、自己宛て以外の発電電力の制御目標値や指令値等の制御データを他のスレーブ用のコントローラ３に転送するために、その制御データを送信データ作成部１０３に送出する。その際、制御データには送信ごとに値が更新されるステータス情報（例えばインクリメント値）を付加する。
【００４２】
送信データ作成部１０３は、ステータス情報を含む制御データをパケットなどのデータ送信に適した送信形態に加工して送信データとして作成する（Ｓ２３）。次いで、データ送信部１０４は、この送信データを伝送路４ｐ，４ｓから他のスレーブ用のコントローラ３に向けて送信する。
【００４３】
その際、データ送信部１０４は、同じ内容の送信データを互いに時間的に重複しないように所定の時間間隔ΔＴをもって各々の伝送路４ｐ，４ｓに送信する。すなわち、データ送信部１０４は、例えば送信データを最初にＰ系の伝送路４ｐを介して送信する（Ｓ２４）と、上記の時間ΔＴが経過した後に（Ｓ２５）、再び同じ内容のデータを今度はＳ系の伝送路４ｓを介して送信する（Ｓ２６）。
【００４４】
なお、以上の動作は、次段のスレーブ用のコントローラ３についても同様である。また、ここではマスタ側のコントローラがデータ送信する場合とスレーブ側のコントローラがデータ送信する場合の上記の各時間間隔ΔＴは一致しているが、必ずしも一致したものでなくてもよい。
【００４５】
（２）伝送路の一部に障害が発生した場合
Ｐ系、Ｓ系の伝送路４ｐ，４ｓのいずれか一方に障害が発生した場合、スレーブ用のコントローラ２，３には、障害の無い何れか一方の伝送路４ｐあるいは４ｓを経由したデータのみが到来することになる。
【００４６】
このとき、（１）で説明した正常時の場合と同様、データ受信部１０５は、何れかの伝送路４ｐ，４ｓを経由して最初に受信したデータのみを次段の制御データ抽出部１０６に送出する。
【００４７】
例えば、Ｐ系の伝送路４ｐにおいてマスタ用とスレーブ用の各コントローラ１，２間を接続する部分に障害Ｄが発生した場合、スレーブ用のコントローラ２は、Ｐ系の伝送路４ｐを経由したデータを受信できなくなるが、所定の時間ΔＴが経過した後にはＳ系の伝送路４ｓを介して同じ内容のデータを最初のデータとして受信することができる。したがって、データ受信部１０５は、このＳ系の伝送路４ｓを経由して受信したデータを制御データ抽出部１０６に送出する。
【００４８】
制御データ抽出部１０６は、こうして受信されたデータから制御データを抽出し、この制御データを制御データ演算部１０２に出力するので、制御データ演算部１０２は、この制御データに基づいて発電装置１２の制御を継続する。そのため、発電装置１２の制御が不能になるといった不具合発生を確実に防止することができる。
【００４９】
そして、このスレーブ用のコントローラ２のデータ送信部１０４が次のスレーブ用のコントローラ３にデータを送信する際には、例えば送信用のデータを最初にＰ系の伝送路４ｐを介して送信し、次に所定の時間間隔ΔＴが経過した後に、再び同じ内容のデータを今度はＳ系の伝送路４ｓを介して送信する。なお、これは、次のスレーブ用のコントローラ３がマスタ用のコントローラ１に対してデータを送信する場合も同様である。
【００５０】
なお、ここでは、Ｐ系の伝送路４ｐにおいてマスタ用とスレーブ用のコントローラ１，２間を接続する箇所に障害Ｄが発生した場合を例にとって説明したが、伝送路４ｐ，４ｓの他の箇所で障害が発生した場合も処理動作は基本的に同じであるから、ここでは詳しい説明は省略する。
【００５１】
このように、各コントローラ１〜３のデータ送信部１０４は、伝送路４ｐ，４ｓの障害発生の有無にかかわらず、両伝送路４ｐ，４ｓに所定の時間間隔ΔＴをもって同じ内容のデータを送信する一方、データ受信部１０５は、最初に受信したデータのみを取り込むので、２個のコントローラを結ぶ両伝送路４ｐ，４ｓが同時に障害が発生しない限り確実にデータを送受信することができる。そのため、送受信するデータの信頼性が高くなり、各コントローラ１〜３は、発電装置１１〜１３を安定して制御できるとともに、マスタ用のコントローラ１は各発電装置１１〜１３に対する正確な制御目標値を演算することが可能になる。
【００５２】
（３）マスタ用のコントローラが故障した場合
前述のごとく、マスタ用およびスレーブ用の各コントローラ１〜３は、各伝送路４ｐ，４ｓを介してデータ送信を行う際には、送受信周期ごとに値が変化するステータス情報（例えばインクリメント値）を含ませている。
【００５３】
ここで、マスタ用のコントローラ１において、制御データ演算部１０２が故障すると、両伝送路４ｐ，４ｓにより送信されるデータに含まれるステータス情報が変化しなくなる。すなわち、制御データ演算部１０２は、スレーブ用のコントローラ２，３に対して制御データを送信する際、制御データに送信ごとに値が更新されるステータス情報（例えばインクリメント値）を付加しているが、制御データ演算部１０２が故障すると、データ送信部１０４は同じ制御データのみを繰り返して送信するようになり、これに伴ってステータス情報も同じ内容のものが送信されてステータス情報が変化しなくなる。
【００５４】
各々のスレーブ用のコントローラ２，３において、データ受信部１０５は伝送路４ｐ，４ｓを介して最初に受信したデータを制御データ抽出部１０６に送出し、続いて制御データ抽出部１０６はこの受信データから制御データを抽出するが、マスタ異常検出部１０７は、この抽出された制御データに付加されているステータス情報に変化が現れないときには、マスタ用のコントローラ１が故障したものと判断し、マスタ異常検出信号を出力する。
【００５５】
例えば、図４のフローチャートに示すように、スレーブ用のコントローラ２のマスタ異常検出部１０７がステータス情報の変化がないことを検出した場合には、これに応じてマスタ異常検出信号を出力する。このマスタ異常検出信号は、マスタ切替部１０８および異常時対応制御データ演算部１１０にそれぞれ与えられる。
【００５６】
マスタ切替部１０８は、マスタ切替中止部１０９からマスタ切替中止信号が与えられていないときには、自己がマスタ用のコントローラになるためのマスタ切替処理を開始したことを示すマスタ宣言を行う（Ｓ３１）。このマスタ宣言は、送信データ作成部１０３からデータ送信部１０４に送出されて他のスレーブ用のコントローラ３にも伝送される。この動作は、他方のスレーブ用のコントローラ３についても同様である（Ｓ４１）。
【００５７】
ここで、このコントローラ２がマスタ宣言をした後、データ受信部１０５が他のコントローラ３から送られてきたマスタ宣言を受信した場合、マスタ切替中止部１０９は、その通知元のコントローラ３の優先度と自己の優先度とを比較する。そして、自己の優先度が高い場合にはマスタ切替処理をそのまま継続する。この例では、一方のコントローラ２の優先度が他方のコントローラ３の優先度よりも高いので、一方のコントローラ２はそのままマスタ切替処理を続行する（Ｓ３２）。
【００５８】
これに対して、他方のコントローラ３は、一方のコントローラ２よりも優先度が低いので、データ受信部１０５が一方のコントローラ２からのマスタ宣言を受信した場合、マスタ切替中止部１０９は、これに応じてマスタ切替部１０８に対してマスタ切替処理中止指令を与える。このため、マスタ切替部１０８は、最初にマスタ宣言をしても途中でマスタ切替処理を中止する（Ｓ４２）。
【００５９】
各スレーブ側のコントローラ２，３において、異常時対応制御データ演算部１１０は、マスタ異常検出部１０７からマスタ異常検出信号が与えられると、プラント機器制御部１０１に対して発電装置１２，１３で得られる現在のプロセス値をホールドし、このホールドした現在のプロセス値を制御目標値として発電装置１２，１３を制御するように演算処理を実行する（Ｓ３３，Ｓ４３）。このため、マスタ切替処理の開始から完了までの期間Ｔｃ中は、発電装置１２，１３の制御が不安定になってハンチングを生じるといった不具合発生を防止することができる。
【００６０】
そして、マスタ宣言後もマスタ切替処理を継続している一方のスレーブ用のコントローラ２において、制御データ演算部１０２は自己の発電装置１２および他のスレーブ用のコントローラ３で得られる発電装置１３のプロセス値を収集する（Ｓ３４）。なお、マスタ宣言は、データ収集が終了してマスタ切替完了宣言（Ｓ３５）が出されるまでのマスタ切替処理の期間Ｔｃ中、そのまま継続される。
【００６１】
そして、マスタ切替部１０８は、制御データ演算部１０２から全ての発電装置１２，１３のプロセス値のデータ収集が完了したことが知らされると、マスタ切替完了宣言を行い（Ｓ３５）、制御データ演算部１０２が新たなマスタ用のコントローラ２としてのシステム制御を再開する（Ｓ３６）。これと同時に、異常時対応制御データ演算部１１０は制御動作を停止する。さらに、マスタ切替部１０８から出力されたマスタ切替完了宣言は、送信データ作成部１０３からデータ送信部１０４に送出されて他のスレーブ用のコントローラ３にも伝送される。
【００６２】
他方のコントローラ３においては、データ受信部１０５がコントローラ２からのマスタ切替完了信号を受信すると、このマスタ切替完了信号が制御データ演算部１０２および異常時対応制御データ演算部１１０に共に与えられるので、制御データ演算部１０２は元のスレーブとしての制御を再開し（Ｓ４４）、これと同時に、異常時対応制御データ演算部１１０は制御動作を停止する。
【００６３】
なお、以前にマスタ用として動作していたコントローラ１の故障が修理された場合には（Ｓ５１）、既に他のコントローラ２がマスタ用として動作しているので、修理後のコントローラ１が再起動されたときはスレーブ用となり（Ｓ５２）、新たなマスタ用のコントローラ２の下で動作することになる（Ｓ５３）。
【００６４】
このように、この実施の形態１のプラント制御システムにおいては、発電プラント制御システム全体がダウンして制御が停止するなどの不具合発生を確実に防止することができ、発電装置１１〜１３を円滑かつ安定して制御することが可能になる。
【００６５】
実施の形態２．
図５は本発明のプラント制御システムが適用される実施の形態２における発電プラント制御システムの構成図である。
【００６６】
この実施の形態２の発電プラント制御システムは、複数台（本例では３台）のコントローラ１〜３を備え、各コントローラ１〜３は二重化された伝送路４ｐ，４ｓを介して互いにバス状に接続されてバス型ＬＡＮが構成されている。また、各コントローラ１〜３には、プラント機器としての発電装置１１〜１３が個別に接続されている。この場合のバス形ＬＡＮを構成する伝送路４ｐ，４ｓとして、本例ではインターネット用のＬＡＮケーブルが適用されている。そして、この実施の形態２では、各コントローラ１〜３間のデータの送受信はブロードキャストにより行われる。
【００６７】
上記の各コントローラ１〜３の内、一台のコントローラ１は、予め正常時にはマスタ用として定義され、他のコントローラ２，３はスレーブ用として定義されている。また、実施の形態１の場合と同様に、各コントローラ１〜３からは、同じ内容のデータを互いに時間的に重複しないように所定の時間間隔ΔＴをもって各々の伝送路４ｐ，４ｓにブロードキャストで送信する。また、この送信データには、送受信周期ごとに値が変化するステータス情報を含ませる。この場合においても、各コントローラ１〜３の構成は、図２に示したものと基本的に同じである。
【００６８】
この実施の形態２のプラント制御システムにおいて、正常時の場合、伝送路４ｐ，４ｓの一部に障害が発生した場合、およびマスタ用のコントローラ１が故障した場合のそれぞれの処理は、実施の形態１の場合と基本的に同じであるので、詳しい説明は省略する。ただし、この実施の形態２では、各コントローラ１〜３間のデータの送受信はブロードキャストで行われるため、マスタ用のコントローラ１が故障した場合には、その故障発生を全てのコントローラ１〜３がほぼ同時に検出することができる。このため、マスタ切替処理を迅速に行うことができる。
【００６９】
なお、上記の実施の形態１，２では、本発明の理解を促すために、発電電力プラント制御システムが３台のコントローラ１〜３と発電装置１１〜１３とで構成されている場合について説明したが、コントローラや発電装置の台数はこのような数に限定されるものでないことは勿論である。
【産業上の利用可能性】
【００７０】
本発明は、上記の実施の形態１，２で説明したような発電プラント制御システムに適用したものに限定されるものではなく、例えば、生産プラント制御システムのような他のプラント制御システムについても適用することが可能である。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態１における発電プラント制御システムの構成図である。
【図２】本発明の実施の形態１における発電プラント制御システムに適用されるコントローラの構成を示すブロック図である。
【図３】本発明の実施の形態１において、システム全体が正常な場合のマスタ用とスレーブ用の各コントローラのデータの送受信動作を示すフローチャートである。
【図４】本発明の実施の形態１において、マスタ用のコントローラが故障した場合の各コントローラの動作を示すフローチャートである。
【図５】本発明の実施の形態２における発電プラント制御システムの構成図である。
【符号の説明】
【００７２】
１〜３  コントローラ、１１〜１３  発電装置（プラント機器）、
４ｐ，４ｓ  伝送路、１０１  プラント機器制御部、１０２  制御データ演算部、
１０４  データ送信部、１０５  データ受信部、１０６  制御データ抽出部、
１０７  マスタ異常検出部、１０８  マスタ切替部、１０９  マスタ切替中止部、
１１０  異常時対応制御データ演算部。
【図１】
0004541241.tif 000002
【図２】
0004541241.tif 000003
【図３】
0004541241.tif 000004
【図４】
0004541241.tif 000005
【図５】
0004541241.tif 000006