(57)【要約】【課題】縮退運転時に処理を滞りなく実行し続けることができる三重化並列処理装置および並列処理方法を提供する。【解決手段】三重化並列処理装置は、３つの処理演算部と通信判定部とを備える。３つの処理演算部は、監視装置または下位装置から取得した情報に応じて、各々が並列して処理を実行する。通信判定部は、監視装置と通信を行う。３つの処理演算部の各々は、優先順位が割り振られている。通信判定部は、３つの処理演算部のうちの２つの処理演算部のみが稼働する縮退運転時であって、当該２つの処理演算部の各々から処理結果を取得した場合において、当該２つの処理演算部の各々からの処理結果が一致するか否かを判定し、当該２つの処理演算部の各々からの処理結果が不一致の場合には、当該２つの処理演算部のうち、優先順位の高い処理演算部による処理結果を監視装置に送信する。【選択図】図２
2020197825.tif 000002
【特許請求の範囲】
【請求項１】
監視装置または下位装置から取得した情報に応じて、各々が並列して処理を実行する３つの処理演算部と、
前記監視装置と通信を行う通信判定部と、
を備え、
前記３つの処理演算部の各々は、
優先順位が割り振られ、
前記通信判定部は、
前記３つの処理演算部のうちの２つの前記処理演算部のみが稼働する縮退運転時であって、該２つの処理演算部の各々から処理結果を取得した場合において、該２つの処理演算部の各々からの前記処理結果が一致するか否かを判定し、該２つの処理演算部の各々からの前記処理結果が不一致の場合には、該２つの処理演算部のうち、前記優先順位の高い前記処理演算部による前記処理結果を前記監視装置に送信する、三重化並列処理装置。
【請求項２】
前記通信判定部は、前記縮退運転時において、前記２つの処理演算部の各々の処理結果が不一致となった回数をカウントし、該回数が閾値以上となった場合には、前記２つの処理演算部のうちの少なくとも一方に異常を通知する、請求項１に記載の三重化並列処理装置。
【請求項３】
前記通信判定部は、前記縮退運転時において、前記２つの処理演算部の各々の処理結果が不一致となった回数をカウントし、該回数が閾値以上となった場合には、前記２つの処理演算部のうちの前記優先順位の低い前記処理演算部に異常を通知する、請求項１または請求項２に記載の三重化並列処理装置。
【請求項４】
前記処理演算部は、前記通信判定部から異常を通知された場合には、動作を停止する、請求項２または請求項３に記載の三重化並列処理装置。
【請求項５】
前記通信判定部は、前記縮退運転時において、前記２つの処理演算部のうちの一方から処理結果を取得した場合であって、該処理結果の取得以降であって予め定められた時間以内に、該２つの処理演算部のうちの他方から処理結果を取得した場合には、該２つの処理演算部のうちの一方からの前記処理結果と、該２つの処理演算部のうちの他方からの前記処理結果とが一致するか否かを判定する、請求項１〜請求項４のいずれか一項に記載の三重化並列処理装置。
【請求項６】
監視装置または下位装置から取得した情報に応じて、各々が並列して処理を実行する３つの処理演算部を備える三重化並列処理装置により実行される並列処理方法であって、
前記３つの処理演算部のうちの２つの前記処理演算部のみが稼働する縮退運転時において、該２つの処理演算部の各々の処理結果が一致するか否かを判定するステップと、
該２つの処理演算部の各々の処理結果が不一致の場合には、該２つの処理演算部に割り当てられた優先順位に基づいて、前記処理結果を前記監視装置に送信するステップと、
を含む並列処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三重化された処理演算機能によって並列処理を行う三重化並列処理装置、および当該三重化並列処理装置が縮退運転時に実行する並列処理方法に関するものである。
【背景技術】
【０００２】
従来から、種々の処理を行う処理演算部を三重化し、これらの処理演算部によって並列処理を実行する三重化並列処理装置が知られている。当該三重化並列処理装置として、例えば、特許文献１には、処理演算部に対応するコントローラであって、制御のための演算処理などを行うコントローラを三重化して含む多重化並列処理装置が記載されている。当該多重化並列処理装置は、これらのコントローラによって並列処理を実行する。
【０００３】
このような三重化並列処理装置は、３つの処理演算部の処理結果のうち、多数決によって定まる処理結果を採用する場合が多い。また、このような三重化並列処理装置においては、１つの処理演算部に故障等の異常が生じた場合には、交換までの間、残りの２つの処理演算部による縮退運転が実行される場合も少なくない。この場合において、２つの処理演算部の各々の処理結果が同一であれば、当該処理結果が採用される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１４０７０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、何らかの要因によって２つの処理演算部の各々による処理結果が異なる場合も生じうる。この場合、多数決によっては、いずれの処理結果も採用できず、三重化並列処理装置の動作が停止してしまう虞もある。このような場合での三重化並列処理装置の復旧作業においては、データベースの再ロードまたはパラメータの再設定等の処理が必要になる場合もある。そして、このために時間が費やされてしまうことによって、三重化並列処理装置による処理が滞ってしまう虞もある。
【０００６】
本発明は、上記課題を解決するためになされたものであり、縮退運転時に処理を滞りなく実行し続けることができる三重化並列処理装置および並列処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る三重化並列処理装置は、監視装置または下位装置から取得した情報に応じて、各々が並列して処理を実行する３つの処理演算部と、前記監視装置と通信を行う通信判定部と、を備え、前記３つの処理演算部の各々は、優先順位が割り振られ、前記通信判定部は、前記３つの処理演算部のうちの２つの前記処理演算部のみが稼働する縮退運転時であって、該２つの処理演算部の各々から処理結果を取得した場合において、該２つの処理演算部の各々からの前記処理結果が一致するか否かを判定し、該２つの処理演算部の各々からの前記処理結果が不一致の場合には、該２つの処理演算部のうち、前記優先順位の高い前記処理演算部による前記処理結果を前記監視装置に送信する。
【０００８】
本発明に係る並列処理方法は、監視装置または下位装置から取得した情報に応じて、各々が並列して処理を実行する３つの処理演算部を備える三重化並列処理装置により実行される並列処理方法であって、前記３つの処理演算部のうちの２つの前記処理演算部のみが稼働する縮退運転時において、該２つの処理演算部の各々の処理結果が一致するか否かを判定するステップと、該２つの処理演算部の各々の処理結果が不一致の場合には、該２つの処理演算部に割り当てられた優先順位に基づいて、前記処理結果を前記監視装置に送信するステップと、を含む。
【発明の効果】
【０００９】
本発明に係る三重化並列処理装置および並列処理方法によれば、三重化並列処理装置に含まれて並列処理を実行する３つの処理演算部は、優先順位が割り振られ、通信判定部は、２つの処理演算部のみが稼働する縮退運転時において、当該２つの処理演算部の各々から取得した処理結果が不一致の場合には、優先順位の高い処理演算部による処理結果を監視装置に送信する。これにより、三重化並列処理装置は、縮退運転時においても処理を滞りなく実行し続けることができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態に係る三重化並列処理装置の機能ブロックの一例を示す図である。
【図２】実施の形態に係る三重化並列処理装置によって、２つの処理演算部のみが稼働する縮退運転時に実行される並列処理方法を例示するフローチャートである。
【発明を実施するための形態】
【００１１】
実施の形態．
以下、実施の形態を図面に基づいて説明する。図１は、実施の形態に係る三重化並列処理装置の機能ブロックの一例を示す図である。三重化並列処理装置１は、例えば、プラント内における各機器のプロセス制御を行うプロセスコントローラである。三重化並列処理装置１による制御の対象となる機器を下位装置２と以下では記載する。三重化並列処理装置１は、下位装置２の動作を監視する監視装置３と接続されており、監視装置３からの指示を受信し、当該指示に応じて処理を実行する。本実施の形態に係る三重化並列処理装置１は、２つの第１通信判定部１０、２つの第２通信判定部１１、および３つの処理演算部１２を備える。
【００１２】
第１通信判定部１０は、有線ＬＡＮ（Local Area Network）または無線ＬＡＮ等を介して監視装置３と通信を行う。なお、監視装置３は冗長化されており、２つの第１通信判定部１０の各々は、複数の監視装置３との間で情報の授受を行う。本実施の形態においては、２つの第１通信判定部１０の各々は、２つの監視装置３との間で情報の授受を行う。本実施の形態では、平常時において２つの第１通信判定部１０のうちの一方が、２つの監視装置３と通信するとし、当該一方の第１通信判定部１０に異常が発生した場合において、他方の第１通信判定部１０が監視装置３と通信を開始する。ただし、これに限定されず、２つの第１通信判定部１０が、２つの監視装置３と同時に通信してもよいし、２つの第１通信判定部１０のうちの一方が、２つの監視装置３のうちの一方と通信し、２つの第１通信判定部１０のうちの他方が、２つの監視装置３のうちの他方と通信してもよい。なお、第１通信判定部１０は、通信判定部の一例である。
【００１３】
第２通信判定部１１は、制御信号を伝達するための信号線により下位装置２と接続され、下位装置２に対し制御信号を送信し、下位装置２から制御または監視等のための情報を受信する。２つの第２通信判定部１１は、それぞれ複数の下位装置２と接続されている。本実施の形態では、２つの第２通信判定部１１のうち、通常時は一方の第２通信判定部１１が複数の下位装置２と通信し、当該第２通信判定部１１に異常が発生した場合において、他方の第２通信判定部１１が複数の下位装置２と通信を開始する。ただし、これに限定されず、２つの第２通信判定部１１は、それぞれ複数の下位装置２の全部または一部と通信してもよい。また、２つの第２通信判定部１１のうちの一方は、複数の下位装置２のうちの一部の下位装置２と通信し、他方は、当該一部の下位装置２以外の下位装置２と通信してもよい。
【００１４】
３つの処理演算部１２は、それぞれ、監視装置３からの指示または下位装置２から取得した情報に応じて、並列して処理を実行する。監視装置３からの指示としては、例えば、三重化並列処理装置１に対する情報の要求、下位装置２への動作の指示、下位装置２の動作内容を示す情報の要求、または下位装置２による計測結果の要求等が挙げられる。下位装置２からの情報としては、例えば、下位装置２の動作内容を示す情報、または下位装置２による計測結果等が挙げられる。
【００１５】
３つの処理演算部１２は、処理結果を第１通信判定部１０または第２通信判定部１１に出力する。処理結果が、例えば、監視装置３からの要求に応答するものである場合には、３つの処理演算部１２は、第１通信判定部１０へ当該処理結果を出力する。処理結果が、例えば、下位装置２への制御信号に対応する情報である場合には、３つの処理演算部１２は、第２通信判定部１１へ当該処理結果を出力する。
【００１６】
第１通信判定部１０は、３つの処理演算部１２から処理結果を取得した場合には、多数決によって選択した処理結果を監視装置３へ送信する。すなわち、第１通信判定部１０は、３つの処理演算部１２の各々からの処理結果のうち、２つ以上が同一である場合において、その同一の処理結果を監視装置３へ送信する。これによって、三重化並列処理装置１は、３つの処理演算部１２のいずれかに異常が発生した場合でも、より安全またはより的確な情報を監視装置３に対して提供することができる。
【００１７】
第２通信判定部１１は、３つの処理演算部１２から処理結果を取得した場合には、多数決によって選択した処理結果に対応する制御信号を下位装置２へ送信する。すなわち、第２通信判定部１１は、３つの処理演算部１２の各々からの処理結果のうち、２つ以上が同一である場合において、その同一の処理結果に対応する制御信号を下位装置２へ送信する。これによって、三重化並列処理装置１は、３つの処理演算部１２のいずれかに異常が発生した場合でも、より安全またはより的確に下位装置２を制御することができる。
【００１８】
ここで、３つの処理演算部１２のうち１つの処理演算部１２が故障するなどし、残りの２つの処理演算部１２を用いて三重化並列処理装置１が縮退運転を実行する場合には、上記多数決による処理結果の選択と送信には、以下の問題が生じる可能性がある。まず、２つの処理演算部１２の各々からの処理結果が異なる場合には、第１通信判定部１０および第２通信判定部１１は、処理結果を多数決によって選択することができない。すると第１通信判定部１０は、監視装置３に対して情報を送信することができず、第２通信判定部１１は、下位装置２に制御信号を送信することができなくなる。これにより、三重化並列処理装置１、下位装置２、または監視装置３等の処理が滞ってしまう。また、第１通信判定部１０または第２通信判定部１１が、２つの処理演算部１２に対して異常を通知することによって、２つの処理演算部１２が処理を停止する虞もある。この場合には、三重化並列処理装置１による制御が継続できなくなり、また復旧のための作業に時間がかかる可能性もある。上記問題を回避するため、第１通信判定部１０および処理演算部１２等は、以下の構成を備える。
【００１９】
３つの処理演算部１２の各々は、予め優先順位が割り振られている。本実施の形態においては、三重化並列処理装置１は、モジュールを装着するためのスロットを有する筐体を備え、各処理演算部１２はモジュール化されている。各スロットには一意的なスロット番号が与えられている。そして本実施の形態において３つの処理演算部１２の各々は、当該筐体における３つのスロットの各々に装着され、スロット番号がより小さいスロットに装着されている処理演算部１２の優先順位がより高いとする。
【００２０】
第１通信判定部１０は、上述の縮退運転時において、稼働中の２つの処理演算部１２の各々から取得した処理結果が一致するか否かを判定する。第１通信判定部１０は、当該２つの処理演算部１２の各々からの処理結果が一致する場合には、当該処理結果を監視装置３へ送信する。第１通信判定部１０は、２つの処理演算部１２の各々からの処理結果が一致しない場合には、優先順位の高い処理演算部１２からの処理結果を監視装置３へ送信する。
【００２１】
第１通信判定部１０は、上述の縮退運転時において、稼働中の２つの処理演算部１２の各々からの処理結果が不一致となった回数をカウントする。第１通信判定部１０は、当該回数が閾値以上となった場合には、稼働中の２つの処理演算部１２の少なくとも一方に異常を通知する。本実施の形態における第１通信判定部１０は、優先順位の低い処理演算部１２に異常を通知する。なお、上記閾値は、例えば５である。異常を通知された処理演算部１２は、動作を停止する。
【００２２】
第１通信判定部１０は、２つの処理演算部１２の各々から取得した処理結果が一致するか否かの判定において、２つの処理演算部１２の各々から同時に取得した処理結果のみを用いるとは限らない。第１通信判定部１０は、一方の処理演算部１２から処理結果を取得してから予め定められた時間以内に他方の処理演算部１２から取得した処理結果を用いて、上記判定を行う。
【００２３】
この理由は、処理演算部１２の処理の遅延または誤動作等により、第１通信判定部１０が２つの処理演算部１２から同時に同じ処理の処理結果を取得できるとは限らないからである。第１通信判定部１０が、２つの処理演算部１２から同時に得た処理結果のみを判定に用いる場合、第１通信判定部１０は、一方の処理演算部１２から処理結果を得た後に、当該処理結果と一致する処理結果を他方の処理演算部１２から得たとしても、２つの処理演算部１２からの処理結果が不一致であるものとしてカウントしてしまう可能性がある。そしてこれにより、２つの処理演算部１２からの処理結果が不一致であるとしてカウントされる回数が無駄に大きくなってしまい、処理演算部１２は、異常がない場合であっても、第１通信判定部１０より異常が通知されることとなり、動作を停止してしまう虞がある。このため、第１通信判定部１０による、２つの処理演算部１２の各々の処理結果が一致するか否かの判定における処理結果の取得には、予め定められた時間の分のずれが認められている。当該予め定められた時間は、例えば、処理演算部１２が各処理にかける処理時間または各処理の時間的な周期等により定められてもよい。当該予め定められた時間は、例えば１０秒である。
【００２４】
なお、本実施の形態においては、第２通信判定部１１は、縮退運転時における稼働中の２つの処理演算部１２の処理結果が不一致の場合には、２つの処理演算部１２の各々の処理結果に対応する制御信号を下位装置２に送信しない。その理由は、例えば、プラントにおける下位装置２に対しては、多くの場合、的確で信頼性に足る制御信号の送信が求められるからである。ただし、第２通信判定部１１による処理は、これに限定されない。第２通信判定部１１は、２つの処理演算部１２の処理結果が不一致の場合には、優先順位の低い処理演算部１２など、２つの処理演算部１２のうちの少なくとも１つに対して異常を通知してもよい。
【００２５】
実施の形態に係る三重化並列処理装置１は、例えば、ＣＰＵ（Central Processing Unit）またはＭＰＵ（Micro Processing Unit）等のプロセッサ、ＲＯＭ（Read Only Memory）またはＲＡＭ（Random Access Memory）等のメモリ、および通信インターフェース回路等によって構成可能である。処理演算部１２の機能は、プロセッサが、メモリに記憶されている各種プログラムを読み出して実行することにより実現することができる。第１通信判定部１０および第２通信判定部１１の各機能は、プロセッサが、メモリに記憶されている各種プログラムを読み出して実行し、通信インターフェース回路と協働することによって実現できる。三重化並列処理装置１は、その全部または一部を専用のハードウェアとしてもよい。
【００２６】
図２は、実施の形態に係る三重化並列処理装置によって、２つの処理演算部のみが稼働する縮退運転時に実行される並列処理方法を例示するフローチャートである。ステップＳ１において第１通信判定部１０は、稼働中の２つの処理演算部１２の各々による処理結果が不一致である回数として０を格納する。
【００２７】
ステップＳ２において第１通信判定部１０は、稼働中の２つの処理演算部１２から処理結果を取得しない間（ステップＳ２：ＮＯ）、処理結果を待機、または他の処理を実行するなどする。なお、ステップＳ２において、処理演算部１２が１以上の処理を実行するために割り当てられている上限の処理時間以内に、第１通信判定部１０が、少なくとも一方の処理演算部１２から、１つも処理結果を取得できなかった場合には、第１通信判定部１０はエラー処理を行ってもよい。例えば、第１通信判定部１０は、上記上限の処理時間以内に１つも処理結果を出力しなかった処理演算部１２に異常がある旨を、例えば監視装置３に通知してもよい。第１通信判定部１０は、ステップＳ２において、稼働中の２つの処理演算部１２から処理結果を取得した場合には（ステップＳ２：ＹＥＳ）、ステップＳ３においてこれらの処理結果が一致するか否かを判定する。これらの処理結果が一致する場合には（ステップＳ３：ＹＥＳ）、ステップＳ４において第１通信判定部１０は、当該処理結果を監視装置３へ送信する。
【００２８】
２つの処理結果が一致しない場合には（ステップＳ３：ＮＯ）、ステップＳ５において第１通信判定部１０は、ステップＳ２において一方の処理演算部１２から処理結果を取得した時点から予め定められた時間以内に、当該処理結果と同一の処理結果を、他方の処理演算部１２から取得したか否かを判定する。第１通信判定部１０は、一方の処理演算部１２から処理結果を取得した時点から予め定められた時間以内に、他方の処理演算部１２から、当該処理結果と同一の処理結果を取得した場合には（ステップＳ５：ＹＥＳ）、ステップＳ４において当該処理結果を監視装置３へ送信する。第１通信判定部１０は、一方の処理演算部１２から処理結果を取得した時点から予め定められた時間以内に、他方の処理演算部１２から、当該処理結果と同一の処理結果を取得しなかった場合には（ステップＳ５：ＮＯ）、ステップＳ６において優先順位の高い処理演算部１２からの処理結果を監視装置３へ送信する。
【００２９】
ステップＳ７において第１通信判定部１０は、２つの処理演算部１２の各々による処理結果が不一致である回数として格納している数に対して１を加算する。ステップＳ８において第１通信判定部１０は、２つの処理演算部１２の各々による処理結果が不一致である回数が、閾値以上か否かを判定する。当該回数が閾値未満の場合には（ステップＳ８：ＮＯ）、第１通信判定部１０は、処理をステップＳ２へ戻す。当該回数が閾値以上の場合には（ステップＳ８：ＹＥＳ）、ステップＳ９において第１通信判定部１０は、２つの処理演算部１２のうちの少なくとも１つ、例えば、優先順位の低い処理演算部１２に対して異常を通知する。このときに第１通信判定部１０は、監視装置３に対して、処理演算部１２の異常について通知してもよい。
【００３０】
実施の形態に係る三重化並列処理装置１は、３つの処理演算部１２と第１通信判定部１０とを備える。３つの処理演算部１２は、監視装置３または下位装置２から取得した情報に応じて、それぞれ並列して処理を実行する。第１通信判定部１０は、監視装置３と通信を行う。３つの処理演算部１２の各々は、優先順位が割り振られている。第１通信判定部１０は、３つの処理演算部１２のうちの２つの処理演算部１２のみが稼働する縮退運転時であって、当該２つの処理演算部１２の各々から処理結果を取得した場合において、当該２つの処理演算部１２の各々の処理結果が一致するか否かを判定する。第１通信判定部１０は、当該２つの処理演算部１２の各々の処理結果が不一致の場合には、これらの処理演算部１２のうち、優先順位の高い処理演算部１２による処理結果を監視装置３に送信する。これにより、縮退運転時に処理を滞りなく実行し続けることができるようになる。
【００３１】
実施の形態に係る三重化並列処理装置１における第１通信判定部１０は、２つの処理演算部１２のみが稼働する縮退運転時において、２つの処理演算部１２の各々の処理結果が不一致となった回数をカウントし、当該回数が閾値以上となった場合には、当該２つの処理演算部１２のうちの少なくとも一方に異常を通知する。これにより、一度の処理結果の不一致のみで三重化並列処理装置１の処理が停止してしまうことを抑制できると共に、２つの処理演算部１２のうちの少なくとも一方は、より確実に異常が生じたことを検知することができるようになる。
【００３２】
実施の形態に係る三重化並列処理装置１における第１通信判定部１０は、２つの処理演算部１２のみが稼働する縮退運転時において、２つの処理演算部１２の各々の処理結果が不一致となった回数をカウントし、当該回数が閾値以上となった場合には、当該２つの処理演算部１２のうちの優先順位の低い処理演算部１２に異常を通知する。これにより、２つの処理演算部１２のうち、優先順位が高い処理演算部１２は、滞りなく処理を継続でき、優先順位が低い処理演算部１２は、より確実に異常が生じたことを検知することができるようになる。
【００３３】
実施の形態に係る三重化並列処理装置１における処理演算部１２は、第１通信判定部１０から異常を通知された場合には、動作を停止する。これにより、三重化並列処理装置１は、無駄な処理を低減することができる。
【００３４】
実施の形態に係る三重化並列処理装置１における第１通信判定部１０は、縮退運転時において、２つの処理演算部１２のうちの一方から処理結果を取得した場合であって、当該処理結果の取得以降であって予め定められた時間以内に、２つの処理演算部１２のうちの他方から処理結果を取得した場合には、２つの処理演算部１２のうちの一方からの処理結果と、２つの処理演算部１２のうちの他方からの処理結果とが一致するか否かを判定する。これにより、２つの処理演算部１２が一致する処理結果を得た場合であって、一方の処理演算部１２が処理の遅延または誤動作等によって遅れて処理結果を第１通信判定部１０に出力した場合において、第１通信判定部１０は、処理演算部１２に異常が発生したとする誤判定を行わなくなる。従って、第１通信判定部１０は、処理演算部１２の状態に応じた判定を行うことができる。
【符号の説明】
【００３５】
１  三重化並列処理装置、２  下位装置、３  監視装置、１０  第１通信判定部、１１  第２通信判定部、１２  処理演算部。
【図１】
2020197825.tif 000003
【図２】
2020197825.tif 000004