(57)【特許請求の範囲】
【請求項１】
第１カウンタを有し、実行の優先度が最も高いタスク１から最も低いタスクｎを含むｎ個（ｎ≧２）のタスク及びウォッチドッグタイマリセットタスクを実行するマイクロプロセッサと、第２カウンタを有するウォッチドッグタイマ回路を含み、前記マイクロプロセッサがリセット信号を発生する毎に前記第２カウンタをリセットし、前記第２カウンタのカウント値が設定値に達したときに規定の処置を実行する異常検出回路を備えた制御装置において、前記ｎ個のタスクのいずれかが正常に実行されなかったことを検出するマイクロプロセッサの間欠異常検出方法であって、
前記第１カウンタのカウント値の初期値を前記タスク１に与え、前記ｎ個のタスクを優先度の高い順に実行すると共に該カウント値を後段のタスクに順次送っていき、前記タスクｎにおいて該カウント値をカウントアップして次の演算周期の前記タスク１に与え、以下同様の処理を繰り返す第１の工程、
前記第１の工程における前記第１カウンタのカウント値を監視し、今回演算周期と前回演算周期の前記第１カウンタのカウント値に変化がなかった場合に該マイクロプロセッサに間欠異常が発生したと判断する第２の工程を含むことを特徴とするマイクロプロセッサの間欠異常検出方法。
【請求項２】
請求項１に記載のマイクロプロセッサの間欠異常検出方法であって、前記第２の工程は、前記ウォッチドッグタイマリセットタスクにおいて実行され、前記ウォッチドッグタイマリセットタスクは、今回演算周期と前回演算周期の前記第１カウンタのカウント値に変化があった場合に、前記異常検出回路にリセット信号を送信することを特徴とするマイクロプロセッサの間欠異常検出方法。
【請求項３】
請求項１に記載のマイクロプロセッサの間欠異常検出方法であって、前記第２の工程は、前記タスクｎの後段の動作カウンタ監視タスクにおいて実行され、前記動作カウンタ監視タスクは、今回演算周期と前回演算周期の前記第１カウンタのカウント値に変化があった場合に、前記異常検出回路にリセット信号を送信することを特徴とするマイクロプロセッサの間欠異常検出方法。
【請求項４】
請求項１に記載のマイクロプロセッサの間欠異常検出方法であって、前記第２の工程において、前記マイクロプロセッサに間欠異常が発生したと判断した場合に、前記マイクロプロセッサが有する自己診断回路により該マイクロプロセッサを強制停止することを特徴とするマイクロプロセッサの間欠異常検出方法。
【請求項５】
請求項１に記載のマイクロプロセッサの間欠異常検出方法であって、前記第１カウンタのカウント値を他装置にアナログ信号出力し、前記第２の工程を前記他装置において実行するようにしたことを特徴とするマイクロプロセッサの間欠異常検出方法。
【請求項６】
請求項５に記載のマイクロプロセッサの間欠異常検出方法であって、前記他装置は、他の制御装置または計算機であることを特徴とするマイクロプロセッサの間欠異常検出方法。
【請求項７】
請求項５に記載のマイクロプロセッサの間欠異常検出方法であって、前記第１カウンタのカウント値を複数の前記他装置にネットワーク出力し、前記第２の工程を複数の前記他装置において実行するようにしたことを特徴とするマイクロプロセッサの間欠異常検出方法。
【請求項８】
請求項１〜請求項７のいずれか一項に記載のマイクロプロセッサの間欠異常検出方法であって、前記異常検出回路は、前記規定の処置として、マイクロプロセッサ停止信号及び
故障警報信号を生成し、それらを出力することを特徴とするマイクロプロセッサの間欠異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置におけるマイクロプロセッサの電源電圧の瞬時低下による間欠異常を検出する方法に関するものである。
【背景技術】
【０００２】
従来、マイクロプロセッサを用いた制御装置では、ウォッチドッグタイマ回路を用いてマイクロプロセッサの異常を監視している。すなわち、マイクロプロセッサが不正な状態に陥り、リセット信号が規則的に送信されなくなった場合（タイムアウト）に、異常検出信号を発生し規定の処置を実行する。規定の処置とは、システムのリセットや電源切断によるシステムの強制停止、あるいは電源切断後の再投入等である。
【０００３】
例えば特許文献１では、ウォッチドッグタイマを用いたプロセッサの異常監視方法として、ウォッチドッグタイマのカウンタは、プロセッサがリセット信号を発生する毎にカウントを初期値から開始し、そのカウント値が第１設定値に到達した時に第１タイムアウト信号を発生し、第１タイムアウト信号によって割り込み信号を生成し、その割り込み信号のタイミングでカウントを開始し第２設定値に達した時に第２タイムアウト信号からアラーム信号を発生する方法が提示されている。
【０００４】
この方法によれば、第１設定値を最も長い処理時間を有するタスクに依存して設定する必要がなく、例えば最も実行頻度の多いタスクの処理時間を考慮して設定することができるため、ソフトウェアに依存することなくプロセッサの異常を速やかに検出することができる。
【０００５】
ところで、マイクロプロセッサは、処理が高負荷になると消費電力が増大し、電源電圧が瞬時低下する場合がある。制御装置においては、電源電圧低下の監視を行っているが、上記のようなマイクロプロセッサの負荷状態による電源電圧の瞬時低下については、異常とは認識せず、検出しないようにしていた。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−３２７９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
このように、従来の異常検出方法では、マイクロプロセッサの負荷状態による電源電圧の瞬時低下が発生した場合、完全な電圧低下ではないためマイクロプロセッサは間欠的に動作できており、ウォッチドッグタイマが働かない場合があった。その結果、マイクロプロセッサが、例えばタスクＡは正常に実行しているがタスクＢは正常に実行していないという間欠異常の状態に陥っていても、検出できていない可能性があった。
【０００８】
本発明は、上記のような課題を解決するためになされたものであり、マイクロプロセッサがすべてのタスクを正常に実行していることを容易に監視でき、マイクロプロセッサの間欠異常を簡単に検出することが可能なマイクロプロセッサの間欠異常検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るマイクロプロセッサの間欠異常検出方法は、第１カウンタを有し、実行の
優先度が最も高いタスク１から最も低いタスクｎを含むｎ個（ｎ≧２）のタスク及びウォッチドッグタイマリセットタスクを実行するマイクロプロセッサと、第２カウンタを有するウォッチドッグタイマ回路を含み、マイクロプロセッサがリセット信号を発生する毎に第２カウンタをリセットし、第２カウンタのカウント値が設定値に達したときに規定の処置を実行する異常検出回路を備えた制御装置において、ｎ個のタスクのいずれかが正常に実行されなかったことを検出するマイクロプロセッサの間欠異常検出方法であって、第１カウンタのカウント値の初期値をタスク１に与え、ｎ個のタスクを優先度の高い順に実行すると共に該カウント値を後段のタスクに順次送っていき、タスクｎにおいて該カウント値をカウントアップして次の演算周期のタスク１に与え、以下同様の処理を繰り返す第１の工程と、第１の工程における第１カウンタのカウント値を監視し、今回演算周期と前回演算周期の第１カウンタのカウント値に変化がなかった場合に該マイクロプロセッサに間欠異常が発生したと判断する第２の工程を含むものである。
【発明の効果】
【００１０】
本発明に係るマイクロプロセッサの間欠異常検出方法によれば、ｎ個のタスクを優先度の高い順に実行すると共に第１カウンタのカウント値を後段のタスクに順次送っていき、タスクｎにおいて該カウント値をカウントアップして次の演算周期のタスク１に与える処理を繰り返しながら、今回演算周期と前回演算周期の第１カウンタのカウント値を比較するという簡単な方法で、マイクロプロセッサがすべてのタスクを正常に実行していることを容易に監視でき、マイクロプロセッサの間欠異常を簡単に検出することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１におけるマイクロプロセッサを用いた制御装置の構成を示す概略図である。
【図２】本発明の実施の形態１におけるマイクロプロセッサの間欠異常検出方法を示す図である。
【図３】本発明の実施の形態１の比較例である従来のウォッチドッグタイマ回路を用いたマイクロプロセッサの異常検出方法を示す図である。
【図４】本発明の実施の形態２におけるマイクロプロセッサの間欠異常検出方法を示す図である。
【図５】本発明の実施の形態３におけるマイクロプロセッサの間欠異常検出方法を示す図である。
【図６】本発明の実施の形態４におけるマイクロプロセッサの間欠異常検出方法を示す図である。
【図７】本発明の実施の形態５におけるマイクロプロセッサの間欠異常検出方法を示す図である。
【図８】本発明の実施の形態６におけるマイクロプロセッサの間欠異常検出方法を示す図である。
【図９】本発明の実施の形態７におけるマイクロプロセッサの間欠異常検出方法を示す図である。
【発明を実施するための形態】
【００１２】
実施の形態１．
以下に、本発明の実施の形態１に係るマイクロプロセッサの間欠異常検出方法について、図面に基づいて説明する。図１は、本実施の形態１におけるマイクロプロセッサを用いた制御装置の構成を示す概略図、図２は本実施の形態１におけるマイクロプロセッサの間欠異常検出方法を示すフローチャートである。なお、図中、同一、相当部分には同一符号を付している。
【００１３】
図１に示すように、本実施の形態１における制御装置（以下、本装置と略す）は、マイ
クロプロセッサ１と異常検出回路２を備えている。本装置のマイクロプロセッサ１は、第１カウンタである動作カウンタ（図示せず）を有し、実行の優先度が最も高いタスク１から最も低いタスクｎを含むｎ個（ｎ≧２）のタスクと、ウォッチドッグタイマリセットタスクを実行するものである。
【００１４】
また、異常検出回路２は、第２カウンタ（以下カウンタと略す）を有するウォッチドッグタイマ回路２１を含み、マイクロプロセッサ１がウォッチドッグタイマリセット信号（以下、リセット信号と略す）を発生する毎に、ウォッチドッグタイマ回路２１のカウンタをリセットする。異常検出回路２は、マイクロプロセッサ１からウォッチドッグタイマ回路２１に規則的にリセット信号が送信されず、カウンタのカウント値が設定値に達したときに、規定の処置を実行する。規定の処理とは、例えばマイクロプロセッサ停止信号及び故障警報信号を生成し、それらを出力する処理である。
【００１５】
異常検出回路２から出力されたマイクロプロセッサ停止信号を受信したマイクロプロセッサ１は、強制停止処理が実行される。また、異常検出回路２の警報出力回路２２から出力された故障警報信号を受信した他装置３は、本装置のマイクロプロセッサ１の異常を認識する。なお、他装置３とは、他の制御装置または計算機であり、本装置が例えば発電所のタービン制御装置である場合は、他装置３はボイラ制御装置、シーケンス制御装置またはプラント制御計算機等が該当する。また、本装置が例えば情報通信システムのサーバである場合には、他装置３はクライアントのパーソナルコンピュータが該当する。あるいはこれらの本装置と他装置３は逆であってもよい。
【００１６】
本実施の形態１に係るマイクロプロセッサの間欠異常検出方法は、以下に説明する第１の工程と第２の工程を含み、マイクロプロセッサ１の負荷状態に起因する電源電圧の瞬時低下により、ｎ個のタスクのいずれかが正常に実行されなかったことを容易な方法で検出するものである。
【００１７】
まず、第１の工程では、動作カウンタのカウント値の初期値をタスク１に与え、ｎ個のタスクを優先度の高い順に実行すると共に、該カウント値を後段のタスクに順次送っていき、タスクｎにおいて該カウント値をカウントアップ（＋１）する。このカウントアップしたカウント値を次の演算周期のタスク１に与え、以下同様の処理を繰り返す。なお、動作カウンタのカウント値は、動作カウンタ信号として後段のタスクに送信される。
【００１８】
続いて第２の工程では、第１の工程における動作カウンタのカウント値を監視し、今回演算周期と前回演算周期の動作カウンタのカウント値に変化がなかった場合に、該マイクロプロセッサ１に間欠異常が発生したと判断する。本実施の形態１では、この第２の工程をウォッチドッグタイマリセットタスクにおいて実行するようにし、ウォッチドッグタイマリセットタスクは、今回演算周期と前回演算周期の動作カウンタのカウント値に変化があった場合に、異常検出回路２のウォッチドッグタイマ回路２１にリセット信号を送信する。
【００１９】
本実施の形態１に係るマイクロプロセッサの間欠異常検出方法について、図２のフローチャートを用いて詳細に説明する。マイクロプロセッサ１は、ステップ１０（Ｓ１０）のスタート処理に続いて、ステップ１１（Ｓ１１）の初期化処理を実行する。この初期化処理では、動作カウンタのカウント値の初期値として、動作カウンタ信号「ＬＡ０」に「ゼロ」を代入する。
【００２０】
次に、ステップ１２（Ｓ１２）において、ウォッチドッグタイマリセットタスクを実行する。なお、初回起動時は、Ｓ１２において、ステップ１２１（Ｓ１２１）は実行せず、動作カウンタの初期値となる動作カウンタ信号「ＬＡ０」をステップ１３（Ｓ１３）のタ
スク１に送信する。
【００２１】
Ｓ１３では、優先度１位のタスク１を実行すると共に、Ｓ１２から送信された動作カウンタ信号「ＬＡ０」を「ＬＡ１」に代入し、この「ＬＡ１」を次のステップ１４（Ｓ１４）のタスク２へ送信する。続いてＳ１４では、優先度２位のタスク２を実行すると共に、Ｓ１３のタスク１から送信された動作カウンタ信号「ＬＡ１」を「ＬＡ２」に代入し、後段のタスク（図示せず）へ送信する。以下同様に、優先度の高い順にすべてのタスクを実行すると共に、動作カウンタ信号を送信していく。
【００２２】
さらに、ステップ１５（Ｓ１５）のタスクｎにおいて、優先度最下位のタスクｎを実行すると共に、前段タスクであるタスク（ｎ−１）から送信された動作カウンタ信号「ＬＡ（ｎ−１）」のカウント値に対して、＋１カウントアップする。このカウントアップしたカウント値を、更新された動作カウンタ信号「ＬＡｎ」として、Ｓ１２のウォッチドッグタイマリセットタスクへ送信する。
【００２３】
Ｓ１２のウォッチドッグタイマリセットタスクでは、Ｓ１２１において、今回演算周期と前回演算周期の動作カウンタのカウント値を比較する。今回演算周期と前回演算周期の動作カウンタ信号「ＬＡｎ」を比較し、それらの値に変化があった場合（ＹＥＳ）、すべてのタスクが正常に実行されたものと判断し、異常検出回路２のウォッチドッグタイマ回路２１にリセット信号を送信する。また、Ｓ１２のウォッチドッグタイマリセットタスクは、更新された動作カウンタ信号「ＬＡｎ」を「ＬＡ０」に代入して次の演算周期のタスク１（Ｓ１３）に与える。
【００２４】
一方、異常検出回路２では、ステップ２０（Ｓ２０）のスタート処理後、ステップ２１（Ｓ２１）においてウォッチドッグタイマ回路２１のカウンタをカウントアップ（＋１）する。さらに、ステップ２２（Ｓ２２）において、マイクロプロセッサ１からリセット信号が送信された場合（ＹＥＳ）、ステップ２３（Ｓ２３）でウォッチドッグタイマ回路２１のカウンタをリセット（０クリア）し、ステップ２４（Ｓ２４）に進む。
【００２５】
また、Ｓ２２において、マイクロプロセッサ１からリセット信号が所定期間送信されない場合（ＮＯ）、Ｓ２４においてウォッチドッグタイマ回路２１のカウンタがオーバーフローか否かを確認する。オーバーフローの場合（ＹＥＳ）には、ステップ２５（Ｓ２５）及びステップ２６（Ｓ２６）を実行する。Ｓ２５ではマイクロプロセッサ停止信号を生成、出力し、Ｓ２６では故障警報信号を生成し、他装置３に対して故障警報をデジタル出力（ＤＯ１）する。Ｓ２５でマイクロプロセッサ停止信号が出力されると、ステップ１６（Ｓ１６）においてマイクロプロセッサ１は強制停止される。
【００２６】
次に、マイクロプロセッサ１に間欠異常が発生した場合の動作について説明する。例えばＳ１３のタスク１を実行時にマイクロプロセッサ１の電源電圧の瞬時低下が発生し、タスク１が正常に実行されなかった場合、タスク１ではＳ１４のタスク２へ送信する動作カウンタ信号「ＬＡ１」の値を更新することができない。このため、前回演算周期と同じ動作カウンタ信号「ＬＡ１」が次のタスク２に送信される。タスク２は、前回演算周期から更新されていない動作カウンタ信号「ＬＡ１」を「ＬＡ２」に代入し、後段のタスクへ送信する。
【００２７】
これにより、Ｓ１５のタスクｎに送信されてきた動作カウンタ信号「ＬＡ（ｎ−１）」は、前回演算周期から更新されていないものとなる。この値に＋１カウントアップしたカウント値は、前回演算周期と等しいものとなる。従って、Ｓ１２のウォッチドッグタイマリセットタスクのＳ１２１において、今回演算周期と前回演算周期の「ＬＡｎ」を比較すると、それらの値に変化がないため（ＮＯ）、異常検出回路２に対してリセット信号を送
信しない。
【００２８】
このような状態が所定期間継続すると、異常検出回路２では、Ｓ２２においてリセット信号が受信されない状態が続き、Ｓ２４においてウォッチドッグタイマ回路２１のカウンタがオーバーフローする。これにより、Ｓ２５でマイクロプロセッサ停止信号が出力され、Ｓ２６で故障警報が出力される。これらの結果、他装置３はマイクロプロセッサ１に異常が発生したことを認識し、マイクロプロセッサ１はＳ１６の強制停止処理により異常状態での動作が停止される。
【００２９】
図３は、本実施の形態１の比較例である従来のウォッチドッグタイマを用いたマイクロプロセッサの異常検出方法を示している。図３中、マイクロプロセッサ１で実行される処理Ｓ１０〜Ｓ１６、及び異常検出回路２で実行される処理Ｓ２０〜Ｓ２６は、基本的には図２に示す本実施の形態１におけるマイクロプロセッサの間欠異常検出方法と同じ処理である。
【００３０】
ただし、従来の異常検出方法では、Ｓ１２のウォッチドッグタイマリセットタスクは定周期でリセット信号を出力するもので、他の各タスクにおいて正常処理が実行されたか否かを判断するものではない。マイクロプロセッサ１のウォッチドッグタイマリセットタスク（Ｓ１２）からリセット信号が出力されず、その結果、異常検出回路２内のウォッチドッグタイマのカウンタがオーバーフローすることで（Ｓ２４）、マイクロプロセッサ１に異常が発生したと判断する。
【００３１】
従来の異常検出方法では、マイクロプロセッサ１に電源電圧の瞬時低下が発生し、例えばＳ１４のタスク２が正常に実行されなかったとしても、その後直ぐに電源電圧が回復して以降のタスクが順次実行され、最終的にＳ１５のタスクｎが実行されると、Ｓ１２のウォッチドッグタイマリセットタスクは異常検出回路２にリセット信号を送信する。このため、ウォッチドッグタイマが働かず、マイクロプロセッサ１の間欠異常は検出されない。
【００３２】
以上のように、本実施の形態１に係るマイクロプロセッサの間欠異常検出方法によれば、動作カウンタのカウント値の初期値をタスク１に与え、ｎ個のタスクを優先度の高い順に実行すると共に、該カウント値を後段のタスクに順次送っていき、タスクｎにおいて該カウント値をカウントアップして、次の演算周期のタスク１に与え、以下同様の処理を繰り返す第１の工程と、第１の工程における動作カウンタのカウント値を監視し、今回演算周期と前回演算周期の動作カウンタのカウント値に変化がなかった場合に、該マイクロプロセッサ１に間欠異常が発生したと判断する第２の工程により、マイクロプロセッサ１がすべてのタスクを正常に実行していることを容易に監視でき、マイクロプロセッサ１の間欠異常を簡単に検出することができる。
【００３３】
実施の形態２．
図４は、本発明の実施の形態２におけるマイクロプロセッサの間欠異常検出方法を示すフローチャートである。図４中、図２と同一、相当部分には同一符号を付している。上記実施の形態１では、動作カウンタのカウント値の監視（第２の工程）をウォッチドッグタイマリセットタスク（Ｓ１２）において実行したが、本実施の形態２では、タスクｎの後段の動作カウンタ監視タスクにおいて実行するものである。なお、その他の構成及び動作については、上記実施の形態１と同様であるので説明を省略する。
【００３４】
本実施の形態２では、図４に示すように、タスクｎの後段のステップ１７（Ｓ１７）の動作カウンタ監視タスクにおいて、動作カウンタのカウント値を監視する。なお、Ｓ１２のウォッチドッグタイマリセットタスクは、従来方法（図３参照）と同様に、異常検出回路２に対して定周期でリセット信号を出力する。
【００３５】
Ｓ１３のタスク１は、Ｓ１１の初期化処理において初期化された動作カウンタのカウント値「ＬＡ１」を使用して処理を開始する。Ｓ１７の動作カウンタ監視タスクでは、初回演算周期にはステップ１７１（Ｓ１７１）を実行せず、２回目以降の演算周期において、Ｓ１７１で今回演算周期と前回演算周期のカウント値を比較する。
【００３６】
すなわち、今回演算周期と前回演算周期の動作カウンタ信号「ＬＡｎ」を比較し、それらの値に変化があった場合（ＹＥＳ）、すべてのタスクが正常に実行されたものとし、動作カウンタ監視タスクは異常検出回路２のウォッチドッグタイマ回路２１にリセット信号を送信する。また、Ｓ１７１において、今回演算周期と前回演算周期の「ＬＡｎ」に変化がなかった場合（ＮＯ）、異常検出回路２に対してリセット信号を送信しない。
【００３７】
本実施の形態２によれば、従来のウォッチドッグタイマリセットタスク（Ｓ１２）に加え、動作カウンタ監視タスク（Ｓ１７）によりマイクロプロセッサ１の間欠異常を自己診断するようにしたので、異常検出精度がより高くなる効果がある。
【００３８】
実施の形態３．
図５は、本発明の実施の形態３におけるマイクロプロセッサの間欠異常検出方法を示すフローチャートである。図５中、図４と同一、相当部分には同一符号を付している。本実施の形態３では、上記実施の形態２と同様に、動作カウンタのカウント値の監視（第２の工程）をＳ１７の動作カウンタ監視タスクにおいて実行する。さらに、Ｓ１７の動作カウンタ監視タスクでマイクロプロセッサ１に間欠異常が発生したと判断した場合に、該マイクロプロセッサ１を強制停止する自己診断回路を備えたものである。なお、その他の構成及び動作については、上記実施の形態１と同様であるので説明を省略する。
【００３９】
本実施の形態３では、図５に示すように、Ｓ１７の動作カウンタ監視タスクにおいて動作カウンタのカウント値を監視し、２回目以降の演算周期において、Ｓ１７１で今回演算周期と前回演算周期のカウント値を比較する。それらの値に変化があった場合（ＹＥＳ）、すべてのタスクが正常に実行されたものとし、異常検出回路２のウォッチドッグタイマ回路２１にリセット信号を送信する。また、それらの値に変化がなかった場合（ＮＯ）、マイクロプロセッサ１に間欠異常が発生したと判断し、自己診断回路によりマイクロプロセッサ１を強制停止する（Ｓ１６）。
【００４０】
本実施の形態３によれば、従来のウォッチドッグタイマリセットタスク（Ｓ１２）に加え、動作カウンタ監視タスク（Ｓ１７）によりマイクロプロセッサ１の間欠異常を自己診断し、間欠異常が発生したと判断した場合に該マイクロプロセッサ１を強制停止する自己診断回路を備えることにより、異常発生時に迅速且つ確実にマイクロプロセッサ１を停止することができる。
【００４１】
実施の形態４．
図６は、本発明の実施の形態４におけるマイクロプロセッサの間欠異常検出方法を示すフローチャートである。図６中、図４と同一、相当部分には同一符号を付している。本実施の形態４では、動作カウンタのカウント値を他装置３にアナログ信号出力し、動作カウンタのカウント値の監視（第２の工程）を他装置３において実行するものである。なお、その他の構成及び動作については、上記実施の形態１と同様であるので説明を省略する。
【００４２】
本実施の形態４では、図６に示すように、Ｓ１５のタスクｎにおける動作カウンタのカウント値を他装置３にアナログ信号出力（図中ＡＯ１）する。他装置３は、動作カウンタのカウント値を監視し、今回演算周期と前回演算周期のカウント値に変化がなかった場合に、本装置のマイクロプロセッサ１に間欠異常が発生したと判断する。
【００４３】
本実施の形態４によれば、従来のウォッチドッグタイマリセットタスク（Ｓ１２）に加え、動作カウンタのカウント値を他装置３で監視するようにしたので、本装置のマイクロプロセッサ１の間欠異常を他装置３で検出することが可能である。
【００４４】
実施の形態５．
図７は、本発明の実施の形態５におけるマイクロプロセッサの間欠異常検出方法を示すフローチャートである。図７中、図６と同一、相当部分には同一符号を付している。本実施の形態５は、上記実施の形態３（図５）と実施の形態４（図６）を組み合わせたものであり、動作カウンタのカウント値の監視（第２の工程）を、Ｓ１７の動作カウンタ監視タスクと他装置３において実行するものである。なお、その他の構成及び動作については、上記実施の形態１と同様であるので説明を省略する。
【００４５】
本実施の形態５では、図７に示すように、Ｓ１７の動作カウンタ監視タスクでマイクロプロセッサ１に間欠異常が発生したと判断した場合には、上記実施の形態３と同様に、自己診断回路によりマイクロプロセッサ１を強制停止する。また、上記実施の形態４と同様に、他装置３においても動作カウンタのカウント値を監視し、今回演算周期と前回演算周期のカウント値に変化がなかった場合に、本装置のマイクロプロセッサ１に間欠異常が発生したと判断する。
【００４６】
本実施の形態５によれば、従来のウォッチドッグタイマリセットタスク（Ｓ１２）に加え、動作カウンタのカウント値を他装置３で監視するようにしたので、本装置のマイクロプロセッサ１の間欠異常を他装置３で検出することが可能である。さらに、間欠異常が発生したと判断した場合に該マイクロプロセッサ１を強制停止する自己診断回路を備えることにより、異常発生時に迅速且つ確実にマイクロプロセッサ１を停止することができる。
【００４７】
実施の形態６．
図８は、本発明の実施の形態６におけるマイクロプロセッサの間欠異常検出方法を示すフローチャートである。図８中、図６と同一、相当部分には同一符号を付している。本実施の形態６では、上記実施の形態４（図６）と同様に、動作カウンタのカウント値を他装置３にアナログ信号出力するものであるが、本実施の形態６では、複数の他装置３にネットワーク出力し、動作カウンタのカウント値の監視（第２の工程）を複数の他装置３において実行する。なお、その他の構成及び動作については、上記実施の形態１と同様であるので説明を省略する。
【００４８】
本実施の形態６では、図８に示すように、Ｓ１５のタスクｎにおける動作カウンタのカウント値を複数の他装置３にネットワーク出力（図中ＡＯ１００）する。複数の他装置３は、動作カウンタのカウント値を監視し、今回演算周期と前回演算周期のカウント値に変化がなかった場合に、本装置のマイクロプロセッサ１に間欠異常が発生したと判断する。
【００４９】
本実施の形態６によれば、従来のウォッチドッグタイマリセットタスク（Ｓ１２）に加え、動作カウンタのカウント値を複数の他装置３で監視するようにしたので、本装置のマイクロプロセッサ１の間欠異常をより早く検出することが可能である。
【００５０】
実施の形態７．
図９は、本発明の実施の形態７におけるマイクロプロセッサの間欠異常検出方法を示すフローチャートである。図９中、図７及び図８と同一、相当部分には同一符号を付している。本実施の形態７は、上記実施の形態５（図７）と実施の形態６（図８）を組み合わせたものであり、動作カウンタのカウント値の監視（第２の工程）を、Ｓ１７の動作カウンタ監視タスクと複数の他装置３において実行するものである。なお、その他の構成及び動
作については、上記実施の形態１と同様であるので説明を省略する。
【００５１】
本実施の形態７では、図９に示すように、Ｓ１７の動作カウンタ監視タスクでマイクロプロセッサ１に間欠異常が発生したと判断した場合には、自己診断回路によりマイクロプロセッサ１を強制停止する。また、複数の他装置３においても動作カウンタのカウント値を監視し、今回演算周期と前回演算周期のカウント値に変化がなかった場合に、本装置のマイクロプロセッサ１に間欠異常が発生したと判断する。
【００５２】
本実施の形態７によれば、従来のウォッチドッグタイマリセットタスク（Ｓ１２）に加え、動作カウンタのカウント値を動作カウンタ監視タスクと複数の他装置３で監視するようにしたので、本装置のマイクロプロセッサ１の間欠異常をより早く検出することが可能である。さらに、間欠異常が発生したと判断した場合に該マイクロプロセッサ１を強制停止する自己診断回路を備えることにより、異常発生時に迅速且つ確実にマイクロプロセッサ１を停止することができる。
【産業上の利用可能性】
【００５３】
本発明は、制御装置に用いられるマイクロプロセッサの間欠異常検出方法として利用することができる。
【符号の説明】
【００５４】
１  マイクロプロセッサ、２  異常検出回路、３  他装置、
２１  ウォッチドッグタイマ回路、２２  警報出力回路。
【図１】
0005438667.tif 000002
【図２】
0005438667.tif 000003
【図３】
0005438667.tif 000004
【図４】
0005438667.tif 000005
【図５】
0005438667.tif 000006
【図６】
0005438667.tif 000007
【図７】
0005438667.tif 000008
【図８】
0005438667.tif 000009
【図９】
0005438667.tif 000010