(57)【要約】【課題】  従来のＷＤＴではＣＰＵの動作の復旧にあたって、プログラムの停止箇所等の情報が記録に残らないので、不具合の原因を追求するのが困難である。【解決手段】  ＣＰＵからプログラムの実行個所の情報をＩ／Ｏ出力と共に出力する機能を設け、ＷＤＴ回路のタイムアウト時に、前記Ｉ／Ｏ出力に伴って得られたプログラム実行個所をバックアップメモリ回路に記録して参照可能な構成とした。【選択図】    図１
2006023970.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵとウォッチドックタイマを使用した装置の装置内異常検出方式において、
前記ＣＰＵはプログラムの正常動作時にＩ／Ｏ信号とともに、プログラムの実行箇所についてのデータを発信し、
前記ＣＰＵの動作異常時に、前記ウオッチドックタイマが所定のカウント数を超えると、前記プログラムの実行箇所のデータを記憶し、
異常についての情報を装置の外部に表示することを特徴とする装置内異常検出方式。
【請求項２】
前記装置内の異常についての情報を異常発生時刻とともに
記録することを特徴とする請求項１記載の装置異常検出方式。
【請求項３】
ＣＰＵとウォッチドックタイマを使用した装置の装置内異常検出方式において、
前記ＣＰＵの動作異常時に、ＣＰＵの復旧方法についての情報を記録した後、前記プログラムを再び実行し、
前記情報を参照して、復旧方法を切り替えることを特徴とする装置内異常検出方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は装置異常検出方式に関し、特に中央演算処理装置（以降、ＣＰＵと称す。）とウォッチ・ドッグ・タイマ（Ｗａｔｃｈ  Ｄｏｇ  Ｔｉｍｅｒ。以下、ＷＤＴと称す。）を用いた装置において、装置内で発生する異常を検出し、迅速に復旧し、かつ当該異常に関する情報を記録して参照可能に構成したことにより原因を容易に解析できるようにしたシステム異常復旧方式に関するものである。
【背景技術】
【０００２】
従来から装置内の異常を検出する装置にはＷＤＴを用いたものが一般に使われている。この種の装置では、ＷＤＴは常時カウントアップしており、ＣＰＵが正常動作をしている間は内蔵のカウンタがカウント停止信号を発信して一定間隔でカウントアップをクリアさせるので、ＣＰＵの異常を判定する為の予め決められた所定のカウント数をオーバーせず、結果としてＣＰＵが正常に動作しているものと判定するしくみになっている。
【０００３】
また、該装置ではＣＰＵが異常になって停止した場合には、カウント停止信号が発信されなくなり、カウントはクリアされずカウントアップを継続するので、所定のカウント数をオーバーすることとなり、ＣＰＵの動作が異常であると判定してアラーム発信する。
【特許文献１】特開平６−３１８１５９
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のＷＤＴを用いた装置内の異常検出方式ではＣＰＵで実行中のプログラムが途中で異常停止した場合、システムの復旧は装置に設けられたリセットスイッチを押してリセットしたり、重度のエラーであれば、強制的に電源スイッチを切るなど比較的容易である。しかしながら、この方法では、実行していたプログラムのどの部分が原因で異常停止しているのか記録が残らず、プログラムを解析してＣＰＵの停止の原因を本質的に究明するのは容易ではない。
【０００５】
また、従来のＷＤＴでは復旧に装置に設けられたリセットスイッチを押してＣＰＵの動作をリセットするのが一般的であるが、このようなリセットスイッチによる復旧方法においてもまれにではあるが復旧不可能な異常が起こることがあり装置の操作上、使い難いものとなっていた。
【課題を解決するための手段】
【０００６】
このような課題を解決するために、本発明では装置内においてある期間内にプログラム実行個所情報をＩ／Ｏに出力するプログラムと、Ｉ／Ｏ入力によってクリアされるＷＤＴ回路と、ＷＤＴ回路のタイムアウト時にプログラム実行個所を記録するバックアップメモリ回路を設け、プログラム停止時の実行情報を記録する構成とした。
【発明の効果】
【０００７】
バックアップメモリに、タイムアウト発生日時時刻データ、停止時のプログラム実行個所、ＣＰＵの動作回復状況を保存することにより、障害発生時にこれらの障害情報を利用でき障害解析が容易となる。また、リセットにより復旧できなかった場合に電源をＯＮ／ＯＦＦさせる機構を組み込むことによりリセットでは復旧不可能な障害をも復旧することができる。
【０００８】
さらに、障害発生時に即座に記録した障害情報を読み込みネットワークを通じてホスト端末に表示する構成としたので障害対応を迅速に行えるという効果が得られる。
【発明を実施するための最良の形態】
【０００９】
（構成）
以下に本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態の装置内異常検出方式の構成図である。
【００１０】
本発明の装置１には内部にＣＰＵ２が備えられており、該ＣＰＵ２でプログラムを実行するのであるがＣＰＵ２にはＩ／Ｏバスで制御回路３が接続されており各種制御信号を生成しシステムを制御する。特にＣＰＵ２が正常に動作している時はＩ／Ｏバスを介してＩ／Ｏ出力２１が常に制御回路３に発信されている。
【００１１】
また、制御回路３には、メモリで構成されたＣＰＵリセットログ１０と電源ＯＮ／ＯＦＦログ１０の二つの記憶領域が接続されている。また、装置１は電源部４で電源供給されており、電源部４には装置外部から押下可能な電源スイッチ１４が接続されている。
【００１２】
ＣＰＵ２はリセットスイッチ１３によって装置１の外部からもリセットすることができるようになっており、制御回路３には日付時刻をカウントして記録しているＲＴＣ回路５が、日付情報が読み出し可能に接続されている。ＷＤＴ６は制御回路３を介してＣＰＵの動作を監視し停止を検出する。また、障害情報を記録するバックアップメモリ７、障害発生時にバックアップメモリ７から取得した障害情報をホスト９に伝える通知回路８からなっている。
【００１３】
（動作）
次に、本発明の実施の形態の動作について説明する。図２は本装置の動作のフローチャートである。当該フローの各ステップＳ１〜Ｓ１２を順を追って以下に説明する。
【００１４】
先ず、作業者が装置の電源を入力して作業を開始する（Ｓ１）と同時にＣＰＵリセットログ１０と電源ＯＮ／ＯＦＦログ１１の記憶内容を初期化する（Ｓ２）。具体的には、制御回路3からの信号を受けて、２つのログにともに「０」のデータが書き込まれる。
【００１５】
作業者は装置上で任意のプログラムを実行して作業を行うのであるが、装置が正常に動作している時は、ＣＰＵ２は所定の時間毎に実行中のプログラムの実行個所（たとえば行番号など）の情報をＩ／Ｏ出力２１と共に制御回路３に断続的に出力している。
【００１６】
制御回路３はＩ／Ｏ出力２１を受け取るとプログラム実行個所情報をデータバス３５を通じてバックアップメモリ７に送信すると共に、クリア信号３３をＷＤＴ６に送信する。ＷＤＴ６はＣＰＵ２が動作をしている間は内蔵のタイマにより常にカウントアップしているが、クリア信号３３を受信することによりカウントアップを停止する。つまり、ＣＰＵ２が正常な動作をしている間は、ＷＤＴ６はクリア信号３３を受信し続けることになりタイムアウトとなることはない。
【００１７】
いま、この状態からＣＰＵ２上で実行されているプログラムが暴走して異常が発生したとする（Ｓ３）。この時、ＣＰＵ２のＩ／Ｏ出力２１が停止されることにより、制御回路３ではＣＰＵ２から常時入力されていたＩ／Ｏ出力２１の信号が受信されなくなる。それとともに制御回路３はクリア信号３３をＷＤＴ６に対し発信しなくなるので、ＷＤＴ６でカウントアップが開始される。ＷＤＴ６は、カウント数が所定の数以上になるとＣＰＵ２に異常が発生したとして制御回路３にタイムアウト信号６１を送信する。
【００１８】
制御回路３はタイムアウト信号６１を受信するとライト信号２７をバックアップメモリ７に送信し、このときＲＴＣ回路５から得られる日付時刻データ２９を受信し、直前にＣＰＵ２からＩ／Ｏ出力２１にあわせて送信されたプログラム停止個所情報を日付時刻データ２９とともにバックアップメモリ７に書き込む。図３はバックアップメモリ７に書き込まれるデータのフォーマット形式を示したものであり、後に障害の履歴が参照可能なように、障害発生日時のデータをプログラム停止箇所のデータがセットで書き込まれる。
【００１９】
続いて、制御回路３はバックアップメモリ７に書き込み指示をおくるとともに、ＣＰＵ２にＣＰＵリセット信号２２を発信する。ＣＰＵリセット信号を発信するときは、ＣＰＵリセットログ１０の所定ビット位置に「１」のデータを書き込む。このとき電源ＯＮ／ＯＦＦログ１１にはデータを書き込まないので、該データは「０」として記録されたままの状態である。
【００２０】
ＣＰＵリセット信号２２がＣＰＵ２で受信されるとリセットスイッッチを押すことなく自動的にＣＰＵ２は実行中のプログラムをリセット（Ｓ４）し再びプログラム先頭から実行を開始する。そしてＣＰＵ２は制御回路３を介してＣＰＵリセットログ１０および電源ＯＮ／ＯＦＦログ１１の状態を確認する。
【００２１】
ＣＰＵリセットログ１０には既に「１」のデータが記憶されており、かつ電源ＯＮ／ＯＦＦログ１１には「０」のデータが記憶されているので、前回のＣＰＵエラー時にはＣＰＵリセットにより復旧したものと判断して制御回路３からＣＰＵリセットでの復旧の旨を記録した回復情報をバックアップメモリ７に発信するとともに制御回路３からライト信号２７をバックアップメモリ７へ発信する。（Ｓ５）
【００２２】
バックアップメモリ７に回復情報のデータとライト信号２７が受信されると、図３に示したバックアップメモリ７のデータ構造において予め決められた所定の領域に当該回復情報が書き込まれる（Ｓ６）。書き込みが終了すると、図示しないログ情報リセットが制御回路３から、ＣＰＵリセットログ１０及び電源ＯＮ／ＯＦＦログ１１に送信され、両ログのデータに「０」が書き込まれて初期化される。その後、通知回路８は制御回路３から障害通知２６を受け取ると、バックアップメモリ７をアクセスして記録されている障害情報を読み込み、障害表示通知２８と共に、読み込んだ障害情報をホスト９へ送信する。ホスト９では図示しない表示画面が備えられており、ＣＰＵリセットにより装置が復旧した旨の回復情報が記録され、正常に復旧したことを知らせるメッセージがホスト９に設けられた図示しない画面に表示され作業者に通知される（Ｓ７）。
【００２３】
しかしながら、既に説明した図３のＳ６のＣＰＵリセットを実行した後に、再びＷＤＴ６がタイムアウトとなってしまう場合は、ＣＰＵリセットでは復旧不能な動作異常であるとして強制的に電源のＯＦＦすることによって装置を復旧させる。制御回路３はＷＤＴ６のタイムアウト信号を受信するとＣＰＵリセットログ１０と電源ＯＮ／ＯＦＦログ１１を参照する。（Ｓ８）
【００２４】
ＣＰＵリセットログ１０のデータビットがすでに「１」となっているので、制御回路３はＣＰＵリセットログ１０の「１」を読み取って、ＣＰＵリセット後すぐにタイムアウトを起こしたものと判定し、電源ＯＮ／ＯＦＦ信号２３を電源部４に送信して装置の電源を強制的にＯＦＦする（Ｓ９）。このとき同時に電源ＯＮ／ＯＦＦログ１１に「１」のデータを書き込むとともに、ＣＰＵリセットログ１０のデータをクリアして「０」のデータに書き換える。
【００２５】
制御回路３から電源ＯＮ／ＯＦＦでの復旧の旨を記録した回復情報をバックアップメモリ７に発信する。ともに制御回路３からライト信号２７をバックアップメモリ７へ発信する。バックアップメモリ７に回復情報のデータとライト信号２７が受信されると、図３に示したバックアップメモリ７のデータ構造の所定の領域に回復情報が書き込まれる（Ｓ１０）。
【００２６】
書き込みが終了すると、図示しないログ情報リセットを通知回路８は制御回路３から障害通知２６を受け取り、バックアップメモリ７をアクセスして記録されている障害情報を読み込み、障害表示通知２８と共に、読み込んだ障害情報をホスト９へ送信する。その後、正常に復旧したことを知らせるメッセージがホスト９の画面に表示され作業者に通知される。
【００２７】
電源をＯＦＦした後、再度ＯＮして電源の再投入を実行した場合でも、ＷＤＴ６がタイムアウトとなってしまう場合はこれを、復旧不可能な最重度な動作異常であると判断（Ｓ１１）して復旧不可能である旨を示すアラームを図示しない装置に付属のＬＥＤを点灯させるなどして操作者に通知する（Ｓ１２）。このような場合には、もはや通常の処理では復旧は困難であるので操作者はマニュアル等を元に特別な復旧作業を行うのであるが、本願とは無関係な内容であり、ここでは詳述しない。
【００２８】
なお、本発明におけるホスト９での画面表示では、作業者へのメッセージを表示するようにしているが、バックアップメモリ７に記憶された情報の履歴をリストとして表示してもよい。
【００２９】
また、異常の原因となるプログラムの実行個所をプログラムリストと合わせて表示して具体的に指示するようにしてもよい。
【００３０】
さらに、本発明では、ウォッチドッグタイマを用いた装置として説明しているが、ＣＰＵ等の装置内部品の出力信号を時間監視して異常を検出するものであれば、これに限定されない。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態の構成図である。
【図２】本発明の実施の形態の動作のフローチャートである。
【図３】バックアップメモリに記録される障害情報のデータ構成である。
【符号の説明】
【００３２】
１  装置
２  ＣＰＵ
３  制御回路
４  電源部
５  ＲＴＣ回路
６  ウォッチ・ドッグ・タイマ
７  バックアップメモリ
８  通知回路
９  ホスト
１０  ＣＰＵリセットログ  
１１  電源ＯＮ／ＯＦＦログ
１２  リセットスイッチ
１３  電源スイッチ
【図１】
2006023970.tif 000003
【図２】
2006023970.tif 000004
【図３】
2006023970.tif 000005