(57)【特許請求の範囲】
【請求項１】
車両に搭載された機器に関する異常診断処理を実行する複数の診断処理部と、前記診断処理部で実行された異常診断処理の診断結果のデータを管理するデータ管理部とを備え、  前記データ管理部は、前記診断処理部の実行状態の情報に基づいて当該診断処理部に対して異常診断処理の実行許可を出力するか否かを判定する処理を所定の演算周期で繰り返し実行し、
前記診断処理部から前記データ管理部に異常診断処理の実行要求を出力した後、前記データ管理部の演算周期分だけ遅れて、前記データ管理部から異常診断処理の実行許可を前記診断処理部に出力するように構成された車両用異常診断装置において、
前記診断処理部は、異常診断実行条件が成立したか否かを判定して、当該異常診断実行条件が成立したときに、前記データ管理部から異常診断処理の実行許可が出されるのを待たずに異常診断処理を開始し、当該異常診断処理の終了後に、前記データ管理部から異常診断処理の実行許可が出されているか否かを判定し、当該異常診断処理の実行許可が出されていることを確認してから当該異常診断処理の診断結果のデータを前記データ管理部に出力して管理させることを特徴とする車両用異常診断装置。
【請求項２】
前記診断処理部は、前記異常診断処理を実行し終えてから当該異常診断処理の実行要求を前記データ管理部に出力することを特徴とする請求項１に記載の車両用異常診断装置。
【請求項３】
前記診断処理部は、前記異常診断処理として内燃機関の失火検出処理を実行することを特徴とする請求項１又は２に記載の車両用異常診断装置。
【請求項４】
前記診断処理部は、前記異常診断処理としてスタータの通電制御系の異常診断処理を実行することを特徴とする請求項１又は２に記載の車両用異常診断装置。
【請求項５】
前記診断処理部は、イグニッションスイッチのオン直後から異常診断処理を開始することを特徴とする請求項１乃至４のいずれかに記載の車両用異常診断装置。
【請求項６】
前記診断処理部は、内燃機関の始動開始直後から異常診断処理を開始することを特徴とする請求項１乃至４のいずれかに記載の車両用異常診断装置。
【請求項７】
前記診断処理部は、
内燃機関の始動開始直後から失火検出処理を実行する第１の失火検出手段と、
内燃機関の始動後から所定時間又は所定点火回数を経過した後に失火検出処理を実行する第２の失火検出手段と、
前記データ管理部から失火検出処理の実行許可が出されるのを待たずに前記第１及び第２の失火検出手段による２つの失火検出処理結果に基づいて仮の失火判定を行う仮失火判定手段とを備え、
前記診断処理部は、前記データ管理部から失火検出処理の実行許可が出されたときにそれ以前に行われた前記仮の失火判定結果を正式な失火判定結果として確定して前記データ管理部に出力することを特徴とする請求項３に記載の車両用異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された機器の異常診断を行う車両用異常診断装置に関する発明である。
【背景技術】
【０００２】
近年の電子制御化が進んだ車両においては、走行中に車載機器が正常に動作しているか否かを監視する異常診断システムが搭載され、診断対象機器の不具合が検出されたときには、その不具合内容をメモリに記憶して、それを制御に反映させたり、故障修理・点検時に不具合内容を解析できるようにしている。例えば、内燃機関を動力源とする車両では、特許文献１（特許第２５９５８１９号公報）に示すように、内燃機関の失火（燃焼異常）を診断する機能を搭載している。
【特許文献１】特許第２５９５８１９号公報（第１頁〜第３頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、車両用の異常診断システムでは、異常診断処理を実行する診断処理部と、この診断処理部で実行された異常診断処理の診断結果を管理するデータ管理部とを独立させたものがある。このものでは、診断処理部は、異常診断実行条件が成立したときにデータ管理部に対して異常診断処理の実行要求を出力し、それに応じてデータ管理部から異常診断処理の実行許可が出されてから異常診断処理を開始するようにしているが、異常診断処理の実行許可が出されるのを待って異常診断処理を開始したのでは、早期診断の要求を満たせない場合がある。
【０００４】
例えば、上記特許文献１の失火検出システムでは、始動時の失火検出が困難であることを理由として始動時の失火検出を禁止し、始動完了後に失火検出を許可するようにしているため、始動時の失火検出を全く行うことができない。また、スタータリレー（スタータの通電制御系）の異常診断のように、内燃機関のクランキング時（スタータ通電時）のみ異常診断処理が実行可能なものに関しては、異常診断処理の実行許可が出されるのを待って異常診断処理を開始していたのでは、異常診断処理の開始が適切な時期から遅れて異常を検出できない可能性があった。
【０００５】
一般に、内燃機関制御系の異常診断を行う診断処理部とデータ管理部の機能は、内燃機関制御用のマイクロコンピュータ（いわゆるエンジンＥＣＵ）に組み込まれているため、データ管理部の演算周期は、エンジンＥＣＵの演算負荷が大きくなり過ぎないように比較的遅い周期（例えば２５６ｍｓ周期）に設定されている。このため、始動時等に診断処理部からデータ管理部に異常診断処理の実行許可を要求しても、実際にデータ管理部が異常診断処理の実行許可を出すまでにデータ管理部の遅い演算周期分の遅れが生じる。このため、始動時の失火検出や、クランキング時のみに異常診断処理が実行可能なスタータリレーの異常診断のように、異常診断実行条件が成立してからできるだけ早期に異常診断処理を開始する必要があるものに関しては、データ管理部の遅い演算周期分の遅れを待って異常診断処理を開始したのでは、異常の検出が困難な場合があった。
【０００６】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、早期診断の要求を満たすことができる車両用異常診断装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に係る発明は、車両に搭載された機器に関する異常診断処理を実行する複数の診断処理部と、前記診断処理部で実行された異常診断処理の診断結果のデータを管理するデータ管理部とを備え、前記データ管理部は、前記診断処理部の実行状態の情報に基づいて当該診断処理部に対して異常診断処理の実行許可を出力するか否かを判定する処理を所定の演算周期で繰り返し実行し、前記診断処理部から異常診断処理の実行要求を前記データ管理部に出力した後、前記データ管理部の演算周期分だけ遅れて、前記データ管理部から異常診断処理の実行許可を前記診断処理部に出力するように構成された車両用異常診断装置において、前記診断処理部は、異常診断実行条件が成立したか否かを判定して、当該異常診断実行条件が成立したときに前記データ管理部から異常診断処理の実行許可が出されるのを待たずに異常診断処理を開始し、当該異常診断処理の終了後に、前記データ管理部から異常診断処理の実行許可が出されているか否かを判定し、当該異常診断処理の実行許可が出されていることを確認してから当該異常診断処理の診断結果のデータをデータ管理部に出力して管理させるようにしたものである。
【０００８】
この構成では、異常診断実行条件が成立したときに、データ管理部から異常診断処理の実行許可が出されるのを待たずに異常診断処理を開始するので、従来の異常診断システムと比較して、異常診断処理を早期に開始することができると共に、当該異常診断処理の実行許可が出されたときに速やかに当該異常診断処理の診断結果のデータをデータ管理部に出力することができ、データ管理部で早期に当該異常診断処理の診断結果のデータを管理することができる。
【０００９】
本発明は、異常診断実行条件が成立したときに直ちに診断処理部から異常診断処理の実行要求をデータ管理部に出力するようにしても良いが、この構成では、異常診断処理の実行時間が長くなると、異常診断処理を実行し終える前にデータ管理部から異常診断処理の実行許可が出される可能性がある。このように、異常診断処理を実行し終える前に異常診断処理の実行許可が出される可能性があるため、当該異常診断処理を実行し終えた後に当該異常診断処理の実行許可が出されていることを確認してから当該異常診断処理の診断結果のデータをデータ管理部に出力して管理させるようにすれば良い。
【００１０】
或は、請求項２のように、診断処理部が異常診断処理を実行し終えてから当該異常診断処理の実行要求をデータ管理部に出力するようにしても良い。このようにすれば、異常診断処理の実行時間が長くなる場合でも、異常診断処理の実行許可が出される前に異常診断処理を確実に実行し終えることができ、データ管理部から異常診断処理の実行許可が出されたときに直ちに診断処理部から当該異常診断処理の診断結果のデータをデータ管理部に出力することができる。
【００１１】
本発明は、車両に搭載された様々な機器の異常診断システムに適用可能であり、例えば、請求項３のように、本発明を内燃機関の失火検出システムに適用すれば、従来の失火検出システムでは検出できなかった始動時の失火が検出可能となる。
【００１２】
また、請求項４のように、本発明をスタータ通電制御系の異常診断システムに適用すれば、内燃機関のクランキング時（スタータ通電時）にしか検出できないスタータ通電制御系の異常も検出することが可能となる。
【００１３】
この場合、請求項５のように、イグニッションスイッチのオン直後から診断処理部で異常診断処理を開始すれば、イグニッションスイッチのオン直後から異常診断処理の実行許可が出されるまでの期間に発生する異常を検出することが可能となる。
【００１４】
また、請求項６のように、内燃機関の始動開始直後から診断処理部で異常診断処理を開始すれば、内燃機関の始動開始直後から異常診断処理の実行許可が出されるまでの期間に発生する異常を検出することが可能となる。
【００１５】
いずれの場合も、異常診断処理の実行許可が出されるまでの期間に診断処理部による異常診断処理を周期的に繰り返して実行するようにしても良い。
本発明を失火検出システムに適用する場合は、請求項７のように、診断処理部は、内燃機関の始動開始直後から失火検出処理を実行する第１の失火検出手段と、内燃機関の始動後から所定時間又は所定点火回数を経過した後に失火検出処理を実行する第２の失火検出手段と、前記データ管理部から失火検出処理の実行許可が出されるのを待たずに前記第１及び第２の失火検出手段による２つの失火検出処理結果に基づいて仮の失火判定を行う仮失火判定手段とを備え、前記データ管理部から失火検出処理の実行許可が出されたときにそれ以前に行われた前記仮の失火判定結果を正式な失火判定結果として確定して前記データ管理部に出力するように構成しても良い。この構成では、始動時と始動後のいずれ場合でも、データ管理部から失火検出処理の実行許可が出されるのを待たずに失火検出処理を開始するため、従来の失火検出システムと比較して失火の早期検出が可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を実施するための最良の形態を具体化した一実施例を説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００１７】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８には、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各点火プラグ２２の火花放電によって筒内の混合気に着火される。
【００１８】
一方、エンジン１１の排気管２３には、排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられ、この排出ガスセンサ２４の下流側に、排出ガスを浄化する三元触媒等の触媒２５が設けられている。
【００１９】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、エンジン１１のクランク軸２７の回転に同期してクランク角信号を出力するクランク角センサ２８が取り付けられ、このクランク角信号に基づいてクランク角やエンジン回転速度が検出される。
【００２０】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２９に入力される。このＥＣＵ２９は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２１の燃料噴射量や点火プラグ２２の点火時期を制御する。
【００２１】
また、図２に示すように、ＥＣＵ２９は、エンジン制御系やその補機の異常診断処理を実行する診断処理部３１と、この診断処理部３１で実行された異常診断処理の診断結果のデータを管理するデータ管理部３２としての機能が組み込まれ、その診断結果のデータは、書き換え可能な不揮発性メモリ（例えばバックアップＲＡＭ）に保存される。
【００２２】
一般に、診断処理部３１は、異常診断実行条件が成立したときにデータ管理部３２に対して異常診断処理の実行要求を出力し、それに応じて、データ管理部３２から異常診断処理の実行許可が出されるまで待機し、実行許可が出されてから異常診断処理を開始するようにしているが、データ管理部３２の演算周期は、ＥＣＵ２９の演算負荷が大きくなり過ぎないように比較的遅い周期（例えば２５６ｍｓ周期）に設定されているため、エンジン始動時等に診断処理部３１からデータ管理部３２に異常診断処理の実行許可を要求しても、実際にデータ管理部３２が異常診断処理の実行許可を出すまでにデータ管理部３２の遅い演算周期分の遅れが生じる。このため、エンジン始動時の失火検出や、クランキング時（スタータ通電時）のみに異常診断処理が実行可能なスタータリレー３０（スタータの通電制御系）の異常診断のように、異常診断実行条件が成立してからできるだけ早期に異常診断処理を開始する必要があるものに関しては、データ管理部３２の遅い演算周期分の遅れを待って異常診断処理を開始したのでは、異常の検出が困難な場合があった。
【００２３】
そこで、本実施例では、エンジン始動時の失火検出や、クランキング時のみに異常診断処理が実行可能なスタータリレー３０の異常診断のように、異常診断実行条件が成立してからできるだけ早期に異常診断処理を開始する必要があるものに関しては、診断処理部３１は、イグニッションスイッチのオン直後又はエンジン始動開始直後（クランキング開始直後）に、異常診断実行条件が成立した時点で、データ管理部３２から異常診断処理の実行許可が出されるのを待たずに異常診断処理を開始し、その後、データ管理部３２から異常診断処理の実行許可が出されてから当該異常診断処理の診断結果のデータをデータ管理部３２に出力して管理させる。
【００２４】
この場合、後述する図４の失火検出のように、異常診断実行条件が成立したときに直ちに診断処理部３１から異常診断処理の実行要求をデータ管理部３２に出力するようにしても良いが、この構成では、異常診断処理の実行時間が長くなると、異常診断処理を実行し終える前にデータ管理部３２から異常診断処理の実行許可が出される可能性がある。このように、異常診断処理を実行し終える前に異常診断処理の実行許可が出された場合は、当該異常診断処理を実行し終えてから当該異常診断処理の診断結果のデータをデータ管理部３２に出力して管理させるようにすれば良い。
【００２５】
或は、後述する図３のスタータリレー異常診断ルーチンのように、診断処理部３１が異常診断処理を実行し終えてから当該異常診断処理の実行要求をデータ管理部３２に出力するようにしても良い。このようにすれば、異常診断処理の実行時間が長くなる場合でも、異常診断処理の実行許可が出される前に異常診断処理を確実に実行し終えることができ、データ管理部３２から異常診断処理の実行許可が出されたときに直ちに診断処理部３１から当該異常診断処理の診断結果のデータをデータ管理部３２に出力することができる。
【００２６】
一方、データ管理部３２は、複数の診断処理部３１に対する実行管理、禁止管理、実行順序管理の機能を有すると共に、各診断処理部３１から送られてくる実行状態の情報に基づいて各診断処理部３１の実行状態を管理する機能も備えている。
【００２７】
本実施例では、ＥＣＵ２９によって図３のスタータリレー異常診断ルーチンと図４の失火検出ルーチンを実行することで、２つの診断処理部３１（スタータリレー異常診断用の診断処理部と失火検出用の診断処理部）としての機能を実現する。以下、これら各ルーチンの処理内容を説明する。
【００２８】
［スタータリレー異常診断ルーチン］
図３のスタータリレー異常診断ルーチンは、イグニッションスイッチのオン直後又はエンジン始動開始直後（スタータ通電開始直後）に所定周期（例えば８ｍｓｅｃ周期）で実行される。本ルーチンが起動されると、まずステップ１０１で、スタータリレー３０の異常診断実行条件が成立しているか否かを、スタータリレー３０のオン制御中（スタータ駆動指令中）であるか否かで判定する。
【００２９】
もし、スタータリレー３０のオン制御中でなければ、スタータリレー３０の異常診断実行条件が不成立と判定されて、以降の処理を行わずに本ルーチンを終了する。
これに対して、スタータリレー３０のオン制御中であれば、スタータリレー３０の異常診断実行条件が成立していると判定されて、ステップ１０２に進み、ＥＣＵ２９のスタータリレー駆動用のポート電圧を検出する。この後、ステップ１０３に進み、スタータリレー駆動用のポート電圧がスタータリレー３０をオン駆動するための所定電圧になっているか否かを判定し、当該ポート電圧が所定電圧であれば、ステップ１０４に進み、仮正常の判定を行い、当該ポート電圧が所定電圧でなければ、ステップ１０５に進み、仮異常の判定を行う。
【００３０】
この後、ステップ１０６に進み、同じ仮判定の結果が所定回数連続したか否かを判定し、同じ仮判定の結果が所定回数連続していなければ、そのまま本ルーチンを終了する。
一方、ステップ１０６で、同じ仮判定の結果が所定回数連続したと判定されれば、ステップ１０７に進み、データ管理部３２に対してスタータリレー３０の異常診断処理の実行要求を出力する。
【００３１】
この後、ステップ１０８に進み、データ管理部３２からスタータリレー３０の異常診断処理の実行許可が出されたか否かを判定し、実行許可が出されていなければ、そのまま本ルーチンを終了する。
【００３２】
そして、データ管理部３２からスタータリレー３０の異常診断処理の実行許可が出された時点で、ステップ１０９に進み、スタータリレー３０の異常診断処理の診断結果であるステップ１０４、１０５の仮判定結果を正式の判定結果としてデータ管理部３２に出力して書き換え可能な不揮発性メモリ（例えばバックアップＲＡＭ）に登録する。
【００３３】
尚、本ルーチンでは、スタータリレー３０の異常診断処理（仮判定）を実行し終えてから当該異常診断処理の実行要求をデータ管理部３２に出力するようにしたが（ステップ１０６、１０７）、スタータリレー３０の異常診断実行条件が成立したときに直ちに異常診断処理の実行要求をデータ管理部３２に出力するようにしても良い（つまり、ステップ１０７の処理をステップ１０１の次に実行するようにしても良い）。
【００３４】
［失火検出ルーチン］
図４の失火検出ルーチンは、イグニッションスイッチのオン期間中に所定クランク角毎（例えば３０℃Ａ毎）に実行される。本ルーチンが起動されると、まずステップ２０１で、エンジン回転中であるか否か（点火が行われているか否か）を判定し、エンジン回転中でなければ、そのまま本ルーチンを終了する。
【００３５】
これに対して、上記ステップ２０１で、エンジン回転中であると判定されれば、ステップ２０２に進み、エンジン始動後の経過時間が所定時間未満であるか否かを判定し、エンジン始動後の経過時間が所定時間未満であれば、始動時の失火検出を行う期間と判断して、ステップ２０３〜２０７の始動時失火検出処理（第１の失火検出手段）を実行し、エンジン始動後の経過時間が所定時間以上であれば、始動後の失火検出を行う期間と判断して、ステップ２０８〜２１２の始動後失火検出処理（第２の失火検出手段）を実行する。尚、エンジン始動後の点火回数が所定点火回数未満であるか否かで、始動時の失火検出を行う期間と始動後の失火検出を行う期間とを判別するようにしても良い。
【００３６】
始動時の失火検出を行う期間（ステップ２０２で「Ｙｅｓ」と判定される期間）は、ステップ２０３に進み、始動時失火検出実行条件が成立しているか否かを判定する。ここで、始動時失火検出実行条件は、例えば、エンジン回転速度が自力回転可能な所定回転速度以上に上昇したこと、点火制御系が正常に機能していること、エンジン回転変動を検出するためのクランク角速度検出システムが正常に機能していること等である。
このステップ２０３で、始動時失火検出実行条件が成立していないと判定されれば、以降の処理を行うことなく本ルーチンを終了する。
【００３７】
一方、ステップ２０３で、始動時失火検出実行条件が成立していると判定されれば、ステップ２０４に進み、データ管理部３２に対して失火検出処理の実行要求を出力する。この後、ステップ２０５に進み、始動時失火検出用のエンジン回転変動情報である始動時失火検出用のクランク角速度の差分を算出し、次のステップ２０６で、始動時失火検出用のクランク角速度の差分を所定値と比較し、始動時失火検出用のクランク角速度の差分が所定値よりも大きければ、失火と判断して、ステップ２０７に進み、失火回数をカウントする失火カウンタをカウントアップする。始動時失火検出用のクランク角速度の差分が所定値以下であれば、失火ではないと判断して、失火カウンタのカウントアップは行わない。
【００３８】
また、始動後の失火検出を行う期間（ステップ２０２で「Ｎｏ」と判定される期間）は、ステップ２０８に進み、始動後失火検出実行条件が成立しているか否かを判定する。ここで、始動後失火検出実行条件は、例えば、燃料カット期間中ではないこと、点火制御系が正常に機能していること、エンジン回転変動を検出するためのクランク角速度検出システムが正常に機能していること等である。
このステップ２０８で、始動後失火検出実行条件が成立していないと判定されれば、以降の処理を行うことなく本ルーチンを終了する。
【００３９】
一方、ステップ２０８で、始動後失火検出実行条件が成立していると判定されれば、ステップ２０９に進み、データ管理部３２に対して失火検出処理の実行要求を出力する。この後、ステップ２１０に進み、始動後失火検出用のエンジン回転変動情報である始動後失火検出用のクランク角速度の差分を算出し、次のステップ２１１で、始動後失火検出用のクランク角速度の差分を所定値と比較し、始動後失火検出用のクランク角速度の差分が所定値よりも大きければ、失火と判断して、ステップ２１２に進み、失火カウンタをカウントアップする。始動後失火検出用のクランク角速度の差分が所定値以下であれば、失火ではないと判断して、失火カウンタのカウントアップは行わない。
【００４０】
以上のようにして、始動時・始動後の失火検出処理を実行した後、ステップ２１３に進み、失火カウンタのカウント値（失火回数）が所定値を超えているか否かを判定し、失火カウンタのカウント値が所定値以下であれば、そのまま本ルーチンを終了するが、失火カウンタのカウント値が所定値を超えていれば、ステップ２１４に進み、仮の失火判定を確定してＥＣＵ２９のＲＡＭに記憶する。これらステップ２１３、２１４の処理が特許請求の範囲でいう仮失火判定手段としての役割を果たす。
【００４１】
この後、ステップ２１５に進み、データ管理部３２から失火検出処理の実行許可が出されたか否かを判定し、実行許可が出されていなければ、そのまま本ルーチンを終了する。  そして、データ管理部３２から失火検出処理の実行許可が出された時点で、ステップ２１６に進み、失火検出処理で得られた仮失火判定結果を正式の失火判定結果としてデータ管理部３２に出力して書き換え可能な不揮発性メモリ（例えばバックアップＲＡＭ）に登録する。
【００４２】
尚、本ルーチンでは、エンジン回転変動情報（クランク角速度の差分）に基づいて失火を検出するようにしたが、燃焼室内の混合気の燃焼により生じるイオン電流を検出したり、燃焼圧（筒内圧）を検出して、それらの検出値に基づいて失火を検出するようにしても良い。
【００４３】
以上説明した本実施例によれば、異常診断実行条件が成立したときに、データ管理部３２から異常診断処理の実行許可が出されるのを待たずに異常診断処理を開始するので、従来の異常診断システムと比較して、異常診断処理を早期に開始することができると共に、当該異常診断処理の実行許可が出されたときに速やかに当該異常診断処理の診断結果のデータをデータ管理部３２に出力することができ、データ管理部３２で早期に当該異常診断処理の診断結果のデータを管理することができる。
【００４４】
しかも、本実施例では、スタータリレー３０の異常診断処理と失火検出処理に関して、データ管理部３２から異常診断処理の実行許可が出されるのを待たずに異常診断処理を開始するので、クランキング時（スタータ通電時）にしか検出できないスタータリレー３０の異常も検出することが可能となると共に、従来の失火検出システムでは検出できなかった始動時の失火が検出可能となる。
【００４５】
尚、本発明の適用範囲は、スタータリレー３０の異常診断処理と失火検出処理に限定されず、車両に搭載された様々な機器の異常診断処理に適用可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施例におけるエンジン制御システム全体の概略構成図である。
【図２】診断処理部とデータ管理部との関係を説明するブロック図である。
【図３】スタータリレー異常診断ルーチンの処理の流れを示すフローチャートである。
【図４】失火検出ルーチンの処理の流れを示すフローチャートである。
【符号の説明】
【００４７】
１１…エンジン（内燃機関）、１２…吸気管、１６…スロットルバルブ、２１…燃料噴射弁、２２…点火プラグ、２３…排気管、２７…クランク軸、２８…クランク角センサ、２９…ＥＣＵ（第１の失火検出手段，第２の失火検出手段，仮失火判定手段）、３０…スタータリレー、３１…スタータリレー、３２…データ管理部
【図１】
0004501838.tif 000002
【図２】
0004501838.tif 000003
【図３】
0004501838.tif 000004
【図４】
0004501838.tif 000005