JPH06324914A - コンピュータの暴走検出方法 - Google Patents

コンピュータの暴走検出方法

Info

Publication number
JPH06324914A
JPH06324914A JP5111591A JP11159193A JPH06324914A JP H06324914 A JPH06324914 A JP H06324914A JP 5111591 A JP5111591 A JP 5111591A JP 11159193 A JP11159193 A JP 11159193A JP H06324914 A JPH06324914 A JP H06324914A
Authority
JP
Japan
Prior art keywords
program
runaway
computer
identification information
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5111591A
Other languages
English (en)
Inventor
Kazuhiro Fujita
和弘 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP5111591A priority Critical patent/JPH06324914A/ja
Publication of JPH06324914A publication Critical patent/JPH06324914A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 ウオッチドッグタイマーを用いずにコンピュ
ータの暴走を検出する。 【構成】 プログラムメモリ4に格納されたプログラム
の複数カ所にチェックプログラム、すなわち、RAM1
5の数値を読みだし、読み出した数値が一定順序の配列
になっているかの判定を行い、新たな数値を書き込むた
めのチェックプログラムを記載しておく。CPU3がプ
ログラムメモリ4のプログラムを正常に実行すると、上
記チェックプログラムによりRAM15には数値1から
順に2、3と書き込まれる。CPU3はチェックプログ
ラムの判定処理で、RAM15の数値が昇順で規則正し
く変化していることを確認する。この規則性が崩れたこ
とを検出した場合にCPU3は自己が実行しているプロ
グラムに暴走が発生したと見なし、暴走に対処するプロ
グラムを起動する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ、特に、
マイクロコンピュータに好適なコンピュータの暴走検出
方法に関する。
【0002】
【従来の技術】従来、マイクロコンピュータを用いた装
置、たとえば、プログラマブルコントローラではマイク
ロコンピュータの暴走(プログラムの実行順序が不定に
なること)を検出する機能を搭載し、この暴走を検出し
て装置全体を停止する制御を行っている。マイクロコン
ピュータが暴走する原因は、プリント板のパターン短
絡、解放や部品のハンダ付け不良または外来ノイズ等が
要因となっている。マイクロコンピュータに限らずコン
ピュータ一般の暴走を検知する方法としては、ウオッチ
ドッグタイマーを用いる方法がよく知られている。すな
わちコンピュータ側からほぼ一定周期で、ウオッチドッ
グタイマーにリセット(計数値を初期化すること)をか
ける。このため、コンピュータが正常に作動している間
は、ウオッチドッグタイマーは、タイムアップすること
はない。しかしながら、何等かの原因でマイクロコンピ
ュータが暴走すると、ウオッチドッグタイマーのリセッ
ト周期が変化するので、ウオッチドッグタイマーがタイ
ムアップし、コンピュータの暴走が検知される。通常、
コンピュータ側でウオッチドッグタイマーをリセットす
るためには、図5に示すようなループプログラムでは実
行プログラム内の複数箇所に、リセット信号を発生する
プログラム(タイマーリフレッシュと表記)を予め挿入
しておく。
【0003】
【発明が解決しようとする課題】しかしながら、タイマ
ーリフレッシュ用のプログラムの設置間隔は、このプロ
グラムの実行間隔時間がウオッチドッグタイマーのタイ
ムアップ時間以内となるように設置しなければならず、
被設置側のプログラム内容が制限を受けるという不具合
があった。また、図5の第3プログラムの終了後に暴走
が発生し、第6プログラムに実行プログラムが移行した
場合には従来方法ではウオッチドッグタイマーはタイム
アップせず、暴走を検知できないという不具合があっ
た。
【0004】そこで、本発明の第1の目的は、上述の点
に鑑みて、ウオッチドッグタイマーを用いることなく非
同期でコンピュータの暴走を検出できるコンピュータの
暴走検出方法を提供することにある。
【0005】本発明の第2の目的は、ウオッチドッグタ
イマーを用いる暴走検出方法の暴走検知精度をさらに向
上させるコンピュータの暴走検出方法を提供することに
ある。
【0006】
【課題を解決するための手段】このような目的を達成す
るために、請求項1の発明は、コンピュータのプログラ
ムの実行順序が暴走したことを検出するためのコンピュ
ータの暴走検出方法において、前記プログラム内の特定
の複数の位置およびそれら位置の前記コンピュータの実
行順序に対応させて、それぞれ異なる識別情報および当
該識別情報の接続順序を予め定めておき、前記コンピュ
ータが前記プログラムの実行を開始するときに、前記接
続順序において第1番目の識別情報を初期情報としてメ
モリに記憶しておき、前記コンピュータの前記プログラ
ムの実行位置が前記特定の複数の位置のいずれか1つの
特定位置に到達するごとに、前記コンピュータは前記メ
モリに記憶された識別情報と、当該特定位置に対応する
識別情報とが一致しているか否かの比較判定を行い、一
致判定が得られた場合は正常作動とみなして前記コンピ
ュータは現在の特定位置の次の接続順序にあたる特定位
置の識別情報を前記メモリに書き込みし、不一致判定が
得られた場合は前記コンピュータは暴走発生とみなすこ
とを特徴とする。
【0007】請求項2の発明は、前記不一致判定が得ら
れた場合は前記コンピュータは、暴走発生に対処するた
めに予め定められたプログラムを起動することを特徴と
する。
【0008】
【作用】請求項1の発明では、プログラムの実行順序が
正常の場合は、メモリに記憶される識別情報の順序は予
め定めた順序の通りとなるが、暴走が発生した場合は、
予め定めた順序とはならず、このことがコンピュータの
識別情報の比較判定により検出される。
【0009】請求項2の発明では、暴走検出時に暴走に
対処するプログラムを起動、すなわちプログラムの読み
出し開始アドレスを設定することで、暴走中のコンピュ
ータでも、暴走異常を自動解除することができる。
【0010】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0011】<第1実施例>本発明を適用したプログラ
マブルコントローラシステムのシステム構成を図1に示
す。
【0012】図1において、プログラマブルコントロー
ラ1内で用いられる1チップのマイクロコンピュータ2
は中央演算処理装置(CPU)3、プログラムメモリ
4、ランダムアクセスメモリ(RAM)5、入出力ポー
ト8、バス拡張バッファ10を有している。なお、監視
用タイマー6は後述の第2実施例において用いられる。
これらの回路は内部バス9に共通接続されている。CP
U3はプログラムメモリ4内のシステムプログラムに従
ってシステムの制御を行う。プログラムメモリ4内に
は、CPU3の実行するシステムプログラムの他、演算
に用いる固定情報を格納する。
【0013】RAM5にはCPU3に対する入出力情報
を一時記憶する。入出力ポート8は出力回路11、入力
回路12を介してプログラマブルコントローラシステム
1の制御の対象となる電子機器から入出力される情報を
CPU3に転送する。バス拡張バッファ10は装着の拡
張プログラムメモリ13とCPU3との間で情報の転送
を行う。拡張プログラムメモリ13はバス拡張バッファ
10と外部バス14により接続する。出力回路11は制
御対象の電子機器へ送る情報信号をCPU3の処理可能
な制御信号から信号伝送に好適な信号形態に変換する。
入力回路12は伝送信号を制御信号に変換する。CPU
3は入力回路12から入力された情報信号を用いて、電
子機器の制御内容を決定し、その動作を指示する動作制
御信号を出力回路11を介してで電子機器に送信する。
RAM15は外部バス14に接続された外付きのRAM
であり、CPU3に対する入出力データを一時記憶する
他、本発明に関わる暴走監視に用いる数値形態の識別情
報を格納する。
【0014】このような構成における、暴走検出処理を
図2のフローチャートを参照して説明する。図2のフロ
ーチャートが示すシステムプログラムの処理手順は実際
にはCPU3の実行可能なプログラム言語で記載されて
いるので、説明の都合上、図2では機能的に表現してい
る。このシステムプログラムは、電源投入時に実行する
第1プログラムと、以後、ループ処理により順次似繰り
返し実行する第2〜第11プログラムで構成されてい
る。第2〜第11プログラム内の任意のプログラム内の
複数の特定位置には本発明に関わる暴走検知用の5つの
チェックプログラムがそれぞれ設けられている。特定位
置に対応する識別情報およびその接続順序として数値1
→2→3→4→5→1の接続順序が予め定められてい
る。このチェックプログラムの記載位置はユーザの所望
の位置に設定すれば良く、なんらの制限を受けない。第
1プログラム〜第10プログラムはプログラムメモリ4
に格納され、第11プログラムは拡張プログラムメモリ
13に格納されているものとする。
【0015】第n番目のチェックプログラムの内容を図
3に示す。このプログラムの処理内容は以下の通りであ
る。すなわち、RAM15の監視データに対する読み出
しアドレスを設定し、監視データを読み出す(S1
0)。読み出された監視データの示す数値と、上記接続
順序を示す数値としてチェックプログラム上で規定され
ている数値nが一致しているか否かの判定を行う(S2
0)。肯定(YES)判定が得られた場合は、数値nに
1を加えた値を新たな監視データ(請求項1の発明の現
在の特定位置の次の接続順序にあたる特定位置の識別情
報に対応)として書き込みアドレスを設定し、RAM1
5に書き込む(S30)。S20の判定処理で否定(N
O)判定が得られた場合は、暴走発生と判断し、暴走に
対処する処理、たとえばシステム内の回路を停止、また
はリセットする処理へジャンプすることにより暴走に対
処するプログラムを起動する。
【0016】このような制御手順をCPU3が正常に実
行している場合、CPU3が第2プログラムの実行の際
に、第1回目のチェックプログラムの実行が行われる。
このとき、CPU3はRAM15から電源投入時にCP
U3により初期化の数値1を読み出し、プログラム上で
定められている基準値1と比較する(図3のS10〜S
20)。比較判定の結果として一致判定が得られるの
で、CPU3は正常作動と判断し、RAM15に次回の
判定に用いる数値2を格納する(図3のS30)。この
ようにして、CPU3はチェックプログラムにおいて正
常判定が得られる毎にRAM15に格納する数値を1だ
け更新してゆく。またS20の判定において用いられる
もう一方の基準値も1づつ変化するように定められてい
る。なお最終位置のチェックプログラムの時には、次回
の判定に用いる数値は、1に設定される。
【0017】従って、CPU3が正常作動している間
は、RAM15に更新的に格納される数値の順序は予め
定められた数値の順序、すなわち、1→2→3→4・・
・と変化していく。
【0018】CPU3が図5と同様に図2において暴走
して第3プログラムから第6プログラムに移行した場
合、第3チェックプログラムにおいてRAM15の格納
値2(第1チェックプログラムにより設定された値)
と、第3チェックプログラムに割り当てた基準値3の比
較が行われる(図3のS20)。この比較判定は不一致
となるので、CPU3は暴走発生と判断(見なし)し、
異常に対処する処理に移行する。
【0019】<第2実施例>第1実施例は、チェックプ
ログラムが記載された位置に割り当てた基準値と、前回
のチェックプログラムにより設定された判定用数値を比
較することにより暴走チェックを行い、そのためのチェ
ックプログラムをメインプログラム上の任意の位置に置
くことができるようにした例である。この例では、プロ
グラムの実行が停止した場合にはその異常を検知できな
い。そこで、停止異常を検出できるように従来のウオッ
チドッグタイマー方式と併用するようにした第2実施例
を次に説明する。第2実施例では、図1の監視用タイマ
ー6が設けられており、カウントアップ信号7がCPU
3の割り込み入力端子(マスクできない最優先の割り込
み入力端子)に入力される。またCPU3の実行するチ
ェックプログラムを図4に示す。このチェックプログラ
ムの実行間隔はタイマー6のカウントアップ時間よりも
小さい時間となるようにその記載位置を定める。図4の
チェックプログラムは図3のチェックプログラムにタイ
マーリフレッシュ処理(図4のS40)を加えた例であ
る。この例では、数値比較により正常が確認されると、
タイマー6のリフレッシュ、すなわち、計数値の初期化
が行われる。また、タイマー6がカウントアップした場
合にはカウントアップ信号の割り込み入力により異常処
理用プログラムが起動される。第2実施例ではチェック
プログラムの全てにタイマーリフレッシュ処理を記載し
ているが、タイマー6のカウントアップ時間を長く取れ
ば、このカウントアップ時間に対応させてタイマーリフ
レッシュ処理を行うチェクプログラムを適宜選択する。
このようなチェックプログラムを用いると、CPU3の
異常停止、たとえばループ処理が発生するような状態に
なると、タイマー6により異常が検知される。
【0020】以上述べた第1、第2実施例の他、次の例
を実施できる。
【0021】1)プログラムの実行順序を確認するため
に用いるプログラムの実行順序を表す識別情報には数値
の他、文字、たとえば、A、B、Cのような英文字の列
を用いることができる。また、メインプログラム中のプ
ログラムの実行アドレスをも識別情報として用いること
ができる。
【0022】2)第1実施例においてチェックプログラ
ムに割り当てた基準値を、図1のRAM5に予め記憶さ
せて置くこともできる。この例はメインプログラムの長
さが変化し、チェックプログラムを増減する場合に好適
である。
【0023】3)チェックプログラムが数値を書き込む
メモリ(RAM15)が異常となり記憶データが不定と
なった場合にも本例では、チェックプログラムの数値比
較処理で不一致判定が得られるので、メモリ異常を検知
できる。
【0024】
【発明の効果】以上、説明したように、本発明によれ
ば、プログラムの実行順序そのものを監視するので、ウ
オッチドッグタイマーを用いる必要はない。このため暴
走検知用プログラムの記載位置を任意とすることができ
るほか、装置の小型化に寄与することができる。また、
ウオッチドッグタイマー方法を併用することにより、暴
走検知精度が更に向上する。
【図面の簡単な説明】
【図1】本発明実施例の回路構成を示す説明図である。
【図2】第1実施例の処理手順を示すフローチャートで
ある。
【図3】第1実施例の暴走検知処理手順を示すフローチ
ャートである。
【図4】第2実施例の暴走検知処理手順を示すフローチ
ャートである。
【図5】暴走手順を示すフローチャートである。
【符号の説明】
3 CPU 4 プログラムメモリ 5,15 RAM 6 (監視用)タイマー

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータのプログラムの実行順序が
    暴走したことを検出するためのコンピュータの暴走検出
    方法において、 前記プログラム内の特定の複数の位置およびそれら位置
    の前記コンピュータの実行順序に対応させて、それぞれ
    異なる識別情報および当該識別情報の接続順序を予め定
    めておき、 前記コンピュータが前記プログラムの実行を開始すると
    きに、前記接続順序において第1番目の識別情報を初期
    情報としてメモリに記憶しておき、 前記コンピュータの前記プログラムの実行位置が前記特
    定の複数の位置のいずれか1つの特定位置に到達するご
    とに、前記コンピュータは前記メモリに記憶された識別
    情報と、当該特定位置に対応する識別情報とが一致して
    いるか否かの比較判定を行い、 一致判定が得られた場合は正常作動とみなして前記コン
    ピュータは現在の特定位置の次の接続順序にあたる特定
    位置の識別情報を前記メモリに書き込みし、 不一致判定が得られた場合は前記コンピュータは暴走発
    生とみなすことを特徴とするコンピュータの暴走検出方
    法。
  2. 【請求項2】 前記不一致判定が得られた場合は前記コ
    ンピュータは、暴走発生に対処するために予め定められ
    たプログラムを実行することを特徴とする請求項1に記
    載のコンピュータの暴走検出方法。
JP5111591A 1993-05-13 1993-05-13 コンピュータの暴走検出方法 Pending JPH06324914A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5111591A JPH06324914A (ja) 1993-05-13 1993-05-13 コンピュータの暴走検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5111591A JPH06324914A (ja) 1993-05-13 1993-05-13 コンピュータの暴走検出方法

Publications (1)

Publication Number Publication Date
JPH06324914A true JPH06324914A (ja) 1994-11-25

Family

ID=14565251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5111591A Pending JPH06324914A (ja) 1993-05-13 1993-05-13 コンピュータの暴走検出方法

Country Status (1)

Country Link
JP (1) JPH06324914A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299081A (ja) * 2006-04-28 2007-11-15 Hitachi Ltd 制御フロー誤り検出方法、データ処理装置、及びコンパイラ
JP2009289119A (ja) * 2008-05-30 2009-12-10 Nec Electronics Corp ウォッチドッグ・タイマ及びマイクロコンピュータ
US7729806B2 (en) 2004-05-25 2010-06-01 Mitsubishi Denki Kabushiki Kaisha Elevator controller
WO2010097844A1 (ja) * 2009-02-25 2010-09-02 パナソニック株式会社 暴走検出装置
JP2010244213A (ja) * 2009-04-02 2010-10-28 Fuji Electric Systems Co Ltd プログラマブルコントローラ、プログラム実行監視方法及びプログラム
JP2011159114A (ja) * 2010-02-01 2011-08-18 Fuji Electric Co Ltd モジュール演算処理装置
JP5846342B1 (ja) * 2014-09-25 2016-01-20 日本精工株式会社 車載用電子機器の制御装置及び制御方法
WO2016047576A1 (ja) * 2014-09-25 2016-03-31 日本精工株式会社 車載用電子機器の制御装置及び制御方法
WO2016046930A1 (ja) * 2014-09-25 2016-03-31 日本精工株式会社 車載用電子機器の制御装置及び制御方法
WO2016047575A1 (ja) * 2014-09-25 2016-03-31 日本精工株式会社 車載用電子機器の制御装置及び制御方法
FR3101973A1 (fr) * 2019-10-10 2021-04-16 Continental Automotive Dispositif de surveillance

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7729806B2 (en) 2004-05-25 2010-06-01 Mitsubishi Denki Kabushiki Kaisha Elevator controller
JP2007299081A (ja) * 2006-04-28 2007-11-15 Hitachi Ltd 制御フロー誤り検出方法、データ処理装置、及びコンパイラ
US7664939B2 (en) 2006-04-28 2010-02-16 Hitachi, Ltd. Method and apparatus for detecting false operation of computer
JP2009289119A (ja) * 2008-05-30 2009-12-10 Nec Electronics Corp ウォッチドッグ・タイマ及びマイクロコンピュータ
WO2010097844A1 (ja) * 2009-02-25 2010-09-02 パナソニック株式会社 暴走検出装置
JP2010244213A (ja) * 2009-04-02 2010-10-28 Fuji Electric Systems Co Ltd プログラマブルコントローラ、プログラム実行監視方法及びプログラム
JP2011159114A (ja) * 2010-02-01 2011-08-18 Fuji Electric Co Ltd モジュール演算処理装置
JPWO2016047576A1 (ja) * 2014-09-25 2017-04-27 日本精工株式会社 車載用電子機器の制御装置及び制御方法
US9796415B2 (en) 2014-09-25 2017-10-24 Nsk Ltd. Control apparatus and control method of on-vehicle electronic equipment
WO2016046930A1 (ja) * 2014-09-25 2016-03-31 日本精工株式会社 車載用電子機器の制御装置及び制御方法
WO2016046931A1 (ja) * 2014-09-25 2016-03-31 日本精工株式会社 車載用電子機器の制御装置及び制御方法
WO2016047575A1 (ja) * 2014-09-25 2016-03-31 日本精工株式会社 車載用電子機器の制御装置及び制御方法
CN105980214A (zh) * 2014-09-25 2016-09-28 日本精工株式会社 车载用电子设备的控制装置和控制方法
JP6020765B2 (ja) * 2014-09-25 2016-11-02 日本精工株式会社 車載用電子機器の制御装置及び制御方法
JP5846342B1 (ja) * 2014-09-25 2016-01-20 日本精工株式会社 車載用電子機器の制御装置及び制御方法
JPWO2016047575A1 (ja) * 2014-09-25 2017-04-27 日本精工株式会社 車載用電子機器の制御装置及び制御方法
CN106794810A (zh) * 2014-09-25 2017-05-31 日本精工株式会社 车载用电子设备的控制装置以及控制方法
JP2017174463A (ja) * 2014-09-25 2017-09-28 日本精工株式会社 車載用電子機器の制御装置及び制御方法
WO2016047576A1 (ja) * 2014-09-25 2016-03-31 日本精工株式会社 車載用電子機器の制御装置及び制御方法
JP2017199403A (ja) * 2014-09-25 2017-11-02 日本精工株式会社 車載用電子機器の制御装置及び制御方法
JP2017208108A (ja) * 2014-09-25 2017-11-24 日本精工株式会社 車載用電子機器の制御装置及び制御方法
JP2017215973A (ja) * 2014-09-25 2017-12-07 日本精工株式会社 車載用電子機器の制御装置及び制御方法
JP2017224304A (ja) * 2014-09-25 2017-12-21 日本精工株式会社 車載用電子機器の制御装置及び制御方法
CN107531194A (zh) * 2014-09-25 2018-01-02 日本精工株式会社 车载用电子设备的控制装置和控制方法
US9889881B2 (en) 2014-09-25 2018-02-13 Nsk Ltd. Control apparatus and control method of on-vehicle electronic equipment
US9896125B2 (en) 2014-09-25 2018-02-20 Nsk Ltd. Control apparatus and control method of on-vehicle electronic equipment
US10017205B2 (en) 2014-09-25 2018-07-10 Nsk Ltd. Control apparatus and control method of on-vehicle electronic equipment
CN107531194B (zh) * 2014-09-25 2019-07-09 日本精工株式会社 电动助力转向装置的控制装置和控制方法
FR3101973A1 (fr) * 2019-10-10 2021-04-16 Continental Automotive Dispositif de surveillance

Similar Documents

Publication Publication Date Title
EP1588260B1 (en) Hot plug interfaces and failure handling
JPH05158746A (ja) ウォッチ・ドック・タイマ回路
JPH06324914A (ja) コンピュータの暴走検出方法
CA2292991C (en) Watch dog timer system
US20080059666A1 (en) Microcontroller and debugging method
US7103692B2 (en) Method and apparatus for an I/O controller to alert an external system management controller
CN108073489B (zh) 确保计算器的操作的方法
JP4856023B2 (ja) リアルタイムウォッチ装置及びその方法
JP4647276B2 (ja) 半導体回路装置
JPS6118045A (ja) プログラムの暴走検出方式
JPH10228395A (ja) 制御用コントローラの異常診断装置
US20050034010A1 (en) Program-controlled unit
JPH0254320A (ja) 時刻装置
JPH07104841A (ja) プログラマブルコントローラの異常検出方法
JP2967741B2 (ja) Cpu互換性テスト装置
JP2021189864A (ja) 車両用電子制御装置及び車両制御方法
JP2002251299A (ja) プログラムトレース装置
JPS62222318A (ja) 情報処理装置
JP3009238B2 (ja) マイクロコンピュータ付加用レジスタ故障検出装置
JPH07281961A (ja) メモリ故障検出装置及び計算機
JPS6324331A (ja) コンピユ−タの暴走検知装置
JPS6177939A (ja) 情報処理システム
KR20040100724A (ko) 외부 cpu의 잘못된 동작으로 인한 에러 제어 장치 및방법
JPH0319574B2 (ja)
JPH1055290A (ja) エミュレータによるプログラムの不具合検出方法