(57)【特許請求の範囲】
【請求項１】
コンピュータとその動作を監視するウォッチドッグタイマ回路とを備え、かつ、上記ウォッチドッグタイマ回路から上記コンピュータに対してＣＰＵリセット信号を出力した回数を記憶するＷＤＴ動作記憶部を設けるとともに、上記コンピュータは、起動時に上記ＷＤＴ動作記憶部の内容を確認し、上記ウォッチドッグタイマ回路からＣＰＵリセット信号が一度も出力されていない場合にはこのウォッチドッグタイマ回路に対してタイマリセット信号の供給を停止し、これに応じて上記ウォッチドッグタイマ回路からＣＰＵリセット信号が出力されない場合には、当該ウォッチドッグタイマ回路に異常が生じているものと判断してＣＰＵはその時点でプログラムの実行を停止する一方、上記ウォッチドッグタイマ回路に対するタイマリセット信号の供給停止に応じて当該ウォッチドッグタイマ回路からＣＰＵリセット信号が出力された場合には、そのＣＰＵリセット信号の出力回数を上記ＷＤＴ動作記憶部に記憶するとともに、当該ＣＰＵリセット信号によってコンピュータがリセットされ、このリセット後にコンピュータが上記ＷＤＴ動作記憶部の内容を確認した際に、上記ウォッチドッグタイマ回路からＣＰＵリセット信号が一度でも出力されていると判断された場合には、上記ウォッチドッグタイマ回路およびコンピュータを含むシステムが健全なものとして、コンピュータは所定の制御プログラムの実行を開始するコンピュータシステムにおいて、上記コンピュータシステムが二重化されており、かつ、上記各コンピュータは、自己の診断完了を相手側に通知する通信手段と、この通信手段で通知された相手側の診断完了のタイミングと自己の診断完了のタイミングとを比較して両タイミングの差が所定時間以内にない場合にはシステム異常と判断する判断手段と、を備えることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータとその動作を監視するウォッチドッグタイマ回路とを備えたコンピュータシステムに関するものである。
【背景技術】
【０００２】
コンピュータシステムにおいては、コンピュータの制御プログラムの誤動作等によって例えば予め定められた時間内に処理が終了しないなどの異常が生じた場合には制御プログラムの実行を停止する必要がある。このため、従来より、コンピュータの動作を監視するウォッチドッグタイマ回路（以下、ＷＤＴ回路と表記する）を設けている（例えば、特許文献１参照）。
【０００３】
図５はこのような従来のコンピュータシステムの構成図である。
ここで、コンピュータ（本例ではマイクロコンピュータ）１は、制御プログラムが正常に実行されている場合には、予め設定されている所定の周期Ｔ０でタイマリセット信号を出力してＷＤＴ回路２をリセットする。このため、ＷＤＴ回路２からはコンピュータ１に対してＣＰＵリセット信号が出力されない。
【０００４】
一方、コンピュータ１は、制御プログラムの実行中に何らかの異常を検出すると、ＷＤＴ回路２に対してタイマリセット信号の供給を停止する。ＷＤＴ回路２は、このタイマリセット信号が所定の周期Ｔ０で供給されなくなるとタイムアップして、コンピュータ１に対してＣＰＵリセット信号を出力する。コンピュータ１はＷＤＴ回路２からのＣＰＵリセット信号が入力されたときには、プログラムに割り込みを発生させてＣＰＵ内の各種レジスタやＩ／Ｏポートのデータをクリアして初期状態に戻す。なお、上記の所定周期Ｔ０は、コンピュータ１の制御プログラムの異常検出のステップが所定回数繰り返されるのに要する時間以上の時間となるように予め定められている。
【０００５】
【特許文献１】特許第２６９５７７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、例えば、鉄道車両用の自動列車制御装置や航空管制等などに使用されるコンピュータシステムにおいては、安全性確保の観点から、常にフェイルセーフが要求される。
【０００７】
図５に示した従来のコンピュータシステムにおいては、コンピュータ１に対してＷＤＴ回路２を設けることでコンピュータの動作を監視できる利点があるものの、ＷＤＴ回路２自身に異常が生じた場合にはこれに対処することができず、上記のフェイルセーフの要求に十分に応えることができない。
【０００８】
すなわち、図５に示した従来構成のコンピュータシステムの場合には、システム起動時に既にＷＤＴ回路２が故障していてもコンピュータ１自体はそのことを認識することができず、制御プログラムを実行することができる。つまり、ＷＤＴ回路２の異常が潜在化してしまう。このため、その後、コンピュータ１が制御プログラムを実行中に異常が生じたためにタイマリセット信号の出力を停止してもＷＤＴ回路２からはＣＰＵリセット信号が出力されないので、コンピュータ１はリセットされずに異常動作をそのまま継続するなどの不具合を生じる。
【０００９】
本発明は、上記の課題を解決するためになされたもので、ＷＤＴ回路の潜在異常を早期にかつ確実に検出できるようにして、フェイルセーフの要求に十分に応えることができるコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、コンピュータとその動作を監視するウォッチドッグタイマ回路とを備えたコンピュータシステムにおいて、次の構成を採用している。
【００１１】
すなわち、本発明では、コンピュータとその動作を監視するウォッチドッグタイマ回路とを備え、かつ、上記ウォッチドッグタイマ回路から上記コンピュータに対してＣＰＵリセット信号を出力した回数を記憶するＷＤＴ動作記憶部を設けるとともに、上記コンピュータは、起動時に上記ＷＤＴ動作記憶部の内容を確認し、上記ウォッチドッグタイマ回路からＣＰＵリセット信号が一度も出力されていない場合にはこのウォッチドッグタイマ回路に対してタイマリセット信号の供給を停止し、これに応じて上記ウォッチドッグタイマ回路からＣＰＵリセット信号が出力されない場合には、当該ウォッチドッグタイマ回路に異常が生じているものと判断してＣＰＵはその時点でプログラムの実行を停止する一方、上記ウォッチドッグタイマ回路に対するタイマリセット信号の供給停止に応じて当該ウォッチドッグタイマ回路からＣＰＵリセット信号が出力された場合には、そのＣＰＵリセット信号の出力回数を上記ＷＤＴ動作記憶部に記憶するとともに、当該ＣＰＵリセット信号によってコンピュータがリセットされ、このリセット後にコンピュータが上記ＷＤＴ動作記憶部の内容を確認した際に、上記ウォッチドッグタイマ回路からＣＰＵリセット信号が一度でも出力されていると判断された場合には、上記ウォッチドッグタイマ回路およびコンピュータを含むシステムが健全なものとして、コンピュータは所定の制御プログラムの実行を開始するコンピュータシステムにおいて、上記コンピュータシステムが二重化されており、かつ、上記各コンピュータは、自己の診断完了を相手側に通知する通信手段と、この通信手段で通知された相手側の診断完了のタイミングと自己の診断完了のタイミングとを比較して両タイミングの差が所定時間以内にない場合にはシステム異常と判断する判断手段と、を備えることを特徴としている。
【００１２】
また、本発明では、上記のコンピュータシステムが二重化されている場合において、各コンピュータには、上記各コンピュータは自己の診断完了を相手側に通知する通信手段と、この通信手段で通知された相手側の診断完了のタイミングと自己の診断完了のタイミングとを比較して両タイミングの差が所定時間以内にない場合にはシステム異常と判断する判断手段とが設けられている。
【発明の効果】
【００１３】
本発明のコンピュータシステムは、コンピュータがＷＤＴ動作記憶回路に記憶されている情報に基づいてＷＤＴ回路を診断し、ＷＤＴ回路が健全であるとコンピュータがリセットされた後に制御プログラムの実行を開始するので、ＷＤＴ回路の潜在異常の有無を早期に検出することができるとともに、フェイルセーフの要求に十分に応えることができる。そして、制御プログラムの実行中はＷＤＴ回路が健全である可能性が高いことから、コンピュータが異常動作したときには、確実にコンピュータにリセットをかけることができるので、この点でもフェイルセーフの要求に十分に応えることが可能となる。これに加えて、コンピュータシステムが二重化されている場合において、各ＷＤＴ回路の異常の有無のみならず、コンピュータ相互間で診断完了のタイミングを比較することによってＷＤＴ動作記憶回路の異常の有無も検知することができ、これにより、異常検知の確率が高くなり、診断機能が失われるのを確実に防止でき、さらに一層コンピュータシステム全体の信頼性を向上させることができる。
【００１４】
また、本発明では、上記のコンピュータシステムが二重化されている場合において、ＷＤＴ回路の異常の有無のみならず、コンピュータ相互間でコンピュータの診断完了のタイミングを比較することによってＷＤＴ動作記憶回路の異常の有無も検知できるため、異常検知の確率が高くなる。このため、診断機能が失われるのを確実に防止でき、さらにコンピュータシステム全体の信頼性を向上させることができる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
図１は本発明の実施の形態１におけるコンピュータシステムの構成図であり、図５に示した従来技術と対応する構成部分には同一の符号を付す。
【００１６】
この実施の形態１のコンピュータシステムは、マイクロコンピュータ（以下、単にコンピュータという）１と、その動作を監視するＷＤＴ回路２とを備えるとともに、ＷＤＴ動作記憶部３が設けられている。
【００１７】
このＷＤＴ動作記憶部３は、ＷＤＴ回路２からコンピュータ１に対して出力されるＣＰＵリセット信号の出力回数を記憶するもので、例えばカウンタやメモリ等が適用される。そして、このＷＤＴ動作記憶部３の記憶内容は、コンピュータシステムの電源が切られない限りそのまま保持されるようになっている。
【００１８】
一方、コンピュータ１は、ＷＤＴ動作記憶部３に対してアクセスできるようになっており、所定の制御プログラムの実行を開始する前にＷＤＴ動作記憶部３の内容を確認し、ＷＤＴ回路２からＣＰＵリセット信号が一度も出力されていない場合にはこのＷＤＴ回路２に対してタイマリセット信号の供給を停止して当該回路２の診断を行うように構成されている。
【００１９】
次に、上記構成を備えたコンピュータシステムの動作について、図２に示すフローチャートを参照して説明する。なお、図中、符号Ｓは各ステップを意味する。
【００２０】
このコンピュータシステムに電源が投入されると、コンピュータ１は、各種の初期設定をしながらＷＤＴ回路２に対して所定周期Ｔ０でタイマリセット信号を出力する（ステップ１）。コンピュータ１は、初期設定が終了すると、所定の制御プログラムの実行を開始する前にＷＤＴ動作記憶部３に対してアクセスしてその記憶内容を確認し（ステップ２）、ＷＤＴ回路２に対する診断を実施したか否かを判断する（ステップ３）。
【００２１】
すなわち、ＷＤＴ動作記憶部３は、ＷＤＴ回路２からＣＰＵリセット信号が出力されるたびにその出力回数Ｎをカウントして記憶するので、いま、その出力回数Ｎ＝０の場合、ＷＤＴ回路２からはＣＰＵリセット信号が一度も出力されていないことが分かる。そこで、この場合には、コンピュータ１は、ＷＤＴ回路２が正常に動作するか否かを確認するために、ＷＤＴ回路２に対してタイマリセット信号の供給を停止する（ステップ４）。
【００２２】
その際、ＷＤＴ回路２が故障などによる異常が生じている場合には、ＷＤＴ回路２に対するタイマリセット信号の供給を停止しても、ＷＤＴ回路２からはＣＰＵリセット信号が出力されない。このため、コンピュータ１はその時点でプログラム処理動作を停止する。これにより、ＷＤＴ回路２に異常があることが分かる。
【００２３】
一方、ＷＤＴ回路２が正常な場合、ステップ４でコンピュータ１からタイマリセット信号の供給が停止されるとタイムアップしてＣＰＵリセット信号を出力する。これにより、コンピュータ１はこのＣＰＵリセット信号によってリセットされて再びステップ１の最初の状態に戻り、初期設定処理から順に実施していくとともに、ＷＤＴ動作記憶部３にはＣＰＵリセット信号の出力回数Ｎ＝１が格納される。
【００２４】
引き続いて、コンピュータ１は、ＷＤＴ動作記憶部３の記憶内容を確認し（ステップ２）、次にＷＤＴ回路２の診断を実施したか否かを判断するが（ステップ３）、このとき、ＷＤＴ動作記憶部３の記憶内容は既にＮ＝１になっているので、診断実施済みであることが分かる。このため、この段階で初めてコンピュータ１は所定の制御プログラムの実行を開始する（ステップ５）。
【００２５】
なお、ステップ５以降のコンピュータ１の動作は、従来の場合と同様であって、制御プログラムが正常に実行されている場合には所定の周期Ｔ０でタイマリセット信号を出力してＷＤＴ回路２をリセットする。また、制御プログラムを実行中に異常が生じた場合、コンピュータ１はタイマリセット信号の出力を停止するので、ＷＤＴ回路２からはＣＰＵリセット信号が出力されてコンピュータ１がリセットされる。
【００２６】
このように、この実施の形態１のコンピュータシステムにおいては、コンピュータ１がＷＤＴ動作記憶回路３に記憶されている情報に基づいてＷＤＴ回路２を診断した後に制御プログラムの実行を開始するので、ＷＤＴ回路２の潜在異常を早期に診断することができる。そして、制御プログラムの実行中はＷＤＴ回路２が健全である可能性が高いことから、コンピュータ１が異常動作したときには、確実にコンピュータ１にリセットをかけることができる。このため、コンピュータ１の異常動作が継続するのを確実に防止でき、フェイルセーフの要求に十分に応えることが可能となる。
【００２７】
実施の形態２．
図３は本発明の実施の形態２におけるコンピュータシステムの構成図である。
【００２８】
この実施の形態２におけるコンピュータシステムは、図１と同じ構成をもつコンピュータシステムを２系列配置した、いわゆる二重化されたコンピュータシステムである。したがって、各系列Ａ，Ｂのコンピュータシステムは、コンピュータ１ａ，１ｂと、その動作を監視するＷＤＴ回路２ａ，２ｂと、ＷＤＴ動作記憶部３ａ，３ｂとを備えている。
【００２９】
そして、通常、各系列Ａ，Ｂのコンピュータ１ａ，１ｂは互いに同期をとりながら並列動作しており、例えば、一方の系列Ａのコンピュータシステムが故障したときには、他方の系列Ｂのコンピュータシステムがバックアップすることでフェイルセーフ動作を確保できるようにしている。
【００３０】
また、この実施の形態２において、各系列Ａ，Ｂのコンピュータ１ａ，１ｂは、診断完了を相手側に通知する通信手段５ａ，５ｂと、通信手段５ａ，５ｂにより通知された相手側の診断完了のタイミングと自己の診断完了のタイミングとを比較して両タイミングの差が所定時間ΔＴ以内にない場合にはシステム異常と判断する判断手段６ａ，６ｂとを備えている。
【００３１】
次に、上記構成を備えたコンピュータシステムの動作について、図４に示すフローチャートを参照して説明する。なお、図中、符号Ｓは各ステップを意味する。
【００３２】
各系列Ａ，Ｂのコンピュータシステムにおいて、電源が投入されてから、ＷＤＴ回路２ａ，２ｂの診断を一回実施して、診断実施済みと判断するまでの動作（図４のステップ１〜ステップ４）は、実施の形態１の場合と同じである。したがって、ここでは詳しい説明は省略する。
【００３３】
前述のごとく、各系列Ａ，Ｂのコンピュータ１ａ，１ｂは互いに同期をとりながら並列動作しており、各系列Ａ，Ｂのコンピュータ１ａ，１ｂの通信手段５ａ，５ｂは、自己のＷＤＴ回路２ａ，２ｂの診断が完了すると、その診断完了の情報を相手側に通知する（ステップ７）。すなわち、一方の系列Ａのコンピュータ１ａの通信手段５ａは、自己のＷＤＴ回路２ａの診断が完了すると、その診断完了の情報を相手側の通信手段５ｂに通知する。同様に、他方の系列Ｂのコンピュータ１ｂの通信手段５ｂは、自己のＷＤＴ回路２ｂの診断が完了すると、その診断完了の情報を相手側の通信手段５ａに通知する。
【００３４】
したがって、各系列Ａ，Ｂのコンピュータ１ａ，１ｂの判断手段６ａ，６ｂは、相手側と自己との両ＷＤＴ回路２ａ，２ｂの診断完了のタイミングを比較する。そして、両タイミングの差が所定時間ΔＴ以内に収まっているか否かを判断する（ステップ８）。
【００３５】
ここで、例えば他方の系列ＢにおけるＷＤＴ動作記憶部３ｂが故障するなどして、常にＮ＝１をコンピュータ１ｂに出力するような異常が生じた場合、その系列Ｂのコンピュータ１ｂは、実際はＷＤＴ回路２ｂの診断が未実施であるにもかかわらず診断完了済みと誤判断するため、相手側のコンピュータ１ａに対して診断完了の情報を出力しない。このため、相手側のＷＤＴ回路２ｂの診断完了のタイミングと自己のＷＤＴ回路２ａの診断完了のタイミングとの差が所定時間ΔＴを越えることになる。これにより、コンピュータ１の判断手段６ａは、システム全体に何らかの異常が発生しているものと判断して制御プログラムの実行を停止する（ステップ９）。また、故障である旨を外部に報知する。このことは、一方の系列ＡにおけるＷＤＴ動作記憶部３ａが故障するなどの異常が生じた場合も同じである。
【００３６】
一方、両系列Ａ，Ｂのコンピュータシステムが共に正常な場合には、ほぼ同じタイミングでＷＤＴ回路２ａ，２ｂの診断が完了するので、両系列Ａ，Ｂの診断終了のタイミングが所定時間ΔＴ以内に収まることになる。この段階で初めて各コンピュータ１ａ，１ｂは所定の制御プログラムの実行を開始する（ステップ１０）。
【００３７】
なお、ステップ１０以降のコンピュータ１ａ，１ｂの動作は、従来の場合と同様であって、各コンピュータ１ａ，１ｂは制御プログラムが正常に実行されている場合には所定の周期Ｔ０でタイマリセット信号を出力してＷＤＴ回路２ａ，２ｂをリセットする。また、制御プログラムを実行中に異常が生じた場合には、コンピュータ１ａ，１ｂはタイマリセット信号の出力を停止するので、ＷＤＴ回路２ａ，２ｂからはＣＰＵリセット信号が出力されてコンピュータ１ａ，１ｂがリセットされる。
【００３８】
このように、この実施の形態２では、コンピュータシステムが二重化されている場合において、各ＷＤＴ回路２ａ，２ｂの異常の有無のみならず、コンピュータ１ａ，１ｂ相互間で診断完了のタイミングを比較することによってＷＤＴ動作記憶回路３ａ，３ｂの異常の有無も検知することができる。これにより、異常検知の確率が高くなり、診断機能が失われるのを確実に防止でき、さらにコンピュータシステム全体の信頼性を向上させることができる。
【００３９】
なお、本発明は、フェイルセーフが要求される分野のコンピュータシステムについて広く適用することが可能である。なお、この場合に使用されるコンピュータとしてはマイクロコンピュータに限らず、ミニコンピュータなどの他の種類のコンピュータであってもよい。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態１におけるコンピュータシステムの構成図である。
【図２】図１のコンピュータシステムにおける動作説明に供するフローチャートである。
【図３】本発明の実施の形態２におけるコンピュータシステムの構成図である。
【図４】図３のコンピュータシステムにおける動作説明に供するフローチャートである。
【図５】従来のコンピュータシステムの構成図である。
【符号の説明】
【００４１】
１，１ａ，１ｂ  マイクロコンピュータ（コンピュータ）、
２，２ａ，２ｂ  ＷＤＴ回路（ウォッチドッグタイマ回路）、
３，３ａ，３ｂ  ＷＤＴ動作記憶部、５ａ，５ｂ  通信手段、６ａ，６ｂ  判断手段。
【図１】
0004613019.tif 000002
【図２】
0004613019.tif 000003
【図３】
0004613019.tif 000004
【図４】
0004613019.tif 000005
【図５】
0004613019.tif 000006