(57)【要約】【課題】  故障原因の特定に有効な車両データであって、重要度の高いデータを記憶部に記憶させておくことができる制御装置を提供する。【解決手段】  制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理を、先行して実行される制御処理よりも優先して実行する優先制御処理と、制御処理における記憶制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理における記憶制御処理の記憶制御を所定時間経過した後に実行する優先制御特別処理とを実行するマイコン１０３を有している。【選択図】        図３
2010111234.tif 000002
【特許請求の範囲】
【請求項１】
被制御部を制御する際の制御に関するデータを記憶制御する制御装置であって、
制御に関するデータを記憶するための記憶部と、
被制御部に関する制御処理と、
制御処理において、入力信号に基づいて所定部位の異常を判定する際の、制御に関するデータを記憶部へ記憶する記憶制御処理と、
制御処理に含まれる記憶制御処理が複数実行される場合は、先行して実行される制御処理における異常判定の際の制御に関するデータを記憶部へ記憶した後、その後に続いて実行される制御処理における異常判定の際の制御に関するデータを記憶部へ上書記憶する上書記憶制御処理と、
制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理を、先行して実行される制御処理よりも優先して実行する優先制御処理と、
制御処理における記憶制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理における記憶制御処理の記憶制御を所定時間経過した後に実行する優先制御特別処理と、を実行する制御部と、
を備える制御装置。
【請求項２】
前記優先制御特別処理は、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合において、後に続いて実行される制御処理における異常判定の際の制御に関するデータの優先度が、先行して実行される制御処理における異常判定の際の制御に関するデータの優先度よりも高い場合に、後に続いて実行される制御処理における記憶制御処理の記憶制御を所定時間経過した後に実行する請求項１記載の制御装置。
【請求項３】
前記優先制御特別処理は、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合において、後に続いて実行される制御処理における異常判定の際の制御に関するデータの優先度が、先行して実行される制御処理における異常判定の際の制御に関するデータの優先度よりも低い場合に、後に続いて実行される制御処理における記憶制御処理の記憶制御を中止する請求項１又は２記載の制御装置。
【請求項４】
被制御部に関する制御処理と、
制御処理において、入力信号に基づいて所定部位の異常を判定する際の、制御に関するデータを記憶部へ記憶する記憶制御処理と、
制御処理に含まれる記憶制御処理が複数実行される場合は、先行して実行される制御処理における異常判定の際の制御に関するデータを記憶部へ記憶した後、その後に続いて実行される制御処理における異常判定の際の制御に関するデータを記憶部へ上書記憶する上書記憶制御処理と、
制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理を、先行して実行される制御処理よりも優先して実行する優先制御処理と、
制御処理における記憶制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理における記憶制御処理の記憶制御を所定時間経過した後に実行する優先制御特別処理と有する制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び制御方法に関する。特に、本発明は、車両に用いられる制御装置及び制御方法に関する。
【背景技術】
【０００２】
従来より、車両の制御装置は、車両で発生した故障等の原因を解析することができるように、車両の状態を示す各種車両データを記憶装置に記録して保持させている。一般に、制御装置は、通常時はＲＡＭ（Random Access Memory）等の揮発性メモリに車両データを逐次記録していき、故障等の異常が発生した際に揮発性メモリに書き込まれた車両データをＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）等の不揮発性メモリに一括して記録するように構成されている（例えば、特許文献１参照）。
【０００３】
制御装置が制御処理によって異常値を示す車両データの検出と、検出した異常の不揮発性メモリへの記録とを行う場合の処理手順を図１及び図２を参照しながら説明する。図１及び図２には、車両データの異常を検出して不揮発性メモリに記録する処理を低優先度の制御処理と高優先度の制御処理とでそれぞれ実行する様子を示す。
【０００４】
図１に示すタイミングＡで、低優先度の制御処理が車両データの異常値を検出し、検出した異常値を示す車両データの不揮発性メモリへの記録を開始する。その後、タイミングＢで、高優先度の制御処理が車両データの異常値を検出し、異常値を示す車両データを不揮発性メモリに記録するために割り込み要求を出力する。低優先度の制御処理は、高優先度の制御処理からの割り込み要求によって異常値を示す車両データの不揮発性メモリへの記録を停止し、待機状態になる。なお、タイミングＡの低優先度の制御処理と、タイミングＢの高優先度の制御処理とは、数十ｍｓｅｃ以内に行われるものとする。
【０００５】
その後、図２に示すタイミングＣで高優先度の制御処理が異常値を示す車両データの不揮発性メモリへの記録を終了する。低優先度の制御処理は、高優先度の制御処理の車両データの不揮発性メモリへの記録終了を受けて、図２に示すタイミングＤで異常値を示す車両データの不揮発性メモリへの記録を再開させる。
【０００６】
【特許文献１】特開２００３−２６０９９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、高優先度の制御処理による不揮発性メモリへのデータ記録が終了した後に、低優先度の制御処理が不揮発性メモリへのデータ記録を再開した場合、高優先度の制御処理によって不揮発性メモリに記録されている車両データに、低優先度の制御処理の記録する車両データが上書きされてしまう場合がある。このとき、高優先度の制御処理の記録する車両データの優先度が、低優先度の制御処理の記録する車両データの優先度よりも高かった場合、故障原因の特定等にとって有効な車両データが不揮発性メモリから消去されてしまう恐れがある。
【０００８】
本発明は上記事情に鑑みてなされたものであり、故障原因の特定に有効な車両データであって、重要度の高いデータを記憶部に記憶させておくことができる制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するために本発明の制御装置は、被制御部を制御する際の制御に関するデータを記憶制御する制御装置であって、制御に関するデータを記憶するための記憶部と、被制御部に関する制御処理と、制御処理において、入力信号に基づいて所定部位の異常を判定する際の、制御に関するデータを記憶部へ記憶する記憶制御処理と、制御処理に含まれる記憶制御処理が複数実行される場合は、先行して実行される制御処理における異常判定の際の制御に関するデータを記憶部へ記憶した後、その後に続いて実行される制御処理における異常判定の際の制御に関するデータを記憶部へ上書記憶する上書記憶制御処理と、制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理を、先行して実行される制御処理よりも優先して実行する優先制御処理と、制御処理における記憶制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理における記憶制御処理の記憶制御を所定時間経過した後に実行する優先制御特別処理とを実行する制御部と、を備えている。
【００１０】
本発明は、一定時間内に複数の制御処理が実行される場合に、優先度の高い制御処理が優先度の低い制御処理よりも優先して処理を行うが、記憶部への記憶制御においては、優先度の高い制御処理は所定時間を経過した後に実行する。従って、優先度の高い制御処理が異常判定の際の制御に関するデータを記憶部に書き込んだ後に、優先度の低い制御処理が異常判定の際の制御に関するデータを記憶部に書き込んでしまうことがない。従って、故障原因の特定に有効なデータであって、重要度の高いデータを記憶部に記憶させておくことができる。
【００１１】
上記制御装置において、前記優先制御特別処理は、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合において、後に続いて実行される制御処理における異常判定の際の制御に関するデータの優先度が、先行して実行される制御処理における異常判定の際の制御に関するデータの優先度よりも高い場合に、後に続いて実行される制御処理における記憶制御処理の記憶制御を所定時間経過した後に実行する。
【００１２】
従って、優先度の高い制御処理が記憶部に書き込んだ優先度の高いデータが優先度の低い制御処理が記憶部に書き込むデータによって消去されることがない。
【００１３】
上記制御装置において、前記優先制御特別処理は、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合において、後に続いて実行される制御処理における異常判定の際の制御に関するデータの優先度が、先行して実行される制御処理における異常判定の際の制御に関するデータの優先度よりも低い場合に、後に続いて実行される制御処理における記憶制御処理の記憶制御を中止する。
【００１４】
従って、優先度の高いデータを記憶部に記憶した後に、優先度の低いデータを記憶に記憶してしまうことがない。
【００１５】
本発明の制御方法は、被制御部に関する制御処理と、制御処理において、入力信号に基づいて所定部位の異常を判定する際の、制御に関するデータを記憶部へ記憶する記憶制御処理と、制御処理に含まれる記憶制御処理が複数実行される場合は、先行して実行される制御処理における異常判定の際の制御に関するデータを記憶部へ記憶した後、その後に続いて実行される制御処理における異常判定の際の制御に関するデータを記憶部へ上書記憶する上書記憶制御処理と、制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理を、先行して実行される制御処理よりも優先して実行する優先制御処理と、制御処理における記憶制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理における記憶制御処理の記憶制御を所定時間経過した後に実行する優先制御特別処理とを有している。
【発明の効果】
【００１６】
本発明によれば、故障原因の特定に有効な車両データであって、重要度の高いデータを記憶部に記憶させておくことができる。
【発明を実施するための最良の形態】
【００１７】
添付図面を参照しながら本発明の好適な実施例を説明する。
【実施例】
【００１８】
図３には、本発明をエンジンＥＣＵ（（Electronic Control Unit）に適用した実施例の構成を示す。エンジンＥＣＵ（Electronic Control Unit）１００は、Ａ／Ｄ（Ａｎａｌｏｇ／  ｄｉｇｉｔａｌ）変換器１０１、入力回路１０２、マイコン１０３、出力回路１０４を備えている。
【００１９】
Ａ／Ｄ変換器１０１には、水温センサ１１、バキュームセンサ１２、吸気温センサ１３、Ｏ２センサ１４、スロットルポジションセンサ１５、排気温センサ１６、車速センサ１７、ノックセンサ１８、イオンセンサ１９、その他センサ２０等のセンサからのセンサ信号が入力される。
入力回路１０２には、スタータスイッチ２１やアイドルスイッチ２２からの信号が入力される。
【００２０】
水温センサ１１は、エンジンのウォータージャケット内の冷却水の温度を検出し、検出結果を表わす信号をマイコン１０３に送信する。
バキュームセンサ１２は、エンジンに吸入空気を導く吸気通路の吸入空気量を検出し、検出結果を表す信号をマイコン１０３に送信する。
吸気温センサ１３は、前述吸気通路の吸入空気の温度を検出し、検出結果を表す信号をマイコン１０３に送信する。
Ｏ２センサ１４は、排気浄化触媒の下流に配置され、排気ガス中の酸素濃度を検出し、検出結果を表す信号をマイコン１０３に送信する。
スロットルポジションセンサ１５は、モータの駆動によって回動されるスロットルバルブの開度を検出し、検出結果を表す信号をマイコン１０３に送信する。
排気温センサ１６は、排気浄化触媒の下流側で排気温を検出し、検出結果を表す信号をマイコン１０３に送信する。
車速センサ１７は、例えば、ドライブシャフトの回転数から車両の速度を検知し、検知結果を表す信号をマイコン１０３に送信する。
ノックセンサ１８は、エンジンの振動（ノッキング）を検出し、検出結果を表す信号をマイコン１０３に送信する。
イオンセンサ１９は、プレイグニッションが発生した場合に生じるイオン電流を検出し、検出結果を表す信号をマイコン１０３に送信する。
これらのセンサ以外にも車両の状態を測定するためのセンサ（以下、その他センサ２０と呼ぶ）が複数搭載されている。
【００２１】
スタータスイッチ２１は、エンジンを始動させるスイッチであり、このスイッチがオンのときにハイレベルとなる信号をマイコン１０３に出力する。アイドルスイッチ２２は、アクセルペダルが全閉のときにハイレベルとなる信号をマイコン１０３に出力する。
【００２２】
エンジンＥＣＵ１００は、各種スイッチ信号及び各種センサ信号から取得する情報に基づいて、エンジンの最適な点火時期、燃料噴射時期及び噴射量などを演算する。そして、エンジンＥＣＵ１００は、演算結果に基づき、出力回路１０４を介して気筒毎に設けられたインジェクタ１５２や点火プラグ１５４を駆動する駆動信号を出力する。
【００２３】
エンジンＥＣＵ１００の出力回路１０４には、警報ランプ１５１、インジェクタ１５２、イグナイタ１５３等が接続されている。
警報ランプ１５１は、エンジンＥＣＵ１００の故障監視により、異常の発生を検出した場合に点灯されるランプである。故障監視の詳細については後述する。
インジェクタ１５２は、エンジンＥＣＵ１００の制御により開閉駆動されて燃料を噴射する電磁弁から構成される。
イグナイタ１５３は、エンジンＥＣＵ１００の制御により不図示の点火コイルにバッテリ電圧を供給し、点火コイルに蓄えられた高電圧により点火プラグ１５４で火花を発生させて、燃焼室内の混合気を燃焼させる。
【００２４】
図４には、エンジンＥＣＵ１００のシステム構成を示す。
車両には、複数のＥＣＵが搭載され、これらのＥＣＵは車内ＬＡＮによって接続されている。また、複数のＥＣＵ間では、ＣＡＮ（Controller Area Network）等のプロトコルに従って通信を行う。なお、図４には、車両の制御を行うＥＣＵとして、エンジンＥＣＵ１００、ＣＶＴ−ＥＣＵ２０１、ブレーキＥＣＵ２０２、ナビＥＣＵ２０３、テレマティクスＥＣＵ２０４、ライトＥＣＵ２０５、エアバッグＥＣＵ２０６、ドアＥＣＵ２０７を示したが、エンジンＥＣＵ１００と通信を行うＥＣＵはこれらに限られるものではない。
【００２５】
図５に、マイコン１０３のハードウェア構成を示す。
マイコン１０３は、ＣＰＵ（Central Processing Unit）１１１、ＲＯＭ１１２、ノーマルＲＡＭ（Normal Random Access Memory(以下、ＮＲＡＭと略記する)１１３、スタンバイＲＡＭ（Standby Random Access Memory(以下、ＳＲＡＭ１１４と略記する)１１４、入出力部１１５を有している。
なお、ＮＲＡＭ１１３は、揮発性のメモリであって、イグニッションスイッチがオフされたときにはＮＲＡＭ１１３への電源供給も停止し、ＮＲＡＭ１１３の記録する情報も消去される。また、ＳＲＡＭ１１４は、イグニッションスイッチがオフされてもバッテリからの電源供給を受けて、記録する情報を保持する。
【００２６】
ＣＰＵ１１１は、ＲＯＭ１１２に記録されたプログラムに従って演算を行うことで、制御処理と、記憶制御処理と、上書記憶制御処理と、優先制御処理と、優先制御特別処理とを実行する。
なお、制御処理とは、インジェクタ１５２やイグナイタ１５３等の被制御部を制御する制御処理である。
記憶制御処理は、制御処理において、入力信号に基づいて所定部位の異常を判定する際の、制御に関するデータをＳＲＡＭ１１４へ記憶する処理である。
上書記憶制御処理とは、制御処理に含まれる記憶制御処理が複数実行される場合は、先行して実行される制御処理における異常判定の際の制御に関するデータをＳＲＡＭ１１４へ記憶した後、その後に続いて実行される制御処理における異常判定の際の制御に関するデータをＳＲＡＭ１１４へ上書記憶する処理である。
優先制御処理とは、制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理を、先行して実行される制御処理よりも優先して実行する処理である。
優先制御特別処理とは、制御処理における記憶制御処理が一定時間内に複数実行される場合で、先行して実行される制御処理に設定された優先度よりも、その後に続いて実行される制御処理に設定された優先度が高い場合は、後に続いて実行される制御処理における記憶制御処理の記憶制御を所定時間経過した後に実行する処理である。
【００２７】
又、ＣＰＵ１１１は、複数の制御処理を並行して実行する機能を有している。各制御処理には優先度が設定されている。例えば、高優先度の制御処理には、エンジンの制御に使用するセンサ信号やスイッチ信号（すなわち、時間に同期せずに不定期で入力される信号）の異常値を検出する処理が含まれる。特に、エンジンＥＣＵ１００での高優先度の制御処理には、クランク角度センサに基づいて、燃料噴射制御や点火制御を実施するような実行周期を密にする必要がある制御が含まれる。また、低優先度の制御処理には、水温センサ１１のセンサ信号（すなわち、時間に同期して所定間隔で入力される信号）が異常値を示すか否かを検出する処理が含まれる。特に、エンジンＥＣＵ１００での低優先度の制御処理には、例えば、燃料噴射制御や点火制御において用いるクランク角よりも状態の変化度合いが高くない水温センサ１１のセンサ値などを用いて実行する制御をいう。
また、ＣＰＵ１１１は、ＮＲＡＭ１１３をリングバッファとして使用し（以下では、ＮＲＡＭ１１３をリングバッファ１１３ａと呼ぶ）、図３に示すセンサ１１〜２０や、スイッチ２１、２２等によって測定される車両の状態データをリングバッファ１１３ａに順次記憶していく。リングバッファ１１３ａの記憶量がリングバッファ１１３ａの所定の容量を超えると、ＣＰＵ１１１は、最も古い状態データの代わりに新しい状態データをリングバッファ１１３ａに記憶させる。なお、車両の状態データの詳細については後述する。
【００２８】
また、ＣＰＵ１１１は、リングバッファ１１３ａに記憶した車両の状態データに基づいて、車両の異常を検出する。この異常検出の処理について図６を参照しながら説明する。
例えば、リングバッファ１１３ａに車両の状態データとして記憶したセンサ値が異常値を示した場合や、センサ値が一定値のまま変動しなかった場合には、異常値を検出したことを示すフラグが立てられる（図６（ａ）に示す異常値検出フラグに１が記録される）。また、異常値の検出により仮異常判定の判定結果を示すフラグに１が記録される（図６（ｂ）参照）。なお、仮異常判定とは、センサ値が異常値を示したか否かの判定であり、この後に続く本異常判定の開始を示す。本異常判定では、図６（ｅ）に示す異常カウンタのカウントを開始して、センサ値の異常が所定時間以上継続しているか否かを判定する。仮異常判定では、一度異常値を示したセンサ値を異常と判定してしまうので、本異常判定でノイズ等によらず一定時間以上継続して異常値を示すセンサ値を異常と判定する。異常カウンタのカウント値が図６（ｄ）に示す異常検出しきい値を超えると、本異常判定の判定結果を示すフラグに１が記録され（図６（ｃ）参照）、センサ値の異常が確定する（本異常と判定する）。
なお、センサ値が異常値から正常値に戻った場合には、図６（ａ）に示す異常値検出フラグに０が記録され、図６（ｆ）に示す正常カウンタのカウントを開始する。正常カウンタのカウント値が正常検出しきい値を超えると、センサ値は正常であると判定する。
【００２９】
また、図６に示す例では、仮異常判定と本異常判定とを行ってセンサ値の異常を確定させていたが、仮異常判定、本異常判定を行わずに異常が確定する車両の状態データもある。例えば、ノイズ等の影響を受けることがなく、本異常判定を行わなくても異常値を示した段階で異常を確定（本異常と判定）させる車両の状態データもある。
【００３０】
上述した例では、センサ値の異常を例に説明したが、エンジンＥＣＵ１００はセンサ値以外の異常も検出する。
例えば、センサの断線・ショートの異常であると判定した時点で仮異常と判定し、この状態が所定時間以上継続した場合を本異常と判定する。
また、信号レベルが不定状態であると判定した時点で仮異常と判定し、この不定状態が所定時間以上継続した場合を本異常と判定する。
また、通信が途絶したと判定した時点で仮異常と判定し、この通信途絶の状態が所定時間以上継続した場合を本異常と判定する。
また、回転角センサに進角、又は遅角異常が発生していると判定した際に仮異常と判定し、この異常状態が所定時間以上継続した場合を本異常と判定する。
また、可変バルブタイミング機構（以下、ＶＶＴ（Variable Valve Timing-control）と呼ぶ）等に機能異常が生じていると判定した際に仮異常と判定し、この機能異常が所定時間以上継続した場合を本異常と判定する。
また、ＩＣの動作に動作不良が生じていると判定した際に仮異常と判定し、この動作不良が所定時間以上継続した場合を本異常と判定する。
また、触媒等の性能の劣化を検出した際に仮異常と判定し、この性能劣化が所定時間以上継続した場合を本異常と判定する。
また、例えば、ＥＣＵ内、入力センサ、出力アクチュエータ等において発生する過電流による異常を検出した際に仮異常と判定し、この異常が所定時間以上継続した場合を本異常と判定する。
【００３１】
図７には、ＳＲＡＭ１１４の記録情報を示す。ＣＰＵ１１１は、リングバッファ１１３ａに記憶した車両の状態データから異常値を示す状態データを検出すると、検出した状態データ及び検出した状態データと同じタイミングでリングバッファ１１３ａに記憶した車両の状態データと、異常の発生直前にリングバッファ１１３ａに記憶した車両の状態データと、異常の発生から所定時間経過後にリングバッファ１１３ａに記憶した車両の状態データとをＳＲＡＭ１１４に記録する。ＳＲＡＭ１１４には、図７に示すようにＣＰＵ１１１によって特定された異常の発生箇所を特定する情報を記録する領域（以下、異常検出箇所記録領域１２０と呼ぶ）と、仮異常と判定された状態データを記録する領域（以下、仮異常データ記録領域１３０と呼ぶ）と、本異常と判定された状態データを記録する領域（以下、本異常データ記録領域１４０と呼ぶ）とを有している。
また、仮異常データ記録領域１３０は、異常が発生する直前の状態データを記録する領域（以下、異常発生前の状態データ記録領域１３１と呼ぶ）と、異常が発生した際の状態データを記録する領域（以下、異常発生時の状態データ記録領域１３２と呼ぶ）と、異常発生から所定時間経過後の状態データを記録する領域（以下、異常発生後の状態データ記録領域１３３と呼ぶ）とを有している。
同様に、本異常データ記録領域１４０も、異常が発生する直前の状態データを記録する領域（以下、異常発生前の状態データ記録領域１４１と呼ぶ）と、異常が発生した際の状態データを記録する領域（以下、異常が発生した際の状態データ記録領域１４２と呼ぶ）と、異常発生から所定時間経過後の状態データを記録する領域（以下、異常発生後の状態データ記録領域１４３と呼ぶ）とを有している。
【００３２】
次に、エンジンＥＣＵ１００が異常の発生を監視する車両の部位について説明する。エンジンＥＣＵ１００が異常の発生を監視する部位には、法規によって定められた法規関連部位と、エミッション（排気ガスに含まれる有害物質）の排出に関連する部位であるエミッション関連部位と、これら以外の部位であるエミッション非関連部位とが含まれる。なお、法規には、車両部位の異常を判定する際に状態データを記憶させておくことを定めている法律、または、法律に基づく命令、若しくは、規則における法律が含まれる。
法規関連部位には、例えば、Ａ／Ｆ（空燃比）センサヒータ、Ｏ２センサヒータ、エアフロメータ、サブＯ２センサ電圧、燃料系、失火検出、クランク角センサ、カムポジションセンサ等の異常検出が含まれる。
また、エミッション関連部位には、表１に示すようにＶＶＴ、排気ＶＶＴ、ＶＶＴのオイルコントロールバルブの断線、ショート、排気ＶＶＴのオイルコントロールバルブの断線、ショート、大気圧と吸気との圧力差異常、ポンプ弁異常、燃圧システム異常、レギュレータ異常、燃料漏れ異常、吸気圧センサ異常、水温センサ、スロットルセンサ、サーモスタット異常、インジェクタ異常、フューエルポンプ異常、ノックセンサ異常、イオン電流値の異常、排気ガス再循環（以下、ＥＧＲ（Exhaust Gas Recirculation）と呼ぶ）システムの異常、触媒劣化検出、タンク内圧センサ異常、車速センサ異常、バッテリ温センサ異常、排気温センサ異常、油温センサ異常、タービン回転数センサ異常、ＣＯクラッチ回転数センサ異常、ＮＣ２回転数センサ異常、ソレノイド異常、ＣＡＮ通信異常などの項目が含まれる。
また、エミッショ非関連部位には、表１に示すようにＥＣＵとＮＲＡＭとの異常が含まれる。
【００３３】
【表１】
2010111234.tif 000003
【００３４】
また、エンジンＥＣＵ１００が上述した部位に異常が発生した原因を特定するためにＳＲＡＭ１１４に記録させる車両の状態データには、以下のものがある。なお、以下に挙げるすべての項目を記録する必要はなく、取捨選択することも可能である。
まず、上述した法規関連項目の異常原因を特定するために使用される車両の状態データには、表２に示すように、エンジン水温、吸気管圧力、エンジン回転数、車速、点火時期（例えば、進角時期）、吸気温度、エアフロー率、スロットル開度、フロントＯ２センサ出力、リアＯ２センサ出力、エンジン始動時間、トータル燃料補正量、Ａ／Ｆセンサのセンサ出力電圧、ＥＧＲ出力、ＥＧＲエラー、エバポパージ出力、大気圧、触媒温度、電源電圧、絶対負荷値、目標空燃比、相対スロットル開度、雰囲気温度、スロットル絶対位置センサ、アクセルペダル絶対位置センサ、スロットルアクチュエータ出力、可変バルブタイミング・リフト機構（以下、ＶＶＴＬ（Variable Valve Timing and Lift）と呼ぶ）の目標位置、油圧スイッチ、ＶＶＴＬ用ＯＣＶの駆動デューティ、ＶＶＴ保持デューティの学習値、ＶＶＴ変位角、ＯＣＶ駆動要求デューティ、ＥＸＶＶＴのデューティ学習値、ＥＸＶＶＴ変位角、ＥＸＯＣＶ駆動要求デューティ値、ＴＶＶＴ角度換算値などが挙げられる。
また、上述したエミッション関連、エミッショ非関連部位の異常を検出するために使用される車両の状態データには、表２に示すように、エンジン水温、吸気管圧力、エンジン回転数、車速、点火時期進角、吸気温度、エアフロー率、スロットル開度、フロントＯ２センサ出力、リアＯ２センサ出力、エンジン始動時間、トータル燃料補正量、Ａ／Ｆセンサのセンサ出力電圧、ＥＧＲ出力、ＥＧＲエラー、エバポパージ出力、大気圧、触媒温度、電源電圧、目標空燃比、スロットル絶対位置センサ、アクセルペダル絶対位置センサ、スロットルアクチュエータ出力、充電制御バッテリ電流、充電制御バッテリ液温、オルタフィールドデューティ、目標過給圧、過給圧ＶＳＶ（Vacuum Switching Valve）制御デューティ比、アイドリング信号、Ａ／Ｃ信号、電気信号、ＳＴＰ信号、パワステ信号、吸気側目標変位角、吸気側実変位角、吸気側制御ディーティ比、排気側目標変位角、排気側実変位角、排気側制御デューティ比、ガス圧センサ値、ＥＧＲステップ数、油圧スイッチ、ＶＶＴＬ用ＯＣＶの駆動デューティ、ＶＶＴ保持デューティの学習値、ＶＶＴ変位角、ＯＣＶ駆動要求デューティ、ＥＸＶＶＴのデューティ学習値、ＥＸＶＶＴ変位角、ＥＸＯＣＶ駆動要求デューティ値、ＴＶＶＴ角度換算値、アイドルスピードコントロール制御（以下、ＩＳＣと略記する）のステップ位置、ＩＳＣのデューティ値、燃料噴射量、エンジン始動時の水温、エンジン始動時の吸気温、燃料噴射時間などが挙げられる。
【００３５】
【表２】
2010111234.tif 000004
【００３６】
ＳＲＡＭ１１４に記録された車両の状態データは、車両の故障診断等に使用される。修理、メンテナンス等を行う作業員は、ツール等を使用してＳＲＡＭ１１４に記録された車両の状態データを読み出し、読み出した状態データに基づいて故障箇所や故障原因を特定し、センサや部品を交換する。
このとき、ＳＲＡＭ１１４に記録される車両の状態データは、重要度の高い部位の故障を特定可能な状態データが記録されている程、優先度の高いものが記録されている程、故障箇所や故障原因の特定に有効となる。そこで、本実施例では、上述した最も重要度の高い法規関連部位の異常を検出するための車両の状態データが優先度の高いデータとしてＳＲＡＭ１１４に記録される。次に重要度の高いエミッション関連部位の異常を検出するための車両の状態データの優先度を法規関連部位のものよりも低く設定している。また、エミッション非関連部位の異常を検出するための車両の状態データの優先度をエミッション関連部位のものよりも低く設定している。
また、ＳＲＡＭ１１４へ車両の状態データを記録する際に、優先度の高い異常を判定する車両の状態データが、優先度の低い異常を判定する車両の状態データに上書きされないように制御している。この制御手順について、図８を参照しながら説明する。
【００３７】
図８には、リングバッファ１１３ａに記憶した状態データと、この状態データのＳＲＡＭ１１４への記録タイミングとを示す。
マイコン１０３は、各種センサ１１〜２０によって測定されたセンサ信号や、スイッチ２１、２２の状態を示す状態信号等の車両の状態データを５１２ｍｓｅｃごとにリングバッファ１１３ａに記憶する。すなわち、図８に示すｓｔｅｐ１，ｓｔｅｐ２，ｓｔｅｐ３，・・・のタイミングでリングバッファ１１３ａに車両の状態データを記憶する。
また、図８に示す例では、ｓｔｅｐ１のタイミングで、優先度２（以下では、低優先度の異常を判定する状態データを優先度２と表記し、高優先度の異常を判定する状態データを優先度１と表記する）の状態データがリングバッファ１１３ａに記録され、この状態データが図８に示すタイミングＡで仮異常に設定されたとする。さらに、図８に示すｓｔｅｐ２のタイミングで、優先度１の状態データをリングバッファ１１３ａに記憶し、この状態データが図８に示すタイミングＢで仮異常に設定されたとする。
なお、タイミングＡにおいて優先度２の状態データは、異常が発生する前の状態データと、異常が発生した際の状態データとがリングバッファ１１３ａに記憶されているとする。同様に、タイミングＢにおいて優先度１の状態データは、異常が発生する前の状態データと、異常が発生した際の状態データとがリングバッファ１１３ａに記録されているとする。また、ｓｔｅｐ１で行われる優先度２の状態データのリングバッファ１１３ａへの記録と、ｓｔｅｐ２で行われる優先度１の状態データのリングバッファ１１３ａへの記録とは、数十ｍｓｅｃ以内に行われるものとする。
【００３８】
マイコン１０３は、優先度２の状態データが仮異常に設定された段階（図８のタイミングＡ）で、優先度２の状態データをＳＲＡＭ１１４の仮異常データ記録領域１３０に記録する。優先度２の状態データが仮異常に設定された段階では、異常が発生する前の状態データと、異常が発生した際の状態データとがリングバッファ１１３ａに記憶されているので、これらの情報がＳＲＡＭ１１４の仮異常データ記録領域１３０に記録される。なお、図８では、優先度２の状態データの異常が発生する前の状態データを「優２前」と表記する。又、優先度２の状態データの異常が発生した際の状態データを「優２異」と表記する。同様に優先度１の状態データの異常が発生する前の状態データを「優１前」と表記する。又、優先度１の異常が発生した際の状態データを「優１異」と表記する。
【００３９】
次のｓｔｅｐ２（ｓｔｅｐ１から５１２ｍｓｅｃ経過）でリングバッファ１１３ａに取り込まれた優先度１の状態データが、図８に示すＢのタイミングで仮異常に設定されたとする。
マイコン１０３は、優先度１の状態データのうち、異常発生前の状態データと、異常が発生した際の状態データとをリングバッファ１１３ａからＳＲＡＭ１１４の仮異常データ記録領域１３０に記録する。このとき、ＳＲＡＭ１１４の仮異常データ記録領域１３０に記録されていた優先度２の状態データは、消去（優先度１の状態データによって上書き）される。
【００４０】
次のｓｔｅｐ３（ｓｔｅｐ１から（５１２×３）ｍｓｅｃ経過）のタイミングでは、優先度１の状態データのうち、異常発生から所定時間経過後の状態データがリングバッファ１１３ａに記憶する。マイコン１０３は、リングバッファ１１３ａに記憶した所定時間経過後の優先度１の状態データをＳＲＡＭ１１４の仮異常データ記録領域１３０に記録する。なお、以下では、優先度１の状態データの異常発生から所定時間経過後の状態データを「優１後」と表記する。
【００４１】
次に、図８に示すタイミングＣで優先度２の状態データが本異常に設定されたとする。
マイコン１０３は、優先度２の状態データをＳＲＡＭ１１４の本異常データ記録領域１４０に記録する。なお、優先度２の状態データはリングバッファ１１３ａには記憶していないので、再度種々のセンサから取得したものをＳＲＡＭ１１４の本異常データ記録領域１４０に記録する。
【００４２】
次に、図８に示すタイミングＤで優先度１の状態データが本異常に設定されたとする。
マイコン１０３は、ＳＲＡＭ１１４の本異常データ記録領域１４０に記録されていた優先度２の状態データを消去して、ＳＲＡＭ１１４の仮異常データ記録領域１３０に記録されていた優先度１の状態データをＳＲＡＭ１１４の本異常データ記録領域１４０に記録する。
このとき、マイコン１０３はＳＲＡＭ１１４の仮異常データ記録領域１３０に記録されていた優先度１の状態データは、仮異常データ記録領域１３０から消去する。
【００４３】
次に、低優先度の制御処理と高優先度の制御処理とが、車両データの異常を検出して不揮発性メモリに異常値を記録する処理をそれぞれ並行して実行する制御処理について説明する。なお、図９では、高優先度の制御処理と低優先度の制御処理との２つの制御処理を並行して行う場合を説明するが、さらに複数の制御処理の処理を並行して行うことも可能である。
【００４４】
図９に示すタイミングＡで、低優先度の制御処理が状態データの異常値を検出し、異常値を検出した状態データの仮異常データ記録領域１３０への記録を開始したとする。その後、タイミングＢで、高優先度の制御処理が状態データの異常値を検出したとする。高優先度の制御処理は、他の制御処理が状態データの仮異常データ記録領域１３０への記録を行っているか否かを判定するため、記録中フラグを参照する。記録中フラグは、制御処理がＳＲＡＭ１１４の仮異常データ記録領域１３０に状態データを記録するときに記録されるフラグであって、記録が終了すると、制御処理によって記録中フラグは消去される。なお、他の制御処理とは、高優先度の制御処理であっても低優先度の制御処理であってもよい。ここでは、仮異常データ記録領域１３０に状態データを記録中の制御処理の優先度は低優先度であるとする。
記録中フラグが記録されている場合、高優先度の制御処理は、現在、他の制御処理によって仮異常データ記録領域１３０に記録されている状態データの優先度は、高優先度の制御処理が異常値を検出した状態データの優先度よりも高いか否かを判定する。高優先度の制御処理は、自身で異常値を検出した状態データの優先度が、他の制御処理によって仮異常データ記録領域１３０に記録されている状態データの優先度よりも低いと判定した場合、自身で異常値を検出した状態データの仮異常データ記録領域１３０への記録を取り止める。高優先度の制御処理が検出した状態データよりも優先度の高い状態データが他の制御処理にって仮異常データ記録領域１３０に記録されているので、高優先度の制御処理の検出した状態データの記録を取り止める。
【００４５】
また、高優先度の制御処理が異常値を検出した状態データの優先度が、他の制御処理によって仮異常データ記録領域１３０に記録されている状態データの優先度よりも高い場合、高優先度の制御処理は、他の制御処理による仮異常データ記録領域１３０への状態データの記録が終了するまで待機する。
高優先度の制御処理は、所定時間ごとに記録中フラグを参照して、記録中フラグが記録されているか否かを判定する（図９に示すタイミングＣ，Ｄ，Ｆ）。記録中フラグが記録されている場合には、他の制御処理によって仮異常データ記録領域１３０への記録が行われていると判定し、高優先度の制御処理は再度待機状態になる。
また、記録中フラグが消去されている場合、高優先度の制御処理は、他の制御処理による仮異常データ記録領域１３０への状態データの記録が終了していると判定し、仮異常データ記録領域１３０への状態データの記録要求を出力する。そして、高優先度の制御処理は、仮異常データ記録領域１３０への状態データの記録を開始する（図９に示すタイミングＦ）。
【００４６】
図９に示すタイミングＧで高優先度の制御処理による状態データの記録が終了すると、ＳＲＡＭ１１４の仮異常データ記録領域１３０には、高優先度の制御処理によって記録された優先度の高い状態データが記録されている。又、高優先度の制御処理による仮異常データ記録領域１３０への記録が行われない場合、他の制御処理によって記録された優先度の高い状態データが仮異常データ記録領域１３０に記録されている。従って、制御処理の優先度によらず状態データに付加された優先度の高い状態データをＳＲＡＭ１１４に記録することができる。なお、図９に示す例では、仮異常の判定がなされた状態データの仮異常データ記録領域１３０への記録を例に説明したが、本異常の判定がなされた状態データの本異常データ記録領域１４０への記録のときにも同様の手順で状態データの記録がなされる。
【００４７】
次に、図１０に示すフローチャートを参照しながら高優先度の制御処理の処理フローを説明する。
高優先度の制御処理は、リングバッファ１１３ａに記憶された車両の状態データに異常値を検出し、仮異常の判定を行うと（ステップＳ１／ＹＥＳ）、他の制御処理によってＳＲＡＭ１１４の仮異常データ記録領域１３０に状態データが記録されているか否かを判定する（ステップＳ２）。制御処理はＳＲＡＭ１１４に状態データを記録するときには、記録中であることを示す記録中フラグを記録している。高優先度の制御処理は、この記録中フラグを参照することで他の制御処理が仮異常データ記録領域１３０に状態データを記録しているか否かを判定する。
【００４８】
記録中フラグが記録され、他の制御処理によって仮異常データ記録領域１３０に状態データが記録されていると判定すると、高優先度の制御処理は、異常値を検出した状態データの優先度は、現在、他の制御処理によって仮異常データ記録領域１３０に記録されている状態データの優先度よりも高いか否かを判定する（ステップＳ３）。異常値を検出した状態データの優先度が、現在、他の制御処理によって仮異常データ記録領域１３０に記録されている状態データの優先度よりも低い場合には（ステップＳ３／ＮＯ）、高優先度の制御処理は、異常値を検出した状態データの仮異常データ記録領域１３０への記録を中止し（ステップＳ４）、処理を終了する。他の制御処理で記録されている状態データの優先度のほうが、高優先度の制御処理が異常値を検出した状態データの優先度よりも高いので、仮異常データ記録領域１３０への状態データの記録を取り止める。
【００４９】
また、高優先度の制御処理が異常値を検出した状態データの優先度が、現在、他の制御処理によって仮異常データ記録領域１３０に記録されている状態データの優先度よりも高い場合には（ステップＳ３／ＹＥＳ）、高優先度の制御処理は状態データの仮異常データ記録領域１３０への記録を所定時間待機する（ステップＳ５）。所定時間を経過すると、高優先度の制御処理は、他の制御処理で状態データの仮異常データ記録領域１３０への記録が実行されているか否かを判定する（ステップＳ６）。高優先度の制御処理は、上述した記録中フラグを参照することで他の制御処理が仮異常データ記録領域１３０に状態データを記録しているか否かを判定する。他の制御処理によって仮異常データ記録領域１３０に状態データが記録されていると判定すると（ステップＳ６／ＹＥＳ）、高優先度の制御処理は、また、所定時間待機する。また、他の制御処理による仮異常データ記録領域１３０への状態データの記録が終了したと判定した場合には（ステップＳ６／ＮＯ）、高優先度の制御処理は、仮異常データ記録領域１３０への状態データの記録を開始する（ステップＳ７）。
【００５０】
なお、図１０に示すフローチャートでは、他の制御処理で記録中の状態データの優先度よりも優先度の高い状態データに異常値を検出した場合に、検出した状態データをＳＲＡＭ１１４に記録するようにしている。これ以外に、例えば、制御処理の優先度を比較して異常値を検出した状態データのＳＲＡＭ１１４への記録を行うか否かを判定してもよい。例えば、低優先度の制御処理がＳＲＡＭ１１４への状態データの記録を行っているときに、高優先度の制御処理で異常値を示す状態データを検出したとする。この場合、高優先度の制御処理は、状態データの優先度の比較を行わず、低優先度の制御処理によるＳＲＡＭ１１４への状態データの記録完了を待つ。そして、低優先度の制御処理によるＳＲＡＭ１１４への記録が終了すると、異常値を検出した状態データをＳＲＡＭ１１４に記録する。優先度の高い制御処理に、優先度の高い状態データの処理を割り当てるようにすれば、制御処理の優先度の比較でもＳＲＡＭ１１４に優先度の高い状態データを記録しておくことができる。
【００５１】
上述した実施例は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施が可能である。
【図面の簡単な説明】
【００５２】
【図１】従来の制御処理による不揮発性メモリへの車両データの記録手順を示す図である。
【図２】従来の制御処理による不揮発性メモリへの車両データの記録手順を示す図である。
【図３】エンジンＥＣＵの構成を示すブロック図である。
【図４】エンジンＥＣＵが接続されたネットワーク構成を示す図である。
【図５】マイコンの構成を示すブロック図である。
【図６】仮異常判定と本異常判定について説明するための図である。
【図７】ＳＲＡＭの記録領域を示す図である。
【図８】優先度の低い状態データが仮異常の状態に設定された後に、優先度の高い状態データが仮異常の状態に設定されたときのＳＲＡＭへの車両の状態データへの記録手順を示す図である。
【図９】低優先度の制御処理と高優先度の制御処理とが不揮発性メモリに異常値を記録する処理をそれぞれ並行して実行する制御処理について説明するための図である。
【図１０】高優先度の制御処理の処理フローを示すフローチャートである。
【符号の説明】
【００５３】
１００  エンジンＥＣＵ
１０３  マイコン（制御装置）
１１１  ＣＰＵ（実行部）
１１２  ＲＯＭ
１１３  ＮＲＡＭ
１１３ａ  リングバッファ
１１４  ＳＲＡＭ
１１５  入出力部
１２０  異常検出箇所記録領域
１３０  仮異常データ記録領域
１４０  本異常データ記録領域
１５１  警報ランプ
１５２  インジェクタ
１５３  イグナイタ
１５４  点火プラグ
【図１】
2010111234.tif 000005
【図２】
2010111234.tif 000006
【図３】
2010111234.tif 000007
【図４】
2010111234.tif 000008
【図５】
2010111234.tif 000009
【図６】
2010111234.tif 000010
【図７】
2010111234.tif 000011
【図８】
2010111234.tif 000012
【図９】
2010111234.tif 000013
【図１０】
2010111234.tif 000014