(57)【特許請求の範囲】
【請求項１】
エンジンの運転状態に基づいて指令噴射量を演算するとともに、前記指令噴射量の演算機能を監視する監視噴射量を求め、前記指令噴射量と前記監視噴射量との乖離に基づいて燃料噴射制御の異常判定を行い、燃料噴射制御に異常がある場合、エンジン異常処置を実施するエンジン制御装置であって、
前記指令噴射量と前記監視噴射量との乖離が噴射量閾値以上である場合に前記燃料噴射制御の異常判定を行う判定処理部を備え、前記判定処理部の判定に用いる噴射量閾値は、アクセル開度およびエンジン回転数に基づいて、当該アクセル開度およびエンジン回転数が大きい場合は小さい場合と比較して大きく設定されることを特徴とするエンジン制御装置。
【請求項２】
エンジンの運転状態に基づいて指令噴射量を演算するとともに、前記指令噴射量に基づく燃料噴射弁の駆動機能を監視する監視噴射量を求め、前記指令噴射量と前記監視噴射量との乖離に基づいて燃料噴射制御の異常判定を行い、燃料噴射制御に異常がある場合、エンジン異常処置を実施するエンジン制御装置であって、
前記指令噴射量と前記監視噴射量との乖離が噴射量閾値以上である場合に前記燃料噴射制御の異常判定を行う判定処理部を備え、前記判定処理部の判定に用いる噴射量閾値は、アクセル開度およびエンジン回転数に基づいて、当該アクセル開度およびエンジン回転数が大きい場合は小さい場合と比較して大きく設定されることを特徴とするエンジン制御装置。
【請求項３】
請求項１または２に記載のエンジン制御装置において、
前記指令噴射量と前記監視噴射量との乖離が前記噴射量閾値以上である状態が時間閾値以上継続した場合に異常があると確定してエンジン異常処置を実施することを特徴とするエンジン制御装置。
【請求項４】
請求項１〜３のいずれか１つに記載のエンジン制御装置において、
前記指令噴射量と前記監視噴射量との乖離が前記噴射量閾値以上になった場合、その直前の噴射量閾値を保持することを特徴するエンジン制御装置。
【請求項５】
請求項１〜４のいずれか１つに記載のエンジン制御装置において、
前記判定処理部の判定に用いる噴射量閾値は、前記エンジンが搭載される車両の変速ギヤ段が１速のときのアクセル開度およびエンジン回転数に基づいて、当該アクセル開度およびエンジン回転数が大きい場合は小さい場合と比較して大きく設定されることを特徴とするエンジン制御装置。
【請求項６】
エンジンの運転状態に基づいて指令噴射量を演算するとともに、前記指令噴射量の演算機能を監視する監視噴射量を求め、前記指令噴射量と前記監視噴射量との乖離に基づいて燃料噴射制御の異常判定を行い、燃料噴射制御に異常がある場合、エンジン異常処置を実施するエンジン制御装置であって、
前記指令噴射量と前記監視噴射量との乖離が噴射量閾値以上である場合に前記燃料噴射制御の異常判定を行う判定処理部を備え、前記判定処理部の判定に用いる噴射量閾値は、車速関連パラメータに基づいて、当該車速関連パラメータが車速が大きい場合に対応する値になっている場合は車速が小さい場合に対応する値になっている場合と比較して大きく設定され、
前記指令噴射量と前記監視噴射量との乖離が前記噴射量閾値以上になった場合、その直前の噴射量閾値を保持することを特徴とするエンジン制御装置。
【請求項７】
エンジンの運転状態に基づいて指令噴射量を演算するとともに、前記指令噴射量に基づく燃料噴射弁の駆動機能を監視する監視噴射量を求め、前記指令噴射量と前記監視噴射量との乖離に基づいて燃料噴射制御の異常判定を行い、燃料噴射制御に異常がある場合、エンジン異常処置を実施するエンジン制御装置であって、
前記指令噴射量と前記監視噴射量との乖離が噴射量閾値以上である場合に前記燃料噴射制御の異常判定を行う判定処理部を備え、前記判定処理部の判定に用いる噴射量閾値は、車速関連パラメータに基づいて、当該車速関連パラメータが車速が大きい場合に対応する値になっている場合は車速が小さい場合に対応する値になっている場合と比較して大きく設定され、
前記指令噴射量と前記監視噴射量との乖離が前記噴射量閾値以上になった場合、その直前の噴射量閾値を保持することを特徴とするエンジン制御装置。
【請求項８】
請求項６または７に記載のエンジン制御装置において、
前記指令噴射量と前記監視噴射量との乖離が前記噴射量閾値以上である状態が時間閾値以上継続した場合に異常があると確定してエンジン異常処置を実施することを特徴とするエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料噴射量の制御等を行うエンジン制御装置に関する。
【背景技術】
【０００２】
車両に搭載されるエンジンでは、運転者の要求等に応じたエンジン出力の調整のため、燃料噴射量の制御が行われている。エンジンの燃料噴射量制御の異常を監視する技術として、指令噴射量（要求噴射量）と、燃料噴射弁の開弁時の通電時間から算出した実噴射量との比較に基づいて、燃料噴射弁の異常監視を行い、燃料噴射弁の異常時にはフェールセーフ処理として警報や燃料噴射制限を実施する技術（従来技術）がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０６６１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記した従来技術にあっては、一定の判断基準で異常監視しているので、次のような問題がある。すなわち、車速が高く、車間距離が低車速時と比べて広い場合においては、指令噴射量に対する実噴射量の超過量が大きくてもドライバは違和感（過剰な加速）を感じにくい。このような点を考慮せずに、車速に関係なく、一定の基準で異常監視を行うと、高車速時においてはドライバが過剰な加速の発生を感じないのにも関わらず、警報や燃料噴射制限等のフェールセーフ処理が実施されてしまい、ドライバに違和感を与えるおそれがある。
【０００５】
本発明はそのような実情を考慮してなされたもので、高車速時においてドライバに違和感を与えるエンジン異常処置（フェールセーフ処理）の実施を抑制することが可能なエンジン制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、エンジンの運転状態に基づいて指令噴射量を演算するとともに、前記指令噴射量の演算機能を監視する監視噴射量を求め、前記指令噴射量と前記監視噴射量との乖離に基づいて燃料噴射制御の異常判定を行い、燃料噴射制御に異常がある場合、エンジン異常処置を実施するエンジン制御装置を前提としており、このようなエンジン制御装置において、前記指令噴射量と前記監視噴射量との乖離が噴射量閾値以上である場合に前記燃料噴射制御の異常判定を行う判定処理部を備え、前記判定処理部の判定に用いる噴射量閾値は、アクセル開度およびエンジン回転数に基づいて、当該アクセル開度およびエンジン回転数が大きい場合は小さい場合と比較して大きく設定されることを特徴としている。
【０００７】
また、本発明は、エンジンの運転状態に基づいて指令噴射量を演算するとともに、前記指令噴射量に基づく燃料噴射弁の駆動機能を監視する監視噴射量を求め、前記指令噴射量と前記監視噴射量との乖離に基づいて燃料噴射制御の異常判定を行い、燃料噴射制御に異常がある場合、エンジン異常処置を実施するエンジン制御装置を前提としており、このようなエンジン制御装置において、前記指令噴射量と前記監視噴射量との乖離が噴射量閾値以上である場合に前記燃料噴射制御の異常判定を行う判定処理部を備え、前記判定処理部の判定に用いる噴射量閾値は、アクセル開度およびエンジン回転数に基づいて、当該アクセル開度およびエンジン回転数が大きい場合は小さい場合と比較して大きく設定されることを特徴としている。
【０００８】
本発明によれば、燃料噴射制御の異常の判定に用いる噴射量閾値を、アクセル開度およびエンジン回転数に基づいて、当該アクセル開度およびエンジン回転数が大きい場合は小さい場合と比較して大きく設定しているので、高車速時において異常と判定されにくくなる。これにより、高車速時においてドライバに違和感を与えるエンジン異常処置の実施を抑制することができる。
【００１０】
本発明において、指令噴射量と監視噴射量との乖離が噴射量閾値以上である状態が時間閾値以上継続した場合に異常があると確定して、エンジン異常処置を実施するようにしてもよい。このように構成すれば、燃料噴射制御の異常を正確に確定することができる。すなわち、燃料噴射制御の異常以外の原因により、指令噴射量と監視噴射量との乖離が噴射量閾値以上となる状況が一時的に生じた場合に、誤って異常が確定してしまうことがあるが、上記したように乖離が噴射量閾値以上である状態が時間閾値以上継続した場合に異常を確定することにより、そのような不都合を回避することができ、燃料噴射制御の異常をより正確に確定することができる。
【００１１】
本発明において、指令噴射量と監視噴射量との乖離が噴射量閾値以上になった場合、その直前の噴射量閾値を保持するようにしてもよい。このように構成すれば、指令噴射量と監視噴射量との乖離が噴射量閾値以上となっている状況において、車両が加速している場合、車速の上昇により、異常確定前に噴射量閾値が変化して正しく異常判定をできなくなる、という不具合を回避することができる。
また、本発明において、前記判定処理部の判定に用いる噴射量閾値は、エンジンが搭載される車両の変速ギヤ段が１速のときのアクセル開度およびエンジン回転数に基づいて、当該アクセル開度およびエンジン回転数が大きい場合は小さい場合と比較して大きく設定するようにしてもよい。
【００１２】
また、本発明は、エンジンの運転状態に基づいて指令噴射量を演算するとともに、前記指令噴射量の演算機能を監視する監視噴射量を求め、前記指令噴射量と前記監視噴射量との乖離に基づいて燃料噴射制御の異常判定を行い、燃料噴射制御に異常がある場合、エンジン異常処置を実施するエンジン制御装置において、前記指令噴射量と前記監視噴射量との乖離が噴射量閾値以上である場合に前記燃料噴射制御の異常判定を行う判定処理部を備え、前記判定処理部の判定に用いる噴射量閾値は、車速関連パラメータに基づいて、当該車速関連パラメータが車速が大きい場合に対応する値になっている場合は車速が小さい場合に対応する値になっている場合と比較して大きく設定され、前記指令噴射量と前記監視噴射量との乖離が前記噴射量閾値以上になった場合、その直前の噴射量閾値を保持することを特徴としている。
【００１３】
この発明においても、高車速時において異常と判定されにくくなるので、高車速時においてドライバに違和感を与えるエンジン異常処置の実施を抑制することができる。
【００１４】
また、本発明は、エンジンの運転状態に基づいて指令噴射量を演算するとともに、前記指令噴射量に基づく燃料噴射弁の駆動機能を監視する監視噴射量を求め、前記指令噴射量と前記監視噴射量との乖離に基づいて燃料噴射制御の異常判定を行い、燃料噴射制御に異常がある場合、エンジン異常処置を実施するエンジン制御装置において、前記指令噴射量と前記監視噴射量との乖離が噴射量閾値以上である場合に前記燃料噴射制御の異常判定を行う判定処理部を備え、前記判定処理部の判定に用いる噴射量閾値は、車速関連パラメータに基づいて、当該車速関連パラメータが車速が大きい場合に対応する値になっている場合は、車速が小さい場合に対応する値になっている場合と比較して大きく設定され、前記指令噴射量と前記監視噴射量との乖離が前記噴射量閾値以上になった場合、その直前の噴射量閾値を保持することを特徴としている。
【００１５】
この発明においても、高車速時において異常と判定されにくくなるので、高車速時においてドライバに違和感を与えるエンジン異常処置の実施を抑制することができる。
【発明の効果】
【００１６】
本発明によれば、高車速時においてドライバに違和感を与えるエンジン異常処置（フェールセーフ処理）の実施を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明を適用するエンジン制御装置およびエンジンの燃料供給系の構成を模式的に示す図である。
【図２】エンジン制御装置における燃料噴射制御および燃料噴射監視に係る処理の流れを示す図である。
【図３】エンジン回転数ＮＥおよびアクセル開度ＡＣＣＰと要求噴射量モニタ値Ｑｆｉｎｍとの関係を示す図である。
【図４】クランク角信号、噴射指令信号、燃料噴射率、および、噴射モニタ信号それぞれの変化と、噴射時刻取得タイミングとの一例を示すタイミングチャート図である。
【図５】通電モニタ期間ＩＮＪＭおよび噴射圧Ｐｃｒｉｎｊと噴射量モニタ値ＱＭとの関係を示す図である。
【図６】判定モード決定テーブルを示す図である。
【図７】閾値マップを示す図である。
【図８】判定モード０の閾値マップを示す図である。
【図９】判定モード１の閾値マップを示す図である。
【図１０】判定モード２の閾値マップを示す図である。
【図１１】異常判定処理の手順を示すフローチャートである。
【図１２】異常判定処理の手順を示すフローチャートである。
【図１３】異常判定処理の手順を示すフローチャートである。
【図１４】異常判定処理の手順を示すフローチャートである。
【図１５】異常判定処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を図面に基づいて説明する。本実施形態は、車両に搭載されたディーゼルエンジン（内燃機関）のエンジン制御装置に本発明を適用した場合について説明する。なお、車両には、ディーゼルエンジンのクランクシャフトに連結される変速機（図示せず）が搭載されている。
【００１９】
＜エンジン制御装置および燃料供給系の全体構成＞
図１は、本実施形態に係るエンジン制御装置およびエンジンの燃料供給系の構成を模式的に示す図である。この図１に示すように、エンジンの燃料供給系には燃料ポンプ１１が備えられている。この燃料ポンプ１１は、燃料タンク１０から汲み上げた燃料を加圧して吐出する。燃料ポンプ１１には圧力調整弁（ＰＣＶ）１２が設けられている。このＰＣＶ１２は、燃料ポンプ１１から吐出する燃料の圧力を調整する。燃料ポンプ１１が吐出した燃料は、コモンレール１３に圧送され、このコモンレール１３の内部に貯留される。コモンレール１３に貯留された燃料は、各気筒のインジェクタ（燃料噴射弁）１４に分配供給される。なお、コモンレール１３には減圧弁１５が設けられている。この減圧弁１５の開弁時には、コモンレール１３内部の燃料が燃料タンク１０に戻されることにより、コモンレール１３内部の燃料圧力（レール圧）が降下する。
【００２０】
上記した燃料供給系を備えるエンジンは、エンジン制御装置２０により制御される。エンジン制御装置２０は、マイクロコンピュータ（中央処理装置）２１、電子駆動ユニット（ＥＤＵ）２３および駆動回路２４を備えている。マイクロコンピュータ２１は、エンジン制御に係る各種演算処理を行う。ＥＤＵ２３は、マイクロコンピュータ２１からの指令に応じて各インジェクタ１４を駆動する。駆動回路２４は、マイクロコンピュータ２１からの指令に応じてＰＣＶ１２および減圧弁１５を駆動する。
【００２１】
一方、エンジン制御装置２０には、アクセルポジションセンサ２６、水温センサ２７、レール圧センサ２８、クランク角センサ２９などの各種センサからの検出信号が入力されている。アクセルポジションセンサ２６は、アクセル開度ＡＣＣＰを検出する。水温センサ２７は、エンジン水温ＴＨＷを検出する。レール圧センサ２８は、レール圧ＰＣＲを検出する。クランク角センサ２９は、エンジン出力軸の回転に応じてパルス状のクランク角信号を出力する。なお、エンジン制御装置２０にはＡＤコンバータ（ＡＤＣ）２５が設けられている。アクセルポジションセンサ２６、水温センサ２７およびレール圧センサ２８の各検出信号は、ＡＤコンバータ２５によってデジタル信号に変換されて、マイクロコンピュータ２１に入力される。また、クランク角センサ２９が出力するクランク角信号は、マイクロコンピュータ２１に直接入力される。
【００２２】
以上のように構成されたエンジン制御装置２０は、エンジン制御の一つとして、燃料噴射量制御を行う。次に、燃料噴射量制御の詳細を説明する。
【００２３】
＜燃料噴射量制御＞
図２に示すように、マイクロコンピュータ２１は、燃料噴射量制御に際して、燃料噴射量制御ルーチンＲ１の処理を行う。この燃料噴射量制御ルーチンＲ１では、インジェクタ駆動電流の通電期間τを算出するにあたり、指令噴射量演算処理Ｐ２、噴射量分割処理Ｐ３、通電期間演算処理Ｐ４の３つの処理が行われる。
【００２４】
指令噴射量演算処理Ｐ２は、エンジンの運転状態に応じて指令噴射量（要求噴射量）Ｑｆｉｎを求める処理であって、エンジン回転数ＮＥ、アクセル開度ＡＣＣＰ等に基づいて、指令噴射量Ｑｆｉｎを演算する。この指令噴射量Ｑｆｉｎの演算に際しては、まず、エンジン回転数ＮＥおよびアクセル開度ＡＣＣＰからベース噴射量Ｑｂｓｅが算出される。ここでのベース噴射量Ｑｂｓｅの算出は、マイクロコンピュータ２１に記憶されたベース噴射量算出用のマップに基づいて行われる。このマップには、エンジン回転数ＮＥおよびアクセル開度ＡＣＣＰと、ベース噴射量Ｑｂｓｅとの関係が記憶されている。そして、その演算したベース噴射量Ｑｂｓｅをエンジン水温ＴＨＷ等によって補正することで、指令噴射量Ｑｆｉｎが演算される。
【００２５】
なお、エンジン回転数ＮＥは、回転数算出処理Ｐ１により算出される。回転数算出処理Ｐ１では、クランク角センサ２９から入力されたクランク角信号に基づいて、エンジン回転数ＮＥの算出が行われる。
【００２６】
噴射量分割処理Ｐ３では、指令噴射量Ｑｆｉｎが、パイロット噴射、メイン噴射、アフタ噴射の各噴射に割り振られる。これにより、各噴射の噴射量が決定される。なお、燃料噴射の分割数や各噴射の噴射量の分配比率は、そのときのエンジン運転状況に応じて定められる。
【００２７】
通電期間演算処理Ｐ４では、決定された噴射量が得られるように、各噴射のインジェクタ駆動電流の通電期間τが演算される。各噴射の通電期間τは、各噴射の噴射量とレール圧ＰＣＲとに基づき求められる。そして、マイクロコンピュータ２１は、演算した各噴射の通電期間τをＥＤＵ２３に指令する。
【００２８】
この指令を受けたＥＤＵ２３は、指令された各噴射の通電期間τに基づき、噴射指令信号を生成する指令信号生成処理Ｐ５を行う。噴射指令信号は、通電期間の開始とともにインジェクタ１４の電磁弁を開弁可能なレベルまで信号レベルが上がり、通電期間の終了に応じてその開弁を保持不能となるレベルまで信号レベルが下がるように生成される。そして、生成された噴射指令信号は、該当する（燃焼行程を迎えている）気筒のインジェクタ１４に出力される。
【００２９】
また、ＥＤＵ２３は、各インジェクタ１４の電磁弁に流れる電流を検出し、その結果から噴射モニタ信号を生成するモニタ信号生成処理Ｐ６も行っている。噴射モニタ信号は、インジェクタ１４の電磁弁に通電される駆動電流の通電期間から得られるものであって、駆動電流が実際に通電されている期間（駆動電流が、インジェクタ１４の燃料噴射を実施する値となっている期間）は信号レベルが「Ｌｏ」となり、通電がなされていない期間（駆動電流が、インジェクタ１４の燃料噴射を停止する値となっている期間）は信号レベルが「Ｈｉ」となるパルス状の信号として生成されている。生成された噴射モニタ信号は、マイクロコンピュータ２１に入力される。
【００３０】
一方、マイクロコンピュータ２１は、燃料噴射量制御と並行して、その制御が正常に行われているか否かを常時監視している。本実施形態では、こうした燃料噴射量制御の監視を、次の２つの監視ルーチンの処理を通じて行っている。すなわち、燃料噴射量制御ルーチンＲ１の指令噴射量Ｑｆｉｎの演算機能を監視する第１監視ルーチンＲ２と、指令噴射量Ｑｆｉｎに基づくインジェクタ１４の駆動機能を監視する第２監視ルーチンＲ３とにより、燃料噴射量制御の監視が行われている。
【００３１】
＜第１監視ルーチン＞
図２に示すように、第１監視ルーチンＲ２は、噴射量モニタ値算出処理Ｐ１０および第１異常判定処理Ｐ１１の２つの処理を行う。
【００３２】
噴射量モニタ値算出処理Ｐ１０では、上記指令噴射量Ｑｆｉｎの演算に使用されたエンジン回転数ＮＥとアクセル開度ＡＣＣＰとエンジン水温ＴＨＷとに基づいて、図３に示す噴射量モニタ値算出用のマップを参照して監視噴射量Ｑｆｉｎｍを算出する。噴射量モニタ値Ｑｆｉｎｍ（指令噴射量の演算機能を監視する監視噴射量）の算出が行われる。以下、この噴射量モニタ値Ｑｆｉｎｍを「監視噴射量Ｑｆｉｎｍ」ともいう。なお、図３に示すマップは、エンジン回転数ＮＥおよびアクセル開度ＡＣＣＰと監視噴射量（要求噴射量モニタ値）Ｑｆｉｎｍとの関係を示すマップであって、マイクロコンピュータ２１に記憶されている。
【００３３】
第１異常判定処理Ｐ１１では、燃料噴射量制御ルーチンＲ１で演算された指令噴射量Ｑｆｉｎと、噴射量モニタ値算出処理Ｐ１０で算出された監視噴射量（要求噴射量モニタ値）Ｑｆｉｎｍとの噴射量差分ΔＱ（ΔＱ＝｜Ｑｆｉｎ−Ｑｆｉｎｍ｜）を算出する。そして、第１異常判定処理Ｐ１１では、図１１〜図１５に示す異常判定処理ルーチン（ΔＱ算出処理も含む）を実行する。その異常判定処理ルーチンの詳細については後述する。
【００３４】
＜第２監視ルーチン＞
図２に示すように、第２監視ルーチンＲ３は、実通電期間計測処理Ｐ２０、噴射量換算処理Ｐ２１、および、第２異常判定処理Ｐ２２の３つの処理を行う。
【００３５】
実通電期間計測処理Ｐ２０では、ＥＤＵ２３から入力された噴射モニタ信号に基づいてインジェクタ１４の駆動電流の通電期間を計測し、通電モニタ期間ＩＮＪＭを算出する。
その具体的な処理について説明する。
【００３６】
図４に、燃料噴射時の（ａ）クランク角信号、（ｂ）噴射指令信号、（ｃ）インジェクタ１４の燃料噴射率、および（ｄ）噴射モニタ信号の推移の一例を示す。この図４に示すように、ＥＤＵ２３がインジェクタ１４に出力する指令信号の信号レベルが立ち上がると、それに若干遅れてインジェクタ１４の電磁弁に流れる駆動電流が同電磁弁を開弁可能なレベルまで上昇して、燃料噴射が開始される。そして、このときの駆動電流の上昇に応じて、ＥＤＵ２３の生成する噴射モニタ信号が立ち下げられる。その後、指令信号の信号レベルが立ち下がると、それに若干遅れてインジェクタ１４の電磁弁への駆動電流の通電が停止され、インジェクタ１４からの燃料噴射が停止される。そして、このときの駆動電流の通電停止に応じて、噴射モニタ信号が立ち上げられる。
【００３７】
そして、図４（ｅ）に示すように、マイクロコンピュータ２１は、こうした噴射モニタ信号の立ち下がり、および、立ち上がりに応じた割り込み処理として、時刻の取り込みを行う。すなわち、マイクロコンピュータ２１は、噴射モニタ信号に基づいて各噴射の開始および終了の時刻を取得している。そして、マイクロコンピュータ２１は、各噴射の開始および終了の時刻から、各噴射における駆動電流の通電期間を通電モニタ期間ＩＮＪＭとして算出する。
【００３８】
なお、本実施形態では、マイクロコンピュータ２１は、こうした各噴射の開始および終了の時刻の読み込みと同時に、インジェクタ１４に供給される燃料の圧力（レール圧ＰＣＲ）の取り込みも行っている。ここでは、各噴射の終了時に取り込まれたレール圧ＰＣＲを、各噴射の噴射圧Ｐｃｒｉｎｊとして取得している。
【００３９】
噴射量換算処理Ｐ２１では、実通電期間計測処理Ｐ２０で算出された各噴射の通電モニタ期間ＩＮＪＭを用いて総噴射量モニタ値ΣＱＭ（実噴射量）を算出する。その具体的な処理について説明する。
【００４０】
まず、各噴射の通電モニタ期間ＩＮＪＭと噴射圧Ｐｃｒｉｎｊとに基づいて、各噴射の噴射量の噴射量モニタ値ＱＭを算出する。なお、マイクロコンピュータ２１には、図５に示すような通電期間ＩＮＪＭおよび噴射圧Ｐｃｒｉｎｊと、噴射量モニタ値ＱＭとの関係を示す算出マップが記憶されており、この算出マップを参照して噴射量モニタ値ＱＭを算出している。
【００４１】
そして、以上の処理にて算出した各噴射の噴射量モニタ値ＱＭの合計を求めて総噴射量モニタ値ΣＱＭ（指令噴射量に基づく燃料噴射弁の駆動機能を監視する監視噴射量）を算出する。なお、こうして求められた総噴射量モニタ値ΣＱＭは、今回の一連の燃料噴射において、インジェクタ１４から実際に噴射された燃料の総量を示している。以下、総噴射量モニタ値ΣＱＭを「監視噴射量ΣＱＭ」ともいう。
【００４２】
第２異常判定処理Ｐ２２では、燃料噴射量制御ルーチンＲ１で演算された指令噴射量Ｑｆｉｎと、噴射量換算処理Ｐ２１で算出された監視噴射量ΣＱＭ（総噴射量モニタ値ΣＱＭ）との噴射量差分ΔＱ（ΔＱ＝｜Ｑｆｉｎ−ΣＱＭ｜）を算出する。そして、第２異常判定処理Ｐ２２では、図１１〜図１５に示す異常判定処理ルーチン（ΔＱ算出処理も含む）を実行する。その異常判定処理ルーチンの詳細については後述する。
【００４３】
＜異常判定処理ルーチン＞
次に、第１異常判定処理Ｐ１１および第２異常判定処理Ｐ２２において実行する異常判定処理ルーチンについて説明する。
【００４４】
まず、この異常判定処理ルーチンにおいて使用する［判定モード決定テーブル］および［閾値マップ］について説明する。
【００４５】
［判定モード決定テーブル］
第１異常判定処理Ｐ１および第２異常判定処理Ｐ２２において実行する異常判定処理ルーチンに用いる判定モード決定テーブルについて説明する。
【００４６】
本実施形態では、車速に応じて判定モードを決定している。車速については、アクセル開度ＡＣＣＰおよびエンジン回転数ＮＥから推定するようにしている。その処理の詳細について説明する。
【００４７】
まず、本実施形態では、車速を基準として、判定モード０（車速＜１０ｋｍ／ｈ）、判定モード１（１０ｋｍ／ｈ≦車速＜３０ｋｍ／ｈ）、判定モード２（車速≦３０ｋｍ／ｈ）の３つの判定モードを設定しており、それら３つ判定モードのうち、いずれかの判定モードを、車速に関連するパラメータであるアクセル開度ＡＣＣＰおよびエンジン回転数ＮＥに基づいて、図６に示す判定モード決定テーブルを参照して決定するようにしている。
【００４８】
図６に示す判定モード決定テーブルは、アクセル開度ＡＣＣＰとエンジン回転数ＮＥとをパラメータとして、アクセル開度ＡＣＣＰおよび／またはエンジン回転数ＮＥが大きくなるにしたがって、判定モードが高速側（［判定モード０］→［判定モード１］→［判定モード２］）になるように設定されている。
【００４９】
図６の判定モード決定テーブルにおいて、「α」は、変速ギヤ段が１速のときに平坦路を車速１０ｋｍ／ｈで定常走行できるアクセル開度であり、「β」は、変速ギヤ段が１速のときに平坦路を車速３０ｋｍ／ｈで定常走行できるアクセル開度である。また、「Ａ」は、変速ギヤ段が１速で車速が１０ｋｍ／ｈとなるエンジン回転数ＮＥであり、「Ｂ」は変速ギヤ段が１速で車速が３０ｋｍ／ｈとなるエンジン回転数ＮＥである。そして、このように設定することで、「エンジン回転数≧Ａ」または「アクセル開度≧α」のときには、車速が１０ｋｍ／ｈ以上（車速≧１０ｋｍ／ｈ）であると推定することができ、「エンジン回転数≧Ｂ」または「アクセル開度≧β」のときには車速が３０ｋｍ／ｈ以上（車速≧３０ｋｍ／ｈ）あると推定することができる。また、「エンジン回転数＜Ａ」および「アクセル開度＜α」のときには車速が１０ｋｍ／ｈ未満（車速＜１０ｋｍ／ｈ）であると推定することができる。
【００５０】
なお、図６の判定モード決定テーブルの「Ａ」、「Ｂ」については、閾値が厳しい側となる１速で設定を行っている。その理由について説明する。エンジン回転数が同じである場合、変速ギヤ段が２速以上のときは、１速のときと比べて車速が高くて車間距離広いため、指令噴射量に対する監視噴射量（ＱｆｉｎｍまたはΣＱＭ）の超過量が大きくてもドライバは違和感を覚えにくい。よって、変速ギヤ段が２速以上のときは、１速のときと比べて閾値を大きくすることができる。したがって、「Ａ」、「Ｂ」については閾値が厳しい側となる１速で設定を行っている。
【００５１】
また、「α」、「β」については、閾値が厳しい側となる定常走行時で設定を行っている。その理由について説明する。例えば、ＡＣＣ（車間距離制御装置）を利用する場合、もしくは、ドライバが前記ＡＣＣと同様の先行追従走行をする場合を想定する。この場合、車両が加速する場面の１つとして、「自車両が定常走行をしている場合と比較して、車間距離が広くなってしまった場合」が挙げられる。このような場合は、車間距離が広いため、指令噴射量に対する監視噴射量（ＱｆｉｎｍまたはΣＱＭ）の超過量が大きくてもドライバは違和感を覚えにくい。よって、加速中である場合は閾値を定常走行時と比べて閾値を大きくすることができる。したがって、「α」、「β」については閾値が厳しい側となる定常走行時で設定を行っている。
【００５２】
そして、図６の判定モード決定テーブルを用いて判定モードを決定することができる。具体的には、「アクセル開度＜α」および「エンジン回転数＜Ａ」である場合は「判定モード０」と決定することができ、「α≦アクセル開度＜β」および／または「Ａ≦エンジン回転数＜Ｂ」である場合は「判定モード１」と決定することができる。また、「β≦アクセル開度」および／または「Ｂ≦エンジン回転数」である場合は「判定モード２」と判定することができる。
【００５３】
［閾値マップ］
第１異常判定処理Ｐ１１および第２異常判定処理Ｐ２２において実行する異常判定処理ルーチンに用いる閾値マップについて図７〜図１０を参照して説明する。
【００５４】
図７〜図１０に示す閾値マップは、指令噴射量Ｑｆｉｎと監視噴射量（要求噴射量モニタ値Ｑｆｉｎｍまたは総噴射量モニタ値ΣＱＭ）との噴射量差分ΔＱと、経過時間Ｔとをパラメータとして、噴射量閾値（Ｑｔｈ）と時間閾値（Ｔｔｈ）とが規定されたマップであって、マイクロコンピュータ２１に記憶されている。本実施形態では、判定モードとして、判定モード０（車速＜１０ｋｍ／ｈ）、判定モード１（１０ｋｍ／ｈ≦車速＜３０ｋｍ／ｈ）、判定モード２（３０ｋｍ／ｈ≦車速）の３つの判定モードが設定されており、その判定モードごとに閾値マップが設定されている。
【００５５】
ここで、図７〜図１０の閾値マップにおいて、判定モードごとの閾値は、車速にて想定される車間距離を考慮して設定している。具体的には、一般的に車速が大きいときほど車間距離が広くて許容される車両加速度（危険となる車両加速度）が大きいため、判定モードが高速側になるほど閾値を大きく設定している。より詳細には、例えば、判定モード０（車速＜１０ｋｍ／ｈ）の噴射量閾値Ｑｔｈ００よりも判定モード１（１０ｋｍ／ｈ≦車速＜３０ｋｍ／ｈ）の噴射量閾値Ｑｔｈ１０を大きく設定し、判定モード１の噴射量閾値Ｑｔｈ１０よりも判定モード２（３０ｋｍ／ｈ≦車速）の噴射量閾値Ｑｔｈ２０を大きく設定している。また、時間閾値（Ｔｈ）についても、同様に、判定モードが高速側（［判定モード０］→［判定モード１］→［判定モード２］）になるほど大きな値に設定している。
【００５６】
また、図７〜図１０の閾値マップにおいては、１つの判定モードについて、３つの噴射量閾値（Ｑｔｈ）および時間閾値（Ｔｔｈ）を設定している。
【００５７】
具体的に、図８に示す判定モード０では、噴射量閾値（Ｑｔｈ（ｍｍ3／ｓｔ））について、大きさが異なる噴射量閾値Ｑｔｈ００、噴射量閾値Ｑｔｈ０１、噴射量閾値Ｑｔｈ０２の３つの噴射量閾値（Ｑｔｈ００＞Ｑｔｈ０１＞Ｑｔｈ０２）を設定している。また、時間閾値（Ｔｔｈ（ｍｓ））については、噴射量差分ΔＱ（指令噴射量に対する監視噴射量（ＱｆｉｎｍまたはΣＱＭ）の超過量）が小さいほどドライバは違和感を覚えにくくなるという点を考慮して、噴射量閾値（Ｑｔｈ）が小さいほど時間閾値（Ｔｔｈ）を大きな値に設定している（Ｔｔｈ００＜Ｔｔｈ０１＜Ｔｔｈ０２）。この図８の閾値マップにおいて、例えば、噴射量差分ΔＱが噴射量閾値Ｑｔｈ００以上である状態が時間閾値Ｔｔｈ００以上継続した場合には、燃料噴射制御に異常（指令噴射量の演算異常・インジェクタ駆動異常）があると判定することができる。また、噴射量差分ΔＱが噴射量閾値Ｑｔｈ０２以上である状態が時間閾値Ｔｔｈ０２以上継続した場合には、燃料噴射制御に異常があると判定することができる。
【００５８】
図９の判定モード１の閾値マップにおいても、同様に、噴射量閾値Ｑｔｈ１０、噴射量閾値Ｑｔｈ１１、噴射量閾値Ｑｔｈ１２の３つの噴射量閾値（Ｑｔｈ１０＞Ｑｔｈ１１＞Ｑｔｈ１２）と、時間閾値Ｔｔｈ１０、時間閾値Ｔｔｈ１１、時間閾値Ｔｔｈ１２の３つの時間閾値（Ｔｔｈ１０＜Ｔｔｈ１１＜Ｔｔｈ１２）とが設定されている。また、図１０の判定モード２の閾値マップにおいても、同様に、噴射量閾値Ｑｔｈ２０、噴射量閾値Ｑｔｈ２１、噴射量閾値Ｑｔｈ２２の３つの噴射量閾値（Ｑｔｈ２０＞Ｑｔｈ２１＞Ｑｔｈ２２）と、時間閾値Ｔｔｈ２０、時間閾値Ｔｔｈ２１、時間閾値Ｔｔｈ２２の３つの時間閾値（Ｔｔｈ２０＜Ｔｔｈ２１＜Ｔｔｈ２２）とが設定されている。
【００５９】
ただし、３つ判定モード間において、噴射量閾値（Ｑｔｈ）については、［Ｑｔｈ００＜Ｑｔｈ１０＜Ｑｔｈ２０］、［Ｑｔｈ０１＜Ｑｔｈ１１＜Ｑｔｈ２１］、［Ｑｔｈ０２＜Ｑｔｈ１２＜Ｑｔｈ２２］の関係があり、時間閾値（Ｔｔｈ）については、［Ｔｔｈ００＜Ｔｔｈ１０＜Ｔｔｈ２０］、［Ｔｔｈ０１＜Ｔｔｈ１１＜Ｔｔｈ２１］、［Ｔｔｈ０２＜Ｔｔｈ１２＜Ｔｔｈ２２］の関係がある。
【００６０】
なお、図７〜図１０の各閾値マップの噴射量閾値（Ｑｔｈ）および時間閾値（Ｔｔｈ）の各値は、車速にて想定される車間距離（許容される車両加速度）を考慮して実験・シミュレーション等によって適合した値である。
【００６１】
また、第１異常判定処理Ｐ１１の異常判定処理ルーチンに用いる閾値マップの噴射量閾値（Ｑｔｈ）および時間閾値（Ｔｔｈ）と、第２異常判定処理Ｐ２２の異常判定処理ルーチンに用いる閾値マップの噴射量閾値（Ｑｔｈ）および時間閾値（Ｔｔｈ）とは同じ値であってもよいし、異なる値を設定するようにしてもよい。
【００６２】
［異常判定処理］
次に、第１異常判定処理Ｐ１１および第２異常判定処理Ｐ２２のそれぞれにおいて実行する異常判定処理の例について、図１１〜図１５のフローチャートを参照して説明する。この図１１〜図１５の異常判定処理ルーチンは、マイクロコンピュータ２１により８ｍｓごとに繰り返して実行される。なお、第１異常判定処理Ｐ１１の異常判定処理ルーチンと第２異常判定処理Ｐ２２の異常判定処理ルーチンとは、並列処理で実行してもよいし、個別に実行するようにしてもよい。
【００６３】
この異常判定処理においては、判定モード０用の異常カウンタとして、判定モード００用異常カウンタＣ００、判定モード０１用異常カウンタＣ０１および判定モード０２用異常カウンタＣ０２の３つの異常カウンタを使用する。また、判定モード１用の異常カウンタとして、判定モード１０用異常カウンタＣ１０、判定モード１１用異常カウンタＣ１１および判定モード１２用異常カウンタＣ１２の３つの異常カウンタを使用する。さらに、判定モード２用の異常カウンタとして、判定モード２０用異常カウンタＣ２０、判定モード２１用異常カウンタＣ２１および判定モード２２用異常カウンタＣ２２の３つの異常カウンタを使用する。これら９個の異常カウンタはマイクロコンピュータ２１に内蔵されている。なお、９個の異常カウンタＣ００〜Ｃ０２、Ｃ１０〜Ｃ１２、Ｃ２０〜Ｃ２２の初期値は全て０（カウント値Ｃ＝０）である。
【００６４】
図１１〜図１５の異常判定処理ルーチンが開始されると、まずは、ステップＳＴ１０１において噴射量差分ΔＱを算出する。具体的には、第１異常判定処理Ｐ１１では、上述したように、燃料噴射量制御ルーチンＲ１で演算された指令噴射量Ｑｆｉｎと、噴射量モニタ値算出処理Ｐ１０で算出された監視噴射量（要求噴射量モニタ値）Ｑｆｉｎｍとの噴射量差分ΔＱ（ΔＱ＝｜Ｑｆｉｎ−Ｑｆｉｎｍ｜）を算出する。第２異常判定処理Ｐ２２では、上述したように、燃料噴射量制御ルーチンＲ１で演算された指令噴射量Ｑｆｉｎと、噴射量換算処理Ｐ２１で算出された監視噴射量ΣＱＭ（総噴射量モニタ値ΣＱＭ）との噴射量差分ΔＱ（ΔＱ＝｜Ｑｆｉｎ−ΣＱＭ｜）を算出する。
【００６５】
（判定モード０用異常カウンタの操作）
次に、ステップＳＴ１０２において、上記ステップＳＴ１０１で算出した噴射量差分ΔＱ（以下、単に「噴射量差分ΔＱ」という）が、図８の閾値マップ（判定モード０用）の噴射量閾値Ｑｔｈ００以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１０３において判定モード００用異常カウンタＣ００をインクリメント（Ｃ＋１）してステップＳＴ１０５に進む。ステップＳＴ１０２の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１０４において判定モード００用異常カウンタＣ００をクリアしてステップＳＴ１０５に進む。
【００６６】
ここで、ΔＱ≧Ｑｔｈ００である状態が継続すると、本処理ルーチンが８ｍｓ周期で実行されるごとに、判定モード００用異常カウンタＣ００のカウンタ値が１ずつ増加していく。また、ΔＱ≧Ｑｔｈ００である状態が継続する時間が、後述する判定モード００用異常カウンタＣ００のカウンタ値に基づく継続時間Ｃｔｍ００に達するまでに、ΔＱがＱｔｈ００未満（ΔＱ＜Ｑｔｈ００）となった場合、その時点で判定モード００用異常カウンタＣ００がクリアされてカウンタ値が０となる。この点については、他の全ての異常カウンタについても同様である。
【００６７】
ステップＳＴ１０５では、噴射量差分ΔＱが図８の閾値マップ（判定モード０用）の噴射量閾値Ｑｔｈ０１以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１０６において判定モード０１用異常カウンタＣ０１をインクリメント（Ｃ＋１）してステップＳＴ１０８に進む。ステップＳＴ１０５の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１０７において判定モード０１用異常カウンタＣ０１をクリアしてステップＳＴ１０８に進む。
【００６８】
ステップＳＴ１０８では、噴射量差分ΔＱが図８の閾値マップ（判定モード０用）の噴射量閾値Ｑｔｈ０２以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１０９において判定モード０２用異常カウンタＣ０２をインクリメント（Ｃ＋１）してステップＳＴ１１１に進む。ステップＳＴ１０８の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１１０において判定モード０２用異常カウンタＣ０２をクリアしてステップＳＴ１１１に進む。
【００６９】
（判定モード１用異常カウンタの操作）
ステップＳＴ１１１では、噴射量差分ΔＱが、図９の閾値マップ（判定モード１用）の噴射量閾値Ｑｔｈ１０以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１１２において判定モード１０用異常カウンタＣ１０をインクリメント（Ｃ＋１）して図１２のステップＳＴ１１４に進む。ステップＳＴ１１１の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１１３において判定モード１０用異常カウンタＣ１０をクリアしてステップＳＴ１１４に進む。
【００７０】
ステップＳＴ１１４では、噴射量差分ΔＱが図９の閾値マップ（判定モード１用）の噴射量閾値Ｑｔｈ１１以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１１５において判定モード１１用異常カウンタＣ１１をインクリメント（Ｃ＋１）してステップＳＴ１１７に進む。ステップＳＴ１１４の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１１６において判定モード１０用異常カウンタＣ１０をクリアしてステップＳＴ１１７に進む。
【００７１】
ステップＳＴ１１７では、噴射量差分ΔＱが図９の閾値マップ（判定モード１用）の噴射量閾値Ｑｔｈ１２以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１１８において判定モード１２用異常カウンタＣ１２をインクリメント（Ｃ＋１）してステップＳＴ１２０に進む。ステップＳＴ１１７の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１１９において判定モード１２用異常カウンタＣ１２をクリアしてステップＳＴ１２０に進む。
【００７２】
（判定モード２用異常カウンタの操作）
ステップＳＴ１２０では、噴射量差分ΔＱが図１０の閾値マップ（判定モード２用）の噴射量閾値Ｑｔｈ２０以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１２１において判定モード２０用異常カウンタＣ２０をインクリメント（Ｃ＋１）してステップＳＴ１２３に進む。ステップＳＴ１２０の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１２２において判定モード２０用異常カウンタＣ２０をクリアしてステップＳＴ１２３に進む。
【００７３】
ステップＳＴ１２３では、噴射量差分ΔＱが図１０の閾値マップ（判定モード２用）の噴射量閾値Ｑｔｈ２１以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１２４において判定モード２１用異常カウンタＣ２１をインクリメント（Ｃ＋１）してステップＳＴ１２６に進む。ステップＳＴ１２３の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１２５において判定モード２１用異常カウンタＣ２１をクリアしてステップＳＴ１２６に進む。
【００７４】
ステップＳＴ１２６では、噴射量差分ΔＱが図１０の閾値マップ（判定モード２用）の噴射量閾値Ｑｔｈ２２以上であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ１２７において判定モード２２用異常カウンタＣ２２をインクリメント（Ｃ＋１）して図１３のステップＳＴ１２９に進む。ステップＳＴ１２６の判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１２８において判定モード２２用異常カウンタＣ２２をクリアしてステップＳＴ１２９に進む。
【００７５】
ステップＳＴ１２９では、判定モード保持条件が成立した否かを判定する。具体的には、噴射量差分ΔＱが、図８〜図１０に示す９つの噴射量閾値（Ｑｔｈ）のうちのいずれかの噴射量閾値以上となったか否かを判定し、その判定結果が否定判定（ＮＯ）である場合（噴射量乖離がない場合）はステップＳＴ１３０に進む。ステップＳＴ１３０では、クランク角センサ２９からのクランク角信号、および、アクセルポジションセンサ２６からのアクセル開度信号に基づいて、図６の判定モード決定テーブルを参照して、現在の判定モード（判定モード０、判定モード１または判定モード２）を算出し、その後にステップＳＴ１３１に進む。一方、ステップＳＴ１２９の判定結果が肯定判定（ＹＥＳ）である場合（噴射量乖離がある場合）は、その直前の判定モード（前回の処理ルーチンの判定モード）を保持したままの状態でステップＳＴ１３１に進む。
【００７６】
ステップＳＴ１３１では、現在の判定モードが、「判定モード０」であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合（判定モード０である場合）はステップＳＴ１３２に進む。
【００７７】
（異常判定確定処理）
ステップＳＴ１３２では、判定モード００用異常カウンタＣ００のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ００の状態が継続する時間）Ｃｔｍ００（ｍｓ）を求め、その継続時間Ｃｔｍ００が、図８の閾値マップ（判定モード０用）の時間閾値Ｔｔｈ００以上であるか否かを判定する。ここで、継続時間Ｃｔｍ００は、判定モード００用異常カウンタＣ００のカウント値×８ｍｓ（処理ルーチンの周期）である。このステップＳＴ１３２の判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ００＜Ｔｔｈ００である場合）はステップＳＴ１３３に進む。
【００７８】
ステップＳＴ１３３では、判定モード０１用異常カウンタＣ０１のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ０１の状態が継続する時間）Ｃｔｍ０１（ｍｓ）を求め（Ｃｔｍ０１＝カウント値×８ｍｓ）、その継続時間Ｃｔｍ０１が、図８の閾値マップ（判定モード０用）の時間閾値Ｔｔｈ０１以上であるか否かを判定し、その判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ０１＜Ｔｔｈ０１である場合）はステップＳＴ１３４に進む。
【００７９】
ステップＳＴ１３４では、判定モード０２用異常カウンタＣ０２のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ０２の状態が継続する時間）Ｃｔｍ０２（ｍｓ）を求め（Ｃｔｍ０２＝カウント値×８ｍｓ）、その継続時間Ｃｔｍ０２が、図８の閾値マップ（判定モード０用）の時間閾値Ｔｔｈ０２以上であるか否かを判定する。その判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ０２＜Ｔｔｈ０２である場合）はリターンし、所定時間（処理ルーチンの周期の相当する時間）が経過した後に次回の処理ルーチンを実行する。
【００８０】
一方、上記したステップＳＴ１３２、ステップＳＴ１３３およびステップＳＴ１３４のうち、いずれか１つのステップの判定結果が肯定判定（ＹＥＳ）である場合は、燃料噴射制御に異常（指令噴射量の演算異常・燃料噴射弁の駆動異常）があると判定して異常フラッグをセットする（ステップＳＴ１３５）。異常フラグがセットされると、マイクロコンピュータ２１はフェールセーフ処理を実施する。その後に処理を終了する。
【００８１】
ここで、第１異常判定処理Ｐ１１において燃料噴射制御異常（指令噴射量の演算異常）と判定した場合、マイクロコンピュータ２１は、フェールセーフ処理として、指令噴射量Ｑｆｉｎの演算を停止し、この指令噴射量Ｑｆｉｎを予め規定された値に固定する。なお、異常判定時に警報を報知するようにしてもよい。
【００８２】
第２異常判定処理Ｐ２２において燃料噴射制御異常（燃料噴射弁の駆動異常）と判定した場合、マイクロコンピュータ２１は、フェールセーフ処理として、異常が生じた気筒を休止、すなわちその気筒の燃料噴射を停止する。なお、異常判定時に警報を報知するようにしてもよい。
【００８３】
上記したステップＳＴ１３１の判定結果が否定判定（ＮＯ）である場合（判定モード２である場合）は図１４のステップＳＴ１３６に進む。ステップＳＴ１３６では、現在の判定モードが、「判定モード１」であるか否かを判定し、その判定結果が肯定判定（ＹＥＳ）である場合（判定モード１である場合）はステップＳＴ１３７に進む。
【００８４】
ステップＳＴ１３７では、判定モード１０用異常カウンタＣ１０のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ１０の状態が継続する時間）Ｃｔｍ１０（ｍｓ）を求め（Ｃｔｍ１０＝カウント値×８ｍｓ）、その継続時間Ｃｔｍ１０が、図９の閾値マップ（判定モード１用）の時間閾値Ｔｔｈ１０以上であるか否かを判定し、その判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ１０＜Ｔｔｈ１０である場合）はステップＳＴ１３８に進む。
【００８５】
ステップＳＴ１３８では、判定モード１１用異常カウンタＣ１１のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ１１の状態が継続する時間）Ｃｔｍ１１（ｍｓ）を求め（Ｃｔｍ１１＝カウント値×８ｍｓ）、その継続時間Ｃｔｍ１１が、図９の閾値マップ（判定モード１用）の時間閾値Ｔｔｈ１１以上であるか否かを判定し、その判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ１１＜Ｔｔｈ１１である場合）はステップＳＴ１３９に進む。
【００８６】
ステップＳＴ１３９では、判定モード１２用異常カウンタＣ１２のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ１２の状態が継続する時間）Ｃｔｍ１２（ｍｓ）を求め（Ｃｔｍ１２＝カウント値×８ｍｓ）、その継続時間Ｃｔｍ１２が、図８の閾値マップ（判定モード０用）の時間閾値Ｔｔｈ１２以上であるか否かを判定する。その判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ１２＜Ｔｔｈ１２である場合）はリターンし、所定時間（処理ルーチンの周期の相当する時間）が経過した後に次回の処理ルーチンを実行する。
【００８７】
一方、上記したステップＳＴ１３７、ステップＳＴ１３８およびステップＳＴ１３９のうち、いずれか１つのステップの判定結果が肯定判定（ＹＥＳ）である場合は、燃料噴射制御に異常（指令噴射量の演算異常・燃料噴射弁の駆動異常）があると判定して異常フラッグをセットする（ステップＳＴ１４０）。異常フラグがセットされると、マイクロコンピュータ２１は、上記した内容のフェールセーフ処理を実施する。その後に処理を終了する。
【００８８】
上記したステップＳＴ１３６の判定結果が否定判定（ＮＯ）である場合は図１５のステップＳＴ１４１に進む。ステップＳＴ１４１では、判定モード２０用異常カウンタＣ２０のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ２０の状態が継続する時間）Ｃｔｍ２０（ｍｓ）を求め（Ｃｔｍ２０＝カウント値×８ｍｓ）、その継続時間Ｃｔｍ２０が、図１０の閾値マップ（判定モード２用）の時間閾値Ｔｔｈ２０以上であるか否かを判定し、その判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ２０＜Ｔｔｈ２０である場合）はステップＳＴ１４２に進む。
【００８９】
ステップＳＴ１４２では、判定モード２１用異常カウンタＣ２１のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ２１の状態が継続する時間）Ｃｔｍ２１（ｍｓ）を求め（Ｃｔｍ２１＝カウント値×８ｍｓ）、その継続時間Ｃｔｍ２１が、図１０の閾値マップ（判定モード２用）の時間閾値Ｔｔｈ２１以上であるか否かを判定し、その判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ２１＜Ｔｔｈ２１である場合）はステップＳＴ１４３に進む。
【００９０】
ステップＳＴ１４３では、判定モード２２用異常カウンタＣ２２のカウント値に基づいて継続時間（ΔＱ≧Ｑｔｈ２２の状態が継続する時間）Ｃｔｍ２２（ｍｓ）を求め（Ｃｔｍ２２＝カウント値×８ｍｓ）、その継続時間Ｃｔｍ２２が、図８の閾値マップ（判定モード０用）の時間閾値Ｔｔｈ２２以上であるか否かを判定する。その判定結果が否定判定（ＮＯ）である場合（Ｃｔｍ２２＜Ｔｔｈ２２である場合）はリターンし、所定時間（処理ルーチンの周期の相当する時間）が経過した後に次回の処理ルーチンを実行する。
【００９１】
一方、上記したステップＳＴ１４１、ステップＳＴ１４２およびステップＳＴ１４３のうち、いずれか１つのステップの判定結果が肯定判定（ＹＥＳ）である場合は、燃料噴射制御に異常（指令噴射量の演算異常・燃料噴射弁の駆動異常）があると判定して異常フラッグをセットする（ステップＳＴ１４４）。異常フラグがセットされると、マイクロコンピュータ２１は、上記した内容のフェールセーフ処理を実施する。その後に処理を終了する。
【００９２】
＜効果＞
以上説明したように、本実施形態によれば、燃料噴射制御の異常の判定に用いる噴射量閾値を、［判定モード０（車速＜１０ｋｍ／ｈ）の噴射量閾値＜判定モード１（１０ｋｍ／ｈ≧車速＜３０ｋｍ／ｈ）の噴射量閾値＜判定モード２（車速≧３０ｋｍ／ｈ）の噴射量閾値］となるように設定している。すなわち、噴射量閾値を、車速に応じて車速が大きくなるほど大きな値に設定しているので、高車速時において燃料噴射制御異常と判定されにくくなる。これにより、高車速時においてドライバに違和感を与えるフェールセーフ処理の実施を抑制することができる。また、指令噴射量Ｑｆｉｎと監視噴射量（要求噴射量モニタ値Ｑｆｉｎｍまたは総噴射量モニタ値ΣＱＭ）との噴射量差分が噴射量閾値以上である状態が時間閾値以上継続した場合に異常があると確定して、フェールセーフ処理を実施しているので、燃料噴射制御の異常をより正確に確定することができる。
【００９３】
さらに、本実施形態では、指令噴射量と監視噴射量との噴射量差分が噴射量閾値以上になった場合、その直前の噴射量閾値を保持するようにしているので、指令噴射量と監視噴射量との噴射量差分が噴射量閾値以上となっている状況において、車両が加速している場
合、車速の上昇により、異常確定前に噴射量閾値が変化して正しく異常判定をできなくなる、という不具合を避けることができる。
【００９４】
しかも、本実施形態にあっては、燃料噴射量制御に係るエンジン制御装置２０の一連の処理を、２つの部分に分けてそれぞれ個別に監視している。そのため、監視のための演算ロジックを簡略化したとしても、個々の監視に係る演算誤差は小さくなり、異常検出精度の低下が抑えられる。したがって、本実施形態のエンジン制御装置によれば、演算負荷を抑えつつも、燃料噴射量制御が正常に行われているか否かを高精度で判定することができる。
【００９５】
また、本実施形態では、第１異常判定処理Ｐ１１で異常判定されたときと、第２異常判定処理Ｐ２２で異常判定されたときとで、異なる態様でフェールセーフ処理を行うようにしている。そのため、異常の種類に応じた、より的確なフェールセーフ処理を行うことが可能となる。
【００９６】
−他の実施形態−
以上の実施形態では、車速を基準として３つの判定モードを設定しているが、本発明はこれに限られることなく、２つの判定モードもしくは４つ以上の判定モードを設定して異常判定を行うようにしてもよい。
【００９７】
以上の実施形態では、１つの判定モードに対して３つの噴射量閾値（Ｑｔｈ）と３つの時間閾値（Ｔｔｈ）とを設定しているが、本発明はこれに限られることなく、１つの判定モードに対して１つの噴射量閾値（Ｑｔｈ）と１つの時間閾値（Ｔｔｈ）とを設定するようにしてもよいし、１つの判定モードに対して、２つもしくは４つ以上の噴射量閾値（Ｑｔｈ）と２つもしくは４つ以上の時間閾値（Ｔｔｈ）とを設定するようにしてもよい。
【００９８】
以上の実施形態では、第１異常判定処理Ｐ１１および第２異常判定処理Ｐ２２において閾値マップを参照して噴射量閾値および時間閾値を取得しているが、本発明はこれに限られることなく、それら噴射量閾値および時間閾値を、モデル式に基づいた演算で取得するようにしてもよい。
【００９９】
以上の実施形態では、アクセル開度およびエンジン回転数に基づいて車速を推定して異常判定を行っているが、本発明はこれに限られることなく、車速情報が保障されている車速センサが車両に搭載されている場合、その車速センサにて検出される実際の車速に基づいて、車速が大きいほど噴射量閾値を大きく設定するようにしてもよい。
【０１００】
以上の実施形態では、指令噴射量と監視噴射量との差分が噴射量閾値以上である場合に燃料噴射制御の異常を判定するようにしているが、本発明はこれに限られることなく、例えば、指令噴射量と監視噴射量との比が噴射量閾値以上である場合に燃料噴射制御の異常を判定するようにしてもよい。
【０１０１】
以上の実施形態では、車両に搭載されたディーゼルエンジンのエンジン制御装置に本発明を適用した場合について説明した。本発明はこれに限られることなく、ガソリンエンジンのエンジン制御装置に対して適用することも可能である。
【０１０２】
ここで、本発明において、車速関連パラメータに基づいて前記燃料噴射制御の異常判定を行う判定処理部を設け、その車速関連パラメータが車速が大きい場合に対応する値になっている場合は車速が小さい場合に対応する値になっている場合と比較して、異常判定がされにくい判定基準で判定を行うようにしてもよい。
【産業上の利用可能性】
【０１０３】
本発明は、ディーゼルエンジンなどのエンジン制御装置に利用可能であり、さらに詳しくは、燃料噴射制御が正常に行われているか否かを判定することが可能なエンジン制御装置に有効に利用することができる。
【符号の説明】
【０１０４】
１４  インジェクタ（燃料噴射弁）
２０  エンジン制御装置
２１  マイクロコンピュータ（中央処理装置）
２３  ＥＤＵ（噴射モニタ信号出力手段）
Ｒ１  燃料噴射量制御ルーチン
Ｐ１  回転数算出処理
Ｐ２  指令噴射量演算処理
Ｒ２  第１監視ルーチン
Ｐ１０  噴射量モニタ値算出処理
Ｐ１１  第１異常判定処理
Ｒ３  第２監視ルーチン
Ｐ２０  実通電期間計測処理
Ｐ２１  噴射量換算処理
Ｐ２２  第２異常判定処理
【図１】
0006256401.tif 000002
【図２】
0006256401.tif 000003
【図３】
0006256401.tif 000004
【図４】
0006256401.tif 000005
【図５】
0006256401.tif 000006
【図６】
0006256401.tif 000007
【図７】
0006256401.tif 000008
【図８】
0006256401.tif 000009
【図９】
0006256401.tif 000010
【図１０】
0006256401.tif 000011
【図１１】
0006256401.tif 000012
【図１２】
0006256401.tif 000013
【図１３】
0006256401.tif 000014
【図１４】
0006256401.tif 000015
【図１５】
0006256401.tif 000016