(57)【要約】【課題】  リッチ化制御中における失火の発生を適切に回避でき、ドライバビリティーを向上可能なディーゼルエンジンの制御装置を提供する。【解決手段】  制御装置１は、理論空燃比よりもリッチ側への空燃比の一時的なリッチ化制御中、エンジン３が失火していると判定されたときに、ＥＧＲガスの量ＥＧＲＣＭＤ、燃料の噴射圧力ＰＲＡＩＬＣＭＤおよび燃料の噴射時期ΦＩＮＪＣＭＤのうちの少なくとも１つの制御パラメータを、失火状態を解消する方向に補正し（ステップ４９、８９、１２９）、失火状態が解消したと判定されたときに得られた、補正された少なくとも１つの制御パラメータに基づき、学習値ＥＧＲＧ、ＰＲＡＩＬＧ、ΦＩＮＪＧを算出し（ステップ５２、９２、１３２）、リッチ化制御中、少なくとも１つの制御パラメータを学習値ＥＧＲＧ、ＰＲＡＩＬＧ、ΦＩＮＪＧに基づいて決定する（ステップ５８，６７、９８，１０７、１３８，１４７）。【選択図】  図８
2006299925.tif 000002
【特許請求の範囲】
【請求項１】
ディーゼルエンジンが失火しているか否かを判定する失火判定手段と、
燃焼室内で燃焼される混合気の空燃比を、理論空燃比よりもリッチ側に一時的に制御する空燃比リッチ化手段と、
前記ディーゼルエンジンの負荷を検出する負荷検出手段と、
当該検出されたディーゼルエンジンの負荷に応じて、排気系から吸気系に還流するＥＧＲガスの量、前記燃焼室内に噴射される燃料の噴射圧力、および燃料の噴射時期のうちの少なくとも１つの制御パラメータを決定する決定手段と、
前記空燃比リッチ化手段による空燃比のリッチ化制御中、前記失火判定手段により前記ディーゼルエンジンが失火していると判定されたときに、前記決定手段により決定された前記少なくとも１つの制御パラメータを、前記失火状態を解消する方向に補正する補正手段と、
前記失火状態が解消したと判定されたときに得られた、前記補正された少なくとも１つの制御パラメータに基づいて、学習値を算出する学習手段と、を備え、
前記決定手段は、前記リッチ化制御中、前記少なくとも１つの制御パラメータを、前記学習値に基づいて決定することを特徴とするディーゼルエンジンの制御装置。
【請求項２】
前記リッチ化制御中、前記ディーゼルエンジンが失火していない状態が継続したか否かを判別する判別手段をさらに備え、
前記決定手段は、前記少なくとも１つの制御パラメータを前記学習値に決定している状態において、前記ディーゼルエンジンが失火していない状態が継続したと判別されたときに、前記少なくとも１つの制御パラメータを、前記ディーゼルエンジンの負荷に応じて決定することを特徴とする、請求項１に記載のディーゼルエンジンの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、混合気の空燃比を理論空燃比よりもリッチ側に一時的に制御するとともに、このリッチ化制御を失火状態に応じて行うディーゼルエンジンの制御装置に関する。
【背景技術】
【０００２】
従来、エンジンの失火状態に応じて、ＥＧＲガスの量を制御する制御装置として、例えば特許文献１に開示されたものが知られている。この制御装置では、エンジンの所定の点火回数当たりに生じた失火の回数を検出するとともに、検出した失火の回数が多いほど、ＥＧＲガスの量を低減し、それにより、失火の頻度を低減するようにしている。
【０００３】
しかし、このような制御をディーゼルエンジンのリッチ化制御中に行った場合には、以下のような問題がある。すなわち、ディーゼルエンジンの排気管には、ＮＯｘ捕捉材が設けられるとともに、このＮＯｘ捕捉材に捕捉されたＮＯｘを還元するために、混合気の空燃比を理論空燃比よりもリッチ側に一時的に制御するリッチ化制御が行われている。このリッチ化制御は、燃料の増量に加え、ＥＧＲガスの量を増加させることにより、燃焼室に供給される新気の量を低減させることによって行われる。このため、リッチ化制御中には、燃焼状態が不安定になり、失火が生じやすい。これに対して、上述したように、従来の制御装置では、失火が実際に発生するごとにＥＧＲガスの量を低減するにすぎず、そのような制御が繰り返し行われる。このため、リッチ化制御が行われるたびに、失火が繰り返し発生することは避けられず、ドライバビリティーが悪化してしまう。
【０００４】
本発明は、以上のような課題を解決するためになされたものであり、リッチ化制御中における失火の発生を適切に回避でき、ドライバビリティーを向上させることができるディーゼルエンジンの制御装置を提供することを目的とする。
【０００５】
【特許文献１】特開平８−２８３６５号公報
【発明の開示】
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、請求項１に係るディーゼルエンジンの制御装置１は、ディーゼルエンジン３が失火しているか否かを判定する失火判定手段（実施形態における（以下、本項において同じ）クランク角センサ３０、ＥＣＵ２、ステップ２１〜２３）と、燃焼室３ｃ内で燃焼される混合気の空燃比を、理論空燃比よりもリッチ側に一時的に制御する空燃比リッチ化手段（インジェクタ６、ＥＣＵ２、ステップ３）と、ディーゼルエンジンの負荷（エンジン回転数ＮＥ、要求トルクＰＭＣＭＤ）を検出する負荷検出手段（クランク角センサ３０，アクセル開度センサ３４、ＥＣＵ２、ステップ１１）と、検出されたディーゼルエンジンの負荷に応じて、排気系（排気管５）から吸気系（吸気管４）に還流するＥＧＲガスの量（目標ＥＧＲガス量ＥＧＲＣＭＤ）、燃焼室３ｃ内に噴射される燃料の噴射圧力（目標噴射圧力ＰＲＡＩＬＣＭＤ）、および燃料の噴射時期（目標噴射時期ΦＩＮＪＣＭＤ）のうちの少なくとも１つの制御パラメータを決定する決定手段（ＥＣＵ２、ステップ３２，４５，４６，６０，６２、７２，８５，８６，１００，１０２、１１２，１２５，１２６，１４０，１４２）と、空燃比リッチ化手段による空燃比のリッチ化制御中、失火判定手段によりディーゼルエンジン３が失火していると判定されたときに、決定手段により決定された少なくとも１つの制御パラメータを、失火状態を解消する方向に補正する補正手段（ＥＣＵ２、ステップ４９、８９、１２９）と、失火状態が解消したと判定されたときに得られた、補正された少なくとも１つの制御パラメータに基づいて、学習値ＥＧＲＧ、ＰＲＡＩＬＧ、ΦＩＮＪＧを算出する学習手段（ＥＣＵ２、ステップ５２、９２、１３２）と、を備え、決定手段は、リッチ化制御中、少なくとも１つの制御パラメータを、学習値ＥＧＲＧ、ＰＲＡＩＬＧ、ΦＩＮＪＧに基づいて決定する（ステップ５８，６７、９８，１０７、１３８，１４７）ことを特徴とする。
【０００７】
このディーゼルエンジン（以下、単に「エンジン」という）の制御装置によれば、エンジンの失火を失火判定手段によって判定し、空燃比リッチ化手段によって、混合気の空燃比を理論空燃比よりもリッチ側に制御するリッチ化制御を行う。また、検出されたエンジンの負荷に応じて、ＥＧＲガスの量、噴射圧力および噴射時期のうちの少なくとも１つの制御パラメータを、決定手段によって決定し、リッチ化制御中、エンジンが失火していると判定されたときに、補正手段により、上記決定した少なくとも１つの制御パラメータを、失火状態を解消する方向に補正する。さらに、失火状態が解消したと判定されたときに、そのときに得られている補正された少なくとも１つの制御パラメータに基づいて、学習手段によって学習値を算出する。また、学習値が算出されたときには、リッチ化制御中に、少なくとも１つの制御パラメータが算出された学習値に基づいて決定される。
【０００８】
一般に、ＥＧＲガスの量が大きいほど、噴射圧力が小さいほど、噴射時期が遅いほど、噴射した燃料が着火する時期がより遅くなることによって、リッチ化制御中のエンジンの燃焼状態は不安定になる。したがって、ＥＧＲガスの量の低減、噴射圧力の増大、噴射時期の進角などを行えば、燃料の着火時期が早まり、燃焼状態は安定する。したがって、上記のように、リッチ化制御中、エンジンが失火していると判定されたときに、これらの少なくとも１つの制御パラメータを、失火状態を解消する方向に補正することによって、燃焼状態を安定させることができ、それにより、失火状態を解消することができる。また、上記のように、失火が実際に解消したときの少なくとも１つの制御パラメータに基づいて、その学習値を算出するとともに、リッチ化制御中に、この学習値に基づいて少なくとも１つの制御パラメータを決定するので、安定した燃焼状態を確保でき、失火の発生を回避できる。したがって、リッチ化制御中における失火の発生を適切に回避でき、ドライバビリティーを向上させることができる。
【０００９】
請求項２に係る発明は、請求項１に記載のディーゼルエンジンの制御装置１において、リッチ化制御中、ディーゼルエンジン３が失火していない状態が継続したか否かを判別する判別手段（ＥＣＵ２、ステップ５７、９７、１３７）をさらに備え、決定手段は、少なくとも１つの制御パラメータを学習値ＥＧＲＧ、ＰＲＡＩＬＧ、ΦＩＮＪＧに決定している状態において、ディーゼルエンジン３が失火していない状態が継続したと判別されたときに、少なくとも１つの制御パラメータを、ディーゼルエンジンの負荷に応じて決定する（ステップ６０，６３、１００，１０３、１４０，１４３）ことを特徴とする。
【００１０】
この構成によれば、前記少なくとも１つの制御パラメータを学習値に決定している状態において、エンジンが失火していない状態が継続したと判別されたときに、少なくとも１つの制御パラメータをエンジンの負荷に応じて決定する。リッチ化制御時に、前述したようにして求めた学習値を制御パラメータとして用いた場合には、失火を回避できる一方で、燃費や排ガス特性が悪化するおそれがある。本発明によれば、リッチ化制御中、失火していない状態が継続したときに、少なくとも１つの制御パラメータをエンジンの負荷に応じた値に決定する。したがって、失火を適切に回避しながら、燃費や排ガス特性を良好な状態に維持することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら、本発明の好ましい実施形態について説明する。図１は、本発明を適用したディーゼルエンジン（以下「エンジン」という）３を示している。このエンジン３は、車両（図示せず）に搭載された４気筒タイプのものである。
【００１２】
エンジン３のピストン３ａとシリンダヘッド３ｂの間には、燃焼室３ｃが形成されている。シリンダヘッド３ｂには、吸気管４（吸気系）および排気管５（排気系）がそれぞれ接続されるとともに、燃料噴射弁（以下「インジェクタ」という）６（空燃比リッチ化手段）が、燃焼室３ｃに臨むように取り付けられている。
【００１３】
インジェクタ６は、燃焼室３ｃの天壁中央部に配置されており、コモンレール（図示せず）を介して、高圧ポンプ６ａおよび燃料タンク（図示せず）に順に接続されている。高圧ポンプ６ａは、燃料タンクの燃料を、高圧に昇圧した後、コモンレールを介してインジェクタ６に送り、インジェクタ６はこの燃料を燃焼室３ｃに噴射する。燃料の噴射圧力ＰＲＡＩＬは、後述するＥＣＵ２で高圧ポンプ６ａを制御することによって制御される（図２参照）とともに、コモンレールに設けられた燃料圧センサ３５によって検出され、その検出信号はＥＣＵ２に出力される。また、インジェクタ６の開弁時間および開閉弁タイミングは、ＥＣＵ２からの駆動信号によって制御され、それにより、燃料噴射量および噴射時期がそれぞれ制御される。
【００１４】
エンジン３のクランクシャフト３ｄには、マグネットロータ３０ａが取り付けられており、このマグネットロータ３０ａとＭＲＥピックアップ３０ｂによって、クランク角センサ３０（失火判定手段、負荷検出手段）が構成されている。クランク角センサ３０は、クランクシャフト３ｄの回転に伴い、パルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ２に出力する。
【００１５】
ＣＲＫ信号は、所定のクランク角（例えば３０゜）ごとに出力される。ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥ（ディーゼルエンジンの負荷）を求める。ＴＤＣ信号は、各気筒のピストン３ａが吸気行程開始時のＴＤＣ（上死点）付近の所定クランク角度位置にあることを表す信号であり、４気筒タイプの本例では、クランク角１８０゜ごとに出力される。
【００１６】
吸気管４には、過給装置７が設けられており、過給装置７は、ターボチャージャで構成された過給機８と、これに連結されたアクチュエータ９と、ベーン開度制御弁１０を備えている。
【００１７】
過給機８は、吸気管４に設けられた回転自在のコンプレッサブレード８ａと、排気管５に設けられた回転自在のタービンブレード８ｂおよび複数の回動自在の可変ベーン８ｃ（２つのみ図示）と、これらのブレード８ａ，８ｂを一体に連結するシャフト８ｄとを有している。過給機８は、排気管５内の排ガスによりタービンブレード８ｂが回転駆動されるのに伴い、これと一体のコンプレッサブレード８ａが回転駆動されることによって、吸気管４内の吸入空気を加圧する過給動作を行う。
【００１８】
アクチュエータ９は、負圧によって作動するダイアフラム式のものであり、各可変ベーン８ｃに機械的に連結されている。アクチュエータ９には、負圧ポンプから負圧供給通路（いずれも図示せず）を介して負圧が供給され、この負圧供給通路の途中にベーン開度制御弁１０が設けられている。ベーン開度制御弁１０は、電磁弁で構成されており、その開度がＥＣＵ２からの駆動信号で制御されることにより、アクチュエータ９への供給負圧が変化し、それに伴い、可変ベーン８ｃの開度が変化することにより、過給圧が制御される。
【００１９】
吸気管４の過給機８よりも下流側には、上流側から順に、水冷式のインタークーラ１１およびスロットル弁１２が設けられている。インタークーラ１１は、過給装置７の過給動作により吸入空気の温度が上昇したときなどに、吸入空気を冷却するものである。スロットル弁１２には、例えば直流モータで構成されたアクチュエータ１２ａが接続されている。スロットル弁１２の開度（以下「スロットル弁開度」という）は、アクチュエータ１２ａに供給される電流のデューティ比をＥＣＵ２で制御することによって、制御される。
【００２０】
また、吸気管４には、過給機８よりも上流側にエアフローセンサ３１が、インタークーラ１１とスロットル弁１２の間に過給圧センサ３２が、それぞれ設けられている。エアフローセンサ３１は吸入空気量ＱＡを検出し、過給圧センサ３２は吸気管４内の過給圧ＰＡＣＴを検出し、それらの検出信号はＥＣＵ２に出力される。
【００２１】
さらに、吸気管４の吸気マニホールド４ａは、その集合部から分岐部にわたって、スワール通路４ｂとバイパス通路４ｃに仕切られており、これらの通路４ｂ，４ｃはそれぞれ、吸気ポートを介して各燃焼室３ｃに連通している。バイパス通路４ｃには、スワール装置１３が設けられており、このスワール装置１３は、スワール弁１３ａと、これを開閉するアクチュエータ１３ｂと、スワール制御弁１３ｃを備えている。スワール制御弁１３ｃの開度をＥＣＵ２で制御することにより、スワール弁１３ａの開度を変化させることによって、燃焼室３ｃ内に発生するスワールの強さが制御される。
【００２２】
また、エンジン３には、ＥＧＲ管１４ａおよびＥＧＲ制御弁１４ｂを有するＥＧＲ装置１４が設けられている。ＥＧＲ管１４ａは、吸気管４と排気管５の間に、具体的には、吸気マニホールド４ａの集合部のスワール通路４ｂと排気管５の過給機８よりも上流側とをつなぐように接続されている。このＥＧＲ管１４ａを介して、エンジン３の排ガスの一部が吸気管４にＥＧＲガスとして還流し、それにより、燃焼室３ｃ内の燃焼温度が低下することによって、排ガス中のＮＯｘが低減される。
【００２３】
ＥＧＲ制御弁１４ｂは、ＥＧＲ管１４ａに取り付けられたリニア電磁弁で構成されており、そのバルブリフト量が、ＥＣＵ２からの駆動信号によってリニアに制御されることによって、ＥＧＲガス量が制御される。
【００２４】
また、ＥＧＲ装置１４にはＥＧＲガスを冷却するためのＥＧＲ冷却装置１５が設けられており、ＥＧＲ冷却装置１５は、バイパス通路１５ａと、ＥＧＲ通路切替弁１５ｂと、ＥＧＲ管１４ａのＥＧＲ制御弁１４ｂよりも下流側に設けられたＥＧＲクーラ１５ｃを有している。バイパス通路１５ａは、ＥＧＲ管１４ａのＥＧＲ制御弁１４ｂよりも下流側に、ＥＧＲクーラ１５ｃをバイパスするように設けられており、ＥＧＲ通路切替弁１５ｂはバイパス通路１５ａの分岐部に取り付けられている。ＥＧＲ通路切替弁１５ｂは、ＥＣＵ２による制御によって、ＥＧＲ管１４ａのＥＧＲ通路切替弁１５ｂよりも下流側の部分を、ＥＧＲ管１４ａ側とバイパス通路１５ａ側に選択的に切り替える。
【００２５】
以上により、ＥＧＲ通路切替弁１５ｂがバイパス通路１５ａ側に切り替えられた場合には、ＥＧＲガスは、バイパス通路１５ａに通され、吸気管４に還流する。一方、逆側に切り替えられた場合には、ＥＧＲガスは、ＥＧＲクーラ１５ｃで冷却された後、吸気管４に還流する。
【００２６】
また、排気管５の過給機８よりも下流側には、上流側から順に、三元触媒１６およびＮＯｘ触媒１７が設けられている。三元触媒１６は、ストイキ雰囲気下において、排ガス中のＨＣおよびＣＯを酸化するとともに、ＮＯｘを還元することによって、排ガスを浄化する。ＮＯｘ触媒１７は、排ガス中の酸素濃度が高い場合（酸化雰囲気）において、排ガス中のＮＯｘを捕捉するとともに、排ガス中の還元剤により、捕捉したＮＯｘを還元することによって、排ガスを浄化する。
【００２７】
さらに、排気管５の三元触媒１６のすぐ上流側には、ＬＡＦセンサ３３が設けられている。ＬＡＦセンサ３３は、リッチ領域からリーン領域までの広範囲な空燃比の領域において排ガス中の酸素濃度ＶＬＡＦをリニアに検出する。ＥＣＵ２は、ＬＡＦセンサ３３で検出された酸素濃度ＶＬＡＦに基づいて、燃焼室３ｃで燃焼された実際の混合気の空燃比を表す実空燃比Ａ／ＦＡＣＴを算出する。ＥＣＵ２にはさらに、アクセル開度センサ３４（負荷検出手段）から、アクセルペダル（図示せず）の操作量（以下「アクセル開度」という）ＡＰを表す検出信号が出力される。
【００２８】
ＥＣＵ２は、Ｉ／Ｏインターフェース、ＣＰＵ、ＲＡＭおよびＲＯＭなどからなるマイクロコンピュータで構成されている。前述した各種センサ３０〜３５からの検出信号はそれぞれ、Ｉ／ＯインターフェースでＡ／Ｄ変換や整形がなされた後、ＣＰＵに入力される。
【００２９】
ＣＰＵは、これらの入力信号に応じ、ＲＯＭに記憶された制御プログラムなどに従って、エンジン３の運転状態を判別するとともに、判別した運転状態に応じて、燃料噴射量、噴射時期やＥＧＲガス量の制御を含むエンジン３の制御を実行する。また、エンジン３が失火しているか否かを判定するとともに、ＮＯｘ触媒１７に捕捉されたＮＯｘの還元動作としてのリッチ化を実行する。また、本実施形態では、ＥＣＵ２によって、失火判定手段、空燃比リッチ化手段、負荷検出手段、決定手段、補正手段、学習手段および判別手段が構成されている。
【００３０】
次に、図３を参照しながら、燃料噴射量の制御処理について説明する。本処理および後述する処理はＴＤＣ信号の入力に同期して実行される。まず、ステップ１（「Ｓ１」と図示。以下同じ）では、リッチ化フラグＦ＿ＲＩＣＨが「１」であるか否かを判別する。
【００３１】
このリッチ化フラグＦ＿ＲＩＣＨは、推定したＮＯｘ触媒１７が捕捉したＮＯｘの捕捉量が所定量よりも大きいときに、リッチ化の実行条件が成立しているとして、「１」にセットされ、その後、所定時間が経過したときに、ＮＯｘの還元が十分に行われたとして、「０」にリセットされるものである。これにより、リッチ化はこの所定時間にわたって実行される。また、上記のＮＯｘ触媒１７のＮＯｘの捕捉量は、エンジン３の運転状態および運転時間に応じて推定される。
【００３２】
上記ステップ１の答がＮＯで、リッチ化の実行条件が成立していないときには、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じ、マップ（図示せず）を検索することによって、通常運転用の目標燃料噴射量ＴＯＵＴを算出し（ステップ２）、本処理を終了する。このマップでは、目標燃料噴射量ＴＯＵＴは、実空燃比Ａ／ＦＡＣＴが理論空燃比（以下「ストイキ」という）よりもリーンになるように設定されている。また、この算出した目標燃料噴射量ＴＯＵＴに基づく駆動信号がインジェクタ６に出力され、燃料噴射量が制御される。
【００３３】
一方、前記ステップ１の答がＹＥＳで、リッチ化の実行条件が成立しているときには、リッチ化用の目標燃料噴射量ＴＯＵＴを算出し（ステップ３）、本処理を終了する。
【００３４】
このリッチ化用の目標燃料噴射量ＴＯＵＴは、次のようにして算出される。すなわち、まず、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じ、マップ（図示せず）を検索することによって基本燃料噴射量を求める。次いで、目標空燃比および実空燃比Ａ／ＦＡＣＴに応じ、所定のフィードバック（以下「Ｆ／Ｂ」という）制御アルゴリズムによって、Ｆ／Ｂ補正項を算出する。この目標空燃比は、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤ（ディーゼルエンジンの負荷）に応じ、マップ（図示せず）を検索することによって算出されるものであり、このマップでは、ストイキよりもリッチ側の値に設定されている。また、要求トルクＰＭＣＭＤは、図４のステップ１１において、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じ、マップ（図示せず）を検索することによって算出される。そして、Ｆ／Ｂ補正項を基本燃料噴射量に加算することによって、目標燃料噴射量ＴＯＵＴを算出する。これにより、実空燃比Ａ／ＦＡＣＴが目標空燃比になるようにＦ／Ｂ制御される。
【００３５】
以上のような燃料噴射量の制御によって、リッチ化を実行しない通常運転時には、ストイキよりもリーンな空燃比で燃焼が行われる。一方、リッチ化時には、燃料噴射量が通常運転時よりも大きな値に制御され、ストイキよりもリッチな空燃比で燃焼が行われる。これにより、排ガスが還元状態に制御され、通常運転時にＮＯｘ捕捉材１７に捕捉されたＮＯｘが還元される。
【００３６】
次に、図５を参照しながら、エンジン３の失火を判定する処理について説明する。まず、ステップ２１では、パルス間経過時間ＴＣＲＫが所定の判定値ＴＣＲＥＦよりも大きいか否かを判別する。このパルス間経過時間ＴＣＲＫは、前回のＣＲＫ信号が出力されてから今回のＣＲＫ信号が出力されるまでに要した時間であり、ＥＣＵ２によって算出される。また、判定値ＴＣＲＥＦは、エンジン回転数ＮＥおよびアクセル開度ＡＰに応じ、マップ（図示せず）を検索することによって求められる。
【００３７】
ステップ２１の答がＹＥＳで、ＴＣＲＫ＞ＴＣＲＥＦのときには、エンジン３の回転が大きく変動しており、エンジン３が失火していると判定し、失火フラグＦ＿ＭＦを「１」にセットした（ステップ２２）後、本処理を終了する。一方、ステップ２１の答がＮＯのときには、エンジン３が失火していないと判定し、失火フラグＦ＿ＭＦを「０」にセットした（ステップ２３）後、本処理を終了する。
【００３８】
次いで、図６を参照しながら、ＥＧＲガス量を制御するＥＧＲ制御処理について説明する。まず、ステップ３１では、リッチ化フラグＦ＿ＲＩＣＨが「１」であるか否かを判別する。この答がＮＯで、リッチ化の実行条件が成立していないときには、通常運転用の目標ＥＧＲガス量ＥＧＲＣＭＤ（ＥＧＲガスの量）を算出し（ステップ３２）、本処理を終了する。
【００３９】
この通常運転用の目標ＥＧＲガス量ＥＧＲＣＭＤは次のようにして算出される。すなわち、まず、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、マップ（図示せず）を検索することによって、通常運転用のデフォルト値を算出する。次に、実際の吸入空気量ＱＡが目標吸入空気量になるように、所定のＦ／Ｂ制御アルゴリズムによって、Ｆ／Ｂ補正項を算出する。この目標吸入空気量は、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、マップ（図示せず）を検索することによって算出される。
【００４０】
次いで、上記のデフォルト値にＦ／Ｂ補正項を加算することによって、目標ＥＧＲガス量ＥＧＲＣＭＤを算出する。以上のようにして算出した目標ＥＧＲガス量ＥＧＲＣＭＤに基づく駆動信号がＥＧＲ制御弁１４ｂに出力され、それにより、ＥＧＲガス量を制御することによって、吸入空気量ＱＡが目標吸入空気量になるようにＦ／Ｂ制御される。
【００４１】
一方、上記ステップ３１の答がＹＥＳで、リッチ化の実行条件が成立しているときには、リッチ化用の目標ＥＧＲガス量ＥＧＲＣＭＤを算出し（ステップ３３）、本処理を終了する。
【００４２】
図７および図８は、このリッチ化用の目標ＥＧＲガス量ＥＧＲＣＭＤを算出する処理を示している。まず、図７のステップ４１では、そのときのエンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応する学習ステータスＬＥＳＴＳＥが「１」であるか否かを判別する。この学習ステータスＬＥＳＴＳＥは、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤの組合せごとに設定されるものであり、目標ＥＧＲガス量ＥＧＲＣＭＤの学習値ＥＧＲＧが算出されているときに、「１」にセットされる。
【００４３】
ステップ４１の答がＮＯで、学習値ＥＧＲＧが算出されていないときには、解除カウンタのカウンタ値ＣＣＲを所定値ＣＲＥＦにセットする（ステップ４２）とともに、補正中フラグＦ＿ＣＯＥが「１」であるか否かを判別する（ステップ４３）。後述するように、この補正中フラグＦ＿ＣＯＥは、目標ＥＧＲガス量ＥＧＲＣＭＤを減少補正しているときに、「１」にセットされるものである。この答がＮＯのときには、失火フラグＦ＿ＭＦが「１」であるか否かを判別する（ステップ４４）。
【００４４】
この答がＮＯで、エンジン３が失火していないときには、リッチ化用のデフォルト値ＥＧＲＤＦを、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、マップ（図示せず）を検索することによって算出する（ステップ４５）。次いで、算出したデフォルト値ＥＧＲＤＦにＦ／Ｂ補正項を加算することによって、目標ＥＧＲガス量ＥＧＲＣＭＤを算出し（ステップ４６）、本処理を終了する。このＦ／Ｂ補正項は、実際の吸入空気量ＱＡがリッチ化用の目標吸入空気量になるように、所定のＦ／Ｂ制御アルゴリズムによって算出される。この目標吸入空気量は、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、マップ（図示せず）を検索することによって算出され、同マップでは、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤの全領域において、通常運転用の目標吸入空気量よりも小さな値に設定されている。また、リッチ化用の目標ＥＧＲガス量ＥＧＲＣＭＤは、通常運転用の目標ＥＧＲガス量ＥＧＲＣＭＤよりも大きな値に算出される。以上のように、目標ＥＧＲガス量ＥＧＲＣＭＤは、吸入空気量ＱＡがリッチ化用の目標吸入空気量になるように算出される。
【００４５】
一方、前記ステップ４４の答がＹＥＳで、エンジン３の失火が発生したときには、この失火状態を解消するために、目標ＥＧＲガス量ＥＧＲＣＭＤの補正を開始するものとし、補正中フラグＦ＿ＣＯＥを「１」にセットする（ステップ４８）。なお、補正中フラグＦ＿ＣＯＥは、リッチ化以外の通常運転時には、「０」にリセットされる。
【００４６】
次いで、それまでに得られている目標ＥＧＲガス量ＥＧＲＣＭＤから所定の補正値ＣＥＧＲを減算した値を、目標ＥＧＲガス量ＥＧＲＣＭＤとして設定し（ステップ４９）、目標ＥＧＲガス量ＥＧＲＣＭＤを減少補正する。次に、補正した目標ＥＧＲガス量ＥＧＲＣＭＤに対してリミット処理を行い（ステップ５０）、本処理を終了する。このリミット処理では、目標ＥＧＲガス量ＥＧＲＣＭＤと所定の下限値を比較し、ＥＧＲＣＭＤ＜下限値のときには、目標ＥＧＲガス量ＥＧＲＣＭＤを下限値に設定し、ＥＧＲＣＭＤ≧下限値のときには、上記ステップ４９で求めた目標ＥＧＲガス量ＥＧＲＣＭＤをそのまま用いる。
【００４７】
上記ステップ４８の実行により、前記ステップ４３の答がＹＥＳとなり、その場合には、失火フラグＦ＿ＭＦが「１」であるか否かを判別する（ステップ５１）。この答がＹＥＳのとき、すなわち、失火状態が解消していないときには、前記ステップ４９以降を実行し、目標ＥＧＲガス量ＥＧＲＣＭＤをさらに減少補正する。一方、このステップ５１の答がＮＯで、失火状態が解消したときには、そのときの目標ＥＧＲガス量ＥＧＲＣＭＤを、学習値ＥＧＲＧとして設定する（ステップ５２）。この学習値ＥＧＲＧは、そのときのエンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応させて記憶される。
【００４８】
次いで、学習値ＥＧＲＧがすでに算出されたことを表すために、学習ステータスＬＥＳＴＳＥを「１」にセットする（ステップ５３）。この学習ステータスＬＥＳＴＳＥもまた、そのときのエンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応させて記憶される。次に、補正中フラグＦ＿ＣＯＥを「０」にリセットし（ステップ５４）、本処理を終了する。
【００４９】
以上のように、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応する学習値ＥＧＲＧが算出されておらず（ステップ４１：ＮＯ）、エンジン３が失火していないときには（ステップ４４：ＮＯ）、目標ＥＧＲガス量ＥＧＲＣＭＤは、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じたデフォルト値ＥＧＲＤＦに基づいて算出される（ステップ４５，４６）。
【００５０】
また、エンジン３が失火したと判定されたときには（ステップ４４：ＹＥＳ）、この失火状態を解消するために、目標ＥＧＲガス量ＥＧＲＣＭＤを減少補正する。この補正は、目標ＥＧＲガス量ＥＧＲＣＭＤから補正値ＣＥＧＲを減算する（ステップ４９）ことによって、失火状態が解消するまで繰り返し行われる。この補正により、ＥＧＲガス量を低減することで、着火遅れが短くなり、着火時期を早めることによって、失火状態を解消することができる。そして、失火状態が解消すると（ステップ５１：ＮＯ）、そのときの目標ＥＧＲガス量ＥＧＲＣＭＤが、学習値ＥＧＲＧとして設定され（ステップ５２）、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応させて記憶される。
【００５１】
一方、前記ステップ４１の答がＹＥＳで、ＬＥＳＴＳＥ＝１のとき、すなわち、学習値ＥＧＲＧがすでに算出されているときには、図８のステップ５５において、失火フラグＦ＿ＭＦが「１」であるか否かを判別する。この答がＮＯで、エンジン３が失火していないときには、前記ステップ４２でセットした解除カウンタのカウンタ値ＣＣＲをデクリメントする（ステップ５６）。
【００５２】
次いで、このカウンタ値ＣＣＲが０であるか否かを判別する（ステップ５７）。この答がＮＯのときには、目標ＥＧＲガス量ＥＧＲＣＭＤを学習値ＥＧＲＧに設定し（ステップ５８）、本処理を終了する。
【００５３】
一方、上記ステップ５７の答がＹＥＳのとき、すなわち、目標ＥＧＲガス量ＥＧＲＣＭＤを学習値ＥＧＲＧに設定した状態で、所定値ＣＲＥＦに相当する時間、失火が発生していない状態が継続したときには、学習値ＥＧＲＧに所定の戻し補正値ＣＣＲＥＧＲを加算することによって、学習値ＥＧＲＧを更新する（ステップ５９）。
【００５４】
次いで、前記ステップ４５と同様にしてデフォルト値ＥＧＲＤＦを算出し（ステップ６０）、上記ステップ５９で更新した学習値ＥＧＲＧが、算出したデフォルト値ＥＧＲＤＦ以上であるか否かを判別する（ステップ６１）。この答がＮＯのときには、前記ステップ５８を実行する一方、ＹＥＳのときには、目標ＥＧＲガス量ＥＧＲＣＭＤをデフォルト値ＥＧＲＤＦに設定する（ステップ６２）とともに、学習値ＥＧＲＧをデフォルト値ＥＧＲＤＦに設定する（ステップ６３）。次いで、学習ステータスＬＥＳＴＳＥを「０」にリセットし（ステップ６４）、本処理を終了する。
【００５５】
一方、前記ステップ５５の答がＹＥＳのとき、すなわち、目標ＥＧＲガス量ＥＧＲＣＭＤを学習値ＥＧＲＧに設定した状態で、エンジン３が失火したときには、解除カウンタのカウンタ値ＣＣＲを所定値ＣＲＥＦにセットし（ステップ６５）、学習値ＥＧＲＧから補正値ＣＥＧＲを減算することによって、学習値ＥＧＲＧを更新した（ステップ６６）後、更新した学習値ＥＧＲＧを目標ＥＧＲガス量ＥＧＲＣＭＤとして設定する（ステップ６７）。次いで、この目標ＥＧＲガス量ＥＧＲＣＭＤに対して、前記ステップ５０と同様のリミット処理を行い（ステップ６８）、本処理を終了する。
【００５６】
以上のように、学習値ＥＧＲＧが算出されると（ステップ４１：ＹＥＳ）、その後、目標ＥＧＲガス量ＥＧＲＣＭＤは学習値ＥＧＲＧに設定される（ステップ５８）。そして、そのように学習値ＥＧＲＧに設定した状態で、所定値ＣＲＥＦに相当する時間、失火が発生していない状態が継続したときには、学習値ＥＧＲＧを、徐々に増大補正する（ステップ５９）とともに、目標ＥＧＲガス量ＥＧＲＣＭＤとして用いる。そして、ＥＧＲＧ≧ＥＧＲＤＦが成立したときに（ステップ６１：ＹＥＳ）、目標ＥＧＲガス量ＥＧＲＣＭＤおよび学習値ＥＧＲＧは、最終的にデフォルト値ＥＧＲＤＦに設定される（ステップ６２，６３）。また、学習ステータスＬＥＳＴＳＥを「０」にリセットした（ステップ６４）後には、デフォルト値ＥＧＲＤＦに基づく本来のＥＧＲガス量の制御が行われる。
【００５７】
また、上記のように、目標ＥＧＲガス量ＥＧＲＣＭＤを学習値ＥＧＲＧに設定した状態で、エンジン３の失火が発生したときには（ステップ５５：ＹＥＳ）、学習値ＥＧＲＧから補正値ＣＥＧＲを減算することによって、学習値ＥＧＲＧを更新し、失火状態が解消される方向に補正する（ステップ６６）とともに、目標ＥＧＲガス量ＥＧＲＣＭＤとして用いる（ステップ６７）。
【００５８】
次に、図９を参照しながら、噴射圧力ＰＲＡＩＬを制御する燃料噴射圧制御処理について説明する。まず、ステップ７１では、リッチ化フラグＦ＿ＲＩＣＨが「１」であるか否かを判別する。この答がＮＯで、リッチ化の実行条件が成立していないときには、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、マップ（図示せず）を検索することによって、通常運転用の目標噴射圧力ＰＲＡＩＬＣＭＤ（燃料の噴射圧力）を算出し（ステップ７２）、本処理を終了する。また、この算出した目標噴射圧力ＰＲＡＩＬＣＭＤに基づく駆動信号が高圧ポンプ６ａに出力され、それにより、噴射圧力ＰＲＡＩＬが目標噴射圧力ＰＲＡＩＬＣＭＤになるように制御される。
【００５９】
一方、上記ステップ７１の答がＹＥＳで、リッチ化の実行条件が成立しているときには、リッチ化用の目標噴射圧力ＰＲＡＩＬＣＭＤを算出し（ステップ７３）、本処理を終了する。
【００６０】
図１０および図１１は、このリッチ化用の目標噴射圧力ＰＲＡＩＬＣＭＤを算出する処理を示している。本処理は、前述した図７および図８のリッチ化用のＥＧＲＣＭＤ算出処理と同様、エンジン３の失火に応じて目標噴射圧力ＰＲＡＩＬＣＭＤを算出する。まず、図７のステップ４１〜５４と同様にして、図１０のステップ８１〜９４を実行する。すなわち、そのときのエンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応する学習値ＰＲＡＩＬＧが算出されていないときには（ステップ８１：ＮＯ）、解除カウンタのカウンタ値ＣＣＲＰを所定値ＣＲＥＦにセットする（ステップ８２）。
【００６１】
そして、失火状態を解消するための目標噴射圧力ＰＲＡＩＬＣＭＤの補正中でなく（ステップ８３：ＮＯ）、エンジン３が失火していないときには（ステップ８４：ＮＯ）、デフォルト値ＰＲＡＩＬＤＦを、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、マップ（図示せず）を検索することによって算出する（ステップ８５）。次いで、目標噴射圧力ＰＲＡＩＬＣＭＤを算出したデフォルト値ＰＲＡＩＬＤＦに設定し（ステップ８６）、本処理を終了する。これにより、目標噴射圧力ＰＲＡＩＬＣＭＤは、通常運転時よりも大きな値に設定される。
【００６２】
また、エンジン３の失火が発生したときには（ステップ８４：ＹＥＳ）、この失火状態を解消するための目標噴射圧力ＰＲＡＩＬＣＭＤの補正を開始し、補正中フラグＦ＿ＣＯＰを「１」にセットする（ステップ８８）。この補正は次のようにして行われる。すなわち、そのときの目標噴射圧力ＰＲＡＩＬＣＭＤに所定の補正値ＣＰＲＡＩＬを加算した値を、目標噴射圧力ＰＲＡＩＬＣＭＤとして設定し（ステップ８９）、目標噴射圧力ＰＲＡＩＬＣＭＤを増大補正する。この補正は、その開始後（ステップ８３：ＹＥＳ）、失火状態が解消するまで（ステップ９１がＮＯになるまで）、繰り返し行われる。これにより、噴射圧力ＰＲＡＩＬを高め、燃料の霧化の度合が高まり、着火時期が早くなることによって、燃焼状態を安定させることができ、失火状態を解消することができる。
【００６３】
また、補正した目標噴射圧力ＰＲＡＩＬＣＭＤに対して、リミット処理を行い（ステップ９０）、本処理を終了する。このリミット処理では、目標噴射圧力ＰＲＡＩＬＣＭＤ＞上限値のときには、目標噴射圧力ＰＲＡＩＬＣＭＤが上限値に設定され、ＰＲＡＩＬＣＭＤ≦上限値のときには、補正した目標噴射圧力ＰＲＡＩＬＣＭＤがそのまま用いられる。
【００６４】
そして、失火状態が解消すると（ステップ９１：ＮＯ）、そのときの目標噴射圧力ＰＲＡＩＬＣＭＤを学習値ＰＲＡＩＬＧとして設定する（ステップ９２）。次いで、学習値ＰＲＡＩＬＧが算出されたことを表すために、学習ステータスＬＥＳＴＳＰを「１」にセットし（ステップ９３）、この学習ステータスＬＥＳＴＳＰを、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応させて記憶する。次に、補正中フラグＦ＿ＣＯＰを「０」にリセットし（ステップ９４）、本処理を終了する。
【００６５】
以上のようにして学習値ＰＲＡＩＬＧが算出されると（ステップ８１：ＹＥＳ）、図８のステップ５５〜６８と同様にして、図１１のステップ９５〜１０８を実行する。すなわち、エンジン３が失火していないときには（ステップ９５：ＮＯ）、前記ステップ８２でセットした解除カウンタのカウンタ値ＣＣＲＰをデクリメントし（ステップ９６）、目標噴射圧力ＰＲＡＩＬＣＭＤを学習値ＰＲＡＩＬＧに設定する（ステップ９８）とともに、本処理を終了する。
【００６６】
そして、目標噴射圧力ＰＲＡＩＬＣＭＤを学習値ＰＲＡＩＬＧに設定した状態で、所定値ＣＲＥＦに相当する時間、エンジン３が失火していない状態が継続したときには（ステップ９７：ＹＥＳ）、学習値ＰＲＡＩＬＧから所定の戻し補正値ＣＣＲＰＲＡＩＬを減算することによって、学習値ＰＲＡＩＬＧを更新し（ステップ９９）、徐々に減少させる。
【００６７】
次いで、前記ステップ８５と同様にして、デフォルト値ＰＲＡＩＬＤＦを算出する（ステップ１００）。そして、ＰＲＡＩＬＧ＞ＰＲＡＩＬＤＦのときには（ステップ１０１：ＮＯ）、前記ステップ９８を実行する一方、ＰＲＡＩＬＧ≦ＰＲＡＩＬＤＦのときには（ステップ１０１：ＹＥＳ）、目標噴射圧力ＰＲＡＩＬＣＭＤを上記ステップ１００で算出したデフォルト値ＰＲＡＩＬＤＦに設定する（ステップ１０２）。次に、学習値ＰＲＡＩＬＧをデフォルト値ＰＲＡＩＬＤＦに設定し（ステップ１０３）、学習ステータスＬＥＳＴＳＰを「０」にリセットする（ステップ１０４）とともに、本処理を終了する。
【００６８】
一方、以上のように目標噴射圧力ＰＲＡＩＬＣＭＤを学習値ＰＲＡＩＬＧに設定した状態で、失火が発生したときには（ステップ９５：ＹＥＳ）、解除カウンタのカウンタ値ＣＣＲＰを所定値ＣＲＥＦにセットする（ステップ１０５）。次いで、学習値ＰＲＡＩＬＧに補正値ＣＰＲＡＩＬを加算することによって、学習値ＰＲＡＩＬＧを更新し（ステップ１０６）、失火状態が解消する方向に補正するとともに、更新した学習値ＰＲＡＩＬＧを目標噴射圧力ＰＲＡＩＬＣＭＤとして設定する（ステップ１０７）。次に、前記ステップ９０と同様にして、目標噴射圧力ＰＲＡＩＬＣＭＤに対してリミット処理を行い（ステップ１０８）、本処理を終了する。
【００６９】
次いで、図１２を参照しながら、噴射時期を制御する燃料噴射時期制御処理について説明する。まず、ステップ１１１では、リッチ化フラグＦ＿ＲＩＣＨが「１」であるか否かを判別する。この答がＮＯで、リッチ化の実行条件が成立していないときには、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、マップ（図示せず）を検索することによって、通常運転用の目標噴射時期ΦＩＮＪＣＭＤ（燃料の噴射時期）を算出し（ステップ１１２）、本処理を終了する。この算出した目標噴射時期ΦＩＮＪＣＭＤに基づく駆動信号が高圧ポンプ６ａに出力され、それにより、噴射時期が目標噴射時期ΦＩＮＪＣＭＤに制御される。
【００７０】
一方、上記ステップ１１１の答がＹＥＳで、リッチ化の実行条件が成立しているときには、リッチ化用の目標噴射時期ΦＩＮＪＣＭＤを算出し（ステップ１１３）、本処理を終了する。
【００７１】
図１３および図１４は、このリッチ化用の目標噴射時期ΦＩＮＪＣＭＤを算出する処理を示している。本処理は、前述した図７および図８のリッチ化用のＥＧＲＣＭＤ算出処理と同様、エンジン３の失火に応じて目標噴射時期ΦＩＮＪＣＭＤを算出する。まず、図７のステップ４１〜５４と同様にして、図１３のステップ１２１〜１３４を実行する。すなわち、そのときのエンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応する学習値ΦＩＮＪＧが算出されていないときには（ステップ１２１：ＮＯ）、解除カウンタのカウンタ値ＣＣＲΦを所定値ＣＲＥＦにセットする（ステップ１２２）。
【００７２】
そして、失火状態を解消するための目標噴射時期ΦＩＮＪＣＭＤの補正中でなく（ステップ１２３：ＮＯ）、エンジン３が失火していないときには（ステップ１２４：ＮＯ）、目標噴射時期のデフォルト値ΦＩＮＪＤＦを、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じ、マップ（図示せず）を検索することによって算出し（ステップ１２５）、目標噴射時期ΦＩＮＪＣＭＤを算出したデフォルト値ΦＩＮＪＤＦに設定し（ステップ１２６）、本処理を終了する。これにより、目標噴射時期ΦＩＮＪＣＭＤは、通常運転時よりも進角側の値に設定される。
【００７３】
また、エンジン３の失火が発生したときには（ステップ１２４：ＹＥＳ）、この失火状態を解消するための目標噴射時期ΦＩＮＪＣＭＤの補正を開始し、補正中フラグＦ＿ＣＯΦを「１」にセットする（ステップ１２８）。また、この補正は次のようにして行われる。すなわち、そのときの目標噴射時期ΦＩＮＪＣＭＤに所定の補正値ＣΦＩＮＪを加算した値を、目標噴射時期ΦＩＮＪＣＭＤとして設定し（ステップ１２９）、目標噴射時期ΦＩＮＪＣＭＤを進角側に補正する。この補正は、その開始後（ステップ１２３：ＹＥＳ）、失火状態が解消するまで（ステップ１３１がＮＯになるまで）、繰り返し行われる。これにより、噴射時期を早めることで、混合気を確実に着火させることによって、燃焼状態を安定させることができ、失火状態を解消することができる。
【００７４】
また、補正した目標噴射時期ΦＩＮＪＣＭＤに対して、リミット処理を行い（ステップ１３０）、本処理を終了する。このリミット処理では、目標噴射時期ΦＩＮＪＣＭＤ＞上限値のときには、目標噴射時期ΦＩＮＪＣＭＤが上限値に設定され、ΦＩＮＪＣＭＤ≦上限値のときには、補正した目標噴射時期ΦＩＮＪＣＭＤがそのまま用いられる。
【００７５】
そして、失火状態が解消すると（ステップ１３１：ＮＯ）、そのときの目標噴射時期ΦＩＮＪＣＭＤを学習値ΦＩＮＪＧとして設定する（ステップ１３２）。次いで、学習値ΦＩＮＪＧが算出されたことを表すために、学習ステータスＬＥＳＴＳΦを「１」にセットし（ステップ１３３）、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに対応させて記憶する。次に、補正中フラグＦ＿ＣＯΦを「０」にリセットし（ステップ１３４）、本処理を終了する。
【００７６】
以上のようにして学習値ΦＩＮＪＧが算出されると（ステップ１２１：ＹＥＳ）、図８のステップ５５〜６８と同様にして、図１４のステップ１３５〜１４８を実行する。すなわち、エンジン３が失火していないときには（ステップ１３５：ＮＯ）、前記ステップ１２２でセットした解除カウンタのカウンタ値ＣＣＲΦをデクリメントし（ステップ１３６）、目標噴射時期ΦＩＮＪＣＭＤを学習値ΦＩＮＪＧに設定する（ステップ１３８）とともに、本処理を終了する。
【００７７】
そして、目標噴射時期ΦＩＮＪＣＭＤを学習値ΦＩＮＪＧに設定した状態で、所定値ＣＲＥＦに相当する時間、エンジン３が失火していない状態が継続したときには（ステップ１３７：ＹＥＳ）、学習値ΦＩＮＪＧから戻し補正値ＣＣＲΦＩＮＪを減算することによって学習値ΦＩＮＪＧを更新し（ステップ１３９）、徐々に遅角側に補正する。
【００７８】
次いで、前記ステップ１２５と同様にして、デフォルト値ΦＩＮＪＤＦを算出する（ステップ１４０）。そして、ΦＩＮＪＧ＞ΦＩＮＪＤＦのときには（ステップ１４１：ＮＯ）、前記ステップ１３８を実行する一方、ΦＩＮＪＧ≦ΦＩＮＪＤＦのときには（ステップ１４１：ＹＥＳ）、目標噴射時期ΦＩＮＪＣＭＤを上記ステップ１４０で算出したデフォルト値ΦＩＮＪＤＦに設定する（ステップ１４２）。次に、学習値ΦＩＮＪＧをデフォルト値ΦＩＮＪＤＦに設定し（ステップ１４３）、学習ステータスＬＥＳＴＳΦを「０」にリセットする（ステップ１４４）とともに、本処理を終了する。
【００７９】
一方、以上のように目標噴射時期ΦＩＮＪＣＭＤを学習値ΦＩＮＪＧに設定した状態で、失火が発生したときには（ステップ１３５：ＹＥＳ）、解除カウンタのカウンタ値ＣＣＲΦを所定値ＣＲＥＦにセットする（ステップ１４５）。次いで、学習値ΦＩＮＪＧに補正値ＣΦＩＮＪを加算することによって、学習値ΦＩＮＪＧを更新し（ステップ１４６）、失火状態を解消する方向に補正するとともに、更新した学習値ΦＩＮＪＧを目標噴射時期ΦＩＮＪＣＭＤとして設定する（ステップ１４７）。次に、前記ステップ１３０と同様にして、目標噴射時期ΦＩＮＪＣＭＤに対してリミット処理を行い（ステップ１４８）、本処理を終了する。
【００８０】
図１５および図１６は、制御装置１の動作例を示している。図１５に示すように、リッチ化が開始されると（時点ｔ１）、目標ＥＧＲガス量ＥＧＲＣＭＤ、目標噴射圧力ＰＲＡＩＬＣＭＤおよび目標噴射時期ΦＩＮＪＣＭＤは、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに応じたデフォルト値ＥＧＲＤＦ、ＰＲＡＩＬＤＦおよびΦＩＮＪＤＦにそれぞれ設定される。また、リッチ化の実行中、エンジン３が失火すると（時点ｔ１ａ）、それに伴うエンジン回転数ＮＥの変動によりエンジン３が失火していると判定され、それに応じて、目標ＥＧＲガス量ＥＧＲＣＭＤは減少側に、目標噴射圧力ＰＲＡＩＬＣＭＤは増大側に、目標噴射時期ΦＩＮＪＣＭＤは進角側に、いずれも失火が解消する方向に補正される。
【００８１】
この補正により、燃焼状態を安定させることによって、失火状態が解消され、エンジン３の回転が安定する（時点ｔ１ｂ）。また、失火状態が解消したと判定されると、補正が終了し、目標ＥＧＲガス量ＥＧＲＣＭＤ、目標噴射圧力ＰＲＡＩＬＣＭＤおよび目標噴射時期ΦＩＮＪＣＭＤが、それまでの値に保持されるとともに（時点ｔ１ｂ〜ｔ２）、学習値ＥＧＲＧ、ＰＲＡＩＬＧおよびΦＩＮＪＧとして設定される。そして、次回のリッチ化中（時点ｔ３〜ｔ４）には、目標ＥＧＲガス量ＥＧＲＣＭＤ、目標噴射圧力ＰＲＡＩＬＣＭＤおよび目標噴射時期ΦＩＮＪＣＭＤは、学習値ＥＧＲＧ、ＰＲＡＩＬＧおよびΦＩＮＪＧにそれぞれ設定される。
【００８２】
以上のように、本実施形態によれば、リッチ化中、エンジン３が失火しているときに、目標ＥＧＲガス量ＥＧＲＣＭＤ、目標噴射圧力ＰＲＡＩＬＣＭＤおよび目標噴射時期ΦＩＮＪＣＭＤを、失火状態を解消する方向に補正することによって、燃焼状態を安定させ、それにより、失火状態を解消することができる。また、この失火状態の解消時に前述したように求めた学習値ＥＧＲＧ、ＰＲＡＩＬＧおよびΦＩＮＪＧを、その後、目標ＥＧＲガス量ＥＧＲＣＭＤ、目標噴射圧力ＰＲＡＩＬＣＭＤおよび目標噴射時期ΦＩＮＪＣＭＤとしてそれぞれ用いるので、安定した燃焼状態を確保でき、失火の発生を回避できる。したがって、リッチ化中における失火の発生を適切に回避でき、ドライバビリティーを向上させることができる。
【００８３】
また、リッチ化中、失火状態を解消するために、ＥＧＲガス量、噴射圧力ＰＲＡＩＬおよび噴射時期を変化させるだけであり、実空燃比Ａ／ＦＡＣＴについては、燃料噴射量の制御による空燃比Ｆ／Ｂ制御によって、リッチ化に適した目標空燃比に保持される。したがって、ＮＯｘ捕捉材１７に捕捉されたＮＯｘを十分に還元することができる。
【００８４】
さらに、学習値ＥＧＲＧ、ＰＲＡＩＬＧおよびΦＩＮＪＧを、エンジン回転数ＮＥおよび要求トルクＰＭＣＭＤに代表される負荷に対応させて記憶するとともに、そのときの負荷に対応して学習値ＥＧＲＧ、ＰＲＡＩＬＧおよびΦＩＮＪＧを用いるので、負荷に応じて失火の発生を適切に回避することができる。
【００８５】
また、図１６に示すように、目標ＥＧＲガス量ＥＧＲＣＭＤを学習値ＥＧＲＧに設定した状態で、所定値ＣＲＥＦに相当する時間、失火していない状態が継続すると（時点ｔ５）、目標ＥＧＲガス量ＥＧＲＣＭＤおよび学習値ＥＧＲＧは、増大補正される（時点ｔ５〜ｔ６、ｔ７〜ｔ８）。そして、目標ＥＧＲガス量ＥＧＲＣＭＤおよび学習値ＥＧＲＧは、最終的にデフォルト値ＥＧＲＤＦに設定される（時点ｔ８）。
【００８６】
前述したように、リッチ化中、エンジン３が失火しているときには、これを解消するために、目標ＥＧＲガス量ＥＧＲＣＭＤを減少側に、目標噴射圧力ＰＲＡＩＬＣＭＤを増大側に、目標噴射時期ΦＩＮＪＣＭＤを進角側に、それぞれ補正する。このような制御を、エンジン３が失火していない場合に行うと、ＥＧＲガス量の減少や噴射圧力ＰＲＡＩＬの増大によって、燃焼速度が高くなり過ぎ、燃焼圧力が高くなる結果、エンジン３の騒音が大きくなるおそれがある。また、ＥＧＲガス量の減少によって、燃焼温度が高くなり過ぎることで、燃焼により生成されるＮＯｘの量が増加し、噴射時期、すなわち着火時期が早められることによって、十分な出力が得られず、燃費が悪化するおそれがある。
【００８７】
これに対して、本実施形態によれば、上記のように失火してない状態が継続したときには、目標ＥＧＲガス量ＥＧＲＣＭＤ、目標噴射圧力ＰＲＡＩＬＣＭＤおよび目標噴射時期ΦＩＮＪＣＭＤを、学習値ＥＧＲＧ、ＰＲＡＩＬＧおよびΦＩＮＪＧから負荷に応じた本来のデフォルト値ＥＧＲＤＦ、ＰＲＡＩＬＤＦおよびΦＩＮＪＤＦにそれぞれ戻す。したがって、失火を適切に回避しながら、騒音を抑制できるとともに、燃費および排ガス特性を良好な状態に維持することができる。また、これらの戻しを徐々に行うので、ＥＧＲガス量、噴射圧力ＰＲＡＩＬおよび噴射時期を徐々に変化させることができ、したがって、安定した燃焼状態を保ちながら、本来の制御に円滑に移行することができる。
【００８８】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、本実施形態では、空燃比リッチ化手段は、ＮＯｘ捕捉材１７に捕捉されたＮＯｘを還元することを目的とするものであるが、これに限らず、空燃比を理論空燃比よりもリッチ側に一時的に制御するものであれば、上記以外の目的を達成するものでもよい。また、実施形態では、失火状態を解消するための制御パラメータとして、目標ＥＧＲガス量ＥＧＲＣＭＤ、目標噴射圧力ＰＲＡＩＬＣＭＤおよび目標噴射時期ΦＩＮＪＣＭＤをいずれも補正したが、これらの任意の１つまたは２つを補正してもよいことはもちろんである。
【００８９】
さらに、実施形態では、目標ＥＧＲガス量ＥＧＲＣＭＤ、目標噴射圧力ＰＲＡＩＬＣＭＤおよび目標噴射時期ΦＩＮＪＣＭＤを、デフォルト値ＥＧＲＤＦ、ＰＲＡＩＬＤＦおよびΦＩＮＪＤＦにそれぞれ徐々に戻したが、これらを一時に戻してもよい。また、実施形態では、エンジン３の失火を、パルス間経過時間ＴＣＲＫに基づいて判定したが、他の適当なパラメータ、例えば、検出した気筒内の圧力に基づいて判定してもよい。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【図面の簡単な説明】
【００９０】
【図１】本発明による制御装置を、これを適用したエンジンとともに概略的に示す図である。
【図２】本発明による制御装置を示す図である。
【図３】燃料噴射量制御処理を示すフローチャートである。
【図４】要求トルク算出処理を示すフローチャートである。
【図５】失火判定処理を示すフローチャートである。
【図６】ＥＧＲ制御処理を示すフローチャートである。
【図７】図６におけるリッチ化用のＥＧＲＣＭＤ算出処理のサブルーチンを示すフローチャートである。
【図８】図７の処理の続きを示すフローチャートである。
【図９】燃料噴射圧制御処理を示すフローチャートである。
【図１０】図９におけるリッチ化用のＰＲＡＩＬＣＭＤ算出処理のサブルーチンを示すフローチャートである。
【図１１】図１０の処理の続きを示すフローチャートである。
【図１２】燃料噴射時期制御処理を示すフローチャートである。
【図１３】図１２におけるリッチ化用のΦＩＮＪＣＭＤ算出処理のサブルーチンを示すフローチャートである。
【図１４】図１３の処理の続きを示すフローチャートである。
【図１５】制御装置の動作例を、エンジンが失火している状態からこの失火状態が解消するまでについて示す図である。
【図１６】制御装置の動作例を、失火状態が解消した後について示す図である。
【符号の説明】
【００９１】
１  制御装置
２  ＥＣＵ（失火判定手段、空燃比リッチ化手段、負荷検出手段、決定手段、
補正手段、学習手段、判別手段）
３  エンジン
３ｃ  燃焼室
４  吸気管（吸気系）
５  排気管（排気系）
６  インジェクタ（空燃比リッチ化手段）
３０  クランク角センサ（失火判定手段、負荷検出手段）
３４  アクセル開度センサ（負荷検出手段）
ＮＥ  エンジン回転数（ディーゼルエンジンの負荷）
ＰＭＣＭＤ  要求トルク（ディーゼルエンジンの負荷）
ＥＧＲＣＭＤ  目標ＥＧＲガス量（ＥＧＲガスの量）
ＰＲＡＩＬＣＭＤ  目標噴射圧力（燃料の噴射圧力）
ΦＩＮＪＣＭＤ  目標噴射時期（燃料の噴射時期）
ＥＧＲＧ  学習値
ＰＲＡＩＬＧ  学習値
ΦＩＮＪＧ  学習値
【図１】
2006299925.tif 000003
【図２】
2006299925.tif 000004
【図３】
2006299925.tif 000005
【図４】
2006299925.tif 000006
【図５】
2006299925.tif 000007
【図６】
2006299925.tif 000008
【図７】
2006299925.tif 000009
【図８】
2006299925.tif 000010
【図９】
2006299925.tif 000011
【図１０】
2006299925.tif 000012
【図１１】
2006299925.tif 000013
【図１２】
2006299925.tif 000014
【図１３】
2006299925.tif 000015
【図１４】
2006299925.tif 000016
【図１５】
2006299925.tif 000017
【図１６】
2006299925.tif 000018