(57)【特許請求の範囲】
【請求項１】
１つの制御対象の作動状態を制御するための制御部と、
それぞれが運転系の主通信処理部と待機系の副通信処理部とを有し、前記主通信処理部または前記副通信処理部により、前記制御対象と前記制御部との間で伝送されるデータの入出力処理を実施する、前記１つの制御対象に対して設けられた複数の入出力ユニットと、
を備え、
前記複数の入出力ユニットのそれぞれは、前記主通信処理部による入出力処理に異常が発生した場合、他の入出力ユニットとは独立に、前記主通信処理部から前記副通信処理部に運転を切り替え可能に構成された、冗長化システム。
【請求項２】
前記主通信処理部は、自身による入出力処理に異常が発生すると、入出力処理の異常を示す情報を前記制御部に出力し、
前記制御部は、前記主通信処理部による入出力処理に異常がある場合、前記主通信処理部から前記副通信処理部に運転を切り替えるための制御を実施する、請求項１に記載の冗長化システム。
【請求項３】
前記制御部は、
前記主通信処理部による入出力処理に異常がある旨の情報を提示させ、手動操作を示す信号に応答して、前記主通信処理部から前記副通信処理部に運転を切り替えるための制御を実施する、請求項１または２に記載の冗長化システム。
【請求項４】
前記複数の入出力ユニットを有し、前記制御部が前記制御対象を制御するためのデータの入出力処理を実行する第１入出力部と、
前記第１入出力部と等価な構成を有し、前記第１入出力部による入出力処理と並行して、前記第１入出力部と同等の入出力処理を実行する第２入出力部と、
前記第１入出力部が備える前記複数の入出力ユニットによる入出力処理の全体の結果として得られた第１データと前記第２入出力部が備える前記複数の入出力ユニットによる入出力処理の全体の結果として得られた第２データとを比較し、前記第１データと前記第２データとの間の不一致の有無を判定する判定部と、
前記判定部の判定結果に応じて、前記第１入出力部および前記第２入出力部の各出力部と前記制御対象との間の接続状態を切り替える切替部と、
を更に備えた請求項１から３の何れか１項に記載の冗長化システム。
【請求項５】
制御部が、１つの制御対象の作動状態を制御する段階と、
運転系の主通信処理部と待機系の副通信処理部とを有する、前記１つの制御対象に対して設けられた複数の入出力ユニットが、前記主通信処理部または前記副通信処理部を通じて前記制御対象と前記制御部との間で伝送されるデータの入出力処理を実施する段階と、
を含み、
前記複数の入出力ユニットのそれぞれは、前記主通信処理部による入出力処理に異常が発生した場合、他の入出力ユニットとは独立に、前記主通信処理部から前記副通信処理部に運転を切り替え可能に構成された、冗長化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長化システム、冗長化方法に関する。
【背景技術】
【０００２】
大型プラント等の運転状態を制御する制御システムでは、制御装置と制御対象機器との間のデータのやり取りは、インターフェイスとして機能する入出力機器を経由して行われている。通常、この種の制御システムは無停止運転を必要とするため、入出力機器等が冗長化されている（特許文献１参照）。
【０００３】
一般に、この種の制御システムでは、冗長化された入出力機器として２系統の入出力機器が備えられている。これら２系統の入出力機器のうちの一方は、定常的に運転される運転系の入出力機器として用いられ、他方の入出力機器は、運転系の入出力機器が故障した場合に運転される待機系の入出力機器として用いられる。
【０００４】
運転系の入出力機器で故障が発生した場合、作業者が運転系の入出力機器から待機系の入出力機器に運転を切り替える作業を実施する。これにより、運転系の入出力機器が故障した後、制御装置と制御対象機器との間のデータ伝送が待機系の入出力機器を通じて実施される。このため、制御システムの運転を継続させることができ、無停止運転が可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１２３８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の従来技術によれば、運転系の入出力機器の一部に故障が発生し、他の部分が動作可能な状態であったとしても、運転系の入出力機器の全体が待機系に切り替えられる。このため、動作可能な入出力機器のハードウェア資源を有効利用することが困難であるという問題がある。また、上述の従来技術によれば、複数個所で故障が発生する多重故障に対応することが困難であるという問題もある。
【０００７】
上記の問題について具体的に説明する。
図１３は、従来技術による冗長化システムを説明するための図である。図１３（Ａ）は、故障が発生する前のデータの流れ（実線）を示し、図１３（Ｂ）は、故障が発生した後のデータの流れ（点線）を示している。図１３（Ａ）および（Ｂ）において、制御部９１０は、ローカルネットワーク等を通じて入出力機器９２０と接続され、入出力機器９２０は、図示しない制御対象機器と接続されている。制御部９１０と制御対象機器との間のデータ伝送は入出力機器９２０を通じて実施される。
【０００８】
制御部９１０は、制御対象機器から入出力機器９２０を通じて、制御対象機器の作動状態を示すデータを取得する。制御部９１０は、制御対象機器の作動状態に応じた制御量を演算し、その制御量を示す制御用データを、入出力機器９２０を通じて制御対象機器に供給する。これにより制御部９１０が制御対象機器の作動状態を遠隔から制御している。
【０００９】
ここで、制御部９１０は、主通信ＣＰＵ(Central Proseccing Unit)９１１および副通信ＣＰＵ９１２の二系統の通信ＣＰＵを備えており、通信ＣＰＵが冗長化されている。入出力機器９２０は、三台の入出力ユニット９２１，９２２，９２３から構成されている。入出力ユニット９２１，９２２，９２３は、それぞれ、上記の制御部９１０の主通信ＣＰＵ９１１および副通信ＣＰＵ９１２に対応した主通信カード９２１１，９２２１，９２３１および副通信カード９２１２，９２２２，９２３２の二系統の通信カードを備え、その通信カードが冗長化されている。
【００１０】
通常運転時には、図１３（Ａ）に示すように、制御部９１０の主通信ＣＰＵ９１１から出力された制御用データが、入出力機器９２０を構成する入出力ユニット９２１，９２２，９２３の主通信カード９２１１，９２２１，９２３１を通じて制御対象機器に供給される。この例では、制御部９１０から出力された制御用データは三つのデータに分割され、三台の入出力ユニット９２１，９２２，９２３の主通信カード９２１１，９２２１，９２３１のそれぞれを通じて制御対象機器に供給される。
【００１１】
ここで、例えば入出力ユニット９２２の主通信カード９２２１に故障が発生した場合、入出力ユニット９２２から制御対象機器に供給されるデータに異常が発生する。この場合、制御部９１０が制御対象機器の作動状態を正しく制御することが困難になり、制御対象機器の作動状態に異常が生じる。この結果、例えば制御対象機器が冷却装置の冷媒の流量を調整するためのものであれば、冷却温度が異常値を示す等の異常現象が発生する。
【００１２】
作業者は、上記の異常現象が発生すると、その原因を調査し、その調査の結果から、入出力ユニット９２２の主通信カード９２２１に故障が発生していることを把握すると、主通信カード９２２１から副通信カード９２２２に運転を切り替える作業を実施する。これにより、制御部９１０と制御対象機器との間のデータ伝送が副通信カード９２２２を通じて実施されるので、主通信カード９２２１が故障しても、制御システムの運転を継続させることができ、無停止運転が可能になる。
【００１３】
ここで、従来技術によれば、図１３（Ｂ）に示すように、入出力ユニット９２２の主通信カード９２２１から副通信カード９２２２に運転を切り替えた場合、故障していない他の入出力ユニット９２１，９２３においても、主通信カード９２１１，９２３１から副通信カード９２１２，９２３２に運転が切り替えられる。即ち、入出力ユニット９２１，９２２，９２３の主通信カード９２１１，９２２１，９２３１の全てが副通信カード９２１２，９２２２，９２３２に切り替えられる。このため、動作可能な入出力ユニット９２１，９２３の主通信カード９２１１，９２３１を有効利用することができない。
【００１４】
また、主通信カード９２２１に故障が発生し、全ての主通信カード９２１１，９２２１，９２３１が副通信カード９２１２，９２２２，９２３２に切り替えられた後、更に副通信カード９２１２，９２２２，９２３２の何れかに故障が発生する場合が起こり得る。このような多重故障が発生した場合、入出力機器９２０から出力されるデータの異常を回避することができなくなり、制御システムの運転を停止せざるを得なくなる。
【００１５】
本発明は、上記課題に鑑みてなされたものであり、多種の故障に柔軟に対応することができる冗長化システム、冗長化方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題を解決するため、本発明の一態様による冗長化システムは、１つの制御対象の作動状態を制御するための制御部と、それぞれが運転系の主通信処理部と待機系の副通信処理部とを有し、前記主通信処理部または前記副通信処理部により、前記制御対象と前記制御部との間で伝送されるデータの入出力処理を実施する、前記１つの制御対象に対して設けられた複数の入出力ユニットと、を備え、前記複数の入出力ユニットのそれぞれは、前記主通信処理部による入出力処理に異常が発生した場合、他の入出力ユニットとは独立に、前記主通信処理部から前記副通信処理部に運転を切り替え可能に構成された、冗長化システムの構成を有する。
【００１７】
前記冗長化システムにおいて、例えば、前記主通信処理部は、自身による入出力処理に異常が発生すると、入出力処理の異常を示す情報を前記制御部に出力し、前記制御部は、前記主通信処理部による入出力処理に異常がある場合、前記主通信処理部から前記副通信処理部に運転を切り替えるための制御を実施することを特徴とする。
【００１８】
前記冗長化システムにおいて、例えば、前記制御部は、前記主通信処理部による入出力処理に異常がある旨の情報を提示させ、手動操作を示す信号に応答して、前記主通信処理部から前記副通信処理部に運転を切り替えるための制御を実施することを特徴とする。
【００１９】
前記冗長化システムにおいて、例えば、前記複数の入出力ユニットを有し、前記制御部が前記制御対象を制御するためのデータの入出力処理を実行する第１入出力部と、前記第１入出力部と等価な構成を有し、前記第１入出力部による入出力処理と並行して、前記第１入出力部と同等の入出力処理を実行する第２入出力部と、前記第１入出力部が備える前記複数の入出力ユニットによる入出力処理の全体の結果として得られた第１データと前記第２入出力部が備える前記複数の入出力ユニットによる入出力処理の全体の結果として得られた第２データとを比較し、前記第１データと前記第２データとの間の不一致の有無を判定する判定部と、前記判定部の判定結果に応じて、前記第１入出力部および前記第２入出力部の各出力部と前記制御対象との間の接続状態を切り替える切替部と、を更に備えることを特徴とする。
【００２０】
上記課題を解決するため、本発明の一態様による冗長化方法は、制御部が、１つの制御対象の作動状態を制御する段階と、運転系の主通信処理部と待機系の副通信処理部とを有する、前記１つの制御対象に対して設けられた複数の入出力ユニットが、前記主通信処理部または前記副通信処理部を通じて前記制御対象と前記制御部との間で伝送されるデータの入出力処理を実施する段階と、を含み、前記複数の入出力ユニットのそれぞれは、前記主通信処理部による入出力処理に異常が発生した場合、他の入出力ユニットとは独立に、前記主通信処理部から前記副通信処理部に運転を切り替え可能に構成された、冗長化方法の構成を有する。
【発明の効果】
【００２１】
本発明によれば、多種の故障に対応することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１実施形態による冗長化システムの構成例を示すブロック図である。
【図２】本発明の第１実施形態による冗長化システムが備える制御演算部の構成例を示すブロック図である。
【図３】本発明の第１実施形態による冗長化システムの構成例の一部の詳細を示すブロック図であり、故障がない場合のデータの流れを説明するための図である。
【図４】本発明の第１実施形態による冗長化システムが備える切替部のスイッチの構成例を示す図である。
【図５】本発明の第１実施形態による冗長化システムの動作例の流れを示すフローチャートでり、入出力ユニットにおいて運転系の主通信カードから待機系の副通信カードに運転を切り替える場合の動作の流れを示すフローチャートである。
【図６】本発明の第１実施形態による冗長化システムの動作例の流れを示すフローチャートでり、入出力ユニットにおいて運転系の主通信カードから待機系の副通信カードに運転を手動操作により切り替える場合の動作の流れを示すフローチャートである。
【図７】本発明の第１実施形態による冗長化システムの動作例の流れを示すフローチャートであり、運転系の入出力機器から待機系の入出力機器に運転を切り替える場合の動作の流れを示すフローチャートである。
【図８】本発明の第１実施形態による冗長化システムの運転系の一台の入出力ユニットの主通信カードに故障が発生した場合のデータの流れの一例を説明するための図である。
【図９】本発明の第１実施形態による冗長化システムで発生する異常データの一例を示す図である。
【図１０】本発明の第１実施形態による冗長化システムの運転系の二台の入出力ユニットの主通信カードに故障が発生した場合の多重故障発生時のデータの流れを説明するための図である。
【図１１】本発明の第１実施形態による冗長化システムの運転系の二台の入出力ユニットの一方の主通信カードと他方の副通信カードに故障が発生した場合の多重故障発生時のデータの流れを説明するための図である。
【図１２】本発明の第１実施形態による冗長化システムの運転系の一台の入出力ユニットの主通信カードと副通信カードとに故障が発生した場合の多重故障発生時のデータの流れを説明するための図である。
【図１３】従来技術による冗長化システムを説明するための図であり、（Ａ）は、故障が発生する前のデータの流れ（実線）を示し、（Ｂ）は、故障が発生した後のデータの流れ（点線）を示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の実施形態を説明する。
（構成の説明）
図１は、本発明の第１実施形態による冗長化システム１００の構成例を示すブロック図である。図１に示すように、第１実施形態による冗長化システム１００は、制御演算部（制御部）１１０と、運転系の入出力機器１２１（第１入出力部）と、待機系の入出力機器１２２（第２入出力部）と、切替用演算部（切替制御部）１３０と、切替部１４０と、複数の出力端子１５０と、複数の入力端子１６０とを備えている。切替部１４０は、スイッチ１４１から構成される。なお、複数の入力端子１６０および複数の出力端子１５０は、それぞれ、これらの端子を通じて入出力されるデータのビット数に相当する個数だけ備えられている。
【００２４】
第１実施形態では、運転系の入出力機器１２１および待機系の入出力機器１２２のそれぞれと制御演算部１１０との間はローカルエリアネットワーク（ＬＡＮ）を介して接続されている。また、切替用演算部１３０と制御演算部１１０との間もローカルエリアネットワークを介して接続されている。また、冗長化システム１００の構成要素のうち、運転系の入出力機器１２１、待機系の入出力機器１２２、切替用演算部１３０、切替部１４０は、制御対象機器３００の近くに配置され、これらは配線ケーブルを介して制御対象機器３００と接続されている。これにより、制御演算部１１０は、遠隔からローカルエリアネットワークを介して制御対象機器３００を制御することが可能となっている。ただし、この例に限定されず、各構成要素間の接続形態は任意であり、また、有線、無線を問わない。
【００２５】
制御演算部１１０は、制御対象機器３００の作動状態を制御するための演算処理を実施するものである。制御対象機器３００は、例えば大型プラントの冷却装置の冷媒の循環流量を調整するバルブである。この場合、制御演算部１１０は、制御対象の作動状態を示す情報として、例えば冷却装置による冷却対象の温度に関するデータを制御対象機器３００から取得する。制御演算部１１０は、上記の温度情報に基づいて冷媒の循環流量を演算し、その演算結果からバルブの開度を指定する制御用のデータＤ０を生成して出力する。制御演算部１１０は、例えば制御用のＣＰＵ(Central Processing Unit)から構成される。
なお、制御対象機器３００は、この例に限定されず任意であり、制御演算部１１０の演算処理も制御対象に応じて任意に設定し得る。
【００２６】
制御演算部１１０は、制御用のデータＤ０をローカルエリアネットワーク上に送出する場合、そのデータ形式（または信号形式）を、そのローカルエリアネットワークに適合したデータ形式（または信号形式）に変換する。運転系の入出力機器１２１は、制御演算部１１０からローカルエリアネットワークを介して入力されるデータＤ０のデータ形式（または信号形式）を、本システム特有のデータ形式（または信号形式）に戻し、データＤ１として出力する。
【００２７】
運転系の入出力機器１２１は、制御演算部１１０が制御対象機器３００を制御するための制御用のデータＤ０の入出力処理を実施するものである。運転系の入出力機器１２１は、制御対象機器３００と制御演算部１１０との間のデータ伝送経路（伝送路）上に配置されている。運転系の入出力機器１２１は、制御演算部１１０からローカルエリアネットワークを介して入力されるデータＤ０のデータ形式を、本システム特有のデータ形式（信号形式）に戻し、データＤ１として出力する。
【００２８】
待機系の入出力機器１２２は、運転系の入出力機器１２１と等価な構成を有しており、運転系の入出力機器１２１による入出力処理と並行して、この運転系の入出力機器１２１と同等の入出力処理を実施するものである。待機系の入出力機器１２２は、制御演算部１１０からローカルエリアネットワークを介して入力されるデータＤ０のデータ形式を、本システム特有のデータ形式（信号形式）に戻し、データＤ２として出力する。待機系の入出力機器１２２は、制御演算部１１０から見て、運転系の入出力機器１２１と並列に接続されている。運転系の入出力機器１２１と待機系の入出力機器１２２の何れにも故障がなければ、データＤ１，Ｄ２のそれぞれは制御演算部１１０により生成された元のデータＤ０と一致し、データＤ１とデータＤ２とが一致する。
【００２９】
なお、第１実施形態では、「入力」と「出力」による各データの伝送方向は、冗長化システム１００の制御演算部１１０を基準としたときの制御演算部１１０と制御対象機器３００との間のデータの伝送方向を指す。即ち、制御対象機器３００から制御演算部１１０に向けて伝送されるデータは、「入力」されるデータであり、逆に、制御演算部１１０から制御対象機器３００に向けて伝送されるデータは、「出力」されるデータである。従って、運転系の入出力機器１２１および待機系の入出力機器１２２は、制御対象機器３００から制御演算部１１０へのデータの入力と、制御演算部１１０から制御対象機器３００へのデータの出力を実施するものと言える。第１実施形態では、適宜、制御対象機器３００から制御演算部１１０に向けて伝送されるデータを入力データと称し、制御演算部１１０から制御対象機器３００に向けて伝送されるデータを出力データと称す。
【００３０】
図２は、本発明の第１実施形態による冗長化システム１００が備える制御演算部１１０の構成例を示すブロック図である。
図２に示すように、制御演算部１１０は、主制御演算部１１１、主通信ＣＰＵ１１２、副制御演算部１１３、副通信ＣＰＵ１１４、共有メモリ１１５を備えている。主制御演算部１１１と主通信ＣＰＵ１１２は、通常時に運転される運転系の構成要素である。副制御演算部１１３と副通信ＣＰＵ１１４は、運転系の主制御演算部１１１に故障が発生した場合に運転される待機系の構成要素である。
【００３１】
主制御演算部１１１は、通常運転時に制御対象機器３００の作動状態を制御するための所定の制御演算を実施するものである。主通信ＣＰＵ１１２は、主制御演算部１１１がローカルエリアネットワークを通じて外部の入出力機器１２１，１２２と通信するための処理を実施するものである。主制御演算部１１１の演算結果は、主通信ＣＰＵ１１２を通じてデータＤ０１として出力される。
【００３２】
副制御演算部１１３は、主制御演算部１１１に故障が発生した場合、主制御演算部１１１に代わって制御対象機器３００の作動状態を制御するための制御演算を実施するものであり、主制御演算部１１１による制御演算と同等の演算を実施する。副通信ＣＰＵ１１４は、副制御演算部１１３がローカルエリアネットワークを通じて外部の入出力機器１２１，１２２と通信するための処理を実施するものである。副制御演算部１１３の演算結果は、主通信ＣＰＵ１１４を通じてデータＤ０２として出力される。
【００３３】
主制御演算部１１１および副制御演算部１１３の各演算結果は、共有メモリ１１５に一時的に格納される。主制御演算部１１１に故障が発生した場合、主通信ＣＰＵ１１２が共有メモリ１１５から副制御演算部１１３の演算結果を読み出して制御データＤ０１として入出力機器１２１，１２２に出力する。また、副制御演算部１１３に故障が発生した場合、主通信ＣＰＵ１１２が共有メモリ１１５から主制御演算部１１１の演算結果を読み出して制御データＤ０１として入出力機器１２１，１２２に出力する。
【００３４】
本実施形態では、主制御演算部１１１および副制御演算部１１３の両方に故障がない場合であっても、一方に故障が発生した場合であっても、データＤ０１とデータＤ０２は同じデータである。そこで、以下では、データＤ０１とデータＤ０２とを区別する必要のある場合を除いて、データＤ０１，Ｄ０２のそれぞれをデータＤ０と称す。
【００３５】
図３は、本発明の第１実施形態による冗長化システム１００の構成例の一部の詳細を示すブロック図であり、故障がない場合のデータの流れを説明するための図である。
なお、図３では、制御演算部１１０の共有メモリ１１５（図２）は省略されている。後述の図８、図１０、図１１、図１２についても同様である。
制御演算部１１０から出力されるデータＤ０１は、データＤ０１１、データＤ０１２、データＤ０１３から構成されている。例えば、データＤ０１が２４ビットのデータであるとすれば、データＤ０１１は、データＤ０１の第１ビットから第８ビットまでの８ビットからなるデータであり、データＤ０１２は、データＤ０１の第９ビットから第１６ビットまでの８ビットからなるデータであり、データＤ０１３は、データＤ０１の第１７ビットから第２４ビットまでの８ビットからなるデータである。同様に、制御演算部１１０から出力されるデータＤ０２は、データＤ０２１、データＤ０２２、データＤ０２３から構成されている。ただし、この例に限定されず、データＤ０１，Ｄ０２の構成は任意であり、デジタル信号、アナログ信号を問わない。
【００３６】
運転系の入出力機器１２１は、三台（複数）の入出力ユニット１２１１，１２１２，１２１３を備える。入出力ユニット１２１１，１２１２，１２１３のそれぞれは、制御対象機器３００と制御演算部１１０との間で伝送されるデータの入出力処理を実施するものであり、運転系の主通信カードと待機系の副通信カードとからなる冗長化された通信処理部を有している。
【００３７】
具体的には、入出力ユニット１２１１は、主通信カード１２１１Ａと副通信カード１２１１Ｂとを有している。主通信カード１２１１Ａは、通常運転時に上記の入出力処理を実行するものである。副通信カード１２１１Ｂは、主通信カード１２１１Ａが故障した場合に主通信カード１２１１Ａに代わって運転されるものであり、主通信カード１２１１Ａと同様の入出力処理を実施する。主通信カード１２１１Ａには、制御演算部１１０の主通信ＣＰＵ１１２から、データＤ０１を構成するデータＤ０１１が入力され、副通信カード１２１１Ｂには、制御演算部１１０の副通信ＣＰＵ１１４から、データＤ０２を構成するデータＤ０２１が入力される。主通信カード１２１１Ａは、データＤ０１１のデータ形式を変換してデータＤ１１する。副通信カード１２１１Ｂは、データＤ０２１のデータ形式を変換してデータＤ１１とする。入出力ユニット１２１１は、主通信カード１２１１Ａまたは副通信カード１２１１Ｂにより、制御対象機器３００と制御演算部１１０との間で伝送されるデータの入出力処理を実施する。
【００３８】
また、入出力ユニット１２１２は、主通信カード１２１２Ａと副通信カード１２１２Ｂとを有している。主通信カード１２１２Ａは、通常運転時に上記の入出力処理を実行するものである。副通信カード１２１２Ｂは、主通信カード１２１２Ａが故障した場合に主通信カード１２１２Ａに代わって運転されるものであり、主通信カード１２１２Ａと同様の入出力処理を実施する。主通信カード１２１２Ａには、制御演算部１１０の主通信ＣＰＵ１１２から、データＤ０１を構成するデータＤ０１２が入力され、副通信カード１２１２Ｂには、制御演算部１１０の副通信ＣＰＵ１１４から、データＤ０２を構成するデータＤ０２２が入力される。主通信カード１２１２Ａは、データＤ０１２のデータ形式を変換してデータＤ１２とする。副通信カード１２１２Ｂは、データＤ０２２のデータ形式を変換してデータＤ１２とする。入出力ユニット１２１２は、主通信カード１２１２Ａまたは副通信カード１２１２Ｂにより、制御対象機器３００と制御演算部１１０との間で伝送されるデータの入出力処理を実施する。
【００３９】
また、入出力ユニット１２１３は、主通信カード１２１３Ａと副通信カード１２１３Ｂとを有している。主通信カード１２１３Ａは、通常運転時に上記の入出力処理を実行するものである。副通信カード１２１３Ｂは、主通信カード１２１３Ａが故障した場合に主通信カード１２１３Ａに代わって運転されるものであり、主通信カード１２１３Ａと同様の入出力処理を実施する。主通信カード１２１３Ａには、制御演算部１１０の主通信ＣＰＵ１１２から、データＤ０１を構成するデータＤ０１３が入力され、副通信カード１２１３Ｂには、制御演算部１１０の副通信ＣＰＵ１１４から、データＤ０２を構成するデータＤ０２３が入力される。主通信カード１２１３Ａは、データＤ０１３のデータ形式を変換してデータＤ１３とする。副通信カード１２１３Ｂは、データＤ０２３のデータ形式を変換してデータＤ１３とする。入出力ユニット１２１３は、主通信カード１２１３Ａまたは副通信カード１２１３Ｂにより、制御対象機器３００と制御演算部１１０との間で伝送されるデータの入出力処理を実施する。
【００４０】
複数の入出力ユニット１２１１，１２１２，１２１３のそれぞれは、主通信カードによる入出力処理に異常が発生した場合、他の入出力ユニットとは独立に、主通信カードから副通信カードへの運転の切り替えが可能に構成されている。具体的には、入出力ユニット１２１１は、主通信カード１２１１Ａによる入出力処理に異常が発生した場合、他の入出力ユニット１２１２，１２１３とは独立に、主通信カード１２１１Ａから副通信カード１２１１Ｂに運転が切り替え可能に構成されている。また、入出力ユニット１２１２は、主通信カード１２１２Ａによる入出力処理に異常が発生した場合、他の入出力ユニット１２１１，１２１３とは独立に、主通信カード１２１２Ａから副通信カード１２１２Ｂに運転が切り替え可能に構成されている。更に、入出力ユニット１２１３は、主通信カード１２１３Ａによる入出力処理に異常が発生した場合、他の入出力ユニット１２１１，１２１２とは独立に、主通信カード１２１３Ａから副通信カード１２１３Ｂに運転が切り替え可能に構成されている。
【００４１】
また、入出力ユニット１２１１，１２１２，１２１３の主通信カード１２１１Ａ，１２１２Ａ，１２１３Ａは、それぞれ、入出力処理の異常の有無を判定する機能を有している。制御演算部１１０は、主通信カード１２１１Ａ，１２１２Ａ，１２１３Ａによる各入出力処理に異常がある場合、入出力ユニットごとに、主通信カード１２１１，Ａ，１２１２Ａ，１２１３Ａから副通信カード１２１１Ｂ，１２１２Ｂ，１２１３Ｂに運転を切り替えるための制御を実施する機能を有している。本実施形態では、制御演算部１１０は、後述するように、各通信カードの出力の有効／無効を制御することにより、通信カードの運転を切り替える。
【００４２】
待機系の入出力機器１２２も運転系の入出力機器１２１と同様に構成されている。
即ち、待機系の入出力機器１２２は、三台の入出力ユニット１２２１，１２２２，１２２３を備えている。入出力ユニット１２２１は、主通信カード１２２１Ａと副通信カード１２２１Ｂとを有している。主通信カード１２２１Ａは、制御演算部１１０から供給されるデータＤ０１１のデータ形式を変換してデータＤ２１とする。副通信カード１２２１Ｂは、制御演算部１１０から供給されるデータＤ０２１のデータ形式を変換してデータＤ２１とする。入出力ユニット１２２１は、主通信カード１２２１Ａまたは副通信カード１２２１Ｂにより、制御対象機器３００と制御演算部１１０との間で伝送されるデータの入出力処理を実施する。
【００４３】
また、入出力ユニット１２２２は、主通信カード１２２２Ａと副通信カード１２２２Ｂとを有している。主通信カード１２２２Ａは、制御演算部１１０から供給されるデータＤ０１２のデータ形式を変換してデータＤ２２とする。副通信カード１２２２Ｂは、制御演算部１１０から供給されるデータＤ０２２のデータ形式を変換してデータＤ２２とする。入出力ユニット１２２２は、主通信カード１２２２Ａまたは副通信カード１２２２Ｂにより、制御対象機器３００と制御演算部１１０との間で伝送されるデータの入出力処理を実施する。
【００４４】
また、入出力ユニット１２２３は、主通信カード１２２３Ａと副通信カード１２２３Ｂとを有している。主通信カード１２２３Ａは、制御演算部１１０から供給されるデータＤ０１３のデータ形式を変換してデータＤ２３とする。副通信カード１２２３Ｂは、制御演算部１１０から供給されるデータＤ０２３のデータ形式を変換してデータＤ２３とする。入出力ユニット１２２３は、主通信カード１２２３Ａまたは副通信カード１２２３Ｂにより、制御対象機器３００と制御演算部１１０との間で伝送されるデータの入出力処理を実施する。
【００４５】
説明を図１に戻す。切替用演算部１３０は、運転系の入出力機器１２１による入出力処理の結果として得られるデータＤ１（第１データ）と待機系の入出力機器１２２による入出力処理の結果として得られるデータＤ２（第２データ）との間に不一致があるか否かに応じて、切替部１４０のスイッチ１４１の接続状態の切り替えを制御するものである。即ち、切替用演算部１３０は、データＤ１とデータＤ２とを比較し、データＤ１とデータＤ２との間の不一致の有無を判定するための演算処理を実施する。そして、切替用演算部１３０は、その演算処理による判定結果に応じて、スイッチ１４１の接続状態を制御する。なお、切替用演算部１３０は、例えばＰＬＣ(Programmable Logic Controller)を用いて構成することができ、ハードウェアおよびソフトウェアの何れによっても実現することができる。
【００４６】
切替部１４０は、冗長化システム１００から制御対象機器３００に出力される制御用のデータを、運転系の入出力機器１２１から出力されるデータＤ１と、待機系の入出力機器１２２から出力されるデータＤ２とのうちの何れかに切り替えるためのものである。切替部１４０は、切替用演算部１３０の演算処理による判定結果に応じて、運転系の入出力機器１２１および待機系の入出力機器１２２の各出力部と制御対象機器３００との間の接続状態をスイッチ１４１により切り替える。本実施形態では、切替部１４０は、切替用演算部１３０の演算処理による判定結果がデータの不一致を示す場合、データＤ１に代えてデータＤ２が伝送経路上に送出されるようにスイッチ１４１の接続状態を切り替える。
【００４７】
図４は、本発明の第１実施形態による冗長化システムが備える切替部１４０のスイッチ１４１の構成例を示す図である。スイッチ１４１は、固定接点１４１１（１４１１−１，１４１１−２，１４１１−３）と、固定接点１４１２（１４１２−１，１４１２−２，１４１２−３）と、可動接点１４１３（１４１３−１，１４１３−２，１４１３−３）を備えている。固定接点１４１１−１，１４１１−２，１４１１−３は、運転系の入出力機器１２１（図３）の出力部に配線ケーブルを通じて接続され、それぞれ、入出力ユニット１２１１，１２１２，１２１３からデータＤ１１，Ｄ１２，Ｄ１３が供給される。固定接点１４１２−１，１４１２−２，１４１２−３は、待機系の入出力機器１２２（図３）の出力部に配線ケーブルを通じて接続され、それぞれ、入出力ユニット１２２１，１２２２，１２２３からデータＤ２１，Ｄ２２，Ｄ２３が供給される。可動接点１４１３−１，１４１３−２，１４１３−３は、冗長化システム１００の複数の出力端子１５０にそれぞれ配線ケーブルを通じて接続され、複数の出力端子１５０を介して制御対象機器３００の入力部に接続されている。
【００４８】
可動接点１４１３が固定接点１４１１側に切り替えられた状態（可動接点１４１３と固定接点１４１１とが電気的に接続された状態）では、切替器１４０を通じて運転系の入出力機器１２１の出力部と冗長化システム１００の出力端子１５０とが接続される。この場合、冗長化システム１００の出力データとして、運転系の入出力機器１２１から出力されたデータＤ１が供給される。
【００４９】
また、可動接点１４１３が固定接点１４１２側に切り替えられた状態（可動接点１４１３と固定接点１４１２とが電気的に接続された状態）では、切替器１４０を通じて待機系の入出力機器１２２の出力部と冗長化システム１００の出力端子１５０とが接続される。この場合、冗長化システム１００の出力データとして、待機系の入出力機器１２２から出力されたデータＤ２が供給される。
【００５０】
なお、本実施形態では、固定接点１４１１，１４１２と可動接点１４１３を有するスイッチ１４１を用いて切替部１４０を構成しているが、この例に限定されず、切替部１４０は、トランジスタ等の任意のデバイスで構成することもでき、また、ソフトウェア上で記述された機能として実現することもできる。
【００５１】
なお、制御対象機器３００の作動状態を示すデータは、入力端子１６０を通じて、制御対象機器３００から冗長化システム１００に供給される。冗長化システム１００において、複数の入力端子１６０には、運転系の入出力機器１２１および待機系の入出力機器１２２の各入力部が接続されている。即ち、運転系の入出力機器１２１と待機系の入出力機器１２２には、制御対象機器３００の作動状態を示すデータが並列に供給される。この制御対象機器３００の作動状態を示すデータは、運転系の入出力機器１２１および待機系の入出力機器１２２を通じて制御演算部１１０の主通信ＣＰＵ１１２および副通信ＣＰＵ１１４に入力され、これら主通信ＣＰＵ１１２および副通信ＣＰＵ１１４を通じて、主制御演算部１１１および副制御演算部１１３にそれぞれ供給される。
【００５２】
（動作の説明）
次に、本発明の第１実施形態による冗長化システム１００の動作を説明する。
なお、故障が発生していない初期状態では、切替部１４０を構成するスイッチ１４１の接続状態は、可動接点１４１３が固定接点１４１１側に切り替えられた状態となっている。また、故障が発生していない初期状態では、制御演算部１１０の制御の下、運転系の入出力機器１２１の入出力ユニット１２１１，１２１２，１２１３において、それぞれ、主通信カード１２１１Ａ，１２１２Ａ，１２１３Ａが運転されるように初期設定されている。これにより、初期状態では、運転系の入出力機器１２１を構成する主通信カード１２１１Ａ，１２１２Ａ，１２１３Ａの各出力部が、それぞれ、スイッチ１４１の接点１４１１−１Ａ，１４１１−１，１４１３−１（図４）を通じて制御対象機器３００の入力部と電気的に接続された状態となっている。
【００５３】
また、故障が発生していない初期状態では、制御演算部１１０の制御の下、待機系の入出力機器１２２の入出力ユニット１２２１，１２２２，１２２３において、それぞれ、主通信カード１２２１Ａ，１２２２Ａ，１２２３Ａが運転されるように初期設定されている。ただし、切替部１４０のスイッチ１４１の可動接点１４１３が固定接点１４１１側に切り替えられた状態となっているので、主通信カード１２２１Ａ，１２２２Ａ，１２２３Ａの各出力部は、制御対象機器３００の入力部と電気的に接続されていない状態となっている。
【００５４】
故障の有無にかかわらず、運転系の入出力機器１２１と待機系の入出力機器１２２は並列運転される。このため、運転系の入出力機器１２１は、制御演算部１１０から入力されるデータＤ０に対して入出力処理を実施し、データＤ０をデータＤ１１，Ｄ１２，Ｄ１３からなるデータＤ１に変換して出力する。また、待機系の入出力機器１２２は、同様に、制御演算部１１０から入力されるデータＤ０に対して入出力処理を実施し、データＤ０をデータＤ２１，Ｄ２２，Ｄ２３からなるデータＤ２に変換して出力する。運転系の入出力機器１２１に故障がない場合、データＤ１およびデータＤ２のうち、入出力機器１２１から出力されるデータＤ１が、切替部１４０のスイッチ１４１および出力端子１５０を通じて冗長化システム１００の出力データとして制御対象機器３００に供給される。
【００５５】
切替用演算部１３０は、上記の運転系の入出力機器１２１および待機系の入出力機器１２２による入出力処理と並行して、切替部１４０のスイッチ１４１の接続状態を切り替えるための一連の処理を一定周期毎に実施する。この切替部１４０のスイッチ１４１の接続状態の切り替えは、運転系の入出力機器１２１から待機系の入出力機器１２２に運転を切り替える場合に実施されるが、その詳細については後述する。なお、切替用演算部１３０の動作周期は、制御演算部１１０、運転系の入出力機器１２１、待機系の入出力機器１２２のそれぞれと同期した周期であってもよく、同期しない固有の周期であってもよい。ただし、望ましくは、切替用演算部１３０の動作周期は、制御演算部１１０、運転系の入出力機器１２１、待機系の入出力機器１２２の各動作周期よりも短い周期である。
【００５６】
図５は、本発明の第１実施形態による冗長化システム１００の動作例の流れを示すフローチャートであり、上記の各入出力ユニットにおいて運転系の主通信カードから待機系の副通信カードに運転を切り替える場合の動作の流れを示すフローチャートである。
図６は、本発明の第１実施形態による冗長化システム１００の動作例の流れを示すフローチャートでり、入出力ユニットにおいて運転系の主通信カードから待機系の副通信カードに運転を手動操作により切り替える場合の動作の流れを示すフローチャートである。
図７は、本発明の第１実施形態による冗長化システム１００の動作例の流れを示すフローチャートであり、運転系の入出力機器から待機系の入出力機器に運転を切り替える場合の動作の流れを示すフローチャートである。
【００５７】
第１実施形態では、運転系の入出力機器１２１において通信カードを切り替える余地がある限り、図５に示す動作フローに従って、故障が発生した運転系の主通信カードから待機系の副通信カードに運転を切り替えることにより、運転系の入出力機器１２１の運転を継続する。運転系の入出力機器１２１において通信カードを切り替える余地がなくなった場合、図７に示す動作フローに従って、運転系の入出力機器１２１から待機系の入出力機器１２２に運転が切り替えられる。
【００５８】
ここで、図５に示す処理は、運転系の入出力機器１２１および待機系の入出力機器１２２のそれぞれにおいて入出力ユニットごとに実行され、何れかの主通信カードに故障が発生した場合、主通信カードから副通信カードへの運転の切り替えが入出力ユニットごとに個別に実施される。即ち、図５に示す動作フローは、各入出力ユニットについて独立に実施される。
【００５９】
以下では、図５、図６、図７に示す動作フローに沿って、図８、図１０、図１１、図１２を参照しながら、次の四つの故障の発生態様を例として冗長化システム１００の動作を説明する。
・運転系の一台の入出力ユニットの主通信カードの故障
・運転系の二台の入出力ユニットの主通信カードの故障
・運転系の二台の入出力ユニットの一方の主通信カードと他方の副通信カードの故障
・運転系の一台の入出力ユニットの主通信カードと副通信カードの故障
【００６０】
上記の故障の発生態様ごとに、冗長化システム１００の動作を順に説明する。
＜運転系の一台の入出力ユニットの主通信カードの故障＞
図８は、本発明の第１実施形態による冗長化システム１００の運転系の一台の入出力ユニット１２１２の主通信カード１２１２Ａに故障が発生した場合のデータの流れの一例を説明するための図である。ここでは、入出力ユニット１２１２の主通信カード１２１２Ａに故障が発生した場合を例として冗長化システム１００の動作を説明するが、他の入出力ユニットにおいて同種の故障が発生した場合も同様である。
【００６１】
最初に、制御演算部１１０は、入出力機器１２１の入出力ユニット１２１１，１２１２，１２１３における主通信カード１２１１Ａ，１２１２Ａ，１２１３Ａの各出力を有効とするための出力設定アドレスの動作ビット「１」を主通信カード１２１１Ａ，１２１２Ａ，１２１３Ａのそれぞれに設定すると共に、副通信カード１２１１Ｂ，１２１２Ｂ，１２１３Ｂの各出力を無効とするための出力設定アドレスの動作ビット「０」を副通信カード１２１１Ｂ，１２１２Ｂ，１２１３Ｂのそれぞれに設定する（ステップＳ１０１）。これにより、入出力ユニット１２１１は、データＤ１１として主通信カード１２１１Ａの入出力処理によるデータを出力し、入出力ユニット１２１２は、データＤ１２として主通信カード１２１２Ａのデータを出力し、入出力ユニット１２１３は、データＤ１３として主通信カード１２１３Ａの入出力処理によるデータを出力する。
【００６２】
入出力ユニット１２１１，１２１２，１２１３の主通信カード１２１１Ａ，１２１２Ａ，１２１３Ａおよび副通信カード１２１１Ｂ，１２１２Ｂ，１２１３Ｂの各入出力処理に異常がなく、各通信カードに故障が発生していなければ、主通信カード１２１１Ａ，１２１２Ａ，１２１３Ａおよび副通信カード１２１１Ｂ，１２１２Ｂ，１２１３Ｂのそれぞれの出力の有効／無効を設定するための上記の動作ビットは上記の値に維持される。
【００６３】
ここで、運転系の主通信カード１２１２Ａに故障が発生し、その入出力処理に異常が発生した場合を考える。
図９は、本発明の第１実施形態による冗長化システム１００で発生する異常データの一例を示す図である。
図９に例示するように、説明の便宜上、制御演算部１１０から出力されたデータＤ０の各ビットの値は、ベクトル表記によれば、（１，１，０，…）であるものとする。また、上記のデータＤ０に応答して運転系の主通信カード１２１２Ａの入出力処理により得られるデータの各ビットの値はベクトル表記によれば、（０，１，０，…）であるものとする。更に、上記のデータＤ０に応答して待機系の副通信カード１２１２Ｂの入出力処理により得られるデータの各ビットの値は、ベクトル表記によれば、（１，１，０，…）であり、データＤ０の各ビットの値と一致しているものとする。
【００６４】
この場合、主通信カード１２１２Ａの入出力処理により得られるデータ（０，１，０，…）の第１ビットの値「０」は、制御演算部１１０から出力されるデータＤ０（１，１，０，…）の第１ビットの値「１」と一致していない。従って、主通信カード１２１２Ａのデータは異常であり、主通信カード１２１２Ａによる入出力処理に異常が発生している。これに対し、副通信カード１２１２Ｂから出力されるデータ（１，１，０，…）の全ビットの値は、制御演算部１１０から出力されるデータＤ０（１，１，０，…）の全ビットの値と一致している。従って、副通信カード１２１２Ｂのデータは正常であり、副通信カード１２１２Ｂによる入出力処理は正常である。
【００６５】
入出力ユニット１２１２の主通信カード１２１２Ａによる入出力処理に異常が発生すると、主通信カード１２１２Ａは、自身による入出力処理の異常を示すための異常情報として、通信カード自身の中で入出力処理の異常を示すアドレス（例えば、出力エリアの異常情報のワード部）のビットを「１」に設定する。主通信カード１２１２Ａは、上記のアドレスのビットを出力データとして制御演算部１１０に出力する。同様に、副通信カード１２１２Ｂにおいて、その入出力処理に異常で発生したとすれば、副通信カード１２１２Ｂは、通信カード自身の中で入出力処理の異常を示すアドレス（例えば、出力エリアの異常情報のワード部）のビットを「１」に設定して制御演算部１１０に出力する。以下では、上記の通信カード自身の中で異常を示すアドレスのビットを「異常ビット」と称す。
【００６６】
制御演算部１１０は、主通信カード１２１２Ａから入力される異常ビットがあるか否かを判定する（ステップＳ１０２）。制御演算部１１０は、主通信カード１２１２Ａから入力される異常ビットがあると判断した場合（ステップＳ１０２：ＹＥＳ）、続いて、副通信カード１２１２Ｂから入力される異常ビットがあるか否かを判断する（ステップＳ１０３）。副通信カード１２１２Ｂから入力される異常ビットがなければ（ステップＳ１０３：ＮＯ）、制御演算部１１０は、主通信カード１２１２Ａによる入出力処理に異常がある旨の判定を行い、その旨の情報（例えば、異常が発生した通信カードを特定するための情報等）を提示させる（ステップＳ１０６）。このような情報の提示は、例えば、図示しない表示部に文字情報を表示させること、警報音を発生させること、赤色灯を発光させることなどにより行うことができる。ただし、この例に限定されず、データに異常が発生したことを通知し得ることを限度として、このような情報の提示は任意の形態で行い得る。
【００６７】
作業者は、上述のステップＳ１０６において主通信カード１２１２Ａに異常がある旨の情報が提示されると、その情報から運転系の主通信カード１２１２Ａに故障が発生した可能性があることを把握し、必要な対策を講じることができる。
【００６８】
続いて、制御演算部１１０は、異常が発生した主通信カード１２１２Ａから副通信カード１２１２Ｂに運転を切り替えるための制御を実施する（ステップＳ１０７）。具体的には、制御演算部１１０は、主通信カード１２１２Ａの出力を無効とするための出力設定アドレスの動作ビットの値として「０」を主通信カード１２１２Ａに設定すると共に、副通信カード１２１２Ｂの出力を有効とするための出力設定アドレスの動作ビットの値として「１」を副通信カード１２１２Ｂに設定する。これにより、入出力ユニット１２１２は、主通信カード１２１２Ａの入出力処理によるデータに代えて、副通信カード１２１２Ｂの入出力処理によるデータをデータＤ１２として出力する。
【００６９】
この場合、他の入出力ユニット１２１１，１２１３の運転状態は維持される。具体的には、入出力ユニット１２１１は、データＤ１１として主通信カード１２１２Ａの入出力処理によるデータを出力し、入出力ユニット１２１３は、データＤ１３として主通信カード１２１３Ａの入出力処理によるデータを出力する。即ち、入出力ユニット１２１１，１２１２，１２１３のうち、故障が発生した入出力ユニット１２１２以外の入出力ユニット１２１１，１２１３の主通信カード１２１１Ａ，１２１３Ａの運転は継続されると共に、副通信カード１２１１Ｂ，１２１３Ｂは引き続き待機状態に維持される。
【００７０】
このように、主通信カード１２１２Ａに故障が発生した後、主通信カード１２１２Ａの入出力処理によるデータに代えて、副通信カード１２１２Ｂの入出力処理によるデータが入出力ユニット１２１１から出力されるので、主通信カード１２１２Ａの故障の影響を回避しつつ、制御演算部１１０が制御用のデータＤ０を制御対象機器３００に供給することができ、無停止運転が可能になる。
【００７１】
上述のステップＳ１０３において、副通信カード１２１２Ｂから入力される異常ビットがある場合（ステップＳ１０３：ＹＥＳ）、即ち、主通信カード１２１２Ａと副通信カード１２１２Ｂの両方の入出力処理に異常が発生していれば、制御演算部１１０は、入出力ユニット１２１２に関する通信状態を維持させる（ステップＳ１０４）。即ち、通信カードの運転の切り替えを実施しない。従ってこの場合、入出力ユニット１２１２から出力されるデータＤ１２は異常データとなる。ただし、このような場合、本実施形態では、後述するように、入出力機器１２１から入出力機器１２２に運転を切り替えることにより、入出力ユニット１２１２の故障によるデータ異常を回避している。
【００７２】
ところで、上述の図５の動作フローでは、ステップＳ１０７において、制御演算部１１０が、通信カードの運転の切り替えを自動的に実施するものとしたが、作業者による手動操作により通信カードの切り替えを実施するものとしてもよい。
図６は、本発明の第１実施形態による冗長化システム１００の動作例の流れを示すフローチャートでり、入出力ユニットにおいて運転系の主通信カードから待機系の副通信カードに運転を手動操作により切り替える場合の動作の流れを示すフローチャートである。
図６に示す第２実施形態による冗長化システムの動作フローは、上述の図５に示す動作フローおいて、ステップＳ１０７に代えてステップＳ１０７Ａを含む。その他は、図５の動作フローと同じである。
【００７３】
図６に示す動作フローにおいて、例えば、入出力ユニット１２１１の主通信カード１２１１Ａにより入出力処理に異常があり（ステップＳ１０２：ＹＥＳ）、且つ、副通信カード１２１２Ｂによる入出力処理に異常がない場合（ステップＳ１０３：ＮＯ）、制御演算部１１０は、主通信カード１２１２Ａに異常がある旨の判定を行い、その旨の情報を提示させる（ステップＳ１０６）。そして、制御演算部１１０は、作業者の手動操作を示す信号に応答して、主通信カード１２１２Ａから副通信カード１２１２Ｂに運転を切り替えるための制御を実施する（ステップＳ１０７Ａ）。これにより、作業者の手動操作により、運転系の主通信カード１２１２Ａから待機系の副通信カード１２１２Ｂに運転が切り替えられる。
【００７４】
図６の動作フローによれば、制御演算部１１０が作業者等の手動操作に応答して通信カードの運転を切り替えるので、作業者等の管理の下で運転系の主通信カードから待機系の副通信カードへの運転の切り替えを実施することができる。
【００７５】
＜運転系の二台の入出力ユニットの主通信カードの故障＞
図１０は、本発明の第１実施形態による冗長化システム１００の運転系の二台の入出力ユニット１２１２，１２１３のそれぞれの主通信カード１２１２Ａ，１２１３Ａに故障が発生した場合の多重故障発生時のデータの流れを説明するための図である。
ここでは、図１０に示すように、運転系の入出力機器１２１において、入出力ユニット１２１２の主通信カード１２１２Ａに故障が発生した後に、別の入出力ユニット１２１３の主通信カード１２１３Ａに故障が発生した場合を例として、多重故障発生時の冗長化システム１００の動作を説明する。なお、他の入出力ユニットにおいて同種の故障が発生した場合も同様である。
【００７６】
この場合、上述した運転系の一台の入出力ユニット１２１２の主通信カード１２１２Ａの故障形態と同様にして、入出力ユニット１２１２において、主通信カード１２１２Ａから副通信カード１２１２Ｂに運転が切り替えられる。この後、入出力ユニット１２１３の主通信カード１２１３Ａに故障が発生した場合、同様にして、制御演算部１１０の制御の下、主通信カード１２１３Ａから副通信カード１２１３Ｂに運転の切り替えが実施される。
【００７７】
このように、図１０の例でも、第１実施形態によれば、複数の入出力ユニット１２１１，１２１２，１２１３について、入出力ユニットごとに、個別に（または独立に）、主通信カードから副通信カードに運転を切り替えるので、複数の入出力ユニットの主通信カードの多重故障に柔軟に対応することができる。また、図１０の例では、正常な入出力ユニット１２１１の主通信カード１２１１Ａは継続して運転されるため、入出力ユニット１２１１のハードウェア資源を有効利用することができる。
【００７８】
なお、上述のように二台の入出力ユニット１２１２，１２１３に故障が発生した後、更に残りの一台の入出力ユニット１２１１の主通信カード１２１１Ａに故障が発生した場合も、同様に、故障が発生した主通信カード１２１１Ａから副通信カード１２１１Ｂに運転を切り替えることができる。
【００７９】
＜運転系の二台の入出力ユニットの一方の主通信カードと他方の副通信カードの故障＞
図１１は、本発明の第１実施形態による冗長化システム１００の運転系の二台の入出力ユニット１２１１，１２１２のうち、一方の入出力ユニット１２１２の主通信カード１２１２Ａと、他方の入出力ユニット１２１１の副通信カード１２１１Ｂに故障が発生した場合の多重故障発生時のデータの流れを説明するための図である。
【００８０】
ここでは、入出力ユニット１２１２の主通信カード１２１２Ａに故障が発生した後、別の入出力ユニット１２１１の副通信カード１２１１Ｂに故障が発生した場合を例として、多重故障発生時の冗長化システム１００の動作を説明する。なお、他の入出力ユニットにおいて同種の故障が発生した場合も同様である。
【００８１】
この場合、前述した運転系の一台の入出力ユニットの主通信カードの故障形態と同様に、主通信カード１２１２Ａから副通信カード１２１２Ｂに運転が切り替えられる。この後、入出力ユニット１２１１の副通信カード１２１１Ｂに故障が発生した場合、入出力ユニット１２１１の副通信カード１２１１Ｂから入力される異常ビットから、制御演算部１１０が副通信カード１２１１Ｂの故障を認識する。この場合、例えば、制御演算部１１０は、副通信カード１２１１Ｂに故障が発生した旨の情報を提示させることにより、作業者に通知する。
【００８２】
また、この場合、作業者は、副通信カード１２１１Ｂに故障がある旨の情報が提示されると、その情報から必要な対策を講じることができる。これにより、待機系の副通信カード１２１１Ｂは、その対策を講じるために必要な作業期間を除けば、定常的に正常な状態に維持され、運転系の主通信カード１２１１Ａの故障の発生に備えることができる。従って、冗長化システム１００の信頼性を損なうことなく、運転系の主通信カード１２１１Ａに故障が発生したときに運転系の主通信カード１２１１Ａから待機系の副通信カード１２１１Ｂに即座に運転を切り替えることが可能になる。
【００８３】
このように、図１１の例においても、入出力ユニット１２１１，１２１２，１２１３について、入出力ユニットごとに、個別に（または独立に）、主通信カードから副通信カードに運転を切り替えることができるので、入出力ユニットの主通信カードの故障と副通信カードの故障に柔軟に対応することができる。また、正常な入出力ユニット１２１３については、その主通信カード１２１３Ａは継続して運転されるため、入出力ユニット１２１３のハードウェア資源を有効利用することができる。
【００８４】
なお、上述のように入出力ユニット１２１１，１２１２に多重故障が発生した後、更に入出力ユニット１２１３の副通信カード１２１３Ｂに故障が発生したとしても、同様に副通信カード１２１３Ｂの故障が発生した旨の情報を提示させることができる。
【００８５】
＜運転系の一台の入出力ユニットの主通信カードと副通信カードの故障＞
図１２は、本発明の第１実施形態による冗長化システム１００の運転系の一台の入出力ユニット１２１２の主通信カード１２１２Ａと副通信カード１２１２Ｂとに故障が発生した場合の多重故障発生時のデータの流れを説明するための図であり、入出力機器１２１の出力データＤ１が異常となる場合の多重故障の一例を示す図である。
【００８６】
図１２の例では、運転系の入出力機器１２１の入出力ユニット１２１２の主通信カード１２１２Ａおよび副通信カード１２１２Ｂの両方に故障が発生している。この場合、故障が発生した主通信カード１２１２Ａおよび副通信カード１２１２Ｂの両方に代わる通信カードは入出力機器１２１には存在しないので、運転系の入出力機器１２１から出力されるデータＤ１の異常を解消することはできない。このようにデータＤ１の異常を解消することができない多重故障が発生した場合、図７に示す動作フローに従って、運転系の入出力機器１２１から待機系の入出力機器１２２へ運転を切り替えるための処理が実施される。
【００８７】
ここでは、図１２に示すように、入出力ユニット１２１２の主通信カード１２１２Ａに故障が発生した後、その入出力ユニット１２１２の副通信カード１２１２Ｂにも故障が発生した場合を例として、図７に示す動作フローに沿って多重故障発生時の冗長化システム１００の動作を説明する。他の入出力ユニット１２１１，１２１３において同種の故障が発生した場合も同様である。
【００８８】
なお、図１２に例示する故障が発生する前の状態では、切替部１４０をなすスイッチ１４１の接続状態は、接点１４１３が接点１４１１側に切り替えられた状態となっているものとする。即ち、初期状態では、運転系の入出力機器１２１の出力部が切替部１４０のスイッチ１４１を介して出力端子１５０に接続された状態となっている。
【００８９】
前述したように、運転系の入出力機器１２１と待機系の入出力機器１２２は並列運転される。そして、運転系の入出力機器１２１は、制御演算部１１０から入力されるデータＤ０に対して入出力処理を実施し、データＤ０をデータＤ１として出力する。また、待機系の入出力機器１２２は、制御演算部１１０から入力されるデータＤ０に対して同様の入出力処理を実施し、データＤ０をデータＤ２として出力する。図１２に例示する故障が発生する前の状態では、データＤ１とデータＤ２は一致し、これらデータＤ１およびデータＤ２のうち、運転系の入出力機器１２１から出力されるデータＤ１が切替部１４０を通じて冗長化システム１００の出力データとして制御対象機器３００に供給される。
【００９０】
切替用演算部１３０は、上記の運転系の入出力機器１２１および待機系の入出力機器１２２による入出力処理と並行して、切替部１４０のスイッチ１４１の接続状態を切り替えるための次の一連の処理（ステップＳ２０１〜Ｓ２１０）を一定周期毎に実施する。切替用演算部１３０の動作周期は、制御演算部１１０、運転系の入出力機器１２１、待機系の入出力機器１２２のそれぞれと同期した周期であってもよく、同期しない固有の周期であってもよい。ただし、望ましくは、切替用演算部１３０の動作周期は、制御演算部１１０、運転系の入出力機器１２１、待機系の入出力機器１２２の各動作周期よりも短い周期である。
【００９１】
切替用演算部１３０は、運転系の入出力機器１２１から出力されたデータＤ１と待機系の入出力機器１２２から出力されたデータＤ２とを取得し、これらデータＤ１とデータＤ２とを比較する（ステップＳ２０１）。そして切替用演算部１３０は、運転系の入出力機器１２１から出力されたデータＤ１の全ビットと待機系の入出力機器１２２から出力されたデータＤ２の全ビットが一致するか否かを判定する（ステップＳ２０２）。
【００９２】
ここで、運転系の入出力機器１２１と待機系の入出力機器１２２の何れにも故障がなければ、運転系の入出力機器１２１から出力されるデータＤ１の全ビットは、制御演算部１１０から出力される元のデータＤ０の全ビットと一致し、待機系の入出力機器１２２から出力されるデータＤ２も制御演算部１１０から出力される元のデータＤ０と一致する。即ちこの場合、運転系の入出力機器１２１から出力されるデータＤ１の全ビットと待機系の入出力機器１２２から出力されるデータＤ２の全ビットは一致する（ステップＳ２０２：ＹＥＳ）。
【００９３】
上記のようにデータＤ１とデータＤ２とが一致する場合（ステップＳ２０２：ＹＥＳ）、切替用演算部１３０は、データＤ１とデータＤ２とが一致する旨の判定結果を示す切替制御信号ＣＴＬを切替部１４０に出力する。この場合、切替部１４０は、スイッチ１４１の接点１４１３が接点１４１１側に切り替えられた接続状態を維持する（ステップＳ２０７）。
【００９４】
この状態からデータＤ１とデータＤ２との不一致が発生しない限り、上述のステップＳ２０１〜ステップＳ２０２（ＹＥＳ）〜ステップＳ２０７の一連の処理が一定周期で繰り返し実行され、この間、切替部１４０のスイッチ１４１の接続状態は、接点１４１３が接点１４１１側に切り替えられた状態に維持される。これにより、運転系の入出力機器１２１から出力されたデータＤ１が冗長化システム１００の出力データとして制御対象機器３００に継続的に供給される。
【００９５】
ここで、図１２に例示するように、運転系の入出力機器１２１の主通信カード１２１２Ａと副通信カード１２１２Ｂに故障が発生し、データＤ１に異常が発生した場合を考える。切替用演算部１３０は、運転系の入出力機器１２１から出力されたデータＤ１（異常データ）と待機系の入出力機器１２２から出力されたデータＤ２（正常データ）とを取得し、データＤ１とデータＤ２とを比較する（ステップＳ２０１）。切替用演算部１３０は、上記比較の結果から、運転系の入出力機器１２１から出力されたデータＤ１と、待機系の入出力機器１２２から出力されたデータＤ２とが一致するか否かを判定する（ステップＳ２０２）。
【００９６】
ここでは、故障が発生している運転系の入出力機器１２１から出力されるデータＤ１は異常データであるため、待機系の入出力機器１２２から出力されるデータＤ２と一致しない。データＤ１とデータＤ２とが一致しない場合（ステップＳ２０２：ＮＯ）、切替用演算部１３０は、データＤ１の元データであるデータＤ０を制御演算部１１０から取得し、制御演算部１１０から取得したデータＤ０と、運転系の入出力機器１２１から出力されたデータＤ１とを比較する（ステップＳ２０３）。また、切替用演算部１３０は、制御演算部１１０から取得したデータＤ０と、待機系の入出力機器１２２から出力されたデータＤ２とを比較する（ステップＳ２０３）。
【００９７】
切替用演算部１３０は、上記比較の結果から、データＤ０と元のデータＤ１とが一致するか否かを判定する（ステップＳ２０４）。ここでは、運転系の入出力機器１２１は異常なデータＤ１を出力するので、データＤ１のビットの値は元のデータＤ０のビットの値と一致しない。データＤ０とデータＤ１とが一致しない場合（ステップＳ２０４：ＮＯ）、続いて、切替用演算部１３０は、上記比較の結果から、制御演算部１１０から取得した元のデータＤ０と待機系の入出力機器１２２から出力されたデータＤ２とが一致するか否かを判定する（ステップＳ２０５）。仮に元のデータＤ０とデータＤ２とが一致しないとすれば（ステップＳ２０５：ＮＯ）、切替用演算部１３０は、データＤ１およびデータＤ２の両方に異常がある旨の判定を行い、その旨の情報を提示させる（ステップＳ２０６）。
【００９８】
このようにデータＤ１およびデータＤ２の両方に異常がある場合には、切替用演算部１３０は、切替部１４０の接続状態の切り替えを行わず、その状態を維持させる。この場合、作業者は、上述のステップＳ２０６においてデータＤ１およびデータＤ２の両方に異常がある旨の情報が提示されると、その情報から運転系の入出力機器１２１および待機系の入出力機器１２２に故障が発生した可能性があることを把握し、必要な対策を講じることができる。
【００９９】
ここでは運転系の入出力機器１２１のデータＤ１に異常があり、待機系の入出力機器１２２に故障はない状況を想定しているので、待機系の入出力機器１２２から出力されたデータＤ２は正常であり、制御演算部１１０から取得した元のデータＤ０と一致する（ステップＳ２０５：ＹＥＳ）。このように元のデータＤ０とデータＤ２とが一致する場合（ステップＳ２０５：ＹＥＳ）、切替用演算部１３０は、運転系の入出力機器１２１から出力されたデータＤ１に異常がある旨の判定を行い、その旨の情報を提示させる（ステップＳ２０９）。
【０１００】
続いて、切替部１４０は、切替用演算部１３０の制御の下、運転系の入出力機器１２１から出力されるデータＤ１に代えて、待機系の入出力機器１２２から出力されるデータＤ２が制御演算部１１０と制御対象機器３００との間のデータ伝送経路上に送出されるようにスイッチ１４１の接続状態を切り替える（ステップＳ２１０）。具体的には、切替部１４０は、切替用演算部１３０の制御の下、スイッチ１４１の可動接点１４１３を固定接点１４１２側に切り替える。
【０１０１】
切替部１４０のスイッチ１４１の接続状態が切り替えられると、運転系の入出力機器１２１から待機系の入出力機器１２２に運転が切り替えられる。このとき、待機系の入出力機器１２２は、運転系の入出力機器１２１と並列運転状態にあるため、制御演算部１１０から出力されるデータＤ０は、待機系の入出力機器１２２を通じて継続的に制御対象機器３００に供給される。従って、運転系の入出力機器１２１のデータＤ１に異常が発生しても、無停止運転が可能になる。
【０１０２】
また、仮に運転系の入出力機器１２１のデータＤ１に異常がなければ、上述したステップＳ２０４において、切替用演算部１３０は、運転系の入出力機器１２１から出力されたデータＤ１が元のデータＤ０と一致すると判定する（ステップＳ２０４：ＹＥＳ）。この場合、前述のステップＳ２０２におけるデータの不一致を示す判定結果は、待機系の入出力機器１２２から出力されたデータＤ２の異常によるものと考えることができる。そこで、運転系の入出力機器１２１から出力されたデータＤ１が元のデータＤ０と一致する場合（ステップＳ２０４：ＹＥＳ）、切替用演算部１３０は、待機系の入出力機器１２２から出力されたデータＤ２に異常がある旨の判定を行い、その旨の情報を提示させる（ステップＳ２０８）。
【０１０３】
また、ステップＳ２０４において運転系の入出力機器１２１から出力されたデータＤ１が元のデータＤ０と一致した場合（ステップＳ２０４：ＹＥＳ）、待機系の入出力機器１２２に故障が発生していることが推定される。従ってこの場合、切替部１４０のスイッチ１４１の接続状態は維持され、運転系の入出力機器１２１から出力されるデータＤ１が、切替部１４０を通じて、継続して制御対象機器３００に供給される。
【０１０４】
また、作業者は、上述のステップＳ２０８においてデータＤ２に異常がある旨の情報が提示されると、その情報から待機系の入出力機器１２２に故障が発生した可能性があることを把握し、必要な対策を講じることができる。これにより、待機系の入出力機器１２２は、その対策を講じるために必要な作業期間を除けば、定常的に正常な状態に維持され、運転系の入出力機器１２１の故障の発生に備えることができる。従って、冗長化システム１００の信頼性を損なうことなく、運転系の入出力機器１２１に故障が発生したときに運転系の入出力機器１２１から待機系の入出力機器１２２に即座に運転を切り替えることが可能になる。
【０１０５】
上述したように、第１実施形態によれば、入出力機器１２１および入出力機器１２２のそれぞれについて、入出力ユニットごとに通信カードの異常を判断して運転を切り替えるので、多種の故障に柔軟に対応することができる。
また、第１実施形態によれば、運転系の入出力機器１２１から出力されるデータＤ１と待機系の入出力機器１２２から出力されるデータＤ２とを比較することにより、制御演算部１１０の処理の負荷を増加させることなく、データの異常および故障の有無を検出することができる。
【０１０６】
また、第１実施形態によれば、運転系の入出力機器１２１から出力されるデータＤ１と待機系の入出力機器１２２から出力されるデータＤ２とを比較した後、データＤ１およびデータＤ２のそれぞれを元のデータＤ０と比較することにより、故障の所在を特定することが可能になる。
【０１０７】
従って、第１実施形態によれば、冗長化された入出力機器の故障の有無を判断するための処理の負担を抑制しつつ、冗長化された入出力機器の出力値の異常の有無を的確かつ迅速に把握することができ、無停止運転の信頼性を向上させることができる。
【０１０８】
なお、上述の第１実施形態では、制御演算部１１０が制御用のデータＤ０を生成して制御対象機器３００に供給する場合を例として説明したが、制御対象機器３００の作動状態を示す情報信号を制御対象機器３００から制御演算部１１０に供給する場合には、運転系の入出力機器１２１、待機系の入出力機器１２２、切替部１４０のそれぞれについて入力と出力の関係を入れ替えれば、同様に本発明の概念を導入することができる。
【０１０９】
また、上述の第１実施形態では、本発明を冗長化システムとして表現したが、本発明は、冗長化方法として表現することもできる。この場合、本発明による冗長化方法は、制御演算部１１０（制御部）が、制御対象機器３００（制御対象）の作動状態を制御する段階と、運転系の主通信カード（主通信処理部）１２１１Ａ等と待機系の副通信カード（副通信処理部）１２１１Ｂ等とを有する複数の入出力ユニット１２１１，１２１２，１２１３等が、前記主通信カードまたは前記副通信カードを通じて前記制御対象機器と前記制御演算部との間で伝送されるデータの入出力処理を実施する段階と、を含み、前記複数の入出力ユニットのそれぞれは、前記主通信カードによる入出力処理に異常が発生した場合、他の入出力ユニットとは独立に、前記主通信カードから前記副通信カードに運転を切り替え可能に構成された、冗長化方法として表現することができる。
【０１１０】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変形が可能である。
例えば、上述の各実施形態では、運転系の入出力機器１２１と待機系の入出力機器１２２の２台の入出力機器を用いて冗長化システムを構築する場合を説明したが、入出力機器の台数は任意である。
また、運転系の入出力機器１２１および待機系の入出力機器１２２は、それぞれ、３台の入出力ユニットを備えるものとしたが、入出力処理の対象となるデータに応じて、入出力ユニットの台数は任意に設定し得る。
【０１１１】
また、上述の実施形態では、動作ビットの値を設定することにより、各入出力ユニットの主通信カードと副通信カードの運転を切り替えるものとしたが、この例に限定されず、通信カードの運転の切り替えは任意の手法で実施することができる。
また、上述の実施形態では、運転系の入出力機器１２１および待機系の入出力機器１２２のそれぞれと制御演算部１１０とをローカルエリアネットワークを介して接続するものとしたが、冗長化システム１００の出力部と制御対象機器３００との間をネットワークで繋いでもよく、どの区間をネットワーク化するかについては、任意に設定し得る。
【符号の説明】
【０１１２】
１００…冗長化システム、１１０…制御演算部（制御部）、１１１…主制御演算部、１１２…主通信ＣＰＵ、１１３…副制御演算部、１１４…副通信ＣＰＵ、１１５…共有メモリ、１２１…入出力機器（運転系）、１２２…入出力機器（待機系）、１３０…切替用演算部（切替制御部）、１４０…切替部、１４１…スイッチ、１５０…出力端子、１６０…入力端子、３００…制御対象機器、１２１１，１２１２，１２１３，１２２１，１２２２，１２２３…入出力ユニット、１２１１Ａ，１２１２Ａ，１２１３Ａ，１２２１Ａ，１２２２Ａ，１２２３Ａ…主通信カード、１２１１Ｂ，１２１２Ｂ，１２１３Ｂ，１２２１Ｂ，１２２２Ｂ，１２２３Ｂ…副通信カード、１４１１，１４１１−１，１４１１−２，１４１１−３，１４１２，１４１２−１，１４１２−２，１４１２−３，１４１３，１４１３−１，１４１３−２，１４１３−３…接点、Ｓ１０１〜Ｓ１０７，Ｓ１０７Ａ，Ｓ２０１〜Ｓ２１０…処理ステップ、９１０…制御部、９１１…主通信ＣＰＵ、９１２…副通信ＣＰＵ、９２０…入出力機器、９２１，９２２，９２３…入出力ユニット、９２１１，９２２１，９２３１…主通信カード、９２１２，９２２２，９２３２…副通信カード。
【図１】
0005961212.tif 000002
【図２】
0005961212.tif 000003
【図３】
0005961212.tif 000004
【図４】
0005961212.tif 000005
【図５】
0005961212.tif 000006
【図６】
0005961212.tif 000007
【図７】
0005961212.tif 000008
【図８】
0005961212.tif 000009
【図９】
0005961212.tif 000010
【図１０】
0005961212.tif 000011
【図１１】
0005961212.tif 000012
【図１２】
0005961212.tif 000013
【図１３】
0005961212.tif 000014