(57)【特許請求の範囲】
【請求項１】
２重系を構成するＣＰＵと、
前記２重系の各系の前記ＣＰＵの演算データをバス周期に基づいて伝送するバスと、
前記バスを介して各系の前記演算データを記憶する２重系の記憶装置と、
前記バスを介して両系の前記演算データを比較する照合論理部と、
を備える演算処理装置であって、
各系の前記記憶装置は、前記バスを介して自系の前記演算データを記憶する常用エリアと、前記照合論理部で両系比較一致を確認した前記演算データを受信して記憶する退避エリアとを有しており、
前記照合論理部は、リトライ支援機能部を有し、
前記リトライ支援機能部は、
両系比較一致の場合に、各系において、前記記憶装置の常用エリアに記憶されている前記ＣＰＵの演算データを前記退避エリアにコピーして格納し、かつ当該退避エリアへの演算データ格納の際に関しても前記照合論理部による演算データ比較を実行し、
両系比較不一致が発生した場合に、各系において、前記記憶装置の退避エリアから両系比較一致が確認されている前記演算データの直前の正常な演算データを読み出して、前記退避エリアから読み出した当該直前の正常な演算データを用いて前記ＣＰＵで再演算してデータ復帰を実行するリトライ機能を有し、
前記両系比較一致が確認される場合の各系における前記ＣＰＵによる演算から前記照合論理部による照合までの一連の動作、及び前記両系比較不一致が確認される場合の各系における前記演算から前記リトライ機能に係る前記再演算までの一連の各動作を、前記バス周期に従って一つの演算処理を行う制御周期内に行う
ことを特徴とする２重系演算処理装置。
【請求項２】
２重系を構成する第１、第２のＣＰＵと、
前記第１、第２のＣＰＵの第１、第２の演算データをバス周期に基づいて伝送する第１、第２のバスと、
前記第１、第２のバスを介して前記第１、第２の演算データを記憶する２重系の第１、第２の記憶装置と、
前記第１、第２のバスを介して前記２重系の前記第１、第２の演算データを比較する１つの照合論理部と、
を備え、
前記第１、第２の演算データを前記照合論理部にて比較して、当該演算データが一致するか、不一致かを照合し、前記第１、第２の演算データが一致のとき、前記第１、第２のＣＰＵによる演算を継続し、前記第１、第２の演算データが不一致のとき、前記２つのＣＰＵによる演算を停止する演算処理装置であって、
前記第１、第２のＣＰＵは、
前記２重系の比較演算を行い、当該比較演算結果を第１、第２の演算データとして前記第１、第２の記憶装置の常用エリアに書き込み、
前記第１、第２の記憶装置は、
前記第１、第２の演算データを記憶する前記常用エリアと退避エリアを有し、
前記照合論理部は、
前記第１、第２のＣＰＵからの第１、第２の演算データを比較して、当該演算データが一致するか、不一致かを照合する照合部と、
前記第１、第２の演算データが一致のとき、前記第１、第２の記憶装置の第１、第２の常用エリアに正常な演算データとして記憶された演算データを読み出して前記退避エリアにコピーし、また前記第１、第２の演算データが不一致のとき、当該退避エリアにコピーした最後に正確に動いたときの正常な演算データを読み出して当該常用エリアに戻して前記演算データの不一致のときのデータ修正を行うＤＭＡ機能部と、
前記第１、第２の演算データが不一致のとき、前記退避エリアから前記常用エリアに戻された正常な演算データに基づいて前記第１、第２のＣＰＵによる演算を再開し、
かつ、前記常用エリアから前記退避エリアへの正常な演算データの書き込みの際にも前記照合論理部による第１、第２の演算データの比較を実行するリトライ機能部を有する
ことを特徴とする２重系演算処理装置。
【請求項３】
請求項１に記載の２重系演算処理装置において、
前記照合論理部は、前記両系比較不一致が発生した場合に、各系において、前記退避エリアから前記両系比較一致が確認されている前記演算データを読み出して前記常用エリアに記録する
ことを特徴とする２重系演算処理装置。
【請求項４】
請求項１に記載の２重系演算処理装置において、
前記退避エリアへ記録される両系比較一致を確認した前記演算データは、前記常用エリアを介して前記退避エリアへ移動されるデータであり、
前記照合論理部は、各系において、通常動作時における前記記憶装置の前記常用エリアから前記退避エリアへのデータ移動の際、又は前記両系比較不一致時における前記退避エリアにおいて格納されている状態及び前記退避エリアから前記常用エリアへのデータ移動の際に、各系の前記演算データを比較する
ことを特徴とする２重系演算処理装置。
【請求項５】
請求項３に記載の２重系演算処理装置において、
前記照合論理部は、各系において、前記記憶装置の前記常用エリアと前記退避エリアとの間での前記データ移動の後、更に移動された状態の各系の前記演算データを比較する
ことを特徴とする２重系演算処理装置。
【請求項６】
請求項１〜５のいずれか一項に記載の２重系演算処理装置において、
前記バスには、各系において、インターフェースを介して外部記憶装置が付設されていることを特徴とする２重系演算処理装置。
【請求項７】
２重系を構成するＣＰＵと、
前記２重系の各系の前記ＣＰＵの演算データをバス周期に基づいて伝送するバスと、
前記バスを介して各系の前記演算データを記憶する２重系の記憶装置と、
前記バスを介して両系の前記演算データを比較する照合論理部と、
を備える演算処理装置の２重系演算処理方法であって、
前記照合論理部は、リトライ支援機能部を有し、
前記リトライ支援機能部は、
両系比較一致の場合に、各系において、前記記憶装置の常用エリアに記憶されている前記ＣＰＵの演算データを前記退避エリアにコピーして格納し、かつ当該退避エリアへの演算データ格納の際に関しても前記照合論理部による演算データ比較を実行し、
両系比較不一致が発生した場合に、各系において、前記記憶装置の退避エリアから両系比較一致が確認されている前記演算データの直前の正常な演算データを読み出して、前記退避エリアから読み出した当該直前の正常な演算データを用いて前記ＣＰＵで再演算してデータ復帰を実行し、
前記両系比較一致が確認される場合の各系における前記ＣＰＵによる演算から前記照合論理部による照合までの一連の動作、及び前記両系比較不一致が確認される場合の各系における前記演算から前記リトライ機能に係る前記再演算までの一連の各動作を、前記バス周期に従って一つの演算処理を行う制御周期内に行う
ことを特徴とする２重系演算処理方法。
【請求項８】
２重系を構成する第１、第２のＣＰＵと、
前記第１、第２のＣＰＵの第１、第２の演算データをバス周期に基づいて伝送する第１、第２のバスと、
前記第１、第２のバスを介して前記第１、第２の演算データを記憶する２重系の第１、第２の記憶装置と、
前記第１、第２のバスを介して前記２重系の前記第１、第２の演算データを比較する１つの照合論理部と、
を備え、
前記第１、第２の演算データを前記照合論理部にて比較して、当該演算データが一致するか、不一致かを照合し、前記第１、第２の演算データが一致のとき、前記第１、第２のＣＰＵによる演算を継続し、前記第１、第２の演算データが不一致のとき、前記２つのＣＰＵによる演算を停止する演算処理装置の２重系演算処理方法であって、
前記第１、第２のＣＰＵは、
前記２重系の比較演算を行い、当該比較演算結果を第１、第２の演算データとして前記第１、第２の記憶装置の常用エリアに書き込み、
前記第１、第２の記憶装置は、
前記第１、第２の演算データを記憶する前記常用エリアと退避エリアを有し、
前記照合論理部は、
前記第１、第２のＣＰＵからの第１、第２の演算データを比較して、当該演算データが一致するか、不一致かを照合し、
前記第１、第２の演算データが一致のとき、前記第１、第２の記憶装置の第１、第２の常用エリアに正常な演算データとして記憶された演算データを読み出して前記退避エリアにコピーし、また前記第１、第２の演算データが不一致のとき、当該退避エリアにコピーした最後に正確に動いたときの正常な演算データを読み出して当該常用エリアに戻して前記演算データの不一致のときのデータ修正を行い、
前記第１、第２の演算データが不一致のとき、前記退避エリアから前記常用エリアに戻された正常な演算データに基づいて前記第１、第２のＣＰＵによる演算を再開し、
かつ、前記常用エリアから前記退避エリアへの正常な演算データの書き込みの際にも前記照合論理部による第１、第２の演算データの比較をリトライする
ことを特徴とする２重系演算処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高い安全性を求められる分野で用いられ、内部にＡ系・Ｂ系からなる２重系のＣＰＵを持ちフェールセーフな構成とされた２重系演算処理装置および２重系演算処理方法に関する。
【背景技術】
【０００２】
鉄道用信号・保安システム、発電所などの高い安全性を求められる分野では、システムの高い稼働率とともに、当該システムを構成する部品の故障といった不測の事態が生じても、システム全体を安全側の状態に遷移させるフェールセーフな構成の実現が必要不可欠である。こうしたシステムは、フェールセーフ性を実現するために、Ａ系・Ｂ系の二つの演算処理部と照合論理部を持つフェールセーフＣＰＵを備えている。フェールセーフＣＰＵでは、Ａ系・Ｂ系それぞれにおいて同じ演算処理を行い、一つのバス周期毎に１演算処理の１サイクルの出力をフェールセーフ照合論理部にてバス比較し、その結果が正しい場合にのみ次のサイクルに移り、１演算処理終了後に出力することで出力データのフェールセーフ性を確保している。
【０００３】
しかしながら、上記のようなフェールセーフ構成では、構成部品の故障或いはそれに相当するものではなくても、一時的な外乱により両系の演算データがその比較照合で不一致という結果が出た場合でも、出力処理が止まってしまう。出力処理が止まるとフェールセーフな出力が得られなくなり、出力結果を得て動作するシステムが停止する。再び演算結果を得てシステムを動作させるためには、現状では装置を一度手動で立ち上げ直す必要がある。
【０００４】
また、従来の二つの処理系を持つフェールセーフ演算装置にて自動的に復旧するシステムを構築することが考えられるが、そうした自動復旧機能付きのフェールセーフ演算装置では、制御周期毎に１演算処理の全サイクルを行った結果の出力比較を行うため、自動復旧による再演算は、次の制御周期で行うこととなる。従って、次の演算を行う制御周期がずれ、リアルタイム性を保つことが困難となる。
【０００５】
更に、従来方式のフェールセーフ演算装置では、上記の通り、両系比較照合において、たとえ一時的な外乱による不一致が出た場合でも出力処理が停止し、一度手動で装置を立ち上げなおす必要がある。再立ち上げまでの間、システムが停止するため、装置に対して求められている稼働率の低下に繋がる。また、演算装置を立ち上げ直すために人員を投入する必要があり、従来の方式は時間とコストが掛かるものであった。
【０００６】
特許文献１には、多段に演算器を連ねパイプライン方式で演算処理を行うような信号処理装置として、フェールセーフなシステム構成が記載されている。このシステムでは、演算器の適当な段に次段に送るのと同時にその演算周期内でデータ格納が可能な診断メモリを設置し、また同じ周期内でデータの正否を判定する装置を設け、データエラー等を検出し停止した際にそのアドレスより演算を再開させることで、エラーを発生させたデータを特定することを可能にしているので、再実行する際にそのデータから入力して起動することにより必要な演算の再実行時間を減少することを可能にしている。また、特許文献２では、２台のＣＰＵで出力電圧・電流を監視しているので、送信器の出力の増大故障を誤り無く検知する軌道回路用送信受器が提案されている。送受信器内のデバイスに故障が発生した場合には、送受信器の信号出力を停止して、送受信器から誤った情報や危険なレベルを含んだ信号を出力しなくすることで、フェールセーフな送受信器を構成している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７−３０２２０１号公報
【特許文献２】特開２００４−２３７９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
そこで、２重系演算処理および２重系演算処理方法において、メモリ照合コントローラリトライ機能を利用して、一時的な外乱による両系比較不一致が生じた際に、直前の正常な演算データを用いて自動復旧させる点で解決すべき課題がある。
本発明の目的は、一時的な外乱による両系比較不一致が生じた際に、自動復旧させて演算装置の手動による立ち上げ直しを回避することで高い稼働率を実現し、システムの維持・管理コストの低減を図り、かつ不測の事態が生じてもシステム全体を安全側の状態に遷移させることができる２重系演算処理装置および２重系演算処理方法を提供することである。
【課題を解決するための手段】
【０００９】
本発明による２重系演算処理装置は、２重系を構成するＣＰＵと、前記２重系の各系の前記ＣＰＵの演算データをバス周期に基づいて伝送するバスと、前記バスを介してそれぞれの記憶装置が各系の前記演算データを記憶する２重系の記憶装置と、前記バスを介して両系の前記演算データを比較する照合論理部と、を備える演算処理装置であって、各系の前記記憶装置は、前記バスを介して対応する系の前記演算データを記憶する常用エリアと、前記照合論理部で両系比較一致を確認した前記演算データを前記常用エリアから受信して記憶する退避エリアとを有しており、前記照合論理部は、両系比較不一致が発生した場合に、各系において、前記退避エリアから両系比較一致が確認されている前記演算データを読み出して、前記退避エリアから読み出した前記演算データを用いて前記ＣＰＵで再演算をするリトライ機能を有することを特徴としている。
【００１０】
本発明による２重系演算処理方法は、２重系を構成するＣＰＵと、前記２重系の各系の前記ＣＰＵの演算データをバス周期に基づいて伝送するバスと、前記バスを介して各系の前記演算データを記憶する２重系の記憶装置と、前記バスを介して両系の前記演算データを比較する照合論理部と、を備える演算処理装置の２重系演算処理方法であって、前記照合論理部で両系比較一致を確認した前記演算データを前記記憶装置の退避エリアに記憶し、前記照合論理部で両系比較不一致が発生した場合に、各系の前記記憶装置の退避エリアに記憶された両系比較一致が確認されている前記演算データを読み出し、当該演算データを用いて前記ＣＰＵで再演算をすることを特徴としている。
【００１１】
本発明による２重系演算処理装置および２重系演算処理方法では、ＣＰＵが演算処理を行う場合、両系の信号処理演算をバス照合比較しながら行い、バス周期毎に演算データを記憶装置内の常用エリアから退避エリアにコピーして格納していく。このときのデータは両系演算出力結果を比較し、正常な出力が得られているときの演算データなので整合性が取れているといえる。また、両系比較演算が正しい場合には、フェールセーフな演算出力を行いながら、バス周期毎の演算データを常用エリアから退避エリアへ格納する。そして、一時的な外乱により両系比較不一致が出た場合は、ＣＰＵの動作を止め、やり直しのトリガをかけ、最後に両系比較演算が正しい時に常用エリアから退避エリアに格納した整合性の取れている（正しい演算結果となっている）演算データを用いること（好ましくは、退避エリアから常用エリアへ戻すこと）によって、両系比較不一致が出る前の一致状態に戻して、再計算をする。正常な出力が得られているときは、システムを停止させることなく、演算処理が続行される。このように、フェールセーフＣＰＵの持つリトライ支援モードを利用して、一つの演算処理を行うべき時間としての制御周期をずらすことなく、リアルタイム性を保ちながら自動的に演算を再開させることが可能になる。
【００１２】
自動再立ち上げ動作を、制御周期がより短いバス比較で行うことにより、制御周期内でデータ錯誤復旧動作を済ませることが可能になるので、制御周期をずらすことなくリアルタイム性を維持し、両系比較演算を早急に且つ自動的に再開できるようになる。また、同時に外部記憶装置を設ける場合には、その予備部からデータを読み出し、データ錯誤のあった演算部に書き込むことで、あらゆるメモリのデータ錯誤に対応し、両系比較不一致によるシステム停止時間を圧縮することが可能になる。
【発明の効果】
【００１３】
本発明による２重系演算処理装置および２重系演算処理方法は、フェールセーフＣＰＵを用いたシステムが一時的な外乱による両系比較不一致から復帰する際に、そのメモリ照合コントローラリトライ機能により、人員を動員して手動で装置を再立ち上げすることなく、自動的に且つ制御周期をずらすことなく演算を再開させることができるので、人件費等のコストの低減とシステムの稼働率の向上を見込むことができる。また、自動復帰後も、制御周期のリアルタイム性を保つことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明による２重系演算処理装置が適用されるシステムブロックの一例を示す図である。
【図２】本発明による２重系演算処理装置が適用されるフェールセーフＣＰＵの一実施例を示すブロック図である。
【図３】図２に示すフェールセーフＣＰＵに適用されるＳＲＡＭのメモリ構成である。
【図４】図２に示すフェールセーフＣＰＵにおける制御動作を示すフローチャートである。
【図５】自動復帰の従来方式及び本発明の方式と制御周期との関係を示す図である。
【図６】本発明による２重系演算処理装置が適用される外部記憶装置付きフェールセーフＣＰＵの一実施例を示すブロック図である。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して、本発明による２重系演算処理装置及び２重系演算処理方法の実施例を説明する。
【実施例１】
【００１６】
図１は、本発明による２重系演算処理装置が適用されるシステムの一例を示しており、フェールセーフＣＰＵを用いたネットワーク信号の流れを示すブロック図である。
【００１７】
図１に示すように、ネットワーク信号システムにおいては、進路設定サーバ１から進路設定として列車の進行に必要な情報が連動部２に渡され、連動部２からは制御する信号別に、保安装置用のＳ−ＬＡＮ（Signal-Local Area Network）３を経由して、ＦＣＰ( Field Object Controlled Processor)である論理部４，５に渡される。ＦＣＰはフェールセーフな論理装置であって、定められた制御論理に基づいて小型制御端末に対する制御内容を決定し、デジタルネットワークであるＥ−ＰＯＮ（Ethernet（登録商標）-Passive  Optical  Network）６，７に出力する。以上の進路設定サーバ１からＥ−ＰＯＮ６，７までが信号機器室内に配設されている。制御出力は、各機器の小型制御端末であるＦＣ（Field  Controller）８〜１１に送られる。
【００１８】
ＦＣ８〜１１に、本発明による２重系演算処理装置であるところのメモリ照合コントローラリトライ機能を兼ね備えるフェールセーフＣＰＵが搭載されている。最後に、ＦＣ８〜１１が、信号機１２、転轍機１３、ＡＴＳ−Ｓ１４、出発反応灯１５、転轍機１６等の現場機器（現場端末）を制御する。
【００１９】
図２には、図１に示すＦＣ８〜１１に備わるフェールセーフＣＰＵのブロック図が示されている。図２において、符号２１で示すＣＰＵ＿Ａ及び符号２２で示すＣＰＵ＿Ｂは、フェールセーフＣＰＵ２０の演算処理部となる２重系のＣＰＵである。符号２３はフェールセーフ照合論理部を示しており、本発明のメモリ照合コントローラリトライ機能は、このフェールセーフ照合論理部２３に含まれる。また、符号２４で示すＳＲＡＭ＿Ａと符号２５で示すＳＲＡＭ＿Ｂは、それぞれのＣＰＵに付属する記憶装置としてのＳＲＡＭ（Static Random Access Memory）である。ＳＲＡＭ２４，２５は、アドレスにより任意の十分な大きさを持つ常用エリアと退避エリアに分割されている。また、本例ではＳＲＡＭ２４，２５としているが、同等の記憶装置であればそれらを用いても構わない。フェールセーフＣＰＵ２０内では、信号の遣り取りは、伝送速度の早く制御周期の短いバス２９ａ，２９ｂを通じて行われる。また、フェールセーフＣＰＵ２０には、当該ＣＰＵが外部と接続するために、Ｉ／Ｆ（Interface）２６〜２８が設けられている。
【００２０】
図３は、図２に示す記憶装置であるＳＲＡＭ２４，２５（同等の記憶装置を含む）のメモリマップの構造の一例を示す。ＳＲＡＭ２４，２５のメモリ領域は、任意のアドレスで常用エリア３０と退避エリア３６に分割されている。常用エリア３０は、マイクロプログラム及びデータ格納部分３１、タスクプログラム及びスタック格納部分３２、サブルーチン格納部分３３、読書き両用テーブル３４、及び読出し専用テーブル３５を備えている。そして、退避エリア３６がメモリマップ内に含まれている。
【００２１】
図３に示すフェールセーフＣＰＵ内での動作のフローチャートが図４に示されている。図４を参照してフェールセーフＣＰＵ２０の動作、即ち、メモリ照合コントローラリトライ機能について説明する。演算（信号処理）を開始（ステップ４１；以下、各ステップについては括弧付の数字を付す。）すると、フェールセーフＣＰＵは、２重系の比較演算を行い、結果を出力しながら演算データの常用エリアへの書き込みを行い、更に、照合論理部２３は、常用エリアからから退避エリアへの演算データの移動をＤＭＡ（Direct Memory Access）により行う（４２）。不一致か否かの両系比較（４３）において、両系比較不一致が出なければ演算を続け（４３→４４）、もし両系比較不一致が出れば、フェールセーフＣＰＵは演算を停止する（４３→４５）。ここで、照合論理部２３においては本発明のメモリ照合コントローラリトライ機能が働き、やり直しトリガがかけられる（４６）。これを受けて、照合論理部２３はＤＭＡメモリ内の退避エリア３６から最後に正確に動いていたときの演算データを読み出し、常用エリア３０に戻す（４７）。常用エリア３０への正常演算データの戻しは、常用エリア３０における該当データを上書きして行うことができる。例えば、一部演算データのビット化けのような一時的な外乱による演算停止であれば、常用エリア３０からの正常演算データの戻しとその戻された正常演算データに基づくリトライにより、装置の再立ち上げを必要とすることなく自動的に復旧して演算を再開させることができる（４８→４４）。そうではなく、例えば部品の不具合等による自動的に復旧できない故障の場合は、装置のメンテナンスを行い再立ち上げする（４８→４９）。また、図５に自動復帰の従来方式及び本発明の方式と、制御周期の関係を示す。
【００２２】
以上を用いて本発明による２重系演算処理装置に基づくネットワーク信号の動作を説明する。まず、進路設定（ＲＣＳ）１からの入力が連動部２〜Ｅ−ＰＯＮ７を経て１バス周期毎にＦＣ８〜１１内にあるＣＰＵ＿Ａ２１とＣＰＵ＿Ｂ２２にデータが同時に入力される。バス周期は、バスのクロック周波数に対応した周期のことであって、その周期に１リード／ライトが実行される。ＣＰＵ＿Ａ２１とＣＰＵ＿Ｂ２２はそれぞれ常用エリア３０（３１〜３５）内に格納されている演算データに基づき、全く同じ演算処理（２重系演算処理）を行う。次に、ＣＰＵ＿Ａ２１とＣＰＵ＿Ｂ２２の演算結果が、常用エリア３０に記憶されるとともに、フェールセーフ照合論理部２３に入力されてバス比較・照合が行われる。演算結果が全く同一のときに現場端末１２〜１６を制御する信号を出力し、その信号を受け現場端末１２〜１６が動作する。また、このときＣＰＵ＿Ａ２１、ＣＰＵ＿Ｂ２２にそれぞれ付属するＳＲＡＭ＿Ａ２４、ＳＲＡＭ＿Ｂ２５の常用エリア３０に記憶されている演算データが、リトライ支援機能により、コピーして退避エリア３６に格納される。即ち、Ａ系・Ｂ系それぞれのプログラム処理でトリガ用レジスタを叩くことで、常用エリア３０内の制御用データが、ＣＰＵ＿Ａ２１、ＣＰＵ＿Ｂ２２のそれぞれに付属するＳＲＡＭ＿Ａ２４、ＳＲＡＭ＿Ｂ２４の退避エリア３６に照合論理部２３のＤＭＡによりコピーして格納される。
【００２３】
本発明のリトライ支援機能では、各系において、常用エリア３０から退避エリア３６に格納するデータの格納の際に関しても、照合を行うことで健全性を確認することができる。このようなデータの格納の際に照合を行うことで、常用エリア３０から退避エリア３６へのデータ移動の際に各系でのデータの健全性維持を維持することができる。データ移動時の照合はこれに限ることなく、各系において、常用エリア３０からコピーされて移動された退避エリア３６内のデータの正常性（錯誤有無）を検出するのにも適用することができる。更に、両系比較不一致時において、各系で退避エリア３６から常用エリア３０へデータ移動する際のデータの健全性維持、更には各系で常用エリア３０に戻されたデータの健全性維持のためにも、照合を行うことができる。フェールセーフ照合論理部２３が両系比較不一致を検出するまでこれを繰り返す（４２→４３のＮｏ（一致）→４４）。
【００２４】
両系比較不一致がフェールセーフ照合論理部２３により検出（（４３）のＹｅｓ）されれば、リトライ支援機能により、Ａ系・Ｂ系それぞれのプログラム処理でトリガ用レジスタを叩くことでＳＲＡＭ＿Ａ２４、ＳＲＡＭ＿Ｂ２５の各退避エリア３６から常用エリア３１〜３５へデータ復帰が実行される（４７）。そのとき、レジスタより演算を停止させるための割り込み信号を各ＣＰＵ＿Ａ２１、ＣＰＵ＿Ｂ２２に対して送信する。それを受けデータ復帰中ＣＰＵは演算を停止する（４６）。尚、このとき格納した演算データは、正常動作時に両系で一致する演算結果を出力していたときの演算データであり、整合性が取れている。
【００２５】
更に、従来の方式で考えられる復帰法では、制御周期毎に復帰のプロセスを行うため、次の演算を行う制御周期がずれる。図５を参照すると、従来方式では、制御周期（１周期は２００ｍｓ）２の間で情報錯誤が発生すると、制御周期２での実行が繰り返され、その次には制御周期４で実行される。その結果、制御周期３の処理が実行されずリアルタイム性が保たれないことになる。これに対し、本発明における復帰のプロセスは、バス比較・照合によるものなので、復帰までの速度が速く、全ての作業を１制御周期内に収めることが可能となり、リアルタイム性を保つことができる。両系比較一致が確認される場合には、その各系における演算処理から照合までの一連の動作、及び両系比較不一致が確認される場合には、各系における演算処理からリトライ機能に係る再演算までの一連の各動作を、バス周期に従って一つの演算処理を行う制御周期内に行うことができる。即ち、図５に示すように、本発明によるエラー処理は、１バス周期が約６０ｎｓで非常に短く、一つの自動再立ち上げ処理に要する時間、即ち、演算から照合不一致、データ訂正、再演算及び出力までに要する時間は約２４０ｎｓで済み、例えば制御周期２の間で情報錯誤が発生すると、全ての作業を当該制御周期内に済ますことができる。従来の演算処理では演算停止中、手動再立ち上げまで、例えば、図１にある信号機の場合は赤を点灯し、列車が誤って発車することを防ぐように、現場機器１３〜１６は安全側になるように設定されている。したがって、この間、列車は動くことが出来なくなり、稼働率の低下につながる。それに対し、本発明では、一時的な外乱が両系比較不一致の原因であるなら、演算可能な状態に、制御周期をずらすことなく自動的に且つ直ちに復旧することができる（（４８）のＹｅｓ）ため、現場機器は照合不一致が無かったかのように振舞う、あるいは不一致があってもすぐに復帰することが出来、列車の稼働率を従来の演算処理に比べ、向上させることが可能となる。
【００２６】
このように、本発明では、一時的な外乱により両系比較不一致が出る以前の状態に、１制御周期以内にフェールセーフＣＰＵを戻すことができ（図５）、装置の再立ち上げを行うことなく、リアルタイム性を保ちながら自動的に演算を再開させることが可能となる。従って現場機器も迅速に復帰させることができ、システムの停止による列車の運行障害などの復帰時間を最小限に抑え、システムの稼働率の低下を防止して高い稼働率を維持することが可能となる。
【実施例２】
【００２７】
以下、本発明による２重系演算処理装置の実施例２を、図６を参照して説明する。図６は外部記憶装置付きフェールセーフＣＰＵのブロック図である。図６において、ＣＰＵ＿Ａ５０及びＣＰＵ＿Ｂ５１は演算を行うフェールセーフＣＰＵの演算処理部である。フェールセーフ照合論理部５２には、本発明のメモリ照合コントローラリトライ機能が含まれる。また、ＳＲＡＭ＿Ａ５３とＳＲＡＭ＿Ｂ５４は、ＣＰＵ＿Ａ５０、ＣＰＵ＿Ｂ５１のそれぞれに付属するＳＲＡＭ（Static Random Access Memory）である。このＳＲＡＭは、アドレスにより任意の十分な大きさを持つ常用エリアと退避エリアに分割されている。また、本例ではＳＲＡＭとしているが、同等の記憶装置であればそれらを用いても構わない。ＳＲＡＭ＿Ａ５３とＳＲＡＭ＿Ｂ５４のメモリマップは、実施例１の場合と同様に図３に例示されているものでよい。また、本発明のメモリ照合コントローラリトライ機能のフローチャート、及び制御周期との関係における自動復帰（従来方式及び本発明方式）ついても、実施例１の場合と同様に、図４及び図５に示されるもので良い。また、フェールセーフＣＰＵが外部と接続するため、Ｉ／Ｆ（Interface）５５, ５６, ５９が設けられている。実施例２では、それぞれが演算データを持つ演算部と予備部を備える、Ａ系の外部記憶装置５７とＢ系の外部記憶装置５８が備わっている。
【００２８】
図６に示す実施例２では、フェールセーフＣＰＵからバス６０ａ，６０ｂを経由して、Ａ系・Ｂ系双方に、外部記憶装置５７, ５８を備えている。ここで、一時的な外乱により、外部記憶装置５７, ５８内にデータ錯誤が生じた場合について述べる。フェールセーフＣＰＵは、外部記憶装置５７, ５８の内部空間のチェック、訂正機能を持つ。
【００２９】
１バス周期毎に外部記憶装置５７, ５８から、ＣＰＵ＿Ａ５０とＣＰＵ＿Ｂ５１にデータが同時に入力される。ＣＰＵ＿Ａ５０、ＣＰＵ＿Ｂ５１は常用エリア３０，３０内に格納されている演算データに基づき、全く同じ演算処理をそれぞれ行う。次にＣＰＵ＿Ａ５０とＣＰＵ＿Ｂ５１の演算結果がフェールセーフ照合論理部５２に入力され、バス比較が行われる。この照合で演算結果が全く同一であるときに演算結果を出力し、また、演算データをＣＰＵ＿Ａ５０、ＣＰＵ＿Ｂ５１に付属するＳＲＡＭ＿Ａ５３、ＳＲＡＭ＿Ｂ５４の常用エリア書き込みながら、システムが稼動を続ける。更に、このときＳＲＡＭ＿Ａ５３、ＳＲＡＭ＿Ｂ５４の常用エリア３１〜３５に記憶されている演算データが、リトライ支援機能により、Ａ系・Ｂ系それぞれのプログラム処理でトリガ用レジスタを叩くことで、照合論理部５２のＤＭＡにより、ＳＲＡＭ＿Ａ５３、ＳＲＡＭ＿Ｂ５４の退避エリア３６，３６にコピーして格納される。本発明のリトライ支援機能ではこの退避エリア３６，３６に格納するデータの格納の際に関しても、比較実行を行うことで健全性を確認することができる。フェールセーフ照合論理部５２が両系比較不一致を検出するまでこれを繰り返す（４２→４３のＮｏ→４４）。
【００３０】
もし、演算結果についてデータ錯誤により、両系比較不一致が検出（（４３）のＹｅｓ）されれば、リトライ支援機能により、Ａ系・Ｂ系それぞれのプログラム処理でトリガ用レジスタを叩くことでＳＲＡＭ＿Ａ５３、ＳＲＡＭ＿Ｂ５４０のそれぞれにおいて退避エリア３６から常用エリア３０，３０へ、照合論理部５２のＤＭＡによりデータ復帰が実行される（４７）。そのとき、レジスタより演算を停止させるための割り込み信号をＣＰＵ＿Ａ５０、ＣＰＵ＿Ｂ５１に対して送信する。それを受けデータ復帰中ＣＰＵ５０，５１は演算を停止する（４６）。なお、この演算停止中、現場機器１３〜１６は安全側になるように設定されている。このとき格納した演算データは、正常動作時に両系で一致する演算結果を出力していたときの演算データであり、整合性が取れている。さらに、従来の方式で考えられる復帰法では、制御周期ごとに復帰のプロセスを行うため、次の演算の制御周期がずれるのに対し、本発明における復帰のプロセスは、バス照合によるものなので、復帰までの速度が速く、全ての作業を１制御周期内に収めることが可能となり、演算再開後もリアルタイム性を保つことができる（図６）。また、同時に外部記憶装置（５７，５８）内の予備部から正し情報を読み出し、一時的な外乱により、データが錯誤された演算部に書き込むことで、データが錯誤された演算部の情報を錯誤前の正しい情報に戻す。これにより外部記憶装置の演算部を、データ錯誤前の演算可能な状態に復旧する（（４８）のＹｅｓ）。前記事項を実施することにより、一時的な外乱により、外部記憶装置の演算部の情報が大きく錯誤されても、自動的に制御周期以内にデータ錯誤前の状態に戻すことができ、リアルタイム性を保ちながら（図６）、速やかに自動的に演算を再開させることが可能となる。
【産業上の利用可能性】
【００３１】
本発明は、鉄道車両の運行システムを例に挙げて説明したが、これに限ることなく、２重系のＣＰＵを持つ演算処理装置であれば、適用可能であり、ビット化けのような一時的な外乱に起因して両系比較不一致が生じた際に、直前の正常な演算データを用いて自動復旧させて、装置の再立ち上げを行うことなく、リアルタイム性を保ちながら自動的に演算を再開させて、管理・維持に掛かるコストを低減することが可能なすべてのシステムに対して適用可能である。
【符号の説明】
【００３２】
１…進路設定（ＲＣＳ:Real Time Control
Server)
２…連動部
３…Ｓ−ＬＡＮ（Signal-Local Area Network）
４，５…論理部（ＦＣＰ:Field Object Controlled Processor）
６，７…Ｅ−ＰＯＮ（Ethernet（登録商標）-Passive Optical
Network）
８〜１１…ＦＣ（Field Controller）
１２〜１６…現場機器
２０…フェールセーフＣＰＵ
２１…Ａ系ＣＰＵ (ＣＰＵ:Central Processing Unit)
２２…Ｂ系ＣＰＵ (ＣＰＵ:Central Processing Unit)
２３…フェールセーフ照合論理部
２４…Ａ系ＳＲＡＭ（ＳＲＡＭ: Static Random Access Memor）
２５…Ｂ系ＳＲＡＭ（ＳＲＡＭ: Static Random Access Memor）
２６…Ａ系外部バス入出力・／Ｆ（・／Ｆ：Interface）
２７…B系外部バス入出力・／Ｆ（・／Ｆ：Interface）
２８…外部共通バス入出力・／Ｆ（・／Ｆ：Interface）
２９ａ，２９ｂ…バス
３０…常用エリア
３１…マイクロプログラム、データ      ３２…タスクプログラム及びスタック
３３…サブルーチン                    ３４…読書き両用テーブル
３５…読出し専用テーブル              ３６…退避エリア
４１…信号処理開始          ４２…２重系演算出力／演算データ退避エリア書き込み
４３…両系比較不一致？                ４４…信号処理継続
４５…演算停止                        ４６…やり直しのトリガ
４７…退避エリアから演算データ読み直し      ４８…復旧
４９…手動再立ち上げ
５０…Ａ系ＣＰＵ                      ５１…Ｂ系ＣＰＵ
５２…フェールセーフ照合論理部
５３…Ａ系ＳＲＡＭ                    ５４…Ｂ系ＳＲＡＭ
５５…Ａ系外部バス入出力Ｉ／Ｆ        ５６…Ｂ系外部バス入出力Ｉ／Ｆ
５７…Ａ系外部記憶装置                ５８…Ｂ系外部記憶装置
５９…外部共通バス入出力Ｉ／Ｆ
【図１】
0005620730.tif 000002
【図２】
0005620730.tif 000003
【図３】
0005620730.tif 000004
【図４】
0005620730.tif 000005
【図５】
0005620730.tif 000006
【図６】
0005620730.tif 000007