(57)【要約】【課題】シリアルバス上でエラーが発生しても確実に同期合わせ処理を実行し、ノイズに対して強化させることを可能とした冗長化制御システムを実現する。【解決手段】相互の同期合わせを周期的に実行する第１コントローラ及び第２コントローラが、相互に自側同期レジスタと相手側同期レジスタを備え、外部シリアルバスを介して相互に自側同期レジスタの内容を相手側同期レジスタにセットし、相互に自側同期レジスタと相手側同期レジスタの一致をチェックした後にクリアする冗長化制御システムにおいて、前記第１コントローラ及び第２コントローラは、前記外部バスを介して相手側よりセットデータが取得できない場合に、自側にある相手側同期レジスタにエラー認識データを強制的にセットする。【選択図】                    図１
2010191932.tif 000002
【特許請求の範囲】
【請求項１】
相互の同期合わせを周期的に実行する第１コントローラ及び第２コントローラが、相互に自側同期レジスタと相手側同期レジスタを備え、外部シリアルバスを介して相互に自側同期レジスタの内容を相手側同期レジスタにセットし、相互に自側同期レジスタと相手側同期レジスタの一致をチェックした後にクリアする冗長化制御システムにおいて、
前記第１コントローラ及び第２コントローラは、前記外部バスを介して相手側よりセットデータが取得できない場合に、自側にある相手側同期レジスタにエラー認識データを強制的にセットすることを特徴とする冗長化制御システム。
【請求項２】
前記第１コントローラ及び第２コントローラは、前回の同期合わせ時に相手側より取得した正常なセットデータを保持する前回値保持レジスタを備え、エラー復帰時にはこの前回値保持レジスタの内容を自側にある相手側同期レジスタにセットすることを特徴とする請求項１に記載の冗長化制御システム。
【請求項３】
前記第１コントローラ及び第２コントローラは、前記外部シリアルバスを介して取得するセットデータのエラーをチェックして、エラーを検出した場合に立てるフラグを備えることを特徴とする請求項１または２に記載の冗長化制御システム。
【請求項４】
前記第１コントローラ及び第２コントローラは、前記フラグが立った場合に、自側にある相手側同期レジスタに固定値のエラー認識データをセットする、エラー認識データセット手段を備えることを特徴とする請求項１乃至３のいずれかに記載の冗長化制御システム。
【請求項５】
前記第１コントローラ及び第２コントローラは、前記フラグが立った場合に、自側にある相手側同期レジスタにエラーの種別を識別するエラー認識データをセットする、エラー認識データセット手段を備えることを特徴とする請求項１乃至３のいずれかに記載の冗長化制御システム。
【請求項６】
前記第１コントローラ及び第２コントローラは、前回の同期合わせ時に相手側より取得した正常なセットデータを第１割り込みデータとする複数の割り込みデータを保持する割り込みデータ送出手段を備え、エラー復帰時には保持している複数の割り込みデータを前記第１割り込みデータより順次自側にある相手側同期レジスタにセットすることを特徴とする請求項１に記載の冗長化制御システム。
【請求項７】
前記割り込みデータ送出手段は、前記複数の割り込みデータを保持する複数の割り込み用レジスタで構成されていることを特徴とする請求項６に記載の冗長化制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、相互の同期合わせを周期的に実行する第１コントローラ及び第２コントローラが、相互に自側同期レジスタと相手側同期レジスタを備え、外部シリアルバスを介して相互に自側同期レジスタの内容を相手側同期レジスタにセットし、相互に自側同期レジスタと相手側同期レジスタの一致をチェックした後にクリアする冗長化制御システムに関するものである。
【背景技術】
【０００２】
冗長化制御システムの基本的な構成については、特許文献１に技術開示がある。図７は、従来の冗長化制御システムの構成例を示す機能ブロック図である。相互の同期合わせを周期的に実行する冗長化制御システムは、第１コントローラ１０及び第２コントローラ２０並びにこれらコントローラ間の通信を中継する冗長化されたシリアルバス３１，３２により構成されている。
【０００３】
第１コントローラ１０及び第２コントローラ２０は、夫々プロセッサ１１及び２１を備えている。第１コントローラ１０は、プロセッサ１１がアクセスする自側同期レジスタ１２及び相手側同期レジスタ１３を備える。プロセッサ１１は、自側同期レジスタ１２に対してセットアクセスＡ´及びクリアアクセスＣ´を実行すると共に、相手側同期レジスタ１３対してリードアクセスＢ´及び確認リードアクセスＤ´を実行する。
【０００４】
同様に、第２コントローラ２０は、プロセッサ２１がアクセスする自側同期レジスタ２２及び相手側同期レジスタ２３を備える。プロセッサ２１は、自側同期レジスタ２２に対してセットアクセスａ´及びクリアアクセスｃ´を実行すると共に、相手側同期レジスタ２３対してリードアクセスｂ´及び確認リードアクセスｄ´を実行する。
【０００５】
第１コントローラ１０は、シリアルバス３１，３２を経由して相手側から送られてきたフレームのエラーチェック手段１４，１５及び送付されたフレームの一時格納用のレジスタ１６，１７を備える。レジスタ１６，１７の保持データは、オアゲート１８を介して相手側同期レジスタ１３にセットされる。
【０００６】
同様に、第２コントローラ２０は、シリアルバス３１，３２を経由して相手側から送られてきたフレームのエラーチェック手段２４，２５及び送付されたフレームの一時格納用のレジスタ２６，２７を備える。レジスタ２６，２７の保持データは、オアゲート２８を介して相手側同期レジスタ２３にセットされる。
【０００７】
このような冗長化構成において、第１コントローラ１０及び第２コントローラ２０は、それぞれ独立に動作しており、一定の処理を完了すると相手側コントローラとのタイミングを合わせるために同期合わせ処理を実行する。
【０００８】
図８は、図７の信号処理の流れを説明するプロトコル図である。ステップＳ１で、第１コントローラ１０のプロセッサ１１は、一定の処理完了後、第２コントローラ２０と同期を合わせるために、自側同期レジスタ１２に特定の識別データのセットアクセスＡ´実行する。自側同期レジスタ１２のセットにより、シリアルバス３１，３２の両方を使用してデータフレームが相手側に転送される。
【０００９】
第２コントローラ２０は、エラーチェック手段２４，２５にてシリアルバス３１，３２毎に受信したデータフレームのエラーチェックを実施し、正常であればレジスタ２６，２７にデータをセットする。エラーであればデータのセットは行わず、前記セットされたデータを保持し、その後通信が遮断され、一定時間正常フレームが受信できない場合は前回値が残り続けてしまうのを防ぐため、レジスタ２６，２７をクリアする。なお、クリアされるレジスタは、一定時間正常フレームが受信できない側のみである。
【００１０】
ステップＳ２で、第２コントローラ２０のレジスタ２６，２７から相手側同期レジスタ２３に受信されるデータのセットは、第２コントローラ２０が自側同期レジスタ２２をセットするセットアクセスａ´と同期して実行される。
【００１１】
このセットアクセスａ´により自側同期レジスタ２２にセットされたデータフレームは、シリアルバス３１，３２を介して第１コントローラ１０側に転送され、エラーチェック手段１４，１５及びレジスタ１６，１７、オアゲート１８を経由して第１コントローラ１０の相手側同期レジスタ１３にセットされる。
【００１２】
第１コントローラ１０は、第２コントローラ２０が同じ処理を実行することを確認するために相手側同期レジスタ１３に対しリードアクセスＢ´を繰り返し、データが書き替えられることを確認する。
【００１３】
確認後、ステップＳ３で、第１コントローラ１０は、同期処理を終了するため自側同期レジスタ１２へクリアアクセスＣ´を実行する。自側同期レジスタ１２のクリアは、第２コントローラ２０の相手側同期レジスタ２３に受信される。ステップＳ４で、第２コントローラ２０が自側同期レジスタ２２をクリアすることで、第２コントローラ２０の相手側同期レジスタ２３はクリアされる。
【００１４】
最後にステップＳ５で、第１コントローラ１０は、第２コントローラ２０の自側同期レジスタ２２がクリアされるのを、第１コントローラ１０の相手側同期レジスタ１３に確認リードアクセスＤ´を実行して確認する。
【００１５】
同様に、第２コントローラ２０は、第１コントローラ１０の自側同期レジスタ１２がクリアされるのを、第２コントローラ２０の相手側同期レジスタ２３に確認リードアクセスｄ´を実行して確認すれば、１つの同期処理が完了し、次処理へ移行する。
【００１６】
【特許文献１】特開２００８−２１０１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
従来の冗長化制御システムでは、第１コントローラ１０にて、まず同期識別用データのセットアクセスＡ´が実行されることで、第２コントローラ２０の相手側同期レジスタ２３にデータがセットされる。その後、第２コントローラ２０にてデータのセットアクセスａ´を実行し、両側のデータセットが完了する。
【００１８】
このような従来の同期確認の手法では、次のような問題がある。
（１）何らかの影響で、シリアルバス３１，３２上にエラーが発生した場合、第１コントローラ１０では、相手からのデータが転送されないことで、相手側同期レジスタ１３がクリアされるため、データ書き替えのリードアクセスＢ´ができなくなり、次ステップへの移行ができない。
【００１９】
（２）一方、第２コントローラ２０では、相手からのデータ転送された後でのエラー発生のため、データ書き替えのためのリードアクセスｂ´が可能となり、その後クリアアクセスｃ´が実行されることで相手側同期レジスタ２３もクリアされ、次ステップへ移行してしまう。これにより、同期合わせ処理にずれが発生したまま動作してしまう。
【００２０】
（３）また、多重割り込み用に複数の同期レジスタを用意した場合、エラーから復帰しても各同期レジスタにデータが戻らないため、ノイズのような一過性のエラーを発生させるものに対して弱くなるという問題があった。
【００２１】
本発明は上述した問題点を解決するためになされたものであり、シリアルバス上でエラーが発生しても確実に同期合わせ処理を実行し、ノイズに対して強化させることを可能とした冗長化制御システムの実現を目的としている。
【課題を解決するための手段】
【００２２】
このような課題を達成するために、本発明は次の通りの構成になっている。
（１）相互の同期合わせを周期的に実行する第１コントローラ及び第２コントローラが、相互に自側同期レジスタと相手側同期レジスタを備え、外部シリアルバスを介して相互に自側同期レジスタの内容を相手側同期レジスタにセットし、相互に自側同期レジスタと相手側同期レジスタの一致をチェックした後にクリアする冗長化制御システムにおいて、
前記第１コントローラ及び第２コントローラは、前記外部バスを介して相手側よりセットデータが取得できない場合に、自側にある相手側同期レジスタにエラー認識データを強制的にセットすることを特徴とする冗長化制御システム。
【００２３】
（２）前記第１コントローラ及び第２コントローラは、前回の同期合わせ時に相手側より取得した正常なセットデータを保持する前回値保持レジスタを備え、エラー復帰時にはこの前回値保持レジスタの内容を自側にある相手側同期レジスタにセットすることを特徴とする（１）に記載の冗長化制御システム。
【００２４】
（３）前記第１コントローラ及び第２コントローラは、前記外部シリアルバスを介して取得するセットデータのエラーをチェックして、エラーを検出した場合に立てるフラグを備えることを特徴とする（１）または（２）に記載の冗長化制御システム。
【００２５】
（４）前記第１コントローラ及び第２コントローラは、前記フラグが立った場合に、自側にある相手側同期レジスタに固定値のエラー認識データをセットする、エラー認識データセット手段を備えることを特徴とする（１）乃至（３）のいずれかに記載の冗長化制御システム。
【００２６】
（５）前記第１コントローラ及び第２コントローラは、前記フラグが立った場合に、自側にある相手側同期レジスタにエラーの種別を識別するエラー認識データをセットする、エラー認識データセット手段を備えることを特徴とする（１）乃至（３）のいずれかに記載の冗長化制御システム。
【００２７】
（６）前記第１コントローラ及び第２コントローラは、前回の同期合わせ時に相手側より取得した正常なセットデータを第１割り込みデータとする複数の割り込みデータを保持する割り込みデータ送出手段を備え、エラー復帰時には保持している複数の割り込みデータを前記第１割り込みデータより順次自側にある相手側同期レジスタにセットすることを特徴とする（１）に記載の冗長化制御システム。
【００２８】
（７）前記割り込みデータ送出手段は、前記複数の割り込みデータを保持する複数の割り込み用レジスタで構成されていることを特徴とする（６）に記載の冗長化制御システム。
【発明の効果】
【００２９】
本発明の構成によれば、次のような効果を期待することができる。
（１）シリアルバス上でエラーが発生した場合、同期レジスタにゼロ以外のある固定値をセットすることで、片側のみの次ステップへの移行現象を防ぎ、同期ずれを回避することができる。
【００３０】
（２）同期合わせ処理の多重割り込み用に２種類の同期レジスタを複数持つ場合において、多重割り込み時のデータ転送に関しては、前のフレームデータ格納用に前レジスタを用意することで、エラー復帰後にエラー発生直前の時点から同期合わせ処理を再開することが可能となり、ノイズ等により発生する一過性のエラーに対しても強い同期合わせ処理を実行することが可能となる。
【００３１】
（３）２種類の同期レジスタを複数個備える多重割り込み時の同期合わせ処理に対して、一過性のエラーからの復帰時にエラー発生直前の時点からリアルタイムに同期合わせ処理が実施できるようになり、ノイズ等により発生する一過性エラーに強い同期合わせ処理が可能となる。
【図面の簡単な説明】
【００３２】
【図１】本発明を適用した冗長化制御システムの一実施例を示す機能ブロック図である。
【図２】図１の信号処理の流れを説明するプロトコル図である。
【図３】本発明を適用した冗長化制御システムの他の実施例を示す機能ブロック図である。
【図４】本発明を適用した冗長化制御システムの更に他の実施例を示す機能ブロック図である。
【図５】割り込みデータ送出手段の構成例を示す機能ブロック図である。
【図６】割り込みデータ送出手段の動作を説明するデータ構成図である。
【図７】従来の冗長化制御システムの構成例を示す機能ブロック図である。
【図８】図７の信号処理の流れを説明するプロトコル図である。
【発明を実施するための最良の形態】
【００３３】
以下、本発明を図面により詳細に説明する。図１は、本発明を適用した冗長化制御システムの一実施例を示す機能ブロック図である。図７で説明した従来システムと同一要素には同一符号を付して説明を省略する。
【００３４】
図１において、図７に示した従来システムの構成要素に追加された本発明の特徴部を示す構成要素を太線で示している。第１コントローラ１０において、エラーチェック手段１４，１５は、エラーが検出された時に立つフラグ１０１，１０２を備える。
【００３５】
図７で示したレジスタ１６，１７を、現レジスタ１６´，１７´と表記し、これら現レジスタの内容を書き換える１周期前のデータを保持する前レジスタ１０３，１０４を備える。
【００３６】
更に、フラグ１０１または１０２が立った場合に固定またはエラー種別で異なるデータがセットされるエラー識別データセット手段１０５を備える。エラー識別データセット手段１０５のデータまたはオアゲート１８を介して取得される現レジスタ１６´，１７´のデータの何れかがオアゲート１０６を介して相手側同期レジスタ１３にセットされる。
【００３７】
同様に、第２コントローラ２０において、エラーチェック手段２４，２５は、エラーが検出された時に立つフラグ２０１，２０２を備える。図４で示したレジスタ２６，２７を、現レジスタ２６´，２７´と表記し、これら現レジスタの内容を書き換える１周期前のデータを保持する前レジスタ２０３，２０４を備える。
【００３８】
更に、フラグ２０１または２０２が立った場合に固定またはエラー種別で異なるデータがセットされるエラー識別データセット手段２０５を備える。エラー識別データセット手段２０５のデータまたはオアゲート２８を介して取得される現レジスタ２６´，２７´のデータの何れかがオアゲート２０６を介して相手側同期レジスタ２３にセットされる。
【００３９】
図２は、図１の信号処理の流れを説明するプロトコル図である。ステップＳ１で、第１コントローラ１０のプロセッサ１１は、一定の処理完了後、第２コントローラ２０と同期を合わせるために、自側同期レジスタ１２に特定の識別データのセットアクセスＡ´実行する。自側同期レジスタ１２のセットにより、シリアルバス３１，３２の両方を使用してデータフレームが相手側に転送される。
【００４０】
冗長化されたシリアルバス３１，３２の双方に異常がなければ、左側の通常処理となり、ブロックＡで示す図５で説明したステップＳ２〜Ｓ５の処理が実行され、次の同期合わせ周期の処理に移行する。
【００４１】
冗長化されたシリアルバス３１，３２双方に異常があれば右側のエラー処理のステップＳ６及び復帰時のステップＳ７が実行された後に、ブロックＡで示す図５で説明したステップＳ２〜Ｓ５の処理が実行され、次の同期合わせ周期の処理に移行する。
【００４２】
ステップＳ１の処理後、第２コントローラ２０はエラーチェック手段２４，２５にてシリアル３１，３２バス毎に受信したデータフレームのチェックを実施し、正常であればレジスタ現レジスタ２６´，２７´にデータをセットする。
【００４３】
ステップＳ６では、何らかの影響によりエラーが発生した場合、現レジスタ２６´，２７´にデータを保持し、エラーチェック手段２４，２５のエラーフラグ２０１または２０２が立つ。両方のフラグが立てば、エラー識別データセット手段２０５が機能する。
【００４４】
エラー発生の検出手法については、タイマーを持たせ、タイマー設定時間が経過するまで、両シリアルバスで通信が遮断され正常フレームが受信できないときは、現レジスタ２６´，２７´をクリアし、相手側同期レジスタ２３にゼロ以外のあるエラー識別データがセットされることでソフトウェアがエラーを認識する。エラー識別データは、固定値またはエラー種別を識別できる値とする。その時点で、エラー直前の正常フレームデータが前レジスタ２０３，２０４に格納されている。
【００４５】
ステップＳ７では、エラーから復帰すれば、エラー識別手段２０５の機能が停止し、同時に前レジスタ２０３，２０４から現レジスタ２６´，２７´に正常フレームが送られる。以後、ブロックＡの通常処理ステップＳ２〜Ｓ５の処理を実行して次の同期合わせ処理に移行する。
【００４６】
前記ステップＳ６及びＳ７の処理は、第１コントローラ１０のフレームデータが第２コントローラ２０で正常受信されなかった場合を説明したが、第２コントローラ２０のフレームデータが第１コントローラ１０で正常受信されなかった場合にも対応する各要素の動作は同一である。
【００４７】
図３は、本発明を適用した冗長化制御システムの他の実施例を示す機能ブロック図である。第１コントローラ１０において、エラー発生時のフラグ１０１または１０２が立った場合に、エラー識別手段１０７によりエラー毎に異なるデータをエラー識別データセット手段１０５にセットし、このデータ値を、オアゲート１０６を介して相手側同期レジスタ１３にセットする。
【００４８】
同様に、第２コントローラ２０において、エラー発生時のフラグ２０１または２０２が立った場合に、エラー識別手段２０７によりエラー毎に異なるデータをエラー識別データセット手段２０５にセットし、このデータ値を、オアゲート２０６を介して相手側同期レジスタ２３にセットする。このような構成により、ソフトウェアがエラーの原因を認識できる機能を実現することができる。
【００４９】
図４は、本発明を適用した冗長化制御システムの更に他の実施例を示す機能ブロック図である。図１に示した実施例との相違点は、第１コントローラ１０において、現レジスタ１６´及び１７´と通信する前レジスタ１０３及び１０４に代えて、割り込みデータ送出手段１０７及び１０８を設けた構成にある。
【００５０】
同様に、第２コントローラ２０において、現レジスタ２６´及び２７´と通信する前レジスタ２０３及び２０４に代えて、割り込みデータ送出手段２０７及び２０８を設けた構成にある。
【００５１】
図５は、割り込みデータ送出手段１０７の構成例を示す機能ブロック図である。割り込みデータ送出手段１０７は、３重割込み発生までの対応として、４個の割り込み用レジスタＲ１，Ｒ２，Ｒ３，Ｒ４を備えている。他の割り込みデータ送出手段１０８，２０７，２０８の構成も同一である。
【００５２】
通常時、相手側コントローラから自側コントローラに正常フレームが送られてきたときには、コントローラ１０側では現レジスタ１６´，１７´に、コントローラ２０側では現レジスタ２６´，２７´にデータをセットするが、コントローラ１０側またはコントローラ２０側の割り込みデータ送出手段の第１の割り込み用レジスタＲ１にもデータがセットされる。割り込み発生時には、次の割り込みデータが割り込み用レジスタＲ２にセットされる。
【００５３】
２重割り込み発生時には、コントローラ１０側またはコントローラ２０側の割り込みデータ送出手段の割り込み用レジスタＲ３にも、３重割り込み発生時には割り込み用レジスタＲ４にまで割り込みデータがセットされる。
【００５４】
図６は、割り込みデータ送出手段の動作を説明するデータ構成図である。割り込みデータ送出手段は、シリアル両バスエラーからの復帰時に機能し、割り込み用レジスタＲ１，Ｒ２，Ｒ３，Ｒ４の各データＤ１，Ｄ２，Ｄ３，Ｄ４が、エラー復帰のタイミングに続けて１回だけ順番にコントローラ１０側では現レジスタ１６´，１７´に、コントローラ２０側では現レジスタ２６´，２７´に送出される。
【００５５】
このような割り込みデータの送出処理により、エラー発生直前の各同期レジスタの状態に戻り、リアルタイムに同期合わせ処理を再開することができる。
【００５６】
図５、図６に示した実施例では、３重割込み発生までの対応として、４個の割り込み用レジスタＲ１，Ｒ２，Ｒ３，Ｒ４を例示したが、さらに多重の割り込みに対応させてレジスタ数を増加させることも可能である。
【００５７】
以上説明した実施形態の冗長化制御システムでは、簡単のため第１コントローラ１０に対して１台の第２コントローラ２０による１：１の冗長化の形態を示したが、１台のコントローラに対して複数台のコントローラにより冗長化が行われる多重化システムでも、本発明を適用することが可能である。
【符号の説明】
【００５８】
１０  第１コントローラ
１１  プロセッサ
１２  自側同期レジスタ
１３  相手側同期レジスタ
１４、１５  エラーチェック手段
１６´、１７´  現レジスタ
１８  オアゲート
１０１、１０２  フラグ
１０３、１０４  前レジスタ
１０５  エラー識別データセット手段
１０６  オアゲート
１０７，１０８  割り込みデータ送出手段
２０  第２コントローラ
２１  プロセッサ
２２  自側同期レジスタ
２３  相手側同期レジスタ
２４、２５  エラーチェック手段
２６´、２７´  現レジスタ
２８  オアゲート
２０１、２０２  フラグ
２０３、２０４  前レジスタ
２０５  エラー識別データセット手段
２０６  オアゲート
２０７，２０８  割り込みデータ送出手段
３１、３２  シリアルバス
【図１】
2010191932.tif 000003
【図２】
2010191932.tif 000004
【図３】
2010191932.tif 000005
【図４】
2010191932.tif 000006
【図５】
2010191932.tif 000007
【図６】
2010191932.tif 000008
【図７】
2010191932.tif 000009
【図８】
2010191932.tif 000010