トップ :: G 物理学 :: G05 制御;調整




【発明の名称】 プロセス制御装置
【発明者】 【氏名】大塚 尚樹
【住所又は居所】神奈川県横浜市神奈川区新浦島町1丁目1番地32 山武産業システム株式会社内

【要約】 【課題】異常が生じた場合でも無瞬断でプロセス制御を続行する。

【解決手段】このプロセス制御装置は、ネットワークインタフェース10が制御LAN3を介して受信した監視装置2のリクエストを3つのコントローラ20の各々に与え、このリクエストに対する3つのコントローラ20の各々からの応答の中から多数決によって定まる1つの応答を制御LAN3に出力して監視装置2へ回答し、3つのコントローラ20の各々がネットワークインタフェース10から与えられたリクエストに対して演算を行い、リクエストに対する応答をネットワークインタフェース10に出力するとともに、演算結果を制御データとしてプロセス機器インタフェース30に出力し、プロセス機器インタフェース30が3つのコントローラ20の各々からの制御データの中から多数決によって定まる1つの制御データをIOバス5に出力してプロセス機器4を制御する。
【特許請求の範囲】
【請求項1】 ネットワークを介してリクエストを受信するとともに、プロセス機器が接続される通信路に制御データを出力するプロセス制御装置であって、前記ネットワークに接続されるネットワークインタフェースと、前記通信路に接続されるプロセス機器インタフェースと、前記ネットワークインタフェースと前記プロセス機器インタフェースとに接続され、前記ネットワークインタフェースを介して与えられたリクエストに対して演算を行い、前記リクエストに対する応答を前記ネットワークインタフェースに出力するとともに、演算結果を制御データとして前記プロセス機器インタフェースに出力するN個(Nは3以上の自然数)のコントローラとを備え、前記ネットワークインタフェースは、前記ネットワークから受信したリクエストを前記コントローラの各々に与え、このリクエストに対する前記コントローラの各々からの応答の中から多数決によって定まる1つの応答を前記ネットワークに出力し、前記プロセス機器インタフェースは、前記コントローラの各々からの制御データの中から多数決によって定まる1つの制御データを前記通信路に出力することを特徴とするプロセス制御装置。
【請求項2】 請求項1に記載されたプロセス制御装置において、前記コントローラは、前記リクエストと前記リクエストに対する応答と前記演算結果とを格納する記憶手段を有し、前記ネットワークインタフェースは、前記記憶手段の記憶内容が正しいか否かの確認を行う診断手段を有することを特徴とするプロセス制御装置。
【請求項3】 請求項1又は2に記載されたプロセス制御装置において、前記ネットワークインタフェースおよび前記プロセス機器インタフェースの少なくとも一方は多重化されていることを特徴とするプロセス制御装置。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、プロセス制御装置に関し、特に冗長構成を有するプロセス制御装置に関する。
【0002】
【従来の技術】従来、プラントなどのプロセス制御に用いるプロセス制御装置において、高信頼性を要求される場合には制御演算を行うコントローラを複数備えた冗長構造をもつものが用いられている。このような冗長構造をもつ従来のプロセス制御装置は、マスターとスレーブの2つのコントローラを備え、マスターコントローラに異常が発生すると待機中のスレーブコントローラに切り替わるマスタースレーブ型が一般的である。
【0003】
【発明が解決しようとする課題】しかしながら、マスタースレーブ型のプロセス制御装置は、コントローラがマスターからスレーブに切り替わる際、マスターの停止を検出後に待機していたスレーブが処理を開始するので、制御空白時間が生じるため、プロセスの制御周期が短いプロセス制御には使用できないという問題があった。このため、稼働中のコントローラに異常が生じた場合でも制御空白時間の生じないプロセス制御装置が求められていた。本発明は、このような課題を解決するためになされたものであり、稼働中のコントローラに異常が生じた場合でも無瞬断でプロセス制御の継続が可能な信頼性の高いプロセス制御装置を提供することを目的とする。
【0004】
【課題を解決するための手段】上述した課題を解決するために、本発明のプロセス制御装置は、ネットワークを介してリクエストを受信するとともに、プロセス機器が接続される通信路に制御データを出力するプロセス制御装置であって、ネットワークに接続されるネットワークインタフェースと、通信路に接続されるプロセス機器インタフェースと、ネットワークインタフェースとプロセス機器インタフェースとに接続され、ネットワークインタフェースを介して与えられたリクエストに対して演算を行い、リクエストに対する応答をネットワークインタフェースに出力するとともに、演算結果を制御データとしてプロセス機器インタフェースに出力するN個(Nは3以上の自然数)のコントローラとを備え、ネットワークインタフェースは、ネットワークから受信したリクエストをコントローラの各々に与え、このリクエストに対するコントローラの各々からの応答の中から多数決によって定まる1つの応答をネットワークに出力し、プロセス機器インタフェースは、コントローラの各々からの制御データの中から多数決によって定まる1つの制御データを通信路に出力することによって特徴づけられる。この場合、多数決の判定は、コントローラの各々からの出力データを比較し、2つ以上のコントローラからの出力データが一致した場合に一致したデータを多数のデータと決することにより行う。
【0005】このプロセス制御装置の一構成例は、コントローラがリクエストとリクエストに対する応答と演算結果とを格納する記憶手段を有し、ネットワークインタフェースが記憶手段の記憶内容が正しいか否かの確認を行う診断手段を有する。診断手段の一構成例は、各々のコントローラの記憶手段からデータを読み出し、多数決によって定まる1つのデータを出力したコントローラの記憶手段を正常と診断する。これらのプロセス制御装置の一構成例は、ネットワークインタフェースおよびプロセス機器インタフェースの少なくとも一方が多重化されている。
【0006】
【発明の実施の形態】以下に図を用いて発明の実施の形態を説明する。まず、本発明のプロセス制御装置の第1の実施の形態について説明する。図1は、本発明のプロセス制御装置の第1の実施の形態を示すブロック図である。同図において、プロセス制御装置1は、1つのネットワークインタフェース10と、3つの同一構成のコントローラ20(コントローラA,コントローラB,コントローラC)と、1つのプロセス機器インタフェース30を備えている。
【0007】ネットワークインタフェース10と3つのコントローラ20は、内部LAN(Local Area Network)40に接続されており、相互通信可能に構成されている。プロセス機器インタフェース30は、3つのコントローラ20と個別にUSB(Universal Serial Bus)などのデータ通信路50で接続されており、これらとの間で1対1の通信が可能に構成されている。また、ネットワークインタフェース10と3つのコントローラ20とプロセス機器インタフェース30は、図示しないバスに接続されている。さらに、ネットワークインタフェース10は、監視装置2が接続された外部の制御LAN3に接続されており、プロセス機器インタフェース30は、プロセス機器4が接続された外部のIOバス5に接続されている。
【0008】このような構成において、このプロセス制御装置1は、ネットワークインタフェース10が制御LAN3を介して受信した監視装置2のリクエストを3つのコントローラ20の各々に与えるとともに、このリクエストに対する3つのコントローラ20の各々からの応答の中から多数決によって定まる1つの応答を制御LAN3に出力して監視装置2へ回答する。3つのコントローラ20は、いずれも同じデータベースをもち、各々がネットワークインタフェース10から与えられたリクエストの処理を行い、リクエストに対する応答をネットワークインタフェース10に出力する。また、プロセス機器4に対するコマンド生成やプロセス制御の演算を行い、生成したコマンドや演算結果を制御データとしてプロセス機器インタフェース30に出力する。
【0009】プロセス機器インタフェース30は、3つのコントローラ20の各々から出力される制御データの中から多数決によって定まる1つの制御データをIOバス5に出力してプロセス機器4を制御する。これにより、コントローラ20の1つに異常が生じ、他の2つと異なる応答や制御データを出力した場合であっても、監視装置2やプロセス機器4へ正常な応答や制御データを途切れることなく出力することができる。
【0010】次に、ネットワークインタフェース10について図2を参照して詳細に説明する。図2は、図1のネットワークインタフェース10の機能ブロック図である。図2に示すように、ネットワークインタフェース10は、応答/リクエスト送受信部11、負荷チェック部12、リクエスト配信部13、応答受信部14、応答比較部15及び異常通知部16を備えている。
【0011】監視装置2が制御LAN3に出力したリクエストは、応答/リクエスト送受信部11で受信され、負荷チェック部12に送られる。負荷チェック部12は、コントローラ20ごとの処理状況(処理負荷)をチェックし、稼働中のすべてのコントローラ20が送られたリクエストを受入れ可能な状態のときは、応答/リクエスト送受信部11から送られたリクエストをリクエスト配信部13へ転送し、稼働中で受入れ不可能な状態のコントローラがあるときは応答/リクエスト送受信部11へ当該リクエストの受入れ不可を通知するとともに、このリクエストを消去する。
【0012】この場合、負荷チェック部12は、コントローラ20が実行中のリクエストの数が所定数以下のとき、次のリクエストを受入れ可能と判定する。実行中のリクエストの数は、例えば転送したリクエスト数から応答数を差し引いて求める。応答数は、後述する応答受信部14から入力される。応答/リクエスト送受信部11は、リクエストの受入れ不可が通知されると、リクエスト元へリクエスト実行不可を通知する。
【0013】リクエスト配信部13は、負荷チェック部12から転送されたリクエストに処理すべきタイミングを示す処理タイミング情報を付加した後、内部LAN40を介して3つのコントローラ20に同報配信する。この場合、処理タイミング情報は、1制御周期中における処理タイミングを示す3bitコードであり、リクエスト配信部13は後述するプロセス機器インタフェース30が図示しないバス上にパラレル出力する3bitの処理タイミング信号103の現在値を参照し、リクエストを実行するタイミングとして将来生成される処理タイミング信号の値を設定する。付加する処理タイミング情報には、リクエストを実行するタイミングやリクエストの応答を送信するタイミングが含まれる。
【0014】一方、3つのコントローラ20の各々からリクエストの応答が送信されると、応答受信部14が受信し、応答比較部15に送るとともに、応答を返したコントローラを負荷チェック部12に通知する。この場合、応答受信部14は、受信した応答を一時的に保持し、3つのコントローラ20からの応答が揃った後、応答比較部15に送る。所定時間内に3つのコントローラ20の内の1つから応答がなかったときは、当該コントローラ20を負荷チェック部12に通知するとともに、例えばヌルデータのようなあらかじめ定めた特定のデータを当該コントローラ20の応答として、他の2つの応答とともに応答比較部15に送る。
【0015】ここで、所定時間内に応答がなかったときに応答のないコントローラ20を負荷チェック部12に通知するのは、負荷チェック部12で応答のないコントローラ20の未処理リクエストが処理されないまま残ることにより実行中のリクエストの数が所定数を超えて、動作中の2つのコントローラがリクエストを実行できなくなることを防ぐためである。
【0016】応答比較部15は、応答受信部14から送られた3つのコントローラ20からの応答を比較し、内容の一致する応答が2つ以上ある場合のみ応答/リクエスト送受信部11へこの内容の応答を1つ送る。ただし、一致した内容がヌルデータのようなあらかじめ定めた特定のデータであった場合は、送信しない。応答/リクエスト送受信部11へ送られた応答は、制御LAN3へ出力され、リクエスト元の監視装置2へ送信される。また、応答比較部15は、他と異なる内容の応答を返したコントローラを異常通知部16へ通知する。異常通知部16は、応答比較部15から通知されたコントローラに内部LAN40を介して異常通知を送信する。
【0017】このネットワークインタフェース10は、制御LAN3用のLANインタフェースと、内部LAN40用のLANインタフェースと、処理タイミング信号103入力用のディジタル入力インタフェースと、ネットワークインタフェース10の機能を実現するプログラムを格納した不揮発性半導体メモリと、この不揮発性半導体メモリに格納されたプログラムを実行する演算処理装置(CPU)と、プログラム実行時の一時記憶に用いられるRAMと、これらを接続するバスとから構成されている。
【0018】次に、コントローラ20について図3を参照して詳細に説明する。図3は、図1のコントローラ20の機能ブロック図である。図3に示すように、コントローラ20は、リクエスト処理部21、データベース22、演算処理部23、入出力処理部24及び異常処理部25を備えており、データベース22にはプロセス制御条件の設定値、計測データの現在値及びプロセス機器を制御する制御データが格納されている。この場合、内部LAN40に出力されたリクエストは、リクエスト処理部21で受信されてリクエスト内容が解析され、リクエストに応じた処理がリクエストに付加された処理タイミング情報に基づいて実行される。
【0019】例えば、リクエストがプロセス制御条件の変更であれば、データベース22の指定された制御条件の設定値をリクエストで指示された設定値に書き換え、書き換えた設定値をデータベース22から読み出して応答内容とする。また、リクエストがプロセス条件の現在値の要求であれば、データベース22から指定されたプロセス条件の現在値を読み出して応答内容とする。このような応答は、リクエスト処理部21により内部LAN40に出力され、ネットワークインタフェース10へ送信される。この場合、リクエスト処理は、プロセス機器インタフェース30が出力する処理タイミング信号103を参照し、この信号の示す情報がリクエストに付加された処理タイミング情報と一致したときに実行する。
【0020】演算処理部23は、所定のタイミングでデータベース22からプロセス制御条件の設定値とプロセス条件の現在値を読み出し、現在値を設定値に合わせるために必要な制御量を算出する制御演算を行い、演算結果を制御データとしてデータベース22に書き込む。入出力処理部24は、所定のタイミングでデータベース22から制御データを読み出してプロセス機器インタフェース30へ送信する。また、プロセス機器が計測したプロセスデータの送信を要求するコマンドをプロセス機器インタフェース30へ送信するとともに、プロセス機器インタフェース30から送信されるプロセス機器が計測したプロセスデータを受信し、現在値としてデータベース22に書き込む。
【0021】また、リクエスト処理部21は、リクエストと同様にしてネットワークインタフェース10の異常通知部16が送信する異常通知を受信し、異常処理部25に通知する。入出力処理部24は、プロセス機器インタフェース30から送信される情報に異常通知が含まれているか否か確認し、異常通知が含まれているときは、異常処理部25に通知する。異常処理部25は、異常通知を受けるとコントローラ20の処理を停止させる。
【0022】このコントローラ20は、内部LAN40用のLANインタフェースと、データ通信路50用の通信インタフェースと、処理タイミング信号103入力用のディジタル入力インタフェースと、コントローラ20の機能を実現するプログラムを格納した不揮発性半導体メモリと、この不揮発性半導体メモリに格納されたプログラムを実行する演算処理装置(CPU)と、データベース22の格納領域やプログラム実行時の一時記憶領域として用いられるRAMと、これらを接続するバスとから構成されている。また、このコントローラ20は、活線挿抜可能にして、3つのコントローラのうちの1つが故障した時はプロセス制御を継続したまま交換可能に構成されている。
【0023】次に、プロセス機器インタフェース30について図4を参照して詳細に説明する。図4は、図1のプロセス機器インタフェース30の機能ブロック図である。図4に示すように、プロセス機器インタフェース30は、コントローラ通信処理部31、データ比較部32、IOバス入出力処理部33、異常通知部34及び処理タイミング信号生成部35を備えている。
【0024】各コントローラ20がそれぞれのデータ通信路50を介して送信したコマンドや制御データは、コントローラ通信処理部31で受信され、データ比較部32に送られる。この場合、コントローラ通信処理部31は、受信データを一時的に保持し、3つのコントローラ20からの受信データが揃った後、データ比較部32に送る。所定時間内に3つのコントローラ20からの受信データが揃わなかったときは、例えばヌルデータのようなあらかじめ定めた特定のデータを未受信コントローラ20の受信データとし、他の受信データとともにデータ比較部32に送る。
【0025】データ比較部32は、コントローラ通信処理部31から送られた3つの受信データを比較し、内容の一致する受信データが2つ以上ある場合のみ、IOバス入出力処理部33へ内容の一致した受信データを1つ入力する。ただし、一致した内容がヌルデータのようなあらかじめ定めた特定のデータであった場合は、送信しない。IOバス入出力処理部33へ送られたデータは、IOバス5へ出力され、プロセス機器4へ送信される。また、データ比較部32は、他と異なるデータを送信したコントローラを異常通知部34へ通知する。異常通知部34は、コントローラ通信処理部31を介してデータ比較部32から通知されたコントローラ20に異常通知を送信する。
【0026】一方、プロセス機器4がIOバス5へ出力したデータは、IOバス入出力処理部33が受信し、コントローラ通信処理部31へ送られる。コントローラ通信処理部31は、送られたデータを3つのデータ通信路50にそれぞれ出力し、各コントローラ20に送信する。処理タイミング信号生成部35は、処理タイミング信号103を生成し、ネットワークインタフェース10と3つのコントローラ20とプロセス機器インタフェース30とに接続されているバスに出力する。
【0027】ここで、処理タイミング信号103は、例えば3bitのパラレル信号であり、プロセス制御装置の1制御周期中に順次3bitの組合せから得られる8つの状態をとることにより、8個の処理タイミングを設けるものである。なお、処理タイミング信号103は3bitに限られるものではなく、1制御周期中に実行する処理の種類やコントローラ20の処理速度に応じて他のbit数に変更してもよい。
【0028】このプロセス機器インタフェース30は、3つのデータ通信路50用の通信インタフェースと、IOバス5用インタフェースと、処理タイミング信号103出力用のディジタル出力インタフェースと、プロセス機器インタフェース30の機能を実現するプログラムを格納した不揮発性半導体メモリと、この不揮発性半導体メモリに格納されたプログラムを実行する演算処理装置(CPU)と、プログラム実行時の一時記憶に用いられるRAMと、これらを接続するバスとから構成されている。
【0029】次に、このプロセス制御装置の動作について説明する。最初に、監視装置からのリクエストがないときの動作を説明する。図5は、第1の実施の形態のプロセス制御装置の動作を説明するシーケンス図であり、監視装置からのリクエストがないときの動作を示す。図5に示すように、このプロセス制御装置は、3つのコントローラ(コントローラA,コントローラB,コントローラC)が並列して同じ処理を実行している。
【0030】ここで、周期n(nは自然数)の制御周期が開始されると、各々のコントローラは、処理タイミング信号が所定のタイミングとなったときにプロセス機器インタフェースに計測データ要求のコマンドを送信する。プロセス機器インタフェースは、各々のコントローラから送信されたコマンドの多数決を採って多数側のコマンドをプロセス機器に送信するとともに、このコマンドを受信したプロセス機器から送信される計測データを受信し、各々のコントローラに送信する。この場合、多数決の判定は、各々のコントローラから送信されたコマンドを比較し、2つ以上のコントローラからのコマンドが一致した場合に一致したコマンドを多数のコマンドと決することにより行う。
【0031】各々のコントローラは、計測データを受信するとデータベースの現在値を更新し、所定の処理タイミングとなったらデータベースの設定値と現在値を入力とする制御演算を行い、データベースの制御データを演算結果で更新し、所定の処理タイミングとなったときにこの制御データをプロセス機器インタフェースに送信する。プロセス機器インタフェースは、各々のコントローラから送信された制御データの多数決を採って多数側の制御データをプロセス機器に送信し、プロセス機器を制御する。この場合も多数決の判定は、各々のコントローラから送信された制御データを比較し、2つ以上のコントローラからの制御データが一致した場合に一致した制御データを多数の制御データと決することにより行う。
【0032】次に、監視装置からリクエストがなされたときの動作を説明する。図6は、第1の実施の形態のプロセス制御装置の動作を説明するシーケンス図であり、監視装置から計測データの現在値を要求するリクエストがなされたときの動作を示す。図6に示すように、3つのコントローラ(コントローラA,コントローラB,コントローラC)が周期n(nは自然数)の制御周期において同じ処理を並列に実行しているときに、ネットワークインタフェースがリクエストを受信すると、ネットワークインタフェースは、3つのコントローラの負荷チェックを行う。
【0033】負荷チェックの結果、3つのコントローラが共にリクエストを実行可能であれば、リクエストに処理タイミング情報を付加して3つのコントローラに送信する。この場合、ネットワークインタフェースは、リクエストを実行するタイミングを指定する情報を処理タイミング情報として付加するが、リクエストを実行するタイミングには、処理が割り当てられていない処理タイミングを割り当てる。3つのコントローラは、各々リクエストを受信すると、処理タイミング情報で指定された処理タイミングでリクエストを実行する。
【0034】この場合、3つのコントローラは、それぞれデータベースの現在値更新後の処理タイミングで各々のデータベースにアクセスし、現在値を読み出してネットワークインタフェースへリクエストに対する応答として送信する。ネットワークインタフェースは、各々のコントローラから送信された応答を受信し、これらの内容(現在値)を比較し、内容の一致する2つ以上の応答のうちのいずれか1つを制御LANに出力し、監視装置に送信する。この場合、応答内容は3つとも一致しているので、3つのコントローラは、以後も図5で説明したものと同じ動作を行う。ここで、3つのコントローラのリクエスト処理以外の処理タイミングにおける処理動作と、プロセス機器インタフェースの動作は、図5で説明したものと同じであるので説明を省略する。
【0035】次に、ネットワークインタフェースが応答の不一致を検出したときの動作を説明する。図7は、第1の実施の形態のプロセス制御装置の動作を説明するシーケンス図であり、ネットワークインタフェースが3つのコントローラからの応答に不一致を検出したときの動作を示す。図7において、3つのコントローラがリクエストに付加された処理タイミング情報で指定された処理タイミングでリクエストを実行し、応答をネットワークインタフェースに送信するまでは、図6での説明と同じであるので、説明を省略する。
【0036】ネットワークインタフェースが各々のコントローラから送信された応答を受信した後、これらの内容(現在値)を比較し、コントローラAの応答内容が他の2つのコントローラの応答内容と一致しないことを検出すると、ネットワークインタフェースは、内容が一致したコントローラBとコントローラCの応答をリクエストに対する応答として制御LANに出力し、監視装置に送信するとともに、コントローラAに異常通知を送信する。
【0037】コントローラAは、異常通知を受信すると異常処理を実行し、制御演算処理からの切り離しを行う。一方、コントローラBとコントローラCは、以後も図5で説明したものと同じ動作を行う。ネットワークインタフェースとプロセス機器インタフェースは、コントローラAが切り離された後も、コントローラBとコントローラCの応答や制御データが一致している限り以前と同じ動作を行い、プロセス制御装置全体として無瞬断のプロセス制御を続行する。
【0038】次に、プロセス機器インタフェースが3つのコントローラ間でコマンドや制御データに不一致を検出したときの動作を説明する。図8は、第1の実施の形態のプロセス制御装置の動作を説明するシーケンス図であり、プロセス機器インタフェースが3つのコントローラ間でコマンドや制御データに不一致を検出したときの動作を示す。図8において、3つのコントローラが所定の処理タイミングで指定された制御演算を実行し、演算結果の制御データをプロセス機器インタフェースに送信するまでは、図5での説明と同じであるので、説明を省略する。
【0039】プロセス機器インタフェースが各々のコントローラから送信されたコマンドや制御データを受信した後、これらの内容を比較し、コントローラCの内容が他の2つのコントローラの内容と一致しないことを検出すると、プロセス機器インタフェースは、内容が一致したコントローラAとコントローラBのコマンドや制御データをIOバスに出力し、プロセス機器に送信するとともに、コントローラCに異常通知を送信する。
【0040】コントローラCは、異常通知を受信すると異常処理を実行し、制御演算処理からの切り離しを行う。一方、コントローラAとコントローラBは、以後も図5で説明したものと同じ動作を行う。ネットワークインタフェースとプロセス機器インタフェースは、コントローラCが切り離された後も、コントローラAとコントローラBの応答や制御データが一致している限り以前と同じ動作を行い、プロセス制御装置全体として無瞬断のプロセス制御を続行する。
【0041】以上説明したように、この実施の形態のプロセス制御装置は、制御演算処理を行うコントローラを3つ並列動作させるとともに、これらの出力するデータを比較し、2つ以上が一致している間、動作を続けるようにしたので、コントローラの1つに異常が生じて制御演算処理から切り離されても、無瞬断でプロセス制御を続行可能である。なお、この実施の形態では、コントローラを3つ並列動作させるものとして説明したが、この数は3つに限られるものではなく、3以上であればよい。並列動作させるコントローラの数を3より増やすにしたがい、無瞬断のプロセス制御を続行するのに許容されるコントローラの異常発生数を増やすことができる。よって、プロセス制御装置に求められる信頼性とコントローラの信頼性とに基づいて、最適な個数を選択すればよい。
【0042】また、制御演算処理を行うコントローラを並列実行による冗長構成としたので、ネットワークインタフェースとプロセス機器インタフェースの信頼性を確保することで、コントローラに高信頼性を求めなくともプロセス制御装置全体としての信頼性を確保することができる。このため、コントローラに低価格の市販製品を用いることができ、信頼性を確保したままコストを下げることができる。また、世代交代の早い市販製品の利用が可能となることで、半導体技術の向上による処理能力の向上がタイムリーにでき、製品開発期間の短縮も可能となる。
【0043】また、ネットワークインタフェースとプロセス機器インタフェースにより、コントローラの出力が正常であることを常時確認しているため、プロセス制御装置として十分な信頼性が確保できるので、コントローラの使用するメモリシステムにエラー訂正機能を設けなくてもよく、また、エラー訂正機能では訂正不可能な宇宙線などに起因すると考えられるマルチビットエラーにも対処でき、より低コスト化を図ることができる。
【0044】次に、本発明の第2の実施の形態について説明する。この実施の形態のプロセス制御装置が第1の実施の形態と異なる点は、3つのコントローラのデータベースがそれぞれ正しいか否かの確認を行う自己診断機能を有することである。この自己診断機能は、図2で示したネットワークインタフェース10の応答/リクエスト送受信部11に、図3で示したデータベース22のデータを所定単位ごとに順次送信させるリクエストを所定間隔で発行するとともに、このリクエストに応じて応答/リクエスト送受信部11へ送られたデータを破棄する機能を設けることにより実現することができる。すなわち、ネットワークインタフェース10の機能を実現するプログラムを格納した不揮発性半導体メモリに、この自己診断機能を実現するプログラムを加えればよい。
【0045】この場合、応答/リクエスト送受信部11が発行する自己診断機能のリクエストは、負荷チェック部12の働きによりコントローラ20の負荷が軽いときのみ3つのコントローラ20へ送信される。コントローラ20へ送信されたリクエストは、所定のタイミングでリクエスト処理部により実行され、データベース22のデータが所定単位ごとに読み出されて順次ネットワークインタフェース10へ送信させる。3つのコントローラ20から送信されたデータベース22のデータは、応答比較部15で比較され、不一致の検出されたコントローラが異常通知部16に通知される。これにより、異常通知部16が当該コントローラに異常通知を送信し、異常通知を受信したコントローラは、異常処理を実行し制御演算処理からの切り離しを行う。
【0046】この実施の形態によれば、3つのコントローラ20のデータベース22のデータ比較をバックグランドで行うことで、データベース22のデータを格納するRAMのエラーなどを検出することができる。このため、頻繁に使用されない領域で発生したエラーを検出でき、異常の生じたコントローラ20を除くことができる。
【0047】次に、本発明の第3の実施の形態について説明する。図9は、本発明のプロセス制御装置の第3の実施の形態を示すブロック図である。この実施の形態のプロセス制御装置6が第1の実施の形態と異なる点は、ネットワークインタフェース10、プロセス機器インタフェース30、内部LAN40及びデータ通信路50をそれぞれ冗長構成としたことである。図9において、このプロセス制御装置6は、2つの同一構成のネットワークインタフェース10(ネットワークインタフェースA,ネットワークインタフェースB)と、3つの同一構成のコントローラ20(コントローラA,コントローラB,コントローラC)と、2つの同一構成のプロセス機器インタフェース30(プロセス機器インタフェースA,プロセス機器インタフェースB)を備えている。
【0048】2つのネットワークインタフェース10は、系統の異なる内部LAN40(A系内部LAN,B系内部LAN)を介して3つのコントローラ20と接続されており、それぞれ3つのコントローラ20と相互通信可能に構成されている。この場合、ネットワークインタフェースAはA系内部LANを介し、ネットワークインタフェースBはB系内部LANを介して、3つのコントローラ20と接続されている。
【0049】2つのプロセス機器インタフェース30は、それぞれ3つのコントローラ20と個別にデータ通信路50で接続されており、これらとの間で1対1の通信が可能に構成されている。また、2つのプロセス機器インタフェース30の間に制御信号線60が接続されており、相互に制御信号の伝達が可能に構成されている。さらに、2つのプロセス機器インタフェース30は、各々が系統の異なる図示しないバスを介して2つのネットワークインタフェース10と3つのコントローラ20に接続されている。
【0050】また、2つのネットワークインタフェース10は、系統の異なる制御LAN3(A系制御LAN,B系制御LAN)を介して監視装置2と接続されており、それぞれ監視装置2と相互通信可能に構成されている。この場合、ネットワークインタフェースAはA系制御LANを介し、ネットワークインタフェースBはB系制御LANを介して、監視装置2と接続されている。2つのプロセス機器インタフェース30は、各々がプロセス機器4の接続された外部の2つのIOバス5(A系IOバス,B系IOバス)に接続されている。
【0051】このプロセス制御装置6は、2つのネットワークインタフェース10と3つのコントローラ20が並列に動作し、2つのプロセス機器インタフェース30の一方がマスターとして常時動作し、他方がスレーブとして待機している。2つのネットワークインタフェース10は、それぞれ系統の異なる制御LAN3を介して受信した監視装置2のリクエストを別々に3つのコントローラ20の各々に与えるとともに、このリクエストに対する3つのコントローラ20の各々からの応答の中から多数決によって定まる1つの応答を各々が接続された制御LAN3に出力して監視装置2へ回答する。
【0052】2つのネットワークインタフェース10が第1の実施の形態若しくは第2の実施の形態で説明したものと異なる点は、処理タイミング信号入力用のディジタル入力インタフェースを2系統有し、マスターとスレーブの両方のプロセス機器インタフェース30から出力される処理タイミング信号が入力され、マスター側の処理タイミング信号が入力されなくなったときに、スレーブ側の処理タイミング信号に基づいて処理を続行するようにしたことである。
【0053】3つのコントローラ20は、各々が2つのネットワークインタフェース10から与えられた同じリクエストのうち、先に与えられたリクエストのみ処理を行い、このリクエストに対する応答を2つのネットワークインタフェース10に出力する。また、プロセス機器4に対するコマンド生成やプロセス制御の演算を行い、生成したコマンドや演算結果を制御データとして2つのプロセス機器インタフェース30に出力する。
【0054】ここで、2つのネットワークインタフェース10から与えられた同じリクエストのうち、先に与えられたリクエストのみ処理を行うことができるのは、監視装置の送信するリクエストがA系とB系で同じメッセージヘッダを有するため、応答/リクエスト送受信部11が同じメッセージを受信した場合、後から受信したメッセージを先に受信したものと同じメッセージと判定し、無視するためである。
【0055】3つのコントローラ20が第1の実施の形態若しくは第2の実施の形態で説明したものと異なる点は、内部LAN40用のLANインタフェースと、データ通信路50用の通信インタフェースと、処理タイミング信号103入力用のディジタル入力インタフェースとをそれぞれ2系統有し、応答/リクエスト送受信部11が2つの内部LAN40を介して送受信を行うことと、入出力処理部24が2つのデータ通信路50を介して送受信を行うことと、マスターとスレーブの両方のプロセス機器インタフェース30から出力される処理タイミング信号が入力され、マスター側の処理タイミング信号が入力されなくなったときに、スレーブ側の処理タイミング信号に基づいて処理を続行するようにしたことである。
【0056】プロセス機器インタフェース30は、マスター側が3つのコントローラ20の各々から出力される制御データの中から多数決によって定まる1つの制御データを2つのIOバス5に出力してプロセス機器4を制御し、スレーブ側が制御信号線60を介してマスター側の動作を確認する待機動作を行う。スレーブ側のプロセス機器インタフェース30は、マスター側の動作停止を検出するとマスターに切り替わる。また、2つのプロセス機器インタフェース30は、マスター側かスレーブ側かにかかわらず各々が接続された図示しないバスに処理タイミング信号を出力している。
【0057】2つのプロセス機器インタフェース30が第1の実施の形態若しくは第2の実施の形態で説明したものと異なる点は、IOバス5用インタフェースを2系統有し、制御データを2つのIOバス5に出力可能に構成したことと、制御信号線60用のディジタル入出力インタフェースを有し、マスター・スレーブ切替可能に構成したことである。マスター・スレーブ切替は、例えば、マスターのときは常時、動作中を示す信号をディジタル入出力インタフェースに出力し、スレーブのときは常時、ディジタル入出力インタフェースに入力する信号を監視し、信号の入力が途絶すると自身をマスターに切り替えるプログラムを不揮発性半導体メモリに格納しておき、CPUがこのプログラムを実行するようにしておくことにより行うことができる。
【0058】このように構成したので、この実施の形態のプロセス制御装置は、ネットワークインタフェース10、制御LAN3及び内部LAN40のいずれかで異常が生じた場合であっても、監視装置2との通信が途絶することがないので、正常に処理を続行することができる。また、動作中のプロセス機器インタフェース30に異常が生じた場合であっても、待機中のプロセス機器インタフェース30によって処理を続行することができる。このように、この実施の形態のプロセス制御装置は、コントローラ20の1つに異常が生じて制御演算処理から切り離されても、無瞬断でプロセス制御を続行可能であるだけでなく、3つのコントローラ20に接続されたインタフェース部分に異常が生じた場合にも処理を続行することができる。このため、第1の実施の形態に比べて、さらに信頼性を向上することができる。
【0059】この実施の形態では、3つのコントローラ20に接続されるものをすべて冗長構成としたが、必ずしもすべてを冗長構成としなくともよい。プロセス制御装置として要求される信頼性と、3つのコントローラ20に接続されるものの個々の信頼性とを勘案して必要な箇所のみ冗長構成とすることにより、必要とされる信頼性を最小限のコスト上昇で得ることができる。例えば、プロセス制御装置を2つの同一構成のネットワークインタフェース10(ネットワークインタフェースA,ネットワークインタフェースB)と、3つの同一構成のコントローラ20(コントローラA,コントローラB,コントローラC)と、1つのプロセス機器インタフェース30とで構成してもよいし、1つのネットワークインタフェース10と、3つの同一構成のコントローラ20(コントローラA,コントローラB,コントローラC)と、2つの同一構成のプロセス機器インタフェース30(プロセス機器インタフェースA,プロセス機器インタフェースB)とで構成してもよい。
【0060】
【発明の効果】以上説明したように、本発明のプロセス制御装置は、ネットワークに接続されるネットワークインタフェースと、プロセス機器が接続される通信路に接続されるプロセス機器インタフェースと、ネットワークインタフェースとプロセス機器インタフェースとに接続され、ネットワークインタフェースを介して与えられたリクエストに対する演算を行い、リクエストに対する応答をネットワークインタフェースに出力するとともに、演算結果を制御データとしてプロセス機器インタフェースに出力するN個(Nは3以上の自然数)のコントローラとを備え、ネットワークインタフェースは、ネットワークから受信したリクエストをコントローラの各々に与え、このリクエストに対するコントローラの各々からの応答の中から多数決によって定まる1つの応答をネットワークに出力し、プロセス機器インタフェースは、コントローラの各々からの制御データの中から多数決によって定まる1つの制御データをプロセス機器が接続される通信路に出力するようにしたので、コントローラの1つに異常が生じて制御演算処理から切り離されても、無瞬断でプロセス制御を続行可能である。
【0061】また、コントローラは、リクエストとリクエストに対する応答と演算結果とを格納する記憶手段を有し、ネットワークインタフェースは、記憶手段の記憶内容が正しいか否かの確認を行う診断手段を有するので、コントローラが制御演算に用いる記憶手段のエラーを検出でき、異常の生じたコントローラを除くことができる。
【0062】また、ネットワークインタフェースおよびプロセス機器インタフェースの少なくとも一方を多重化したので、コントローラの1つに異常が生じて制御演算処理から切り離されても、無瞬断でプロセス制御を続行可能であるだけでなく、コントローラに接続されたインタフェース部分に異常が生じた場合にも処理を続行することができ、さらに信頼性を向上することができる。
【出願人】 【識別番号】593177561
【氏名又は名称】山武産業システム株式会社
【住所又は居所】神奈川県横浜市神奈川区新浦島町1丁目1番地32
【出願日】 平成13年11月6日(2001.11.6)
【代理人】 【識別番号】100064621
【弁理士】
【氏名又は名称】山川 政樹
【公開番号】 特開2003−140704(P2003−140704A)
【公開日】 平成15年5月16日(2003.5.16)
【出願番号】 特願2001−340986(P2001−340986)