JP2006235924A - プログラムの実行アドレス異常を検出する電子制御装置 - Google Patents

プログラムの実行アドレス異常を検出する電子制御装置 Download PDF

Info

Publication number
JP2006235924A
JP2006235924A JP2005048796A JP2005048796A JP2006235924A JP 2006235924 A JP2006235924 A JP 2006235924A JP 2005048796 A JP2005048796 A JP 2005048796A JP 2005048796 A JP2005048796 A JP 2005048796A JP 2006235924 A JP2006235924 A JP 2006235924A
Authority
JP
Japan
Prior art keywords
program
execution
address
electronic control
arithmetic circuit
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.)
Withdrawn
Application number
JP2005048796A
Other languages
English (en)
Inventor
Kazutaka Miyaji
和孝 宮地
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2005048796A priority Critical patent/JP2006235924A/ja
Publication of JP2006235924A publication Critical patent/JP2006235924A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 実行周期があらかじめ定まっていないようなプログラムの暴走をも検出できる技術を提供する。
【解決手段】 電子制御装置が、タイムシェアリング方式に基づいて中断されたプログラム222の実行アドレスをスタック領域に記録し、プログラム222よりも優先度の高い領域外アクセス検出処理プログラム223が、記録したその実行アドレスが、あらかじめ決められた正常実行アドレス領域外であることに基づいて、プログラム実行異常に対処するための処理を行う。
【選択図】 図9

Description

本発明は、プログラムの実行アドレス異常を検出する電子制御装置に関する。
従来、演算回路を備えた電子制御装置において、演算回路がプログラムを実行しているとき、その実行アドレスが予期しないアドレスに移ってしまい、プログラムの実行が暴走してしまうことがあった。このようなプログラムの実行アドレス異常等による暴走を検出する技術としては、種々のものがある。
例えば、ウオッチドッグタイマと呼ばれる装置がある。ウオッチドッグタイマは、演算回路から所定の待ち期間以上パルス信号を受けなかったことに基づいて、演算回路をリセットする装置である。特許文献1には、演算回路がマルチタスク方式で複数のプログラムを実行する場合に、それらプログラムの実行アドレス異常を、このウオッチドッグタイマを用いて検出する技術が記載されている。具体的には、演算回路が、各プログラムの実行が正常に終了したときに、所定のカウンタをカウントアップし、そのカウンタ値と、各タスクの所定の実行周期を考慮した規格値とを比較し、その比較の結果、すべてのタスクが正常に作動していると判定したときにのみ、ウオッチドッグタイマにパルス信号を出力するようになっている。
特開平3−288942号公報
しかし、この特許文献のような技術では、不定期な割り込みによって実行が始まるプログラムのような、実行周期が予測できないプログラムについては、それらが正常に実行されたか否かを判断するための規格値を作成することができないという問題がある。
本発明は上記点に鑑み、実行周期があらかじめ定まっていないようなプログラムの暴走をも検出できる新規な技術を提供することを目的とする。
上記の目的を達成するための本発明の第1の特徴は、電子制御装置が演算回路を備え、その演算回路が、実行しているプログラムの実行アドレスを記憶媒体に記録し、記録したその実行アドレスが、あらかじめ決められた正常実行アドレス領域外であることを検出したことに基づいてプログラム実行異常に対処するための処理を行うことである。
このように、プログラムの実行アドレスが、あらかじめ決められた正常実行アドレス領域外であることに基づいて、当該プログラムの実行アドレス異常による暴走があったことを検出することで、そのプログラムの実行周期があらかじめ決まっているといないとに関わらず、プログラムの暴走を検出することができる。
また、電子制御装置は、演算回路による複数種類のプログラムのタイムシェアリング方式による実行のタイミングを制御し、あるプログラムの実行中に他のより優先度の高いプログラムの実行タイミングが訪れると、実行中のプログラムの実行を中断し、実行を中断したプログラムの中断時の実行位置アドレスを記憶媒体に記録するようになっていてもよい。このように、実行中のプログラムの中断時の実行位置アドレスが、あらかじめ決められた正常実行アドレス領域外であることを検出することで、当該プログラムの暴走を検出するようになっていてもよい。
また、演算回路が、中断したプログラムの実行を再開するとき、記憶媒体に記録した当該プログラムの中断時の実行アドレスを消去するようになっている場合には、実行する複数のプログラムのうち、少なくとも1つのプログラムよりも優先順位が高い検出用プログラムを演算回路が実行することにより、記録した実行アドレスが正常実行アドレス領域外であることを検出するようになっていればよい。このようになっていることで、この検出用のプログラムの実行時に、それよりも優先度の低いプログラムが実行されていれば、その優先度の低いプログラムの実行アドレスが記録され、その記録された実行アドレスが正常実行アドレス領域外であることを検出することが可能となる。
また、この検出用プログラムの実行開始タイミングは、演算回路が実行する複数のプログラムのうち、この検出用プログラムより優先度が低いプログラムの所定の実行開始タイミングから、当該プログラムの実行完了に要する時間内であるようになっていてもよい。このようになっていることで、電子制御装置は、当該プログラムの実行アドレス異常による暴走を、より高い確率で検出することができるようになる。
また、電子制御装置は、所定の待ち期間演算回路から所定の信号を受けなかったことに基づいて演算回路をリセットする監視回路を有していてもよい。このとき、演算回路は、プログラム実行異常に対処するための処理として、記憶媒体中の信号出力フラグをオンからオフにし、さらに、この所定の待ち期間より短い繰り返しタイミングで、信号出力フラグがオンであることに基づき、所定の信号を監視回路に出力するようになっていてもよい。
このようになっていることで、信号出力フラグがオンの間は、所定の待ち期間より短い繰り返しタイミングで所定の信号が監視回路に出力されるが、演算回路がプログラム実行アドレス異常を検出すると、信号出力フラグがオンからオフに変わることで、所定の信号が監視回路に出力されなくなり、その結果監視回路が演算回路をリセットする。
そしてこのとき、(1)記録した実行アドレスが正常実行アドレス領域外であることの検出、(2)信号出力フラグのオフ、および(3)信号出力フラグのオン・オフに基づく信号出力処理の3つは、単一のプログラムまたは連続的に実行開始されるようになっている複数のプログラムを演算回路が実行することで、この(1)〜(3)の順序で実現するようになっていてもよい。このようになっていることで、プログラムの実行アドレス異常の検出から演算回路のリセットまでが迅速に行われることになる。
また、本発明の第2の特徴は、電子制御装置が、プログラムを記憶するプログラム記憶媒体と、このプログラム記憶媒体中の指定されたアドレスに記録された命令を読み出して実行することで、プログラムの実行を実現する演算回路と、を備え、このプログラム記憶媒体が、プログラム実行異常に対処するための処理機能を演算回路に実現させる異常対処プログラムの先頭アドレスへのジャンプ命令を連続的に複数記憶していることである。
このようになっているので、演算回路によるプログラム実行時に、実行アドレス異常が発生したとき、その実行アドレスが、当該ジャンプ命令の位置であった場合、演算回路は、異常対処プログラムの実行を開始することになる。このように、プログラムの実行アドレスが異常となり、ジャンプ命令が実行されることで、当該プログラムの実行アドレス異常に対処するための処理が実行されるので、そのプログラムの実行周期があらかじめ決まっているといないとに関わらず、プログラムの暴走を検出することができる。
また、プログラム記憶媒体は、このジャンプ命令を連続的に複数記憶しているので、プログラムの実行アドレスが異常となった場合にジャンプ命令が実行される可能性が高くなる。記憶されるジャンプ命令の量は、多ければ多いほど望ましい。例えば、プログラム記憶媒体全体の10パーセント以上を占めると、実行アドレス異常の検出率が概ね10パーセント以上となる。
なお、ここでいう「異常対処プログラムの先頭アドレスへのジャンプ命令」とは、異常対処プログラムの先頭アドレスへ「直接」ジャンプする命令のみならず、異常対処プログラムの先頭アドレスへ「最終的に移動することになる」ジャンプ命令をも含む概念である。また、ここでいう「先頭アドレス」とは、形式的にそのプログラムの先頭部分に当たるアドレスのみならず、そこから実行を始めれば異常対処プログラムの主要部分の実行が実現されるようなアドレスをも含む概念である。
また、本発明の第3の特徴は、電子制御装置が、プログラムを記憶するプログラム記憶媒体と、このプログラム記憶媒体中の指定されたアドレスに記録された命令を読み出して実行することで、プログラムの実行を実現する演算回路と、を備え、このプログラム記憶媒体が、プログラム実行異常に対処するための処理機能を演算回路に実現させるための異常対処プログラムを連続的に複数記憶していることである。
このようになっているので、演算回路によるプログラム実行時に、実行アドレス異常が発生したとき、その実行アドレスが、当該異常対処プログラムの先頭アドレスであった場合、演算回路は、異常対処プログラムの実行を開始することになる。このように、プログラムの実行アドレスが異常となることが、直接当該プログラムの実行アドレス異常に対処するための処理の実行に繋がるので、そのプログラムの実行周期があらかじめ決まっているといないとに関わらず、プログラムの暴走を検出することができる。
また、プログラム記憶媒体は、この異常対処プログラムを連続的に複数記憶しているので、プログラムの実行アドレスが異常となった場合に異常対処プログラムが実行される可能性が高くなる。記憶される異常対処プログラム量は、多ければ多いほど望ましく、またそのプログラムサイズは小さければ小さいほど望ましい。例えば、複数の異常対処プログラムの総サイズプログラム記憶媒体全体の20パーセント以上を占め、1つの異常対処プログラム当たりのサイズが4アドレス分だとすると、実行アドレス異常の検出率が概ね5パーセント以上となる。
また、これら第2または第3の特徴を有する電子制御装置が、所定の待ち期間演算回路から所定の信号を受けなかったことに基づいて演算回路をリセットする監視回路を有していてもよい。このとき、演算回路は、プログラム実行異常に対処するための処理として、記憶媒体中の信号出力フラグをオンからオフにし、さらに、この所定の待ち期間より短い繰り返しタイミングで、信号出力フラグがオンであることに基づき、所定の信号を監視回路に出力するようになっていてもよい。
このようになっていることで、信号出力フラグがオンの間は、所定の待ち期間より短い繰り返しタイミングで所定の信号が監視回路に出力されるが、演算回路がプログラム実行アドレス異常を検出すると、信号出力フラグがオンからオフに変わることで、所定の信号が監視回路に出力されなくなり、その結果監視回路が演算回路をリセットする。
また、これら第1〜第3のいずれか1つの特徴を有する電子制御装置が、監視回路が演算回路をリセットした履歴が記録される不揮発性の記憶媒体を有するようになっていてもよい。このようになっていることで、リセットの履歴が記憶媒体に残るので、後にこの履歴を参照することが可能となる。
なお、ここでいう「不揮発性の記憶媒体」とは、フラッシュメモリ等の電力供給が無くとも記憶内容を保持する記憶媒体のみならず、スタンバイRAM等、バックアップ電源から常に電力供給を受けるようになっていることで、制御装置への電力供給が途絶えたとしても記憶内容を保持する記憶媒体をも含む概念である。
また、電子制御装置が、リセットした履歴を外部からの要求に応じて送信するための通信回路を有していれば、履歴の参照が容易になる。
また、これら第1〜第3のいずれか1つの特徴を有する電子制御装置が、検出した正常実行アドレス領域外のアドレスの実行に係るプログラムを検出すると共に、どのプログラムを検出したかを示す検出プログラム履歴を、不揮発性の記憶媒体に記録するようになっていてもよい。このようになっていることで、どのプログラムの実行が暴走したかについての履歴が記憶媒体に残るので、後にこの履歴を参照することが可能となる。
また、電子制御装置が、どのプログラムが暴走したかについての履歴を外部からの要求に応じて送信するための通信回路を有していれば、履歴の参照が容易になる。
また、電子制御装置は、検出プログラム履歴に基づいて、プログラム実行異常に対処するための処理内容を切り替えるようになっていてもよい。このようになっていることで、どのプログラムがどれくらいの頻度で暴走したかという情報に基づく細かな異常対応ができるようになる。
以下、本発明の一実施形態について説明する。図1に、本実施形態に係る車両制御用の電子制御装置1の構成および電子制御装置1と周辺装置との関係を示す。電子制御装置1は、マイコン2、通信回路3、入出力回路4、および外部監視装置5を有している。
マイコン2は、CPU21、ROM22、RAM23、スタンバイRAM24等を有している。CPU21は、ROM22中の指定されたアドレスに記録された命令を読み出して実行することで、ROM22中のプログラムの実行を実現し、その実行において、必要に応じてRAM23、スタンバイRAM24に対してデータの書き込みおよび読み出しの制御を行い、またROM22に対してデータの読み出しの制御を行い、また図示しないI/Oを介して通信回路3、入出力回路4、および外部監視装置5と信号のやりとりを行う。またCPU21は、外部監視装置5からリセット信号を受けることで、自身のリセット動作を行うようになっている。なお、CPU21の具体的な処理内容については後述する。
ROM22には、CPU21が実行するためのプログラムやCPU21が読み出して使用するための各種データがあらかじめ記録されている。図2に、ROM22中に記録されているデータの構成を示す。ROM22は、その先頭アドレス(ゼロ番地)からAddS番地までのデータ領域22aに、各種データを保持し、AddS番地からAddE番地までのプログラム領域22bに、CPU21が実行する車両制御用のプログラムを保持している。またAddE番地からROM22の最終番地までは、空き領域22cである。本実施形態においては、この空き領域には、空き領域処理と呼ぶ所定の命令群が連続的に複数記録されている。
通信回路3は、車内LAN等の外部回線と電子制御装置1との間のインターフェースとなる回路である。この通信回路3は、接続された外部回線を介して外部ツール10等の電子機器からデータを受信すると、そのデータをCPU21に出力する。また通信回路3は、CPU21から受けたデータを、外部回線を介して外部ツール10等の電子機器に送信する。
入出力回路4は、車内のセンサ11およびアクチュエータ12と電子制御装置1との間のインターフェースとなる回路である。この入出力回路4は、CPU21から受けた制御データに基づく制御信号を、その制御データ内で指定されたアクチュエータ12に出力し、またセンサ11から受けた検出信号に基づく検出データをCPU21に出力する。
外部監視装置5は、一定期間経過毎に保持するカウンタの値を一定値減じ、CPU21から所定のウオッチドッグタイマ信号を受けるとそのカウンタ値を初期値(正値)に戻し、そのカウンタ値がゼロ以下になるとCPU21にリセット信号を送信する。このようになっていることで、外部監視装置5は、最後にウオッチドッグタイマ信号を受けてから所定の待ち期間(すなわち[上述の初期値]×[上述の一定期間]/[上述の一定値])以上CPU21からデータを受けなかった場合、CPU21をリセットする。また外部監視装置5は、CPU21から特定のアクチュエータの作動を停止する旨の作動停止命令を受けると、その命令に係るアクチュエータの作動を停止させる。このような機能を有する外部監視装置5は、例えば通常のマイコンを用いて実現することができる。
外部ツール10は、ユーザの操作に基づいて電子制御装置1にデータ要求を送信し、電子制御装置1からデータを受けるとそのデータの内容をユーザに表示する装置である。このような外部ツール10は、例えば通信機能を有するパーソナルコンピュータ、PDA等によって実現することが可能である。
次に、図3に、CPU21が実行する各処理を概念的に表す図を示す。CPU21は起動時に、まずオペレーティングシステムのためのプログラム(図中ではOSと記す)220をROM22から読み出す。そしてCPU21は、このオペレーティングシステム220を実行することで、複数種類のプログラムのタイムシェアリング方式による実行のタイミングを制御する。具体的には、CPU21は、各タイミングにおいてはそれぞれただ1つのプログラムの命令のみを実行し、どのタイミングにどのプログラムを実行するかは、オペレーティングシステム220によって規定されている各プログラムの定期実行タイミング、割り込みによって発生する各プログラムの不定期実行タイミング、およびオペレーティングシステム220によって規定されている各プログラムの優先度に基づいて決定する。すなわち、あるプログラムの実行中に他のより優先度の高いプログラムの、定期または不定期の実行タイミングが訪れると、実行中のプログラムの実行を中断し、そのより優先度の高い方のプログラムの実行を開始する。また、プログラムの実行が終了すると、中断したプログラム、およびそれまでに実行タイミングが訪れたにも関わらず優先度が低いために実行開始されなかったプログラムのうち、最も優先度の高いプログラムの実行を開始する。
ここでいう複数種類のプログラムのそれぞれは、車両制御等のためのある機能単位を実現するためのタスクとして1つにまとめられた命令群から成る。これら複数種類のプログラムとしては、例えば内燃機関制御処理プログラム221、電子スロットル制御処理プログラム222、領域外アクセス検出処理プログラム223、ウオッチドッグタイマ信号(以下WD信号と記す)生成処理プログラム224等がある。なお、フェールセーフ処理プログラム225および空き領域22c中に記録された空き領域処理プログラム226については後述する。
内燃機関制御処理プログラム221を実行することで、CPU21は、アクチュエータ12の1つである内燃機関12bにおける燃料噴射量、燃料点火タイミング等の制御を行う。電子スロットル制御処理プログラム222を実行することで、CPU21は、センサ11の1つであるドライバ指示センサ11aからアクセル開度情報を取得し、その取得した情報に基づいて、電子スロットルモータ13を駆動するアクチュエータであるモータ駆動回路12aの制御を行う。領域外アクセス検出処理プログラム223を実行することで、CPU21は、各種プログラムの実行アドレスがあらかじめ決められた正常実行アドレス領域外であることを検出し、その検出に基づいて、プログラム実行異常に対処するための処理を行う。この内燃機関制御処理プログラム221の詳細については後述する。WD信号生成処理プログラム224を実行することで、CPU21は、後述する所定の条件が満たされると、WD信号を外部監視装置5に出力する。
なお、電子スロットル制御処理プログラム222、領域外アクセス検出処理プログラム223、およびWD信号生成処理プログラム224は、オペレーティングシステム220においてあらかじめ定められた一定周期毎に実行されるようになっている。そしてその周期は、上述の外部監視装置5についての所定の待ち期間よりも短く、かつ所定の待ち期間の1/2より長い。また、内燃機関制御処理プログラム221は、図示しないクランクセンサからの信号に基づいて、クランク角が特定の値になったときに、すなわち不定期のタイミングで、その実行が始まるようになっている。また、これらプログラム200〜204間の優先度の高低の関係は、[WD信号生成処理プログラム224]=[領域外アクセス検出処理プログラム223]>[電子スロットル制御処理プログラム222]>[内燃機関制御処理プログラム221]となっている。
図4に、CPU21によるこれらプログラム221〜224の実行タイミングの割り振りのタイミング図を示す。この図中左から右への方向が、時間経過の方向に相当する。この図においては、内燃機関制御処理プログラム221の実行中、電子スロットル制御処理プログラム222の定期実行タイミング401が訪れると、内燃機関制御処理プログラム221の実行が中断すると共に、より優先度の高い内燃機関制御処理プログラム221の実行が始まる。
さらに電子スロットル制御処理プログラム222の実行中に、領域外アクセス検出処理プログラム223の定期実行タイミング402が訪れると、電子スロットル制御処理プログラム222の実行が中断すると共に、より優先度の高い領域外アクセス検出処理プログラム223の実行が始まる。
さらに領域外アクセス検出処理プログラム223の実行が終了した直後に、引き続きWD信号生成処理プログラム224の定期実行タイミング403が訪れ、その実行が始まる。そしてWD信号生成処理プログラム224の実行が終了したタイミング404で、電子スロットル制御処理プログラム222の実行が再開し、そのWD信号生成処理プログラム224の実行が終了したタイミング405で、内燃機関制御処理プログラム221の実行が再開する。
このように、領域外アクセス検出処理プログラム223の定期実行タイミングは、電子スロットル制御処理プログラム222の定期実行タイミングから所定の遅れ時間後に訪れるようになっている。そしてこの所定の遅れ時間とは、電子スロットル制御処理プログラム222の実行完了に要する時間より短い時間である。なお、電子スロットル制御処理プログラム222の実行完了に要する時間は、各種要因によって変動するので、ここでいう実行完了に要する時間としては、典型的な実行完了に要する時間(例えば実測した実行完了に要する時間の平均、実測した実行完了に要する時間のうち最小のもの等)を用いればよい。このようになっていることで、電子スロットル制御処理プログラム222の実行中にその実行が中断されて、領域外アクセス検出処理プログラム223の実行が始まる頻度が高くなる。
また、上記の通り、領域外アクセス検出処理プログラム223とWD信号生成処理プログラム224とは、この順に連続的に、すなわち間に他の車両制御用プログラムの実行を挟むことなく実行されるようになっている。なお、領域外アクセス検出処理プログラム223およびWD信号生成処理プログラム224がまとまって1つのプログラムとして実現されていてもよい。
なお、CPU21は、実行中のプログラムの中断および中断したプログラムの再開を、オペレーティングシステム220の処理内容に基づき、RAM23中に割り当てたスタック領域へのデータの待避および復帰を行うことで実現する。
この、スタック領域を用いた待避および復帰について、図5を用いて説明する。図5は、図4に示したようにプログラムの実行の中断、再開がある場合の、スタック領域内のデータ構造の変遷を示す。まず、図4のタイミング401までの期間P1においては、スタック領域にはデータが含まれていない。そして、タイミング401で内燃機関制御処理プログラム221の実行が中断するとき、CPU21は、現在のCPU21内のプログラムカウンタ内のアドレス、すなわち現在のROM22中の実行アドレス、をスタック領域に書き込む。さらにこのとき、CPU21は、現在のCPU21内の各種レジスタの内容を、スタック領域に追記的に書き込む。これによって、タイミング401〜402までの期間P2におけるスタック領域内のデータは、バー411のように、内燃機関制御処理プログラム221の中断時実行アドレスを示すプログラムカウンタ値に続いて、その中断時のレジスタの待避データがあるという構造となる。
そして、タイミング402で電子スロットル制御処理プログラム222の実行が中断するとき、CPU21は、現在のCPU21内のプログラムカウンタ内のアドレスをスタック領域に追記的に書き込む。さらにこのとき、CPU21は、現在のCPU21内の各種レジスタの内容を、スタック領域に追記的に書き込む。これによって、タイミング402〜403までの期間P3におけるスタック領域内のデータは、バー412のように、内燃機関制御処理プログラム221の中断時実行アドレスおよび待避データに続き、電子スロットル制御処理プログラム222の中断時実行アドレスおよびそれに続く待避データがあるという構造となる。
このようになっているので、領域外アクセス検出処理プログラム223の実行時には、スタック領域に内燃機関制御処理プログラム221および電子スロットル制御処理プログラム222の中断時の実行アドレスが記憶されていることになる。
そして、タイミング404で電子スロットル制御処理プログラム222の実行が再開するとき、CPU21は、スタック領域の最後尾の待避データを各種レジスタに書き戻し、その待避データをスタック領域から消去し、さらにスタック領域の最後尾のプログラムカウンタ値をプログラムカウンタに書き戻し、そのプログラムカウンタ値をスタック領域から消去する。これによって、タイミング404〜405までの期間P4におけるスタック領域内のデータは、バー411のような構造となる。
そして、タイミング405で内燃機関制御処理プログラム221の実行が再開するとき、CPU21は、スタック領域の最後尾の待避データを各種レジスタに書き戻し、その待避データをスタック領域から消去し、さらにスタック領域の最後尾のプログラムカウンタ値をプログラムカウンタに書き戻し、そのプログラムカウンタ値をスタック領域から消去する。これによって、タイミング405以降の期間P4においては、スタック領域内のデータが空となる。
このようなCPU21のオペレーティングシステム220に基づいた待避および復帰の作動により、実行を中断したプログラムの中断時の実行位置アドレスがスタック領域に記録され、中断したプログラムの実行を再開するとき、スタック領域に記録した当該プログラムの中断時の実行アドレスを記憶媒体から消去する。すなわち、プログラムの中断時のみ、そのプログラムの中断時の実行アドレスがスタック領域に残ることになる。
ここで、領域外アクセス検出処理プログラム223を実行するCPU21の作動について説明する。図6に、領域外アクセス検出処理プログラム223のフローチャートを示す。CPU21は、このプログラム223の実行において、まずステップ110で待避データおよびプログラムカウンタ値がスタック領域内に存在するか否かを判定し、存在しない場合はこのプログラム223の実行を終了し、存在する場合は続いてステップ120で、スタック領域内のすべてのプログラムカウンタ値を読み出す。
そしてステップ120に続いてステップ130で、そのプログラムカウンタが正常範囲内であるか否かを判定する。ここで、正常範囲とは、ROM22のプログラム領域22b内を示す、あらかじめ定められてROM22のデータ領域22a内に記録されたアドレス範囲である。正常範囲内であれば領域外アクセス検出処理プログラム223の実行を終了し、正常範囲内でなければステップ140を実行する。
ステップ140では、領域外アクセス検出履歴(検出プログラム履歴および演算回路をリセットした履歴に相当する)を、スタンバイRAM24に記録する。領域外アクセス検出履歴の内容は、現在時刻、中断時の実行アドレスが正常でなかったプログラムの識別番号等である。なお、ステップ130で正常範囲内でなかった実行アドレスが、どのプログラムの中断時のものであるかを特定するためには、CPU21が、オペレーティングシステム220の規定に基づき、中断時のプログラムの識別番号を、その中断時のプログラムカウンタ値と対応付けて、スタック領域またはRAM23中の他の領域に、対応データとして記憶させておけばよい。このようになっていれば、ステップ140では、この対応データに基づいて、ステップ120で読み出したカウンタ値に対応するプログラムの識別番号を特定することができる。
なお、ステップ140では、更に、領域外アクセス検出履歴に基づいて、過去にプログラムカウンタ値が正常範囲外であると判定された累積回数を特定し、それが所定回数(1回以上)以上の場合、マイコン2が故障している旨のデータをスタンバイRAM24に書き込むようになっていてもよい。
また140では、更に、領域外アクセス検出履歴のプログラム識別番号に基づいて、過去に特定のプログラムについての中断時実行アドレスが正常範囲外であると判定された累積回数を特定し、それが所定回数(1回以上)以上の場合、外部監視装置5に対して、そのプログラムに関連するアクチュエータ(例えば内燃機関制御処理プログラム221の場合内燃機関12b、電子スロットル制御処理プログラム222の場合モータ駆動回路12a)の作動停止命令を出力するようになっていてもよい。また、このような累積回数が所定回数以上であるようなプログラムの実行を、例えばそのプログラムについてのスタック領域中のデータを消去する等の方法を用いて、強制終了するようになっていてもよい。このように、CPU21は、領域外アクセス検出履歴のプログラム識別番号に基づいて、ステップ140の処理内容を切り替えるようになっていてもよい。このようになっていることで、どのプログラムがどれくらいの頻度で暴走したかという情報に基づく細かな異常対応ができるようになる。
続いてステップ150では、CPU21のリセットのための処理として、RAM23中の変数である信号出力フラグをオンからオフに変化させる。なお、この信号出力フラグは、CPU21の起動時に、オペレーティングシステム220の処理によってオンとなるようになっている。そして、後述する通り、この信号出力フラグがオフになった後、すぐにCPU21がリセットされる。したがって、信号出力フラグがオフになっているということは、現在プログラム実行アドレス異常が発生していることを示している。ステップ150の後、このプログラム223の処理は終了する。
このように、領域外アクセス検出処理プログラム223をCPU21が実行することで、電子制御装置1は、スタック領域内に記録されたプログラム中断時の実行アドレスが正常範囲内でないとき(ステップ110〜130参照)、プログラム実行異常に対処するための処理として、領域外アクセス検出履歴の記録および信号出力フラグのオフ等を行う(ステップ140、150参照)。
続いて、WD信号生成処理プログラム224を実行するCPU21の作動について説明する。図7に、このWD信号生成処理プログラム224のフローチャートを示す。CPU21は、このプログラム224の実行において、まずステップ154でRAM23中の信号出力フラグがオンであるか否かを判定し、オンであればプログラム224の実行を終了し、オフであれば続いてステップ158でWD信号を外部監視装置5に出力した後にプログラム224の実行を終了する。このようなWD信号生成処理プログラム224を、上述の外部監視装置5についての所定の待ち期間よりも短い周期でCPU21が実行することで、信号出力フラグがオンである場合、すなわち現在プログラム実行アドレス異常が発生していない場合は、外部監視装置5がCPU21をリセットしないようなタイミングでのWD信号の出力を繰り返す。そして、信号出力フラグがオフである場合、すなわち現在プログラム実行アドレス異常が発生している場合は、WD信号を出力しないことで、外部監視装置5にCPU21をリセットさせる。
ここで、図8に、以上のような作動の電子制御装置1において、車両制御プログラムの実行アドレス異常が発生しない場合の、CPU21のROM22中の実行アドレス位置の変化を示す。図中左から右への向きが時間経過の向きであり、縦方向がROM22中のアドレスを示している。この図に示す通り、CPU21は、タイムシェアリング方式に従い、内燃機関制御処理プログラム221、電子スロットル制御処理プログラム222、領域外アクセス検出処理プログラム223、電子スロットル制御処理プログラム222、内燃機関制御処理プログラム221、WD信号生成処理プログラム224を順次実行するが、その際、実行アドレスはプログラム領域22b内に留まり続ける。
次に、図9に、以上のような作動の電子制御装置1において、電子スロットル制御処理プログラム222の実行中に実行アドレス異常が発生した場合の、CPU21のROM22中の実行アドレス位置の変化を、図8と同じ形式で示す。この図に示す通り、電子スロットル制御処理プログラム222の実行中のタイミング301に、何らかの原因によってプログラム実行位置がデータ領域22aに移ってしまうと、電子スロットル制御処理プログラム222の実行は暴走してしまう。しかし、オペレーティングシステム220に基づく処理により、より優先度の高い領域外アクセス検出処理プログラム223の実行タイミングにおいて、その暴走した電子スロットル制御処理プログラム222の実行は中断し、その暴走中の実行アドレスの値がスタック領域に記録される。そして領域外アクセス検出処理プログラム223の実行においてその実行アドレスが正常範囲内にないことが検出された結果、タイミング303で信号出力フラグがオフとなる。そして続くWD信号生成処理プログラム224の実行において、WD信号が出力されなくなり、その結果外部監視装置5のカウンタ値がゼロ以下になったタイミング304で、CPU21がリセットされる。
このように、電子制御装置1のCPU21が、タイムシェアリング方式に基づいて中断されたプログラムの実行アドレスをスタック領域に記録し、記録したその実行アドレスが、あらかじめ決められた正常実行アドレス領域外であることを検出したことに基づいて、プログラム実行異常に対処するための処理を行うことで、プログラムの実行アドレス異常による暴走を検出することができる。そして、検出できるプログラムの実行アドレス異常は、そのプログラムの実行周期があらかじめ決まっているといないとには関わらない。内燃機関制御処理プログラム221のような不定期実行タイミングで実行されるプログラムであっても、領域外アクセス検出処理プログラム223よりも優先度が低いプログラムであれば、領域外アクセス検出処理プログラム223が繰り返し実行されることで、その内燃機関制御処理プログラム221の実行中に領域外アクセス検出処理プログラム223の実行タイミングが訪れたときには、内燃機関制御処理プログラム221の中断時の実行アドレスがスタック領域に記録されるので、これに基づいて実行アドレス異常を検出することができる。
また、上述した通り、この領域外アクセス検出処理プログラム223の定期実行タイミングは、電子スロットル制御処理プログラム222の定期実行タイミングから、当該プログラム222の実行完了に要する時間内であるので、電子制御装置1は、当該プログラム222の実行アドレス異常による暴走を、効率よく検出することができる。
また、領域外アクセス検出処理プログラム223およびWD信号生成処理プログラム224が、連続的に(または単一のプログラムとして)実行開始されるようになっている複数のプログラムを演算回路が実行することで、この順序で実現するようになっていることで、プログラムの実行アドレス異常の検出からCPU21のリセットまでが迅速に行われる。
ここで、フェールセーフ処理プログラム225および空き領域処理プログラム226について説明する。空き領域処理プログラム226は、図2に示した通り、空き領域22c中の全体に敷き詰められた複数のジャンプ命令である。1つのジャンプ命令は、ROM22中の1つのアドレスを占めるようになっており、それらのジャンプ先は、プログラム領域22b中のフェールセーフ処理プログラム225の先頭アドレスとなっている。したがって、CPU21においてプログラム実行位置異常が発生し、プログラム実行位置が空き領域22c中のアドレスに変化してしまった場合、いずれかのジャンプ命令が実行され、続いてフェールセーフ処理プログラム225の実行が始まる。
図10に、フェールセーフ処理プログラム225のフローチャートを示す。このフェールセーフ処理プログラム225の実行において、CPU21は、まずステップ160で、領域外アクセス検出処理プログラム223のステップ140と同等の領域外アクセス検出履歴記憶処理を行い、続いてステップ170で、ステップ150と同等の信号出力停止フラグオフの処理を行い、その後終了する。ただし、このステップ160において、領域外アクセス検出履歴に記録するプログラムの識別番号は、このフェールセーフ処理プログラム225の実行の直前に空き領域処理プログラム226のジャンプ命令に実行を移したプログラムの識別番号である。このようなプログラムを特定するためには、CPU21が、オペレーティングシステム220の規定に基づき、実行中のプログラムの識別番号をRAM23の所定の領域に記憶させておけばよい。このようになっていれば、ステップ160では、この所定の領域の識別番号をプログラム実行異常の発生したプログラムの識別番号として特定することができる。
ここで、図11に、以上のような作動の電子制御装置1において、電子スロットル制御処理プログラム222の実行中のタイミング311に実行アドレス異常が発生し、実行アドレスが空き領域22c中となった場合の、CPU21のROM22中の実行アドレス位置の変化を、図8および図9と同じ形式で示す。このような場合、この図に示す通り、空き領域処理プログラム226、すなわちジャンプ命令をCPU21が実行することで、フェールセーフ処理プログラム225の実行が始まる。そしてそのプログラム225の実行中のタイミング312で、信号出力フラグがオフとなる。そして続くWD信号生成処理プログラム224の実行において、WD信号が出力されなくなり、その結果外部監視装置5のカウンタ値がゼロ以下になったタイミング313で、CPU21がリセットされる。
このように、ROM22が、プログラム実行異常に対処するための処理機能をCPU21演算回路に実現させる空き領域処理プログラム226の先頭アドレスへのジャンプ命令を、空き領域に連続的に敷き詰めて複数記憶することで、CPU21によるプログラム実行時に、実行アドレス異常が発生したとき、その実行アドレスが、空き領域22c内であった場合、演算回路は、必ずフェールセーフ処理プログラム225の実行を開始することになる。このように、プログラムの実行アドレスが異常となり、ジャンプ命令が実行されることで、当該プログラムの実行アドレス異常に対処するための処理が実行されるので、そのプログラムの実行周期があらかじめ決まっているといないとに関わらず、プログラムの暴走を検出することができる。また、実行アドレス異常が発生したとき、その実行アドレスが、データ領域22aであった場合には、フェールセーフ処理プログラム225は実行されないが、上述の通り領域外アクセス検出処理プログラム223が実行されることで、プログラム実行アドレス異常の検出ができる場合がある。
なお、CPU21は、通信回路3を介して外部ツール10から要求を受けた場合は、本実施形態においてスタンバイRAM24に記録されたデータを読み出し、通信回路3に出力するようになっていてもよい。このようにすることで、外部ツール10は、通信回路3から送信された領域外アクセル検出履歴等のデータをユーザに表示することができるので、履歴の参照が容易になる。
なお、上記の実施形態において、CPU21が演算回路に相当し、外部監視装置5が監視回路に相当し、領域外アクセス検出処理プログラム223が検出用プログラムに相当し、フェールセーフ処理プログラム225が異常対処プログラムに相当し、ROM22がプログラム記憶媒体に相当する。
また、CPU21が、オペレーティングシステム220を実行することで実行アドレス記録手段として機能する。またCPU21が、領域外アクセス検出処理プログラム223のステップ110〜130を実行することで、検出手段として機能する。またCPU21が、領域外アクセス検出処理プログラム223のステップ140および150を実行することで異常対処手段として機能する。またCPU21が、フェールセーフ処理プログラム225を実行することで異常対処手段として機能する。またCPU21がWD信号生成処理プログラム224を実行することで信号出力手段として機能する。
(他の実施形態)
なお、上記の実施形態において、空き領域処理プログラム226としてのジャンプ命令は、空き領域22c全体に敷き詰められて連続的に記録される必要はない。例えば、空き領域22c全体の50パーセント以上を埋めるように記録されていても、ある程度の暴走検出効果が達成される。
また、敷き詰められるジャンプ命令は、必ずしも、フェールセーフ処理プログラム225への直接的なジャンプ命令である必要はない。例えば、連続する空き領域22c中の最後のアドレス以外には、次のアドレスにジャンプする命令が記録されており、最後のアドレスにのみ、フェールセーフ処理プログラム225にジャンプする命令が記録されていてもよい。
また、空き領域22cに連続的に記録される空き領域処理プログラム226は、必ずしもジャンプ命令である必要はない。たとえば、フェールセーフ処理プログラム225そのものを複数連続的に記録するようになっていてもよい。このようになっているので、CPU21によるプログラム実行時に、実行アドレス異常が発生したとき、その実行アドレスが、空き領域22c中の当該フェールセーフ処理プログラム225の先頭アドレスであった場合、CPU21は、フェールセーフ処理プログラム225の実行をすぐに開始することになる。このように、プログラムの実行アドレスが異常となることが、直接当該プログラムの実行アドレス異常に対処するための処理の実行に繋がるので、そのプログラムの実行周期があらかじめ決まっているといないとに関わらず、プログラムの暴走を検出することができる。またこの場合、フェールセーフ処理プログラム225の数は、多ければ多いほど望ましく、またそのプログラムサイズは小さければ小さいほど望ましい。
また、CPU21が、領域外アクセス検出処理プログラム223を実行するようになっており、ROM22はフェールセーフ処理プログラム225を記憶していないような場合であっても本発明の実行アドレス異常検出の効果は達成される。
また逆に、CPU21が領域外アクセス検出処理プログラム223を実行しないようになっており、ROM22が空き領域処理プログラム226およびフェールセーフ処理プログラム225を記憶している場合であっても、本発明の実行アドレス異常検出の効果は達成される。
また、上記の実施形態においては、中断されたプログラムの、中断時のプログラムカウンタの値に基づいて、プログラム実行アドレス異常を検出しているが、必ずしも中断時のプログラムカウンタ値に基づいて検出する必要はない。例えば、電子制御装置1が、定期的にCPU21中のプログラムカウンタの値を読み取る外部装置を有しており、その外部装置が、プログラムカウンタの値が正常範囲内である場合、CPU21から外部監視装置5へのWD信号を遮断することで、外部監視装置5にCPU21のリセットを行わせるようになっていてもよい。
また、ステップ110〜130と、ステップ140、150は、連続的に実行開始される2つの異なるプログラムとして実現されていてもよい。
また、上記の実施形態のような技術に、特許文献1に示したような、CPU21が、各プログラムの実行が正常に終了したときに、所定のカウンタをカウントアップし、そのカウンタ値と、各プログラムの所定の実行周期を考慮した規格値とを比較し、その比較の結果、すべてのプログラムが正常に作動していると判定したときに、ウオッチドッグタイマにパルス信号を出力する技術を組み合わせてもよい。
本発明の実施形態に係る電子制御装置1のハードウェア構成図である。 ROM22内のデータ構成を示す図である。 CPU21の処理内容を示す図である。 オペレーティングシステム220による優先度に基づいたプログラムのタイムシェアリング制御を示す図である。 RAM23中のスタック領域の変化を示す図である。 CPU21が実行する領域外アクセス検出処理プログラム223のフローチャートである。 CPU21が実行するWD信号生成処理プログラム224のフローチャートである。 CPU21によるプログラム実行アドレス異常がない場合の実行プログラムタイミング図である。 CPU21によるプログラム実行アドレス異常がある場合の実行プログラムタイミング図である。 CPU21が実行するフェールセーフ処理プログラム225のフローチャートである。 CPU21によるプログラム実行アドレス異常がある場合の実行プログラムタイミング図である。
符号の説明
1…電子制御装置、2…マイコン、3…通信回路、4…入出力回路、
5…外部監視装置、10…外部ツール、11…センサ、11a…ドライバ指示センサ、
12…アクチュエータ、12a…モータ駆動回路、12b…内燃機関、
13…電子スロットルモータ、21…CPU、22…ROM、23…RAM、
24…スタンバイRAM、22a…データ領域、22b…プログラム領域、
22c…空き領域、220…オペレーティングシステム、
221…内燃機関制御処理プログラム、222…電子スロットル制御処理プログラム、
223…領域外アクセス検出処理プログラム、224…WD信号生成処理プログラム、
225…フェールセーフ処理プログラム、226…空き領域処理プログラム。

Claims (14)

  1. 演算回路を備え、
    前記演算回路は、
    実行しているプログラムの実行アドレスを記憶媒体に記録する実行アドレス記録手段、
    前記実行アドレス記録手段が記録した前記実行アドレスが、あらかじめ決められた正常実行アドレス領域外であることを検出する検出手段、および、
    前記検出手段の検出に基づいて、プログラム実行異常に対処するための処理を行う異常対処手段として機能することを特徴とする電子制御装置。
  2. 前記実行アドレス記録手段は、前記演算回路による複数種類のプログラムのタイムシェアリング方式による実行のタイミングを制御し、あるプログラムの実行中に他のより優先度の高いプログラムの実行タイミングが訪れると、実行中のプログラムの実行を中断し、実行を中断したプログラムの中断時の実行位置アドレスを前記記憶媒体に記録することを特徴とする請求項1に記載の電子制御装置。
  3. 前記実行アドレス記録手段は、中断したプログラムの実行を再開するとき、前記記憶媒体に記録した当該プログラムの中断時の実行アドレスを前記記憶媒体から消去し、
    前記検出手段は、前記演算回路が実行する複数のプログラムのうち、少なくとも1つのプログラムよりも優先順位が高い検出用プログラムを前記演算回路が実行することで実現されることを特徴とする請求項2に記載の電子制御装置。
  4. 前記検出用プログラムの実行開始タイミングは、前記演算回路が実行する複数のプログラムのうち、前記検出用プログラムより優先度が低いプログラムの所定の実行開始タイミングから、当該プログラムの実行完了に要する時間内であることを特徴とする請求項3に記載の電子制御装置。
  5. 所定の待ち期間前記演算回路から所定の信号を受けなかったことに基づいて、前記演算回路をリセットする監視回路を備え、
    前記異常対処手段は、プログラム実行異常に対処するための処理として、記憶媒体中の信号出力フラグをオンからオフにし、
    前記演算回路は、前記所定の待ち期間より短い繰り返しタイミングで、前記信号出力フラグがオンであることに基づき、前記所定の信号を前記監視回路に出力する信号出力手段として機能することを特徴とする請求項1ないし4のいずれか1つに記載の電子制御装置。
  6. 前記検出手段、前記異常対処手段および前記信号出力手段は、単一のプログラムまたは連続的に実行開始されるようになっている複数のプログラムを前記演算回路が実行することで、この順序で実現するようになっていることを特徴とする請求項5に記載の電子制御装置。
  7. プログラムを記憶するプログラム記憶媒体と、
    前記プログラム記憶媒体中の指定されたアドレスに記録された命令を読み出して実行することで、前記プログラムの実行を実現する演算回路と、を備え、
    前記プログラム記憶媒体は、プログラム実行異常に対処するための処理を行う異常対処手段として前記演算回路を機能させる異常対処プログラムの先頭アドレスへのジャンプ命令を連続的に複数記憶していることを特徴とする電子制御装置。
  8. プログラムを記憶するプログラム記憶媒体と、
    前記プログラム記憶媒体中の指定されたアドレスに記録された命令を読み出して実行することで、前記プログラムの実行を実現する演算回路と、を備え、
    前記プログラム記憶媒体は、プログラム実行異常に対処するための処理を行う異常対処手段として前記演算回路を機能させるための異常対処プログラムを連続的に複数記憶していることを特徴とする電子制御装置。
  9. 所定の待ち期間前記演算回路から所定の信号を受けなかったことに基づいて、前記演算回路をリセットする監視回路を備え、
    前記異常対処手段は、プログラム実行異常に対処するための処理として、記憶媒体中の信号出力フラグをオフにし、
    前記演算回路は、前記所定の待ち期間より短い繰り返しタイミングで、前記信号出力フラグがオンであることに基づき、前記所定の信号を前記監視回路に出力する信号出力手段として機能することを特徴とする請求項7または8に記載の電子制御装置。
  10. 前記監視回路が前記演算回路をリセットした履歴が記録される不揮発性の記憶媒体を備えたことを特徴とする請求項5、6、および9のいずれか1つに記載の電子制御装置。
  11. 前記リセットした履歴を外部からの要求に応じて送信するための通信回路を有することを特徴とする請求項10に記載の電子制御装置
  12. 前記異常対処手段は、前記検出手段が検出した前記正常実行アドレス領域外のアドレスの実行に係るプログラムを検出すると共に、どのプログラムを検出したかを示す検出プログラム履歴を、不揮発性の記憶媒体に記録することを特徴とする請求項1ないし11のいずれか1つに記載の電子制御装置。
  13. 前記異常対処手段が記録した検出プログラム履歴を、外部からの要求に応じて送信するための通信回路を有することを特徴とする請求項12に記載の電子制御装置。
  14. 前記異常対処手段は、前記検出プログラム履歴に基づいて、処理内容を切り替えることを特徴とする請求項12または13に記載の電子制御装置。
JP2005048796A 2005-02-24 2005-02-24 プログラムの実行アドレス異常を検出する電子制御装置 Withdrawn JP2006235924A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005048796A JP2006235924A (ja) 2005-02-24 2005-02-24 プログラムの実行アドレス異常を検出する電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005048796A JP2006235924A (ja) 2005-02-24 2005-02-24 プログラムの実行アドレス異常を検出する電子制御装置

Publications (1)

Publication Number Publication Date
JP2006235924A true JP2006235924A (ja) 2006-09-07

Family

ID=37043511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005048796A Withdrawn JP2006235924A (ja) 2005-02-24 2005-02-24 プログラムの実行アドレス異常を検出する電子制御装置

Country Status (1)

Country Link
JP (1) JP2006235924A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012105540A1 (ja) * 2011-02-03 2012-08-09 株式会社豊田自動織機 燃料噴射制御装置
JP2018018274A (ja) * 2016-07-27 2018-02-01 株式会社デンソー 電子制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012105540A1 (ja) * 2011-02-03 2012-08-09 株式会社豊田自動織機 燃料噴射制御装置
JP2018018274A (ja) * 2016-07-27 2018-02-01 株式会社デンソー 電子制御装置

Similar Documents

Publication Publication Date Title
JP4770602B2 (ja) 電子機器
US20100274986A1 (en) Control apparatus and control method therefor
JP4917604B2 (ja) 記憶装置構成およびその駆動方法
JP2010204851A (ja) 記憶装置及び情報処理装置
JP2006235924A (ja) プログラムの実行アドレス異常を検出する電子制御装置
JP3968876B2 (ja) 電子制御装置
US9778981B2 (en) Microcontroller
JP6654230B2 (ja) 車両制御装置
JP5627414B2 (ja) 動作ログ収集システム及びプログラム
US20130055017A1 (en) Device and method for restoring information in a main storage unit
JP2003271420A (ja) 電子制御装置
JP2009230425A (ja) 情報処理装置
JP4562641B2 (ja) コンピュータシステム、動作状態判定プログラムおよび動作状態判定方法
JP4479775B2 (ja) 車両制御装置およびプログラム
JP2008140124A (ja) データ処理装置
JP2002189572A (ja) ディスク記憶装置、同記憶装置を持つ情報処理機器、及び書き込み失敗時処理方法
JP2010056744A (ja) 情報処理装置、画像形成装置及びプログラム
JPH071795A (ja) エラー情報トレース制御方法
JP2001005689A (ja) トレース採取回路
JP2880658B2 (ja) マルチタスクプログラムの暴走検出装置
JP2019185276A (ja) アプリケーションプログラム、機能プログラムモジュール
CN113927190A (zh) 激光轴运动控制方法、装置、激光设备和存储介质
JP2004272555A (ja) プログラム暴走検出回路及び記録装置
JP2022053165A (ja) 電子制御装置
JP4580491B2 (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080513