| 【発明の名称】 |
多重化並列処理装置 |
| 【発明者】 |
【氏名】大塚 尚樹 【住所又は居所】神奈川県横浜市神奈川区新浦島町1丁目1番地32 山武産業システム株式会社内
|
| 【要約】 |
【課題】無駄な復旧作業を抑制できるようにする。
【解決手段】動作停止信号を受信すると、動作制御部61は、タイマ初期化部63に対する動作指示の出力を停止させ、タイマ初期化部63によるWDT62の時間計測を初期化を停止させ、WDT62に、所定の時間Tが経過した後のリセット信号を出力させる。この結果、リセット信号を受けた動作制御部61は、コントローラA120aの動作を停止させ、再起動させる。 |
【特許請求の範囲】
【請求項1】 所定の情報を入力して対応する制御データを出力する制御動作を並列して行うN個(Nは3以上の自然数)のコントローラを冗長して備えた多重化並列処理装置であって、前記コントローラは、ネットワークを介して送出された動作停止信号を受信する受信部と、前記受信部が前記動作停止信号を受け付けると前記コントローラを再起動させて前記制御動作を開始させる動作制御部とを備えたことを特徴とする多重化並列処理装置。 【請求項2】 請求項1記載の多重化並列処理装置において、所定のリクエストを前記ネットワークを介して複数の前記コントローラの各々に与えるとともに前記リクエストに対するこれらのコントローラからの応答を受信するネットワークインタフェースを備え、このネットワークインタフェースは、複数の前記コントローラから出力された応答を各々比較し、応答が一致する最も多い複数のコントローラ以外のコントローラは、異常が発生している異常コントローラであると判定し、この異常コントローラに対して前記ネットワークを介して前記動作停止信号を送出するものであることを特徴とする多重化並列処理装置。 【請求項3】 請求項1または2記載の多重化並列処理装置において、複数の前記コントローラと接続されるとともに、通信路を介してプロセス機器と接続されるプロセス機器インタフェースを備え、このプロセス機器インタフェースは、複数の前記コントローラから出力された制御データを各々比較し、制御データが一致する最も多い複数のコントローラ以外のコントローラは、異常が発生している異常コントローラであると判定し、この異常コントローラに対して前記ネットワークを介して前記動作停止信号を送出するものであることを特徴とする多重化並列処理装置。 【請求項4】 請求項1〜3のいずれか1項に記載の多重化並列処理装置において、前記動作制御部による再起動の回数を所定の期間内計数するリセットカウンタを備え、前記動作制御部は、前記リセットカウンタが計数した計数値が所定値以上の場合、前記制御動作の開始を停止するものであることを特徴とする多重化並列処理装置。 【請求項5】 請求項4記載の多重化並列処理装置において、前記動作制御部は、前記再起動の後で前記計数値を確認し、リセットカウンタが計数した計数値が所定値以上の場合、前記制御動作の開始を停止するものであることを特徴とする多重化並列処理装置。 【請求項6】 請求項4記載の多重化並列処理装置において、前記動作制御部は、前記リセットカウンタが計数した計数値が所定値以上の場合、自身が異常により動作を停止することを示す信号を前記ネットワークに送出することを特徴とする多重化並列処理装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、冗長構成を有してプロセスなどの制御を行う多重化並列処理装置に関する。 【0002】 【従来の技術】従来、プラントなどのプロセス制御に用いるプロセス制御装置において、高信頼性を要求される場合には制御演算を行うコントローラを複数設えた冗長構造をもつものが用いられている。このような冗長構造をもつ従来のプロセス制御装置は、主系と従系の2つのコントローラを備え、主系コントローラに異常が発生すると待機中の従系コントローラに切り替わる二重化待機冗長方式が一般的である。 【0003】しかしながら、このような二重化待機冗長方式のプロセス制御装置は、コントローラが主系から従系に切り替わる際、主系の停止を検出後、待機していた従系が処理を開始するため、制御空白時間が生じ、プロセスの制御周期が短いプロセス制御には使用できないという問題があった。このため、稼働中のコントローラに異常が生じた場合でも制御空白時間の生じないプロセス制御装置が求められていた。 【0004】 【発明が解決しようとする課題】これに対して、同一構成の3つ以上のコントローラを並列動作させ、これらコントローラの制御出力について多数決判定を行い、その判定結果を用いてプロセス制御を行う方式が考えられる。このような三重化並列冗長制御システムでは、他の2つとは異なる制御結果を出力した制御処理部は、異常が発生しているものとし、この制御処理部を停止させるなどシステムから切り離し、調査・調整を行うようにしている。ところが、制御処理部を構成しているトランジスタなどの素子が高度に集積された半導体装置などでは、宇宙線などによるメモリ化けを回避することができない。また、より高度な制御を行うためのプログラムは、バグを完全に除去することが現実的には不可能である。 【0005】このようなメモリ化けやバグなどにより、所定のタイミングで一時的に他の冗長部とは異なる制御結果を出力する場合もある。このような場合、対象とする制御処理部を停止させてシステムから切り離し、調査・調整しようとしても、制御処理部には、基本的には何ら異常が発生していないため、非常に無駄な作業となる。また、この復旧作業中は、システムは2つの制御処理部で冗長動作していることになり、システムの信頼性が低下した状態となっている。このため、復旧作業は、より短時間に終了する必要があるが、対象とする制御処理部を、人為的に停止させ、原因を調査し、結果が判明するまでには、多くの時間を必要としてしまう。 【0006】以上説明したように、従来の多重化並列冗長システムでは、無駄な復旧作業を行う場合があるという問題があった。本発明は、以上のような問題点を解消するためになされたものであり、無駄な復旧作業を抑制できるようにすることを目的とする。 【0007】 【課題を解決するための手段】本発明の一形態における多重化並列処理装置は、所定の情報を入力して対応する制御データを出力する制御動作を並列して行うN個(Nは3以上の自然数)のネットワークを介して送出された動作停止信号を受信する受信部と、受信部が動作停止信号を受け付けるとコントローラを再起動させて制御動作を開始させる動作制御部とを備え、、例えば、動作制御部による再起動の回数を所定の期間内計数するリセットカウンタとを備え、動作制御部は、リセットカウンタが計数した計数値が所定値以上の場合、制御動作の開始を停止するものである。この多重化並列処理装置によれば、動作停止信号を受信したコントローラは、動作を停止せずに再起動して制御動作を再開する。 【0008】上記多重化並列処理装置において、動作制御部は、例えば、再起動の後で計数値を確認し、リセットカウンタが計数した計数値が所定値以上の場合、制御動作の開始を停止すればよい。また、上記多重化並列処理装置において、動作制御部は、例えば、リセットカウンタが計数した計数値が所定値以上の場合、自身が異常により動作を停止することを示す信号をネットワークに送出するようにしてもよい。 【0009】また、上記多重化並列処理装置は、例えば、複数のコントローラから出力された制御データを各々比較し、制御データが一致する最も多い複数のコントローラ以外のコントローラは、異常が発生している異常コントローラであると判定し、この異常コントローラに対して動作停止信号を出力するインタフェースを備えるものである。 【0010】また、上記多重化並列処理装置において、所定のリクエストを複数のコントローラの各々に与えるとともにリクエストに対するこれらのコントローラからの応答を受信するネットワークインタフェースを備え、このネットワークインタフェースは、複数のコントローラから出力された応答を各々比較し、応答が一致する最も多い複数のコントローラ以外のコントローラは、異常が発生している異常コントローラであると判定し、この異常コントローラに対して動作停止信号を送出するものである。 【0011】また、上記多重化並列処理装置において、複数のコントローラと接続されるとともに、通信路を介してプロセス機器と接続されるプロセス機器インタフェースを備え、このプロセス機器インタフェースは、複数のコントローラから出力された制御データを各々比較し、制御データが一致する最も多い複数のコントローラ以外のコントローラは、異常が発生している異常コントローラであると判定し、この異常コントローラに対して動作停止信号を送出するものである。 【0012】 【発明の実施の形態】以下、本発明の実施の形態について図を参照して説明する。図1は、本発明の実施の形態における多重化並列処理装置の一例であるプロセス制御装置100の構成例を示す構成図である。プロセス制御装置100は、ネットワークインタフェース110,コントローラA120a,コントローラB120b,コントローラC120c,プロセス機器インタフェース130を備える。ネットワークインタフェース110は、ネットワーク103を介して監視装置102に接続し、プロセス機器インタフェース130は、I/Oバス105を介して複数のプロセス機器104に接続している。また、コントローラA120a,コントローラB120b,コントローラC120cは、内部ネットワーク140により、各々が接続し、またネットワークインタフェース110に接続している。 【0013】プロセス制御装置100では、まず、ネットワークインタフェース110が、例えば監視装置102からのリクエストをネットワーク103を介して受け付け、受け付けたリクエストを、内部ネットワーク140を介してコントローラA120a,コントローラB120b,コントローラC120cに与える。リクエストを与えられた各コントローラは、リクエストに対応して制御データを生成し、プロセス機器インタフェース130に出力する。 【0014】各コントローラより出力された制御データを受け付けたプロセス機器インタフェース130は、多数決によって定まる1つの制御データを、I/Oバス105を介して対応するプロセス機器104に出力する。また、プロセス機器104からのプロセスデータは、まずI/Oバス105を介してプロセス機器インタフェース130へ送信される。このプロセスデータを受け付けたプロセス機器インタフェース130では、受け付けたプロセスデータを、各コントローラA120a,コントローラB120b,コントローラC120cに出力する。 【0015】プロセス機器104からのプロセスデータを与えられた各コントローラは、与えられたプロセスデータに対応して応答を生成し、ネットワークインタフェース110に出力する。各コントローラより出力された応答は、内部ネットワーク140を介してネットワークインタフェース110に受け付けられる。これら応答を受け受けたネットワークインタフェースは、多数決によって定まる1つの応答を、ネットワーク103を介して監視装置102に送出する。 【0016】以上説明したように、プロセス機器インタフェース130では、コントローラA120a,コントローラB120b,コントローラC120cのいずれか1つに異常が生じ、他の2つと異なる制御データや応答を出力した場合であっても、プロセス機器104や監視装置102に対して正常な制御データや応答をとぎれることなく出力することができる。 【0017】つぎに、ネットワークインタフェース110について、図2を参照して詳細に説明する。ネットワークインタフェース110は、応答/リクエスト送受信部111,負荷チェック部112,リクエスト配信部113,応答受信部114,応答比較部115,および異常通知部116を備えている。このような構成において、まず、ネットワーク103を介して受け付けたリクエストは、応答/リクエスト送受信部111で受信され、負荷チェック部112に送られる。リクエストが送られた負荷チェック部112は、コントローラA120a,コントローラB120b,コントローラC120c各々の処理負荷を確認する。 【0018】負荷チェック部112は、コントローラA120a,コントローラB120b,コントローラC120cが実行している処理の数が所定数以下のとき、つぎの処理となるリクエストを受け入れることが可能な状態と判定する。実行中の処理の数は、例えば転送したリクエストなどの処理の数から応答数を差し引いて求めることができる。応答数は、後述する応答受信部114から得ることができる。 【0019】以上のことにより、各コントローラの処理負荷を確認し、全てのコントローラがリクエストを受け入れることが可能な状態にあるときに、送られてきたリクエストをリクエスト配信部113へ転送する。一方、受け入れることができない状態のコントローラが存在している場合は、応答/リクエスト送受信部111に対し、送られてきたリクエストが受け入れ不可能であることを通知し、送られてきたリクエストを消去する。リクエストの受け入れ不可が通知されると、応答/リクエスト送受信部111は、リクエスト元へリクエスト実行不可を通知する。 【0020】リクエストが送られたリクエスト配信部113は、送られてきたリクエストに処理すべきタイミングを示す処理タイミング情報を付加し、コントローラA120a,コントローラB120b,コントローラC120cに同報配信する。付加する処理タイミング情報には、リクエストを実行するタイミングや、リクエストを処理した結果発生する応答を送信するタイミングが含まれている。ここで、処理タイミング情報は、一制御周期中における処理タイミングを示す3ビットのコードであり、リクエスト配信部113は、後述するプロセス機器インタフェース130が図示しないデータ線上に出力する3ビットの処理タイミング信号の現在値を参照し、リクエストを実行するタイミングとして将来生成される処理タイミング信号の値を設定する。 【0021】つぎに、ネットワークインタフェース110における各コントローラより出力された応答の処理について説明する。コントローラA120a,コントローラB120b,コントローラC120cから応答が送信されると、これらは応答受信部114で受信され、応答比較部115に送られる。また、応答受信部114は、応答を返したコントローラを負荷チェック部112に通知する。 【0022】応答が送られた応答比較部115は、送られてきた3つの応答の内容を比較し、これら3つが全て一致する場合と、いずれか1つが異なり他の2つが一致する場合について、一致した応答のいずれか1つを応答/リクエスト送受信部111に送出する。このようにして送出された応答を受け取った応答/リクエスト送受信部111は、受け取った応答をリクエスト元に送出する。また、応答比較部115は、他とは異なる応答を返したコントローラについて異常通知部116に通知する。通知を受けた異常通知部116は、対象となるコントローラに対し、動作停止信号を送出する。 【0023】なお、ネットワークインタフェース110は、例えば、ネットワーク103用のインタフェースと、内部ネットワーク140用のインタフェースと、処理タイミング信号入力用のデジタル入力インタフェースと、上述したネットワークインタフェース110の機能を実現するプログラムを格納した記憶部と、このプログラムを実行するCPUと、プログラム実行のために用いられる主記憶部と、これらを接続するバスとから構成することができる。 【0024】つぎに、プロセス機器インタフェース130について説明する。図3に示すように、プロセス機器インタフェース130は、コントローラ通信処理部131,データ比較部132,I/Oバス入出力処理部133,異常通知部134,処理タイミング信号生成部150を備えている。コントローラ通信処理部131は、コントローラA120a,コントローラB120b,コントローラC120cよりほぼ同時に送出されたコマンドや制御データを受信し、これらをデータ比較部132に転送する。データ比較部132は、転送された3つのコマンドや制御データなどの信号を比較し、これらが3つとも一致する場合と2つが一致する場合について、一致したデータをI/Oバス入出力処理部133へ転送する。 【0025】I/Oバス入出力処理部133は、転送されたデータをI/Oバス105を介して対応するプロセス機器104に送出する。また、データ比較部132は、他の2つとは異なるデータの送出元のコントローラについて、異常通知部134に通知する。異常通知部134では、データ比較部132からの通知により、コントローラ通信処理部131を介し、対応するコントローラに動作停止信号を送出する。 【0026】また、I/Oバス入出力処理部133は、プロセス機器104からのデータをI/Oバス105を介して受信し、受信したデータをコントローラ通信処理部131へ転送する。プロセス機器104からのデータが転送されたコントローラ通信処理部131は、転送されたデータをコントローラA120a,コントローラB120b,コントローラC120cに送信する。 【0027】処理タイミング信号生成部150は、処理タイミング信号を生成し、ネットワークインタフェース110や各コントローラに送出する。この送出する処理タイミング信号は、例えば3ビットのパラレル信号であり、例えば、プロセス制御装置100による1制御周期中に、順次3ビットの組み合わせから得られる8つの状態をとることにより、8個の処理タイミングを設けるものである。なお、処理タイミング信号は、3ビットに限られるものではなく、他のビット数を用いるようにしてもよい。 【0028】つぎに、コントローラA120a,コントローラB120b,コントローラC120cについて説明する。これらは同一構成であり、以下ではコントローラA120aを代表して図4を用いて説明する。コントローラA120は、図4(a)に示すように、プログラム格納部121,以降に説明する設定値122aと現在値122bと制御データ122cとからなるデータベースが格納される主記憶部122,ネットワーク制御部123,演算処理部124,I/O制御部125,異常処理部126を備え、これらがバス127により接続されている。 【0029】プログラム格納部121には、演算処理部124が、起動動作や種々の制御動作などを行うための、起動プログラムや制御プログラムなどが格納されている。コントローラA120aでは、プログラム格納部121に格納されている各プログラムが主記憶部122にロードされ、主記憶部122にロードされたプログラムにより演算処理部124が動作し、各制御動作が行われる。例えば、演算処理部124は、主記憶部122にロードされたプログラムによりリクエスト処理機能部124a,制御データ生成機能部124b,制御処理機能部124cを実現する。 【0030】例えば、コントローラA120aでは、初期に監視装置102(図1)より送出された設定値を、ネットワーク103,ネットワークインタフェース110,内部ネットワーク140を介し、ネットワーク制御部123が受け付けると、演算処理部124が、リクエスト処理機能部124aにより内容を解析し、主記憶部122の所定領域に設定値122aとして格納する。一方、演算処理部124は、制御処理機能部124cにより、プロセス機器104から所定の制御値や状態値を収集し、主記憶部122に現在値122bとして格納する。 【0031】また、演算処理部124は、制御データ生成機能部124bにより、主記憶部122に格納されている設定値122aと現在値122bとを参照して制御データやコマンドを生成し、これを主記憶部122の所定箇所に現在値122bとして格納する。演算処理部124では、以上のことにより、主記憶部122に制御データ122cが格納されると、制御処理機能部124cにより格納されている制御データ122cを、対象とするプロセス機器104に対して送出する。制御データ122cは、I/O制御部125によりプロセス機器インタフェース130を介してプロセス機器104に送出される。 【0032】また、監視装置102からのリクエストがネットワーク制御部123で受信されると、演算処理部124は、受け付けたリクエストに対してリクエスト処理機能部124aにより応答する。例えば、プロセス機器104の現状の制御値の要求を受け付けた場合、演算処理部124ではリクエスト処理機能部124aが、内容を解析し、主記憶部122に格納されている現在値122bの中より、対応する制御値を検索して取り出し、取り出した制御値を応答として監視装置102に送出する。 【0033】加えて、本実施の形態においては、ネットワークインタフェース110の異常通知部116,または、プロセス機器インタフェース130の異常通知部134より、動作停止信号を送信された場合、異常処理部126が、自身を再起動させるようにした。異常処理部126は、例えば図4(b)に示すように、動作制御部61とウオッチドックタイマ(WDT)62と、タイマ初期化部63と、リセットカウンタ64と、カウンタ初期化部65とを備える。 【0034】WDT62は、時間を計測して所定の時間Tが経過したらリセット信号を出力するものであり、タイマ初期化部63は、時間を計測し、上記時間Tより短い時間tが経過したらWDT62の時間計測を初期化するものである。また、リセットカウンタ64は、動作制御部61によるコントローラA120aのリセット動作回数をカウントするものであり、カウンタ初期化部65は、予め設定されている期間が経過すると、リセットカウンタ64のカウンタ値を初期化するものである。また、動作制御部61は、通常動作時には、タイマ初期化部63に対して動作を行わせる制御を行っている。言い換えると、タイマ初期化部63は、動作制御部61から出力される動作指示により、上述した動作を継続する。 【0035】ここで、例えば、異常通知部116もしくは異常通知部134より動作停止信号が送出された場合、送出された動作停止信号を受け付けた対象となるコントローラA120aでは、異常処理部126が例えば図5のフローチャートに示すように動作する。まず、動作停止信号を受信すると(ステップS501)、動作制御部61は、タイマ初期化部63に対する動作指示の出力を停止する。このことにより、タイマ初期化部63は、WDT62の時間計測を初期化を行わなくなるので、WDT62は、所定の時間Tが経過した後でリセット信号を出力する。 【0036】リセット信号を受けた動作制御部61は、コントローラA120aの動作を停止させ(ステップS502)、再起動させる(ステップS503)。コントローラA120aが再起動すると、まず、リセットカウンタ64が、カウンタ値を1つ増やす(ステップS504)。引き続いて、動作制御部61が、リセットカウンタ64のカウンタ値が、所定値以上となっているかどうかを判断する(ステップS505)。この判断で、カウンタ値が所定値を越えていないと判定した場合、動作制御部61は、コントローラA120aの各処理部を動作させ、制御動作を開始する(ステップS506)。 【0037】一方、ステップS505の判断で、カウンタ値が所定値を越えていると判定した場合、動作制御部61は、まず、例えば、異常発生および停止を示す信号を監視装置102に対して送出した後(ステップS507)、ネットワーク制御部123およびI/O制御部125の動作を停止させることなどにより、コントローラA120aをシステムから切り離す(ステップS508)。 【0038】この後、例えば、監視装置102上でコントローラA120aの異常による停止を確認した操作者が、プロセス制御装置100の箇所に移動し、コントローラA120aの故障箇所の修理もしくはコントローラA120aの交換などを行い、システムの復帰を行う。なお、この復帰動作中においても、コントローラB120b,コントローラC120cは動作しているので、プロセス制御装置100によるプロセス制御は継続された状態が維持される。 【0039】従来では、メモリ化けなどによる異常判定であっても、冗長しているなかの異常とされた制御処理部をシステムから切り離し、調査・調整を行うなど、無意味な調査にかかる時間が多く、システム全体の稼働率があまり高くない状態であった。これに対し、上述した本実施の形態によれば、メモリ化けなどによる異常判定の場合、例えば自動的に再起動させるようにしたので、従来のシステムに比較し、無駄な復旧作業を抑制し、システム全体の稼働率を向上させることができる。 【0040】 【発明の効果】以上説明したように、本発明によれば、動作停止信号を受信したコントローラは、単純には動作を停止せずに再起動して制御動作を再開するようにしたので、無駄な復旧作業を抑制できるようになるという優れた効果が得られる。
|
| 【出願人】 |
【識別番号】593177561 【氏名又は名称】山武産業システム株式会社 【住所又は居所】神奈川県横浜市神奈川区新浦島町1丁目1番地32
|
| 【出願日】 |
平成13年11月6日(2001.11.6) |
| 【代理人】 |
【識別番号】100064621 【弁理士】 【氏名又は名称】山川 政樹
|
| 【公開番号】 |
特開2003−140705(P2003−140705A) |
| 【公開日】 |
平成15年5月16日(2003.5.16) |
| 【出願番号】 |
特願2001−340994(P2001−340994) |
|