JP3706332B2 - Process control device - Google Patents
Process control device Download PDFInfo
- Publication number
- JP3706332B2 JP3706332B2 JP2001341017A JP2001341017A JP3706332B2 JP 3706332 B2 JP3706332 B2 JP 3706332B2 JP 2001341017 A JP2001341017 A JP 2001341017A JP 2001341017 A JP2001341017 A JP 2001341017A JP 3706332 B2 JP3706332 B2 JP 3706332B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- controller
- processing
- response
- network interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Safety Devices In Control Systems (AREA)
- Control By Computers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、プロセス制御装置に関し、特に冗長構成を有するプロセス制御装置に関する。
【0002】
【従来の技術】
従来、プラントなどのプロセス制御に用いるプロセス制御装置において、高信頼性を要求される場合には制御演算を行うコントローラを複数設えた冗長構造をもつものが用いられている。
このような冗長構造をもつ従来のプロセス制御装置は、主系と従系の2つのコントローラを備え、主系コントローラに異常が発生すると待機中の従系コントローラに切り替わる二重化待機冗長方式が一般的である。
【0003】
しかしながら、このような二重化待機冗長方式のプロセス制御装置は、コントローラが主系から従系に切り替わる際、主系の停止を検出後、待機していた従系が処理を開始するため、制御空白時間が生じ、プロセスの制御周期が短いプロセス制御には使用できないという問題があった。
このため、稼働中のコントローラに異常が生じた場合でも制御空白時間の生じないプロセス制御装置が求められていた。
【0004】
これに対して、同一構成の3つ以上のコントローラを並列動作させ、これらコントローラの制御出力について多数決判定を行い、その判定結果を用いてプロセス制御を行う方式が考えられる。
通常、プロセス制御装置では、上位の監視装置からの処理要求や下位のプロセス機器のための制御をタイムシェアリングで処理しているため、異なる制御演算処理をわずかな時間で行っている。したがって、上記方式で所望の制御演算結果を得るためには、各コントローラから同一の制御演算処理に対する制御演算結果を得る必要がある。
【0005】
【発明が解決しようとする課題】
しかしながら、このようなCPUなどのマイクロプロセッサでプログラムを実行することにより各種の制御演算処理を行っているコントローラにおいては、各コントローラが特定の制御演算処理を実行している際に、上位の監視装置や下位のプロセス機器から特定のタイミングで入力があった場合、演算エラーなどの不具合を発生する可能性がある。
【0006】
このような不具合を解消するために、外部から動作クロックを入力して各コントローラの動作を完全に同期させる構成も考えられるが、この構成によれば、別途専用のハードウェアが必要となり高価なシステムとなってしまうという問題点があった。また、このように同一構成の各コントローラを共通の動作クロックに基づき完全に同期して動作させたとしても、前述のような不具合は特定の動作タイミングに起因して発生するため、3つ以上のコントローラを並列動作させてもすべての演算結果が異なる結果となり、その不具合を回避できない。
【0007】
また、各コントローラへのリクエストが過負荷になってしまった場合には、いずれかのコントローラにのみ応答の遅れが生じ、処理の同一性を保証することができない。
さらに、このようなタイミングのズレを異常だと判断してしまうと、不必要にシステムを停止させてしまい、機器にも余計な負荷をかけ、プラント全体としても大きな損害となってしまう。
本発明は、このような課題を解決するためのものであり、並列動作する3つ以上のコントローラの制御演算結果を多数決判定してプロセス制御する際、各コントローラから制御演算結果を同時に安定して得ることができるプロセス制御装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した課題を解決するために、本発明にかかるプロセス制御装置は、プロセス制御のための制御演算を行うコントローラと、ネットワークを介して上位装置から受信したリクエストをコントローラへ通知するとともに、当該リクエストに対するコントローラからの応答を上位装置へ送信するネットワークインタフェースと、コントローラでの制御演算に基づいてIOバスに接続されているプロセス機器へ制御データを送信するとともに、プロセス機器から計測データを受信するプロセス機器インタフェースとを有し、ネットワークインタフェースを介して受信されたリクエストに基づきコントローラで制御演算を行い、得られた制御データをプロセス機器インタフェースを介してプロセス制御機器へ送信することによりプロセス機器を制御し、プロセス制御機器から得られた計測データをコントローラから応答としてネットワークインタフェースへ出力し、ネットワークインタフェースから上位装置へ応答として送信するプロセス制御装置であって、コントローラとして、ネットワークインタフェースとプロセス機器インタフェースとの間に並列的に設けられ、ネットワークインターフェースからのリクエストに付加されている処理タイミング情報で指示された処理タイミングで当該リクエストに対応する処理を実行するN個(Nは3以上の自然数)のコントローラを備え、ネットワークインタフェースのリクエスト配信部で、ネットワークを介して上位装置から受信したリクエストに、当該リクエストに対応する処理をコントローラが実行すべきタイミングを指示する処理タイミング情報を付加して各コントローラへ通知し、応答比較部で、当該リクエストに対する各コントローラからの応答を多数決判定して上位装置へ送信する1つの応答を決定するようにしたものである。
【0009】
処理タイミングについては、リクエスト配信部で、各コントローラへ送信したリクエストの処理状況に基づいて、新たに受信したリクエストを処理する処理タイミングを選択し、その処理タイミングを示す処理タイミング情報を当該リクエストに付加するようにしてもよい。
【0010】
ネットワークインタフェースの負荷チェック部で、各コントローラへ送信したリクエストの処理状況に基づいて、新たに受信したリクエストの受け入れ可否を判断し、受け入れ可の場合にのみ当該リクエストをリクエスト配信部へ渡すようにしてもよい。
このとき、負荷チェック部で、リクエストが受け入れ不可と判断された場合は、上位装置に対してリクエスト実行不可を通知するようにしてもよい。
【0011】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明の第1の実施の形態にかかるプロセス制御装置の構成を示すブロック図である。同図において、プロセス制御装置1は、1つのネットワークインタフェース10と、3つの同一構成のコントローラ20(コントローラA,コントローラB,コントローラC)と、1つのプロセス機器インタフェース30を備えている。
【0012】
ネットワークインタフェース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に接続されている。
【0013】
このような構成において、プロセス制御装置1のネットワークインタフェース10では、制御LAN3を介して受信した監視装置2からのリクエストを3つのコントローラ20の各々に与えるとともに、このリクエストに対する3つのコントローラ20の各々からの応答の中から多数決によって定まる1つの応答を制御LAN3に出力して監視装置2へ回答する。
3つのコントローラ20の各々では、ネットワークインタフェース10から与えられたリクエストの処理を行い、リクエストに対する応答をネットワークインタフェース10に出力するとともに、プロセス制御の演算を行い、演算結果を制御データとしてプロセス機器インタフェース30に出力する。
【0014】
プロセス機器インタフェース30では、3つのコントローラ20の各々から出力される制御データの中から多数決によって定まる1つの制御データをIOバス5に出力してプロセス機器4を制御する。
このため、コントローラ20の1つに異常が生じ、他の2つと異なる応答や制御データを出力した場合であっても、監視装置2やプロセス機器4へ正常な応答や制御データを途切れることなく出力することができる。
【0015】
次に、ネットワークインタフェース10について図2を参照して詳細に説明する。図2は、ネットワークインタフェース10の機能ブロック図である。
図2に示すように、ネットワークインタフェース10は、応答/リクエスト送受信部11、負荷チェック部12、リクエスト配信部13、応答受信部14、応答比較部15および異常通知部16を備えている。
【0016】
監視装置2が制御LAN3に出力したリクエストは、応答/リクエスト送受信部11で受信され、負荷チェック部12に送られる。負荷チェック部12は、コントローラ20ごとのリクエストの処理状況(処理負荷)をチェックし、稼働中の全てのコントローラ20が送られたリクエストを受け入れ可能な状態のときは、応答/リクエスト送受信部11から送られたリクエストをリクエスト配信部13へ転送し、稼働中で受け入れ不可能な状態のコントローラがあるときは応答/リクエスト送受信部11へ当該リクエストの受け入れ不可を通知するとともに、このリクエストを消去する。
【0017】
この場合、負荷チェック部12は、コントローラ20で実行中のリクエストの数が所定数以下のとき、次のリクエストを受け入れ可能と判定する。実行中のリクエストの数は、例えば転送したリクエスト数から応答数を差し引いて求める。応答数は、後述する応答受信部14から入力される。応答/リクエスト送受信部11は、リクエストの受け入れ不可が通知されると、リクエスト元へリクエスト実行不可を通知する。
【0018】
リクエスト配信部13は、負荷チェック部12から転送されたリクエストに処理すべきタイミングを示す処理タイミング情報を付加した後、内部LAN40を介して3つのコントローラ20に同報配信する。この場合、処理タイミング情報は、1制御周期中における処理タイミングを示す3bitコードであり、リクエスト配信部13は後述するプロセス機器インタフェース30が図示しないバス上にパラレル出力する3bitの処理タイミング信号103の現在値を参照し、リクエストを実行するタイミングとして将来生成される処理タイミング信号の値を設定する。この際、各コントローラへ送信したリクエストの処理状況に基づいて、新たに受信したリクエストを実行するタイミングやリクエストの応答を送信するタイミングが選択される。リクエストの処理状況については、負荷チェック部12で管理されているものを用いればよい。
【0019】
一方、3つのコントローラ20の各々からリクエストの応答が送信されると、応答受信部14が受信し、応答比較部15に送るとともに、応答を返したコントローラを負荷チェック部12に通知する。この場合、応答受信部14は、受信した応答を一時的に保持し、3つのコントローラ20からの応答が揃った後、応答比較部15に送る。所定時間内に3つのコントローラ20の内の1つから応答がなかったときは、当該コントローラ20を負荷チェック部12に通知するとともに、例えばヌルデータのような予め定めた特定のデータを当該コントローラ20の応答として、他の2つの応答とともに応答比較部15に送る。
【0020】
ここで、所定時間内に応答がなかったときに応答のないコントローラ20を負荷チェック部12に通知するのは、負荷チェック部12で応答のないコントローラ20の未処理リクエストが処理されないまま残ることにより実行中のリクエストの数が所定数を超えて、動作中の2つのコントローラがリクエストを実行できなくなることを防ぐためである。
【0021】
応答比較部15は、応答受信部14から送られた3つのコントローラ20からの応答を比較し、内容の一致する応答が2つ以上ある場合のみ応答/リクエスト送受信部11へこの内容の応答を1つ送る。ただし、一致した内容がヌルデータのような予め定めた特定のデータであった場合は、その応答を送信しない。応答/リクエスト送受信部11へ送られた応答は、制御LAN3へ出力され、リクエスト元の監視装置2へ送信される。また、応答比較部15は、他と異なる内容の応答を返したコントローラを異常通知部16へ通知する。異常通知部16は、応答比較部15から通知されたコントローラに内部LAN40を介して異常通知を送信する。
【0022】
このネットワークインタフェース10は、制御LAN3用のLANインタフェースと、内部LAN40用のLANインタフェースと、処理タイミング信号103入力用のディジタル入力インタフェースと、ネットワークインタフェース10の機能を実現するプログラムを格納した不揮発性半導体メモリと、この不揮発性半導体メモリに格納されたプログラムを実行する演算処理装置(CPU)と、プログラム実行時の一時記憶に用いられるRAMと、これらを接続するバスとから構成されている。
【0023】
次に、コントローラ20について図3を参照して詳細に説明する。図3は、コントローラ20の機能ブロック図である。図3に示すように、コントローラ20は、リクエスト処理部21、データベース22、演算処理部23、入出力処理部24および異常処理部25を備えており、データベース22にはプロセス制御条件の設定値、計測データの現在値およびプロセス機器を制御する制御データが格納されている。この場合、内部LAN40に出力されたリクエストは、リクエスト処理部21で受信されてリクエスト内容が解析され、リクエストに応じた処理がリクエストに付加された処理タイミング情報に基づいて実行される。
【0024】
例えば、リクエストがプロセス制御条件の変更であれば、データベース22の指定された制御条件の設定値をリクエストで指示された設定値に書き換え、書き換えた設定値をデータベース22から読み出して応答内容とする。また、リクエストがプロセス条件の現在値の要求であれば、データベース22から指定されたプロセス条件の現在値を読み出して応答内容とする。このような応答は、リクエスト処理部21により内部LAN40に出力され、ネットワークインタフェース10へ送信される。この場合、リクエスト処理は、プロセス機器インタフェース30が出力する処理タイミング信号103を参照し、この信号の示す情報がリクエストに付加された処理タイミング情報と一致したときに実行する。
【0025】
演算処理部23は、所定のタイミングでデータベース22からプロセス制御条件の設定値とプロセス条件の現在値を読み出し、現在値を設定値に合わせるために必要な制御量を算出する制御演算を行い、演算結果を制御データとしてデータベース22に書き込む。入出力処理部24は、所定のタイミングでデータベース22から制御データを読み出してプロセス機器インタフェース30へ送信する。また、プロセス機器が計測したプロセスデータの送信を要求するコマンドをプロセス機器インタフェース30へ送信するとともに、プロセス機器インタフェース30から送信されるプロセス機器が計測したプロセスデータを受信し、現在値としてデータベース22に書き込む。
【0026】
また、リクエスト処理部21は、リクエストと同様にしてネットワークインタフェース10の異常通知部16が送信する異常通知を受信し、異常処理部25に通知する。入出力処理部24は、プロセス機器インタフェース30から送信される情報に異常通知が含まれているか否か確認し、異常通知が含まれているときは、異常処理部25に通知する。異常処理部25は、異常通知を受けるとコントローラ20の処理を停止させる。
【0027】
このコントローラ20は、内部LAN40用のLANインタフェースと、データ通信路50用の通信インタフェースと、処理タイミング信号103入力用のディジタル入力インタフェースと、コントローラ20の機能を実現するプログラムを格納した不揮発性半導体メモリと、この不揮発性半導体メモリに格納されたプログラムを実行する演算処理装置(CPU)と、データベース22の格納領域やプログラム実行時の一時記憶領域として用いられるRAMと、これらを接続するバスとから構成されている。また、このコントローラ20は、活線挿抜可能にして、3つのコントローラ20のうちの1つが故障した時はプロセス制御を継続したまま交換可能に構成されている。
【0028】
次に、プロセス機器インタフェース30について図4を参照して詳細に説明する。図4は、プロセス機器インタフェース30の機能ブロック図である。図4に示すように、プロセス機器インタフェース30は、コントローラ通信処理部31、データ比較部32、IOバス入出力処理部33、異常通知部34および処理タイミング信号生成部35を備えている。
【0029】
各コントローラ20がそれぞれのデータ通信路50を介して送信したコマンドや制御データは、コントローラ通信処理部31で受信され、データ比較部32に送られる。この場合、コントローラ通信処理部31は、受信データを一時的に保持し、3つのコントローラ20からの受信データが揃った後、データ比較部32に送る。所定時間内に3つのコントローラ20からの受信データが揃わなかったときは、例えばヌルデータのような予め定めた特定のデータを未受信コントローラ20の受信データとし、他の受信データとともにデータ比較部32に送る。
【0030】
データ比較部32は、コントローラ通信処理部31から送られた3つの受信データを比較し、内容の一致する受信データが2つ以上ある場合のみ、IOバス入出力処理部33へ内容の一致した受信データを1つ入力する。ただし、一致した内容がヌルデータのような予め定めた特定のデータであった場合は、送信しない。IOバス入出力処理部33へ送られたデータは、IOバス5へ出力され、プロセス機器4へ送信される。また、データ比較部32は、他と異なるデータを送信したコントローラを異常通知部34へ通知する。異常通知部34は、コントローラ通信処理部31を介してデータ比較部32から通知されたコントローラ20に異常通知を送信する。
【0031】
一方、プロセス機器4がIOバス5へ出力したデータは、IOバス入出力処理部33が受信し、コントローラ通信処理部31へ送られる。コントローラ通信処理部31は、送られたデータを3つのデータ通信路50にそれぞれ出力し、各コントローラ20に送信する。処理タイミング信号生成部35は、処理タイミング信号103を生成し、ネットワークインタフェース10と3つのコントローラ20とプロセス機器インタフェース30とに接続されているバスに出力する。
【0032】
ここで、処理タイミング信号103は、例えば3bitのパラレル信号であり、プロセス制御装置の1制御周期中に順次3bitの組み合わせから得られる8つの状態をとることにより、8個の処理タイミングを設けるものである。なお、処理タイミング信号103は3bitに限られるものではなく、1制御周期中に実行する処理の種類やコントローラ20の処理速度に応じて他のbit数に変更してもよい。
【0033】
このプロセス機器インタフェース30は、3つのデータ通信路50用の通信インタフェースと、IOバス5用インタフェースと、処理タイミング信号103出力用のディジタル出力インタフェースと、プロセス機器インタフェース30の機能を実現するプログラムを格納した不揮発性半導体メモリと、この不揮発性半導体メモリに格納されたプログラムを実行する演算処理装置(CPU)と、プログラム実行時の一時記憶に用いられるRAMと、これらを接続するバスとから構成されている。
【0034】
次に、このプロセス制御装置の動作について説明する。最初に、監視装置からのリクエストがないときの動作を説明する。図5は、第1の実施の形態のプロセス制御装置の動作を説明するシーケンス図であり、監視装置からのリクエストがないときの動作を示す。図5に示すように、このプロセス制御装置は、3つのコントローラ(コントローラA,コントローラB,コントローラC)が並列して同じ処理を実行している。
【0035】
ここで、周期n(nは自然数)の制御周期が開始されると、各々のコントローラは、処理タイミング信号が所定のタイミングとなったときにプロセス機器インタフェースに計測データ要求のコマンドを送信する。プロセス機器インタフェースは、各々のコントローラから送信されたコマンドの多数決を採って多数側のコマンドをプロセス機器に送信するとともに、このコマンドを受信したプロセス機器から送信される計測データを受信し、各々のコントローラに送信する。この場合、多数決の判定は、各々のコントローラから送信されたコマンドを比較し、2つ以上のコントローラからのコマンドが一致した場合に一致したコマンドを多数のコマンドと決することにより行う。
【0036】
各々のコントローラは、計測データを受信するとデータベースの現在値を更新し、所定の処理タイミングとなったらデータベースの設定値と現在値を入力とする制御演算を行い、データベースの制御データを演算結果で更新し、所定の処理タイミングとなったときにこの制御データをプロセス機器インタフェースに送信する。プロセス機器インタフェースは、各々のコントローラから送信された制御データの多数決を採って多数側の制御データをプロセス機器に送信し、プロセス機器を制御する。この場合も多数決の判定は、各々のコントローラから送信された制御データを比較し、2つ以上のコントローラからの制御データが一致した場合に一致した制御データを多数の制御データと決することにより行う。
【0037】
次に、監視装置からリクエストがなされたときの動作を説明する。図6は、第1の実施の形態のプロセス制御装置の動作を説明するシーケンス図であり、監視装置から計測データの現在値を要求するリクエストがなされたときの動作を示す。図6に示すように、3つのコントローラ(コントローラA,コントローラB,コントローラC)が周期n(nは自然数)の制御周期において同じ処理を並列に実行しているときに、ネットワークインタフェースがリクエストを受信すると、ネットワークインタフェースは、3つのコントローラの負荷チェックを行う。
【0038】
負荷チェックの結果、3つのコントローラがともにリクエストを実行可能であれば、リクエストに処理タイミング情報を付加して3つのコントローラに送信する。この場合、ネットワークインタフェースは、リクエストを実行するタイミングを指定する情報を処理タイミング情報として付加するが、リクエストを実行するタイミングには、処理が割り当てられていない処理タイミングを割り当てる。3つのコントローラは、各々リクエストを受信すると、処理タイミング情報で指定された処理タイミングでリクエストを実行する。
【0039】
この場合、3つのコントローラは、それぞれデータベースの現在値更新後の処理タイミングで各々のデータベースにアクセスし、現在値を読み出してネットワークインタフェースへリクエストに対する応答として送信する。ネットワークインタフェースは、各々のコントローラから送信された応答を受信し、これらの内容(現在値)を比較し、内容の一致する2つ以上の応答のうちのいずれか1つを制御LANに出力し、監視装置に送信する。この場合、応答内容は3つとも一致しているので、3つのコントローラは、以後も図5で説明したものと同じ動作を行う。ここで、3つのコントローラのリクエスト処理以外の処理タイミングにおける処理動作と、プロセス機器インタフェースの動作は、図5で説明したものと同じであるので説明を省略する。
【0040】
次に、ネットワークインタフェースが応答の不一致を検出したときの動作を説明する。図7は、第1の実施の形態のプロセス制御装置の動作を説明するシーケンス図であり、ネットワークインタフェースが3つのコントローラからの応答に不一致を検出したときの動作を示す。図7において、3つのコントローラがリクエストに付加された処理タイミング情報で指定された処理タイミングでリクエストを実行し、応答をネットワークインタフェースに送信するまでは、図6での説明と同じであるので、説明を省略する。
【0041】
ネットワークインタフェースが各々のコントローラから送信された応答を受信した後、これらの内容(現在値)を比較し、コントローラAの応答内容が他の2つのコントローラの応答内容と一致しないことを検出すると、ネットワークインタフェースは、内容が一致したコントローラBとコントローラCの応答をリクエストに対する応答として制御LANに出力し、監視装置に送信するとともに、コントローラAに異常通知を送信する。
【0042】
コントローラAは、異常通知を受信すると異常処理を実行し、制御演算処理からの切り離しを行う。一方、コントローラBとコントローラCは、以後も図5で説明したものと同じ動作を行う。ネットワークインタフェースとプロセス機器インタフェースは、コントローラAが切り離された後も、コントローラBとコントローラCの応答や制御データが一致している限り以前と同じ動作を行い、プロセス制御装置全体として無瞬断のプロセス制御を続行する。
【0043】
次に、プロセス機器インタフェースが3つのコントローラ間でコマンドや制御データに不一致を検出したときの動作を説明する。図8は、第1の実施の形態のプロセス制御装置の動作を説明するシーケンス図であり、プロセス機器インタフェースが3つのコントローラ間でコマンドや制御データに不一致を検出したときの動作を示す。図8において、3つのコントローラが所定の処理タイミングで指定された制御演算を実行し、演算結果の制御データをプロセス機器インタフェースに送信するまでは、図5での説明と同じであるので、説明を省略する。
【0044】
プロセス機器インタフェースが各々のコントローラから送信されたコマンドや制御データを受信した後、これらの内容を比較し、コントローラCの内容が他の2つのコントローラの内容と一致しないことを検出すると、プロセス機器インタフェースは、内容が一致したコントローラAとコントローラBのコマンドや制御データをIOバスに出力し、プロセス機器に送信するとともに、コントローラCに異常通知を送信する。
【0045】
コントローラCは、異常通知を受信すると異常処理を実行し、制御演算処理からの切り離しを行う。一方、コントローラAとコントローラBは、以後も図5で説明したものと同じ動作を行う。ネットワークインタフェースとプロセス機器インタフェースは、コントローラCが切り離された後も、コントローラAとコントローラBの応答や制御データが一致している限り以前と同じ動作を行い、プロセス制御装置全体として無瞬断のプロセス制御を続行する。
【0046】
以上説明したように、この実施の形態のプロセス制御装置は、制御演算処理を行うコントローラを3つ並列動作させるとともに、これらの出力するデータを比較し、2つ以上が一致している間、動作を続けるようにしたので、コントローラの1つに異常が生じて制御演算処理から切り離されても、無瞬断でプロセス制御を続行可能である。なお、この実施の形態では、コントローラを3つ並列動作させるものとして説明したが、この数は3つに限られるものではなく、3以上であればよい。並列動作させるコントローラの数を3より増やすにしたがい、無瞬断のプロセス制御を続行するのに許容されるコントローラの異常発生数を増やすことができる。よって、プロセス制御装置に求められる信頼性とコントローラの信頼性とに基づいて、最適な個数を選択すればよい。
【0047】
また、制御演算処理を行うコントローラを並列実行による冗長構成としたので、ネットワークインタフェースとプロセス機器インタフェースの信頼性を確保することで、コントローラに高信頼性を求めなくともプロセス制御装置全体としての信頼性を確保することができる。このため、コントローラに低価格の市販製品を用いることができ、信頼性を確保したままコストを下げることができる。また、世代交代の早い市販製品の利用が可能となることで、半導体技術の向上による処理能力の向上がタイムリーにでき、製品開発期間の短縮も可能となる。
【0048】
また、ネットワークインタフェースとプロセス機器インタフェースにより、コントローラの出力が正常であることを常時確認しているため、プロセス制御装置として十分な信頼性が確保できるので、コントローラの使用するメモリシステムにエラー訂正機能を設けなくてもよく、またエラー訂正機能では訂正不可能な宇宙線などに起因すると考えられるマルチビットエラーにも対処でき、より低コスト化を図ることができる。
【0049】
次に、図9および図10を参照して、並列動作する各コントローラ20で処理タイミングを同期させるための構成について説明する。図9はコントローラへ供給される処理タイミング信号を示す説明図である。図10は処理タイミング信号の構成例を示すタイミングチャートである。
図9に示すように、各コントローラ20には、プロセス機器インタフェース30の処理タイミング信号生成部35(図4参照)からタイミング信号バス51を介して処理タイミング信号103が並列的に供給されている。各コントローラ20のリクエスト処理部21、演算処理部23および入出力処理部24(図3参照)では、この処理タイミング信号103の内容に基づき処理内容を決定している。
【0050】
処理タイミング信号103は、図10に示すように、3bitのパラレル信号すなわち処理タイミング信号103A〜103Cからなり、1制御周期(例えば、100ms)ごとに巡回するコードが出力される。ここでは、1制御周期ごとに、コードの値に対応して8つの処理タイミングt1〜t8が設けられており、各コントローラ20では、そのコードの値に基づき処理タイミングを識別子、各処理タイミングに対して予め設定されている処理、例えば、上位の監視装置からの処理要求や下位のプロセス機器のための制御を実行する。
【0051】
このように、各コントローラ20に対して処理タイミング信号103を並列的に供給し、各コントローラ20では、その処理タイミング信号103に基づき処理する内容を決定するようにしたので、各コントローラ20間でほぼ同期して同一内容の処理を実行することが可能となる。
これにより、従来のように、各コントローラ20で共通の動作クロックを用いてそのマイクロプロセッサでの処理を完全に同期させる必要がなくなり、それぞれ個別の動作クロックを用いることが可能となる。
【0052】
したがって、各コントローラが特定動作タイミングに起因して発生する不具合を内在している場合でも、複数のコントローラで同時に不具合が発生する確率が極めて低くなり、これらコントローラの出力/応答を多数決判定することにより、プロセス制御装置1全体に対する影響を回避でき、安定した制御動作を実現できる。
また、共通クロックを用いて各コントローラの動作を同期させるための高価な回路構成が不要となり、製品コストを大幅に削減できる。さらには、コントローラとして完全に同一構成の装置を用いる必要がなくなり、システム構成として柔軟性が得られる。
【0053】
なお、処理タイミング信号103に用いるコードとしては、一般的な2進数を用いてもよい。このとき、複数ビットが同時に変化するため、コントローラ20でのビット検出にばらつきが生じた場合は、瞬間的に異なるコードとして認識される場合も考えられる。
本実施の形態では、処理タイミング信号103として、図10に示すようなグレイコードを用いている。このグレイコードとは、任意の値から次の値へ遷移する際、いずれか1ビットだけが変化するコードである。したがって、処理タイミングの変遷の際、ビット検出のばらつきによるコードの誤認を回避でき、各コントローラ20において、安定した処理タイミングの同期を実現できる。
【0054】
次に、図11および図12を参照して、ネットワークインタフェース10によるコントローラ管理処理について説明する。図11はネットワークインタフェース10から各コントローラ20へ送信されるリクエスト(メッセージ)の構成例である。図12は各コントローラでの処理スケジュール例である。
前述したように、ネットワークインタフェース10では、各コントローラ20へ処理を指示する際、リクエスト配信部13(図2参照)から内部LAN40を介してリクエストを送信する。
【0055】
このリクエストは、図11に示すように、イーサネット(登録商標)で用いるパケットの1つであり、パケットの送信先や送信元、パケット種別などパケットに関する情報を格納するヘッダ41と、リクエストの内容を示す情報を格納するデータ部42とから構成されている。
データ部42には、そのリクエストを識別するためのリクエストID43、リクエストの内容がコード化されたリクエスト内容44、そのリクエストを実行するタイミングを示す処理タイミング情報45が格納されている。例えば、各コントローラ20に対して設定値の変更を指示するリクエストの場合は、リクエスト内容44として、処理対象となるプロセス機器すなわち制御ポイントを示すポイントID44A、処理の種別を示す処理種別44Bとその処理に用いる処理データ44Cとがセットされている。また、処理タイミング情報45には、処理タイミング信号103で規定されるグレイコードがセットされている。
【0056】
各コントローラ20では、このようなリクエストをリクエスト処理部21で受信し、その内容を解析して実行する。このとき、処理の内容はリクエスト内容44から決定し、処理タイミングは処理タイミング情報45から決定する。
図11のリクエスト46の例では、処理種別44Bが「設定値更新」を示すことから、リクエスト処理部21は、処理データ44Cの「DB設定値」を取り出して、ポイントID44Aに対応する新たな設定値としてデータベース22へ書き込む。また、この処理は、プロセス機器インタフェース30からの処理タイミング信号103のグレイコードが「011」すなわち処理タイミングt3を示す場合に実行される。これにより、各コントローラ20において、次の処理タイミングt3に同期して一斉に新たな設定値が書き込まれることになる。
【0057】
また、図11のリクエスト47の例では、処理種別44Aが「現在値読み出し」を示すことから、リクエスト処理部21は、データベース22に格納されているプロセス機器から得られた現在値を読み出して、ネットワークインタフェース10へ通知する。また、この処理は、プロセス機器インタフェース30からの処理タイミング信号103のグレイコードが「101」すなわち処理タイミングt5を示す場合に実行される。これにより、各コントローラ20から、次の処理タイミングt5に同期して一斉に現在値が読み出されることになる。
なお、読み出された現在値は、応答によりコントローラ20からネットワークインタフェース10へ通知される。このとき、対応するリクエストのリクエストIDもその応答により通知することにより、各応答がどのリクエストに対応するものか識別するようにしてもよく、複数のリクエストが多重して発行される場合にも対応できる。
【0058】
このように、各コントローラ20に対して処理タイミング信号103を並列的に供給し、各コントローラ20では、その処理タイミング信号103に基づき処理する内容を決定するものとし、ネットワークインタフェース10から各コントローラ20へのリクエストで、要求した処理を実行するタイミングを指定するようにしたので、各コントローラ20間でほぼ同期して同一内容の処理を実行することが可能となり、コントローラの出力/応答を精度よく多数決判定することができる。
また、従来のように、各コントローラ20で共通の動作クロックを用いてそのマイクロプロセッサでの処理を完全に同期させる必要がなくなり、それぞれ個別の動作クロックを用いることが可能となる。
【0059】
したがって、各コントローラが特定動作タイミングに起因して発生する不具合を内在している場合でも、複数のコントローラで同時に不具合が発生する確率が極めて低くなり、安定した制御動作を実現できる。
また、共通クロックを用いて各コントローラの動作を同期させるための高価な回路構成が不要となり、製品コストを大幅に削減できる。さらには、コントローラとして完全に同一構成の装置を用いる必要がなくなり、システム構成として柔軟性が得られる。
【0060】
各コントローラ20では、このようにして、各処理タイミングごとに予め設定された処理が行われる。前述した図6のシーケンスでは、図12に示すように、まず処理タイミングt1で、プロセス機器への「計測データ要求」処理が行われ、処理タイミングt2で「リクエスト受付」処理が行われる。また、処理タイミングt3でプロセス機器から得られた計測データをデータベース22へ格納する「DB現在値更新」処理が行われ、処理タイミングt4でリクエストに基づく「DB現在値読み出し」処理が行われる。そして、処理が設定されていない処理タイミングt5の後、処理タイミングt6でプロセス機器への制御データを算出するための「制御演算」処理が行われ、処理タイミングt7でその演算結果をデータベース22へ格納する「DB制御データ更新」処理が行われ、処理タイミングt8でプロセス機器への「制御データ送信」処理が行われる。
【0061】
このような処理のスケジューリングは、ネットワークインタフェース10の負荷チェック部12で管理しており、新たな処理を要求する際には、処理が設定されていない処理タイミングを指定してリクエストを発行する。
このとき、監視装置2からの要求に基づきコントローラ20に対して新たな処理を要求する際、負荷チェック部12では、上記のようなスケジューリングに基づき受け入れ可否を判断する。過負荷であり受け入れできない場合あれば、監視装置2へ受け入れ不可を通知する。これにより、コントローラ20への過負荷を未然に回避でき、安定したプロセス制御を実現できる。
【0062】
なお、各処理タイミングでの処理は、すべてネットワークインタフェース10側からコントローラ20に対して指定してもよいが、各コントローラ20で行われる定常的な処理、例えば「計測データ要求」、「DB現在値更新」、「制御演算」、「DB制御データ更新」、「制御データ送信」などプロセス機器の制御に関する処理については、予めその処理タイミングを固定的に割り当てておくようにしてもよく、ネットワークインタフェース10でのリクエスト処理を省くことができる。
【0063】
次に、本発明の第2の実施の形態について説明する。この実施の形態のプロセス制御装置が第1の実施の形態と異なる点は、3つのコントローラのデータベースがそれぞれ正しいか否かの確認を行う自己診断機能を有することである。この自己診断機能は、図2で示したネットワークインタフェース10の応答/リクエスト送受信部11に、図3で示したデータベース22のデータを所定単位ごとに順次送信させるリクエストを所定間隔で発行するとともに、このリクエストに応じて応答/リクエスト送受信部11へ送られたデータを破棄する機能を設けることにより実現することができる。すなわち、ネットワークインタフェース10の機能を実現するプログラムを格納した不揮発性半導体メモリに、この自己診断機能を実現するプログラムを加えればよい。
【0064】
この場合、応答/リクエスト送受信部11が発行する自己診断機能のリクエストは、負荷チェック部12の働きによりコントローラ20の負荷が軽いときのみ3つのコントローラ20へ送信される。コントローラ20へ送信されたリクエストは、所定のタイミングでリクエスト処理部により実行され、データベース22のデータが所定単位ごとに読み出されて順次ネットワークインタフェース10へ送信させる。3つのコントローラ20から送信されたデータベース22のデータは、応答比較部15で比較され、不一致の検出されたコントローラが異常通知部16に通知される。これにより、異常通知部16が当該コントローラに異常通知を送信し、異常通知を受信したコントローラは、異常処理を実行し制御演算処理からの切り離しを行う。
【0065】
この実施の形態によれば、3つのコントローラ20のデータベース22のデータ比較をバックグランドで行うことで、データベース22のデータを格納するRAMのエラーなどを検出することができる。このため、頻繁に使用されない領域で発生したエラーを検出でき、異常の生じたコントローラ20を除くことができる。
【0066】
次に、図13を参照して、本発明の第3の実施の形態について説明する。図13は、本発明のプロセス制御装置にかかる第3の実施の形態を示すブロック図である。
この実施の形態のプロセス制御装置6が第1の実施の形態と異なる点は、ネットワークインタフェース10、プロセス機器インタフェース30、内部LAN40およびデータ通信路50をそれぞれ冗長構成としたことである。図13において、このプロセス制御装置6は、2つの同一構成のネットワークインタフェース10(ネットワークインタフェースA,ネットワークインタフェースB)と、3つの同一構成のコントローラ20(コントローラA,コントローラB,コントローラC)と、2つの同一構成のプロセス機器インタフェース30(プロセス機器インタフェースA,プロセス機器インタフェースB)を備えている。
【0067】
2つのネットワークインタフェース10は、系統の異なる内部LAN40(A系内部LAN,B系内部LAN)を介して3つのコントローラ20と接続されており、それぞれ3つのコントローラ20と相互通信可能に構成されている。この場合、ネットワークインタフェースAはA系内部LANを介し、ネットワークインタフェースBはB系内部LANを介して、3つのコントローラ20と接続されている。
【0068】
2つのプロセス機器インタフェース30は、それぞれ3つのコントローラ20と個別にデータ通信路50で接続されており、これらとの間で1対1の通信が可能に構成されている。また、2つのプロセス機器インタフェース30の間に制御信号線60が接続されており、相互に制御信号の伝達が可能に構成されている。
さらに、2つのプロセス機器インタフェース30は、各々が系統の異なる図示しないバスを介して2つのネットワークインタフェース10と3つのコントローラ20に接続されている。
【0069】
また、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バス)に接続されている。
【0070】
このプロセス制御装置6は、2つのネットワークインタフェース10と3つのコントローラ20が並列に動作し、2つのプロセス機器インタフェース30の一方がマスター(現用系)として常時動作し、他方がスレーブ(待機系)として待機している。2つのネットワークインタフェース10は、それぞれ系統の異なる制御LAN3を介して受信した監視装置2のリクエストを別々に3つのコントローラ20の各々に与えるとともに、このリクエストに対する3つのコントローラ20の各々からの応答の中から多数決によって定まる1つの応答を各々が接続された制御LAN3に出力して監視装置2へ回答する。
【0071】
2つのネットワークインタフェース10が第1の実施の形態若しくは第2の実施の形態で説明したものと異なる点は、処理タイミング信号入力用のディジタル入力インタフェースを2系統有し、マスターとスレーブの両方のプロセス機器インタフェース30から出力される処理タイミング信号が入力され、マスター側の処理タイミング信号が入力されなくなったときに、スレーブ側の処理タイミング信号に基づいて処理を続行するようにしたことである。
【0072】
3つのコントローラ20は、各々が2つのネットワークインタフェース10から与えられた同じリクエストのうち、先に与えられたリクエストのみ処理を行い、このリクエストに対する応答を2つのネットワークインタフェース10に出力する。また、プロセス機器4に対するコマンド生成やプロセス制御の演算を行い、生成したコマンドや演算結果を制御データとして2つのプロセス機器インタフェース30に出力する。
【0073】
ここで、2つのネットワークインタフェース10から与えられた同じリクエストのうち、先に与えられたリクエストのみ処理を行うことができるのは、監視装置の送信するリクエストがA系とB系で同じメッセージヘッダを有するため、応答/リクエスト送受信部11が同じメッセージを受信した場合、後から受信したメッセージを先に受信したものと同じメッセージと判定し、無視するためである。
【0074】
3つのコントローラ20が第1の実施の形態若しくは第2の実施の形態で説明したものと異なる点は、内部LAN40用のLANインタフェースと、データ通信路50用の通信インタフェースと、処理タイミング信号103入力用のディジタル入力インタフェースとをそれぞれ2系統有し、応答/リクエスト送受信部11が2つの内部LAN40を介して送受信を行うことと、入出力処理部24が2つのデータ通信路50を介して送受信を行うことと、マスターとスレーブの両方のプロセス機器インタフェース30から出力される処理タイミング信号が入力され、マスター側の処理タイミング信号が入力されなくなったときに、スレーブ側の処理タイミング信号に基づいて処理を続行するようにしたことである。
【0075】
プロセス機器インタフェース30は、マスター側が3つのコントローラ20の各々から出力される制御データの中から多数決によって定まる1つの制御データを2つのIOバス5に出力してプロセス機器4を制御し、スレーブ側が制御信号線60を介してマスター側の動作を確認する待機動作を行う。スレーブ側のプロセス機器インタフェース30は、マスター側の動作停止を検出するとマスターに切り替わる。また、2つのプロセス機器インタフェース30は、マスター側かスレーブ側かにかかわらず各々が接続された図示しないバスに処理タイミング信号を出力している。
【0076】
2つのプロセス機器インタフェース30が第1の実施の形態若しくは第2の実施の形態で説明したものと異なる点は、IOバス5用インタフェースを2系統有し、制御データを2つのIOバス5に出力可能に構成したことと、制御信号線60用のディジタル入出力インタフェースを有し、マスター・スレーブ切替可能に構成したことである。マスター・スレーブ切替は、例えば、マスターのときは常時、動作中を示す信号をディジタル入出力インタフェースに出力し、スレーブのときは常時、ディジタル入出力インタフェースに入力する信号を監視し、信号の入力が途絶すると自身をマスターに切り替えるプログラムを不揮発性半導体メモリに格納しておき、CPUがこのプログラムを実行するようにしておくことにより行うことができる。
【0077】
このように構成したので、この実施の形態のプロセス制御装置は、ネットワークインタフェース10、制御LAN3および内部LAN40のいずれかで異常が生じた場合であっても、監視装置2との通信が途絶することがないので、正常に処理を続行することができる。また、動作中のプロセス機器インタフェース30に異常が生じた場合であっても、待機中のプロセス機器インタフェース30によって処理を続行することができる。このように、この実施の形態のプロセス制御装置は、コントローラ20の1つに異常が生じて制御演算処理から切り離されても、無瞬断でプロセス制御を続行可能であるだけでなく、3つのコントローラ20に接続されたインタフェース部分に異常が生じた場合にも処理を続行することができる。このため、第1の実施の形態に比べて、さらに信頼性を向上することができる。
【0078】
この実施の形態では、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)とで構成してもよい。
【0079】
次に、図14を参照して、並列動作する各コントローラ20で処理タイミングを同期させるための構成について説明する。図14はコントローラへ供給される処理タイミング信号を示す説明図である。
図14に示すように、各コントローラ20には、プロセス機器インタフェース30の処理タイミング信号生成部35(図4参照)からタイミング信号バス51を介して処理タイミング信号103が並列的に供給されている。各コントローラ20のリクエスト処理部21、演算処理部23および入出力処理部24(図3参照)では、この処理タイミング信号103の内容に基づき処理内容を決定している。
【0080】
処理タイミング信号103は、図10に示すように、3bitのパラレル信号すなわち処理タイミング信号103A〜103Cからなり、1制御周期(例えば、100ms)ごとに巡回するコードが出力される。ここでは、1制御周期ごとに、コードの値に対応して8つの処理タイミングt1〜t8が設けられており、各コントローラ20では、そのコードの値に基づき処理タイミングを識別子、各処理タイミングに対して予め設定されている処理、例えば、上位の監視装置からの処理要求や下位のプロセス機器のための制御を実行する。
【0081】
本実施の形態では、各コントローラ20および各ネットワークインタフェース10には、2つのプロセス機器インタフェース30からそれぞれ個別に処理タイミング信号103が供給される。各コントローラ20および各ネットワークインタフェース10では、2つのプロセス機器インタフェース30から供給された処理タイミング信号103のうち、いずれかマスター側の処理タイミング信号を選択して処理タイミングの決定に用いる。選択の方法としては、プロセス機器インタフェース30との通信によりいずれがマスター側か判断してもよく、あるいはデフォルトでマスター側を予め決めておき、そのマスター側からの処理タイミング信号が停止するなど不具合が検出された場合に他方の処理タイミング信号へ切り替えるようにしてもよい。
【0082】
このように、プロセス機器インタフェース30を2重化した場合は、各プロセス機器インタフェース30からの処理タイミング信号103を各コントローラ20および各ネットワークインタフェース10を個別に供給し、各コントローラ20および各ネットワークインタフェース10では、2つのプロセス機器インタフェース30から供給された処理タイミング信号103のうち、いずれか現用系のものを選択して利用するようにしたので、各コントローラ20において、安定した処理タイミングの同期を実現できる。
【0083】
【発明の効果】
以上説明したように、本発明は、コントローラとして、ネットワークインタフェースとプロセス機器インタフェースとの間に並列的に設けられ、ネットワークインターフェースからのリクエストに付加されている処理タイミング情報で指示された処理タイミングで当該リクエストに対応する処理を実行するN個(Nは3以上の自然数)のコントローラを備え、ネットワークインタフェースのリクエスト配信部で、ネットワークを介して上位装置から受信したリクエストに、当該リクエストに対応する処理をコントローラが実行すべきタイミングを指示する処理タイミング情報を付加して各コントローラへ通知し、応答比較部で、当該リクエストに対する各コントローラからの応答を多数決判定して上位装置へ送信する1つの応答を決定するようにしたので、各コントローラ20間でほぼ同期して同一内容の処理を実行することが可能となり、コントローラの出力/応答を精度よく多数決判定することができる。
【0084】
また、従来のように、各コントローラで共通の動作クロックを用いてそのマイクロプロセッサでの処理を完全に同期させる必要がなくなり、それぞれ個別の動作クロックを用いることが可能となる。
したがって、各コントローラが特定動作タイミングに起因して発生する不具合を内在している場合でも、複数のコントローラで同時に不具合が発生する確率が極めて低くなり、安定した制御動作を実現できる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態にかかるプロセス制御装置の構成を示すブロック図である。
【図2】 図1のネットワークインタフェースの機能ブロック図である。
【図3】 図1のコントローラの機能ブロック図である。
【図4】 図1のプロセス機器インタフェースの機能ブロック図である。
【図5】 第1の実施の形態にかかるプロセス制御装置の動作を説明するシーケンス図である。
【図6】 第1の実施の形態にかかるプロセス制御装置の他の動作を説明するシーケンス図である。
【図7】 第1の実施の形態にかかるプロセス制御装置の他の動作を説明するシーケンス図である。
【図8】 第1の実施の形態にかかるプロセス制御装置の他の動作を説明するシーケンス図である。
【図9】 コントローラへ供給される処理タイミング信号を示す説明図である。
【図10】 処理タイミング信号の構成例を示すタイミングチャートである。
【図11】 リクエスト(メッセージ)の構成例である。
【図12】 各コントローラでの処理スケジュール例である。
【図13】 本発明の第3の実施の形態にかかるプロセス制御装置の構成を示すブロック図である。
【図14】 コントローラへ供給される処理タイミング信号を示す他の説明図である。
【符号の説明】
1,6…プロセス制御装置、2…監視装置、3…制御LAN、4…プロセス機器、5…IOバス、10…ネットワークインタフェース、11…応答/リクエスト送受信部、12…負荷チェック部、13…リクエスト配信部、14…応答受信部、15…応答比較部、16,34…異常通知部、20…コントローラ、21…リクエスト処理部、22…データベース、23…演算処理部、24…入出力処理部、25…異常処理部、30…プロセス機器インタフェース、31…コントローラ通信処理部、32…データ比較部、33…IOバス入出力処理部、35…処理タイミング信号生成部、40…内部LAN、50…データ通信路、51…タイミング信号バス、60…制御信号線、103…処理タイミング信号。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a process control apparatus, and more particularly to a process control apparatus having a redundant configuration.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, a process control apparatus used for process control of a plant or the like has a redundant structure provided with a plurality of controllers that perform control computation when high reliability is required.
A conventional process control apparatus having such a redundant structure generally includes a dual standby redundancy system that includes two controllers, a main system and a sub system, and switches to a standby sub controller when an abnormality occurs in the main system controller. is there.
[0003]
However, in such a redundant standby redundancy type process control device, when the controller switches from the primary system to the secondary system, the standby system starts processing after detecting the stop of the primary system. Therefore, there is a problem that it cannot be used for process control with a short process control cycle.
For this reason, there has been a demand for a process control apparatus that does not cause a control blank time even when an abnormality occurs in an operating controller.
[0004]
On the other hand, a system is conceivable in which three or more controllers having the same configuration are operated in parallel, a majority decision is made on the control outputs of these controllers, and process control is performed using the decision result.
Usually, in a process control device, processing requests from a higher-level monitoring device and control for lower-level process devices are processed by time sharing, so that different control calculation processes are performed in a short time. Therefore, in order to obtain a desired control calculation result by the above method, it is necessary to obtain a control calculation result for the same control calculation process from each controller.
[0005]
[Problems to be solved by the invention]
However, in a controller that performs various types of control arithmetic processing by executing a program with a microprocessor such as a CPU, a high-level monitoring device is used when each controller is executing specific control arithmetic processing. If there is an input from a lower-level process device at a specific timing, a malfunction such as a calculation error may occur.
[0006]
In order to solve such problems, a configuration is also conceivable in which an operation clock is input from the outside and the operation of each controller is completely synchronized. According to this configuration, however, a dedicated hardware is required and an expensive system is required. There was a problem of becoming. Even if the controllers having the same configuration are operated in complete synchronization based on a common operation clock in this way, the above-described problem occurs due to specific operation timing, so that three or more Even if the controller is operated in parallel, all the calculation results are different, and the problem cannot be avoided.
[0007]
In addition, when a request to each controller is overloaded, a response delay occurs only in one of the controllers, and it is not possible to guarantee the same processing.
Furthermore, if it is determined that such a timing shift is abnormal, the system is stopped unnecessarily, an excessive load is applied to the equipment, and the entire plant is seriously damaged.
The present invention is to solve such a problem, and when controlling a process by deciding a majority of control calculation results of three or more controllers operating in parallel, the control calculation results from each controller can be stabilized at the same time. It is an object to provide a process control apparatus that can be obtained.
[0008]
[Means for Solving the Problems]
In order to solve the above-described problems, a process control device according to the present invention notifies a controller that performs a control operation for process control, a request received from a host device via a network, and responds to the request. A network interface that sends a response from the controller to the host device, and a process equipment interface that sends control data to the process equipment connected to the IO bus and receives measurement data from the process equipment based on the control calculation in the controller Control the process based on the request received via the network interface, and control the process equipment by transmitting the obtained control data to the process control equipment via the process equipment interface. A process control device that outputs measurement data obtained from a process control device as a response from a controller to a network interface, and transmits the response from the network interface to a host device as a response, between the network interface and the process device interface as a controller. And N controllers (N is a natural number of 3 or more) that execute processing corresponding to the request at the processing timing indicated by the processing timing information added to the request from the network interface. In the request distribution unit of the network interface, a processing type for instructing the timing at which the controller should execute the processing corresponding to the request in response to the request received from the host device via the network. Notifies each controller by adding ring information, the response comparing unit, in which so as to determine a majority decision to the one to be transmitted to the host device in response to a response from the controller for the request.
[0009]
Regarding the processing timing, the request distribution unit selects the processing timing for processing a newly received request based on the processing status of the request transmitted to each controller, and adds processing timing information indicating the processing timing to the request. You may make it do.
[0010]
The load check unit of the network interface determines whether or not the newly received request can be accepted based on the processing status of the request sent to each controller, and passes the request to the request distribution unit only when the request is acceptable. Also good.
At this time, if the load check unit determines that the request cannot be accepted, the host device may be notified that the request cannot be executed.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing the configuration of the process control apparatus according to the first embodiment of the present invention. In FIG. 1, the
[0012]
The
[0013]
In such a configuration, the
Each of the three
[0014]
The
For this reason, even when an abnormality occurs in one of the
[0015]
Next, the
As shown in FIG. 2, the
[0016]
The request output from the monitoring device 2 to the
[0017]
In this case, the load check unit 12 determines that the next request can be accepted when the number of requests being executed by the
[0018]
The
[0019]
On the other hand, when a response to the request is transmitted from each of the three
[0020]
Here, when there is no response within a predetermined time, the
[0021]
The response comparison unit 15 compares the responses from the three
[0022]
The
[0023]
Next, the
[0024]
For example, if the request is a process control condition change, the setting value of the specified control condition in the database 22 is rewritten to the setting value specified by the request, and the rewritten setting value is read from the database 22 and used as the response content. If the request is a request for the current value of the process condition, the current value of the specified process condition is read from the database 22 and used as the response content. Such a response is output to the
[0025]
The
[0026]
Further, the request processing unit 21 receives the abnormality notification transmitted by the abnormality notification unit 16 of the
[0027]
The
[0028]
Next, the
[0029]
Commands and control data transmitted by each
[0030]
The
[0031]
On the other hand, the data output from the
[0032]
Here, the
[0033]
The
[0034]
Next, the operation of this process control apparatus will be described. First, the operation when there is no request from the monitoring device will be described. FIG. 5 is a sequence diagram for explaining the operation of the process control apparatus according to the first embodiment, and shows the operation when there is no request from the monitoring apparatus. As shown in FIG. 5, in this process control apparatus, three controllers (controller A, controller B, and controller C) execute the same processing in parallel.
[0035]
Here, when the control cycle of the cycle n (n is a natural number) is started, each controller transmits a measurement data request command to the process device interface when the processing timing signal reaches a predetermined timing. The process equipment interface takes a majority vote of commands sent from each controller, sends a command on the majority side to the process equipment, and receives measurement data sent from the process equipment that has received this command. Send to. In this case, the majority decision is made by comparing the commands transmitted from the respective controllers and determining that the matched command is a large number of commands when the commands from two or more controllers match.
[0036]
Each controller updates the current value of the database when it receives the measurement data, performs a control calculation with the database setting value and the current value as input when the predetermined processing timing is reached, and updates the control data of the database with the calculation result When the predetermined processing timing comes, this control data is transmitted to the process equipment interface. The process equipment interface controls the process equipment by taking the majority of the control data sent from each controller and transmitting the control data on the majority side to the process equipment. In this case as well, the majority decision is made by comparing the control data transmitted from each controller and determining the matched control data as a large number of control data when the control data from two or more controllers match.
[0037]
Next, the operation when a request is made from the monitoring device will be described. FIG. 6 is a sequence diagram for explaining the operation of the process control apparatus according to the first embodiment, and shows the operation when a request for requesting the current value of measurement data is made from the monitoring apparatus. As shown in FIG. 6, the network interface receives a request when three controllers (controller A, controller B, controller C) execute the same processing in parallel in the control cycle of cycle n (n is a natural number). Then, the network interface performs load checks on the three controllers.
[0038]
If the three controllers can execute the request as a result of the load check, processing timing information is added to the request and transmitted to the three controllers. In this case, the network interface adds information specifying the timing for executing the request as processing timing information, but assigns a processing timing to which processing is not assigned to the timing for executing the request. When each of the three controllers receives a request, the three controllers execute the request at the processing timing specified by the processing timing information.
[0039]
In this case, each of the three controllers accesses each database at the processing timing after updating the current value of the database, reads the current value, and transmits it to the network interface as a response to the request. The network interface receives the response transmitted from each controller, compares the contents (current values), and outputs one of two or more responses with matching contents to the control LAN. Send to monitoring device. In this case, since all three response contents match, the three controllers continue to perform the same operation as described with reference to FIG. Here, the processing operation at the processing timing other than the request processing of the three controllers and the operation of the process device interface are the same as those described with reference to FIG.
[0040]
Next, an operation when the network interface detects a response mismatch will be described. FIG. 7 is a sequence diagram for explaining the operation of the process control apparatus according to the first embodiment, and shows the operation when the network interface detects a mismatch in the responses from the three controllers. In FIG. 7, since the three controllers execute the request at the processing timing specified by the processing timing information added to the request and transmit a response to the network interface, the description is the same as the description in FIG. Is omitted.
[0041]
After the network interface receives the responses transmitted from the respective controllers, the contents (current values) are compared, and if the response contents of the controller A do not match the response contents of the other two controllers, the network interface The interface outputs the responses of the controllers B and C whose contents are the same as a response to the request to the control LAN, transmits the response to the monitoring device, and transmits an abnormality notification to the controller A.
[0042]
When the controller A receives the abnormality notification, the controller A executes the abnormality process and disconnects from the control calculation process. On the other hand, the controller B and the controller C continue to perform the same operation as described in FIG. Even after the controller A is disconnected, the network interface and the process equipment interface perform the same operation as before as long as the responses and control data of the controller B and the controller C coincide with each other. Continue control.
[0043]
Next, the operation when the process equipment interface detects a mismatch in commands and control data between the three controllers will be described. FIG. 8 is a sequence diagram for explaining the operation of the process control apparatus according to the first embodiment, and shows the operation when the process equipment interface detects a mismatch between commands and control data among the three controllers. In FIG. 8, since the three controllers execute the control calculation designated at a predetermined processing timing and transmit the control data of the calculation result to the process equipment interface, the description is the same as the description in FIG. Omitted.
[0044]
After the process equipment interface receives the command and control data transmitted from each controller, the process equipment interface compares the contents and detects that the contents of the controller C do not match the contents of the other two controllers. Outputs the command and control data of the controller A and the controller B whose contents are the same to the IO bus, transmits them to the process equipment, and transmits an abnormality notification to the controller C.
[0045]
When the controller C receives the abnormality notification, the controller C executes the abnormality process and disconnects from the control calculation process. On the other hand, the controller A and the controller B continue to perform the same operation as described in FIG. Even after the controller C is disconnected, the network interface and the process equipment interface perform the same operation as before as long as the responses and control data of the controller A and the controller B match. Continue control.
[0046]
As described above, the process control apparatus according to this embodiment operates three controllers that perform control arithmetic processing in parallel, compares these output data, and operates while two or more of them match. Therefore, even if an abnormality occurs in one of the controllers and the control calculation process is disconnected, the process control can be continued without interruption. In this embodiment, the three controllers are described as operating in parallel. However, the number is not limited to three, and may be three or more. As the number of controllers to be operated in parallel is increased from 3, the number of controller abnormalities that are allowed to continue uninterrupted process control can be increased. Therefore, an optimal number may be selected based on the reliability required for the process control device and the reliability of the controller.
[0047]
In addition, since the controller that performs control operation processing has a redundant configuration by parallel execution, ensuring the reliability of the network interface and the process equipment interface ensures the reliability of the entire process control device without requiring high reliability in the controller. Can be secured. For this reason, a low-price commercial product can be used for the controller, and the cost can be reduced while ensuring reliability. In addition, since it becomes possible to use commercially available products with early generation changes, it is possible to improve the processing capability in a timely manner by improving semiconductor technology, and to shorten the product development period.
[0048]
In addition, since the network interface and process equipment interface constantly check that the controller output is normal, sufficient reliability can be secured as a process control device, so the memory system used by the controller has an error correction function. It is not necessary to provide a multi-bit error that may be caused by a cosmic ray that cannot be corrected by the error correction function, thereby further reducing the cost.
[0049]
Next, with reference to FIG. 9 and FIG. 10, a configuration for synchronizing the processing timing in each
As shown in FIG. 9, the
[0050]
As shown in FIG. 10, the
[0051]
As described above, the
As a result, it is not necessary to completely synchronize the processing in the microprocessor using a common operation clock in each
[0052]
Therefore, even if each controller has a malfunction that occurs due to a specific operation timing, the probability of the malfunction occurring simultaneously in a plurality of controllers is extremely low, and the majority of the outputs / responses of these controllers are determined. The influence on the entire
In addition, an expensive circuit configuration for synchronizing the operations of the controllers using the common clock is unnecessary, and the product cost can be greatly reduced. Furthermore, it is not necessary to use a device having the same configuration as the controller, and the system configuration is flexible.
[0053]
As a code used for the
In the present embodiment, a gray code as shown in FIG. 10 is used as the
[0054]
Next, controller management processing by the
As described above, the
[0055]
As shown in FIG. 11, this request is one of the packets used in Ethernet (registered trademark), and includes a
The data part 42 stores a
[0056]
In each
In the example of the
[0057]
Further, in the example of the
The read current value is notified from the
[0058]
In this way, the
Further, unlike the prior art, it is not necessary to completely synchronize the processing in the microprocessor using the operation clock common to the
[0059]
Therefore, even when each controller has a malfunction that occurs due to the specific operation timing, the probability of the malfunction occurring simultaneously in a plurality of controllers is extremely low, and a stable control operation can be realized.
In addition, an expensive circuit configuration for synchronizing the operations of the controllers using the common clock is unnecessary, and the product cost can be greatly reduced. Furthermore, it is not necessary to use a device having the same configuration as the controller, and the system configuration is flexible.
[0060]
In each
[0061]
Such processing scheduling is managed by the load check unit 12 of the
At this time, when a new process is requested to the
[0062]
All processing at each processing timing may be specified to the
[0063]
Next, a second embodiment of the present invention will be described. The process control apparatus of this embodiment is different from the first embodiment in that it has a self-diagnosis function for confirming whether or not the databases of the three controllers are correct. This self-diagnosis function issues a request to the response / request transmission / reception unit 11 of the
[0064]
In this case, the request for the self-diagnosis function issued by the response / request transmission / reception unit 11 is transmitted to the three
[0065]
According to this embodiment, by comparing the data of the databases 22 of the three
[0066]
Next, a third embodiment of the present invention will be described with reference to FIG. FIG. 13 is a block diagram showing a third embodiment of the process control apparatus of the present invention.
The process control device 6 of this embodiment is different from the first embodiment in that the
[0067]
The two
[0068]
The two process equipment interfaces 30 are individually connected to the three
Further, the two process equipment interfaces 30 are connected to the two
[0069]
The two
[0070]
In this process control device 6, two
[0071]
The two
[0072]
Of the same requests given from the two
[0073]
Here, of the same requests given from the two
[0074]
The three
[0075]
The
[0076]
The two process device interfaces 30 are different from those described in the first embodiment or the second embodiment in that they have two interfaces for the IO bus 5 and output control data to the two IO buses 5. It is configured to be possible, and it has a digital input / output interface for the
[0077]
With this configuration, the process control apparatus according to this embodiment is disconnected from the monitoring apparatus 2 even when an abnormality occurs in any of the
[0078]
In this embodiment, all the devices connected to the three
[0079]
Next, with reference to FIG. 14, a configuration for synchronizing processing timings in the
As shown in FIG. 14, the
[0080]
As shown in FIG. 10, the
[0081]
In the present embodiment, processing timing signals 103 are individually supplied from the two process device interfaces 30 to each
[0082]
As described above, when the
[0083]
【The invention's effect】
As described above, the present invention is provided as a controller in parallel between the network interface and the process equipment interface, and is performed at the processing timing indicated by the processing timing information added to the request from the network interface. Provided with N (N is a natural number greater than or equal to 3) controllers that execute processing corresponding to the request, the request distribution unit of the network interface performs processing corresponding to the request on the request received from the host device via the network. Processing timing information for instructing the timing to be executed by the controller is added and notified to each controller, and the response comparison unit determines a majority of responses from each controller in response to the request and determines one response to be transmitted to the host device. I will do it Having to, it is possible to perform the processing of the same contents substantially synchronized between the
[0084]
Further, unlike the prior art, it is not necessary to completely synchronize the processing in the microprocessor using an operation clock common to the controllers, and it is possible to use individual operation clocks.
Therefore, even when each controller has a malfunction that occurs due to the specific operation timing, the probability of the malfunction occurring simultaneously in a plurality of controllers is extremely low, and a stable control operation can be realized.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a process control apparatus according to a first embodiment of the present invention.
FIG. 2 is a functional block diagram of the network interface of FIG. 1;
FIG. 3 is a functional block diagram of the controller of FIG. 1;
4 is a functional block diagram of the process equipment interface of FIG. 1. FIG.
FIG. 5 is a sequence diagram for explaining the operation of the process control apparatus according to the first embodiment;
FIG. 6 is a sequence diagram illustrating another operation of the process control apparatus according to the first embodiment.
FIG. 7 is a sequence diagram illustrating another operation of the process control apparatus according to the first embodiment.
FIG. 8 is a sequence diagram illustrating another operation of the process control apparatus according to the first embodiment.
FIG. 9 is an explanatory diagram showing a processing timing signal supplied to a controller.
FIG. 10 is a timing chart illustrating a configuration example of a processing timing signal.
FIG. 11 is a configuration example of a request (message).
FIG. 12 is an example of a processing schedule in each controller.
FIG. 13 is a block diagram showing a configuration of a process control apparatus according to a third embodiment of the present invention.
FIG. 14 is another explanatory diagram showing a processing timing signal supplied to the controller.
[Explanation of symbols]
DESCRIPTION OF
Claims (4)
前記コントローラとして、前記ネットワークインタフェースと前記プロセス機器インタフェースとの間に並列的に設けられ、前記ネットワークインターフェースからのリクエストに付加されている処理タイミング情報で指示された処理タイミングで当該リクエストに対応する処理を実行するN個(Nは3以上の自然数)のコントローラを備え、
前記ネットワークインタフェースは、前記ネットワークを介して前記上位装置から受信したリクエストに、当該リクエストに対応する処理を前記コントローラが実行すべきタイミングを指示する処理タイミング情報を付加して前記各コントローラへ通知するリクエスト配信部と、当該リクエストに対する前記各コントローラからの応答を多数決判定して前記上位装置へ送信する1つの応答を決定する応答比較部とを有することを特徴とするプロセス制御装置。A controller for performing a control operation for process control, a network interface for notifying the controller of a request received from a host device via a network, and transmitting a response from the controller to the request to the host device; A process device interface for transmitting control data to a process device connected to the IO bus based on a control operation in the controller and receiving measurement data from the process device, and received via the network interface The process control is performed by the controller based on the request, and the process equipment is controlled by transmitting the obtained control data to the process control equipment via the process equipment interface, and the process control The measurement data obtained from the vessel was output to the network interface as a response from the controller, a process control device that transmits as a response from the network interface to the host system,
The controller is provided in parallel between the network interface and the process equipment interface, and performs processing corresponding to the request at the processing timing indicated by the processing timing information added to the request from the network interface. N controllers to execute (N is a natural number of 3 or more)
The network interface adds a processing timing information indicating the timing at which the controller should execute processing corresponding to the request to the request received from the host device via the network, and notifies the controller of the request. A process control device comprising: a distribution unit; and a response comparison unit that determines a response to be sent to the host device by determining majority responses from the controllers in response to the request.
前記リクエスト配信部は、前記各コントローラへ送信したリクエストの処理状況に基づいて、新たに受信したリクエストを処理する処理タイミングを選択し、その処理タイミングを示す処理タイミング情報を当該リクエストに付加することを特徴とするプロセス制御装置。The process control apparatus according to claim 1, wherein
The request delivery unit selects processing timing for processing a newly received request based on the processing status of the request transmitted to each controller, and adds processing timing information indicating the processing timing to the request. Feature process control device.
前記ネットワークインタフェースは、前記各コントローラへ送信したリクエストの処理状況に基づいて、新たに受信したリクエストの受け入れ可否を判断し、受け入れ可の場合にのみ当該リクエストを前記リクエスト配信部へ渡す負荷チェック部を有することを特徴とするプロセス制御装置。In the process control device according to claim 1 or 2,
The network interface determines whether or not to accept a newly received request based on the processing status of the request transmitted to each of the controllers, and a load check unit that passes the request to the request distribution unit only when the request is acceptable A process control apparatus comprising:
前記負荷チェック部は、前記リクエストが受け入れ不可と判断された場合は、前記上位装置に対してリクエスト実行不可を通知することを特徴とするプロセス制御装置。The process control apparatus according to claim 3, wherein
The process control device, wherein the load check unit notifies the host device that the request cannot be executed when it is determined that the request cannot be accepted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001341017A JP3706332B2 (en) | 2001-11-06 | 2001-11-06 | Process control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001341017A JP3706332B2 (en) | 2001-11-06 | 2001-11-06 | Process control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003140709A JP2003140709A (en) | 2003-05-16 |
JP3706332B2 true JP3706332B2 (en) | 2005-10-12 |
Family
ID=19155127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001341017A Expired - Lifetime JP3706332B2 (en) | 2001-11-06 | 2001-11-06 | Process control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3706332B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5319499B2 (en) * | 2009-11-11 | 2013-10-16 | 株式会社日立製作所 | Multiplexing controller |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5559502A (en) * | 1978-10-30 | 1980-05-06 | Toshiba Corp | Synchronous adjustment method for process controller's dual control |
JPH11167406A (en) * | 1997-12-03 | 1999-06-22 | Olympus Optical Co Ltd | Distributed control system and control method of the same |
JP4558111B2 (en) * | 1998-08-17 | 2010-10-06 | 株式会社Ihi | Data change method for triple fault tolerant system |
JP2000090057A (en) * | 1998-09-11 | 2000-03-31 | Omron Corp | Group object and control system |
-
2001
- 2001-11-06 JP JP2001341017A patent/JP3706332B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003140709A (en) | 2003-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934111B2 (en) | Control and data transmission system, process device, and method for redundant process control with decentralized redundancy | |
US9170569B2 (en) | Method for electing an active master device from two redundant master devices | |
KR101519719B1 (en) | Message process method of gateway | |
US11904918B2 (en) | Computer interlocking system and switching control method for the same, device, and storage medium | |
US6038683A (en) | Replicated controller and fault recovery method thereof | |
JPH10154991A (en) | Control system using plc | |
JP2020021341A (en) | Redundant system | |
KR101560497B1 (en) | Method for controlling reset of lockstep replicated processor cores and lockstep system using the same | |
EP0580938B1 (en) | Duplex communication control device | |
JP3884643B2 (en) | Process control device | |
US9003067B2 (en) | Network and method for operating the network | |
JP3706332B2 (en) | Process control device | |
US11301236B2 (en) | Updating components of a modular system | |
CN117970778A (en) | Programmable controller system and control method thereof | |
JP2008146236A (en) | Duplex control device and redundancy method of its control right setting signal | |
JP3867047B2 (en) | Fault tolerant computer array and method of operation thereof | |
JP2003140704A (en) | Process controller | |
JP7358819B2 (en) | IO module duplication control device and method | |
JP2023546475A (en) | Data processing network for data processing | |
US7000049B1 (en) | Systems and methods for reliably selecting bus mastership in a fault tolerant manner | |
JPH0326936B2 (en) | ||
JPS62187901A (en) | Control method of redundant controller | |
CN109491236B (en) | Method for operating a high-availability automation system | |
JP3904987B2 (en) | Data transmission method | |
JPS6031669A (en) | Multiple control system of computer control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040601 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050719 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050726 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050728 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3706332 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080805 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090805 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100805 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100805 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110805 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120805 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130805 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130805 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140805 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |