(57)【特許請求の範囲】
【請求項１】
ＣＰＵをそれぞれ有する第１の装置および第２の装置で同一の処理を並行して実行するとともに、前記第１の装置および前記第２の装置における処理結果を交換し合うことで前記処理結果を前記第１の装置および前記第２の装置において照合可能とするための通信経路を備える二重化処理装置において、
外部との通信により、前記第１の装置のためのプログラム書き換え用のプログラムを前記第１の装置に取得させる第１の書き換えプログラム取得手段と、
外部との通信により、前記第２の装置のためのプログラム書き換え用のプログラムを第１の装置および前記通信経路を介して前記第２の装置に取得させる第２の書き換えプログラム取得手段と、
を備え、
前記第１の装置および前記第２の装置は、それぞれにおける前記処理結果を前記通信経路を介して交換し合い、前記第１の装置および前記第２の装置のそれぞれにおける前記処理結果を照合して不一致の場合に異常と判断する照合手段を具備し、
前記第１の装置は、前記第１の書き換えプログラム取得手段により取得された、前記第１の装置のためのプログラム書き換え用のプログラムに従って、外部との通信により、前記第１の装置における前記処理の実行プログラムを取得し、
前記第２の装置は、前記第２の書き換えプログラム取得手段により取得された、前記第２の装置のためのプログラム書き換え用のプログラムに従って、外部との通信により、前記第１の装置および前記通信経路を介して前記第２の装置における前記処理の実行プログラムを取得することを特徴とする二重化処理装置。
【請求項２】
前記第１の書き換えプログラム取得手段は、前記第１の装置の作業用メモリに前記第１の装置のためのプログラム書き換え用のプログラムを書き込み、
前記第１の装置は、前記第１の装置の作業用メモリに書き込まれた前記第１の装置のためのプログラム書き換え用のプログラムに従って、前記第１の装置における前記処理の前記実行プログラムを取得することを特徴とする請求項１に記載の二重化処理装置。
【請求項３】
前記第２の書き換えプログラム取得手段は、前記第２の装置の作業用メモリに前記第２の装置のためのプログラム書き換え用のプログラムを書き込み、
前記第２の装置は、前記第２の装置の作業用メモリに書き込まれた前記第２の装置のためのプログラム書き換え用のプログラムに従って、前記第２の装置における前記処理の前記実行プログラムを取得することを特徴とする請求項１または２に記載の二重化処理装置。
【請求項４】
前記第１の書き換えプログラム取得手段は、前記第１の装置が前記第１の装置における前記処理を実行していないときに前記第１の装置のためのプログラム書き換え用のプログラムを書き込み、
前記第１の装置は、前記第１の装置が前記第１の装置における前記処理を実行していないときに、前記第１の装置のためのプログラム書き換え用のプログラムに従って、前記第１の装置における前記処理の前記実行プログラムを取得することを特徴とする請求項１〜３のいずれか１項に記載の二重化処理装置。
【請求項５】
前記第２の書き換えプログラム取得手段は、前記第２の装置が前記第２の装置における前記処理を実行していないときに前記第２の装置のためのプログラム書き換え用のプログラムを書き込み、
前記第２の装置は、前記第２の装置が前記第２の装置における前記処理を実行していないときに、前記第２の装置のためのプログラム書き換え用のプログラムに従って、前記第２の装置における前記処理の前記実行プログラムを取得することを特徴とする請求項１〜４のいずれか１項に記載の二重化処理装置。
【請求項６】
前記第１の装置および前記第２の装置は、互いに電気的に絶縁された状態にあることを特徴とする請求項１〜５のいずれか１項に記載の二重化処理装置。
【請求項７】
前記第１の装置および前記第２の装置における前記処理は、プラントの安全を図るための処理であることを特徴とする請求項１〜６のいずれか１項に記載の二重化処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵをそれぞれ有する第１の装置および第２の装置で同一の処理を並行して実行するとともに、前記第１の装置および前記第２の装置における処理結果を交換し合うことで前記処理結果を前記第１の装置および前記第２の装置において照合可能とするための通信経路を備える二重化処理装置に関する。
【背景技術】
【０００２】
ＣＰＵをそれぞれ有する第１の装置および第２の装置で同一の処理を並行して実行することで、処理の信頼性を向上させた安全計装システムが知られている（例えば、下記特許文献１〜３）。このシステムでは、第１の装置および第２の装置における処理結果を交換し合い、処理結果を第１の装置および第２の装置において照合している。照合の結果、両者が一致しなければ何らかの異常が生じたものとして、例えば、両者のデータをプラントの安全が確保される方向で一致させるなどの処理（データ等値化処理）を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２０９５２３号公報
【特許文献２】特開２００６−２０９５６５号公報
【特許文献３】特開２００６−２０９５９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、一般的にＣＰＵが動作するために必要なプログラムはＲＯＭに格納されており、ＣＰＵはＲＯＭに格納されたプログラムを読み出して動作する。プログラムの更新が必要となった場合には、ＲＯＭの書き換えが必要となるが、ＲＯＭ上の上記プログラムを使用した状態ではＲＯＭの書き換えができない。このため、プログラムを通常動作のモードからプログラムの書き換えモードに変更し、上位システムとの通信を介して新たなプログラム（通常動作モード用のプログラム）をＲＯＭに書き込んでいる。
【０００５】
しかし、上記二重化装置において、同様の手順でプログラムの更新を行う場合には、２つのＣＰＵ（マスターＣＰＵおよびスレーブＣＰＵ）のそれぞれについて上位システムとの通信が必要となり、それぞれについて通信インタフェースが必要となってコストアップを招く。とくに、マスターＣＰＵとスレーブＣＰＵとが電気的に絶縁されている場合には、通信インタフェースに使用されるバス信号の伝送経路にフォトカプラなどの高価な絶縁結合素子が必要となる。
【０００６】
本発明の目的は、コストを抑制しつつプログラムの書き換えを可能とする二重化処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の二重化処理装置は、ＣＰＵをそれぞれ有する第１の装置および第２の装置で同一の処理を並行して実行するとともに、前記第１の装置および前記第２の装置における処理結果を交換し合うことで前記処理結果を前記第１の装置および前記第２の装置において照合可能とするための通信経路を備える二重化処理装置において、外部との通信により、前記第１の装置のためのプログラム書き換え用のプログラムを前記第１の装置に取得させる第１の書き換えプログラム取得手段と、外部との通信により、前記第２の装置のためのプログラム書き換え用のプログラムを第１の装置および前記通信経路を介して前記第２の装置に取得させる第２の書き換えプログラム取得手段と、を備え、前記第１の装置および前記第２の装置は、それぞれにおける前記処理結果を前記通信経路を介して交換し合い、前記第１の装置および前記第２の装置のそれぞれにおける前記処理結果を照合して不一致の場合に異常と判断する照合手段を具備し、前記第１の装置は、前記第１の書き換えプログラム取得手段により取得された、前記第１の装置のためのプログラム書き換え用のプログラムに従って、外部との通信により、前記第１の装置における前記処理の実行プログラムを取得し、前記第２の装置は、前記第２の書き換えプログラム取得手段により取得された、前記第２の装置のためのプログラム書き換え用のプログラムに従って、外部との通信により、前記第１の装置および前記通信経路を介して前記第２の装置における前記処理の実行プログラムを取得することを特徴とする。
この二重化処理装置によれば、第２の装置のためのプログラム書き換え用のプログラムおよび前記第２の装置における前記処理の実行プログラムを、第１の装置を介して取得するので、コストを抑制しつつプログラムの書き換えを可能とすることができる。
【０００８】
前記第１の書き換えプログラム取得手段は、前記第１の装置の作業用メモリに前記第１の装置のためのプログラム書き換え用のプログラムを書き込み、前記第１の装置は、前記第１の装置の作業用メモリに書き込まれた前記第１の装置のためのプログラム書き換え用のプログラムに従って、前記第１の装置における前記処理の前記実行プログラムを取得してもよい。
【０００９】
前記第２の書き換えプログラム取得手段は、前記第２の装置の作業用メモリに前記第２の装置のためのプログラム書き換え用のプログラムを書き込み、前記第２の装置は、前記第２の装置の作業用メモリに書き込まれた前記第２の装置のためのプログラム書き換え用のプログラムに従って、前記第２の装置における前記処理の前記実行プログラムを取得してもよい。
【００１０】
前記第１の書き換えプログラム取得手段は、前記第１の装置が前記第１の装置における前記処理を実行していないときに前記第１の装置のためのプログラム書き換え用のプログラムを書き込み、前記第１の装置は、前記第１の装置が前記第１の装置における前記処理を実行していないときに、前記第１の装置のためのプログラム書き換え用のプログラムに従って、前記第１の装置における前記処理の前記実行プログラムを取得してもよい。
【００１１】
前記第２の書き換えプログラム取得手段は、前記第２の装置が前記第２の装置における前記処理を実行していないときに前記第２の装置のためのプログラム書き換え用のプログラムを書き込み、前記第２の装置は、前記第２の装置が前記第２の装置における前記処理を実行していないときに、前記第２の装置のためのプログラム書き換え用のプログラムに従って、前記第２の装置における前記処理の前記実行プログラムを取得してもよい。
【００１２】
前記第１の装置および前記第２の装置は、互いに電気的に絶縁された状態にあってもよい。
【００１３】
前記第１の装置および前記第２の装置における前記処理は、プラントの安全を図るための処理であってもよい。
【発明の効果】
【００１４】
本発明の二重化処理装置によれば、第２の装置のためのプログラム書き換え用のプログラムおよび前記第２の装置における前記処理の実行プログラムを、第１の装置を介して取得するので、コストを抑制しつつプログラムの書き換えを可能とすることができる。
【図面の簡単な説明】
【００１５】
【図１】一実施形態の二重化処理装置の構成を示すブロック図。
【図２】処理実行プログラムの更新動作を示す図であり、（ａ）はマスターＣＰＵの作業用メモリ書き換えの手順を示す図、（ｂ）はスレーブＣＰＵの作業用メモリ書き換えの手順を示す図。
【図３】処理実行プログラムの更新動作を示す図であり、（ａ）はマスターＣＰＵ側のフラッシュＲＯＭ書き換えの手順を示す図、（ｂ）はスレーブＣＰＵ側のフラッシュＲＯＭ書き換えの手順を示す図。
【図４】複数のスレーブＣＰＵを備える二重化処理装置を示すブロック図。
【発明を実施するための形態】
【００１６】
以下、本発明による二重化処理装置の実施形態について説明する。本実施形態は、本発明による二重化処理装置を、プラントの安全を図るためのシャットダウン等の処理を行うための安全計装システムの構成要素（例えば、コントローラ）に適用したものである。
【００１７】
図１は、本実施形態の二重化処理装置の構成を示すブロック図である。
【００１８】
図１に示すように、二重化処理装置１０は、安全計装システムとしての動作の一部を担う同一処理を並行して実行するマスターＣＰＵ１ＡおよびスレーブＣＰＵ１Ｂを備える。
【００１９】
図１に示すように、プラントの安全を図るためのシャットダウン等の処理を行う際の通常動作時には、マスターＣＰＵ１Ａは作業用メモリ２Ａとの間でデータのやり取りを実行しながら上記処理を実行する。また、フラッシュＲＯＭ３Ａには、上記処理を実行するための処理実行プログラムが格納され、マスターＣＰＵ１Ａは、この処理実行プログラムに従って、上記処理を実行する。
【００２０】
同様に、通常動作時には、スレーブＣＰＵ１Ｂは作業用メモリ２Ｂとの間でデータのやり取りを実行しながら上記処理を実行する。また、フラッシュＲＯＭ３Ｂには、上記処理を実行するための処理実行プログラムが格納され、スレーブＣＰＵ１Ｂは、この処理実行プログラムに従って、上記処理を実行する。
【００２１】
また、マスターＣＰＵ１ＡおよびスレーブＣＰＵ１Ｂは、ＵＡＲＴ通信により互いのデータ（上記処理に用いるデータおよび上記処理の結果得られたデータを含む）を交換し合いながら、上記処理を順次、実行する。また、双方のデータをそれぞれのＣＰＵにおいて照合する。両データが一致しない場合には、マスターＣＰＵ１ＡおよびスレーブＣＰＵ１Ｂは、何らかの異常等が発生したものと判断して、両者のデータをプラントの安全が確保される方向で一致させるなどの処理（データ等値化処理）を実行する。また、必要な場合には、シャットダウン等の処理を実行する。このような２つのＣＰＵによる二重化処理により、二重化処理装置１０では極めて高度の信頼性をもった動作が担保される。
【００２２】
また、マスターＣＰＵ１ＡおよびスレーブＣＰＵ１Ｂは、ＵＡＲＴ通信により現在実行している処理のステージを通知し合うことで、互いに同期した動作が可能とされている。
【００２３】
このようなＣＰＵ間の通信に基づく動作は、特開２００６−２０９５２３号公報、特開２００６−２０９５６５号公報および特開２００６−２０９５９３号公報に詳細に開示されている。
【００２４】
次に、二重化処理装置１０における処理実行プログラムの更新動作について説明する。処理実行プログラムの更新時には、以下の手順による処理が順次実行される。
【００２５】
（１）モード変更
マスターＣＰＵ１ＡおよびスレーブＣＰＵ１Ｂは、自らの動作モードを、上記処理を実行している通常動作モードからプログラムの書き換えモードに切り替える。モードの切り替えは、例えば、上位システムからマスターＣＰＵ１Ａへの指令に基づいて実行され、この場合、ＵＡＲＴ通信を介して上記指令がスレーブＣＰＵ１Ｂへ伝送される。マスターＣＰＵ１ＡおよびスレーブＣＰＵ１Ｂにおけるモードの切り替え処理は、それぞれのフラッシュＲＯＭ３Ａ，３Ｂに格納された処理実行プログラムに記述され、マスターＣＰＵ１ＡおよびスレーブＣＰＵ１Ｂはそれぞれの処理実行プログラムに従ってモードの切り替えを実行する。
【００２６】
（２）マスターＣＰＵの作業用メモリ書き換え
図２（ａ）に示すように、マスターＣＰＵ１Ａは、上位システムとの通信に基づき、上位システムから自らのＲＯＭ書き換え用のプログラムを取得し、作業用メモリ２Ａに書き込む。この処理手順もフラッシュＲＯＭ３Ａの処理実行プログラムに記述されており、マスターＣＰＵ１Ａはこの処理実行プログラムに従って、ＲＯＭ書き換え用のプログラムの書き込みを行う。
【００２７】
（３）スレーブＣＰＵの作業用メモリ書き換え
図２（ｂ）に示すように、マスターＣＰＵ１Ａは上位システムとの通信に基づき、上位システムからスレーブＣＰＵ１ＢのためのＲＯＭ書き換え用のプログラムを取得し、ＵＡＲＴ通信を介してスレーブＣＰＵ１Ｂに向けてこのＲＯＭ書き換え用のプログラムを転送する。このＲＯＭ書き換え用のプログラムの取得、転送処理はフラッシュＲＯＭ３Ａの処理実行プログラムに記述されており、マスターＣＰＵ１Ａはこの処理実行プログラムに従ってＲＯＭ書き換え用のプログラムを取得、転送する。一方、スレーブＣＰＵ１Ｂは、ＵＡＲＴ通信を介して転送されてきたＲＯＭ書き換え用のプログラムを受信し、作業用メモリ２Ｂに書き込む。このＲＯＭ書き換え用のプログラムの受信、書き込み処理はフラッシュＲＯＭ３Ｂの処理実行プログラムに記述されており、スレーブＣＰＵ１Ｂはこの処理実行プログラムに従ってＲＯＭ書き換え用のプログラムを受信し、これを作業用メモリ２Ｂに書き込む。
【００２８】
なお、上記（２）および（３）の手順は、順序が逆転しても構わない。
【００２９】
（４）マスターＣＰＵ側のフラッシュＲＯＭ書き換え
図３（ａ）に示すように、マスターＣＰＵ１Ａは、作業用メモリ２Ａに格納されているＲＯＭ書き換え用のプログラムを起動させて、このＲＯＭ書き換え用のプログラムに従って、上位システムとの通信に基づき、上位システムから自らの新たな処理実行プログラムを取得し、フラッシュＲＯＭ３Ａに書き込む。これにより処理実行プログラムが更新される。
【００３０】
（５）スレーブＣＰＵ側のフラッシュＲＯＭ書き換え
図３（ｂ）に示すように、スレーブＣＰＵ１Ｂは、作業用メモリ２Ｂに格納されているＲＯＭ書き換え用のプログラムを起動させて、このＲＯＭ書き換え用のプログラムに従って、上位システムから自らの新たな処理実行プログラムを取得し、これをフラッシュＲＯＭ３Ｂに書き込む。これにより処理実行プログラムが更新される。この処理手順において必要となる、上位システムとの通信に基づく処理実行プログラムの取得処理、および取得された処理実行プログラムをＵＡＲＴ通信によりスレーブＣＰＵ１Ｂに転送する処理は、作業用メモリ２Ａに格納されているＲＯＭ書き換え用のプログラムに記述され、マスターＣＰＵ１Ａは、このＲＯＭ書き換え用のプログラムに従って、これらの処理を実行する。また、ＵＡＲＴ通信により転送されてきた上記処理実行プログラムを取得しフラッシュＲＯＭ３Ｂに書き込む処理は、作業用メモリ２Ｂに格納されているＲＯＭ書き換え用のプログラムに記述され、スレーブＣＰＵ１Ｂは、このＲＯＭ書き換え用のプログラムに従って、これらの処理を実行する。
【００３１】
なお、上記（４）および（５）の手順は、順序が逆転しても構わない。
【００３２】
（６）再起動
フラッシュＲＯＭへの書き込み終了後、リセットや再通電を行い、新たな処理実行プログラムに従った通常動作モードの再起動を行う。この処理は、フラッシュＲＯＭ３ＡおよびフラッシュＲＯＭ３Ｂに格納された新たな処理実行プログラムに記述され、これらのプログラムに従ってマスターＣＰＵ１ＡおよびスレーブＣＰＵ１Ｂにより実行される。手動操作により指示を受けて再起動の処理を実行してもよい。以降、通常動作モードでの動作に移行し、ＲＯＭ書き換え用のプログラムが格納されていた作業用メモリの記憶領域は、通常動作のための作業領域として開放される。
【００３３】
以上のように、本実施形態の二重化処理装置によれば、ＵＡＲＴ通信を利用することで、マスターＣＰＵを介して上位システムからスレーブＣＰＵにＲＯＭ書き換え用のプログラムを取得させるとともに、マスターＣＰＵを介して上位システムからスレーブＣＰＵに処理実行プログラムを取得させている。このため、上位システムとスレーブＣＰＵ間での通信インタフェースが不要となり、コストダウンを図ることができる。とくに、図１に示すように、マスターＣＰＵとスレーブＣＰＵとの間に絶縁境界が設けられ、両者が電気的に絶縁されている場合には、スレーブＣＰＵと上位システムとの通信を可能とするためには一層コストがかかる。したがって、両ＣＰＵが絶縁されている場合に本実施形態の構成はとくに効果的となる。また、本実施形態に示す方法でプログラムを転送することにより、従来の二重化装置のハードウェア構成（ＵＡＲＴ通信等）を有効に利用できる。
【００３４】
また、本実施形態の二重化処理装置によれば、ＲＯＭ書き換え用のプログラムを作業用メモリに一時的に格納しているので、ＲＯＭ書き換え用のプログラムのためのメモリ容量を必要とせず、記憶媒体の資源を有効に利用できる。
【００３５】
なお、上記実施形態では、ＣＰＵ間の通信にＵＡＲＴ通信を利用する例を示したが、通信方式はこれに限定されない。
【００３６】
図４は、複数のスレーブＣＰＵを備える二重化処理装置を示すブロック図である。
【００３７】
図４に示すように、この二重化処理装置は、スレーブＣＰＵ１Ｂ，１Ｃ，・・・を備え、それぞれのＣＰＵに対応する作業用メモリ２Ｂ，２Ｃ，・・・およびフラッシュＲＯＭ３Ｂ，３Ｃ，・・・が設けられている。このように、スレーブＣＰＵが複数ある場合には、複数のスレーブＣＰＵに対し、マスターＣＰＵ１Ａを介して同時にＲＯＭ書き換え用のプログラム、あるいは処理実行プログラムを、それぞれ同時に転送することも可能である。図１の場合と同様、図４に示す構成においても、本発明による二重化処理装置は、ＣＰＵ間が電気的に絶縁されている場合にとくにコスト面での効果が大きい。
【００３８】
本発明の適用範囲は上記実施形態に限定されることはない。本発明は、ＣＰＵをそれぞれ有する第１の装置および第２の装置で同一の処理を並行して実行するとともに、前記第１の装置および前記第２の装置における処理結果を交換し合うことで前記処理結果を前記第１の装置および前記第２の装置において照合可能とするための通信経路を備える二重化処理装置に対し、広く適用することができる。
【符号の説明】
【００３９】
１Ａ    マスターＣＰＵ（ＣＰＵ、第１の書き換えプログラム取得手段、第２の書き換えプログラム取得手段）
１Ｂ    スレーブＣＰＵ（ＣＰＵ、第２の書き換えプログラム取得手段）
２Ａ，２Ｂ  作業用メモリ
【図１】
0005641181.tif 000002
【図２】
0005641181.tif 000003
【図３】
0005641181.tif 000004
【図４】
0005641181.tif 000005