JPH06168163A - Cpu監視方法及びcpu監視装置 - Google Patents
Cpu監視方法及びcpu監視装置Info
- Publication number
- JPH06168163A JPH06168163A JP5149299A JP14929993A JPH06168163A JP H06168163 A JPH06168163 A JP H06168163A JP 5149299 A JP5149299 A JP 5149299A JP 14929993 A JP14929993 A JP 14929993A JP H06168163 A JPH06168163 A JP H06168163A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- processing sequence
- pulse
- output
- flag
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 CPUが正しく動作しているかどうか監視す
る。 【構成】 CPU12がプログラムのループ開始端で出
力するラップタイムパルスLTPの周期を監視し、この
パルス周期が正規の範囲を逸脱したときにループ処理シ
ーケンス異常信号を出力することにより、ループ処理周
期の異常から暴走を発見するとともに、CPU12がプ
ログラム内要所に組み込まれたステップを実行するつど
出力するフラグパルスFPを監視し、一定ループ数が実
行された時点でフラグパルスFPの積算値が正規の数値
に一致しない場合にステップ処理シーケンス異常信号を
出力することにより、CPU監視装置11がプログラム
の実行状況にまで踏み込んだCPU監視を行う。
る。 【構成】 CPU12がプログラムのループ開始端で出
力するラップタイムパルスLTPの周期を監視し、この
パルス周期が正規の範囲を逸脱したときにループ処理シ
ーケンス異常信号を出力することにより、ループ処理周
期の異常から暴走を発見するとともに、CPU12がプ
ログラム内要所に組み込まれたステップを実行するつど
出力するフラグパルスFPを監視し、一定ループ数が実
行された時点でフラグパルスFPの積算値が正規の数値
に一致しない場合にステップ処理シーケンス異常信号を
出力することにより、CPU監視装置11がプログラム
の実行状況にまで踏み込んだCPU監視を行う。
Description
【0001】
【産業上の利用分野】この発明は、CPUが正しく動作
しているかどうかを監視するCPU監視方法及びCPU
監視装置に関する。
しているかどうかを監視するCPU監視方法及びCPU
監視装置に関する。
【0002】
【従来の技術】図12は、従来のCPU監視装置1とC
PU2の接続関係を示すものであり、CPU2が正しく
動作しているかどうか監視するCPU監視装置1は、例
えばウォッチドッグタイマなどと呼ばれる。CPU2
は、プログラムの実行過程でタイマ割り込みがかかるつ
ど、すなわちほぼ一定時間置きに出力ポートからウォッ
チドッグパルスWDPを出力し、このウォッチドッグパ
ルスWDPはクリア入力端子を介してCPU監視装置1
内に取り込まれる。CPU監視装置1は、このウォッチ
ドッグパルスWDPの周期すなわちパルス間隔を計測
し、パルス間隔が予め定めた所定の間隔を逸脱していな
いかどうか判断し、逸脱が判明したときにキャリー出力
端子からCPU2のリセット入力端子に対してリセット
信号RSを供給する。具体的には、CPU監視装置1
は、一定周期のクロックパルスを計数するタイマ(図示
せず)を内蔵しており、CPU2が正常に作動している
ときは、タイマがキャリー(桁上がり)出力を出す前に
ウォッチドッグパルスWDPによってタイマ値がクリア
されるが、CPU2がプログラムを正規に処理できず、
ウォッチドッグパルスWDPの出力周期が延び始める
と、タイマがクリアされる前にキャリー出力がCPU2
のリセット入力端子に供給され、これによりCPU2に
対しリセットがかかるよう構成されていた。
PU2の接続関係を示すものであり、CPU2が正しく
動作しているかどうか監視するCPU監視装置1は、例
えばウォッチドッグタイマなどと呼ばれる。CPU2
は、プログラムの実行過程でタイマ割り込みがかかるつ
ど、すなわちほぼ一定時間置きに出力ポートからウォッ
チドッグパルスWDPを出力し、このウォッチドッグパ
ルスWDPはクリア入力端子を介してCPU監視装置1
内に取り込まれる。CPU監視装置1は、このウォッチ
ドッグパルスWDPの周期すなわちパルス間隔を計測
し、パルス間隔が予め定めた所定の間隔を逸脱していな
いかどうか判断し、逸脱が判明したときにキャリー出力
端子からCPU2のリセット入力端子に対してリセット
信号RSを供給する。具体的には、CPU監視装置1
は、一定周期のクロックパルスを計数するタイマ(図示
せず)を内蔵しており、CPU2が正常に作動している
ときは、タイマがキャリー(桁上がり)出力を出す前に
ウォッチドッグパルスWDPによってタイマ値がクリア
されるが、CPU2がプログラムを正規に処理できず、
ウォッチドッグパルスWDPの出力周期が延び始める
と、タイマがクリアされる前にキャリー出力がCPU2
のリセット入力端子に供給され、これによりCPU2に
対しリセットがかかるよう構成されていた。
【0003】
【発明が解決しようとする課題】上記従来のCPU監視
装置1は、CPU2が出力するウォッチドッグパルスW
DPの周期が長くなる故障か、或いはウォッチドッグパ
ルスWDPがまったく出力されない故障については、キ
ャリー出力端子から出力されるリセット信号RSにより
CPU2はリセットされるが、ウォッチドッグパルスW
DPの周期が短くなる故障、すなわちCPU2が所定の
シーケンスに従って順次実行しなければならない複数の
ステップのうち、何箇所かのステップを実行しないまま
通過したり、或いはプログラムを正規に実行しなくなる
暴走等が発生したりすると、リセット信号RSが出力さ
れる前にタイマがクリアされ続けてしまうために、いつ
までもCPU2に対してリセットがかからず、異常を発
見することができないといった課題があった。
装置1は、CPU2が出力するウォッチドッグパルスW
DPの周期が長くなる故障か、或いはウォッチドッグパ
ルスWDPがまったく出力されない故障については、キ
ャリー出力端子から出力されるリセット信号RSにより
CPU2はリセットされるが、ウォッチドッグパルスW
DPの周期が短くなる故障、すなわちCPU2が所定の
シーケンスに従って順次実行しなければならない複数の
ステップのうち、何箇所かのステップを実行しないまま
通過したり、或いはプログラムを正規に実行しなくなる
暴走等が発生したりすると、リセット信号RSが出力さ
れる前にタイマがクリアされ続けてしまうために、いつ
までもCPU2に対してリセットがかからず、異常を発
見することができないといった課題があった。
【0004】また、CPU2が出力するウォッチドッグ
パルスWDPは、タイマ割り込みルーチンを実行するさ
いに出力されるパルスに過ぎず、メインルーチンやタイ
マ割り込みルーチンの実行状況、すなわちそれぞれのル
ーチンを構成する複数のステップを個々にしかるべく実
行したかどうかに関しては、一切知る由もなく、従って
入力異常や予期しない事態により特定のステップだけが
実行されなかったり、瞬時或いは断続的な暴走を引き起
こしていても、異常を発見することができないといった
課題があった。
パルスWDPは、タイマ割り込みルーチンを実行するさ
いに出力されるパルスに過ぎず、メインルーチンやタイ
マ割り込みルーチンの実行状況、すなわちそれぞれのル
ーチンを構成する複数のステップを個々にしかるべく実
行したかどうかに関しては、一切知る由もなく、従って
入力異常や予期しない事態により特定のステップだけが
実行されなかったり、瞬時或いは断続的な暴走を引き起
こしていても、異常を発見することができないといった
課題があった。
【0005】
【課題を解決するための手段】この発明は、上記課題を
解決したものであり、CPUがプログラムのループ開始
端で出力するラップタイムパルスの周期を監視し、該パ
ルス周期が正規の範囲を逸脱したときにループ処理シー
ケンス異常信号を出力し、前記CPUが前記プログラム
内要所に組み込まれたステップを実行するつど出力する
フラグを監視し、一定ループ数が実行された時点で前記
フラグがすべて正規に得られなかった場合にステップ処
理シーケンス異常信号を出力するCPU監視方法を特徴
とするものである。また、この発明のCPU監視方法
は、前記ラップタイムパルスは、前記CPUがタイマ割
り込みルーチンを実行するつど出力され、前記フラグ
は、前記CPUがメインルーチン及びタイマ割り込みル
ーチンの各要所に組み込まれたフラグ起立ステップを実
行したか否かを一括して示す複数ビットのフラグデータ
として出力されることを特徴とするものである。
解決したものであり、CPUがプログラムのループ開始
端で出力するラップタイムパルスの周期を監視し、該パ
ルス周期が正規の範囲を逸脱したときにループ処理シー
ケンス異常信号を出力し、前記CPUが前記プログラム
内要所に組み込まれたステップを実行するつど出力する
フラグを監視し、一定ループ数が実行された時点で前記
フラグがすべて正規に得られなかった場合にステップ処
理シーケンス異常信号を出力するCPU監視方法を特徴
とするものである。また、この発明のCPU監視方法
は、前記ラップタイムパルスは、前記CPUがタイマ割
り込みルーチンを実行するつど出力され、前記フラグ
は、前記CPUがメインルーチン及びタイマ割り込みル
ーチンの各要所に組み込まれたフラグ起立ステップを実
行したか否かを一括して示す複数ビットのフラグデータ
として出力されることを特徴とするものである。
【0006】さらにまた、この発明は、CPUがプログ
ラムのループ開始端で出力するラップタイムパルスの周
期を監視し、該パルス周期が正規の範囲を逸脱したとき
にループ処理シーケンス異常信号を出力するループ処理
シーケンス異常診断回路と、前記CPUが前記プログラ
ム内要所に組み込まれたステップを実行するつど出力す
るフラグパルスを監視し、一定ループ数が実行された時
点で前記フラグパルスの積算値が正規の数値に一致しな
い場合にステップ処理シーケンス異常信号を出力するス
テップ処理シーケンス異常診断回路とを具備することを
特徴とするCPU監視装置を特徴とするものである。ま
た、この発明のCPU監視装置は、ループ処理シーケン
ス異常診断回路が、前記ラップタイムパルスの立ち上が
りエッジと立ち下がりエッジで充放電を繰り返す充放電
器と、該充放電器の出力電圧が上限電圧を上回るか又は
下限電圧を下回るかしたときにループ処理シーケンス異
常信号を出力するウインドウ・コンパレータ手段とから
なること、或いはステップ処理シーケンス異常診断回路
が、前記フラグパルスを計数するカウンタと、該カウン
タの計数値を前記一定ループ数が実行された時点で正規
の数値と比較し、両者が一致しないときにステップ処理
シーケンス異常信号を出力するステップ数比較器とから
なること等を、他の特徴とするものである。
ラムのループ開始端で出力するラップタイムパルスの周
期を監視し、該パルス周期が正規の範囲を逸脱したとき
にループ処理シーケンス異常信号を出力するループ処理
シーケンス異常診断回路と、前記CPUが前記プログラ
ム内要所に組み込まれたステップを実行するつど出力す
るフラグパルスを監視し、一定ループ数が実行された時
点で前記フラグパルスの積算値が正規の数値に一致しな
い場合にステップ処理シーケンス異常信号を出力するス
テップ処理シーケンス異常診断回路とを具備することを
特徴とするCPU監視装置を特徴とするものである。ま
た、この発明のCPU監視装置は、ループ処理シーケン
ス異常診断回路が、前記ラップタイムパルスの立ち上が
りエッジと立ち下がりエッジで充放電を繰り返す充放電
器と、該充放電器の出力電圧が上限電圧を上回るか又は
下限電圧を下回るかしたときにループ処理シーケンス異
常信号を出力するウインドウ・コンパレータ手段とから
なること、或いはステップ処理シーケンス異常診断回路
が、前記フラグパルスを計数するカウンタと、該カウン
タの計数値を前記一定ループ数が実行された時点で正規
の数値と比較し、両者が一致しないときにステップ処理
シーケンス異常信号を出力するステップ数比較器とから
なること等を、他の特徴とするものである。
【0007】
【作用】この発明は、CPUがプログラムのループ開始
端で出力するラップタイムパルスの周期を監視し、該パ
ルス周期が正規の範囲を逸脱したときにループ処理シー
ケンス異常信号を出力することにより、ループ処理周期
の異常から暴走を発見するとともに、前記CPUが前記
プログラム内要所に組み込まれたステップを実行するつ
ど出力するフラグを監視し、一定ループ数が実行された
時点で前記フラグがすべて正規に得られなかったり、或
いはフラグの積算値が正規の数値に一致しない場合に、
ステップ処理シーケンス異常信号を出力することによ
り、ループごとに所要ステップを間引くことなく正確に
実行したかどうか診断し、プログラムの実行経過内容に
まで踏み込んだ監視を行う。
端で出力するラップタイムパルスの周期を監視し、該パ
ルス周期が正規の範囲を逸脱したときにループ処理シー
ケンス異常信号を出力することにより、ループ処理周期
の異常から暴走を発見するとともに、前記CPUが前記
プログラム内要所に組み込まれたステップを実行するつ
ど出力するフラグを監視し、一定ループ数が実行された
時点で前記フラグがすべて正規に得られなかったり、或
いはフラグの積算値が正規の数値に一致しない場合に、
ステップ処理シーケンス異常信号を出力することによ
り、ループごとに所要ステップを間引くことなく正確に
実行したかどうか診断し、プログラムの実行経過内容に
まで踏み込んだ監視を行う。
【0008】
【実施例】以下、この発明の実施例について、図1ない
し図11を参照して説明する。図1は、この発明のCP
U監視装置の一実施例を示す回路ブロック図、図2は、
ラップタイムパルスの周期が短くなったときの図1に示
した回路各部の信号波形図、図3は、ラップタイムパル
スの周期が長くなったときの図1に示した回路各部の信
号波形図である。図4は、この発明のCPU監視装置の
他の実施例とCPUの接続関係を示す図、図5は、図4
に示した回路各部の信号波形図、図6は、図4に示した
CPUのメインルーチンを示すフローチャート、図7
は、図6に示したメインジョブを示すフローチャート、
図8は、図4に示したCPUのタイマ割り込みルーチン
を示すフローチャート、図9は、図4に示したCPUの
通信ルーチンを示すフローチャート、図10は、図4に
示したCPU監視装置のメインルーチンを示すフローチ
ャート、図11は、図4に示したCPU監視装置のラッ
プタイムパルス割り込みルーチンを示すフローチャート
である。
し図11を参照して説明する。図1は、この発明のCP
U監視装置の一実施例を示す回路ブロック図、図2は、
ラップタイムパルスの周期が短くなったときの図1に示
した回路各部の信号波形図、図3は、ラップタイムパル
スの周期が長くなったときの図1に示した回路各部の信
号波形図である。図4は、この発明のCPU監視装置の
他の実施例とCPUの接続関係を示す図、図5は、図4
に示した回路各部の信号波形図、図6は、図4に示した
CPUのメインルーチンを示すフローチャート、図7
は、図6に示したメインジョブを示すフローチャート、
図8は、図4に示したCPUのタイマ割り込みルーチン
を示すフローチャート、図9は、図4に示したCPUの
通信ルーチンを示すフローチャート、図10は、図4に
示したCPU監視装置のメインルーチンを示すフローチ
ャート、図11は、図4に示したCPU監視装置のラッ
プタイムパルス割り込みルーチンを示すフローチャート
である。
【0009】図1に示すCPU監視装置11は、CPU
12が実行するプログラムのループ開始端で出力するラ
ップタイムパルスLTPの周期を監視し、この周期が正
規の範囲を逸脱したときにループ処理シーケンス異常信
号を出力するループ処理シーケンス異常診断回路13
と、CPU12がプログラム内要所に組み込まれたステ
ップを実行するつど出力するフラグパルスFPを監視
し、一定ループ数が実行された時点でフラグパルスFP
の積算値が正規の数値に一致しない場合にステップ処理
シーケンス異常信号を出力するステップ処理シーケンス
異常診断回路14と、ループ処理シーケンス異常診断回
路13とステップ処理シーケンス異常診断回路14の両
出力を一括出力するアンドゲート回路15と、アンドゲ
ート回路15の出力を受けて動作する警報器16から構
成される。
12が実行するプログラムのループ開始端で出力するラ
ップタイムパルスLTPの周期を監視し、この周期が正
規の範囲を逸脱したときにループ処理シーケンス異常信
号を出力するループ処理シーケンス異常診断回路13
と、CPU12がプログラム内要所に組み込まれたステ
ップを実行するつど出力するフラグパルスFPを監視
し、一定ループ数が実行された時点でフラグパルスFP
の積算値が正規の数値に一致しない場合にステップ処理
シーケンス異常信号を出力するステップ処理シーケンス
異常診断回路14と、ループ処理シーケンス異常診断回
路13とステップ処理シーケンス異常診断回路14の両
出力を一括出力するアンドゲート回路15と、アンドゲ
ート回路15の出力を受けて動作する警報器16から構
成される。
【0010】ループ処理シーケンス異常診断回路13
は、出力ポートP1を経由して出力されるラップタイム
パルスLTPの立ち上がりエッジと立ち下がりエッジで
それぞれエッジパルスを生成する両エッジトリガ回路1
7と、両エッジトリガ回路17の出力エッジトリガパル
スで充電と放電を交互に繰り返す充放電器18と、充放
電器18の出力電圧の最大値が上限電圧Vhを上回るか
又は下限電圧Vlを下回るかしたときにループ処理シー
ケンス異常信号を出力するウインドウ・コンパレータ手
段とからなる。充放電器18は、充電時定数に比べて放
電時定数が非常に短く、ラップタイムパルスLTPの立
ち上がりで緩速充電した充放電器18は、ラップタイム
パルスLTPの立ち上がりで急速放電する。ウィンドウ
・コンパレータ手段は、充放電器18の出力電圧の最大
値をそれぞれ上限電圧Vhと下限電圧Vlと比較する上
限比較器19と下限比較器20、下限比較器20の出力
の立ち上がりで緩速充電し、かつ立ち下がりで急速放電
する副充放電器21と、副充放電器21の出力電圧の最
大値を副上限電圧Vh’と比較する副上限比較器22と
からなり、上限比較器19と副上限比較器22がそれぞ
れループ処理シーケンス異常信号を出力する。
は、出力ポートP1を経由して出力されるラップタイム
パルスLTPの立ち上がりエッジと立ち下がりエッジで
それぞれエッジパルスを生成する両エッジトリガ回路1
7と、両エッジトリガ回路17の出力エッジトリガパル
スで充電と放電を交互に繰り返す充放電器18と、充放
電器18の出力電圧の最大値が上限電圧Vhを上回るか
又は下限電圧Vlを下回るかしたときにループ処理シー
ケンス異常信号を出力するウインドウ・コンパレータ手
段とからなる。充放電器18は、充電時定数に比べて放
電時定数が非常に短く、ラップタイムパルスLTPの立
ち上がりで緩速充電した充放電器18は、ラップタイム
パルスLTPの立ち上がりで急速放電する。ウィンドウ
・コンパレータ手段は、充放電器18の出力電圧の最大
値をそれぞれ上限電圧Vhと下限電圧Vlと比較する上
限比較器19と下限比較器20、下限比較器20の出力
の立ち上がりで緩速充電し、かつ立ち下がりで急速放電
する副充放電器21と、副充放電器21の出力電圧の最
大値を副上限電圧Vh’と比較する副上限比較器22と
からなり、上限比較器19と副上限比較器22がそれぞ
れループ処理シーケンス異常信号を出力する。
【0011】ステップ処理シーケンス異常診断回路14
は、CPU12がメインルーチン及びタイマ割り込みル
ーチンの実行過程で、要所に組み込まれたフラグ起立ス
テップを通過するつど極性を反転するフラグパルスFP
を、出力ポートP2を経由して供給され、このフラグパ
ルスFPの立ち上がり及び立ち下がりでエッジトリガパ
ルスを生成する両エッジトリガ回路23と、両エッジト
リガ回路23の出力エッジトリガパルスを計数するカウ
ンタ24と、カウンタ24の計数値を一定ループ数が実
行された時点で正規の数値と比較し、両者が一致しない
ときにステップ処理シーケンス異常信号を出力するステ
ップ数比較器25とからなる。カウンタ24は、エッジ
トリガパルスを計数する一方、CPU12から出力ポー
トP3経由で供給される計数停止を命ずる停止信号ST
と、計数値のリセットを命ずるリセット信号RSとを供
給される。停止信号STは、CPU12が一定ループ数
を実行した時点でリセット信号RSに先だって発するも
のであり、カウンタ24の外にステップ数比較器25に
も同時供給され、ステップ数の比較を命ずる。
は、CPU12がメインルーチン及びタイマ割り込みル
ーチンの実行過程で、要所に組み込まれたフラグ起立ス
テップを通過するつど極性を反転するフラグパルスFP
を、出力ポートP2を経由して供給され、このフラグパ
ルスFPの立ち上がり及び立ち下がりでエッジトリガパ
ルスを生成する両エッジトリガ回路23と、両エッジト
リガ回路23の出力エッジトリガパルスを計数するカウ
ンタ24と、カウンタ24の計数値を一定ループ数が実
行された時点で正規の数値と比較し、両者が一致しない
ときにステップ処理シーケンス異常信号を出力するステ
ップ数比較器25とからなる。カウンタ24は、エッジ
トリガパルスを計数する一方、CPU12から出力ポー
トP3経由で供給される計数停止を命ずる停止信号ST
と、計数値のリセットを命ずるリセット信号RSとを供
給される。停止信号STは、CPU12が一定ループ数
を実行した時点でリセット信号RSに先だって発するも
のであり、カウンタ24の外にステップ数比較器25に
も同時供給され、ステップ数の比較を命ずる。
【0012】ところで、ラップタイムパルスLTPの周
期が正規の周期よりも短くなった場合、図2(A)〜
(C)に示したように、充放電器18の充電期間が短縮
されるため、最大充電電圧が下限電圧Vlまで達せず、
図2(D)に示したように、異常発生時点付近で下限比
較器20の出力はハイレベルのままとなる。その結果、
下限比較器20の出力エッジで充放電する副充放電器2
1の出力が、図2(E)に示したように、副上限比較器
22に設定された上限電圧Vh’を越えてしまい、それ
と同時に図2(F)に示したように、副上限比較器22
の出力は異常を示すロウレベルに反転する。副上限比較
器22のロウレベル出力は、図2(G)に示したよう
に、ループ処理シーケンス異常信号としてアンドゲート
回路15を経由して警報器16を作動させ、ループ処理
シーケンス異常が報知される。
期が正規の周期よりも短くなった場合、図2(A)〜
(C)に示したように、充放電器18の充電期間が短縮
されるため、最大充電電圧が下限電圧Vlまで達せず、
図2(D)に示したように、異常発生時点付近で下限比
較器20の出力はハイレベルのままとなる。その結果、
下限比較器20の出力エッジで充放電する副充放電器2
1の出力が、図2(E)に示したように、副上限比較器
22に設定された上限電圧Vh’を越えてしまい、それ
と同時に図2(F)に示したように、副上限比較器22
の出力は異常を示すロウレベルに反転する。副上限比較
器22のロウレベル出力は、図2(G)に示したよう
に、ループ処理シーケンス異常信号としてアンドゲート
回路15を経由して警報器16を作動させ、ループ処理
シーケンス異常が報知される。
【0013】一方また、ラップタイムパルスLTPの周
期が正規の周期よりも長くなった場合、図3(A)〜
(C)に示したように、充放電器18の充電期間が長期
化するため、最大充電電圧が上限レベルVhを越えてし
まい、図3(D)に示したように、上限比較器19の出
力は異常発生点付近からラップタイムパルスLTPの立
ち下がり点までの間ロウレベルとなる。上限比較器19
のロウレベル出力は、図3(E)に示したように、ルー
プ処理シーケンス異常信号としてアンドゲート回路15
を経由して警報器16を作動させ、ループ処理シーケン
ス異常が報知される。
期が正規の周期よりも長くなった場合、図3(A)〜
(C)に示したように、充放電器18の充電期間が長期
化するため、最大充電電圧が上限レベルVhを越えてし
まい、図3(D)に示したように、上限比較器19の出
力は異常発生点付近からラップタイムパルスLTPの立
ち下がり点までの間ロウレベルとなる。上限比較器19
のロウレベル出力は、図3(E)に示したように、ルー
プ処理シーケンス異常信号としてアンドゲート回路15
を経由して警報器16を作動させ、ループ処理シーケン
ス異常が報知される。
【0014】こうしてループ処理シーケンスの監視が行
われるが、このループ処理シーケンスの監視と並行して
ステップ処理シーケンスの監視も行われる。CPU12
は、メインルーチン及びタイマ割り込みルーチンの実行
過程で、要所に組み込まれたフラグ起立ステップを通過
するつど出力ポートP2の出力極性すなわちフラグパル
スFPの極性を反転させる。このため、出力ポートP2
に接続された両エッジトリガ回路23が、フラグパルス
FPの立ち上がり及び立ち下がりでエッジトリガパルス
を生成する。生成されたエッジトリガパルスはカウンタ
24によって計数されるが、CPU12が一定ループ数
を実行した時点でリセット信号に先だって発する停止信
号STが、出力ポートP3を経由してカウンタ24の停
止信号入力端子に供給される。このため、カウンタ24
はCPU12が所定ループ数を消化する間に通過したフ
ラグ起立ステップの数を計数することになる。こうし
て、計数されたステップ数は、ステップ数比較器25に
設定された正規のステップ数と比較され、正規のステッ
プ数に満たない場合、或いは正規のステップ数を越える
場合は、ステップ数比較器25からロウレベルのステッ
プ処理シーケンス異常信号が出力される。このステップ
処理シーケンス異常信号は、アンドゲート回路15を経
由して警報器16を作動させる。なお、停止信号STに
より計数動作を停止したカウンタ24は、停止信号ST
に続いて出力ポートP3から供給されるリセット信号R
Sにより計数値をリセットされ、計数動作を新規に再開
する。
われるが、このループ処理シーケンスの監視と並行して
ステップ処理シーケンスの監視も行われる。CPU12
は、メインルーチン及びタイマ割り込みルーチンの実行
過程で、要所に組み込まれたフラグ起立ステップを通過
するつど出力ポートP2の出力極性すなわちフラグパル
スFPの極性を反転させる。このため、出力ポートP2
に接続された両エッジトリガ回路23が、フラグパルス
FPの立ち上がり及び立ち下がりでエッジトリガパルス
を生成する。生成されたエッジトリガパルスはカウンタ
24によって計数されるが、CPU12が一定ループ数
を実行した時点でリセット信号に先だって発する停止信
号STが、出力ポートP3を経由してカウンタ24の停
止信号入力端子に供給される。このため、カウンタ24
はCPU12が所定ループ数を消化する間に通過したフ
ラグ起立ステップの数を計数することになる。こうし
て、計数されたステップ数は、ステップ数比較器25に
設定された正規のステップ数と比較され、正規のステッ
プ数に満たない場合、或いは正規のステップ数を越える
場合は、ステップ数比較器25からロウレベルのステッ
プ処理シーケンス異常信号が出力される。このステップ
処理シーケンス異常信号は、アンドゲート回路15を経
由して警報器16を作動させる。なお、停止信号STに
より計数動作を停止したカウンタ24は、停止信号ST
に続いて出力ポートP3から供給されるリセット信号R
Sにより計数値をリセットされ、計数動作を新規に再開
する。
【0015】このように、上記CPU監視装置11によ
れば、CPU12がプログラムのループ開始端で出力す
るラップタイムパルスLTPの周期を監視し、該パルス
周期が正規の範囲を逸脱したときにループ処理シーケン
ス異常信号を出力することにより、ループ処理周期の異
常から暴走を発見するとともに、CPU12がプログラ
ム内要所に組み込まれたステップを実行するつど出力す
るフラグパルスFPを監視し、一定ループ数が実行され
た時点でフラグパルスFPの積算値が正規の数値に一致
しない場合にステップ処理シーケンス異常信号を出力す
ることにより、ループごとに所要ステップを間引くこと
なく正確に実行したかどうか診断し、プログラムの実行
状況にまで踏み込んだ監視を行うことができる。このた
め、従来のウォッチドッグタイマ型のCPU監視装置1
では発見することのできなかったウォッチドッグパルス
WDPの周期短縮やステップ飛ばしなど、瞬時の暴走な
どの兆候を確実に検出することができ、しかも異常の所
在についてもループ処理シーケンスにあるのか或いはス
テップ処理シーケンスにあるのかを究明する手掛かりを
提供することができる。
れば、CPU12がプログラムのループ開始端で出力す
るラップタイムパルスLTPの周期を監視し、該パルス
周期が正規の範囲を逸脱したときにループ処理シーケン
ス異常信号を出力することにより、ループ処理周期の異
常から暴走を発見するとともに、CPU12がプログラ
ム内要所に組み込まれたステップを実行するつど出力す
るフラグパルスFPを監視し、一定ループ数が実行され
た時点でフラグパルスFPの積算値が正規の数値に一致
しない場合にステップ処理シーケンス異常信号を出力す
ることにより、ループごとに所要ステップを間引くこと
なく正確に実行したかどうか診断し、プログラムの実行
状況にまで踏み込んだ監視を行うことができる。このた
め、従来のウォッチドッグタイマ型のCPU監視装置1
では発見することのできなかったウォッチドッグパルス
WDPの周期短縮やステップ飛ばしなど、瞬時の暴走な
どの兆候を確実に検出することができ、しかも異常の所
在についてもループ処理シーケンスにあるのか或いはス
テップ処理シーケンスにあるのかを究明する手掛かりを
提供することができる。
【0016】なお、上記実施例では、CPU監視装置1
1を複数のアナログ回路で構成したが、図4に示したご
とく、監視対象であるメインCPU32に対してサブの
関係にあるサブCPUをもってCPU監視装置31を構
成し、ソフトウェアを使ってCPU32を監視する構成
とすることもできる。CPU32には、ラップタイムパ
ルスLTPを出力するラップタイムパルス出力ポートP
1と、データセット信号DSを出力するデータセット信
号出力端子DSoと、データレシーブ信号DRを入力す
るデータレシーブ信号入力端子DRiと、8ビットのメ
インフラグデータMFDを出力するMFD出力端子Do
0〜Do7と、リセット信号RSを入力するリセット信
号入力端子RSiとが備わっている。一方、CPU監視
装置31には、ラップタイムパルスLTPを入力する割
り込み入力端子INTと、データセット信号DSを入力
するデータセット信号入力端子DSiと、データレシー
ブ信号を出力するデータレシーブ信号出力端子DRo
と、メインフラグデータMFDを入力するMFD入力端
子Di0〜Di7と、リセット信号RSを出力するリセ
ット信号出力端子RSoとが備わっており、CPU32
との接続関係は図示の通りである。33は、CPU監視
装置31に接続された警報器であり、ループ処理シーケ
ンス異常又はステップ処理シーケンス異常を受けて作動
し、点滅警報や警報音を発する。
1を複数のアナログ回路で構成したが、図4に示したご
とく、監視対象であるメインCPU32に対してサブの
関係にあるサブCPUをもってCPU監視装置31を構
成し、ソフトウェアを使ってCPU32を監視する構成
とすることもできる。CPU32には、ラップタイムパ
ルスLTPを出力するラップタイムパルス出力ポートP
1と、データセット信号DSを出力するデータセット信
号出力端子DSoと、データレシーブ信号DRを入力す
るデータレシーブ信号入力端子DRiと、8ビットのメ
インフラグデータMFDを出力するMFD出力端子Do
0〜Do7と、リセット信号RSを入力するリセット信
号入力端子RSiとが備わっている。一方、CPU監視
装置31には、ラップタイムパルスLTPを入力する割
り込み入力端子INTと、データセット信号DSを入力
するデータセット信号入力端子DSiと、データレシー
ブ信号を出力するデータレシーブ信号出力端子DRo
と、メインフラグデータMFDを入力するMFD入力端
子Di0〜Di7と、リセット信号RSを出力するリセ
ット信号出力端子RSoとが備わっており、CPU32
との接続関係は図示の通りである。33は、CPU監視
装置31に接続された警報器であり、ループ処理シーケ
ンス異常又はステップ処理シーケンス異常を受けて作動
し、点滅警報や警報音を発する。
【0017】ところで、CPU32のメインルーチン
は、図6に示したように、まずステップ(101)にて
イニシャライズ(初期化)を行うことで開始される。さ
らに、イニシャライズに続くステップ(102)にて、
タイマ割り込みを開始させる。割り込みを開始させたC
PU32は、ステップ(103)において図7に要所を
示すメインジョブを実行する。そして、メインジョブの
実行と後述するタイマ割り込みルーチンの実行過程で得
られたメインフラグデータMFDを、通信ステップ(1
04)にてCPU監視装置31に送信し、再びステップ
(103)に復帰する。
は、図6に示したように、まずステップ(101)にて
イニシャライズ(初期化)を行うことで開始される。さ
らに、イニシャライズに続くステップ(102)にて、
タイマ割り込みを開始させる。割り込みを開始させたC
PU32は、ステップ(103)において図7に要所を
示すメインジョブを実行する。そして、メインジョブの
実行と後述するタイマ割り込みルーチンの実行過程で得
られたメインフラグデータMFDを、通信ステップ(1
04)にてCPU監視装置31に送信し、再びステップ
(103)に復帰する。
【0018】ところで、メインジョブは、図7に示した
ように、ジョブを構成する複数のループの要所にフラグ
起立ステップ(310),(320)..,(370)
が挿入してあり、フラグ起立ステップを実行通過するつ
ど、8ビットのメインフラグデータMFDの下位側ビッ
トから順に「1」を立てて行く。すなわち、フラグ起立
ステップ(310)を実行すると、MFDの最下位ビッ
トMb0に「1」を立て、同様にフラグ起立ステップ
(320)を実行すると、メインフラグデータMFDの
下位第2ビットMb1に「1」を立てる。そして、ルー
プの開始端に挿入されたすべてのフラグ起立ステップが
実行された段階で、8ビットのメインフラグデータMF
Dの下位7ビットMb0〜Mb6には、すべて「1」が
立つ。当然のことながら、たとえ一つと言えどもフラグ
起立ループが実行されないまま通過してしまった場合
は、メインフラグデータMFDの下位7ビットMb0〜
Mb6の少なくとも1ビットは「0」のままで終わる。
ように、ジョブを構成する複数のループの要所にフラグ
起立ステップ(310),(320)..,(370)
が挿入してあり、フラグ起立ステップを実行通過するつ
ど、8ビットのメインフラグデータMFDの下位側ビッ
トから順に「1」を立てて行く。すなわち、フラグ起立
ステップ(310)を実行すると、MFDの最下位ビッ
トMb0に「1」を立て、同様にフラグ起立ステップ
(320)を実行すると、メインフラグデータMFDの
下位第2ビットMb1に「1」を立てる。そして、ルー
プの開始端に挿入されたすべてのフラグ起立ステップが
実行された段階で、8ビットのメインフラグデータMF
Dの下位7ビットMb0〜Mb6には、すべて「1」が
立つ。当然のことながら、たとえ一つと言えどもフラグ
起立ループが実行されないまま通過してしまった場合
は、メインフラグデータMFDの下位7ビットMb0〜
Mb6の少なくとも1ビットは「0」のままで終わる。
【0019】上記メインジョブが完了すると、通信ステ
ップ(104)に移行するのであるが、ここでは通信ス
テップの説明に入る前に、CPU32のタイマ割り込み
ルーチンについて説明する。タイマ割り込みルーチン
は、図8に示したように、CPU32が内蔵するタイマ
(図示せず)が一定時間ごとに割り込みパルスを発生
し、その時点でメインルーチンの処理を中断して実行さ
れる。まず、図示のステップ(501)において、図5
(A)に示したように、ラップタイムパルスLTPの極
性を反転させる。すなわち、ラップタイムパルスLTP
は、割り込みルーチンが開始されるたびに、すなわちタ
イマ周期をもって立ち上がりと立ち下がりを交互に繰り
返すことになる。
ップ(104)に移行するのであるが、ここでは通信ス
テップの説明に入る前に、CPU32のタイマ割り込み
ルーチンについて説明する。タイマ割り込みルーチン
は、図8に示したように、CPU32が内蔵するタイマ
(図示せず)が一定時間ごとに割り込みパルスを発生
し、その時点でメインルーチンの処理を中断して実行さ
れる。まず、図示のステップ(501)において、図5
(A)に示したように、ラップタイムパルスLTPの極
性を反転させる。すなわち、ラップタイムパルスLTP
は、割り込みルーチンが開始されるたびに、すなわちタ
イマ周期をもって立ち上がりと立ち下がりを交互に繰り
返すことになる。
【0020】次に、ステップ(502)において、8ビ
ットのインタラプトフラグデータIFDの全ビットIb
0〜Ib7が「1」であるかどうか判断される。このイ
ンタラプトフラグデータIFDは、割り込みルーチンの
途中8箇所に組み込まれたフラグ起立ステップ(51
0),(520)..,(580)が実行されるつど、
対応ビットIb0,Ib1..,Ib7に「1」を立て
ることで生成されるデータである。従って、インタラプ
トフラグデータIFDの全ビットIb0〜Ib7が
「1」であることは、すなわち割り込みルーチンのすべ
てのステップが滞りなく実行されたことを表しており、
この場合はステップ(503)において前述のメインフ
ラグデータMFDの最上位ビットMb7に「1」を立て
る。また、インタラプトフラグデータIFDの一部のビ
ットに「0」が含まれる場合は、割り込みルーチンの一
部のステップが実行されなかったことを示すため、その
場合はステップ(504)においてMFDの最上位ビッ
トMb7に「0」を立てる。
ットのインタラプトフラグデータIFDの全ビットIb
0〜Ib7が「1」であるかどうか判断される。このイ
ンタラプトフラグデータIFDは、割り込みルーチンの
途中8箇所に組み込まれたフラグ起立ステップ(51
0),(520)..,(580)が実行されるつど、
対応ビットIb0,Ib1..,Ib7に「1」を立て
ることで生成されるデータである。従って、インタラプ
トフラグデータIFDの全ビットIb0〜Ib7が
「1」であることは、すなわち割り込みルーチンのすべ
てのステップが滞りなく実行されたことを表しており、
この場合はステップ(503)において前述のメインフ
ラグデータMFDの最上位ビットMb7に「1」を立て
る。また、インタラプトフラグデータIFDの一部のビ
ットに「0」が含まれる場合は、割り込みルーチンの一
部のステップが実行されなかったことを示すため、その
場合はステップ(504)においてMFDの最上位ビッ
トMb7に「0」を立てる。
【0021】従って、メインフラグデータMFDは、割
り込みルーチンのすべてのステップが正規に実行され、
かつメインルーチンのすべてのステップが正規に実行さ
れる場合にのみ全ビット「1」となり、それ以外すなわ
ちなんらかの異常によりプログラムが正規に消化されて
いない場合は、一部のビットに「0」が含まれることに
なる。従って、メインルーチン及びタイマ割り込みルー
チンの各要所に組み込まれたフラグ起立ステップ(31
0)〜(370),(510)〜(580)がすべて実
行されたか否かは、8ビットのメインフラグデータMF
Dにより一括して示されることになる。こうして、一定
ループ数を消化した段階で得られるメインフラグデータ
MFDは、図6に示した通信ステップ(104)におい
て、詳しくは図9のステップ(401)〜(404)に
より、CPU監視装置31に送信される。
り込みルーチンのすべてのステップが正規に実行され、
かつメインルーチンのすべてのステップが正規に実行さ
れる場合にのみ全ビット「1」となり、それ以外すなわ
ちなんらかの異常によりプログラムが正規に消化されて
いない場合は、一部のビットに「0」が含まれることに
なる。従って、メインルーチン及びタイマ割り込みルー
チンの各要所に組み込まれたフラグ起立ステップ(31
0)〜(370),(510)〜(580)がすべて実
行されたか否かは、8ビットのメインフラグデータMF
Dにより一括して示されることになる。こうして、一定
ループ数を消化した段階で得られるメインフラグデータ
MFDは、図6に示した通信ステップ(104)におい
て、詳しくは図9のステップ(401)〜(404)に
より、CPU監視装置31に送信される。
【0022】すなわち、まずステップ(401)におい
て、図5(C)に示したように、CPU32が8ビット
のメインフラグデータMFDをデータバス中に出力す
る。さらに、データバス中にメインフラグデータMFD
を出力したことをCPU監視装置31に告知するため、
続くステップ(402)において、図5(B)に示した
ように、データセット信号出力端子DSoの出力レベル
をロウレベルに極性反転し、データセット信号DSをア
クティブとする。ここで、メインフラグデータMFDを
受信したCPU監視装置31は、後述するようにCPU
32に対して図5(D)に示すデータレシーブ信号DR
を返信するため、データレシーブ信号DRの受信をチェ
ックする判断ステップ(403)に続き、ステップ(4
04)において、データセット信号DSを立ち上げてノ
ンアクティブに復帰させる。こうして、一定ループ数を
実行した段階で得られたメインフラグデータMFDが、
所定の通信手続きを踏んでCPU32からCPU監視装
置31に転送される。
て、図5(C)に示したように、CPU32が8ビット
のメインフラグデータMFDをデータバス中に出力す
る。さらに、データバス中にメインフラグデータMFD
を出力したことをCPU監視装置31に告知するため、
続くステップ(402)において、図5(B)に示した
ように、データセット信号出力端子DSoの出力レベル
をロウレベルに極性反転し、データセット信号DSをア
クティブとする。ここで、メインフラグデータMFDを
受信したCPU監視装置31は、後述するようにCPU
32に対して図5(D)に示すデータレシーブ信号DR
を返信するため、データレシーブ信号DRの受信をチェ
ックする判断ステップ(403)に続き、ステップ(4
04)において、データセット信号DSを立ち上げてノ
ンアクティブに復帰させる。こうして、一定ループ数を
実行した段階で得られたメインフラグデータMFDが、
所定の通信手続きを踏んでCPU32からCPU監視装
置31に転送される。
【0023】ところで、CPU32を監視するCPU監
視装置31には、図10に示すメインルーチンが与えら
れており、まず図示のステップ(601)に示すイニシ
ャライズ(初期化)からメインルーチンが実行される。
初期化に続き、ステップ(602)においてラップタイ
ムパルスLTPの割り込みが許可され、後述するラップ
タイムパルス割り込みルーチンが定期的に割り込むよう
になる。割り込み許可に続く判断ステップ(603)に
おいて、データセット信号DSがアクティブであること
が判ると、ステップ(604)では、データバスを介し
てCPU32から送り込まれたメインフラグデータMF
Dを読み取り、判断ステップ(605)における判断に
かける。この判断ステップ(605)は、前記実施例に
示したCPU監視装置11におけるステップ処理シーケ
ンスの異常判断に相当するものであり、MFDの全ビッ
トMb0〜Mb7が「1」であるかどうか、すなわちC
PU32側ですべてのメインルーチンとタイマ割り込み
ルーチンが所期の通り実行されかどうか判断される。た
だし、実施例では、正規のステップ数との直接比較では
なく、メインフラグデータMFDの個々のビットに示さ
れるステップ通過の有無としてより詳細に判断できる
が、広義にはステップ数の一致判断と同義であるとして
差し支えない。
視装置31には、図10に示すメインルーチンが与えら
れており、まず図示のステップ(601)に示すイニシ
ャライズ(初期化)からメインルーチンが実行される。
初期化に続き、ステップ(602)においてラップタイ
ムパルスLTPの割り込みが許可され、後述するラップ
タイムパルス割り込みルーチンが定期的に割り込むよう
になる。割り込み許可に続く判断ステップ(603)に
おいて、データセット信号DSがアクティブであること
が判ると、ステップ(604)では、データバスを介し
てCPU32から送り込まれたメインフラグデータMF
Dを読み取り、判断ステップ(605)における判断に
かける。この判断ステップ(605)は、前記実施例に
示したCPU監視装置11におけるステップ処理シーケ
ンスの異常判断に相当するものであり、MFDの全ビッ
トMb0〜Mb7が「1」であるかどうか、すなわちC
PU32側ですべてのメインルーチンとタイマ割り込み
ルーチンが所期の通り実行されかどうか判断される。た
だし、実施例では、正規のステップ数との直接比較では
なく、メインフラグデータMFDの個々のビットに示さ
れるステップ通過の有無としてより詳細に判断できる
が、広義にはステップ数の一致判断と同義であるとして
差し支えない。
【0024】ここで、メインフラグデータMFDの全ビ
ットMb0〜Mb7が「1」であることが判ると、ステ
ップ(606)においてデータレシーブ信号DRを立ち
下げてアクティブにする。アクティブとなったデータレ
シーブ信号DRを受信したCPU32は、前述のごとく
データセット信号DSをノンアクティブに切り替えるた
め、判断ステップ(607)の判断が肯定された後で、
ステップ(608)においてデータレシーブ信号DRを
立ち上げてノンアクティブとし、ステップ(603)に
戻る。これにより、CPU32に異常が発生していない
ときの1回の通信手続きが完了する。これに対し、ステ
ップ(605)においてメインフラグデータMFDの少
なくとも一部のビットに「0」が含まれることが判った
場合は、ステップ(609)においてリセット出力端子
RSoからリセット信号RSを出力し、CPU32をリ
セットする。また、このCPU32のリセットとほぼ同
時に、ステップ(610)において警報器33を作動さ
せる。
ットMb0〜Mb7が「1」であることが判ると、ステ
ップ(606)においてデータレシーブ信号DRを立ち
下げてアクティブにする。アクティブとなったデータレ
シーブ信号DRを受信したCPU32は、前述のごとく
データセット信号DSをノンアクティブに切り替えるた
め、判断ステップ(607)の判断が肯定された後で、
ステップ(608)においてデータレシーブ信号DRを
立ち上げてノンアクティブとし、ステップ(603)に
戻る。これにより、CPU32に異常が発生していない
ときの1回の通信手続きが完了する。これに対し、ステ
ップ(605)においてメインフラグデータMFDの少
なくとも一部のビットに「0」が含まれることが判った
場合は、ステップ(609)においてリセット出力端子
RSoからリセット信号RSを出力し、CPU32をリ
セットする。また、このCPU32のリセットとほぼ同
時に、ステップ(610)において警報器33を作動さ
せる。
【0025】ところで、CPU監視装置31は、CPU
32からラップタイムパルスLTPを受信するつど、図
11に示すラップタイム割り込みルーチンを実施する。
このラップタイム割り込みルーチンでは、まずステップ
(701)において、初めての割り込みであるかどうか
が判断される。この場合、初めての割り込みである場合
は、ステップ(702)においてタイマをクリアしてセ
ットし、続くステップ(703)においてタイマを動作
させる。ただし、初めての割り込みではなく、2回目以
降の割り込みであることが判明した場合は、ステップ
(704)において、タイマを停止させたのち、ステッ
プ(705)において、停止した時点でのタイマ出力を
ラッチする。さらに、タイマ出力のラッチに続き、ステ
ップ(706)においてタイマを再動作させる。
32からラップタイムパルスLTPを受信するつど、図
11に示すラップタイム割り込みルーチンを実施する。
このラップタイム割り込みルーチンでは、まずステップ
(701)において、初めての割り込みであるかどうか
が判断される。この場合、初めての割り込みである場合
は、ステップ(702)においてタイマをクリアしてセ
ットし、続くステップ(703)においてタイマを動作
させる。ただし、初めての割り込みではなく、2回目以
降の割り込みであることが判明した場合は、ステップ
(704)において、タイマを停止させたのち、ステッ
プ(705)において、停止した時点でのタイマ出力を
ラッチする。さらに、タイマ出力のラッチに続き、ステ
ップ(706)においてタイマを再動作させる。
【0026】次に、判断ステップ(707)において、
タイマ値(ラッチされたタイマ出力)すなわちラップタ
イムパルスLTPの周期が、規定範囲内にあるかどうか
判断する。この判断ステップ(707)は、前記実施例
に示したCPU監視装置11におけるループ処理シーケ
ンスの異常判断に相当するものであり、ラップタイムパ
ルスLTPの周期が規定範囲内にある場合は、異常が発
生していないので、ステップ(703)の場合と同じく
メインルーチンに戻る。ただし、ラップタイムパルスL
TPの周期が規定範囲を逸脱している場合は、ステップ
(708)において、リセット信号出力端子RSoから
CPU32にリセット信号RSを出力し、CPU32を
リセットする。また、CPU32のリセットに合わせて
ステップ(709)において、警報器33を作動させて
異常の発生を報知する。
タイマ値(ラッチされたタイマ出力)すなわちラップタ
イムパルスLTPの周期が、規定範囲内にあるかどうか
判断する。この判断ステップ(707)は、前記実施例
に示したCPU監視装置11におけるループ処理シーケ
ンスの異常判断に相当するものであり、ラップタイムパ
ルスLTPの周期が規定範囲内にある場合は、異常が発
生していないので、ステップ(703)の場合と同じく
メインルーチンに戻る。ただし、ラップタイムパルスL
TPの周期が規定範囲を逸脱している場合は、ステップ
(708)において、リセット信号出力端子RSoから
CPU32にリセット信号RSを出力し、CPU32を
リセットする。また、CPU32のリセットに合わせて
ステップ(709)において、警報器33を作動させて
異常の発生を報知する。
【0027】このように、上記CPU監視装置31は、
CPU32がタイマ割り込みルーチンを実行するつど出
力するラップタイムパルスLTPと、CPU32がメイ
ンルーチン及びタイマ割り込みルーチンの各要所に組み
込まれたフラグ起立ステップを実行したか否かを一括し
て示すメインフラグデータMFDのビット内容とから、
ソフトウェアを使ってCPU32の異常を発見すること
ができる。すなわち、CPU32が内蔵するタイマによ
りタイマ割り込みルーチンを実行するつど出力されるラ
ップタイムパルスLTPの周期が、異常に短縮されたり
或いは異常に長周期化した場合に、周期監視ソフトウェ
アによって異常が発見され、これによりループ処理シー
ケンスの異常が警報をもって報知される。また、メイン
ルーチンとタイマ割り込みルーチンのそれぞれの要所に
組み込まれたフラグ起立ステップのうちの一つでも実行
されなかった場合は、複数ビットのフラグデータのうち
ステップ番号に対応するビットが「0」をとるため、所
定数のループが実行された段階でフラグデータの内容を
判別することで、簡単かつ正確にステップ処理シーケン
スの異常を発見することができる。
CPU32がタイマ割り込みルーチンを実行するつど出
力するラップタイムパルスLTPと、CPU32がメイ
ンルーチン及びタイマ割り込みルーチンの各要所に組み
込まれたフラグ起立ステップを実行したか否かを一括し
て示すメインフラグデータMFDのビット内容とから、
ソフトウェアを使ってCPU32の異常を発見すること
ができる。すなわち、CPU32が内蔵するタイマによ
りタイマ割り込みルーチンを実行するつど出力されるラ
ップタイムパルスLTPの周期が、異常に短縮されたり
或いは異常に長周期化した場合に、周期監視ソフトウェ
アによって異常が発見され、これによりループ処理シー
ケンスの異常が警報をもって報知される。また、メイン
ルーチンとタイマ割り込みルーチンのそれぞれの要所に
組み込まれたフラグ起立ステップのうちの一つでも実行
されなかった場合は、複数ビットのフラグデータのうち
ステップ番号に対応するビットが「0」をとるため、所
定数のループが実行された段階でフラグデータの内容を
判別することで、簡単かつ正確にステップ処理シーケン
スの異常を発見することができる。
【0028】
【発明の効果】以上説明したように、この発明は、CP
Uがプログラムのループ開始端で出力するラップタイム
パルスの周期を監視し、該パルス周期が正規の範囲を逸
脱したときにループ処理シーケンス異常信号を出力する
ことにより、ループ処理周期の異常から暴走を発見する
とともに、前記CPUが前記プログラム内要所に組み込
まれたステップを実行するつど出力するフラグを監視
し、一定ステップ数が実行された時点で前記フラグがす
べて正規に得られなかったり、或いはフラグの積算値が
正規の数値に一致しない場合に、ステップ処理シーケン
ス異常信号を出力することにより、ループごとに所要ス
テップを間引くことなく正確に実行したかどうか診断
し、プログラムの実行状況にまで踏み込んだ監視を行う
ことができ、これにより従来のウォッチドッグタイマ型
のCPU監視装置では発見することのできなかったウォ
ッチドッグパルスの周期短縮やステップ飛ばしなど、瞬
時の暴走などの兆候を確実に検出することができ、しか
も異常の所在についてもループ処理シーケンスにあるの
か或いはステップ処理シーケンスにあるのかを究明する
手掛かりを提供することができる等の優れた効果を奏す
る。
Uがプログラムのループ開始端で出力するラップタイム
パルスの周期を監視し、該パルス周期が正規の範囲を逸
脱したときにループ処理シーケンス異常信号を出力する
ことにより、ループ処理周期の異常から暴走を発見する
とともに、前記CPUが前記プログラム内要所に組み込
まれたステップを実行するつど出力するフラグを監視
し、一定ステップ数が実行された時点で前記フラグがす
べて正規に得られなかったり、或いはフラグの積算値が
正規の数値に一致しない場合に、ステップ処理シーケン
ス異常信号を出力することにより、ループごとに所要ス
テップを間引くことなく正確に実行したかどうか診断
し、プログラムの実行状況にまで踏み込んだ監視を行う
ことができ、これにより従来のウォッチドッグタイマ型
のCPU監視装置では発見することのできなかったウォ
ッチドッグパルスの周期短縮やステップ飛ばしなど、瞬
時の暴走などの兆候を確実に検出することができ、しか
も異常の所在についてもループ処理シーケンスにあるの
か或いはステップ処理シーケンスにあるのかを究明する
手掛かりを提供することができる等の優れた効果を奏す
る。
【0029】また、この発明は、CPUがタイマ割り込
みルーチンを実行するつどラップタイムパルスを出力
し、CPUがメインルーチン及びタイマ割り込みルーチ
ンの各要所に組み込まれたフラグ起立ステップを実行し
たか否かを一括して示す複数ビットのフラグデータとし
てフラグを出力するようにしたので、CPUが内蔵する
タイマによりタイマ割り込みルーチンを実行するつど出
力されるラップタイムパルスの周期が、異常に短縮され
たり或いは異常に長周期化した場合に、周期監視ソフト
ウェアによって異常を発見し、ループ処理シーケンスの
異常を報知することができ、またメインルーチンとタイ
マ割り込みルーチンのそれぞれの要所に組み込まれたフ
ラグ起立ステップのうちの一つでも実行されなかった場
合は、複数ビットのフラグデータのうちステップ番号に
対応するビットが「0」をとるなど、その旨の表示がな
されるため、所定数のループが実行された段階でフラグ
データの内容を判別することで、簡単かつ正確にステッ
プ処理シーケンスの異常を発見することができる等の効
果を奏する。
みルーチンを実行するつどラップタイムパルスを出力
し、CPUがメインルーチン及びタイマ割り込みルーチ
ンの各要所に組み込まれたフラグ起立ステップを実行し
たか否かを一括して示す複数ビットのフラグデータとし
てフラグを出力するようにしたので、CPUが内蔵する
タイマによりタイマ割り込みルーチンを実行するつど出
力されるラップタイムパルスの周期が、異常に短縮され
たり或いは異常に長周期化した場合に、周期監視ソフト
ウェアによって異常を発見し、ループ処理シーケンスの
異常を報知することができ、またメインルーチンとタイ
マ割り込みルーチンのそれぞれの要所に組み込まれたフ
ラグ起立ステップのうちの一つでも実行されなかった場
合は、複数ビットのフラグデータのうちステップ番号に
対応するビットが「0」をとるなど、その旨の表示がな
されるため、所定数のループが実行された段階でフラグ
データの内容を判別することで、簡単かつ正確にステッ
プ処理シーケンスの異常を発見することができる等の効
果を奏する。
【0030】さらに、この発明は、ループ処理シーケン
ス異常診断回路を、ラップタイムパルスの立ち上がりエ
ッジと立ち下がりエッジで充放電を繰り返す充放電器
と、この充放電器の出力電圧が上限電圧を上回るか又は
下限電圧を下回るかしたときにループ処理シーケンス異
常信号を出力するウインドウ・コンパレータ手段とから
構成したので、ラップタイムパルスの周期を充放電器と
上下限比較器とを組み合わせたアナログ回路により、C
PUのループ処理シーケンスを監視することができ、ソ
フトウェア処理によらない異常監視が可能である等の効
果を奏する。
ス異常診断回路を、ラップタイムパルスの立ち上がりエ
ッジと立ち下がりエッジで充放電を繰り返す充放電器
と、この充放電器の出力電圧が上限電圧を上回るか又は
下限電圧を下回るかしたときにループ処理シーケンス異
常信号を出力するウインドウ・コンパレータ手段とから
構成したので、ラップタイムパルスの周期を充放電器と
上下限比較器とを組み合わせたアナログ回路により、C
PUのループ処理シーケンスを監視することができ、ソ
フトウェア処理によらない異常監視が可能である等の効
果を奏する。
【0031】また、ステップ処理シーケンス異常診断回
路が、フラグを計数するカウンタと、カウンタの計数値
を一定ループ数が実行された時点で正規の数値と比較
し、両者が一致しないときにステップ処理シーケンス異
常信号を出力するステップ数比較器とから構成したの
で、CPUのループシーケンスが正常であっても、ルー
プを構成する個々のステップが正確に実行されているか
どうかを、カウンタと比較器をもって正確に監視し、C
PUのステップ処理シーケンスの異常を速やかに発見す
ることができる等の効果を奏する。
路が、フラグを計数するカウンタと、カウンタの計数値
を一定ループ数が実行された時点で正規の数値と比較
し、両者が一致しないときにステップ処理シーケンス異
常信号を出力するステップ数比較器とから構成したの
で、CPUのループシーケンスが正常であっても、ルー
プを構成する個々のステップが正確に実行されているか
どうかを、カウンタと比較器をもって正確に監視し、C
PUのステップ処理シーケンスの異常を速やかに発見す
ることができる等の効果を奏する。
【図1】この発明のCPU監視装置の一実施例を示す回
路ブロック図である。
路ブロック図である。
【図2】ラップタイムパルスの周期が短くなったときの
図1に示した回路各部の信号波形図である。
図1に示した回路各部の信号波形図である。
【図3】ラップタイムパルスの周期が長くなったときの
図1に示した回路各部の信号波形図である。
図1に示した回路各部の信号波形図である。
【図4】この発明のCPU監視装置の他の実施例とCP
Uの接続関係を示す図である。
Uの接続関係を示す図である。
【図5】図4に示した回路各部の信号波形図である。
【図6】図4に示したCPUのメインルーチンを示すフ
ローチャートである。
ローチャートである。
【図7】図6に示したメインジョブを示すフローチャー
トである。
トである。
【図8】図4に示したCPUのタイマ割り込みルーチン
を示すフローチャートである。
を示すフローチャートである。
【図9】図4に示したCPUの通信ルーチンを示すフロ
ーチャートである。
ーチャートである。
【図10】図4に示したCPU監視装置のメインルーチ
ンを示すフローチャートである。
ンを示すフローチャートである。
【図11】図4に示したCPU監視装置のラップタイム
パルス割り込みルーチンを示すフローチャートである。
パルス割り込みルーチンを示すフローチャートである。
【図12】従来のCPU監視装置の一例とCPUの接続
関係を示す図である。
関係を示す図である。
11,31 CPU監視装置 12,32 CPU 13 ループ処理シーケンス異常診断回路 14 ステップ処理シーケンス異常診断回路 16,33 警報器
Claims (5)
- 【請求項1】 CPUがプログラムのループ開始端で出
力するラップタイムパルスの周期を監視し、該パルス周
期が正規の範囲を逸脱したときにループ処理シーケンス
異常信号を出力し、前記CPUが前記プログラム内要所
に組み込まれたステップを実行するつど出力するフラグ
を監視し、一定ループ数が実行された時点で前記フラグ
がすべて正規に得られなかった場合にステップ処理シー
ケンス異常信号を出力するCPU監視方法。 - 【請求項2】 前記ラップタイムパルスは、前記CPU
がタイマ割り込みルーチンを実行するつど出力され、前
記フラグは、前記CPUがメインルーチン及びタイマ割
り込みルーチンの各要所に組み込まれたフラグ起立ステ
ップを実行したか否かを一括して示す複数ビットのフラ
グデータとして出力されることを特徴とする請求項1記
載のCPU監視方法。 - 【請求項3】 CPUがプログラムのループ開始端で出
力するラップタイムパルスの周期を監視し、該パルス周
期が正規の範囲を逸脱したときにループ処理シーケンス
異常信号を出力するループ処理シーケンス異常診断回路
と、前記CPUが前記プログラム内要所に組み込まれた
ステップを実行するつど出力するフラグパルスを監視
し、一定ループ数が実行された時点で前記フラグパルス
の積算値が正規の数値に一致しない場合にステップ処理
シーケンス異常信号を出力するステップ処理シーケンス
異常診断回路とを具備することを特徴とするCPU監視
装置。 - 【請求項4】 前記ループ処理シーケンス異常診断回路
は、前記ラップタイムパルスの立ち上がりエッジと立ち
下がりエッジで充放電を繰り返す充放電器と、該充放電
器の出力電圧が上限電圧を上回るか又は下限電圧を下回
るかしたときにループ処理シーケンス異常信号を出力す
るウインドウ・コンパレータ手段とを具備することを特
徴とする請求項3記載のCPU監視装置。 - 【請求項5】 前記ステップ処理シーケンス異常診断回
路は、前記フラグパルスを計数するカウンタと、該カウ
ンタの計数値を前記一定ループ数が実行された時点で正
規の数値と比較し、両者が一致しないときにステップ処
理シーケンス異常信号を出力するステップ数比較器とを
具備することを特徴とする請求項3記載のCPU監視装
置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5149299A JPH06168163A (ja) | 1992-09-30 | 1993-06-21 | Cpu監視方法及びcpu監視装置 |
CA002107263A CA2107263C (en) | 1992-09-30 | 1993-09-29 | Detection of improper cpu operation from lap time pulses and count of executed significant steps |
DE69320132T DE69320132T2 (de) | 1992-09-30 | 1993-09-29 | Erkennung von ungeeigneter Wirkung eines CPUs mittels Zeitüberlappungspulsen und Zählung bedeutender ausgeführter Schritte |
EP93115716A EP0590637B1 (en) | 1992-09-30 | 1993-09-29 | Detection of improper CPU operation from lap time pulses and count of executed significant steps |
US08/642,668 US5694336A (en) | 1992-09-30 | 1996-05-03 | Detection of improper CPU operation from lap time pulses and count of executed significant steps |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26114092 | 1992-09-30 | ||
JP4-261140 | 1992-09-30 | ||
JP5149299A JPH06168163A (ja) | 1992-09-30 | 1993-06-21 | Cpu監視方法及びcpu監視装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06168163A true JPH06168163A (ja) | 1994-06-14 |
Family
ID=26479233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5149299A Pending JPH06168163A (ja) | 1992-09-30 | 1993-06-21 | Cpu監視方法及びcpu監視装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5694336A (ja) |
EP (1) | EP0590637B1 (ja) |
JP (1) | JPH06168163A (ja) |
CA (1) | CA2107263C (ja) |
DE (1) | DE69320132T2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8245197B2 (en) | 2006-08-09 | 2012-08-14 | Fujitsu Limited | Program monitoring method, computer, and abnormal monitoring program product |
DE102014222910A1 (de) | 2013-11-13 | 2015-05-13 | Denso Corporation | Mikrocomputerüberwachungsvorrichtung |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US8639625B1 (en) * | 1995-02-13 | 2014-01-28 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
JP3633092B2 (ja) * | 1996-03-18 | 2005-03-30 | 日産自動車株式会社 | マイコン故障監視装置 |
FI108898B (fi) | 1996-07-09 | 2002-04-15 | Nokia Corp | Menetelmä prosessorin resetoimiseksi ja vahtikoira |
US6289400B1 (en) * | 1998-04-15 | 2001-09-11 | Infineon Technologies Ag | Electrical control device with configurable control modules |
FR2844892B1 (fr) * | 2002-09-24 | 2005-05-27 | St Microelectronics Sa | Horloge de surveillance de microcontroleur |
US20050188274A1 (en) * | 2004-01-29 | 2005-08-25 | Embedded Wireless Labs | Watchdog system and method for monitoring functionality of a processor |
JP7095491B2 (ja) | 2018-08-27 | 2022-07-05 | 株式会社デンソー | パルス信号異常検出装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3749897A (en) * | 1971-09-03 | 1973-07-31 | Collins Radio Co | System failure monitor title |
JPS6032217B2 (ja) * | 1979-04-02 | 1985-07-26 | 日産自動車株式会社 | 制御用コンピュ−タのフェィルセ−フ装置 |
DE3207633A1 (de) * | 1982-02-26 | 1983-09-15 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung zur ueberwachung eines mikroprozessors |
JPS605344A (ja) * | 1983-06-23 | 1985-01-11 | Sogo Jidosha Anzen Kogai Gijutsu Kenkyu Kumiai | 異常検出装置 |
US4594685A (en) * | 1983-06-24 | 1986-06-10 | General Signal Corporation | Watchdog timer |
JPS60263235A (ja) * | 1984-06-12 | 1985-12-26 | Omron Tateisi Electronics Co | マイクロコンピユ−タシステム |
JPS6118045A (ja) * | 1984-07-04 | 1986-01-25 | Fujitsu Ltd | プログラムの暴走検出方式 |
US4635258A (en) * | 1984-10-22 | 1987-01-06 | Westinghouse Electric Corp. | System for detecting a program execution fault |
JPH0789331B2 (ja) * | 1985-06-11 | 1995-09-27 | 日本電気株式会社 | タイマ回路 |
US4727549A (en) * | 1985-09-13 | 1988-02-23 | United Technologies Corporation | Watchdog activity monitor (WAM) for use wth high coverage processor self-test |
US4926427A (en) * | 1986-09-30 | 1990-05-15 | Siemens Aktiengesellschaft | Software error detection apparatus |
GB2197507A (en) * | 1986-11-03 | 1988-05-18 | Philips Electronic Associated | Data processing system |
US5245638A (en) * | 1990-10-29 | 1993-09-14 | Iowa State University Research Foundation, Inc. | Method and system for benchmarking computers |
GB9023633D0 (en) * | 1990-10-31 | 1990-12-12 | Int Computers Ltd | Predicting the performance of a computer system |
US5303166A (en) * | 1992-04-14 | 1994-04-12 | International Business Machines Corporation | Method and system for automated network benchmark performance analysis |
-
1993
- 1993-06-21 JP JP5149299A patent/JPH06168163A/ja active Pending
- 1993-09-29 CA CA002107263A patent/CA2107263C/en not_active Expired - Lifetime
- 1993-09-29 EP EP93115716A patent/EP0590637B1/en not_active Expired - Lifetime
- 1993-09-29 DE DE69320132T patent/DE69320132T2/de not_active Expired - Lifetime
-
1996
- 1996-05-03 US US08/642,668 patent/US5694336A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8245197B2 (en) | 2006-08-09 | 2012-08-14 | Fujitsu Limited | Program monitoring method, computer, and abnormal monitoring program product |
DE102014222910A1 (de) | 2013-11-13 | 2015-05-13 | Denso Corporation | Mikrocomputerüberwachungsvorrichtung |
Also Published As
Publication number | Publication date |
---|---|
DE69320132D1 (de) | 1998-09-10 |
EP0590637B1 (en) | 1998-08-05 |
EP0590637A1 (en) | 1994-04-06 |
CA2107263C (en) | 1999-04-06 |
US5694336A (en) | 1997-12-02 |
DE69320132T2 (de) | 1998-12-10 |
CA2107263A1 (en) | 1994-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10430260B2 (en) | Troubleshooting method, computer system, baseboard management controller, and system | |
US4072852A (en) | Digital computer monitoring and restart circuit | |
JPH06168163A (ja) | Cpu監視方法及びcpu監視装置 | |
US6654905B1 (en) | Method and apparatus for detecting a fault condition in a computer processor | |
EP3358467A1 (en) | Fault processing method, computer system, baseboard management controller and system | |
EP3663917B1 (en) | Watchdog built in test (bit) circuit for fast system readiness | |
JP3529994B2 (ja) | 照合回路 | |
JP3163904B2 (ja) | 暴走監視機能付きcpu装置 | |
JP2659067B2 (ja) | マイクロコンピュータのリセット回路 | |
JPH04283840A (ja) | 情報処理装置の診断方法 | |
EP0430843A2 (en) | Method and apparatus for fault testing microprocessor address, data and control busses | |
EP0342261B1 (en) | Arrangement for error recovery in a self-guarding data processing system | |
JPS6368941A (ja) | Cpuの動作監視装置 | |
JP2003066124A (ja) | 半導体集積回路試験装置 | |
JPH0362236A (ja) | ウォッチドックタイマ装置 | |
KR20240111990A (ko) | 이중화 외부 클럭 모니터링 장치 | |
JPS6051141B2 (ja) | プログラム暴走検出方式 | |
JP3042034B2 (ja) | 障害処理方式 | |
JPH06222961A (ja) | ウォッチドッグタイマ | |
JPS6349855A (ja) | Cpuの割込み周期異常検出装置 | |
JPS63101917A (ja) | 制御装置のクロツクパルス監視方法 | |
JPS58158751A (ja) | コンピユ−タの異常検出方法 | |
JPS5941204B2 (ja) | デ−タ処理装置の停電処理方式 | |
JPS58221456A (ja) | コンピユ−タの異常検出方式 | |
JPS60243751A (ja) | コンピユ−タにおける不正割り込み監視回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20001010 |