(57)【特許請求の範囲】
【請求項１】
プラントのプロセス制御装置における、冗長化相手方装置と冗長化して運用される待機状態である冗長化装置において、
前記冗長化相手方装置から送信される複数のＨＢ信号を個別に受信する複数の受信部と、
前記受信部の受信結果に基づいて、前記複数のＨＢ信号の通信経路のうち正常な通信経路の数を計数する計数部と、
前記計数部の計数結果と、１以上であって前記複数のＨＢ信号の通信経路の数よりも小さい値が設定された閾値とを比較する比較部と、
前記計数部の計数結果が零である場合には、待機状態から稼働状態への切り替えを行い、前記計数部の計数結果が１以上であって前記閾値以下である場合には、待機状態から冗長化を解除した解除状態への切り替えを行う切替部と、
を備えることを特徴とする冗長化装置。
【請求項２】
前記計数部の計数結果が前記閾値よりも大きい値である場合には、待機状態が継続されることを特徴とする請求項１記載の冗長化装置。
【請求項３】
前記切替部は、待機状態から前記解除状態への切り替えを行った後に、前記計数部の計数結果が前記閾値よりも大きい値になった場合には、前記解除状態から待機状態への切り替えを行うことを特徴とする請求項１記載の冗長化装置。
【請求項４】
前記複数のＨＢ信号の通信経路についての障害の関連を表したリスト情報を記憶する記憶部を更に備えること、
を特徴とする請求項１から請求項３の何れか一項に記載の冗長化装置。
【請求項５】
前記計数部は、前記記憶部に記憶された前記リスト情報を参照して、前記複数のＨＢ信号の通信経路のうち実質的に正常な通信経路の数を計数すること、
を特徴とする請求項４記載の冗長化装置。
【請求項６】
プラントのプロセス制御装置における、稼働状態である第１の装置と、該第１の装置とネットワークを介して接続され、前記第１の装置と冗長化して運用される待機状態である第２の装置と、を備える冗長化システムであって、
前記第２の装置は、
前記第１の装置から送信される複数のＨＢ信号を個別に受信する複数の受信部と、
前記受信部の受信結果に基づいて、前記複数のＨＢ信号の通信経路のうち正常な通信経路の数を計数する計数部と、
前記計数部の計数結果と、１以上であって前記複数のＨＢ信号の通信経路の数よりも小さい値が設定された閾値とを比較する比較部と、
前記計数部の計数結果が零である場合には、待機状態から稼働状態への切り替えを行い、前記計数部の計数結果が１以上であって前記閾値以下である場合には、待機状態から冗長化を解除した解除状態への切り替えを行う切替部と、
を備えることを特徴とする冗長化システム。
【請求項７】
前記冗長化システムは、前記第１の装置及び前記第２の装置とネットワークを介して接続され、前記第２の装置とともに前記第１の装置と冗長化して運用される待機状態である第３の装置をさらに備え、
前記第２の装置は、待機状態から前記解除状態に切り替わった後、さらに前記第１の装置の故障により前記第３の装置が待機状態から稼働状態に切り替わった場合に、前記第３の装置から送信される複数のＨＢ信号の通信経路のうち正常な通信経路の数が前記閾値よりも大きいときには、前記解除状態から前記待機状態への切り替えを行うことを特徴とする請求項６記載の冗長化システム。
【請求項８】
プラントのプロセス制御装置における、稼働状態である第１の装置と、該第１の装置とネットワークを介して接続され、前記第１の装置と冗長化して運用される待機状態である第２の装置と、を備える冗長化システムの冗長化方法であって、
前記第２の装置が、前記第１の装置から送信される複数のＨＢ信号を個別に受信する第１ステップと、
前記第２の装置が、前記第１ステップの受信結果に基づいて、前記複数のＨＢ信号の通信経路のうち正常な通信経路の数を計数する第２ステップと、
前記第２の装置が、前記第２ステップの計数結果と、１以上であって前記複数のＨＢ信号の通信経路の数よりも小さい値が設定された閾値とを比較する第３ステップと、
前記第２の装置が、前記第２ステップの計数結果が零である場合には、待機状態から稼働状態への切り替えを行い、前記第２ステップの計数結果が１以上であって前記閾値以下である場合には、待機状態から冗長化を解除した解除状態への切り替えを行い、前記第２ステップの計数結果が前記閾値よりも大きい値である場合には、待機状態を維持する第４ステップと、
を有することを特徴とする冗長化方法。
【請求項９】
前記第２の装置が、前記第４ステップで前記待機状態から前記解除状態への切り替えを行った後に、前記第２ステップの計数結果が前記閾値よりも大きい値になった場合に、前記第２の装置が、前記解除状態から前記待機状態への切り替えを行う第５ステップを有することを特徴とする請求項８記載の冗長化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化装置、冗長化システム、及び冗長化方法に関するものである。
【背景技術】
【０００２】
従来から、システムに障害が発生しても業務を継続して行えるように、複数のコンピュータによって冗長化した冗長化システムが用いられている。例えば図１０に示す冗長化システム１００では、ＰＣ１にＨＢ（ハートビート）送信部１００ａ〜１００ｃが備えられ、ＰＣ２にＨＢ受信部１０１ａ〜１０１ｃが備えられている。通常時はＰＣ１がActive側となって業務処理を行うとともに、ＨＢ送信部１００ａ〜１００ｃがＨＢ受信部１０１ａ〜１０１ｃにそれぞれＨＢ信号を送信する。ＰＣ２は、通常時はStandBy側として、ＰＣ１の異常時に備えて待機（冗長化）している。このとき、ＰＣ２は相手先マシンに認識されない。そして、ＨＢ受信部１０１ａ〜１０１ｃが全てＰＣ１からのＨＢ信号を受信できなくなった場合には、ＰＣ１がダウンしたと判断して、ＰＣ２がActive側に切り替わって処理を継続する。
ところで、この種の冗長化システムにおいては、例えばＨＢ通信経路のケーブル切断などによってＨＢ信号が不通となった場合、ＰＣ１がダウンしていないのにも関わらずＰＣ２がActive側に切り替わって処理を行い、いわゆるスプリットブレインシンドローム（以下、ＳＢと記す）が発生する場合がある。ＳＢが発生すると、例えばＩＰアドレスやＭＡＣアドレスなどの識別子がＰＣ１とＰＣ２とで重複することとなり、相手先コンピュータとの通信が不安定になるおそれがある。あるいは、相手先マシンが、識別子が重複するＰＣ１及びＰＣ２とランダムに通信することによって、通信データに不整合が生じて、システム全体に悪影響を及ぼすおそれがある。
また、システム内における冗長化した１組の装置が動作を停止してしまった場合、システム全体の動作にも影響を与えることになる。しかし、これは他の装置から見て、動作の停止を把握可能であり、なんらかの対策をとることも可能である。一方、ＳＢが発生した際には、通信が不安定な状態のまま動作を継続する可能性があり、他の装置からみると該当装置の異常を判断できず、誤った情報のやりとりを行ってしまう可能性がある。したがって、システム全体でみると、冗長化動作の停止防止策より、ＳＢ回避策の方にはるかに高い信頼性（優先度）を持たせる必要がある。
このようなＳＢの発生を回避するために、例えば下記特許文献１では、ＨＢ信号の信号受信部と、信頼性判定部と、処理管理部と、備える冗長化システムが提案されている。このシステムでは、信号受信部が他のコンピュータからのＨＢ信号を受信できなくなった場合に、信頼性判定部がＨＢ通信経路の信頼性を判定する。そして、信頼性判定部が、ＨＢ通信経路の信頼性が無いと判定した場合には、処理管理部は実行中の処理を停止させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１５／０９８５８９号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１に記載の冗長化システムでは、ＨＢ通信経路の信頼性が無いと判断された場合、ＳＢを回避するために実行中の処理を停止させるため、例えばプラントのプロセス制御システム等、処理の継続性が求められるシステムに用いる場合の制約となっていた。
【０００５】
本発明はこのような事情を考慮してなされたもので、実行中の処理を停止させずにＳＢの発生を防止することができる冗長化装置、冗長化システム、及び冗長化方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の冗長化装置は、プラントのプロセス制御装置における、冗長化相手方装置と冗長化して運用される待機状態である冗長化装置において、前記冗長化相手方装置から送信される複数のＨＢ信号を個別に受信する複数の受信部と、前記受信部の受信結果に基づいて、前記複数のＨＢ信号の通信経路のうち正常な通信経路の数を計数する計数部と、前記計数部の計数結果と予め設定された閾値とを比較する比較部と、前記計数部の計数結果及び前記比較部の比較結果に応じて、待機状態から稼働状態への切り替え、或いは待機状態から冗長化を解除した解除状態への切り替えを行う切替部と、を備えることを特徴とする。
【０００７】
なお、前記閾値は、１以上であって前記複数のＨＢ信号の通信経路の数よりも小さい値が設定されてもよい。
【０００８】
また、前記切替部は、前記計数部の計数結果が零である場合には、待機状態から稼働状態への切り替えを行い、前記計数部の計数結果が１以上であって前記閾値以下である場合には、待機状態から前記解除状態への切り替えを行ってもよい。
【０００９】
また、前記計数部の計数結果が前記閾値よりも大きい値である場合には、待機状態が継続されてもよい。
【００１０】
また、前記切替部は、待機状態から前記解除状態への切り替えを行った後に、前記計数部の計数結果が前記閾値よりも大きい値になった場合には、前記解除状態から待機状態への切り替えを行ってもよい。
【００１１】
また、前記複数のＨＢ信号の通信経路についての障害の関連を表したリスト情報を記憶する記憶部を更に備えてもよい。
【００１２】
また、前記計数部は、前記記憶部に記憶された前記リスト情報を参照して、前記複数のＨＢ信号の通信経路のうち実質的に正常な通信経路の数を計数してもよい。
【００１３】
また、本発明の冗長化システムは、プラントのプロセス制御装置における、第１の装置と、該第１の装置とネットワークを介して接続された第２の装置と、を備える冗長化システムであって、前記第２の装置は、前記第１の装置から送信される複数のＨＢ信号を個別に受信する複数の受信部と、前記受信部の受信結果に基づいて、前記複数のＨＢ信号の通信経路のうち正常な通信経路の数を計数する計数部と、前記計数部の計数結果と予め設定された閾値とを比較する比較部と、前記計数部の計数結果及び前記比較部の比較結果に応じて、待機状態から稼働状態への切り替え、或いは待機状態から冗長化を解除した解除状態への切り替えを行う切替部と、を備えることを特徴とする。
【００１４】
また、前記冗長化システムは、前記第１の装置及び前記第２の装置とネットワークを介して接続された第３の装置をさらに備え、前記第２の装置は、前記第３の装置から送信される複数のＨＢ信号の受信結果に基づいて、前記解除状態から前記待機状態への切り替えを行ってもよい。
【００１５】
また、本発明の冗長化方法は、プラントのプロセス制御装置における、第１の装置と、該第１の装置とネットワークを介して接続された第２の装置と、を備える冗長化システムの冗長化方法であって、前記第１の装置から送信される複数のＨＢ信号を前記第２の装置が個別に受信する第１ステップと、前記第１ステップの受信結果に基づいて、前記複数のＨＢ信号の通信経路のうち正常な通信経路の数を計数する第２ステップと、前記第２ステップの計数結果と予め設定された閾値とを比較する第３ステップと、前記第２ステップの計数結果及び前記第３ステップの比較結果に応じて、前記第２の装置を待機状態から稼働状態へと切り替え、或いは待機状態から冗長化を解除した解除状態へと切り替え、或いは待機状態を維持する第４ステップと、を有することを特徴とする。
【００１６】
なお、前記冗長化方法は、前記第４ステップで前記第２の装置を前記待機状態から前記解除状態へと切り替えた後に、前記第２ステップの計数結果が前記閾値よりも大きい値になった場合に、前記第２の装置を前記解除状態から前記待機状態へと切り替える第５ステップを有してもよい。
【発明の効果】
【００１７】
本発明によれば、実行中の処理を停止させずにＳＢの発生を防止することができる冗長化装置、冗長化システム、及び冗長化方法を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態における冗長化システムの構成の一例を示す図である。
【図２】第１実施形態における冗長化システムの動作の一例を示すフローチャートである。
【図３】第２実施形態における冗長化システムの構成の一例を示す図である。
【図４】第３実施形態における冗長化システムの構成の一例を示す図である。
【図５】第３実施形態におけるＨＢ通信経路の構成例を示す図である。
【図６】第４実施形態における冗長化システムの動作の一例を示すフローチャートである。
【図７】第５実施形態における冗長化システムの構成の一例を示す図である。
【図８】第５実施形態における冗長化システムの動作の一例を示すフローチャートである。
【図９】第６実施形態における冗長化システムの構成の一例を示す図である。
【図１０】従来の冗長化システムの構成の一例を示す図である。
【発明を実施するための形態】
【００１９】
（第１実施形態）
以下、第１実施形態に係る冗長化システム１の構成を、図１を参照しながら説明する。
図１に示すように、本実施形態にかかる冗長化システム１は冗長化相手方装置であるコンピュータＰＣ１（第１の装置）と、冗長化して運用される冗長化装置であるコンピュータＰＣ２（第２の装置）と、ＨＢ通信経路３１〜３３（通信経路）と、を備える。
ＰＣ１及びＰＣ２は例えば汎用コンピュータであり、ネットワークを介して相手先マシンなどとそれぞれ接続されている。
ＨＢ通信経路３１〜３３は、例えば専用のＮＩＣポートを用いてＰＣ１とＰＣ２とを接続している。なお、ＨＢ通信経路３１〜３３は、専用のネットワーク網（Ｌ２ＳＷ等）を用いて構成されていてもよい。
ＰＣ１は、通常時においてActive側（稼働状態）であり、相手先マシンから認識されるとともに相手先マシンに対してサービス等を提供する。ＰＣ２は、通常時においてStandBy側であり、相手先マシンから認識されず、相手先マシンに対してサービス等を提供しない。
【００２０】
ＰＣ２は通常時において、ＰＣ１がダウンした場合に、StandBy側からActive側に切り替えられるように準備（冗長化）している状態を本明細書では「待機状態」と記す。また、冗長化が解除された状態を本明細書では「解除状態」と記す。
ＰＣ２が待機状態の場合、例えばＣｈｅｃｋｐｏｉｎｔ／Ｒｅｓｔａｒｔ（メモリコピー）方式の場合には、ＰＣ１のメモリやディスクが変更されると、その変更箇所をＰＣ２にコピーして、ＰＣ２のデータとＰＣ１のデータとを等値化する。あるいは、Ｌｏｃｋｓｔｅｐ（並列実行）方式の場合には、ＰＣ１の動作に同期して、ＰＣ２に同様の動作をさせる。ただしこの際、ＰＣ２は相手先マシンに対する出力を行わない。このようにして、ＰＣ２はＰＣ１がダウンした場合にStandBy側からActive側に切り替わり、相手先マシンに対するサービス等の提供を継続することができる。
なお、上記ＰＣ２のように、一方のコンピュータがダウンした場合に、他方のコンピュータがStandBy側からActive側に切り替わって処理を継続することができる状態でのシステムの動作を本明細書では「冗長化動作」という。
これに対して、コンピュータがダウンした場合に、他方のコンピュータが処理を継続することができない状態でのシステムの動作を「シングル動作」という。
【００２１】
以降、冗長化システム１の各部分の具体的な構成を説明する。
【００２２】
ＰＣ１は、ＨＢ送信部１１ａ〜１１ｃ及び処理部１２を備える。ＨＢ送信部１１ａ〜１１ｃはそれぞれ、ＰＣ１のＨＢ信号を一定の周期（以降、ＨＢ送信周期と記す）でＰＣ２に送信する。ＨＢ送信周期は、例えば１００ｍｓ程度である。処理部１２は、ＣＰＵやメモリなどを備え、相手先マシンに対してアプリケーションやＯＳ等によるサービスを提供する。
【００２３】
ＰＣ２は、ＨＢ受信部２１ａ〜２１ｃ（受信部）、処理部２２、ＨＢ通信状態判定部２３、正常ＨＢ通信経路カウント部２４（計数部）、閾値比較／動作判定部２５（比較部）、記憶部２６、StandBy／Active切り替え部２７（切替部）、及び冗長化／シングル動作切り替え部２８（切替部）を備える。
【００２４】
ＨＢ受信部２１ａ〜２１ｃは、ＰＣ１のＨＢ送信部１１ａ〜１１ｃが送信したＨＢ信号を、ＨＢ通信経路３１〜３３を介して個別に受信する。ＨＢ受信部２１ａは、ＨＢ送信部１１ａのＨＢ送信周期と同じ周期でスリープから起床して、ＨＢ送信部１１ａが送信したＨＢ信号を受信し、その受信結果をＨＢ通信状態判定部２３に伝える。ＨＢ受信部２１ｂ、２１ｃについても同様に、ＨＢ送信部１１ｂ、１１ｃが出力したＨＢ信号の受信結果をそれぞれＨＢ通信状態判定部２３に伝える。
【００２５】
ＨＢ通信状態判定部２３は、ＨＢ受信部２１ａ〜２１ｃから伝えられたＨＢ信号の受信結果に基づき、ＨＢ通信経路３１〜３３が正常か不通かを判定する。例えば、ＨＢ受信部２１ａが、ＨＢ送信部１１ａにおけるＨＢ送信周期の３周期分の期間が経過してもＨＢ信号を受信しなかった場合には、ＨＢ通信経路３１が不通であると判定し、それ以外は正常であると判定する。ＨＢ通信状態判定部２３は、同様にしてＨＢ通信経路３２、３３が正常か不通かを判定する。ＨＢ通信状態判定部２３は、上記判定結果を正常ＨＢ通信経路カウント部２４に伝える。
【００２６】
正常ＨＢ通信経路カウント部２４は、ＨＢ通信状態判定部２３によって正常と判定されたＨＢ通信経路の数（以降、正常ＨＢ通信経路数と記す）をカウントする。各ＨＢ受信部２１ａ〜２１ｃが、各ＨＢ信号を受信するタイミングは一致しているとは限らず、ＨＢ通信状態判定部２３は、それぞれのＨＢ信号を受信する都度、判定を行っている。従って、正常ＨＢ通信経路カウント部２４は、ＨＢ送信周期の間、ＨＢ通信状態判定部２３による判定結果を保持し、正常ＨＢ通信経路数をカウントする機能を有する。
【００２７】
記憶部２６は、予め設定された所定の閾値を記憶する。閾値は、障害の同時発生を許容できるＨＢ通信経路の数によって決定する。例えば、図１に示すように、ＨＢ通信経路が全部で３つある場合において、閾値を２と設定した場合を説明する。３つのＨＢ通信経路が全て正常である場合には、このうちの２つのＨＢ通信経路に同時に障害が発生しても、正常なＨＢ通信経路が１つ残るため、ＰＣ２はＰＣ１のＨＢ信号を認識することができる。従って、ＰＣ１がダウンしていないのにも関わらずＰＣ２がActive側となるＳＢが発生するのを回避することができる。この場合、障害の同時発生を許容できるＨＢ通信経路の数は２つまでであるため、閾値として２以下の正の整数値を設定することができる。
一方、例えばＨＢ通信経路の数が４つである場合には、ＨＢ通信経路に同時発生する障害が３つ以下であれば、ＳＢの発生を回避することができる。つまり、障害の同時発生を許容できる最大のＨＢ通信経路の数は３である。この場合、閾値として３以下の正の整数値を設定することができる。
閾値は、後述するようにＰＣ２を待機状態から解除状態に切り替えるか否かを判定する際に用いる。
【００２８】
閾値比較／動作判定部２５は、正常ＨＢ通信経路カウント部２４が保持している最新の正常ＨＢ通信経路数（計数結果）と、記憶部２６が記憶している閾値とを比較し、比較の結果に基づいて冗長化／シングル動作切り替え部２８及びStandBy／Active切り替え部２７に対して指示を与える。
【００２９】
StandBy／Active切り替え部２７は、閾値比較／動作判定部２５の指示に基づき、ＰＣ２をStandBy側からActive側に切り替える。
【００３０】
冗長化／シングル動作切り替え部２８は、閾値比較／動作判定部２５の指示に基づき、ＰＣ２を待機状態から解除状態に切り替える。これにより、冗長化システム１は冗長化動作からシングル動作に切り替わる。シングル動作に切り替わった以降は、たとえ正常ＨＢ通信経路数がゼロとなった場合でも、ＰＣ２はActive側にはならない。
なお、StandBy／Active切り替え部２７と冗長化／シングル動作切り替え部２８とは同一の構成要素であってもよい。
【００３１】
上記した本実施形態の冗長化システム１の動作を、図２に示すフローチャートを用いて説明する。
初期状態では、ＰＣ１がActive側であり、ＰＣ２がStandBy側（待機状態）であり、冗長化システム１は冗長化動作を実行している（ステップＳ１）。
次に、ＨＢ通信状態判定部２３は、各ＨＢ通信経路３１〜３３が正常か不通かを判定する（ステップＳ２）。
次に、正常ＨＢ通信経路カウント部２４は、正常ＨＢ通信経路数をカウントして、そのカウント結果を保持する（ステップＳ３）。
次に、閾値比較／動作判定部２５は、正常ＨＢ通信経路数と閾値とを比較する（ステップＳ４）。比較の結果、正常ＨＢ通信経路数が閾値よりも大きい値である場合には、ＰＣ２の待機状態が継続されてステップＳ２に戻る。
【００３２】
ステップＳ４における比較の結果、正常ＨＢ通信経路数が１以上であって閾値以下であった場合には、閾値比較／動作判定部２５は冗長化／シングル動作切り替え部２８を駆動させて、ＰＣ２を待機状態から解除状態に切り替えることにより、冗長化システム１を冗長化動作からシングル動作に切り替える（ステップＳ５）。これにより、ＰＣ１をActive側としたシングル動作が実行され（ステップＳ６）、その後に閾値を超える数の障害がＨＢ通信経路に発生することでＳＢが発生するのを回避することができる。
ステップＳ４の比較の結果、正常ＨＢ通信経路数が０（零）であった場合には、ＰＣ１がダウンしていると考えられるため、閾値比較／動作判定部２５はStandBy／Active切り替え部２７を駆動させて、ＰＣ２をStandBy側からActive側（稼働状態）に切り替える（ステップＳ７）。これにより、ＰＣ２をActive側としたシングル動作が実行される（ステップＳ８）。
【００３３】
以上に示した本実施形態の冗長化システム１の効果を、図１０に示す従来の冗長化システム１００との比較により説明する。
図１０に示す従来の冗長化システム１００では、正常ＨＢ通信経路数が０となった場合に、ＰＣ１がダウンしていると判断し、ＰＣ２をActive側に切り替える。一方、正常ＨＢ通信経路数が１以上である場合には、ＰＣ１はダウンしていないと判断して冗長化動作を継続する。この場合、例えば正常ＨＢ通信経路数が１である場合にも冗長化動作が継続されるため、この状態でＨＢ通信経路に障害が発生すると、ＰＣ１がダウンしていないのにも関わらずＰＣ２がActive側に切り替わってＳＢが発生するおそれがある。
【００３４】
一方、本実施形態の冗長化システム１によれば、正常ＨＢ通信経路カウント部２４が正常ＨＢ通信経路数を監視し、正常ＨＢ通信経路数に変動があった場合に、冗長化動作を継続するか、シングル動作に切り替えるか、を正常ＨＢ通信経路数と閾値との比較により判断する。例えば閾値を２と設定した場合、正常ＨＢ通信経路数が２以下になると冗長化動作を停止してシングル動作に切り替わる（縮退する）ため、その後に２つのＨＢ通信経路に同時に障害が発生したとしてもＳＢが発生するのを回避することができる。
閾値は、１以上であってＨＢ通信経路の数よりも小さい値が設定されるのが好ましい。また、閾値を大きく設定するほど、冗長化システム１のＳＢ回避についての信頼性を高めることができる。
【００３５】
また、例えばプラント等に用いられるプロセス制御システムにおいては、フィードバック制御等のように、前回周期までの処理データを次の処理周期の入力に使用する場合がある。このような場合には、前回周期までの処理データを欠損なく次の処理周期における処理に反映させることが要求される。そして、Active側のコンピュータがダウンする等して、StandBy側のコンピュータがActive側に切り替わって処理を続行する際に、処理データが欠損するのを防ぐためには、待機状態にあるコンピュータのStandBy側からActive側への切り替えを制御処理周期内に行うこと（リアルタイム性）が求められる。
本実施形態の冗長化システム１によれば、上記リアルタイム性を確保することができる。例えばＨＢ送信周期が１００ｍｓである場合、ＨＢ通信状態判定部２３によるＨＢ通信経路３１〜３３が正常か不通かの判定に要する時間は、ＨＢ送信周期の３周期分であるとすると３００ｍｓとなる。そして、正常ＨＢ通信経路カウント部２４による正常ＨＢ通信経路数のカウントと、閾値比較／動作判定部２５による正常ＨＢ通信経路数と閾値との比較と、StandBy／Active切り替え部２７によるＰＣ２のStandBy側からActive側への切り替えに要する時間は、それぞれ１ｍｓ以下である。従って、これら一連の動作に要する時間は３００ｍｓ程度である。
プラント等のプロセス制御システムの制御処理周期が１秒程度であったとしても、上記一連の動作に要する時間はこの制御処理周期よりも充分に短いため、リアルタイム性を確保することができる。そして、例えばＰＣ１がダウンしたとしても、制御処理周期内にＰＣ２がStandBy側からActive側に切り替わることで、処理データの欠損を防ぐことができる。
【００３６】
なお、閾値をより大きな値に設定することにより、障害の同時発生を許容できるＨＢ通信経路数を増やすことができるため、ＳＢ回避についての信頼性をより高めた冗長化システム１を提供することができる。
また、ＰＣ２は、ＨＢ通信経路の不通を検出した場合に、他のＨＢ通信経路を利用して、不通となったＨＢ通信経路についての情報をＰＣ１に通知する通知部を備えていてもよい。これにより、正常ＨＢ通信経路数が閾値以下となる前に不通となったＨＢ通信経路を修復させることにより、シングル動作に切り替わる頻度を低減することができる。
【００３７】
（第２実施形態）
次に、本発明に係る第２実施形態について説明するが、第１実施形態と基本的な構成は同様である。このため、同様の構成には同一の符号を付してその説明は省略し、異なる点についてのみ説明する。
本実施形態では、ＨＢ通信経路の構成が第１実施形態と異なる。
【００３８】
第２実施形態に係る冗長化システム２について、図３を用いて説明する。図３に示されるように、冗長化システム２におけるＰＣ１は、ＨＢ送信部１１ｎを備えている。ＨＢ送信部１１ｎは、ＨＢ送信部１１ａ等と同様に、ＰＣ１のＨＢ信号を一定の周期でＰＣ２に送信する。
冗長化システム２におけるＰＣ２は、ＨＢ受信部２１ｎを備えている。ＨＢ受信部２１ｎは、ＰＣ１のＨＢ送信部１１ｎが送信したＨＢ信号を、アプリケーション用途の既存のＮＩＣや既存のネットワーク網（Ｌ２ＳＷなど）を介して受信する。
ＨＢ通信経路は、特殊なネットワーク仕様を必要とせず、ＨＢパケットのデータ部に情報を載せる必要もない。従って、上記のように既存の設備によって兼用させることができる。
【００３９】
（第３実施形態）
次に、本発明に係る第３実施形態について説明するが、第１実施形態と基本的な構成は同様である。このため、同様の構成には同一の符号を付してその説明は省略し、異なる点についてのみ説明する。
第１実施形態では、複数のＨＢ通信経路３１〜３３が相互に独立である場合を示した。つまり、ＨＢ通信経路３１〜３３が相互にＮＩＣやネットワーク機器等を共有せず、物理的に独立した構成になっている場合である。このように、ＨＢ通信経路が相互に独立している場合は、ＨＢ通信経路で発生した故障や人為的ミス等の障害が、他のＨＢ通信経路に影響を与えない。
【００４０】
一方、実際にＨＢ通信経路を構築するときに、複数のＨＢ通信経路が１つのネットワークスイッチを共有する場合などがある。このような場合、このネットワークスイッチ自体の故障や、誤ってこのネットワークスイッチの電源をＯＦＦにしてしまうなどの人為的ミスにより、複数のＨＢ通信経路の通信が途絶えてしまう可能性がある。このように、１つのスイッチ等についての障害によって、複数のＨＢ通信経路が不通となる場合、本明細書ではその複数のＨＢ通信経路に「障害の関連」があると記す。すなわち、障害の関連とは、複数のＨＢ通信経路が互いにネットワーク機器などを共有することにより、そのネットワーク機器の故障や、人による運用操作によって、同時に複数のＨＢ通信経路が不通となる場合における各ＨＢ通信経路同士の関係性を示す。
第３実施形態では、冗長化システムに障害の関連があるＨＢ通信経路が含まれる場合について示す。
【００４１】
第３実施形態に係る冗長化システム３について、図４を用いて説明する。ＰＣ１のＨＢ送信部１１ａ〜１１ｄはそれぞれ、ＨＢ通信経路４１〜４４を介してＰＣ２のＨＢ受信部２１ａ〜２１ｄにＨＢ信号を送信する。ＨＢ通信経路４１及びＨＢ通信経路４４は、他のＨＢ通信経路から独立しているが、ＨＢ通信経路４２、４３は共通のＳＷにより中継されている。なお、ＳＷはＬ２ＳＷやＬ３ＳＷなどのスイッチである。このＳＷに障害が発生すると、ＨＢ通信経路４２、４３は同時に不通となる。従って、ＨＢ通信経路４２、４３は互いに障害の関連がある。
冗長化システム３は４つのＨＢ通信経路４１〜４４を有するが、ＨＢ通信経路４１の障害と、ＳＷの障害と、ＨＢ通信経路４４の障害と、の３つの障害によって、全てのＨＢ通信経路４１〜４４が不通となる。このように、独立した正常ＨＢ通信経路数に相当する実質的に正常な通信経路の数を、本明細書では「実効ＨＢ通信経路数」と記す。例えば、冗長化システム３の実効ＨＢ通信経路数は３である。
【００４２】
冗長化システム３のＰＣ２は、図４に示すように、リスト記憶部２９を備えている。このリスト記憶部２９は、上記障害の関連についての情報である実効ＨＢ通信経路リスト（リスト情報）を記憶する。この実効ＨＢ通信経路リストについて、表１を用いて説明する。
表１に示すように、実効ＨＢ通信経路リストには、ＨＢ通信経路４１〜４４のそれぞれについての障害の関連の有無と、想定される障害の種類（発生箇所）が列挙されている。例えば、ＨＢ通信経路４１についての障害はＨＢ通信経路４１の経路内での発生が想定され、ＨＢ通信経路４２、４３についての障害はＳＷでの発生が想定される。ＨＢ通信経路４２、４３については、ＳＷではなくそれぞれのＨＢ通信経路内で別個に障害が発生することも考えられるが、各ＨＢ通信経路内で別個に発生する障害は、ＨＢ通信経路４２、４３が同時に不通となるＳＷにおける障害に包含される。このような包含関係の場合には、障害によって不通となる範囲が大きい条件（ワーストケース）を実効ＨＢ通信経路リストに記載する。表１に示す例では、実効ＨＢ通信経路Ｎｏ．１〜３が記載され、実効ＨＢ通信経路Ｎｏ．２にＨＢ通信経路４２、４３が包含されている。
【００４３】
【表１】
0006409812.tif 000002
【００４４】
上記のように構成された冗長化システム３の作用について、第１実施形態とは異なる点について説明する。
正常ＨＢ通信経路カウント部２４は、リスト記憶部２９に記憶された実効ＨＢ通信経路リスト（表１）を参照し、正常な実効ＨＢ通信経路数をカウントする。具体的には、その時点でのＨＢ通信経路４１〜４４がそれぞれ正常か不通かを、実効ＨＢ通信経路リストの該当するＨＢ通信経路の良否欄に記録する。そして、その結果に基づいて実効ＨＢ通信経路Ｎｏ．１〜３が正常か不通かを、該当する良否欄に記録して、正常と判断された実効ＨＢ通信経路の数をカウントする。
このとき、実効ＨＢ通信経路が正常なＨＢ通信経路を１経路以上持つ場合には、その実効ＨＢ通信経路は正常であると判断される。例えば、表１に示す例において、ＨＢ通信経路４２、４３のうち１つでも正常であれば、実効ＨＢ通信経路Ｎｏ．２は正常であると判断される。また、ＨＢ通信経路４２、４３の両方が不通である場合には、実効ＨＢ通信経路Ｎｏ．２は不通であると判断される。すなわち、正常な実効ＨＢ通信経路数とは、実効ＨＢ通信経路リストにおいて、正常なＨＢ通信経路を１経路以上持つ実効ＨＢ通信経路の経路数である。ただし、正常な実効ＨＢ通信経路の経路数が、正常ＨＢ通信経路数を超える場合には、正常ＨＢ通信経路数を正常な実効ＨＢ通信経路の経路数とする。例えば、図５（ｃ）に示す例で、ＨＢ通信経路５３ｂのみが正常であった場合、正常ＨＢ通信経路数が１であるにも関わらず、正常な実効ＨＢ通信経路の経路数が２となってしまう。このような場合には、正常ＨＢ通信経路数（＝１）を正常な実効ＨＢ通信経路の経路数とする。
【００４５】
閾値比較／動作判定部２５は、正常な実効ＨＢ通信経路数と閾値とを比較する。なお、閾値は実効ＨＢ通信経路数を基準として設定されている。閾値比較／動作判定部２５が比較の結果に基づいてStandBy／Active切り替え部２７及び冗長化／シングル動作切り替え部２８に与える指示は第１実施形態と同様である。
【００４６】
本実施形態の冗長化システム３によれば、ある特定の障害に関連する通信経路を集め、それらをまとめて、独立した１個の通信経路（実効ＨＢ通信経路）として扱うことができる。
図４に示す例においては、ＨＢ通信経路の数は４であるが、ＨＢ通信経路４２及び４３がＳＷを共有しているので、実効ＨＢ通信経路は３である。ここで、閾値を２に設定している場合においては、３つの実効ＨＢ通信経路のうち、同時期に２つの実効ＨＢ通信経路が不通となった場合、ＳＢの発生を回避するように動作する（ＰＣ２は「待機状態」から「解除状態」に移行する）。
つまり、実効ＨＢ通信経路が３つとも正常の場合には冗長化動作を継続しているが、例えば、ＨＢ通信経路４１とSWが不通になれば、実効ＨＢ通信経路が同時期に２つ不通となり（つまり、閾値＝２と等しくなった状態）、ＰＣ２は「解除状態」に移行する（シングル運転に切り替わる）。
この動作により、その後にＨＢ通信経路４４が発生した場合でも、ＰＣ２はActive側に移行することはなく、ＳＢを回避することができる。
【００４７】
ここで、実効ＨＢ通信経路リストの変形例について、図５（ａ）〜（ｄ）及び表２〜５を用いて説明する。
図５（ａ）に示すように、例１のＨＢ通信経路では、ＨＢ通信経路５１ｂ内にＳＷを含むが、ＨＢ通信経路５１ｂとＨＢ通信経路５１ａとは互いに独立している。従って、ＨＢ通信経路５１ａとＨＢ通信経路５１ｂとの間には障害の関連がない。この場合には、表２に示す実効ＨＢ通信経路リストのように、ＨＢ通信経路数と実効ＨＢ通信経路数とが等しく、両者とも２となる。
【００４８】
【表２】
0006409812.tif 000003
【００４９】
図５（ｂ）に示すように、例２のＨＢ通信経路では、ＨＢ通信経路５２ａは独立しているが、ＨＢ通信経路５２ｂ、５２ｃは１つのＳＷを共有している。このＳＷに障害が発生すると、ＨＢ通信経路５２ｂ、５２ｃが同時に不通となるため、この２つのＨＢ通信経路は互いに障害の関連がある。この場合には、表３に示す実効ＨＢ通信経路リストのように、ＨＢ通信経路数は３であるが実効ＨＢ通信経路数は２となる。
【００５０】
【表３】
0006409812.tif 000004
【００５１】
図５（ｃ）に示すように、例３のＨＢ通信経路では、ＨＢ通信経路５３ａ、５３ｂはＳＷ１を共有し、ＨＢ通信経路５３ｂ、５３ｃはＳＷ２を共有し、ＨＢ通信経路５３ｃ、５３ｄはＳＷ３を共有している。このため、ＳＷ１に障害が発生するとＨＢ通信経路５３ａ、５３ｂが同時に不通となり、ＳＷ２に障害が発生するとＨＢ通信経路５３ｂ、５３ｃが同時に不通となり、ＳＷ３に障害が発生するとＨＢ通信経路５３ｃ、５３ｄが同時に不通となる。この場合には、表４に示す実効ＨＢ通信経路リストのように、実効ＨＢ通信経路数は３となる。
【００５２】
【表４】
0006409812.tif 000005
【００５３】
図５（ｄ）に示すように、例４のＨＢ通信経路では、ＨＢ通信経路５４ａ、５４ｂはＳＷ１を共有し、ＨＢ通信経路５４ａ、５４ｂ、５４ｃはＳＷ２を共有し、ＨＢ通信経路５４ｃ、５４ｄはＳＷ３を共有している。このうち、ＳＷ１が故障してＨＢ通信経路５４ａ、５４ｂが同時に不通となる障害は、ＳＷ２が壊れてＨＢ通信経路５４ａ、５４ｂ、５４ｃ同時に不通となる障害に包含される。この場合には、表５に示す実効ＨＢ通信経路リストのように、ＳＷ１が故障してＨＢ通信経路５４ａ、５４ｂが同時に不通となる障害は列挙されず、実効ＨＢ通信経路数は２となる。このように、実効ＨＢ通信経路数が２つしかない場合は、仮にＳＷ２もしくはＳＷ３に異常が発生しても、ＳＢを生じさせないため、閾値を１に設定しておく。これにより、例えば、ＳＷ２もしくはＳＷ３のいずれかに異常が発生した場合、実効ＨＢ通信経路数は１（＝閾値）となるため、ＰＣ２は「解除状態」に移行する（シングル運転に切り替わる）。
この動作により、その後に残ったＳＷの故障が発生した場合でも、ＰＣ２がActive側に移行することはなく、ＳＢを回避することができる。
【００５４】
【表５】
0006409812.tif 000006
【００５５】
（第４実施形態）
次に、本発明に係る第４実施形態について説明するが、第１実施形態と基本的な構成は同様である。このため、同様の構成には同一の符号を付してその説明は省略し、異なる点についてのみ説明する。
第１実施形態では、正常ＨＢ通信経路数が閾値以下となったときに、ＰＣ２が待機状態から解除状態に切り替わり、冗長化システム１がシングル動作に切り替わる（縮退する）ことによってＳＢの発生を回避する構成を示した。
第４実施形態では、冗長化システムがシングル動作から冗長化動作に自動的に復旧することを可能とする。
【００５６】
第４実施形態における冗長化システムの動作について、図６に示すフローチャートを用いて説明する。
ステップＳ６以前の動作については、図２に示す第１実施形態のステップＳ１〜ステップＳ６の動作と同様であるため、説明を省略する。
第４実施形態では、ステップＳ６においてＰＣ２が待機状態から解除状態に切り替わってシングル動作が実行された後も、ＨＢ通信状態判定部２３によるＨＢ通信経路３１〜３３が正常か不通かの判定を継続し、正常なＨＢ通信経路の箇所及び不通となっているＨＢ通信経路の箇所を把握する（ステップＳ９）。
そして、正常ＨＢ通信経路カウント部２４は、正常ＨＢ通信経路数をカウントする（ステップＳ１０）。
【００５７】
次に、閾値比較／動作判定部２５は、正常ＨＢ通信経路数と閾値とを比較する（ステップＳ１１）。比較の結果、正常ＨＢ通信経路数が閾値以下であった場合にはステップＳ９に戻る。比較の結果、正常ＨＢ通信経路数が閾値よりも大きい値になった場合は、閾値比較／動作判定部２５は冗長化／シングル動作切り替え部２８を駆動してＰＣ２を解除状態から待機状態に切り替えることで、冗長化システム１をシングル動作から冗長化動作に切り替える（ステップＳ１２）。これにより、冗長化動作が実行される（ステップＳ１３）。
【００５８】
以上のようにすると、例えばＨＢ通信経路が、一部のスイッチ等の故障やケーブルの抜け・切断などによって不通となり、正常ＨＢ通信経路数が一時的に閾値以下となって冗長化システムがシングル動作に切り替わった場合でも、その後に不通となった箇所が修復されて正常ＨＢ通信経路数が閾値を上回る数に回復した場合には、自動的にシステムの冗長化動作を復旧させることができる。
なお、ステップＳ６においてＰＣ２が解除状態に切り替わった後も、ＰＣ２がＰＣ１とのデータの等値化等を継続することにより、ＨＢ通信経路数が閾値を上回る数に回復した場合に、速やかにシステムの冗長化動作を復旧させることができる。
また、本実施形態と第３実施形態とを組み合わせて、実効ＨＢ通信経路数と閾値との比較によって、冗長化システム３をシングル動作から冗長化動作に自動的に復旧させてもよい。
【００５９】
（第５実施形態）
次に、本発明に係る第５実施形態について説明するが、第１実施形態と基本的な構成は同様である。このため、同様の構成には同一の符号を付してその説明は省略し、異なる点についてのみ説明する。
第１実施形態では、ＰＣ２に閾値比較／動作判定部２５等の縮退機能を実現するための構成要素が備えられていたが、第５実施形態ではＰＣ１にもこれらの構成要素が備えられている。そして、ＰＣ１がダウン等することによって、冗長化システムがＰＣ２をActive側とするシングル動作を実行した後、ＰＣ１が復旧した場合に自動的に冗長化動作の復旧を行う。
【００６０】
図７に示すように、本実施形態の冗長化システム４におけるＰＣ１は、ＨＢ受信部１９ａ〜１９ｃと、ＨＢ通信状態判定部１３と、正常ＨＢ通信経路カウント部１４と、閾値比較／動作判定部１５と、記憶部１６と、StandBy／Active切り替え部１７と、冗長化／シングル動作切り替え部１８と、備える。これらの構成要素の動作は、ＰＣ２の対応する構成要素の動作と同様であるため、詳細な説明は省略する。
冗長化システム４は、ＨＢ通信経路３４〜３６を有する。ＨＢ通信経路３４〜３６は、ＰＣ２のＨＢ送信部２９ａ〜２９ｃが出力するＨＢ信号を、ＰＣ１のＨＢ受信部１９ａ〜１９ｃにそれぞれ伝える。
【００６１】
本実施形態に係る冗長化システム４の作用について、図８に示すフローチャートを用いて説明する。ステップＳ８以前の動作については、図２に示す第１実施形態のステップＳ１〜Ｓ４及びステップＳ７、ステップＳ８と同様であるため、説明を省略する。
ＰＣ２がActive側のシングル動作が実行（ステップＳ８）された後、ＰＣ１のＨＢ通信状態判定部１３はＨＢ通信経路３４〜３６が正常か不通かの判定を行う（ステップＳ１４）。
次に、正常ＨＢ通信経路カウント部１４は、ＨＢ通信経路３４〜３６のうちの正常ＨＢ通信経路数をカウントする（ステップＳ１５）。
次に、閾値比較／動作判定部１５は、正常ＨＢ通信経路数と、記憶部１６が記憶する閾値とを比較する（ステップＳ１６）。比較の結果、正常ＨＢ通信経路数が閾値以下であった場合にはステップＳ１４に戻る。比較の結果、正常ＨＢ通信経路数が閾値よりも大きかった場合は、閾値比較／動作判定部１５は冗長化／シングル動作切り替え部１８を駆動してＰＣ１を解除状態から待機状態に切り替えて、冗長化システム４をシングル動作から冗長化動作に切り替える（ステップＳ１７）。これにより、ＰＣ２がActive側でＰＣ１がStandBy側とする、冗長化システム４の冗長化動作が自動的に復旧される（ステップＳ１８）。
【００６２】
このようにすると、例えばＰＣ１がダウンすることによりＰＣ２がActive側となった後、ＰＣ１が修復された場合に、冗長化システム４を自動的にシングル動作から冗長化動作に復旧させることができる。
【００６３】
（第６実施形態）
次に、本発明に係る第６実施形態について説明する。第１〜第５実施形態では、２台のＰＣによる２重化運転について説明したが、本実施形態では３台以上のＰＣによる多重化運転について説明する。
本実施形態の冗長化システム５は、図９に示すように、１台のActive側のＰＣであるＰＣ１と、２台のStandBy側のＰＣであるＰＣ２及びＰＣ３（第３の装置）と、を有する。本実施形態のＰＣ１は、第５実施形態で示したＰＣ１（図７参照）と同様の構成を有し、ＰＣ２及びＰＣ３と相互にＨＢ信号を送受信する。これと同様に、ＰＣ２はＰＣ１及びＰＣ３と相互にＨＢ信号を送受信し、ＰＣ３はＰＣ１及びＰＣ２と相互にＨＢ信号を送受信する。また、ＰＣ１〜ＰＣ３はそれぞれ、図２に示すフローチャートと同様のステップにより他の２台のＰＣとの間の正常ＨＢ通信経路数をカウントし、この結果と閾値とを比較して冗長化／シングル動作の切り替え及びStandBy／Activeの切り替えを行うことができる。
図示の例では、ＰＣ１−ＰＣ２間、ＰＣ１−ＰＣ３間、ＰＣ２−ＰＣ３間のＨＢ通信経路数は４であり、いずれのＨＢ通信経路も各ＳＷ１〜４により中継されている。このように、冗長化システム５は３重化運転されている。なお、StandBy側のＰＣは３台以上であってもよい。
【００６４】
ＰＣ１−ＰＣ２間、ＰＣ１−ＰＣ３間、ＰＣ２−ＰＣ３間の閾値をそれぞれ３に設定した場合、各ＰＣ間の正常なＨＢ通信経路が４以上あれば、３重化運転が継続される。仮にこの状態で、３つ（閾値設定値）のＨＢ通信経路の異常が同時期に発生しても、正常なＨＢ通信経路は１経路以上残っており、その経路を通じActive側のＰＣ１の生存が確認できる。この条件で縮退（シングル動作に移行）すれば、ＳＢの発生を回避することが可能である。
【００６５】
また、前記第１〜第５実施形態では、冗長化システムが冗長化動作からシングル動作に切り替わることを「縮退」として説明したが、本実施形態における縮退は、３重化運転から２重化運転に切り替わることも含む。
例えば、図９に示すように、３台のＰＣで３重化運転していた場合、ＰＣ２及びＰＣ３は、それぞれＰＣ１からのＨＢ信号を確認している。ここで例えば、ＰＣ２が確認しているＰＣ１−ＰＣ２間の正常ＨＢ通信経路数が１以上であって閾値以下となった場合、ＰＣ２は待機状態から解除状態に切り替わる。一方、ＰＣ３が確認しているＰＣ１−ＰＣ３間の正常ＨＢ通信経路数が閾値よりも大きい値である場合には、ＰＣ３は待機状態を継続する。結果として、３重化運転が２重化運転に縮退されることとなる。なお、ＰＣ２及びＰＣ３の閾値をそれぞれ別の値に設定してもよい。
【００６６】
また、ＰＣ１〜ＰＣ３が、それぞれ本発明の第５実施形態で示した構成（図７参照）を有する場合、２重化運転から３重化運転に自動的に復旧させることができる。
例えば、３重化運転中にＰＣ１−ＰＣ２間の正常ＨＢ通信経路数が１以上であって閾値以下となり、ＰＣ２が待機状態から解除状態に切り替わった後、さらにＰＣ１が故障してＰＣ３がActive側に切り替わった場合、通常であれば冗長化システム５はＰＣ３単独のシングル動作となる。
ここで、解除状態となっているＰＣ２と、Active側となっているＰＣ３と、の間の正常ＨＢ通信経路数が閾値より大きい値である場合においては、ＰＣ２を待機状態に切り替えて、ＰＣ２及びＰＣ３による冗長化動作を構成できる。
このようにすると、ＰＣ１−ＰＣ２間の正常ＨＢ通信経路数の減少及びＰＣ１の故障という多重の障害が発生した場合であっても、冗長化システム５がシングル動作に切り替わるのを防止してＰＣ２及びＰＣ３による冗長化動作を継続することが可能となり、システム全体としての信頼性を維持することができる。
【００６７】
以上説明したように、第６実施形態の冗長化システム５によれば、３台以上のＰＣのうちActive側となっているＰＣが変わった場合においても、各ＰＣはActive側ＰＣとの間に設定された閾値を参照し、Active側ＰＣとの間で、自動的に解除状態に切り替え若しくは待機状態に復旧することにより、その条件に対応した台数での冗長化構成を自動的にとる（能動的に変化する）ことが可能となる。
【００６８】
なお、冗長化システム５のように２台以上のStandBy側のＰＣを用いて冗長化する場合、各ＰＣのＨＢ受信部およびＨＢ送信部は、共通のものを用いてもよい。例えば、１つの共通ＨＢ受信部をＰＣ１〜ＰＣ３がそれぞれ用いる場合には、この共通ＨＢ受信部が受信したＰＣ１〜ＰＣ３のそれぞれのＨＢパケットに含まれる送信元アドレスによって、どのＰＣからのＨＢ信号かを判断する機能をＨＢ通信部に持たせてもよい。また、１つの共通ＨＢ送信部をＰＣ１〜ＰＣ３がそれぞれ用いる場合には、この共通ＨＢ送信部を、ＨＢ通信経路上でＳＷなどを介して分岐させて各ＰＣに接続してもよい。
【００６９】
また、上記した第１〜第６実施形態及びその変形例は、例えばhttps://www.yokogawa.co.jp/rd/pdf/tr/rd-tr-r05402-005.pdfに示されるようなコントローラ、ゲートウエイ装置等を用いたプラントのプロセス制御システムに適用することができる。
この種のプロセス制御システムでは、高信頼性／リアルタイム制が要求されるが、上記各実施形態を適用して複数のＰＣによる冗長化構成をとることにより、これらの要求に対応することが可能となる。
【００７０】
以下に、本発明の概念（コンセプト）について改めて整理して記す。
冗長化装置を含む冗長化システムにおいて、万一、一部の冗長化装置に故障が発生した場合、他装置（相手先マシンなど）からその故障発生を把握することが可能であり、対策を取ることも可能である。一方、冗長化装置にＳＢが発生すると、他装置からは同冗長化装置の異常を検出できず、通信の不安定さに起因する誤ったデータを使用してしまう可能性がある。よって、システム全体でみると、冗長化装置の故障回避より、ＳＢ発生を回避することの方が重要である。
【００７１】
本発明における基本コンセプトは、冗長化装置の（実効）ＨＢ通信経路を少なくとも１経路残す（つまり、冗長化動作可能条件を若干小さくする）ことの見返りとして、縮退（冗長化動作を止め、シングル動作に移行する）し、ＳＢ回避を行うことにある。
さらに、縮退する条件を、冗長化装置の構成（ＨＢ通信経路数など）に合わせて、適切に設定すべく、閾値という概念を提案した。
また、複数のＨＢ通信経路内に単一故障点（障害の関連）が存在する場合に備え、実効ＨＢ通信経路数という概念を提案した。
そして、一旦、縮退した冗長化装置を、冗長化動作に復旧させる手段、方法についても提案した。
さらには、複数のＰＣで構成された冗長化装置において、各ＰＣ間を接続するＨＢ通信経路状況に応じて、冗長化を組むＰＣ台数を能動的に変化させて信頼性を保つと共に、ＳＢ回避を実現する方法について提案した。
【００７２】
なお、ＳＢ発生の確率は低いほど好ましいが、システムが冗長化動作からシングル動作に切り替わる確率よりもＳＢ発生確率を低く設定することにより、ＳＢが発生する前にその原因となる冗長化動作を停止させることができる。従って、高い信頼性を要求されるプラントのプロセス制御システムなどにおいては、システムが冗長化動作からシングル動作に切り替わる確率よりもＳＢ発生確率が低くなるように、冗長化システムの構成（ＰＣの台数、ＨＢ通信経路数、及び閾値など）を設定するとよい。
【００７３】
また、本発明の技術的範囲は前記第１実施形態〜第６実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
例えば、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能であり、また、上記した第１実施形態〜第５実施形態やその変形例を適宜組み合わせてもよい。
【符号の説明】
【００７４】
１〜４…冗長化システム、１１ａ〜１１ｃ…ＨＢ送信部、１２…処理部、２１ａ〜２１ｃ…ＨＢ受信部（受信部）、２２…処理部、２３…ＨＢ通信状態判定部、２４…正常ＨＢ通信経路カウント部（計数部）、２５…閾値比較／動作判定部（比較部）、２６…記憶部、２７…StandBy／Active切り替え部（切替部）、２８…冗長化／シングル動作切り替え部（切替部）、２９…リスト記憶部（記憶部）、３１〜３３…ＨＢ通信経路（通信経路）、ＰＣ１…冗長化相手方装置、ＰＣ２…冗長化装置
【図１】
0006409812.tif 000007
【図２】
0006409812.tif 000008
【図３】
0006409812.tif 000009
【図４】
0006409812.tif 000010
【図５】
0006409812.tif 000011
【図６】
0006409812.tif 000012
【図７】
0006409812.tif 000013
【図８】
0006409812.tif 000014
【図９】
0006409812.tif 000015
【図１０】
0006409812.tif 000016