(57)【特許請求の範囲】
【請求項１】
プラントを制御するプラントコントローラと、そのプラントコントローラからプラント運用データを収集する１台のマスタサーバと、マスタサーバの異常時にその機能を引き継ぐ１台以上のスレーブサーバと、これら装置をつなぐネットワークとを備えたプラントシステムにおいて、
前記プラントコントローラ内にマスタ情報エリアおよびカウンタ情報エリアを設け、
前記マスタ情報エリアには、前記各サーバがマスタかスレーブかを識別する記号を書込み処理し、
前記カウンタ情報エリアには、前記各サーバのプログラム正常処理中はそれぞれ割り当てられたレジスタへあらかじめ設定された周期で変化するカウント値を一定周期で書込み処理し、
前記各サーバは各サーバ毎にあらかじめ設定された周期で前記マスタ情報および前記カウンタ情報を取得し、
その取得した条件によってサーバのマスタ切り替えを実行する、
ことを特徴とする複数台構成サーバのマスタ切り替え方法。
【請求項２】
前記サーバのマスタ切り替えを実行するための前記条件は、書込まれた前記カウント値が前回の読み込み時と同じであることを条件とする、請求項１記載のマスタ切り替え方法。
【請求項３】
各サーバが前記マスタ情報および前記カウンタ情報を取得し切り替え判定をする周期として、あらかじめ設定されたマスタ切り替えの優先順位が高いほど短い周期とすることを特徴とする請求項１記載のマスタ切り替え方法。
【請求項４】
各サーバの正常処理中に一定周期で前記カウンタ情報エリアに書込まれるカウント値は、予め設定された正の数値範囲内で単調に増加または減少し最大値又は最小値のいずれかに達したら減少または増加に転ずることを繰り返すことを特徴とする請求項１記載のマスタ切り替え方法。
【請求項５】
プラントを制御するプラントコントローラと、そのプラントコントローラからプラント運用データを収集する１台のマスタサーバと、マスタサーバの異常時にその機能を引き継ぐ１台以上のスレーブサーバと、これら装置をつなぐネットワークとを備えたプラントシステムにおいて、
前記各サーバがマスタかスレーブかを識別する記号を書込み処理するマスタ情報エリアを前記プラントコントローラ内に備え、
前記各サーバのプログラム正常処理中は一定周期でそれぞれ割り当てられたレジスタへあらかじめ設定された周期で変化するカウント値の書込み処理をするカウンタ情報エリアを前記プラントコントローラ内に備え、
前記各サーバは、前記マスタ情報と前記カウント値をマスタ情報エリアおよびカウンタ情報エリアに書込むマスタ情報書込み装置およびカウント値書込み装置を備え、各サーバ毎にあらかじめ設定された周期で前記マスタ情報および前記カウンタ情報を取得するサーバ情報取得装置を備え、その取得した条件によってサーバのマスタ切り替えを実行するマスタ切替装置を備えることを特徴とするプラントシステム。
【請求項６】
前記サーバのマスタ切り替えを実行するための前記条件は、書込まれた前記カウント値が前回の読み込み時と同じであることを特徴とする請求項５記載のプラントシステム。
【請求項７】
各サーバが前記マスタ情報および前記カウンタ情報を取得し切り替え判定をする周期として、あらかじめ設定されたマスタ切り替えの優先順位が高いほど短い周期とすることを特徴とする請求項５記載のプラントシステム。
【請求項８】
各サーバの正常処理中に一定周期で前記カウンタ情報エリアに書込まれるカウント値は、予め設定された正の数値範囲内で単調に増加または減少し最大値又は最小値のいずれかにに達したら減少または増加に転ずることを繰り返すことを特徴とする請求項５記載のプラントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラントシステムにおける、複数台で構成されたサーバのマスタ切り替え方法およびプラントシステムに関する。  
【背景技術】
【０００２】
プラントシステムの安定稼動のため、データを収集したり保管したりするサーバについては、マスタ（現用系・１台）とスレーブ（待機系・１台もしくは複数台）を設置する複数台構成とすることが多い。そして、マスタに異常が発生した場合、スレーブのうち優先順位の高い端末が新たなマスタとなり、処理を継続する。従来のマスタ切り替え方法は、切り替えの条件となるマスタ障害を設定し、その条件により切り替えとしている（例えば、特許文献１参照）。また、ヘルスチェックによる障害判定に加えてクライアント機への接続確認により孤立判定しているものもある（例えば、特許文献２参照）。
図５において、２１０は０系サーバ（この例ではマスタ）、２２０は１系サーバ（この例ではスレーブ）、２０３は０系サーバ２１０と１系サーバ２２０を相互に通信接続するためのＬＡＮ回線である。０系サーバ２１０と１系サーバ２２０は冗長構成となっているため、同一の機能と構成を有するものとなっている。また、２１１および２２１はそれぞれのサーバにおけるマスタとスレーブを切り替える系切り替え制御処理部である。この部分はさらに、障害発生あるいは障害復旧の監視を行なう２１３、２２３の障害監視部、障害監視部からの情報により系切り替え条件の判定を行ない、その結果に応じて系切り替え制御処理を行なう切り替え制御部２１２、２２２から構成される。
ここで、０系サーバ２１０の障害監視部２１３が、０系サーバ２１０の障害を検出すると、ＬＡＮ通信状態および１系サーバ２２０に障害が発生していないことを確認すると、切り替え制御部２１２はマスタとなっている０系サーバ２１０を待機系と切り替え、かつ、スレーブとなっていた１系サーバ２２０をマスタへと切り替える系切り替えの制御を行なう。
このように、従来のサーバのマスタ切り替え方法では、障害現象を検知してからマスタの切り替えを実行する、という手順がとられていた。
そこで、故障現象を検出しない方法として、ネットワークに接続された複数のホストコンピュータが各自IPアドレスを定期的に発信し、他の全ホストが信号を受信し、受信できなかった場合にそのホストを故障とみなす故障検出手法が開示されている。（特許文献３）
【特許文献１】特開２００４−１１０５０９号公報（第１０−１１頁、図１）
【特許文献２】特開２００４−１７１３７０号公報（第１２−１４頁、図１）
【特許文献３】特開２００５−  １２５９９号公報（第５頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のマスタ切り替え方法では、障害発生を監視するという手順をとっているので、障害項目となる要素をすべて予め設定しなければならず、もしその設定から漏れた項目が発生した場合は切り替えとならないという問題があった。そのため、処理速度の低下時や想定外動作時は切り替えわらないということが起きていた。また、孤立判定のためにクライアント機との接続を確認している場合は、そのクライアント機を常時起動させておかなければならないという問題もあった。さらに、ホスト間で直接信号を授受しているので、全ホストが信号を受信できない場合、原因がホストにあるのか通信システムにあるのかわからないという問題があった。
本発明はこのような問題点に鑑みてなされたものであり、故障現象の検出やクライアント機の常時起動を必要とせず、通信システムの故障とサーバの故障が判別できる、確実なマスタ切り替えを行なうことができる方法およびシステムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１および５に記載の発明は、プラントコントローラと複数台のサーバとこれらをつなぐネットワークとを備えたプラントシステムにおいて、
プラントコントローラ内にマスタ情報エリアおよびカウンタ情報エリアを設け、
マスタ情報エリアには、各サーバがマスタかスレーブかを識別する記号を書込み処理し、
カウンタ情報エリアには、各サーバが一定周期でそれぞれ割り当てられたレジスタへあらかじめ設定された周期で変化するカウント値の書込み処理をし、
各サーバは各サーバ毎にあらかじめ設定された周期で前記マスタ情報および前記カウンタ情報を取得し、
その取得した条件によってサーバのマスタ切り替えを実行するという手順および構成をとったのである。
請求項２および６に記載の発明は、サーバのマスタ切り替えを実行するための前記条件は、書込まれた前記カウント値が前回の読み込み時と同じであることを条件とするものである。
請求項３および７に記載の発明は、各サーバが前記マスタ情報および前記カウンタ情報を取得し切り替え判定をする周期として、あらかじめ設定されたマスタ切り替えの優先順位が高いほど短い周期とするものである。
請求項４および８に記載の発明は、前記カウンタ情報エリアに書込まれるカウント値は、予め設定された正の数値範囲内で単調に増加または減少し制限値に達したら減少または増加に転ずることを繰り返すこととするものである。
【発明の効果】
【０００５】
請求項１および５に記載の発明によると、従来のように障害発生を監視する手順をとっておらず障害項目となる要素をすべて予め設定する必要がないので障害検出に漏れが生じない。また、全てのサーバがカウント値を更新できていることがわかれば全サーバとネットワークが正常であることになり、クライアント機と通信できなければそのクライアント機を故障とみなすことができるので、そのクライアント機を常時起動させておく必要はない。
さらに、全サーバが定期的に変化させるカウント値が一旦プラントコントローラに保存され、それらをサーバが互いに定期的に検出できるので、ネットワークの通信状態および全サーバが正常か否かの確認を確実に行なえるとともに、確実なマスタ切り替えを行なうことができるようになる。
請求項２および６に記載の発明によると、あるサーバで定期的に変化するはずのカウント値が変化していないことがそのサーバの故障を検出することになる。
請求項３および７に記載の発明によると、サーバの優先順位が高いほど情報取得・切り替え周期が短く設定されているので、それだけ頻繁にマスタが故障していないかをチェックすることになる。
請求項４および８に記載の発明によれば、カウント値がほとんど増加中または減少中の値をとるので、同じ値を書込みかつ読み込む確率が短時間では極めて低くなるので、誤って故障とみなすことがなくなる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の具体的実施例について、図に基づいて説明する。
【実施例】
【０００７】
図１は、本発明の方法およびシステムを実施するサーバ複数台構成のプラントシステムを示すシステム構成図である。図において１、２、ｎはサーバ、１１はプラントコントローラ、２１はクライアント、３１は制御系ＬＡＮ、４１は情報系ＬＡＮとなっている。また、各サーバには、マスタ書込み装置１０１、１０２、・・・ｎ０１、カウント値書込み装置１０２、２０２、・・・ｎ０２、サーバ情報取得装置１０３、２０３、・・・ｎ０３、マスタ切替装置１０４、２０４、・・・ｎ０４が設けられている。
さらにプラントコントローラ１１にはマスタ情報エリア１１１およびカウンタ情報エリア１１２を持っている。マスタ情報エリア１１１において、マスタとなっているサーバはＯＮ、スレーブとなっているサーバはＯＦＦとなる。カウンタ情報エリア１１２においては、それぞれのサーバの正常処理中、一定周期で割り当てられたレジスタへのカウント値の書込みが行なわれる。
【０００８】
図２はサーバ複数台のときのプラントシステムにおいて現在マスタとなっているサーバの処理手順を示すフローチャートである。この図を用いて本発明の方法を順を追って説明する。
マスタサーバは、はじめにステップＡ1でプラントコントローラよりすべてのサーバのマスタ情報およびカウント情報を取得する。次にステップＡ２でコントローラから情報が取得できたかを判定し、取得できればステップＡ３に進み、取得できなければプラントコントローラの故障とみなして何もせずに処理を終了する。このステップＡ２はプラントコントローラが正常に動作しているか、また制御系ＬＡＮが正常かどうかの確認にもなる。ステップＡ３で自サーバ以外にマスタとなっているサーバがいないかを確認し、もし自サーバ以外にマスタがいればステップＡ４に進み、自サーバ以外にマスタがいなければ何もせずに処理を終了する。ステップＡ４では自サーバ以外でマスタとなっているサーバのうち最も優先順位の高いサーバのカウンタ情報を参照し、前回値と変わっているか判定し、前回値と変わっていればステップＡ５へ進み、前回値と同じならば何もせずに処理を終了する。カウンタが前回値と同じということはそのサーバが正常に動作していないことを示している。ステップＡ５で自サーバのカウンタを参照して前回値と変わっているか判定し、前回値と変わっていればステップＡ６へ進み、前回値と同じならばステップＡ７へ進む。ステップＡ６では自サーバ以外でマスタとなっているサーバの優先順位と自サーバの優先順位を比較し、自サーバ以外でマスタとなっているサーバの優先順位より自サーバの優先順位が低ければ、ステップＡ７へと進む。自サーバ以外でマスタとなっているサーバの優先順位より自サーバの優先順位が高ければ何もせずに処理を終了する。ステップＡ７では、自サーバのマスタフラグをＯＦＦとするとともに、マスタとしての動作を停止しスレーブとしての動作を開始させる。このように、プラントコントローラのマスタ情報およびカウンタ情報に基づき、マスタが複数台とならないように優先順位の低いサーバをマスタからスレーブへと切り替えることができる。
【０００９】
図３はサーバ複数台のときのプラントシステムにおいて現在スレーブとなっているサーバの処理手順を示すフローチャートである。
スレーブサーバは、ステップＢ1でプラントコントローラよりすべてのサーバのマスタ情報およびカウント情報を取得する。次にステップＢ２でコントローラから情報が取得できたかを判定し、取得できればステップＢ３に進み、取得できなければ何もせずに処理を終了する。このステップＢ２はプラントコントローラが正常に動作しているか、また制御系ＬＡＮが正常かどうかの確認にもなる。ステップＢ３で自サーバのカウンタを参照して前回値と変わっているか判定し、前回値と変わっていればステップＢ４へ進み、前回値と同じならば何もせずに処理を終了する。ステップＢ４ではいずれかのサーバのマスタフラグがＯＮとなっているかを判断し、いずれかのサーバのマスタフラグがＯＮとなっていればステップＢ５へ進み、すべてＯＦＦつまりマスタがいなければステップＢ６へ進む。ステップＢ５ではマスタフラグがＯＮとなっているサーバのうち最優先順位となっているサーバのカウンタを参照して前回値と同じかを判定し、前回値と同じならばステップＢ６へ進み、前回値と変わっていれば何もせず処理を終了する。ステップＢ６で自サーバの優先順位における待ち時間が経過しているかを判定し、待ち時間が過ぎていればステップＢ７へ進み、待ち時間が経過していなければ処理を終了する。この待ち時間はサーバの優先順位が高いほど短く設定されているので、それだけ頻繁にマスタが故障していないかをチェックすることになる。ステップＢ７では、現マスタのマスタフラグをＯＦＦとし、自サーバのマスタフラグをＯＮとし、自サーバをマスタとしての動作を開始する。
このように、プラントコントローラのマスタ情報およびカウンタ情報に基づき、マスタがダウンとなっているかを検出し、ダウンとなっていることが検出されれば優先順位の高いサーバをスレーブからマスタへと切り替えることにより、プラントシステムとしての処理を継続することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の方法およびシステムを適用するサーバ複数台構成のプラントシステムを示すシステム構成図
【図２】本発明においてマスタとなっているサーバの処理手順を示すフローチャート
【図３】本発明においてスレーブとなっているサーバの処理手順を示すフローチャート
【図４】従来の方法を適用したサーバ複数台構成のブロック図
【符号の説明】
【００１１】
１、２、ｎ  サーバ
１０１、２０１、ｎ０１  マスタ情報書込み装置
１０２、２０２、ｎ０２  カウント値書込み装置
１０３、２０３、ｎ０３  サーバ情報取得装置
１０４、２０４、ｎ０４  マスタ切替装置
１１    プラントコントローラ
１１１  マスタ情報エリア
１１２  カウンタ情報エリア
２１    クライアント
３１    制御系ＬＡＮ
４１    情報系ＬＡＮ
２０３  ＬＡＮ回線
２１０  ０系サーバ（マスタ）
２１１  系切替制御処理部
２１２  切替制御部
２１３  障害監視部
２２０  １系サーバ（スレーブ）
２２１  系切替制御処理部
２２２  切替制御部
２２３  障害監視部
【図１】
0004760319.tif 000002
【図２】
0004760319.tif 000003
【図３】
0004760319.tif 000004
【図４】
0004760319.tif 000005