(57)【特許請求の範囲】
【請求項１】
制御対象機器を制御する制御系ＣＰＵユニットと、
前記制御対象機器を前記制御系ＣＰＵユニットに代わって制御可能な待機系ＣＰＵユニットと、
前記制御系ＣＰＵユニット及び前記待機系ＣＰＵユニットと増設ケーブルを介して数珠つなぎに接続される複数の増設ベースユニットと、
を備え、
前記増設ベースユニット同士は、多重化された増設ケーブルを介して接続され、
前記制御系ＣＰＵユニットは、前記待機系ＣＰＵユニットが判定した増設ケーブルの異常判定結果に基づいて前記多重化された増設ケーブルの異常内容を確認し、
前記制御系ＣＰＵユニットが前記多重化された増設ケーブルのうち使用している増設ケーブルの通信異常の発生を検知した際に、前記制御系ＣＰＵユニットに代わって制御する前記待機系ＣＰＵユニットは、前記制御系ＣＰＵユニットに対して再起動を指示し、
前記制御系ＣＰＵユニットは、前記多重化された増設ケーブルのうち別の増設ケーブルを通信路に設定する、
冗長化システム。
【請求項２】
制御対象機器を制御する制御系ＣＰＵユニットと、
前記制御対象機器を前記制御系ＣＰＵユニットに代わって制御可能な待機系ＣＰＵユニットと、
前記制御系ＣＰＵユニット及び前記待機系ＣＰＵユニットと増設ケーブルを介して数珠つなぎに接続される複数の増設ベースユニットと、
を備え、
前記増設ベースユニット同士は、多重化された増設ケーブルを介して接続され、
前記制御系ＣＰＵユニットは、増設ケーブルの異常判定を行い、判定結果に基づいて前記多重化された増設ケーブルの異常内容を確認し、
前記制御系ＣＰＵユニットが前記多重化された増設ケーブルのうち使用している増設ケーブルの通信異常の発生を検知した際に、前記制御系ＣＰＵユニットに代わって制御する前記待機系ＣＰＵユニットは、前記制御系ＣＰＵユニットに対して再起動を指示し、
前記制御系ＣＰＵユニットは、前記多重化された増設ケーブルのうち別の増設ケーブルを通信路に設定する、
冗長化システム。
【請求項３】
前記制御系ＣＰＵユニット及び前記待機系ＣＰＵユニットは、前記再起動の実行の有無及び実行のタイミングを設定する再起動設定テーブルを備え、前記再起動設定テーブルの設定に応じて前記制御系ＣＰＵユニットによる再起動の処理の実行、あるいは前記待機系ＣＰＵユニットによる再起動の指示の実行を制御する、
請求項１又は２に記載の冗長化システム。
【請求項４】
制御対象機器を制御する制御系ＣＰＵユニットと、
前記制御対象機器を前記制御系ＣＰＵユニットに代わって制御可能な待機系ＣＰＵユニットと、
前記制御系ＣＰＵユニット及び前記待機系ＣＰＵユニットと増設ケーブルを介して数珠つなぎに接続される複数の増設ベースユニットと、
を備え、前記増設ベースユニット同士が多重化された増設ケーブルを介して接続される冗長化システムを制御する方法であって、
前記制御系ＣＰＵユニットは、前記待機系ＣＰＵユニットが判定した増設ケーブルの異常判定結果に基づいて前記多重化された増設ケーブルの異常内容を確認し、
前記制御系ＣＰＵユニットが前記多重化された増設ケーブルのうち使用されている増設ケーブルの通信異常の発生を検知した際に、前記制御系ＣＰＵユニットに代わって制御する前記待機系ＣＰＵユニットは、前記制御系ＣＰＵユニットに対して再起動を指示し、
前記制御系ＣＰＵユニットは、前記多重化された増設ケーブルのうち別の増設ケーブルを通信路に設定する、
制御方法。
【請求項５】
制御対象機器を制御する制御系ＣＰＵユニットと、
前記制御対象機器を前記制御系ＣＰＵユニットに代わって制御可能な待機系ＣＰＵユニットと、
前記制御系ＣＰＵユニット及び前記待機系ＣＰＵユニットと増設ケーブルを介して数珠つなぎに接続される複数の増設ベースユニットと、
を備え、前記増設ベースユニット同士が多重化された増設ケーブルを介して接続される冗長化システムを制御する方法であって、
前記制御系ＣＰＵユニットは、増設ケーブルの異常判定を行い、判定結果に基づいて前記多重化された増設ケーブルの異常内容を確認し、
前記制御系ＣＰＵユニットが前記多重化された増設ケーブルのうち使用されている増設ケーブルの通信異常の発生を検知した際に、前記制御系ＣＰＵユニットに代わって制御する前記待機系ＣＰＵユニットは、前記制御系ＣＰＵユニットに対して再起動を指示し、
前記制御系ＣＰＵユニットは、前記多重化された増設ケーブルのうち別の増設ケーブルを通信路に設定する、
制御方法。
【請求項６】
制御対象機器を制御する制御系ＣＰＵユニットと、
前記制御対象機器を前記制御系ＣＰＵユニットに代わって制御可能な待機系ＣＰＵユニットと、
前記制御系ＣＰＵユニット及び前記待機系ＣＰＵユニットと増設ケーブルを介して数珠つなぎに接続される複数の増設ベースユニットと、
を備え、前記複数の増設ベースユニットとの間を多重化された増設ケーブルを介して接続される冗長化システムを制御するプログラムセットであって、
前記制御系ＣＰＵユニットに、
前記待機系ＣＰＵユニットが判定した増設ケーブルの異常判定結果に基づいて前記多重化された増設ケーブルの異常内容を確認し、
前記多重化された増設ケーブルのうち別の増設ケーブルを通信路に設定する、
処理を行わせ、
前記待機系ＣＰＵユニットに、
前記増設ケーブルの異常判定を行い、
前記制御系ＣＰＵユニットが前記多重化された増設ケーブルのうち使用している増設ケーブルの通信異常の発生を検知した際に、前記制御系ＣＰＵユニットに代わって制御し、前記制御系ＣＰＵユニットに対して再起動を指示する、
処理を行わせる、
プログラムセット。
【請求項７】
制御対象機器を制御する制御系ＣＰＵユニットと、
前記制御対象機器を前記制御系ＣＰＵユニットに代わって制御可能な待機系ＣＰＵユニットと、
前記制御系ＣＰＵユニット及び前記待機系ＣＰＵユニットと増設ケーブルを介して数珠つなぎに接続される複数の増設ベースユニットと、
を備え、前記複数の増設ベースユニットとの間を多重化された増設ケーブルを介して接続される冗長化システムを制御するプログラムセットであって、
前記制御系ＣＰＵユニットに、
増設ケーブルの異常判定を行い、判定結果に基づいて前記多重化された増設ケーブルの異常内容を確認し、
前記多重化された増設ケーブルのうち別の増設ケーブルを通信路に設定する、
処理を行わせ、
前記待機系ＣＰＵユニットに、
前記制御系ＣＰＵユニットが前記多重化された増設ケーブルのうち使用している増設ケーブルの通信異常の発生を検知した際に、前記制御系ＣＰＵユニットに代わって制御し、前記制御系ＣＰＵユニットに対して再起動を指示する、
処理を行わせる、
プログラムセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、冗長化システム、制御方法及びプログラムセットに関する。
【背景技術】
【０００２】
稼働系が稼働中に障害を生じた場合に待機系に切り替わり、稼働を維持する冗長化システムが存在する。この冗長化システムにおいて異常が発生した場合、異常が発生した片方のシステムが復旧するまでの間、もう片方のシステムのみで制御を行うことから、異常が発生した片方のシステムが素早く復旧して冗長化システムとして正常に動作することが求められている。【０００３】
特許文献１は、冗長化システムで制御を行っている制御系にノイズなどにより一時的な異常が発生した場合、異常が発生した制御系をリセットし制御系内の異常を取り除く処理を行う。その間、もう一方の制御系で継続制御を行い、正常に二重化システムとして復旧することを開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２２３００１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、異常を取り除く処理では、異常が発生した部位の復旧に時間がかかり、その間冗長化システムが維持されない状態が生じる。【０００６】
そこで本開示の目的は、上記の事情に鑑み、片方のシステムで増設ケーブル異常が発生してから二重化システムとして復旧するまでの時間を短縮することができる冗長化システムを提供することにある。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本開示に係る冗長化システムは、制御対象機器を制御する制御系ＣＰＵユニットと、制御対象機器を制御系ＣＰＵユニットに代わって制御可能な待機系ＣＰＵユニットと、制御系ＣＰＵユニット及び待機系ＣＰＵユニットと増設ケーブルを介して数珠つなぎに接続される複数の増設ベースユニットと、を備え、増設ベースユニット同士は、多重化された増設ケーブルを介して接続され、制御系ＣＰＵユニットは、待機系ＣＰＵユニットが判定した増設ケーブルの異常判定結果に基づいて多重化された増設ケーブルの異常内容を確認し、制御系ＣＰＵユニットが多重化された増設ケーブルのうち使用している増設ケーブルの通信異常の発生を検知した際に、制御系ＣＰＵユニットに代わって制御する待機系ＣＰＵユニットは、制御系ＣＰＵユニットに対して再起動を指示し、制御系ＣＰＵユニットは、多重化された増設ケーブルのうち別の増設ケーブルを通信路に設定する。
【発明の効果】
【０００８】
本開示によれば、片方のシステムで増設ケーブル異常が発生してから復旧するまでの時間を短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】本開示の実施の形態１に係る冗長化システムの構成を示す図
【図２】本開示の実施の形態１に係る基本ベースユニットの構成を示す図
【図３】本開示の実施の形態１に係るＣＰＵユニットの構成を示す図
【図４】本開示の実施の形態１に係るルーティングテーブルの構成を示す図
【図５】本開示の実施の形態１に係る増設ベースユニットの構成を示す図
【図６】本開示の実施の形態１に係る増設ベースユニットのハードウェア構成の一例を示す図
【図７】本開示の実施の形態１に係るＣＰＵユニットによる系切り替え指示処理の動作の一例を示すフローチャート
【図８】本開示の実施の形態１に係るＣＰＵユニットによる系切り替え処理の動作の一例を示すフローチャート
【図９】本開示の実施の形態１に係るＣＰＵユニットによる再起動処理の動作の一例を示すフローチャート
【図１０】本開示の実施の形態２に係るＣＰＵユニットの構成を示す図
【図１１】本開示の実施の形態２に係る再起動設定テーブルの構成を示す図
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本開示の実施の形態に係る冗長化システムを説明する。各図面においては、同一又は同等の部分に同一の符号を付す。
【００１１】
（実施の形態１）
図１を参照しながら、実施の形態１に係る冗長化システム１０００を説明する。冗長化システム１０００は、例えばセンサからセンサ値を取得してセンサ値に基づいて工作機械を制御する制御システムである。冗長化システム１０００は、制御装置１ａと制御装置１ｂと制御装置２ａと制御装置２ｂとを備える。制御装置１ａと制御装置１ｂとはトラッキングケーブルＴＣにより通信可能に接続されている。制御装置１ａと制御装置２ａとは増設ケーブルＣ１１により通信可能に接続されている。同様に、制御装置１ｂと制御装置２ａとは増設ケーブルＣ１２により通信可能に接続されている。制御装置２ａと制御装置２ｂとは増設ケーブルＣ２１及び増設ケーブルＣ２２により通信可能に接続されている。同様に、制御装置２ｂと図示しない他の制御装置とは、増設ケーブルＣ３１及び増設ケーブルＣ３２により通信可能に接続されている。当該図示しない他の制御装置は、増設ケーブルによりさらなる他の制御装置と通信可能に接続されていてもよい。
【００１２】
簡単のため、以下、制御装置１ａと制御装置１ｂとを、総括して制御装置１と呼称することがある。制御装置２ａ及び制御装置２ｂについても同様に、総括して制御装置２と呼称することがある。また、後述するその他の構成についても同様である。
【００１３】
冗長化システム１０００においては、制御装置１ａと制御装置１ｂとにより制御装置１が二重化されている。また、冗長化システム１０００においては、増設ケーブルＣ２１及び増設ケーブルＣ２２により、制御装置２ａと制御装置２ｂとを接続する増設ケーブルが二重化されている。また、冗長化システム１０００においては、各制御装置２は、制御装置１に直列に接続されている。
【００１４】
制御装置１は、基本ベースユニット１０とＣＰＵユニット１１と電源ユニット１２とを備える。冗長化システム１０００が制御装置１ａと制御装置１ｂとを備え、制御装置１ａのＣＰＵユニット１１ａと制御装置１ｂのＣＰＵユニット１１ｂとがトラッキングケーブルＴＣにより接続されていることにより、制御装置１が二重化されている。
【００１５】
ＣＰＵユニット１１及び電源ユニット１２は、基本ベースユニット１０が備える図示しないスロットに接続されている。ＣＰＵユニット１１は、制御装置１又は制御装置２のＩ／Ｏユニットに接続されたセンサ及び工作機械を制御する。ＣＰＵユニット１１は、トラッキングケーブルＴＣにて接続された他のＣＰＵユニット１１と通信する。また、詳細は後述するが、ＣＰＵユニット１１は、増設ベースユニット２０に切り替え制御信号を送信することにより、当該増設ベースユニット２０にて使用される出力コネクタを切り替える。電源ユニット１２は、基本ベースユニット１０及びＣＰＵユニット１１に電力を供給する。制御装置１は、電源ユニット１２を複数備えてもよい。また、Ｉ／Ｏユニットが基本ベースユニット１０のスロットに接続されていてもよい。ＣＰＵユニット１１の構成の詳細は後述する。
【００１６】
基本ベースユニット１０は、図示しないスロットに接続されたユニットと通信し、増設ケーブルにて接続された増設ベースユニット２０と通信する。基本ベースユニット１０は、出力コネクタ１０１を備える。図１では、基本ベースユニット１０ａの出力コネクタ１０１ａに増設ケーブルＣ１１が接続され、基本ベースユニット１０ｂの出力コネクタ１０１ｂに増設ケーブルＣ１２が接続されている。基本ベースユニット１０の構成の詳細は後述する。
【００１７】
制御装置１がこれらのユニットを備えることにより、制御装置１は、制御装置２のＩ／Ｏユニット２１に接続されたセンサ及び工作機械を制御できる。
【００１８】
制御装置２は、増設ベースユニット２０とＩ／Ｏユニット２１と電源ユニット２２とを備える。Ｉ／Ｏユニット２１及び電源ユニット２２は、増設ベースユニット２０が備える図示しないスロットに接続されている。Ｉ／Ｏユニット２１は、図示しないセンサ及び工作機械に通信可能に接続されている。電源ユニット２２は、増設ベースユニット２０及びＩ／Ｏユニット２１に電力を供給する。増設ベースユニット２０は、図示しないスロットに接続されたユニットと通信し、増設ケーブルにて接続された他のベースユニットと通信する。制御装置２がこれらのユニットを備えることにより、制御装置１は、制御装置２と通信し、Ｉ／Ｏユニット２１に接続されたセンサ及び工作機械を制御することができる。制御装置２は、Ｉ／Ｏユニット２１を複数備えてもよいし、電源ユニット２２を複数備えてもよい。センサ及び工作機械は、本開示に係る制御対象機器の一例である。
【００１９】
増設ベースユニット２０は、入力コネクタ２０１と入力コネクタ２０２と出力コネクタ２１１と出力コネクタ２１２とを備える。図１では、入力コネクタ２０１ａに増設ケーブルＣ１１が接続され、入力コネクタ２０２ａに増設ケーブルＣ１２が接続され、出力コネクタ２１１ａに増設ケーブルＣ２１が接続され、出力コネクタ２１２ａに増設ケーブルＣ２２が接続されている。同様に、入力コネクタ２０１ｂに増設ケーブルＣ２１が接続され、入力コネクタ２０２ｂに増設ケーブルＣ２２が接続され、出力コネクタ２１１ｂに増設ケーブルＣ３１が接続され、出力コネクタ２１２ｂに増設ケーブルＣ３２が接続されている。つまり、各増設ベースユニット２０は直列に接続されている。また、増設ベースユニット２０ａは、後述する基本ベースユニット１０ａ及び基本ベースユニット１０ｂに接続されているので、各増設ベースユニット２０は、基本ベースユニット１０に直列に接続されている。
【００２０】
増設ベースユニット２０が入力コネクタと出力コネクタとを２つずつ備えることにより、増設ベースユニット２０同士を接続する増設ケーブルを二重化できる。また、増設ベースユニット２０が入力コネクタを２つ備えることにより、二重化された２つの制御装置１、つまり制御装置１ａと制御装置１ｂとを増設ベースユニット２０ａに接続できる。増設ベースユニット２０の構成の詳細は後述する。増設ベースユニット２０は、本開示に係る増設ベースユニットの一例である。
【００２１】
なお、ここでいう「入力」及び「出力」の表現は、前段のベースユニットから後段の増設ベースユニットへの信号の流れを基準としている。そのため、前段のベースユニットとの通信に使用されるコネクタは「入力コネクタ」であり、後段の増設ベースユニットとの通信に使用されるコネクタは「出力コネクタ」である。なお、「前段のベースユニット」は、基本ベースユニット、増設ベースユニットのいずれの場合もありえる。
【００２２】
次に、図２を参照しながら、基本ベースユニット１０の構成を詳細に説明する。なお、図２では、代表して基本ベースユニット１０ａの構成を示すが、基本ベースユニット１０ｂの構成も同様のものとなる。
【００２３】
基本ベースユニット１０は、出力コネクタ１０１と１以上のスロット１０２とバスＢＢとを備える。出力コネクタ１０１及びスロット１０２は、バスＢＢに通信可能に接続されている。
【００２４】
出力コネクタ１０１は、増設ケーブルを介して後段の増設ベースユニット２０ａの入力コネクタに通信可能に接続されている。基本ベースユニット１０ａにおいては、出力コネクタ１０１ａが増設ケーブルＣ１１を介して後段の増設ベースユニット２０ａの入力コネクタ２０１ａに通信可能に接続されている。
【００２５】
スロット１０２は、バスＢＢに接続され、ＣＰＵユニット１１、電源ユニット１２などのユニットを接続可能なスロットである。スロット１０２は、接続されたユニットとバスＢＢとを通信可能に接続する。
【００２６】
スロット１０２に接続されたＣＰＵユニット１１が、バスＢＢ、出力コネクタ１０１及び増設ケーブルを介して増設ベースユニット２０ａと通信する。また、ＣＰＵユニット１１は、増設ベースユニット２０ａよりも後段の増設ベースユニット２０とも、当該増設ベースユニット２０よりも前段にある各増設ベースユニット２０を介して通信する。
【００２７】
次に、図３を参照しながら、ＣＰＵユニット１１の構成を詳細に説明する。ＣＰＵユニット１１は、制御部１１０と第１通信部１１５と第２通信部１１６と記憶部１１７とを備える。
【００２８】
第１通信部１１５は、例えばスロット１０２に挿入可能な通信インタフェースである。第２通信部１１６は、例えばトラッキングケーブルＴＣを挿入可能な通信インタフェースである。
【００２９】
記憶部１１７は、制御部１１０が実行する制御プログラムを保存する。また、記憶部１１７は、制御部１１０が制御プログラムを実行するときのワークメモリとして機能する。記憶部１１７は、例えば制御プログラムを保存するＲＯＭ（Read Only Memory）と、ワークメモリとして機能するＲＡＭ（Random Access Memory）とを備える。
【００３０】
記憶部１１７は、増設ケーブルの正常・異常の判定結果を格納し、ＣＰＵユニット１１が増設ケーブルの異常内容を確認して正常な増設ケーブルを通信路に設定するためのルーティングテーブル１１８を保存する。図４にルーティングテーブル１１８の例を示す。ルーティングテーブル１１８の増設ケーブルＣｘ１判定結果の欄には、二重化された増設ケーブルの一方の増設ケーブルＣｘ１（ｘ＝１，２…ｎ）の正常・異常の判定結果が格納されており、増設ケーブルＣｘ２判定結果の欄には、二重化された増設ケーブルの他方の増設ケーブルＣｘ２（ｘ＝１，２…ｎ）の正常・異常の判定結果が格納されている。図４に示す例において、増設ケーブルＣｘ１判定結果の欄は、上から順番に増設ケーブルＣ１１、Ｃ２１、Ｃｎ１の正常・異常の判定結果が格納されており、それぞれ「正常」、「異常」、「正常」と格納されている。増設ケーブルＣｘ２判定結果の欄は、上から順番に増設ケーブルＣ１２、Ｃ２２、Ｃｎ２の正常・異常の判定結果が格納されており、それぞれ「正常」、「正常」、「正常」と格納されている。正常・異常の判定は、ＣＰＵユニット１１の起動時、所定時間経過時、エラー発生時等に行われ、判定結果が格納される。
【００３１】
図３に戻って、制御部１１０は、記憶部１１７に保存された制御プログラムを読み出して実行する。制御部１１０は、例えばＭＰＵ（Micro Processing Unit）、ＣＰＵ（Central Processing Unit）などのプロセッサを備える。制御部１１０は、制御プログラムを実行することにより、基本ベースユニット１０及び増設ベースユニット２０に接続された各ユニットと第１通信部１１５を介して通信する。制御部１１０は、特に、増設ベースユニット２０に接続されたＩ／Ｏユニット２１と通信し、当該Ｉ／Ｏユニット２１に接続されたセンサ及び工作機械を制御する。
【００３２】
また、制御部１１０は、第２通信部１１６を介して他のＣＰＵユニット１１の状態を監視し、自身及び他のＣＰＵユニット１１のいずれも正常な状態のときには、他のＣＰＵユニット１１と通信し、自身と他のＣＰＵユニット１１とのいずれか一方のみが第１通信部１１５を介して各ユニットと通信するように調整する。
【００３３】
また、制御部１１０は、制御プログラムを実行することにより、異常判定部１１１、異常箇所検出部１１２、切替制御部１１３、再起動処理部１１４として機能する。
【００３４】
異常判定部１１１は、ＣＰＵユニット１１と他のユニットとの通信に異常があるか否かを判定する。ここで、他のユニットとは、基本ベースユニット１０に接続されたユニットのみではなく、基本ベースユニット１０よりも後段の各増設ベースユニット２０に接続されたユニットも含む。通信に異常があるか否かの判定は、例えばＣＰＵユニット１１がいずれかのＩ／Ｏユニット２１へアクセスする信号を送信した時に、送信対象のＩ／Ｏユニット２１から応答が返ってくるか否かにより判定する。
【００３５】
異常箇所検出部１１２は、異常判定部１１１がＣＰＵユニット１１と他のユニットとの通信に異常があると判定したとき、通信経路のうちどの箇所に異常があるかを検出する。どのようにして異常箇所を検出するかについては切り替え制御の動作の説明にて後述する。
【００３６】
切替制御部１１３は、異常箇所検出部１１２が、基本ベースユニット１０の内部通信に異常があると判定したとき、基本ベースユニット１０と増設ベースユニット２０とを接続する増設ケーブルに異常があると判定したとき、又は後段の各増設ベースユニット２０同士を接続する増設ケーブルのいずれかに異常があると判定したとき、他のＣＰＵユニット１１と通信し、制御系の切り替えを指令する信号を当該他のＣＰＵユニット１１に送信する。このとき、制御部１１０は、第１通信部１１５を介した各ユニットとの通信を停止する。さらに、切替制御部１１３は、他のＣＰＵユニット１１から制御系の切り替えを指令する信号を受信したとき、第１通信部１１５を介した各ユニットとの通信を開始する。これらの機能により、基本ベースユニット１０ａと基本ベースユニット１０ｂとのうちいずれか一方のみが増設ベースユニット２０ａとの通信を行う。つまり、これらの機能により、センサ及び工作機械を制御する制御系が切り替わる。同時に２つの制御系が有効となることはないので、増設ベースユニット２０ａにおいては、入力コネクタ２０１ａと入力コネクタ２０２ａとのうちいずれか一方のみが基本ベースユニット１０と増設ベースユニット２０ａとの通信に使用される。
【００３７】
また、切替制御部１１３は、ルーティングテーブル１１８にしたがって、増設ケーブルにて接続された２つの増設ベースユニット２０のうち前段の増設ベースユニット２０に切り替え制御信号を送信する。その結果、増設ベースユニット２０同士の通信において、当該増設ベースユニット２０にて使用される出力コネクタが切り替わるので、二重化された増設ケーブルのうち異常が生じていない増設ケーブルを経由した通信をすることができる。
【００３８】
再起動処理部１１４は、系切り替えにより新たに制御系となったＣＰＵユニット１１ａとＣＰＵユニット１１ｂの一方のＣＰＵユニットがトラッキングケーブルＴＣを介して他方のＣＰＵユニットに再起動の指示を行う。再起動指示を受けて、制御系から待機系に切り替わった他方のＣＰＵユニットの再起動を行う
【００３９】
次に、図５を参照しながら、増設ベースユニット２０の構成を詳細に説明する。なお、図５では、代表して増設ベースユニット２０ａの構成を示すが、増設ベースユニット２０ｂ及び増設ベースユニット２０ｂに接続された図示しない他のベースユニットの構成も同様のものとなる。
【００４０】
増設ベースユニット２０は、入力コネクタ２０１と入力コネクタ２０２と出力コネクタ２１１と出力コネクタ２１２と入力制御部２２１と入力切替部２２２と出力制御部２３１と出力切替部２３２と１以上のスロット２９０とバスＢとを備える。スロット２９０は、バスＢに通信可能に接続されている。詳細は後述するが、入力切替部２２２は、入力制御部２２１の制御に基づき、入力コネクタ２０１と入力コネクタ２０２とのいずれか一方とバスＢとを通信可能に接続する。同様に、出力切替部２３２は、出力制御部２３１の制御に基づき、出力コネクタ２１１と出力コネクタ２１２とのいずれか一方とバスＢとを通信可能に接続する。バスＢは、増設ベースユニット２０の内部で各要素を接続する内部バスである。
【００４１】
入力コネクタ２０１及び入力コネクタ２０２は、増設ケーブルを介して前段のベースユニットの出力コネクタに通信可能に接続されている。増設ベースユニット２０ａにおいては、入力コネクタ２０１ａが増設ケーブルＣ１１を介して前段の基本ベースユニット１０ａの出力コネクタ１０１ａに通信可能に接続され、入力コネクタ２０２ａが増設ケーブルＣ１２を介して前段の基本ベースユニット１０ｂの出力コネクタ１０１ｂに通信可能に接続されている。
【００４２】
出力コネクタ２１１及び出力コネクタ２１２は、増設ケーブルを介して後段のベースユニットの入力コネクタに通信可能に接続されている。増設ベースユニット２０ａにおいては、出力コネクタ２１１ａが増設ケーブルＣ２１を介して後段の増設ベースユニット２０ｂの入力コネクタ２０１ｂに通信可能に接続され、出力コネクタ２１２ａが増設ケーブルＣ２２を介して後段の増幅ベースユニット２０ｂの入力コネクタ２０２ｂに通信可能に接続されている。
【００４３】
入力制御部２２１は、入力コネクタ２０１及び入力コネクタ２０２が受信した信号を監視し、前段のベースユニットとバスＢとの通信に使用されている入力コネクタを特定し、後述の入力切替部２２２を制御して特定した入力コネクタとバスＢとを接続する。当該通信に使用される入力コネクタと当該通信に使用されない入力コネクタとでは、入力コネクタが受信する信号が異なるので、入力制御部２２１は、入力コネクタ２０１及び入力コネクタ２０２が受信した信号を監視することにより、前段のベースユニットとバスＢとの通信に使用されている入力コネクタを特定できる。例えば、入力制御部２２１は、入力コネクタが受信するクロック信号が、周期的に変化するものであるか全く変化しないものであるかを判別することによって、当該通信に使用される入力コネクタを特定できる。
【００４４】
なお、詳細は後述するが、前段のベースユニットが１つの増設ベースユニット２０である場合、２つの基本ベースユニット１０のいずれであっても、入力コネクタ２０１と入力コネクタ２０２とのうちいずれか一方のみが当該前段のベースユニットとバスＢとの通信に使用される。
【００４５】
入力切替部２２２は、入力制御部２２１の制御に基づいて、前段のベースユニットとバスＢとの通信に使用されている入力コネクタとバスＢとを通信可能に接続する。図５では入力切替部２２２をスイッチとして記載しているが、入力切替部２２２は、例えばトランジスタ、リレーなどのスイッチング素子を含む切り替え回路である。
【００４６】
出力制御部２３１は、バスＢを介して前段のベースユニットから切り替え制御信号を受信したとき、出力切替部２３２を制御して、バスＢに接続されている出力コネクタを切り替える。詳細は後述するが、ＣＰＵユニット１１は、ルーティングテーブル１１８にしたがって、当該２つの増設ベースユニット２０のうち前段の増設ベースユニット２０に、切り替え制御信号を送信する。そのため、出力制御部２３１は、バスＢを介して前段のベースユニットから切り替え制御信号を受信することができる。その結果、増設ベースユニット２０ｂにおいては、入力コネクタ２０１ｂと入力コネクタ２０２ｂとのうちいずれか一方のみが増設ベースユニット２０ａと増設ベースユニット２０ｂとの通信に使用される。
【００４７】
出力切替部２３２は、出力制御部２３１の制御に基づいて、バスＢに接続される出力コネクタを切り替える。つまり、出力切替部２３２は、前段のベースユニットから受信した切り替え制御信号に基づいて、出力コネクタ２１１及び出力コネクタ２１２のうち１の出力コネクタとバスＢとを通信可能に接続する。図５では出力切替部２３２をスイッチとして記載しているが、出力切替部２３２は、例えばトランジスタ、リレーなどのスイッチング素子を含む切り替え回路である。
【００４８】
スロット２９０は、バスＢに接続され、Ｉ／Ｏユニット２１、電源ユニット２２などのユニットを接続可能なスロットである。スロット２９０は、接続されたユニットとバスＢとを通信可能に接続する。
【００４９】
次に、増設ベースユニット２０のハードウェア構成の一例について、図６を参照しながら説明する。図６に示す増設ベースユニット２０は、例えばマイクロコントローラにより実現される。なお、基本ベースユニット１０についても、同様のハードウェア構成を採用しうる。
【００５０】
増設ベースユニット２０は、バス２０００を介して互いに接続された、プロセッサ２００１と、メモリ２００２と、インタフェース２００３とを備える。
【００５１】
プロセッサ２００１は、例えばＭＰＵ、ＣＰＵなどのプロセッサである。プロセッサ２００１が、メモリ２００２上に保存された制御プログラムを実行することにより、増設ベースユニット２０の入力制御部２２１及び出力制御部２３１の機能が実現される。
【００５２】
メモリ２００２は、例えば、ＲＯＭとＲＡＭとを含む主記憶装置である。メモリ２００２は、プロセッサ２００１が実行する制御プログラムを保存する。また、メモリ２００２は、プロセッサ２００１が制御プログラムを実行する際のワークメモリとして機能する。
【００５３】
インタフェース２００３は、増設ベースユニット２０と他のユニットとを通信可能に接続するための入出力インタフェースである。インタフェース２００３により、入力コネクタ２０１、入力コネクタ２０２、出力コネクタ２１１、出力コネクタ２１２及びスロット２９０の機能が実現される。
【００５４】
次に、図７、８、９を参照しながら、ＣＰＵユニット１１による切り替え制御の動作の一例を説明する。図７に示す動作は、制御系として動作するＣＰＵユニット１１の制御部１１０に通信異常が生じた場合の系切り替え指示の処理を示す。図７に示す動作は、制御系ＣＰＵユニットとして動作する基本ベースユニット１０ａ上のＣＰＵユニット１１ａによる動作であり、ＣＰＵユニット１１ａの異常判定部１１１が、ＣＰＵユニット１１ａと他のユニットとの通信に異常があると判定したときに開始される。
【００５５】
ＣＰＵユニット１１ａの制御部１１０の異常箇所検出部１１２は、基本ベースユニット１０ａに接続された増設ベースユニット２０ａ上のユニットにアクセス可能か否かを判定する（ステップＳ１０１）。
【００５６】
増設ベースユニット２０ａ上のユニットにアクセス可能でないとき（ステップＳ１０１：Ｎｏ）、異常箇所検出部１１２は、基本ベースユニット１０ａと増設ベースユニット２０ａとを接続する増設ケーブルＣ１１を異常箇所として検出する（ステップＳ１０２）。
【００５７】
制御部１１０の切替制御部１１３は、ＣＰＵユニット１１ｂとトラッキング通信部である第２通信部１１６からトラッキングケーブルＴＣを介して通信し、制御系をＣＰＵユニット１１ａから待機系ＣＰＵユニットとして動作する基本ベースユニット１０ｂ上のＣＰＵユニット１１ｂへと切り替える指示を行う（ステップＳ１０３）。そして制御部１１０は、系切り替え指示の動作を終了する。
【００５８】
増設ベースユニット２０ａ上のユニットにアクセス可能であるとき（ステップＳ１０１：Ｙｅｓ）、異常箇所検出部１１２は、増設ベースユニット２０ａに接続された増設ベースユニット２０ｂ上のユニットにアクセス可能か否かを判定する（ステップＳ１０４）。
【００５９】
ＣＰＵユニット１１がいずれの増設ケーブルを使用しているかは、初期設定の段階でいずれか定められており、記憶部１１７に記憶されている。増設ベースユニット２０ｂ上のユニットにアクセス可能でないとき（ステップＳ１０４：Ｎｏ）、異常箇所検出部１１２は、増設ベースユニット２０ａと増設ベースユニット２０ｂとを接続する増設ケーブルＣ２１又は増設ケーブルＣ２２のうち、現在使用している増設ケーブルを異常箇所として検出する（ステップＳ１０５）。異常である増設ケーブルが検出されると、異常箇所検出部１１２は、記憶部１１７のルーティングテーブル１１８に当該増設ケーブルが異常である旨を書き換え、ルーティングテーブル１１８を更新する（ステップＳ１０６）。例えば、現在用いているケーブルが増設ケーブルＣ２１の場合、当該増設ケーブルＣ２１を異常箇所として検出すると、異常箇所検出部１１２は、記憶部１１７のルーティングテーブル１１８に当該増設ケーブルＣ２１が異常である旨を書き換え、ルーティングテーブル１１８を更新する。
【００６０】
切替制御部１１３は、ＣＰＵユニット１１ｂと通信し、制御系をＣＰＵユニット１１ａから基本ベースユニット１０ｂ上のＣＰＵユニット１１ｂへと切り替える指示を行う（ステップＳ１０７）。そして制御部１１０は、系切り替え指示処理の動作を終了する。
【００６１】
増設ベースユニット２０ｂ上のユニットにアクセス可能であるとき（ステップＳ１０４：Ｙｅｓ）、制御部１１０は、さらに後段の各増設ベースユニット２０について、ステップＳ１０４−Ｓ１０７と同様の動作を実行する。この動作を繰り返すことにより、切替制御部１１３は、ルーティングテーブル１１８を更新し、制御系を基本ベースユニット１０ｂ上のＣＰＵユニット１１ｂへと切り替える指示を行い、系切り替え指示処理の動作を終了する。
【００６２】
トラッキング通信部である第２通信部１１６からトラッキングケーブルＴＣを介して制御系をＣＰＵユニット１１ａから基本ベースユニット１０ｂ上のＣＰＵユニット１１ｂへと切り替える指示が行われると、ＣＰＵユニット１１ｂは、系切り替え処理を実行する。この系切り替え処理の動作を図８を参照しながら説明する。
【００６３】
ＣＰＵユニット１１ｂの制御部１１０の切替制御部１１３は、ＣＰＵユニット１１ａからの切り替え指示を受信すると、その切り替え指示が増設ベースユニット間を接続する増設ケーブルの異常によるものであるか否かを判断する（ステップＳ２０１）。
【００６４】
切り替え指示が増設ベースユニット間を接続する増設ケーブルの異常によるものでない場合（ステップＳ２０１：Ｎｏ）、待機系であるＣＰＵユニット１１ｂを制御系に切り替え、ＣＰＵユニット１１ｂにより制御を継続する（ステップＳ２０２）。
【００６５】
切り替え指示が増設ベースユニット間を接続する増設ケーブルの異常によるものである場合（ステップＳ２０１：Ｙｅｓ）、ＣＰＵユニット１１ａから切り替え指示とともにＣＰＵユニット１１ｂに送信されたルーティングテーブルでＣＰＵユニット１１ｂの記憶部１１７のルーティングテーブル１１８を更新する（ステップＳ２０３）。
【００６６】
ルーティングテーブル１１８が更新されると、更新されたルーティングテーブル１１８に基づき、待機系であるＣＰＵユニット１１ｂを制御系に切り替え、ＣＰＵユニット１１ｂにより制御を継続する（ステップＳ２０４）。
【００６７】
新たに制御系となったＣＰＵユニット１１ｂの制御部１１０の再起動処理部１１４は、ＣＰＵユニット１１ａに対してトラッキングケーブルＴＣを介して再起動の指示を行う（ステップＳ２０５）。このとき、ＣＰＵユニット１１ｂの記憶部１１７に格納されたルーティングテーブル１１８をトラッキングケーブルＴＣを介してＣＰＵユニット１１ａに送信する。そしてＣＰＵユニット１１ｂの制御部１１０は、系切り替え処理を終了する。
【００６８】
トラッキング通信部である第２通信部１１６からトラッキングケーブルＴＣを介してＣＰＵユニット１１ｂから基本ベースユニット１０ａ上のＣＰＵユニット１１ａへ再起動の指示が行われると、ＣＰＵユニット１１ａは、再起動処理を実行する。この再起動処理の動作について図９を参照しながら説明する。
【００６９】
ＣＰＵユニット１１ａの制御部１１０は、ＣＰＵユニット１１ｂからの再起動指示を受信すると、再起動を開始する（ステップＳ３０１）。再起動が行われると、ＣＰＵユニット１１ｂから受信したルーティングテーブルをＣＰＵユニット１１ａの記憶部１１７に格納してルーティングテーブル１１８として新たに設定する（ステップＳ３０２）。そしてＣＰＵユニット１１ａの制御部１１０は、再起動処理を終了する。
【００７０】
以上、実施の形態１に係る冗長化システム１０００を説明した。実施の形態１に係る冗長化システム１０００によれば、制御系のＣＰＵユニット１１ａで異常が発生した場合に、トラッキングケーブルＴＣを介して正常な待機系のＣＰＵユニット１１ｂに制御を切り替える。制御系となったＣＰＵユニット１１ｂは、異常が発生したＣＰＵユニット１１ａに再起動を指示し、自身が保有するルーティングテーブル１１８を送信する。これにより、異常が発生した増設ケーブルを除いた増設ケーブルが一重化された冗長化システムとして正常起動する。
【００７１】
増設ケーブルが二重化された冗長化システムでは、増設ケーブルの一方が異常、他方が正常であれば、正常である増設ケーブルでアクセス可能である。しかし、制御系が異常の発生した増設ケーブルを通じてアクセスしていた場合、通信異常が発生する。この場合において、異常が発生したシステムを自動で再起動することで、増設ケーブルが一重であったとしてもコピー処理、異常を取り除く処理を行うことなく高速に復旧が可能となる。
【００７２】
（実施の形態１の変形例）
実施の形態１において、新しく制御系になったＣＰＵユニット１１ｂは、ＣＰＵユニット１１ａから受信したルーティングテーブルを使ってＣＰＵユニット１１ｂのルーティングテーブル１１８を更新した。これに対して、ＣＰＵユニット１１ｂが増設ケーブルの異常検出を行って、ルーティングテーブル１１８を更新してもよい。
【００７３】
実施の形態１において、異常により制御系から待機系に変更されたＣＰＵユニット１１ａが再起動するときに、新しく制御系になったＣＰＵユニット１１ｂから受信したルーティングテーブルを使ってＣＰＵユニット１１ａのルーティングテーブル１１８を更新した。これに対して、ＣＰＵユニット１１ａが増設ケーブルの異常検出を行って、ルーティングテーブル１１８を更新してもよい。
【００７４】
また、実施の形態１において、ルーティングテーブルは、基本ベースユニット１０内に保持されていた。これに限らず、増設ベースユニット２０内にルーティングテーブルを設けてもよい。また、ルーティングテーブルには、増設ケーブルの異常を検知した場合に、異常があったこと、異常発生個所、検知時刻などの情報を記憶しておいてもよい。これらの情報を記憶しておくことにより、これらの情報を利用して後々に異常原因を特定することが可能である
【００７５】
また、実施の形態１においては、制御系のＣＰＵユニット１１ａと待機系のＣＰＵユニット１１ｂの２台により冗長化システムを構築したが、これに限らず、３台以上の複数のＣＰＵユニットで構成してもよい。この場合、１台が制御系ＣＰＵユニットとなり、他のＣＰＵユニットは待機系となる。また、実施の形態１において、増設ベースユニット間の増設ケーブルを２本としたが、これに限らず３本以上の複数本としてもよい。また、全ての増設ベースユニット２０の間で増設ケーブルの本数を揃えたが、一部の増設ベースユニット２０の間でのみケーブルを多重化すれば十分である場合も考えられる。このような場合、ケーブルを多重化する多重化区間に含まれる増設ベースユニット２０が複数の入力コネクタと複数の出力コネクタを備えていればよく、ケーブルを多重化しない非多重化区間に含まれる増設ベースユニット２０は、入力コネクタと出力コネクタを少なくとも１つずつ備えていればよい。
【００７６】
（実施の形態２）
以下、実施の形態２に係る冗長化システム１０００を説明する。ただし、実施の形態２において、冗長化システム１０００の全体構成は図１に示す実施の形態１の場合と同様である。詳細は後述するが、実施の形態２に係る冗長化システム１０００においては、増設ケーブルの異常発生時に、通信異常が生じたＣＰＵユニット１１を待機系として再起動するか、異常状態のままとするかをパラメータ設定で任意に選択することができる。
【００７７】
図１０を参照しながら、実施の形態２に係るＣＰＵユニット１１の構成のうち実施の形態１と異なる点を説明する。実施の形態２に係るＣＰＵユニット１１は、記憶部１１７に再起動設定テーブル１１９が格納されている点が実施の形態１と異なる。再起動設定テーブル１１９は、実施の形態１で示した異常が生じたＣＰＵユニット１１を待機系として再起動するか否かを示す情報が設定されている。図１１に、再起動設定テーブル１１９の構成例を示す。再起動設定テーブル１１９には、異常が生じた他方のＣＰＵユニット１１を待機系として再起動を実行するか否かを設定する他系リセット機能の設定項目と、再起動を実行するタイミングを設定する項目が設けられている。図１１の例では、他系リセット機能の設定項目として、「実行する」と設定されており、他系リセット機能の実行タイミングの設定項目として、「増設ケーブル異常時」と設定されている。前述した図８、９に示した異常発生時の系切り替え、再起動処理において、新たに制御系となったＣＰＵユニットは、再起動設定テーブル１１９を確認する。新たに制御系となったＣＰＵユニットは、再起動設定テーブル１１９の設定に応じて、図８に示す再起動の指示の実行を制御する。また、新たに制御系となったＣＰＵユニットが、再起動設定テーブル１１９に応じて再起動指示の実行を制御するのではなく、異常が生じた他方のＣＰＵユニットが再起動設定テーブル１１９の設定に応じて再起動の実行を制御してもよい。新たに制御系となったＣＰＵユニットから再起動指示を受けたときに、異常が生じた他方のＣＰＵユニットは、再起動設定テーブル１１９を確認する。他方のＣＰＵユニットは、再起動設定テーブル１１９の設定に応じて、図９に示す再起動処理を実行する、あるいは実行しない。再起動設定テーブル１１９の各設定項目については、ユーザにより任意に設定可能である。すなわち、再起動設定テーブル１１９は、ユーザの操作によって、再起動を実行するを実行しないに変更可能であり、ユーザが再起動の実行の有無を変更することができる。
【００７８】
実施の形態２によれば、片系異常状態の期間を短縮する場合と、異常が発生した原因調査のため、異常のままとしたい場合を任意に選択できる。なお、再起動設定テーブル１１９の実行タイミングの設定項目について、図１１の例に示す「増設ケーブル異常時」以外に、例えば「バスアクセス異常時」と設定することができ、この場合増設ベースユニット２０の内部バスに異常が生じた時に再起動処理を実行させることができる。
【００７９】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【産業上の利用可能性】
【００８０】
本開示は、冗長化システムに広く適用することができる。
【符号の説明】
【００８１】
１，１ａ，１ｂ，２，２ａ，２ｂ  制御装置、１０，１０ａ，１０ｂ  基本ベースユニット、１１，１１ａ，１１ｂ  ＣＰＵユニット、１２，１２ａ，１２ｂ，２２，２２ａ，２２ｂ  電源ユニット、２０，２０ａ，２０ｂ  増設ベースユニット、２１，２１ａ，２１ｂ  Ｉ／Ｏユニット、１０２，２９０  スロット、１１０  制御部、１１１  異常判定部、１１２  異常箇所検出部、１１３  切替制御部、１１４  再起動処理部、１１５  第１通信部、１１６  第２通信部、１１７  記憶部、１１８  ルーティングテーブル、１１９  再起動設定テーブル、２０１，２０１ａ，２０１ｂ，２０２，２０２ａ，２０２ｂ  入力コネクタ、１０１，１０１ａ，１０１ｂ，２１１，２１１ａ，２１１ｂ，２１２，２１２ａ，２１２ｂ  出力コネクタ、２２１  入力制御部、２２２  入力切替部、２３１  出力制御部、２３２  出力切替部、１０００  冗長化システム、２０００  バス、２００１  プロセッサ、２００２  メモリ、２００３  インタフェース、Ｂ，ＢＢ  バス、Ｃ１１，Ｃ１２，Ｃ２１，Ｃ２２，Ｃ３１，Ｃ３２  増設ケーブル、ＴＣ  トラッキングケーブル。
【要約】
冗長化システムは、制御系ＣＰＵユニット（１１ａ）、制御系ＣＰＵユニット（１１ａ）に代わって制御可能な待機系ＣＰＵユニット（１１ｂ）、制御系ＣＰＵユニット（１１ａ）及び待機系ＣＰＵユニット（１１ｂ）と増設ケーブル（Ｃ１１，Ｃ１２，Ｃ２１，Ｃ２２）を介して数珠つなぎに接続される複数の増設ベースユニット（２０ａ，２０ｂ）を備える。増設ベースユニット（２０ａ，２０ｂ）同士は多重化された増設ケーブル（Ｃ２１，Ｃ２２）を介して接続され、制御系ＣＰＵユニット（１１ａ）が多重化された増設ケーブル（Ｃ２１，Ｃ２２）のうち使用している増設ケーブルの通信異常を検知した際、制御系ＣＰＵユニット（１１ａ）に代わって制御する待機系ＣＰＵユニット（１１ｂ）は制御系ＣＰＵユニット（１１ａ）に再起動を指示し、制御系ＣＰＵユニット（１１ａ）は別の増設ケーブルを通信路に設定する。【図１】
0006925570.tif 000002
【図２】
0006925570.tif 000003
【図３】
0006925570.tif 000004
【図４】
0006925570.tif 000005
【図５】
0006925570.tif 000006
【図６】
0006925570.tif 000007
【図７】
0006925570.tif 000008
【図８】
0006925570.tif 000009
【図９】
0006925570.tif 000010
【図１０】
0006925570.tif 000011
【図１１】
0006925570.tif 000012