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