(57)【特許請求の範囲】
【請求項１】
１つの制御対象に対しセンサ及び制御演算を実行するＣＰＵを備えた３つの同等の制御系を稼働させ、各制御系のセンサで得られる３つの入力信号から最適なものを選択して制御演算に使用すると共に、これら３つの制御演算結果から最適なものを選択して出力信号に採用する三重系フォールトトレラントシステムにおいて、各制御系に、制御系間で相互に上記入力信号又は制御演算結果をデータ転送する機能及び制御系間で同期信号の交換を行う機能を有するＶＢＵＳ基板を設け、上記ＣＰＵは少なくともＶＭＥバス互換性のある汎用ＣＰＵ基板に搭載し、この汎用ＣＰＵ基板と上記ＶＢＵＳ基板とをＶＭＥバスを介して相互接続し、各制御系のＶＢＵＳ基板同士をデータ転送及び同期専用のＶバス伝送路で相互接続し、上記汎用ＣＰＵ基板がソフトウェアにより同期タイミング信号を発生させ、この同期タイミング信号を自制御系の汎用ＣＰＵ基板から受けたＶＢＵＳ基板が他の制御系と同期信号を交換するようにしたことを特徴とする三重系フォールトトレラントシステム。
【請求項２】
上記汎用ＣＰＵ基板は、基板内外の双方からアクセス可能なデュアルポートメモリを備え、このデュアルポートメモリにＣＰＵから自制御系の入力信号又は制御演算結果のデータを書き込み、このデータをＶＢＵＳ基板が取り出して他の制御系のＶＢＵＳ基板に転送すると共に、他の２つの制御系から転送されたデータをＶＢＵＳ基板からデュアルポートメモリに書き込み、これらデュアルポートメモリに書き込まれた３つのデータから最適なものを選択できるようにしたことを特徴とする請求項１記載の三重系フォールトトレラントシステム。
【請求項３】
各制御系は、同時に繰り返される制御演算周期を有し、１回の制御演算周期内に、センサからの入力、入力信号のデータ転送及び選択、制御演算、制御演算結果のデータ転送及び選択、出力を順次行い、このサイクルの終了から次回サイクルの開始までは上記データ転送に要した待ち時間を吸収するための空き時間とすることを特徴とする請求項１又は２記載の三重系フォールトトレラントシステム。
【請求項４】
上記汎用ＣＰＵ基板は、発振子クロックを計数して周期パルスを発生するハードウェアカウンタを備え、そのＣＰＵは、上記周期パルスを計数するソフトウェアカウンタを備え、この計数により同一時間で繰り返される制御演算周期を発生させると共に、この制御演算周期より十分大きい時間間隔で同期タイミング信号を発生させ、各ＶＢＵＳ基板は、自制御系の汎用ＣＰＵ基板からの同期タイミング信号を受けて同期信号を自制御系及び他の制御系のＶＢＵＳ基板に出力すると共に、自制御系からの同期信号又は他の制御系からの同期信号に基づき自制御系のＣＰＵに同期割り込みを発生させ、このＣＰＵは同期割り込み処理により上記ハードウェアカウンタ及びソフトウェアカウンタをリセットすることを特徴とする請求項１〜３いずれか記載の三重系フォールトトレラントシステム。
【請求項５】
各制御系は、順次、時間間隔Ｔで交替し、時間間隔３Ｔで一巡するよう同期信号を発生することを特徴とする請求項４記載の三重系フォールトトレラントシステム。
【請求項６】
上記ＣＰＵは、同期割り込み処理内で、当該同期割り込みの基になった同期信号の発生元が自制御系であれば自制御系の次の同期信号の発生時期を時間間隔３Ｔに設定し、他の制御系であれば自制御系の次の同期信号の発生時期を時間間隔Ｔ又は２Ｔに設定することを特徴とする請求項５記載の三重系フォールトトレラントシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、１つの制御対象に対し３つの同等の制御系を稼働させ、最適な出力を取り出せると共に１つの制御系がダウンしてもシステムが維持できるようにした三重系フォールトトレラントシステムに係り、特に、構成が簡素でバージョンアップが容易な三重系フォールトトレラントシステムに関するものである。
【０００２】
【従来の技術】
一般に、プラントの制御装置は、プラントよりプロセスデータを入力し、所定の制御則に基づいた制御演算を実行し、その制御演算結果をプラントに出力するものである。このようなプラントの制御装置には、制御装置がダウンしてもプラントの正常な稼働が維持できるように、三重系フォールトトレラントシステムを採用したものがある。即ち、１つの制御対象に対しセンサ及び制御演算を実行するＣＰＵを備えた３つの同等の制御系を稼働させ、各制御系のセンサで得られる３つの入力信号から最適なものを選択して制御演算に使用すると共に、これら３つの制御演算結果から最適なものを選択して出力信号に採用するようになっている。選択の方法は、中間値を選ぶ、多数ある値を選ぶ、安全な値を選ぶなど、種々考えられる。以下では、種々の選択方法を総称して多数決（ボーティング）処理と呼ぶことがある。
【０００３】
図８に示されるように、３つの制御系には、それぞれ、センサ８１からなる検出部８２、システム部８３、アクチュエータ８４に接続される操作端８５があり、システム部８３は入力部８６、中央演算部８７、出力部８８に分けることができる。中央演算部８７は制御演算を実行するＣＰＵ８９で構成され、１つ１つの制御系がプラントを制御する能力を持っている。三重系フォールトトレラントシステムを構成するために、全制御系の入力部８６の入力信号がＶバス伝送路９０を介して各中央演算部８７に取り込めるようになっており、各中央演算部８７の入力側には入力信号を選択する選択部９１が設けられていると共に、全中央演算部８７の演算結果がＶバス伝送路９２を介して各中央演算部８７に取り込めるようになっており、各中央演算部８７の出力側には演算結果を選択する選択部９３が設けられ、それぞれの選択部９３から出力部８８に選択された演算結果が届くようになっている。そして、操作端８５では各出力部８８の出力信号から１つを選んで使用する構成となっている。
【０００４】
なお、センサは必ずしも３つ要さず、重要性の低いものについては１つのみ使用し、各制御系で共有してもよい。
【０００５】
具体的な動作を図中に記された値を用いて説明すると、例えば、アクチュエータ８４がピストンであるとし、この１つのピストンのストロークを検出するために３個のセンサＡ，Ｂ，Ｃが取り付けられているものとする。理想的には各センサ値は一致するはずであるが、故障や取り付けの緩み、経時変化の個体差等により異なる値となる。ここで各センサ値が、４．９，５．０，７．８のとき、各入力部８６には４．９，５．０，７．８が得られる。これらの値は、Ｖバス伝送路９０を介して各中央演算部８７に転送される。各中央演算部８７の入力側の選択部９１では、５．０が選択される。これは中間値を選ぶという選択方法により、最大値７．８と最小値４．９が取り除かれたものである。演算結果が８．１，５．２，８．１だったとする。これらの値は、Ｖバス伝送路９２を介して各中央演算部８７に転送される。各中央演算部８７の出力側の選択部９３では、８．１が選択される。これも中間値を選ぶという選択方法により、１つの最大値８．１と最小値５．２が取り除かれたものである。操作端８５では２／３(2 out of 3)制御により、安全な値が選ばれ、ピストンの駆動に使用される。
【０００６】
以上のように、三重系フォールトトレラントシステムにあっては、３つの制御系で多数決処理を行うことによりデータの信頼性が高められ、また、１つの制御系が何等かの障害によりダウンした際にも、他の２つの制御系によりプラントの正常な稼働が維持できる。
【０００７】
上記のように三重系フォールトトレラントシステムを構成するためには、それぞれの制御系のシステム部８３に入力部８６、中央演算部８７、出力部８８が必要であるだけでなく、これら制御系がＶバス伝送路９０，９２を利用して相互にデータ転送可能でなければならない。３つの制御系は各々がデータ通信回路（図示せず）を備えると共に同期用回路（図示せず）を備え、同期を取りながらデータを転送しあうようになっている。
【０００８】
従来のプラントの制御装置では、各制御系のシステム部８３としてＣＰＵ基板を設け、それぞれのＣＰＵ基板上にＣＰＵ等の演算回路と、上記データ通信回路及び同期用回路とを搭載している。
【０００９】
【発明が解決しようとする課題】
ところで、ＣＰＵ等の演算回路の進歩は目覚ましく、次々に高性能のものが発表される。制御系の性能向上のためにも随時新しい高性能のＣＰＵに置き換え、バージョンアップしていく必要がある。一方、データ転送の方式や速度などはプラントの制御装置の要求から決まり、大きく変化することはないので、データ通信回路及び同期用回路はバージョンアップのときにも同じままである。しかし、ひとつのＣＰＵ基板上に演算回路と、データ通信回路及び同期用回路とが搭載されているので、バージョンアップを行うと、旧ＣＰＵ基板上のデータ通信回路及び同期用回路は取り替える必要がないにもかかわらず演算回路と共に廃棄されてしまう。
【００１０】
また、上記ＣＰＵ基板は、データ通信回路及び同期用回路を搭載した特殊で複雑な回路構成をしており、普及している汎用のＣＰＵ基板とは大きく異なる。このためＣＰＵ基板のコストは割り高となる。
【００１１】
そこで、本発明の目的は、上記課題を解決し、構成が簡素でバージョンアップが容易な三重系フォールトトレラントシステムを提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するために本発明は、１つの制御対象に対しセンサ及び制御演算を実行するＣＰＵを備えた３つの同等の制御系を稼働させ、各制御系のセンサで得られる３つの入力信号から最適なものを選択して制御演算に使用すると共に、これら３つの制御演算結果から最適なものを選択して出力信号に採用する三重系フォールトトレラントシステムにおいて、各制御系に、制御系間で相互に上記入力信号又は制御演算結果をデータ転送する機能及び制御系間で同期信号の交換を行う機能を有するＶＢＵＳ基板を設け、上記ＣＰＵは少なくともＶＭＥバス互換性のある汎用ＣＰＵ基板に搭載し、この汎用ＣＰＵ基板と上記ＶＢＵＳ基板とをＶＭＥバスを介して相互接続し、各制御系のＶＢＵＳ基板同士をデータ転送及び同期専用のＶバス伝送路で相互接続し、上記汎用ＣＰＵ基板がソフトウェアにより同期タイミング信号を発生させ、この同期タイミング信号を自制御系の汎用ＣＰＵ基板から受けたＶＢＵＳ基板が他の制御系と同期信号を交換するようにしたものである。
【００１３】
上記汎用ＣＰＵ基板は、基板内外の双方からアクセス可能なデュアルポートメモリを備え、このデュアルポートメモリにＣＰＵから自制御系の入力信号又は制御演算結果のデータを書き込み、このデータをＶＢＵＳ基板が取り出して他の制御系のＶＢＵＳ基板に転送すると共に、他の２つの制御系から転送されたデータをＶＢＵＳ基板からデュアルポートメモリに書き込み、これらデュアルポートメモリに書き込まれた３つのデータから最適なものを選択できるようにしてもよい。
【００１４】
各制御系は、同時に繰り返される制御演算周期を有し、１回の制御演算周期内に、センサからの入力、入力信号のデータ転送及び選択、制御演算、制御演算結果のデータ転送及び選択、出力を順次行い、このサイクルの終了から次回サイクルの開始までは上記データ転送に要した待ち時間を吸収するための空き時間としてもよい。
【００１５】
上記汎用ＣＰＵ基板は、発振子クロックを計数して周期パルスを発生するハードウェアカウンタを備え、そのＣＰＵは、上記周期パルスを計数するソフトウェアカウンタを備え、この計数により同一時間で繰り返される制御演算周期を発生させると共に、この制御演算周期より十分大きい時間間隔で同期タイミング信号を発生させ、各ＶＢＵＳ基板は、自制御系の汎用ＣＰＵ基板からの同期タイミング信号を受けて同期信号を自制御系及び他の制御系のＶＢＵＳ基板に出力すると共に、自制御系からの同期信号又は他の制御系からの同期信号に基づき自制御系のＣＰＵに同期割り込みを発生させ、このＣＰＵは同期割り込み処理により上記ハードウェアカウンタ及びソフトウェアカウンタをリセットしてもよい。
【００１６】
各制御系は、順次、時間間隔Ｔで交替し、時間間隔３Ｔで一巡するよう同期信号を発生してもよい。
【００１７】
上記ＣＰＵは、同期割り込み処理内で、当該同期割り込みの基になった同期信号の発生元が自制御系であれば自制御系の次の同期信号の発生時期を時間間隔３Ｔに設定し、他の制御系であれば自制御系の次の同期信号の発生時期を時間間隔Ｔ又は２Ｔに設定してもよい。
【００１８】
【発明の実施の形態】
以下、本発明の一実施形態を添付図面に基づいて詳述する。
【００１９】
図１に示されるように、三重系フォールトトレラントシステムには、３つのユニット＃１，＃２，＃３が設けられている。各ユニットの構成は同一であるから、ユニット＃１についてのみ説明する。
【００２０】
ユニット＃１は、本発明に係るＶＢＵＳ基板１と汎用ＣＰＵ基板２と入力モジュール基板（図示せず）と出力モジュール基板（図示せず）とからなる。入力モジュール基板は、プラントからのデータを入力するもので、デジタル入力基板、アナログ入力基板等が含まれる。また、出力モジュール基板は、プラントへデータを出力するもので、デジタル出力基板、アナログ出力基板等が含まれる。汎用ＣＰＵ基板２は、少なくともＶＭＥバス互換性のあるものであればよく、これに搭載されるＣＰＵは、本発明に係る制御演算等のソフトウェア及びこのシステム全体の制御ソフトウェアを実行するようになっている。ＶＢＵＳ基板１はユニット間でのデータ転送と同期信号の交換を行う機能を有し、ＶＭＥバス３を介して汎用ＣＰＵ基板２と相互接続されている。ＶＭＥバス３は公知の標準バスであるから、説明を省略する。また、各ユニットのＶＢＵＳ基板１同士は、データ転送及び同期信号交換用のＶバス伝送路４で相互接続されている。このＶバス伝送路４は、後述のように入力時・出力時の２回使用されるが、実際の伝送路は１つであり、時分割で使用される。伝送路の例として、１６ｂｉｔ並列のデータバス及び制御バスからなる高速伝送路を用い、最大５Ｍｗｏｒｄ／ｓｅｃの送信能力を持たせるものとする。
【００２１】
なお、図１のユニットは図８の従来技術におけるシステム部８３に相当しており、検出部８２、操作端８５は従来と同じである。従って、本発明に係る制御系の説明はユニットの説明で十分である。
【００２２】
図１に詳しく示されるように、汎用ＣＰＵ基板２は、入出力・制御演算ソフトウェア５が出力したデータをＶＢＵＳ基板１に受け渡す送信領域６と、ＶＢＵＳ基板１から他のユニットのデータを受け取る２つの受信領域７，８とを有し、ＣＰＵは、これら受信領域７，８及び送信領域６のデータから最適なものを選択する多数決ソフトウェア９を実行するようになっている。受信領域７，８及び送信領域６は、基板内外の双方からアクセス可能なデュアルポートメモリで実現されている。
【００２３】
次に、制御演算サイクルについて説明する。
【００２４】
図２に示されるように、各ユニット＃１，＃２，＃３は、制御演算サイクルを実行するようになっている。制御演算サイクルは、センサからの入力を行う入力処理２１、入力信号のデータ転送を行う入力ＶＢＵＳ伝送処理２２、入力信号の選択を行う入力多数決処理２３、制御演算処理２４、制御演算結果のデータ転送を行う出力ＶＢＵＳ伝送処理２５、制御演算結果の選択を行う出力多数決処理２６、選択した出力信号をプラントに出力する出力処理２７の順で行われる。図示されるように、３つのユニットが同期を取り、制御演算サイクルの開始が同時になっている。この同期については後述する。ここでは、制御演算サイクルの終了（出力処理２７）から次回の制御演算サイクルの開始（入力処理２１）までに時間不定の空き時間２８が設けられ、この空き時間２８があることによって制御演算サイクルの時間が増減しても制御演算周期２９は一定であり、３つのユニット＃１，＃２，＃３が同時に制御演算周期２９を繰り返すことを特徴とする。制御演算周期は例えば１０ｍｓｅｃである。
【００２５】
各処理の内容を詳しく説明する。
【００２６】
（１）入力処理２１；プラントに設置されたセンサからのデジタルデータ或いはアナログデータを入力モジュール基板経由で汎用ＣＰＵ基板２に入力する。
【００２７】
（２）入力ＶＢＵＳ伝送処理２２；入力したデータを自ユニット及び他の２ユニット相互間で送受信する。
【００２８】
（３）入力多数決処理２３；他の２ユニットから受信したデータ及び自ユニットのデータからなる３つのデータで多数決を行い、最も確からしい値（最適値）を決定する。
【００２９】
（４）制御演算処理２４；最適値を使ってプラント固有の制御則に基づいて制御演算を行う。
【００３０】
（５）出力ＶＢＵＳ伝送処理２５；演算結果及び内部データ（積分値等）を自ユニット及び他の２ユニット相互間で送受信する。
【００３１】
（６）出力多数決処理２６；他の２ユニットから受信したデータ及び自ユニットのデータからなる３つのデータで多数決を行い、最も確からしい値（最適値）を決定する。
【００３２】
（７）出力処理２７；最適値をプラントに設置された操作端に出力する。
【００３３】
上述の（２）及び（５）のＶＢＵＳ伝送にあっては、その次に行う多数決処理のためにデータを揃える必要から、３つのユニットが同じタイミングでデータ送信を行わなければならない。送信タイミングにずれが生じると、３つのデータが揃うまでに時間を要し、その間、多数決処理に移行できなくなるため、制御演算サイクルに支障を来す。そこで、同期を取り、制御演算サイクルの開始を一致させ、ＶＢＵＳ伝送のタイミングを揃えているのである。しかし、厳密には、完全に送信タイミングを一致させることは不可能である。そこで、自ユニットがデータを送信した後、他の２つのユニットからのデータ受信が完了するまでに一定の待ち時間（図示せず）を設けて冗長性を持たせている。
【００３４】
この待ち時間は、以下の条件から決められる。
【００３５】
（１）データ伝送サイズに対応し、データ伝送を完了するのに十分な時間であること。
【００３６】
（２）この待ち時間を最大使っても制御演算サイクルの終了が制御演算周期２９を超えないこと。
【００３７】
また、この待ち時間の間にデータが受信できない場合（これを受信オーバタイムという）は、受信できたデータ（自ユニットのデータ、他の１つのユニットからのデータ）のみで多数決処理に進む。なお、多数決処理では、３データが揃わなかった場合にも対応する多数決方法が採られている。
【００３８】
【表１】
0003694987.tif 000002
【００３９】
表１は、縦の欄には、アナログ入力値、アナログ出力値、アナログ内部値、接点入力値、接点出力値、接点内部値の欄が設けられ、横の欄には、有効データ数０〜３の欄が設けられ、それぞれが交差する欄に各値がどのように選択されるかが記入されている。この表１の意味は、次の通りである。
【００４０】
即ち、有効データが全く得られない場合、アナログ入力や接点入力には前回値をそのまま採用する。有効データが１つしか得られない場合、そのデータ（今回値）を採用する。有効データが２つ得られた場合、アナログ入力では、推定値に近い値を選択する／最大値を選択する／最低値を選択するというように選択方法を選択できる。アナログ出力及び内部では、最大値を選択する。接点入力等では、そのデータ（今回値）が等しければそのまま採用し、異なればフェイルセーフ値（制御を安全な方向に導く値）を導入し、３者の多数決とする。有効データが３つ得られた場合、アナログ入力等では中間値、接点入力等では多数決とする。
【００４１】
次にＶＢＵＳ伝送手順を説明する。
【００４２】
図３に示されるように、汎用ＣＰＵ基板２には、ＶＢＵＳ基板１とのデータ受け渡し使用されるデュアルポートメモリ３１が設けられている。デュアルポートメモリ３１は汎用ＣＰＵ基板２内からもＶＢＵＳ基板１からもアクセス可能となっている。図１の送信領域６及び受信領域７，８として、ここでは、デュアルポートメモリ３１には、入力送信，入力受信１，入力受信２，出力送信，…というように使用目的別に領域が割り当てられている。また、ＶＢＵＳ基板１には他のユニットからの受信データを蓄積する２つの受信バッファ（受信１バッファ，受信２バッファ）３２が設けられている。ＶＢＵＳ基板１は、２つの受信バッファに受信データが得られたことを検知して、受信終了割り込みを発行する機能を有する。
【００４３】
入力ＶＢＵＳ伝送処理と出力ＶＢＵＳ伝送処理とは同じ手順であり、いずれも以下の手順によりデータ転送が行われる。なお、手順の▲１▼▲２▼…と図中の▲１▼▲２▼…とは対応している。
【００４４】
▲１▼ＣＰＵは、汎用ＣＰＵ基板２のデュアルポートメモリ３１に、送信するデータを書き込む。（入力ＶＢＵＳ伝送処理と出力ＶＢＵＳ伝送処理とでは異なった領域が割り当てられている。）
▲２▼汎用ＣＰＵ基板２は、ＶＢＵＳ基板１に対し送信要求コマンドを発行する。ここで制御演算サイクルはＶＢＵＳ伝送終了待ち状態（前記待ち時間の計測）に入る。
【００４５】
▲３▼ＶＢＵＳ基板１は、送信要求コマンドを受け取ると、汎用ＣＰＵ基板２上のデュアルポートメモリ３１内のデータを他の２つのユニットに送信する。ここで、制御演算サイクルの同期が取れているため、他の２つのユニットもほぼ同時にＶＢＵＳ伝送処理を実行し、▲３▼の手順に進むので、他の２つのユニットからのデータがＶＢＵＳ基板１に到着する。
【００４６】
▲４▼他の２つのユニットから送られてきたデータは、一旦ＶＢＵＳ基板１上の受信バッファ３２に蓄えられ、その後、汎用ＣＰＵ基板２上のデュアルポートメモリ３１に転送される。
【００４７】
▲５▼ＶＢＵＳ基板１は、他の２つのユニットからのデータ受信及びデュアルポートメモリへの転送が終了すると、このことを汎用ＣＰＵ基板２に通知するために汎用ＣＰＵ基板２に対し受信終了割り込みを発行する。
【００４８】
▲６▼汎用ＣＰＵ基板２は、ＶＢＵＳ基板１から受信終了割り込みを受け取ると、多数決処理に移行する。即ち、汎用ＣＰＵ基板２は、デュアルポートメモリ３１に書き込まれた、自ユニット及び他の２ユニットのデータを使って多数決処理を行う。
【００４９】
次に、ＶＢＵＳ伝送を行う上で重要な同期について説明する。
【００５０】
前述したように図２では３つのユニットが同期を取り、制御演算サイクルの開始が同時になっている。この同期を取る際に、ＶＢＵＳ基板１の機能が使用される。
【００５１】
まず始めに、汎用ＣＰＵ基板２が制御演算サイクルのための制御演算周期２９を作り出すしくみを説明する。
【００５２】
図４に示されるように、汎用ＣＰＵ基板２は、時間計測の基本となる例えば１ＭＨｚのクロックを発生する発振子４１と、このクロックをハードウェア的に設定された個数まで計数することにより周期パルスを発生するハードウェアカウンタ４２（Ｈ／Ｗカウンタと呼ぶ）とを備え、そしてＣＰＵは、この周期パルスをさらにソフトウェア的に設定された回数まで計数するソフトウェアカウンタ４３を備えている。このソフトウェアカウンタはオペレーティングシステム（ＯＳ）に組み込んでもよい。ソフトウェアカウンタ４３は、以下、ＯＳカウンタと呼ぶことにする。また、周期パルスは、以下、システムクロック４４と呼ぶことにする。システムクロック４４の周期は例えば２ｍｓｅｃとし、ＯＳカウンタ４３は例えば５回カウントにより１０ｍｓｅｃを計測するものとする。なお、Ｈ／Ｗカウンタ４２，ＯＳカウンタ４３は、いずれも、リセット値０から設定値まで加算カウントするものであってもよいし、プリセット値から０まで減算カウントするものであってもよい。
【００５３】
発振子４１からの１ＭＨｚのクロックをＨ／Ｗカウンタ４２が分周し、周期２ｍｓｅｃのシステムクロック４４を発生させる。このシステムクロック４４がＣＰＵに割り込みとして入力され、ＯＳはＯＳカウンタ４３を使って設定された回数まで割り込みを計数し、制御演算周期２９が作り出される。
【００５４】
ここで３つのユニットの発振子４１が全く同じに発振していると、時間計測の始まりさえ同時であれば３つのユニットは全く同期がとれた制御演算周期２９を作り、制御演算サイクルを同時に実行することになる。しかし、実際には、時間計測の始まりは同時でなく、発振子４１も個体差により若干異なるため、同期は取れないし、一時的に同期が取れても時間の経過と共にずれが出てくる。そこで、何等かの同期を取る手段が必要となる。
【００５５】
さて、本発明にあっては、周期的に３つのユニットでＨ／Ｗカウンタ４２及びＯＳカウンタ４３のカウント値を同時にリセット又はプリセットすることにより同期を取るようになっている。つまり、時間の経過と共にずれてきた各カウンタ値が同時にリセット又はプリセットされると、その次の制御演算サイクルの開始タイミングが同時になる。このリセット又はプリセットを図る信号（以下、同期信号と呼ぶ）を一定時間間隔で３つのユニットが順に出力するようにした。
【００５６】
ＶＢＵＳ基板１が同期信号を交換する方法を説明する。
【００５７】
図５に示されるように、汎用ＣＰＵ基板２からＶＢＵＳ基板１に対し同期タイミング信号５１を出力するようになっていると共に、ＶＢＵＳ基板１から汎用ＣＰＵ基板２に対し同期割り込みの信号５２を出力するようになっている。また、ＶＢＵＳ基板１同士を接続するＶバス伝送路４には同期信号交換用のラインが設けられている。同期信号交換用のラインは、１つのＶＢＵＳ基板１から出て、自身を含む３つのＶＢＵＳ基板１に入るようになっている。図５にはユニット＃１から出力される同期信号５３が実線で、ユニット＃２から出力される同期信号５４が破線で、ユニット＃３から出力される同期信号５５が一点鎖線で示されている。各ユニットの動作は互い違いに行われるが、同様の動作であるから、ユニット＃１が同期信号を出力する場合についてのみ説明する。
【００５８】
（１）ユニット＃１の汎用ＣＰＵ基板２がＶＢＵＳ基板１に同期信号出力コマンド（同期タイミング信号５１）を発行する。
【００５９】
（２）ＶＢＵＳ基板１は、同期信号出力コマンドを受け取ると同期信号５３を出力する。この同期信号は他のユニット＃２，＃３のＶＢＵＳ基板１に入力されると共に、ユニット＃１のＶＢＵＳ基板１にも折り返し入力される。
【００６０】
（３）各ＶＢＵＳ基板１は、同期信号５３が入力されると汎用ＣＰＵ基板２に対し同期割り込み（同期割り込みの信号５２）を発行し、同期信号が入力されたことを通知する。
【００６１】
（４）汎用ＣＰＵ基板２は、同期割り込みを受け付けると、同期処理を行う。同期処理において、Ｈ／Ｗカウンタ４２及びＯＳカウンタ４３のリセット又はプリセットが行われる。
【００６２】
上述の（２）において、１つのユニットからの同期信号が３つのユニットに同時に入力され、３つのユニットで同時に同期処理が行われる。これにより、各Ｈ／Ｗカウンタ４２及びＯＳカウンタ４３は同時にリセット又はプリセットされるので、その次の制御演算サイクルの開始タイミングが同時になる。
【００６３】
図６に、各ユニットが出力する同期信号のタイミングを示す。図示されるように同期信号６１は３つのユニットが順に交替して出力している。その出力の時間間隔をＴとすると、時間間隔３Ｔで一巡することになる。時間間隔Ｔは、制御演算周期より十分大きい値を用いる。例えば、Ｔ＝４００ｍｓｅｃとする。
【００６４】
図６のタイミングを実現するために、同期処理に際して、どのユニットが同期信号を出したかが判別され、これに基づいて自ユニットの次の同期信号の発生時期を計算するようになっている。
【００６５】
このような同期処理は、図７のフローチャートに従う。即ち、ステップ１，２でＨ／Ｗカウンタ４２及びＯＳカウンタ４３のリセットが行われ、ステップ３で当該同期割り込みの基になった同期信号の発生元がチェックされる。発生元が自ユニットであれば、ステップ４に進み、自ユニットの次の同期信号の発生時期を時間間隔３Ｔに設定する。発生元が次ユニット（自ユニットの次に同期信号を発生するべきユニット；自ユニットが＃１なら＃２）であれば、ステップ５に進み、自ユニットの次の同期信号の発生時期を時間間隔２Ｔに設定する。発生元が前ユニット（自ユニットの前に同期信号を発生するべきユニット；自ユニットが＃１なら＃３）であれば、ステップ６に進み、自ユニットの次の同期信号の発生時期を時間間隔Ｔに設定する。
【００６６】
このような同期処理を行うことで、１つのユニットがダウンした場合でも残りのユニットから同期信号が出力され続けるので、同期を取ることが可能である。
【００６７】
【発明の効果】
本発明は次の如き優れた効果を発揮する。
【００６８】
（１）データ転送機能及び同期信号交換機能をＣＰＵ基板とは別のＶＢＵＳ基板に持たせ、ＣＰＵ基板には汎用ＣＰＵ基板を使用したので、それぞれの基板が独立し、保守が容易となると共に、それぞれの基板は単独でバージョンアップができる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示す三重系フォールトトレラントシステムの構成図である。
【図２】本発明による制御演算サイクルのタイミング図である。
【図３】本発明によるＶＢＵＳ伝送手順に係る汎用ＣＰＵ基板及びＶＢＵＳ基板の構成図である。
【図４】本発明に使用する汎用ＣＰＵ基板のシステムクロック系の構成図である。
【図５】本発明による同期信号交換に係る汎用ＣＰＵ基板及びＶＢＵＳ基板の構成図である。
【図６】本発明によるユニットが出力する同期信号のタイミング図である。
【図７】本発明による同期処理のフローチャート図である。
【図８】従来例を示す三重系フォールトトレラントシステムの構成図である。
【符号の説明】
１  ＶＢＵＳ基板
２  汎用ＣＰＵ基板
３  ＶＭＥバス
４  Ｖバス伝送路
５  入出力・制御演算ソフトウェア
９  多数決ソフトウェア
２８  空き時間
２９  制御演算周期
３１  デュアルポートメモリ
４１  発振子
４２  ハードウェアカウンタ（Ｈ／Ｗカウンタ）
４３  ソフトウェアカウンタ（ＯＳカウンタ）
【図１】
0003694987.tif 000003
【図２】
0003694987.tif 000004
【図３】
0003694987.tif 000005
【図４】
0003694987.tif 000006
【図５】
0003694987.tif 000007
【図６】
0003694987.tif 000008
【図７】
0003694987.tif 000009
【図８】
0003694987.tif 000010