(57)【要約】【課題】故障の解析に必要なデータを保存するとともに内燃機関の始動に際してデータを保存するデータ保存手段を備えた車載制御装置において、不具合発生後のバッテリ電源ＯＦＦやバッテリ電圧低下によるデータの消失を防止することにある。【解決手段】データ保存手段（１６）は、データを保存する記憶領域を揮発性メモリ（３２、３３）と不揮発性メモリ（３５、３６）とを含む複数タイプで構成し、内燃機関（２）の始動のデータを揮発性メモリ（３３）に保存した後、始動不良を判断した場合に、上述の揮発性メモリ（３３）に保存したデータの複製を不揮発性メモリ（３６）に書き込みして残している。【選択図】図１
2011163262.tif 000002
【特許請求の範囲】
【請求項１】
故障の解析に必要なデータを保存するデータ保存手段を備え、このデータ保存手段に内燃機関の始動に際してデータを保存する車載制御装置において、前記データ保存手段は、データを保存する記憶領域を揮発性メモリと不揮発性メモリとを含む複数タイプで構成し、前記内燃機関の始動のデータを前記揮発性メモリに保存した後、始動不良を判断した場合に、前記揮発性メモリに保存したデータの複製を前記不揮発性メモリに書き込みして残すことを特徴とする車載制御装置。
【請求項２】
前記不揮発性メモリの書込み回数を積算するカウンタを備え、前記揮発性メモリに保存したデータの複製を前記不揮発性メモリに書き込む書込み回数を所定の回数に制限することを特徴とする請求項１に記載の車載制御装置。
【請求項３】
複数のカウンタ機能を有し、運転条件のバリエーションに対応して相互に同等の上限値を持つ第一のカウンタを複数備え、この複数のカウンタに関わる別な第二のカウンタを備え、所定条件が成立した場合にその実績に基づいてそれぞれの第一のカウンタを一単位ずつ継続的にインクリメント処理し、経時的な運転に従ってこのインクリメント処理を継続して実施し、いずれかの第一のカウンタが上限値に達した際に、この上限値に達した第一のカウンタを半減させる二分割処理を行うとともに、この二分割処理を実施した実績に基づいて前記第二のカウンタを一単位ずつ継続的にインクリメント処理し、さらにそれと同時に、前記複数の第一のカウンタのうち前記上限値に達した第一のカウンタを除く他の第一のカウンタの二分割処理を行って、その後、経時的な運転に従って前記インクリメント処理を継続して実施し、このインクリメント処理によって増加したカウント値を前記揮発性メモリに保存し、前記不揮発性メモリにクランキングデータを保存する際には、始動不良を判断した場合であって書込み回数が所定の回数が超えない場合のみ書き込みをすることを特徴とする請求項２に記載の車載制御装置。
【請求項４】
前記内燃機関の機関温度を検出する機関温度検出手段と前記内燃機関を始動するスタータと前記内燃機関の機関回転速度を検出する機関回転速度検出手段とに連絡し、前記スタータがオンされ且つ機関回転速度が所定の回転速度以下であるクランキング時間を演算するタイマ手段を備え、前記内燃機関の始動に伴って機関温度とクランキング時間とを含むクランキングデータを作成し、前記揮発性メモリにクランキングデータを保存する際には、前記揮発性メモリの記憶領域を満たす前では予め定めた序列に書き込むとともに、前記揮発性メモリの記憶領域を満たした後では時期の古いものを優先して更新しつつ保存し、前記不揮発性メモリにクランキングデータを保存する際には、始動不良を判断した場合であって書込み回数が所定の回数が超えない場合のみ書き込みをすることを特徴とする請求項２に記載の車載制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、車載制御装置に係り、特に故障診断機能を用いた不具合解析データを保存・取得する車載制御装置に関する。
【背景技術】
【０００２】
近年、国内外の排ガス法規制が年々厳しくなり、それに伴って車載制御装置（電子コントローラ：ＥＣＵ等）内の故障診断（ＯＢＤ：Ｏｎ  Ｂｏａｒｄ  Ｄｉａｇｎｏｓｔｉｃ）の要求も厳しくなってきている。
基本的な故障診断は、車両の走行状況が一定の条件を満たした時点で、車載制御装置の入出力をモニタして正常か異常かを判別する。異常と判断されたなら、どの部品やシステムが異常であるかを識別する故障コード（ＤＴＣ：Ｄｉａｇｎｏｓｔｉｃ  Ｔｒｏｕｂ１ｅ  Ｃｏｄｅ）と故障判定を実施したときの走行状態を、データ保存手段（ＥＥＰＲＯＭやバッテリ電源でバックアップされたＲＡＭ）に保存している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−４４４０７号公報
【０００４】
特許文献１に係る車両用故障診断制御装置は、設定条件を満たしたときに、エンジンストールやエンジン始動不良を含む始動時故障であると判定する判定機能と、始動時故障と判定されたときの始動時データの保存機能とを備え、修理時間の短縮を可能とするものである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、従来、車載制御装置内の故障診断プログラムにおいて、故障内容を識別する故障コードや故障発生時走行状態の保存機能は、特定のシステムや部品の故障に限定されており、顧客が不具合を感じて修理業者に車両が持ち込まれた場合、それ以外の再現性の低い故障では故障原因の解析が非常に困難であった。
これに対し、エンジンストールやエンジン始動不良発生時の車両状況の保存機能、機関温度としての機関冷却水温度領域毎での始動時間や始動不良発生回数の積算・保存機能、直近１００回分の始動履歴（始動時のクランキング時間、機関冷却水温、始動可否データ等）保存機能が考えられている。
しかしながら、データ保存先は、不具合発生後のバッテリ電源ＯＦＦやバッテリ電圧低下によるデータの消失を防止するため、電源供給停止後もデータを保持し続ける不揮発性メモリ（ＥＥＰＲＯＭ、フラッシュメモリ等）がより望ましいが、一部の不揮発性メモリでは、消去・書き込み回数に制限（上限が数１００回の種類もある）があり、内燃機関の始動毎のデータ更新が必要な機能は、現行仕様のままの導入が不可能である。
また、不具合発生後、所定期間が経過してからディーラヘ車両が持ち込まれる場合もあり、この場合、内燃機関の始動毎に更新されるデータからは、不具合発生時頃のデータが消えてしまっていることも想定され、改善が望まれていた。
【０００６】
そこで、この発明の目的は、不具合発生後のバッテリ電源ＯＦＦやバッテリ電圧低下によるデータの消失を防止する車載制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
この発明は、故障の解析に必要なデータを保存するデータ保存手段を備え、このデータ保存手段に内燃機関の始動に際してデータを保存する車載制御装置において、前記データ保存手段は、データを保存する記憶領域を揮発性メモリと不揮発性メモリとを含む複数タイプで構成し、前記内燃機関の始動のデータを前記揮発性メモリに保存した後、始動不良を判断した場合に、前記揮発性メモリに保存したデータの複製を前記不揮発性メモリに書き込みして残すことを特徴とする。
【発明の効果】
【０００８】
この発明の車載制御装置は、消去・書き込み回数に制限のある不揮発性メモリを使用の場合に、不揮発メモリにデータを保存することを可能とし、不具合発生後のバッテリ電源ＯＦＦやバッテリ電圧低下によるデータの消失を防止できる。
【図面の簡単な説明】
【０００９】
【図１】図１は車載制御装置と故障診断装置とをシリアル通信で連絡した通信診断システムのハード構成を示す図である。（実施例）
【図２】図２は車載制御装置と故障診断装置とを接続した通信診断システムを備えた車両の側面図である。（実施例）
【図３】図３は統計データ更新処理と不具合発生回数統計データ更新処理と不揮発性領域へのデータの書き込み処理とを示すフローチャートである。（実施例）
【図４】図４は始動時間統計データの保存例の例１を示す図である。（実施例）
【図５】図５は始動時間統計データの保存例の例２を示す図である。（実施例）
【図６】図６は不具合発生回数統計データの保存例の例１を示す図である。（実施例）
【図７】図７は不具合発生回数統計データの保存例の例２を示す図である。（実施例）
【図８】図８は機関始動履歴データの保存例の例１のフローチャートである。（実施例）
【図９】図９は機関始動履歴データの保存例の例２のフローチャートである。（実施例）
【図１０】図１０は機関始動履歴データの保存例の例１を示す図である。（実施例）
【図１１】図１１は機関始動履歴データの保存例の例２を示す図である。（実施例）
【発明を実施するための形態】
【００１０】
この発明は、消去・書き込み回数に制限のある不揮発性メモリを使用の場合に、不揮発メモリにデータを保存することを可能とし、不具合発生後のバッテリ電源ＯＦＦやバッテリ電圧低下によるデータの消失を防止する目的を、内燃機関の始動のデータを揮発性メモリに保存した後、始動不良を判断した場合に、揮発性メモリに保存したデータの複製を不揮発性メモリに書き込みして残すことで実現するものである。
【実施例】
【００１１】
図１〜図１１は、この発明の実施例を示すものである。
図１、図２において、１は車両である。この車両１は、内燃機関２と通信診断システム３とを搭載している。この通信診断システム３には、車載制御装置４として、複数の、例えば、第１の車載制御装置５Ａ、第２の車載制御装置５Ｂ…が備えられ、また、故障診断装置（故障診断テスタ）６が車両１から離れて備えられている。
第１の車載制御装置５Ａ、第２の車載制御装置５Ｂ…は、通信線として、シリアル通信可能で双方向のデータ通信が可能な車両側通信線７を介して互いに接続され、通常時には互いにデータの送受信を実施しながら制御対象を制御する。車両側通信線７には、車両側接続コネクタ８が設けられている。
故障診断装置６は、前記複数の車載制御装置５Ａ、５Ｂ…のいずれか一つの車載制御装置に接続され、一つの車載制御装置のプログラムの書換え処理、あるいは車両１や内燃機関２の故障診断（ＯＢＤ：Ｏｎ  Ｂｏａｒｄ  Ｄｉａｇｎｏｓｔｉｃ）を実行するものである。
この故障診断装置６には、ディスプレイ９が備えられ、また、車両側接続コネクタ８に結合可能な車外コネクタ１０を設けた通信線である車外通信線１１が接続している。この車外通信線１１は、前記車両側通信線７に接続可能である。
上述の第１の車載制御装置５Ａと第２の車載制御装置５Ｂとは、同一構造であり、ここでは、以下のように、第２の車載制御装置５Ｂについてのみ説明する。
【００１２】
第２の車載制御装置５Ｂは、例えば、ボディコントロールモジュール（ＢＣＭ）、エンジンコントールモジュール（ＥＣＭ）、トランスミッション（Ａ／Ｔ）コントローラ、ＡＢＳ（アンチロックブレーキシステム）コントローラ、エアバックコントローラ等の複数の車載制御装置（電子コントローラ：エレクトリックコントロールユニット（ＥＣＵ））中から選択されたものであり、故障診断機能（自己診断）を有する。
図１に示すように、第２の車載制御装置５Ｂは、車両側通信線７に接続した受信手段である通信ポート１２と、車載用検出手段１３からの信号を入力して波形処理するとともに通信ポート１１に出力する入力処理装置１４と、通信ポート１２に連絡するとともに入力処理装置１４からの信号に基づいて目的の制御に対する最適制御量を演算し、この演算結果に基づいた制御信号を出力する中央処理装置（ＣＰＵ）１５と、故障の解析に必要なデータを保存するとともに内燃機関２の始動に際してデータを保存するデータ保存手段１６と、中央処理装置１５からの制御信号を受けてアクチュエータ（燃料噴射弁等）１７を駆動するように通信ポート１２に接続した出力制御装置１８と、電源供給回路１９とを備えている。
電源供給回路１９には、電力の供給を受けるように電力線２０よってバッテリ２１が接続し、また、イグニション信号を受けるようにイグニション信号線２２によってイグニションスイッチ２３が接続している。バッテリ２１には、車両側接続コネクタ８に接続した車両側電源線２４及び車両側グランド線２５が接続している。
一方、故障診断装置６には、車外コネクタ１０に接続した車外電源線２６及び車外グランド線２７が接続している。車外電源線２６は、車両側電源線２４に接続可能である。車外グランド線２７は、車両側グランド線２５に接続可能である。
また、入力処理装置１４には、内燃機関２の機関温度として、例えば、機関冷却水温度を検出する機関温度検出手段２８と、内燃機関２を始動するスタータ２９と、内燃機関２の機関回転速度を検出する機関回転速度検出手段３０とが連絡している。
【００１３】
前記データ保存手段１６は、データを保存する記憶領域を揮発性メモリと不揮発性メモリとを含む複数タイプで構成されており、消去・書込み回数に制限がない揮発性メモリ３１として、中央処理装置１５が演算を行うためのデータを保存するとともに保存されている故障データを他の車載制御装置内にも保存する第１の揮発性メモリ（ＲＡＭ）３２と、この第１の揮発性メモリ３２に直接的に接続してデータをバッテリ２１でバックアップ保存する第２の揮発性メモリ（バックアップＲＡＭ）３３とを備え、また、消去・書込み回数に制限がある不揮発性メモリ３４として、例えば、制御用のプログラムやデータを格納するブロック書き換え可能な第１の不揮発性メモリ（ＲＯＭ）３５と、工場でプログラムする場合等に使用されて電気的に消去・書込み可能な第２の不揮発性メモリ（ＥＥＰＲＯＭ）３６とを備える。
第２の揮発性メモリ（バックアップＲＡＭ）３３は、消去・書込み回数に制限のない記憶媒体であり、データをバックアップ保存するための記憶領域３３Ａを確保している。
また、第２の不揮発性メモリ（ＥＥＰＲＯＭ）３６は、消去・書込み回数に制限のある記憶媒体であり、データを保存するための記憶領域３６Ａを確保している。
【００１４】
この第２の車載制御装置５Ｂにおいては、機関始動時間（クランキング時間）の計測、機関始動不良の判定、機関冷却水温度毎の機関始動時間及び不良発生回数（統計データ）データの保存、直近１００回分の始動履歴（始動時のクランキング時間、機関冷却水温度、始動可否データ等）データの保存が実施される。
また、第２の車載制御装置５Ｂでは、車両１が修理工場に持ち込まれた場合に、故障診断装置６を接続し、データ保存手段１６に保存された機関冷却水温度毎の機関始動時間及び不良発生回数（統計データ）データの保存、直近１００回分の始動履歴（始動時のクランキング時間、機関冷却水温度、始動可否データ等）データを読み出し、故障診断装置６のディスプレイ９に表示する。
【００１５】
そして、この実施例において、データ保存手段１６は、内燃機関２の始動のデータを揮発性メモリとしての、例えば、第２の揮発性メモリ３３の記憶領域３３Ａに保存した後、始動不良を判断した場合に、その第２の揮発性メモリ３３の記憶領域３３Ａに保存したデータの複製（コピー）を、不揮発性メモリとしての第２の不揮発性メモリ３６の記憶領域３６Ａに書き込みして残し、第２の不揮発性メモリ３６の更新をする。
上記の始動不良とは、基本的に故障コードの残らない場合の始動時の不具合のことである。また、この故障コードが残らない場合とは、故障部品が特定されていない場合である。
これにより、消去・書込み回数に制限のある第２の不揮発性メモリ３６を使用する場合にも、車両１の長期使用にわたって継続的に、第２の不揮発性メモリ３６の記憶領域３６Ａにデータを保存することが可能で、不具合発生後のバッテリ電源ＯＦＦやバッテリ電圧低下による第２の揮発性メモリ３３でのデータ消失に対してバックアップを実行し、データ消失を防止できる。また、第２の不揮発性メモリ３６に保存されたデータが、始動不良と選別されたタイミングで更新されるため、その書き込みを効率的に制限することができる。更に、第２の不揮発性メモリ３６のデータが、必ず始動不良のデータを含むので、その解析に有効利用できる。
ここで、上記のバッテリ電源ＯＦＦとは、イグニションスイッチ２３のＯＦＦのことではなく、電源供給がないことであり、例えば、バッテリ２１の端子から配線を外すこと、バッテリ２１の完全放電状態等である。また、上記の電圧の低下とは、完全放電に近い状態までバッテリ電圧が下がることである。
【００１６】
中央処理装置１５には、故障診断プログラムが備えられて故障診断機能（自己診断）する故障診断手段３７と、スタータ２９がオンされ且つ機関回転速度が所定の回転速度以下であるクランキング時間を演算するタイマ手段３８と、複数のカウンタ機能を有するカウンタ手段３９とが備えられている。
このカウンタ手段３９のカウンタ機能では、所定条件の成立に伴って対応するそれぞれのカウンタ（記憶値、ｕｎｉｔデータ）を増加させるインクリメント処理を行い、そして、このインクリメント処理によって増加したカウント値を第２の揮発性メモリ３３の記憶領域３３Ａに記憶する。
【００１７】
中央処理装置１５のカウンタ手段３９は、後述の図３のフローチャートで説明するように、運転条件のバリエーション（例えば、機関冷却水温度域別、クランキング時間別等）に対応して相互に同等の上限値を持つ第一のカウンタ４０Ａを複数設け、この複数の第一のカウンタ４０Ａに関わる別な第二のカウンタ（オーバーフローカウンタ）４０Ｂを設け、そして、所定条件が成立した場合にその実績に基づいてそれぞれの第一のカウンタ４０Ａを一単位ずつ継続的にインクリメント処理し、経時的な運転に従いこの第一のカウンタ４０Ａのインクリメント処理を継続して実施し、複数の第一のカウンタ４０Ａ…中のいずれかの第一のカウンタ４０Ａが上限値に達した際に、この上限値に達した第一のカウンタ４０Ａを略半減させる二分割処理を行うとともに、この二分割処理を実施した実績に基づいて第二のカウンタ４０Ｂを一単位ずつ継続的にインクリメント処理し、さらに、この第二のカウンタ４０Ｂのインクリメント処理と同時に、複数の第一のカウンタ４０Ａ…中の前記上限値に達した第一のカウンタ４０Ａを除く他の第一のカウンタ４０Ａの二分割処理を行い、その後、経時的な運転に従い第二のカウンタ４０Ｂのインクリメント処理を継続して実施し、このインクリメント処理によって増加したカウント値を第２の揮発性メモリ３３の記憶領域３３Ａに保存し、不揮発性メモリ３６の記憶領域３６Ａにクランキングデータを保存する際には、始動不良を判断した場合であってそのデータの書込み回数が所定の回数が超えない場合のみ書き込みをする。
ここで、上記の運転条件は、内燃機関２の始動時における機関冷却水温度とクランキング時間とである。つまり、カウンタをパラメータとして分けるために設定する運転条件の各変数（車載制御装置への入力パラメータ）は、内燃機関２の始動時における燃焼環境を端的に示す機関冷却水温度、及び完爆するまでの容易性や困難性を示す所要時間であるクランキング時間である。
第一のカウンタ４０Ａは、運転条件のバリエーション（例えば、機関冷却水温度域別、クランキング時間別等）に対応して複数設けたカウンタであって、頻度を表すものである。つまり、第一のカウンタ４０Ａは、機関冷却水温度とクランキング時間とを組合せた条件に依存して複数に分けて設けられ、且つその当て嵌まる条件の実績を頻度としてカウントする。第一のカウンタ４０Ａは、機関冷却水温度を複数の温度域に分けるとともに、クランキング時間を複数の所要時間帯に分けて、これらを組合せた条件に依存して複数分けて設けている。そして、複数に分けられたカウンタのそれぞれに対して、当て嵌まる条件が成立したという実績を、成立した頻度として、カウントするものである。
第二のカウンタ４０Ｂは、いずれかの第一のカウンタ４０Ａがオーバーフローするに際して二分割処理を行った回数を表すものである。
【００１８】
また、中央処理装置１５のカウント手段３９は、第２の不揮発性メモリ３６の書込み回数を積算するカウンタとして第三のカウンタ４０Ｃを備え、第２の揮発性メモリ３３に保存したデータの複製を、第２の不揮発性メモリ３６に書き込む書込み回数を所定の回数に制限する。
これにより、始動不良が多発した場合に、第２の不揮発性メモリ３６の更新回数を制限し、第２の不揮発性メモリ３６の保護を実施できる。また、第２の不揮発性メモリ３６ヘの消去・書込みを他機能と共有する場合に、他機能との更新回数の配分を考慮して制限を設定できる。
【００１９】
第２の車載制御装置５Ｂは、後述の図８、図９のフローチャートで説明するように、内燃機関２の始動に伴って機関温度としての機関冷却水温度とクランキング時間とを含むクランキングデータを作成し、第２の揮発性メモリ３３にクランキングデータを保存する際には、第２の揮発性メモリ３３の記憶領域３３Ａを満たす前では予め定めた序列に書き込むとともに、第２の揮発性メモリ３３の記憶領域３３Ａを満たした後では時期の古いものを優先して更新しつつ保存し、第２の不揮発性メモリ３６にクランキングデータを保存する際には、始動不良を判断した場合であって書込み回数が所定の回数が超えない場合のみ書き込みをする。
【００２０】
この実施例において、始動時間統計保存データの保存例としては、図４に示す例１と図５に示す例２とがある。
図４に示す始動時間統計データ保存例の例１においては、各始動時冷却水温度（図面上では「始動時水温」と記す）の温度域毎にクランキング時間（図面上では「Ｃｒａｎｋｉｎｇ  Ｔｉｍｅ」と記す）を持ち、クランキング時間カウンタ（図面上では「Ｃｒａｎｋｉｎｇ  Ｔｉｍｅ  Ｃｏｕｎｔｅｒ：ＣＴＣｏｕｎｔｅｒ」と記す）のいずれかが２５５（二進法の８ビット）をオーバーした場合、全てのクランキング時間カウンタの値を２で割って更新し（少数は切り上げる）、そして、「ＮＯ．１」（二分割実施回数）をインクリメントする。ここで、二分割とは、データを略半分ずつの二つに分けることである。なお、この図４においては、パラメータ名（図面上では「Ｐａｒａｍｅｔｅｒ  ｎａｍｅ」と記す）毎に付した「ＮＯ．１」、「ＮＯ．２」…が大きな番号になるにつれて、長時間で高温となるものである。「二分割実施回数（オーバーフローカウンタ）」が０〜２５５の２５５に達し、オーバーフロー目前となった場合は、二分割実施回数も二分割実施して半減させて継続する。
なお、この始動時間統計保存データの保存例の例１では、「二分割実施回数（オーバーフローカウンタ）」は、その値に意味があるのではなく、長期間継続できることに意味があるため、そのように継続すれば良い。
この図４に示す検証過程での判断処理の流れにおいては、統計データが実際に得られた場合に、例えば、Ｎｏ．２〜Ｎｏ．５までの極低温時の中で、Ｎｏ．２やＮｏ．３では大きな値がカウントされ、Ｎｏ．４やＮｏ．５では小さな値である場合、短時間で始動していることになるので、始動不良といった問題はあまりない。
しかしながら、Ｎｏ．２、Ｎｏ．３やＮｏ．４でのカウントが比較的小さな値で、Ｎｏ．５では大きな値がカウントされている場合、常に長い時間かかって始動していることになるので、何らかの不良や故障が考えられる。あるいは、始動時冷却水温度が低い場合や高い場合の方が、始動時冷却水温度が常温に近い場合に、例えば、燃料噴射量の過多あるいは不足という不都合を起こし易い。複数の温度域にわたって一様に散らばるようにしてクランキング時間が長いのであれば、何らかの故障（例えば、電気系の故障）が考えられる、といった判断を行うことができる。
【００２１】
また、図５に示す始動時間統計データ保存例の例２において、第二のカウンタ４０Ｂは、複数の温度域に分けた機関冷却水温度に対応して複数設けられる。そして、この機関冷却水温度の温度域に分けられた第一のカウンタ４０Ａがインクリメント処理により増加するのに対応させて、複数の機関冷却水温度域毎に分けて第二のカウンタ４０Ｂをインクリメント処理する。
この図５の始動時間統計データ保存例の例２においても、上述の図４の例１と同様に、「二分割実施回数（オーバーフローカウンタ）」が０〜２５５の２５５に達し、オーバーフロー目前となった場合は、二分割実施回数も二分割実施して半減させて継続する。この「二分割実施回数」は、その値に意味があるのではなく、長期間継続できることに意味があるため、そのように継続すれば良い。
この始動時間統計データ保存例の例２では、図５に示すように、クランキング時間カウンタのいずれかが２５５（二進法の８ビット）をオーバーした場合、このオーバーした始動時冷却水温度の温度域毎の単位でクランキング時間カウンタの値を２で割って更新し（少数は切り上げる）、そして、この始動時冷却水温度の温度域の二分割実施回数をインクリメントする。
【００２２】
この実施例において、不具合発生回数統計保存データの保存例としては、図６に示す例１と図７に示す例２とがある。
図６に示す不具合発生回数統計データ保存例の例１においては、第三のカウンタ４０Ｃとして、内燃機関２の始動不良回数を、複数の温度域に分けた機関冷却水温度に応じて複数設ける。このように、第三のカウンタ４０Ｃを設けることにより、第二の故障コードが記録されるような症状べースの故障の場合に対して、長期にわたる過去の実績を残し、解析を容易にする。
この図６の不具合発生回数統計データ保存例の例１において、「二分割実施回数」は、その値に意味があるのではなく、長期間継続できることに意味があるため、最大値でその値を保持する。
この図６の不具合発生回数統計データ保存例の例１での統計データにおける「始動不良」とは、「始動不能、始動不良」だけのことである。例えば、クランキングを間欠して３回行い、その３回目で長い時間かかって完爆判定（所定回転数以上となる）となった場合に、カウントでは、「始動不良」が２回となる。
この図６の不具合発生回数統計データ保存例の例１では、始動不良回数が、レンジ（Ｒａｎｇｅ）の最大値に達した場合に、最大値として保存される。
【００２３】
また、図７に示す不具合発生回数統計データ保存の例２においては、第四のカウンタ４０Ｄとして、機関始動可能になった始動不良回数と機関始動不能になった始動不良回数とを、それぞれ複数の温度域に分けた機関冷却水温度に応じて複数設ける。このように第四のカウンタ４０Ｄを設けることにより、第二の故障コードが記録されるような症状べースの故障の場合に対して、長期にわたる過去の実績を残し、解析を容易にする。
この図７の不具合発生回数統計データ保存例の例２での統計データにおける「始動不良」とは、「始動可能、始動不良」及び「始動不能、始動不良」である。なお、「始動可能、始動不良」及び「始動不能、始動不良」を分けずに含めた値とすることも可能である。例えば、クランキングを間欠して３回行い、その３回目で長い時間かかって完爆判定（所定回転数以上となる）となった場合に、この「始動不良」のカウントは、「始動可能、始動不良」では１回、「始動不能、始動不良」では２回とすることができる。なお、「始動可能、始動不良」と「始動不能、始動不良」とを分けずに含めた値とした場合には、「始動不良」のカウントが３回となる。
この図７の不具合発生回数統計データ保存例の例２では、始動不良回数が、始動可能／始動不能で分けて保存される。
【００２４】
なお、上記の図６、図７における不具合発生回数の統計データ更新処理の例１、例２においては、データを保存する場合、始動不良判定処理後、完爆判定等を利用し、始動可能な始動不良と始動不可能な始動不良とを分離して始動回数を保存する。
また、上記の図５〜図８における統計データは、バッテリ２１を外しても保存を継続できる第２の不揮発性メモリ（ＥＥＰＲＯＭ等）３６に保存することにより、長期の統計データを採取することも可能になる。なお、第２の不揮発性メモリ３６が存在しない場合には、バッテリバックアップされた第２の揮発性メモリ（ＲＡＭ）３３に保存することも可能である。
【００２５】
次に、上記の統計データ保存処理において、例えば、上記の図４の始動時間統計データ保存例の例１と上記の図６の不具合発生回数統計データ保存例（カウントの二分割処理実施のデータ保存）の例１とを組み合わせた場合を、図３にフローチャートに基づいて説明する。
図３に示すように、イグニションスイッチ２３がオンになり、プログラムがスタートすると（ステップＡ０１）、内燃機関２のクランキングが開始したか否かを判断し（ステップＡ０２）、このステップＡ０２がＮＯの場合には、この判断を継続する。
このステップＡ０２がＹＥＳの場合には、始動時冷却水温度を確認し（ステップＡ０３）、クランキングが終了したか否かを判断し（ステップＡ０４）、このステップＡ０４がＮＯの場合には、この判断を継続する。
このステップＡ０４がＹＥＳの場合には、始動時間統計データ更新処理を行う。
この始動時間統計データ更新処理においては、先ず、今回のクランキング時間、始動時冷却水温度のクランキング時間カウンタが２５５回になったか否かを判断し（ステップＡ０５）、このステップＡ０５がＹＥＳの場合には、二分割実施回数をインクリメントし、全てのクランキング時間カウンタを半分（１／２）にし、書き込み・更新回数に制限がない第２の揮発性メモリ３３に保存する（ステップＡ０６）。これは、オーバーフローによって予期せぬデータ異常を起こさないように予防するものであり、カウンタを内燃機関２の異なる運転状態に割り当てて複数設け、カウンタによってカウントし、カウンタがオーバーフローしそうな場合に、第二のカウンタ（オーバーフローカウンタ）４０Ｂをインクルメントし、カウンタをオーバーフロー防止のためにその値を半減する。
前記ステップＡ０５がＮＯの場合、又は、前記ステップＡ０６の処理後は、クランキング時間カウンタをインクリメントし（ステップＡ０７）、書き込み・更新回数に制限がない第２の揮発性メモリ３３に保存し、始動時間統計データ更新処理を終了する。
そして、不具合発生回数の統計データ更新処理を行う。
この不具合発生回数の統計データ更新処理においては、先ず、始動不良判定が成立したか否かを判断し（ステップＡ０８）、このステップＡ０８がＹＥＳの場合には、今回の始動時冷却水温度の始動不良回数が２５５回になったか否かを判断し（ステップＡ０９）、このステップＡ０９がＮＯの場合には、今回の始動時冷却水温度の始動不良回数をインクリメントして、書き込み・更新数に制限がない第２の揮発性メモリ３３に保存し、不具合発生回数の統計データ更新処理を終了する（ステップＡ１０）。
なお、上記の図７に示す不具合発生回数の統計データ更新処理の場合には、始動不良判定処理後、完爆判定等を利用し、始動可能な始動不良と、始動不可能な始動不良とを分離して始動不良回数を、第２の揮発性メモリ３３に保存する。
そして、不揮発性メモリへのデータの書き込みを行う。
この不揮発性メモリへのデータの書き込みにおいては、先ず、第２の不揮発性メモリ３６の更新回数のカウンタが規定の所定回数以下か否かを判断し（ステップＡ１１）、このステップＡ１１がＹＥＳの場合には、上記の第２の揮発性メモリ３３に保存したデータの複製（図面上では「コピー」と記す）を、第２の不揮発性メモリ３６に書き込みして残し（ステップＡ１２）、その後、第２の不揮発性メモリ３６の更新回数カウンタをカウントアップする（ステップＡ１３）。
そして、このステップＡ１３の処理後、又は、前記ステップＡ０８がＮＯの場合、前記ステップＡ０９がＹＥＳの場合、前記ステップＡ１１がＮＯの場合には、プログラムをエンドとする（ステップＡ１４）。
【００２６】
この結果、運転条件のバリエーションに対応して複数設けた第一のカウンタ４０Ａの値を、書込み回数に制限のない第２の揮発性メモリ３３に保存でき、始動不良の有無に関わらず、保存できる。また、第二のカウンタ４０Ｂの値を、書込み回数に制限のない第２の揮発性メモリ３３に保存できる。
また、第２の揮発性メモリ３３が消失するような電源トラブルがなければ、第２の揮発性メモリ３３と第２の不揮発性メモリ３６とには、運転条件のバリエーションに対応した複数のデータを共に残すことができ、解析に利用できる。
更に、第２の不揮発性メモリ３６ヘの保存は、始動不良と選別されたタイミングで更新することになるため、その書込みを効率的に制限することができる。
更にまた、第２の不揮発性メモリ３６のデータは必ず始動不良のデータを含むので、その解析に有効利用できる。仮に、第２の揮発性メモリ３３が消失するような電源トラブルがあった後に第２の不揮発性メモリ３６ヘの更新が生じても、必ず始動不良のデータを含むことになる
また、特定の部品・システムの故障が特定できないような内燃機関２の始動不良の発生発生頻度を機関冷却水温度別に保存し、再現性が低い不具合であっても的を絞って再検証を行うことができ、また、設計者がどの状況下での発生の頻度が高いかを把握することができる。
【００２７】
上記の図３のフローチャートにおいて、図５の始動時間統計データ保存例を例２とした場合には、前記ステップＡ０６では、各始動時冷却水温度の温度域単位で二分割実施回数をインクリメントし、全てのクランキング時間カウンタを半分（１／２）にする。
また、上記の図３のフローチャートにおいて、図７の不具合発生回数統計データ保存例を例２とした場合には、始動不良判定処理後（上記のステップＡ０８の後）、完爆判定等を利用し、始動可能な始動不良と始動不可能な始動不良とを分離して始動不良回数を保存する。
【００２８】
なお、上記の図３の統計データ保存処理では、始動時間統計データ保存の例１、例２及び／又は不具合発生回数統計データ保存の例１、例２とを、それぞれ適宜組み合わせることも可能である。
【００２９】
また、この実施例において、始動履歴データの保存例（直近１００回のクランキングデータの保存）としては、図１０に示す例１と図１１に示す例２とがある。
図１０に示す始動履歴データの保存例の例１においては、指定回数分の内燃機関２の始動履歴データの保存であり、これらのデータが第２の不揮発性メモリ（ＥＥＰＲＯＭ等）３６又はバックアップされて第２の揮発性メモリ（ＲＡＭ）３３に保存される。
この図１０の始動履歴データの保存例の例１において、過去１００回分の内燃機関２の始動履歴データを保存し、クランキングデータ（図面上では「Ｃｒａｎｋｉｎｇ  ｄａｔａ」と記す）は、クランキング時の機関冷却水温度とクランキング時間からなり、始動不良の有無に関わらず、直近１００回分のクランキングデータを保存し、指定回数を上回った場合には、最も古いデータへ上書きする。
【００３０】
図１０の始動履歴データの保存例の例１を、図８のフローチャートに基づいて説明する。
図８に示すように、イグニションスイッチ２３がオンになり、プログラムがスタートすると（ステップＢ０１）、内燃機関２のクランキングが開始したか否かを判断し（ステップＢ０２）、このステップＢ０２がＮＯの場合には、この判断を継続する。
このステップＢ０２がＹＥＳの場合には、始動時冷却水温度のデータを取得し（ステップＢ０３）、また、クランキング時間を計測し（ステップＢ０４）、クランキングが終了したか否かを判断し（ステップＢ０５）、このステップＢ０５がＮＯの場合には、前記ステップＢ０４に戻す。
このステップＢ０５がＹＥＳの場合には、始動履歴保存用メモリとしての書き込み・更新回数に制限のない第２の揮発性メモリ３３の記憶領域３３Ａの全てを使用済みか否かを判断する（ステップＢ０６）。
このステップＢ０６がＮＯの場合には、この第２の揮発性メモリ３３の記憶領域３３Ａの空いている部分に、今回取得したクランキングデータを保存する（ステップＢ０７）。
しかし、このステップＢ０６がＹＥＳの場合には、第２の揮発性メモリ３３の記憶領域３３Ａにおいて、最も古いクランキングデータを今回取得したクランキングデータで更新する（ステップＢ０８）。
前記ステップＢ０７の処理後、又は、前記ステップＢ０８の処理後は、始動不良の判定が成立したか否かを判断する（ステップＢ０９）。
このステップＢ０９がＹＥＳの場合には、第２の不揮発性メモリ３６の更新回数のカウンタが規定の所定回数以下か否かを判断する（ステップＢ１０）。
このステップＢ１０がＹＥＳの場合には、第２の揮発性メモリ３３に記憶したデータの複製を、第２の不揮発性メモリ３６に書き込みして残し（ステップＢ１１）、この第２の不揮発性メモリ３６の更新回数のカウンタをカウントアップする（ステップＢ１２）。
このステップＢ１２の処理後、又は、前記ステップＢ０９がＮＯの場合、前記ステップＢ１０がＮＯの場合には、プログラムをエンドとする（ステップＢ１３）。
【００３１】
また、図１１に示す始動履歴データの保存例の例２においては、上記の図１０の例１に付加データを保存するものであり、この付加データとして、機関始動不良判定成立の有無（始動不良判定）を識別するデータ、内燃機関２が始動したか否か（始動判定）を識別するデータ、イモライザ等のその他要因による始動禁止であるか（始動禁止判定）を識別するデータがある。
【００３２】
図１１の始動履歴データの保存例の例２を、図９のフローチャートに基づいて説明する。
図９に示すように、イグニションスイッチ２３がオンになり、プログラムがスタートすると（ステップＣ０１）、内燃機関２のクランキングが開始したか否かを判断し（ステップＣ０２）、このステップＣ０２がＮＯの場合には、この判断を継続する。
このステップＣ０２がＹＥＳの場合には始動時冷却水温度のデータを取得し（ステップＣ０３）、また、クランキング時間を計測し（ステップＣ０４）、クランキングが終了したか否かを判断し（ステップＣ０５）、このステップＣ０５がＮＯの場合には、前記ステップＣ０４に戻す。
このステップＣ０５がＹＥＳの場合には、始動禁止判定が成立したか否かを判断し（ステップＣ０６）、このステップＣ０６がＹＥＳの場合には、始動禁止判定フラグをオンとする（ステップＣ０７）。
このステップＣ０７の処理後、又は、前記ステップＣ０６がＮＯの場合には、始動判定が成立したか否かを判断し（ステップＣ０８）、このステップＣ０８がＹＥＳの場合には、始動判定フラグをオンとする（ステップＣ０９）。
このステップＣ０９の処理後、又は、前記ステップＣ０８がＮＯの場合には、始動不良判定が成立したか否かを判断し（ステップＣ１０）、このステップＣ１０がＹＥＳの場合には、始動不良判定フラグをオンとする（ステップＣ１１）。
このステップＣ１１の処理後、又は、前記ステップＣ１０がＮＯの場合には、始動履歴保存用の書き込み・更新回数に制限のない第２の揮発性メモリ３３の記憶領域３３Ａの全てを使用済みか否かを判断する（ステップＣ１２）。
このステップＣ１２がＮＯの場合には、第２の揮発性メモリ３３の記憶領域３３Ａの空いている部分に、今回取得したクランキングデータを保存する（ステップＣ１３）。
しかし、このステップＣ１３がＹＥＳの場合には、第２の揮発性メモリ３３において、最も古いクランキングデータと付加データとを、今回取得したクランキングデータと付加データとで更新する（ステップＣ１４）。
前記ステップＣ１３の処理後、又は、前記ステップＣ１４の処理後は、始動不良の判定が成立したか否かを判断する（ステップＣ１５）。
このステップＣ１５がＹＥＳの場合には、第２の不揮発性メモリ３６の更新回数のカウンタが規定の所定回数以下か否かを判断する（ステップＣ１６）。
このステップＣ１６がＹＥＳの場合には、第２の揮発性メモリ３３に記憶したデータの複製を、第２の不揮発性メモリ３６に書き込みして残し（ステップＣ１７）、この第２の不揮発性メモリ３６の更新回数のカウンタをカウントアップする（ステップＣ１８）。
このステップＣ１８の処理後、又は、前記ステップＣ１５がＮＯの場合、前記ステップＣ１６がＮＯの場合には、プログラムをエンドとする（ステップＣ１９）。
【００３３】
この結果、この始動履歴データの保存例（直近１００回のクランキングデータ保存）においては、内燃機関２の始動に関するデータを、書込み回数に制限のない第２の揮発性メモリ３３に保存でき、始動不良の有無に関わらず、保存できる。
また、第２の揮発性メモリ３３が消失するような電源トラブルがなければ、第２の揮発性メモリ３３と第２の不揮発性メモリ３６には、対応した複数のデータを残すことができ、解析に利用できる。
更に、第２の不揮発性メモリ３６ヘのデータの保存は、始動不良と選別されたタイミングで更新することになるため、その書込みを効率的に制限することができる。
更にまた、第２の不揮発性メモリ３６のデータが必ず始動不良のデータを含むので、その解析に有効利用できる。仮に、第２の揮発性メモリ３３が消失するような電源トラブルがあった後に第２の不揮発性メモリ３６ヘの更新が生じても、必ず始動不良のデータを含むことになる。
また、異常検出の有無にに関わらず、過去のクランキングデータを保存して故障の判断の解析に利用することができるので、その履歴を取得し、正常時のデータと異常時のデータとを比較して検証することができる。
【００３４】
即ち、この実施例においては、不揮発性メモリ３４の消去・書き込み回数に制限があるシステムにおいて、機関冷却水温度の温度領域毎の始動時間、始動不良発生回数の積算・保存機能、及び、直近１００回分の始動履歴（始動時のクランキング時間、機関冷却水温度、始動可否データ等）データの保存する場合に、データの保存先を、バックアップＲＡＭ等で、消去・書き込み回数制限がない第２の揮発性メモリ３３とし、そして、始動不良が発生した場合のみ、上記の第２の揮発性メモリ３３に保存したデータの複製を、第２の不揮発性メモリ３６に書き込みして残す（不揮発性メモリを更新）。ここで、上述の始動不良が発生した場合とは、始動不良が発生し、顧客が修理工場に車両を持ち込んだ場合に、そのデータを使用するため、第２の不揮発メモリ３６のデータを常に更新しなくても、同等の機能は達成可能である。なお、第２の不揮発性メモリ３６の保護のため、第２の不揮発性メモリ３６の更新回数を積算するカウンタを別途設け、設定の上限を超えた状態において、新たな始動不良が発生の場合には、更新を実施しない。
【００３５】
なお、上述の実施例においては、以下のように、種々応用改変が可能であることは勿論である。
例えば、不揮発性メモリの更新可能回数が限定されているシステムにおいて、データの更新回数が多く、且つ、データ使用タイミングが不具合発生後に限定される場合には、通常はバックアップＲＡＭ等の消去・書込み回数に制限がない揮発性メモリの記憶領域にデータを保存した後、不具合発生時に不揮発性メモリにそのデータを複製する方法が有用である。
【産業上の利用可能性】
【００３６】
この発明に係る車載制御装置の制御を、他の制御と併用することも可能である。
【符号の説明】
【００３７】
１  車両
２  内燃機関
３  通信診断システム
４  車載制御装置
５Ａ  第１の車載制御装置
５Ｂ  第２の車載制御装置
６  故障診断装置
１４  中央処理装置（ＣＰＵ）
１６  データ保存手段
２１  バッテリ
２３  イグニションスイッチ
２８  機関温度検出手段
２９  スタータ
３０  機関回転数検出手段
３１  揮発性メモリ
３２  第１の揮発性メモリ（ＲＡＭ）
３２  第２の揮発性メモリ（バックアップＲＡＭ）
３４  不揮発性メモリ
３５  第１の不揮発性メモリ（ＲＯＭ）
３６  第２の不揮発性メモリ（ＥＥＰＲＯＭ）
３７  故障判定手段
３８  タイマ手段
３９  カウンタ手段
４０Ａ  第一のカウンタ
４０Ｂ  第二のカウンタ
４０Ｃ  第三のカウンタ
【図１】
2011163262.tif 000003
【図２】
2011163262.tif 000004
【図３】
2011163262.tif 000005
【図４】
2011163262.tif 000006
【図５】
2011163262.tif 000007
【図６】
2011163262.tif 000008
【図７】
2011163262.tif 000009
【図８】
2011163262.tif 000010
【図９】
2011163262.tif 000011
【図１０】
2011163262.tif 000012
【図１１】
2011163262.tif 000013