(57)【要約】    【課題】  排気還流装置の故障を、比較的簡便な手法で精度よく判定することができる内燃機関の制御装置を提供する。    【解決手段】  内燃機関の排気系に設けられた空燃比センサ１４の出力に応じて、空燃比を目標空燃比と一致させるように空燃比補正係数ＫＡＦが算出される。排気還流制御弁２２を一定周期で開閉させ、そのとき算出される空燃比補正係数ＫＡＦに対してバンドパスフィルタ処理が施され、フィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａが算出される。フィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａの絶対値を積算することにより判定パラメータＲＴ８０Ａが算出され、その判定パラメータＲＴ８０Ａが判定閾値ＬＴ８０Ａを超えると、排気還流装置に漏れがあると判定される。【選択図】  図３
2006257881.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気を吸気系に還流させる排気還流通路と、該排気還流通路に設けられ、還流する排気の流量を制御する排気還流制御弁とを有する排気還流装置を備えた内燃機関の制御装置において、
前記機関の排気通路に設けられた空燃比センサと、
該空燃比センサの出力に基づいて前記機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段と、
前記排気還流制御弁の開度を所定周期で変化させたときに前記空燃比制御手段により算出される空燃比制御量の変動成分に基づいて、前記排気還流装置の故障を判定する故障判定手段とを備えることを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気を吸気系に還流させる排気還流装置を備える内燃機関の制御装置に関し、特に排気還流装置の故障を判定する機能を有するものに関する。
【背景技術】
【０００２】
特許文献１には、排気還流装置の故障を、機関の排気系に設けられた空燃比センサの出力に基づいて判定する制御装置が示されている。この装置では、排気還流を実行しているときの空燃比センサ出力の積分値ＩＯＮと、排気還流を実行していないときの空燃比センサ出力の積分値ＩＯＦＦとが算出され、これらの積分値の差（ＩＯＦＦ−ＩＯＮ）が、判定値ΔＩ以下であるときは、排気還流装置が故障していると判定される。
【０００３】
【特許文献１】特開平４−１０１０５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の装置では、空燃比センサ出力を単純に積分した積分値が判定に用いられているため、判定精度の点で改善の余地が残されていた。
【０００５】
本発明はこの点に着目してなされたものであり、排気還流装置の故障を、比較的簡便な手法で精度よく判定することができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため請求項１に記載の発明は、内燃機関の排気を吸気系に還流させる排気還流通路と、該排気還流通路に設けられ、還流する排気の流量を制御する排気還流制御弁とを有する排気還流装置を備えた内燃機関の制御装置において、前記機関の排気通路に設けられた空燃比センサと、該空燃比センサの出力に基づいて前記機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段と、前記排気還流制御弁（２２）の開度（ＬＡＣＴ）を所定周期（ＴＥＧＲＣ８０Ａ×２）で変化させたときに前記空燃比制御手段により算出される空燃比制御量（ＫＡＦ）の変動成分（ＫＡＦＦＩＬ８０Ａ）に基づいて、前記排気還流装置の故障を判定する故障判定手段とを備えることを特徴とする。
【０００７】
前記故障判定手段は、前記変動成分（ＫＡＦＦＩＬ８０Ａ）の積算値（ＲＴ８０ＡＨＬＤ，ＲＴ８０Ａ）が判定閾値（ＬＴ８０Ａ）を越えたとき、前記排気還流装置に漏れがあると判定することが望ましい。また前記故障判定手段は、前記空燃比制御量（ＫＡＦ）にバンドパスフィルタ処理を施すフィルタ手段を有し、フィルタ処理後の変動成分（ＫＡＦＦＩＬ８０Ａ）に基づいて前記判定を行うことが望ましい。
【０００８】
前記故障判定手段は、前記機関の運転状態に応じて前記故障判定の実行条件を判定する実行条件判定手段を備え、前記実行条件が不成立となったときに前記積算値（ＲＴ８０ＡＨＬＤ）を保持しておき、前記実行条件が成立したときに前記保持した値（ＲＴ８０ＡＨＬＤ）を初期値として積算演算を開始することが望ましい。
【０００９】
前記排気還流制御弁（２２）の開度（ＬＡＣＴ）が増加するほど、前記機関に供給する燃料量を減少方向に補正するＥＧＲ補正手段をさらに備えることが望ましい。
【発明の効果】
【００１０】
請求項１に記載の発明によれば、排気還流制御弁の開度を所定周期で変化させたときに空燃比制御手段により算出される空燃比制御量の変動成分に基づいて、排気還流装置の故障が判定される。例えば排気還流通路に漏れがある場合、排気還流制御弁の開度を所定周期で変化させると、その開度変化の周期と同一周期で空燃比制御量が変動するので、この変動成分が検出されたときは漏れが有ると判定することができる。変動成分の周期（周波数）は既知であるので、通過帯域を適切に設定したフィルタを用いることにより、正確な検出が可能となり、比較的簡便な手法で判定精度を高めることができる。
【発明を実施するための最良の形態】
【００１１】
以下本発明の実施の形態を図面を参照して説明する。
図１は本発明の第１の実施形態にかかる内燃機関及びその制御装置の構成を示す図であり、例えば４気筒のエンジン１の吸気管２の途中にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度（ＴＨ）センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力して電子制御ユニット（以下「ＥＣＵ」という）５に供給する。
【００１２】
燃料噴射弁６はエンジン１とスロットル弁３との間かつ吸気管２の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にＥＣＵ５に電気的に接続されて当該ＥＣＵ５からの信号により燃料噴射弁６の開弁時間が制御される。
【００１３】
一方、スロットル弁３の直ぐ下流には吸気管内の圧力を検出する吸気管内絶対圧（ＰＢＡ）センサ７が設けられており、この絶対圧センサ７により電気信号に変換された絶対圧信号は前記ＥＣＵ５に供給される。また、その下流には吸気温（ＴＡ)センサ８が取付けられており、吸気温ＴＡを検出して対応する電気信号を出力してＥＣＵ５に供給する。
【００１４】
エンジン１の本体に装着されたエンジン水温（ＴＷ）センサ９はサーミスタ等から成り、エンジン水温（冷却水温）ＴＷを検出して対応する温度信号を出力してＥＣＵ５に供給する。
エンジン１の図示しないカム軸周囲又はクランク軸周囲には、エンジン回転数（ＮＥ）センサ１０及び気筒判別（ＣＹＬ）センサ１１が取り付けられている。エンジン回転数センサ１０は、エンジン１の各気筒の吸入行程開始時の上死点（ＴＤＣ）より所定クランク角度前のクランク角度位置で（４気筒エンジンではクランク角１８０゜毎に）ＴＤＣパルスを出力し、気筒判別センサ１１は、特定の気筒の所定クランク角度位置で気筒判別パルスを出力するものであり、これらの各パルス信号はＥＣＵ５に供給される。
【００１５】
排気管１２には、排気中のＮＯｘ、ＨＣ、ＣＯの浄化を行う排気浄化触媒１６が設けられ、排気浄化触媒１６の上流位置には、比例型空燃比センサ１４（以下「ＬＡＦセンサ１４」という）が装着されており、このＬＡＦセンサ１４は排気中の酸素濃度（空燃比）にほぼ比例した電気信号を出力し、ＥＣＵ５に供給する。
【００１６】
吸気管２のスロットル弁３の下流側と、排気管１２の排気浄化触媒１６の下流側との間には、排気還流通路２１が設けられており、排気還流通路２１には排気還流量を制御する排気還流制御弁（以下「ＥＧＲ弁」という）２２が設けられている。ＥＧＲ弁２２は、ソレノイドを有する電磁弁であり、その弁開度はＥＣＵ５により制御される。ＥＧＲ弁２２には、その弁開度（弁リフト量）ＬＡＣＴを検出するリフトセンサ２３が設けられており、その検出信号はＥＣＵ５に供給される。排気還流通路２１及びＥＧＲ弁２２より、排気還流装置が構成される。
【００１７】
図示しない燃料タンクに接続され、該燃料タンク内で発生する蒸発燃料を貯蔵するキャニスタ３２が設けられている。キャニスタ３２は、蒸発燃料を吸着する吸着材を内蔵している。キャニスタ３２は、パージ通路３１を介して、吸気管２の、スロットル弁３の下流側に接続されている。パージ通路３１には、パージ制御弁３３が設けられている。パージ制御弁３３は、その制御信号のオン−オフデューティ比を変更することにより流量を連続的に制御することができるように構成された電磁弁であり、パージ制御弁３３の作動はＥＣＵ５により制御される。なお、パージ制御弁３３はその弁開度を連続的に変更可能な電磁弁を使用してもよく、上記オン−オフデューティ比は、このような弁開度連続可変型の電磁弁における弁開度に相当する。パージ通路３１、キャニスタ３２及びパージ制御弁３３により、蒸発燃料処理装置が構成される。
【００１８】
エンジン１には、吸気弁の閉弁時期を通常閉弁時期と、遅角閉弁時期とに切り換えるバルブタイミング切換機構３０が設けられている。バルブタイミング切換機構３０の作動は、エンジン運転状態に応じてＥＣＵ５により制御される。
ＥＣＵ５には、大気圧ＰＡを検出する大気圧センサ１７、エンジン１により駆動される車両の車速ＶＰを検出する車速センサ１８、並びに上述した電磁弁及びＥＣＵ５に電力を供給するバッテリの出力電圧ＶＢを検出するバッテリ電圧センサ１９が接続されており、これらのセンサの検出信号がＥＣＵ５に供給される。
【００１９】
ＥＣＵ５は、上述したセンサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、ＣＰＵで実行される各種演算プログラム及び演算結果等を記憶する記憶回路、前記燃料噴射弁６、ＥＧＲ弁２２、パージ制御弁３３及びバルブタイミング切換機構３０に制御信号を供給する出力回路を備えている。
【００２０】
ＥＣＵ５は、上述したセンサの出力信号に基づいてエンジン運転状態を判別し、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されるＥＧＲ弁２２の弁開度指令値ＬＣＭＤと、リフトセンサ２３によって検出される実弁開度ＬＡＣＴとの偏差を零にするようにＥＧＲ弁２２のソレノイドに制御信号を供給する。
【００２１】
ＥＣＵ５のＣＰＵは、上述したセンサの出力信号に基づいてエンジン運転状態を判別するとともに、エンジン運転状態に応じて下記式（１）により、前記ＴＤＣ信号パルスに同期して開弁作動する燃料噴射弁６の燃料噴射時間ＴＯＵＴを演算する。
ＴＯＵＴ＝ＴＩＭ×ＫＣＭＤ×ＫＡＦ×ＫＥＧＲ×Ｋ１＋Ｋ２  （１）
【００２２】
ここに、ＴＩＭは燃料噴射弁６の基本燃料噴射時間であり、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されたＴＩマップを検索して決定される。ＴＩマップは、マップ上のエンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに対応する運転状態において、エンジンに供給する混合気の空燃比がほぼ理論空燃比になるように設定されている。
【００２３】
ＫＣＭＤは目標空燃比係数であり、エンジン回転数ＮＥ、吸気管内絶対圧ＰＢＡ、エンジン水温ＴＷ等のエンジン運転パラメータに応じて設定される。目標空燃比係数ＫＣＭＤは、空燃比Ａ／Ｆの逆数、すなわち燃空比Ｆ／Ａに比例し、理論空燃比のとき値１．０をとるので、目標当量比ともいう。
【００２４】
ＫＡＦは、空燃比補正係数であり、ＬＡＦセンサ１４の検出空燃比から算出される検出当量比ＫＡＣＴが目標当量比ＫＣＭＤに一致するように算出される。なお、ＬＡＦセンサ出力に応じたフィードバック制御を実行しないときは、「１．０」に設定される。
【００２５】
ＫＥＧＲは、排気還流を実行しないとき（ＥＧＲ弁２２を閉弁しているとき）は、「１．０」（無補正値）に設定され、排気還流を実行するとき（ＥＧＲ弁２２を開弁するとき）は、ＥＧＲ弁２２の弁開度ＬＡＣＴの増加（吸入空気量の減少）に対応して燃料噴射量を減少させるべく、「１．０」より小さい値に設定されるＥＧＲ補正係数である。
【００２６】
Ｋ１及びＫ２は、それぞれエンジン運転状態に応じて演算される他の補正係数および補正変数であり、エンジン運転状態に応じた燃費特性、エンジン加速特性等の諸特性の最適化が図れるような所定値に決定される。
ＥＣＵ５のＣＰＵは上述のようにして求めた燃料噴射時間ＴＯＵＴに基づいて燃料噴射弁６を開弁させる駆動信号を燃料噴射弁６に供給する。
【００２７】
本実施形態では、以下に説明する手法により、排気還流装置の故障、具体的には排気還流通路２１の漏れ（破れ）の有無が判定される。図２は、この判定手法を説明するための図であり、同図（ａ）は排気還流装置が正常である場合に対応し、同図（ｂ）は排気還流装置に漏れが有る場合に対応する。本実施形態では、ＥＧＲ弁２２のリフト量ＬＡＣＴを図に示すように変化させ、そのときの空燃比補正係数ＫＡＦの変動成分に基づいて、漏れの有無の判定が行われる。
【００２８】
排気還流装置が正常である場合には、リフト量ＬＡＣＴを変化させても、空燃比補正係数ＫＡＦは、常に「１．０」近傍の値をとる。リフト量ＬＡＣＴを増加させると、排気還流量が増加し、エンジン１の吸入空気量は減少するが、それに伴ってＥＧＲ補正係数ＫＥＧＲが減少するからである。
【００２９】
これに対し排気還流装置に漏れがある場合には、リフト量ＬＡＣＴを変化させると、図２（ｂ）に示すように、リフト量ＬＡＣＴの変化に伴って、空燃比補正係数ＫＡＦも変化する。これは以下の理由による。排気還流装置に漏れがあるときは、ＥＧＲ弁２２のリフト量ＬＡＣＴを増加させると、排気と新気が混合されたガスが吸気管２に流入する。その結果、ＥＧＲ補正係数ＫＥＧＲによる補正が過補正となって、空燃比がリーン側にずれ、それを補正すべく空燃比補正係数ＫＡＦが増加する。したがって、リフト量ＬＡＣＴの変化とほぼ同一の周期で、空燃比補正係数ＫＡＦが変化することになる。
【００３０】
よって、本実施形態では、リフト量ＬＡＣＴを変化させたときに算出される空燃比補正係数ＫＡＦに、バンドパスフィルタ処理を施すことにより、フィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａが算出され、さらにフィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａの絶対値を積算することにより、積算値ＲＴ８０ＡＸが算出される。そして、積算値ＲＴ８０ＡＸが判定閾値ＬＴ８０Ａを超えたとき、排気還流装置に漏れがあると判定される。
【００３１】
図３は、この漏れ判定を含む故障診断処理を実行するモジュールを機能ブロック図として示したものであり、各ブロックの機能はＥＣＵ５のＣＰＵによる演算処理により実現される。
【００３２】
図３に示す故障診断モジュールは、ＫＡＦ算出部５１、バンドパスフィルタ部５２、絶対値積算部５３、及び判定部５４を備えている。ＫＡＦ算出部５１は、検出当量比ＫＡＣＴが目標当量比ＫＣＭＤと一致するように、空燃比補正係数ＫＡＦを算出する。バンドパスフィルタ部５２は、空燃比補正係数ＫＡＦのバンドパスフィルタ処理を行い、フィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａを出力する。絶対値積算部５３は、フィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａの絶対値を積算し、判定パラメータＲＴ８０Ａを算出する。判定部５４は、判定パラメータＲＴ８０Ａと、判定閾値ＬＴ８０Ａと比較し、判定パラメータＲＴ８０Ａが判定閾値ＬＴ８０Ａを超えたとき、排気還流装置に漏れがあると判定する。
【００３３】
図４は、上記故障診断処理のフローチャートであり、この処理は、ＥＣＵ５のＣＰＵで所定時間（例えば１０ミリ秒）毎に実行される。
ステップＳ１では、図５及び図６に示す実行条件判定処理を実行し、ステップＳ２では、図８に示すＥＧＲ弁開閉制御処理を実行し、ステップＳ３では、図９に示すＫＡＦフィルタ演算処理を実行し、ステップＳ４では、図１０に示す判定パラメータ算出処理を実行し、ステップＳ５では、図１１に示す漏れ判定処理を実行する。
【００３４】
図５及び図６は、図４のステップＳ１で実行される実行条件判定処理のフローチャートである。
ステップＳ１１では、実行許可フラグＦＧＯ８０Ａが「１」であるか否かを判別する。実行許可フラグＦＧＯ８０Ａは、図示しない処理で排気還流装置の故障診断が許可されたとき「１」に設定される。実行許可フラグＦＧＯ８０Ａが「１」であるときは、判定終了フラグＦＤＯＮＥ８０Ａが「１」であるか否を判別する（ステップＳ１２）。最初はこの答は否定（ＮＯ）であるので、ステップＳ１３に進み、吸気温ＴＡが所定吸気温ＴＡ８０ＡＬ（例えば０℃）より高いか否かを判別する。
【００３５】
ステップＳ１１またはＳ１３の答が否定（ＮＯ）であるとき、またはステップＳ１２の答が肯定（ＹＥＳ）となったときは、ステップＳ１６に進み、ダウンカウントタイマＴＣ８０Ａを所定時間ＴＭＣ８０Ａ（例えば２秒）にセットしてスタートさせる。その後ステップＳ３２（図６）に進み、実行条件フラグＦＭＣＮＤ８０Ａを「０」に設定する。
【００３６】
ステップＳ１３でＴＡ＞ＴＡ８０ＡＬであるときは、図７の前条件判定処理を実行する（ステップＳ１４）。前条件判定処理で前条件が成立すると、前条件フラグＦＰＲＣＮＤ８０Ａが「１」に設定される。ステップＳ１５では、前条件フラグＦＰＲＣＮＤ８０Ａが「１」であるか否かを判別し、この答が否定（ＮＯ）であるときは、前記ステップＳ１６に進む。前条件が成立すると、ステップＳ１５からステップＳ１７に進み、ステップＳ１６でスタートしたタイマＴＣ８０Ａの値が「０」であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ３２へ進み、実行条件フラグＦＭＣＮＤ８０Ａを「０」に設定する。
【００３７】
タイマＴＣ８０Ａの値が「０」となると、ステップＳ２０に進み、アップカウントタイマＴＣＡＴＥＧＲの値が所定時間ＴＭＣＴＥＧＲＸ（例えば１０秒）以上であるか否かを判別する。アップカウントタイマＴＣＡＴＥＧＲは、排気還流の開始時点からの経過時間を計測するタイマである。ステップＳ２０の答が肯定（ＹＥＳ）であるときは、バッテリ電圧ＶＢが所定低電圧ＶＢＬ（例えば１０．５Ｖ）より低いか否かを判別する（ステップＳ２２）。
【００３８】
ステップＳ２２の答が否定（ＮＯ）であるときは、第１正常フラグＦＯＫ１２ＢＦが「１」であるか否かを判別する（ステップＳ２３）。この答が否定（ＮＯ）であるときはさらに第２正常フラグＦＯＫ１２ＢＳが「１」であるか否かを判別する（ステップＳ２４）。第１及び第２正常フラグＦＯＫ１２ＢＦ及びＦＯＫ１２ＢＳは、排気還流装置についての他の故障診断処理で正常と判定されたとき「１」に設定されるフラグである。ステップＳ２３またはＳ２４の答が肯定（ＹＥＳ）であるときは、ステップＳ２５に進む。
【００３９】
ステップＳ２５では、減圧フラグＦＴＫＤＥＣが「１」であるか否かを判別する。減圧フラグＦＴＫＤＥＣは、蒸発燃料処理装置の故障診断処理において、蒸発燃料処理装置内の減圧を行うとき、「１」に設定される。ステップＳ２５の答が否定（ＮＯ）であるときは、パージカットフラグＦＦＭＰＧが「１」であるか否かを判別する（ステップＳ２６）。パージカットフラグＦＦＭＰＧは、キャニスタ３２から吸気管２への蒸発燃料のパージを実行しないとき「１」に設定される。
【００４０】
ステップＳ２６の答が否定（ＮＯ）であるときは、エンジン水温ＴＷが所定低水温ＴＷ８０ＡＬ（例えば７０℃）より高いか否かを判別する（図６，ステップＳ２７）。この答が肯定（ＹＥＳ）であるときは、リミットフラグＦＫＡＦＬＭＴが「１」であるか否かを判別する（ステップＳ２８）。リミットフラグＦＫＡＦＬＭＴは、空燃比補正係数ＫＡＦが上限値または下限値に固定された状態となったとき「１」に設定される。ステップＳ２８の答が否定（ＮＯ）であるときは、還元モードフラグＦＣＴＲＤＭＯＤが「１」であるか否かを判別する（ステップＳ２９）。還元モードフラグＦＣＴＲＤＭＯＤは、排気浄化触媒１６に吸着されたＮＯｘを還元するために空燃比のリッチ化を行うとき「１」に設定される。
【００４１】
ステップＳ２９の答が否定（ＮＯ）であるときは、第１応答劣化判定フラグＦＭＣＮＤ６１Ａが「１」であるか否かを判別する（ステップＳ３０）。第１応答劣化判定フラグＦＭＣＮＤ６１Ａは、ＬＡＦセンサ１４の応答劣化判定処理が実行されるとき「１」に設定される。ステップＳ３０の答が否定（ＮＯ）であるときは、第２応答劣化判定フラグＦ６３ＤＳＴが「１」であるか否かを判別する（ステップＳ３１）。第２応答劣化判定フラグＦ６３ＤＳＴは、排気浄化触媒１６の下流側に配置される酸素濃度センサ（図示せず）の応答劣化判定処理が実行されるとき「１」に設定される。
【００４２】
上述したステップＳ１７，Ｓ２０，Ｓ２４，若しくはＳ２７の答が否定（ＮＯ）であるとき、またはステップＳ１８，Ｓ１９，Ｓ２２，Ｓ２５，Ｓ２６，若しくはＳ２８〜Ｓ３１の答が肯定（ＹＥＳ）であるときは、実行条件不成立と判定し、実行条件フラグＦＭＣＮＤ８０Ａを「０」に設定する（ステップＳ３２）。次いで、パージカット指令フラグＦＰＧＣ８０Ａを「０」に設定し（ステップＳ３５）、ダウンカウントタイマＴＫＡＦＦＩＬＳＴを所定時間ＴＭＫＡＦＦＩＬＳＴ（例えば４秒）にセットしてスタートさせる（ステップＳ３６）。続くステップＳ４１では、ダウンカウントタイマＴＤＴＨ８０Ａを所定時間ＴＭＤＴＨ８０Ａ（例えば２秒）にセットしてスタートさせ、積算演算フラグＦＲＴＣＡＬ８０Ａを「０」に設定する（ステップＳ４３）。その後本処理を終了する。積算演算フラグＦＲＴＣＡＬ８０Ａは、図１０のステップＳ１１６で参照される。積算演算フラグＦＲＴＣＡＬ８０Ａが「０」であるときは、フィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａの絶対値の積算演算が中断される。
【００４３】
一方、ステップＳ３１の答が否定（ＮＯ）であるときは、実行条件成立と判定し、実行条件フラグＦＭＣＮＤ８０Ａを「１」に設定する（ステップＳ３３）。ステップＳ３４では、ダウンカウントタイマＴＶＴＣＮＤＯＦの値が所定時間ＴＭＫＡＦＦＩＬＳＴ以下か否かを判別する。ダウンカウントタイマＴＶＴＣＮＤＯＦは、バルブタイミング切換機構３０により、吸気弁の閉弁時期を切り換えた時点で所定時間ＴＭＶＴＣＮＤＯＦ（例えば５秒）にセットされスタートされる。ステップＳ３４の答が否定（ＮＯ）であるときは、前記ステップＳ３５に進み、ＴＶＴＣＮＤＯＦ≦ＴＭＫＡＦＦＩＬＳＴであるときは、パージカット指令フラグＦＰＧＣ８０Ａを「１」に設定する（ステップＳ３７）。その結果、パージ制御弁３３が閉弁され、吸気管２への蒸発燃料の供給は停止される。これにより、吸気管２への蒸発燃料の供給に起因する誤判定を防止することができる。
【００４４】
ステップＳ３８では、ステップＳ３６でスタートしたタイマＴＫＡＦＦＩＬＳＴの値が「０」であるか否かを判別する。この答が否定（ＮＯ）である間は前記ステップＳ４１に進み、ＴＫＡＦＦＩＬＳＴ＝０となると、ステップＳ３９に進み、ＶＴ変更後許可フラグＦＶＴＯＢＤＣＮＤが「１」であるか否かを判別する。ＶＴ変更後許可フラグＦＶＴＯＢＤＣＮＤは、吸気弁の閉弁時期が通常閉弁時期に変更された後、積算演算（判定パラメータの算出）の実行を許可するとき「１」に設定される。すなわち、通常閉弁時期に移行直後は「０」であり、移行時点から所定時間（例えば５秒）経過すると「１」に設定される。
【００４５】
ステップＳ３９の答が肯定（ＹＥＳ）であるときは、スロットル弁開度ＴＨの変化量ＤＴＨ（＝ＴＨ(n)−ＴＨ(n-1)、ｎは制御周期で離散化した制御時刻）の絶対値が、所定変化量ＤＴＨ８０ＡＨ（例えば０．５ｄｅｇ／ＴＤＣ，「ＴＤＣ」は、ＴＤＣパルスの発生時間間隔である）より大きいか否かを判別する（ステップＳ４０）。ステップＳ３９の答が否定（ＮＯ）またはステップＳ４０の答が肯定（ＹＥＳ）であるときは、前記ステップＳ４１に進む。
【００４６】
ステップＳ４０で｜ＤＴＨ｜≦ＤＴＨ８０ＡＴＨであるときは、ステップＳ４１でスタートされるタイマＴＤＴＨ８０Ａの値が「０」であるか否かを判別する（ステップＳ４２）。ＴＤＴＨ８０Ａ＞０である間は、前記ステップＳ４３に進み、ＴＤＴＨ８０Ａ＝０となると、積算演算フラグＦＲＴＣＡＬ８０Ａを「１」に設定する（ステップＳ４４）。
【００４７】
実行条件が成立していても（ＦＭＣＮＤ８０Ａ＝１）、スロットル弁開度ＴＨの変動が大きいときは、ステップＳ４０〜Ｓ４２により、フィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａの絶対値の積算演算が中断される。これにより、スロットル弁開度ＴＨの変動の影響による誤判定を防止することができる。
【００４８】
図７は、図５のステップＳ１４で実行される前条件判定処理のフローチャートである。
ステップＳ５１では、車速ＶＰが所定低車速ＶＰ８０ＡＬ（例えば４１ｋｍ／ｈ）より高いか否かを判別し、その答が肯定（ＹＥＳ）であるときはエンジン回転数ＮＥが下限回転数ＮＥ８０ＡＬ（例えば１５００ｒｐｍ）より高く、上限回転数ＮＥ８０ＡＨ（例えば４０００ｒｐｍ）より低いか否かを判別する。ステップＳ５１またはＳ５２の答が否定（ＮＯ）であるときは、前条件不成立と判定し、前条件フラグＦＰＲＣＮＤ８０Ａを「０」に設定する（ステップＳ６２）。
【００４９】
ステップＳ５２の答が肯定（ＹＥＳ）であるときは、遅角時期フラグＦＶＴＳＯＮが「１」であるか否かを判別する（ステップＳ５３）。この答が否定（ＮＯ）であって通常閉弁時期が選択されているときは、ＶＴ変更後許可フラグＦＶＴＯＢＤＣＮＤが「１」であるか否かを判別する（ステップＳ５４）。この答が否定（ＮＯ）である間は直ちに本処理を終了し、肯定（ＹＥＳ）となるとステップＳ５５に進む。
【００５０】
ステップＳ５５では、ＥＧＲフラグＦＥＧＲが「１」であるか否かを判別する。ＦＥＧＲ＝０であって、排気還流を実行できないエンジン運転状態であるときは、前記ステップＳ６２に進む。ＥＧＲフラグＦＥＧＲが「１」であって、排気還流を実行可能なエンジン運転状態であるときは、エンジン回転数ＮＥに応じてＰＢ８０ＡＨテーブル（図示せず）を検索し、第１吸気圧閾値ＰＢ８０ＡＨを算出する（ステップＳ５６）。次いで吸気圧上限値ＰＢ８０ＡＨＸを、第１吸気圧閾値ＰＢ８０ＡＨに設定し（ステップＳ５７）、吸気管内絶対圧ＰＢＡが吸気圧上限値ＰＢ８０ＡＨＸより低いか否かを判別する（ステップＳ５８）。この答が否定（ＮＯ）であるときは、前記ステップＳ６２に進む。
【００５１】
ステップＳ５８で、ＰＢＡ＜ＰＢ８０ＡＨＸであるときは、エンジン回転数ＮＥに応じてＰＢ８０ＡＬテーブル（図示せず）を検索し、第２吸気圧閾値ＰＢ８０ＡＬを算出する（ステップＳ５９）。次いで吸気圧下限値ＰＢ８０ＡＬＸを、第２吸気圧閾値ＰＢ８０ＡＬに設定し（ステップＳ６０）、吸気管内絶対圧ＰＢＡが吸気圧下限値ＰＢ８０ＡＬＸより高いか否かを判別する（ステップＳ６１）。この答が否定（ＮＯ）であるときは、前記ステップＳ６２に進む。ステップＳ６１で、ＰＢＡ＞ＰＢ８０ＡＬＸであるときは、前条件成立と判定し、前条件フラグＦＰＲＣＮＤ８０Ａを「１」に設定する（ステップＳ６３）。
【００５２】
ステップＳ５３でＦＶＴＳＯＮ＝１であって、遅角閉弁時期が選択されているときは、フィードバック制御フラグＦＡＦＦＢＸが「１」であるか否かを判別する（ステップＳ６４）。フィードバック制御フラグＦＡＦＦＢＸは、ＬＡＦセンサ１４の出力に応じた空燃比フィードバック制御が実行されるとき「１」に設定される。ステップＳ６４の答が肯定（ＹＥＳ）であるときは、高負荷運転フラグＦＷＯＴが「１」であるか否かを判別する（ステップＳ６５）。高負荷運転フラグＦＷＯＴは、スロットル弁３がほぼ全開とされるような高負荷運転時に「１」に設定される。
【００５３】
ステップＳ６５の答が否定（ＮＯ）であるときは、非アイドルフラグＦＴＨＩＤＬＥが「１」であるか否かを判別する（ステップＳ６６）。非アイドルフラグＦＴＨＩＤＬＥは、スロットル弁開度ＴＨがアイドル判定開度ＴＨＩＤＬＥ以上であるとき「１」に設定される。ステップＳ６６の答が肯定（ＹＥＳ）であるときは、低温フラグＦＩＣＥＧＲＪＵＤが「１」であるか否かを判別する（ステップＳ６７）。低温フラグＦＩＣＥＧＲＪＵＤは、吸気管２内の温度が０℃以下に低下しているとき「１」に設定される。
【００５４】
ステップＳ６４若しくはＳ６６の答が否定（ＮＯ）、またはステップＳ６５若しくはＳ６７の答が肯定（ＹＥＳ）であるときは、前条件不成立と判定し、前条件フラグＦＰＲＣＮＤ８０Ａを「０」に設定する（ステップＳ７４）。
ステップＳ６７の答が否定（ＮＯ）であるときは、エンジン回転数ＮＥに応じてＰＢ８０ＡＨＶＴテーブル（図示せず）を検索し、第３吸気圧閾値ＰＢ８０ＡＨＶＴを算出する（ステップＳ６８）。ＰＢ８０ＡＨＶＴテーブルは、ＰＢ８０ＡＨテーブルと比較すると、同一のエンジン回転数ＮＥに対応する吸気圧閾値がより高くなるように設定されている。
【００５５】
続くステップＳ６９では、吸気圧上限値ＰＢ８０ＡＨＸを、第３吸気圧閾値ＰＢ８０ＡＨＶＴに設定し、吸気管内絶対圧ＰＢＡが吸気圧上限値より低いか否かを判別する（ステップＳ７０）。この答が否定（ＮＯ）であるときは、前記ステップＳ７４に進む。
【００５６】
ステップＳ７０で、ＰＢＡ＜ＰＢ８０ＡＨＸであるときは、エンジン回転数ＮＥに応じてＰＢ８０ＡＬＶＴテーブル（図示せず）を検索し、第４吸気圧閾値ＰＢ８０ＡＬＶＴを算出する（ステップＳ７１）。ＰＢ８０ＡＬＶＴテーブルは、ＰＢ８０ＡＬテーブルと比較すると、同一のエンジン回転数ＮＥに対応する吸気圧閾値がより高くなるように設定されている。
【００５７】
続くステップＳ７２では、吸気圧下限値ＰＢ８０ＡＬＸを、第４吸気圧閾値ＰＢ８０ＡＬＶＴに設定し、吸気管内絶対圧ＰＢＡが吸気圧下限値ＰＢ８０ＡＸより高いか否かを判別する（ステップＳ７３）。この答が否定（ＮＯ）であるときは、前記ステップＳ７４に進む。ステップＳ７３で、ＰＢＡ＞ＰＢ８０ＡＬＸであるときは、前条件成立と判定し、前条件フラグＦＰＲＣＮＤ８０Ａを「１」に設定する（ステップＳ７５）。
【００５８】
本実施形態では、吸気弁の閉弁時期が遅角閉弁時期に設定されているときに（ＦＶＴＳＯＮ＝１）に前条件が成立し（ステップＳ７５）、さらに図５及び図６の処理で、実行条件フラグＦＭＣＮＤ８０Ａが「１」に設定されると（ステップＳ３３）、図示しないバルブタイミング制御処理において、吸気弁の閉弁時期を通常閉弁時期に切り換える指示が出され、吸気弁の閉弁時期が通常閉弁時期に切り換えられる（遅角時期フラグＦＶＴＳＯＮが「０」に戻される）。吸気弁の閉弁時期が遅角閉弁時期に設定されていると、排気還流の実行条件が成立するエンジン運転領域が狭くなり、排気還流装置の故障診断が実行され難くなるためである。強制的に通常閉弁時期に切り換えることにより、故障診断を確実に実行することができる。
【００５９】
図８は、図４のステップＳ２で実行されるＥＧＲ弁開閉制御処理のフローチャートである。
ステップＳ８１では、実行条件フラグＦＭＣＮＤ８０Ａが「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは、ダウンカウントタイマＴＥＧＲＣ８０Ａを所定時間ＴＭＥＧＲＣ８０Ａ（例えば１秒）にセットしてスタートさせる（ステップＳ８２）。次いで閉弁フラグＦＥＧＲＣ８０Ａを「０」に設定し（ステップＳ８６）、本処理を終了する。閉弁フラグＦＥＧＲＣ８０Ａが「０」であるときは、ＥＧＲ弁２２が開弁され、排気還流が実行される。
【００６０】
実行条件フラグＦＭＣＮＤ８０Ａが「１」に設定されると、ステップＳ８１からステップＳ８３に進み、ステップＳ８２でスタートされるタイマＴＥＧＲＣ８０Ａの値が「０」であるか否かを判別する。この答が否定（ＮＯ）である間は直ちに本処理を終了する。ＴＥＧＲＣ８０Ａ＝０となると、ステップＳ８４に進み、同じタイマＴＥＧＲＣ８０Ａを所定時間ＴＭＥＧＲＣ８０Ａにセットしてスタートさせる。
【００６１】
ステップＳ８５では、閉弁フラグＦＥＧＲＣ８０Ａが「１」であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ８７に進み、閉弁フラグＦＥＧＲＣ８０Ａを「１」に設定する。
以後はタイマＴＥＧＲＣ８０Ａの値が「０」となる毎にステップＳ８６またはＳ８７が交互に実行され、ＥＧＲ弁２２が一定周期で開閉される。
【００６２】
図９は、図４のステップＳ３で実行されるＫＡＦフィルタ演算処理のフローチャートである。
ステップＳ９１では、実行条件フラグＦＭＣＮＤ８０Ａが「１」であるか否かを判別し、この答が否定（ＮＯ）であるときは、ＫＡＦ記憶値ＫＡＦＢＵＦ８０Ａ［ｉ］（ｉ＝０〜８）をすべてその時点の空燃比補正係数ＫＡＦに設定する（ステップＳ９２）。ここでパラメータｉは、記憶アドレスを示し、ｉ＝０は今回値に対応し、パラメータｉの値が増加するほど古い値であることを示す。
【００６３】
さらに、変化量記憶値ＤＫＡＦＭＥＤ［ｊ］（ｊ＝０〜５）をすべて「０」に設定する（ステップＳ９３）。変化量記憶値ＤＫＡＦＭＥＤは、後述する処理で算出されるＫＡＦ記憶値ＫＡＦＢＵＦ８０Ａ［ｉ］の中央値ＫＡＦＭＥＤＦと、初期中央値ＫＡＦＭＥＤＩＮＩとの差（ＫＡＦＭＥＤＦ−ＫＡＦＭＥＤＩＮＩ、以下「中央値変化量」という）の記憶値である。またパラメータｊもパラメータｉと同様に、記憶アドレスを示す。すなわちｊ＝０が今回値に対応し、パラメータｊの値が増加するほど、古い値で有ることを示す。
【００６４】
続くステップＳ９４では、初期中央値ＫＡＦＭＥＤＩＮＩを、その時点の空燃比補正係数ＫＡＦに設定し、フィルタ処理後ＫＡＦ記憶値ＫＡＦＦＩＬ８０Ａ［ｊ］（ｊ＝０〜５）をすべて「０」に設定する（ステップＳ９５）。その後、フィルタ演算フラグＦＫＡＦＦＩＬＥＸを「０」に設定して（ステップＳ９６）、本処理を終了する。
【００６５】
実行条件フラグＦＭＣＮＤ８０Ａが「１」に設定されるとステップＳ９１からステップＳ９７に進み、ダウンカウントタイマＴＫＡＦＢＵＦ８０Ａの値が「０」であるか否かを判別する。最初はこの答は肯定（ＹＥＳ）であるので、このタイマＴＫＡＦＢＵＦ８０Ａを所定時間ＴＭＫＡＦＢＵＦ（例えば０．１秒）にセットしてスタートさせる（ステップＳ９９）。次にＫＡＦ記憶値ＫＡＦＢＵＦ８０Ａ［ｉ］（ｉ＝１〜８）をＫＡＦ記憶値ＫＡＦＢＵＦ８０Ａ［ｉ−１］に設定し（ステップＳ１００）、ＫＡＦ記憶値ＫＡＦＢＵＦ８０Ａ［０］を、その時点の空燃比補正係数ＫＡＦに設定する（ステップＳ１０１）。
【００６６】
ステップＳ１０２では、ＫＡＦ記憶値ＫＡＦＢＵＦ８０Ａ［ｉ］の中央値ＫＡＦＭＥＤＦを算出する。すなわち９個（ｉ＝０〜８）のＫＡＦ記憶値をその値の大きい順に並べ、最大値から５番目の値を中央値ＫＡＦＭＥＤＦとする。この中央値を算出する処理は、９個のデータの平均値を算出する処理と同様に、高周波成分を減衰させるローパスフィルタ処理である。
【００６７】
ステップＳ１０３では、変化量記憶値ＤＫＡＦＭＥＤ［ｊ］（ｊ＝１〜５）を変化量記憶値ＤＫＡＦＭＥＤ［ｊ−１］に設定し、変化量記憶値ＤＫＡＦＭＥＤ［０］を、ステップＳ１０２で算出された中央値変化量（ＫＡＦＭＥＤＦ−ＫＡＦＭＥＤＩＮＩ）に設定する（ステップＳ１０４）。ステップＳ１０５では、フィルタ処理後ＫＡＦ記憶値ＫＡＦＦＩＬ８０Ａ［ｊ］（ｊ＝１〜５）をフィルタ処理後ＫＡＦ記憶値ＫＡＦＦＩＬ８０Ａ［ｊ−１］に設定し、ステップＳ１０６では、下記式（２）によりフィルタ処理後ＫＡＦ記憶値ＫＡＦＦＩＬ８０Ａ［０］、すなわちフィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａを算出する。
【００６８】
【数１】
2006257881.tif 000003
ここで、ＢＨＰＦ８０Ａ［ｊ］（ｊ＝０〜５）及びＡＨＰＦ８０Ａ［ｊ］（ｊ＝１〜５）は、ハイパスフィルタ特性を実現するフィルタ係数である。
ステップＳ１０７では、フィルタ演算フラグＦＫＡＦＦＩＬＥＸを「１」に設定し、本処理を終了する。
【００６９】
その後、ステップＳ９７の答が否定（ＮＯ）である間は、ステップＳ９７からステップＳ９８に進み、フィルタ演算フラグＦＫＡＦＦＩＬＥＸを「０」に設定して、直ちに本処理を終了する。したがって、ステップＳ９９〜Ｓ１０７によるフィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａの算出は、所定時間ＴＭＫＡＦＢＵＦ毎に実行される。
【００７０】
図１０は、図４のステップＳ４で実行される判定パラメータ算出処理のフローチャートである。
ステップＳ１１１では、判定終了フラグＦＤＯＮＥ８０Ａが「１」であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ１１５に進み、フィルタ演算フラグＦＫＡＦＦＩＬＥＸが「１」であるか否かを判別する。この答が否定（ＮＯ）であるときは直ちに本処理を終了する。
【００７１】
図９の処理でフィルタ演算が実行され、フィルタ演算フラグＦＫＡＦＦＩＬＥＸが「１」に設定されると、ステップＳ１１５からステップＳ１１６に進み、積算演算フラグＦＲＴＣＡＬ８０Ａが「１」であるか否かを判別する。この答が否定（ＮＯ）であるときは、積算パラメータＲＴ８０ＡＴＭＰを「０」に設定し（ステップＳ１１７）、ダウンカウントタイマＴＷＡＶＥ８０Ａを所定時間ＴＭＥＧＲＣ８０Ａの２倍の時間、すなわちＥＧＲ弁２２の開閉周期にセットしてスタートさせる（ステップＳ１１８）。その後本処理を終了する。
【００７２】
積算演算フラグＦＲＴＣＡＬ８０Ａが「１」に設定されると、ステップＳ１１６からステップＳ１１９に進み、ステップＳ１１８でスタートされるタイマＴＷＡＶＥ８０Ａの値が「０」であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ１２０に進み、積算パラメータＲＴ８０ＡＴＭＰの前回値に、フィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａ［０］の絶対値を加算することにより、積算演算を行う。
【００７３】
ＥＧＲ弁２２の１周期の開閉動作が終了すると、ステップＳ１１９からステップＳ１２１に進み、下記式（３）に積算パラメータＲＴ８０ＡＴＭＰ及びフィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａ［０］を適用し、積算ホールド値ＲＴ８０ＡＨＬＤを算出する。
ＲＴ８０ＡＨＬＤ＝ＲＴ８０ＡＨＬＤ
＋ＲＴ８０ＡＴＭＰ＋｜ＫＡＦＦＩＬ８０Ａ［０］｜  （３）
ここで右辺のＲＴ８０ＡＨＬＤは、前回算出値である。
【００７４】
ステップＳ１２２では、積算パラメータＲＴ８０ＡＴＭＰを「０」に戻し、ステップＳ１１８と同一の処理により、タイマＴＷＡＶＥ８０Ａをスタートさせる（ステップＳ１２３）。次いでカウンタＣＷＡＶＥ８０Ａを「１」だけカウントアップし（ステップＳ１２４）、そのカウンタＣＷＡＶＥ８０Ａの値が、所定回数ＣＴＷＡＶＥ８０Ａ（例えば２）と等しいか否かを判別する（ステップＳ１２５）。最初はこの答は否定（ＮＯ）であるので、直ちに本処理を終了する。ＥＧＲ弁２２の開閉動作が所定回数ＴＷＡＶＥ８０Ａ実行されると、ステップＳ１２５からステップＳ１２６に進み、判定パラメータＲＴ８０Ａを積算ホールド値ＲＴ８０ＡＨＬＤに設定し、次いで積算演算終了フラグＦＲＴＥＮＤ８０Ａを「１」に設定する（ステップＳ１２７）。その後本処理を終了する。
【００７５】
図１１の処理で、判定終了フラグＦＤＯＮＥ８０Ａが「１」に設定されると、ステップＳ１１１からステップＳ１１２に進み、積算ホールド値ＲＴ８０ＡＨＬＤを「０」に設定する。さらにカウンタＣＷＡＶＥ８０Ａの値を「０」に設定し（ステップＳ１１３）、積算演算終了フラグＦＲＴＥＮＤ８０Ａを「０」に設定する（ステップＳ１１４）。その後本処理を終了する。
【００７６】
図１１は、図４のステップＳ５で実行される漏れ判定処理のフローチャートである。
ステップＳ１３１では、実行許可フラグＦＧＯ８０Ａが「１」であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、判定終了フラグＦＤＯＮＥ８０Ａが「１」であるか否かを判別する（ステップＳ１３２）。最初はこの答は否定（ＮＯ）であるので、ステップＳ１３６に進み、積算演算終了フラグＦＲＴＥＮＤ８０Ａが「１」であるか否かを判別する。この答が否定（ＮＯ）であるときは直ちに本処理を終了する。図１０の処理で積算演算が終了し、積算演算終了フラグＦＲＴＥＮＤ８０Ａが「１」に設定されると、ステップＳ１３６からステップＳ１３７に進み、判定パラメータＲＴ８０Ａが判定閾値ＬＴ８０Ａ以下であるか否かを判別する。この答が肯定（ＹＥＳ）であれば、空燃比補正係数ＫＡＦの変動が小さい（図２（ａ）参照）ので、正常と判定し、正常判定フラグＦＯＫ８０Ａを「１」に設定する（ステップＳ１３９）。
【００７７】
またＲＴ８０Ａ＞ＬＴ８０Ａであって、空燃比補正係数ＫＡＦの変動が大きい（図２（ｂ）参照）ときは、排気還流装置に漏れがあると判定し、故障判定フラグＦＳＤ８０Ａを「１」に設定する（ステップＳ１３８）。
ステップＳ１４１では、判定終了フラグＦＤＯＮＥ８０Ａを「１」に設定し、その後本処理を終了する。
【００７８】
実行許可フラグＦＧＯ８０Ａが「０」であるとき、または判定終了フラグＦＤＯＮＥ８０Ａが「１」であるときは、直ちに本処理を終了する。
【００７９】
図１２は、上述した故障診断処理を説明するためのタイムチャートである。図１２（ｆ）及び（ｈ）において、空燃比補正係数ＫＡＦ及び判定パラメータＲＴ８０Ａの推移を示す破線は、漏れが有る場合に対応し、実線は正常な場合に対応する。
【００８０】
時刻ｔ１に実行条件が成立すると、吸気弁の閉弁時期が通常閉弁時期であれば直ちにパージカット指令フラグＦＰＧＣ８０Ａが「１」に設定され（図６，ステップＳ３７）、図１２（ｃ）に示すようにパージ制御弁３３の開弁デューティＤＵＴＹが徐々に「０」まで減少する。時刻ｔ１から所定時間ＴＭＥＧＲＣ８０Ａ経過後の時刻ｔ２からＥＧＲ弁２２の開閉制御が開始される（図１２（ｄ）（ｅ））（図８参照）。
【００８１】
時刻ｔ１から所定時間ＴＭＫＡＦＦＩＬＳＴ経過後の時刻ｔ３に、積算パラメータＲＴ８０ＡＴＭＰの演算が開始される（図１２（ｂ）（ｈ））。なお、図１２（ｈ）には、わかりやすくするため、積算パラメータＲＴ８０ＡＴＭＰと、積算ホールド値ＲＴ８０ＡＨＬＤとを加算した積算値ＲＴ８０ＡＸの推移が示されている。
【００８２】
時刻ｔ３から時間（２×ＴＭＥＧＲＣ８０Ａ）が経過した時刻ｔ４においてＥＧＲ弁２２の開閉制御の１周期が終了する（図１２（ｄ）（ｇ））。時刻ｔ５に実行条件不成立となるので、通常制御に戻るが、積算ホールド値ＲＴ８０ＡＨＬＤは維持される（図１２（ｈ））。時刻ｔ４からｔ５までの間、積算パラメータＲＴ８０ＡＴＭＰは細い線で示すように増加するが、開閉制御の１周期分の積算が終了しないため、結局積算ホールド値ＲＴ８０ＡＨＬＤに加算されず、積算パラメータＲＴ８０ＡＴＭＰは「０」に戻される（図１０，ステップＳ１１６，Ｓ１１７）。
【００８３】
時刻ｔ６にまた実行条件が成立すると、所定時間ＴＭＫＡＦＦＩＬＳＴ経過後の時刻ｔ７から、上記と同様にして積算パラメータＲＴ８０ＡＴＭＰ及び積算ホールド値ＲＴ８０ＡＨＬＤの算出が開始される（図１２（ｈ））。漏れが有る場合には、時刻ｔ７とｔ８の間において、積算値ＲＴ８０ＡＸ（＝ＲＴ８０ＡＴＭＰ＋ＲＴ８０ＡＨＬＤ）が判定閾値ＬＴ８０Ａを超える。時刻ｔ８においてＥＧＲ弁２２の開閉制御の１周期が終了し、判定パラメータＲＴ８０Ａによる判定が行われる（図１０，ステップＳ１２５〜Ｓ１２７，図１１、ステップＳ１３６，Ｓ１３７）。その結果、破線で示す例では、漏れが有ると判定され（図１２（ｉ））、実線で示す例では正常と判定される。
【００８４】
以上詳述したように本実施形態では、ＥＧＲ弁２２の開閉制御が行われて、空燃比補正係数ＫＡＦの変動成分に相当するフィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａが算出され、このフィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａの絶対値を積算することにより、判定パラメータＲＴ８０Ａが算出される。そして判定パラメータＲＴ８０Ａが判定閾値ＬＴ８０Ａを超えると、排気還流装置に漏れがあると判定される。例えば排気還流通路２１に漏れがある場合、ＥＧＲ弁２２の開閉制御を一定周期で行うと、開閉制御周期と同一周期で空燃比補正係数ＫＡＦが変動する。ここで開閉制御周期は既知であるので、中央値算出によるローパスフィルタ処理及びハイパスフィルタ処理、すなわち両者を併せたバンドパスフィルタ処理により、漏れが有る場合の変動成分を正確に検出することができる。その結果、比較的簡便な手法で故障判定精度を高めることができる。
【００８５】
本実施形態では、ＥＣＵ５が空燃比制御手段、故障判定手段、フィルタ手段、実行条件判定手段、及びＥＧＲ補正手段を構成する。より具体的には、ＬＡＦセンサ１４の出力に応じて空燃比補正係数ＫＡＦを算出し、前記式（１）により燃料噴射時間ＴＯＵＴを算出する処理が空燃比制御手段に相当し、図４の処理が故障判定手段に相当する。また図９の処理がフィルタ手段に相当し、図５〜７の処理が実行条件判定手段に相当する。また前記式（１）に適用されるＥＧＲ補正係数ＫＥＧＲをＥＧＲ弁２２の弁開度ＬＡＣＴに応じて算出し、式（１）により燃料噴射時間ＴＯＵＴを算出する処理がＥＧＲ補正手段に相当する。
【００８６】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて基本燃料量ＴＩＭを算出する、いわゆるスピードデンシティ方式が採用されている例を示したが、吸気管２のスロットル弁３の上流側に吸入空気流量センサを設け、この吸入空気流量センサにより検出される吸入空気流量ＧＡに応じて基本燃料量ＴＩＭを算出するようにしてもよい。その場合には、前記式（１）に代えて、ＥＧＲ補正係数ＫＥＧＲを含まない下記式（１ａ）により、燃料噴射時間ＴＯＵＴが算出される。
ＴＯＵＴ＝ＴＩＭ×ＫＣＭＤ×ＫＡＦ×Ｋ１＋Ｋ２        （１ａ）
【００８７】
この場合には、排気還流を実行することにより吸入空気流量が減少すると、吸入空気流量センサにより検出される吸入空気流量ＧＡに反映されるので、吸入空気流量ＧＡに応じて空燃比がほぼ理論空燃比となるように設定される基本燃料量ＴＩＭは、排気還流による新気の減少が反映された値となる。したがって、ＥＧＲ補正係数ＫＥＧＲを含まない式（１ａ）が用いられる。
【００８８】
この変形例では、ＥＧＲ弁２２リフト量ＬＡＣＴを変化させると、排気還流量の変化に応じて基本燃料量ＴＩＭが変化し、排気還流装置が正常である場合には、空燃比補正係数ＫＡＦは、常に「１．０」近傍の値をとる（図２（ａ））。
これに対し排気還流装置に漏れがある場合には、ＥＧＲ弁２２のリフト量ＬＡＣＴを増加させると、排気と新気が混合されたガスが吸気管２に流入する。その結果、吸入空気量流量ＧＡに応じて設定される基本燃料量ＴＩＭの減少量が過大となって、空燃比がリーン側にずれ、それを補正すべく空燃比補正係数ＫＡＦが増加する。したがって、図２（ｂ）に示すように、リフト量ＬＡＣＴの変化とほぼ同一の周期で、空燃比補正係数ＫＡＦが変化することになる。
【００８９】
また上述した実施形態では、空燃比制御量の変動成分を示すパラメータとして、空燃比補正係数ＫＡＦにローパスフィルタ処理及びハイパスフィルタ処理（バンドパスフィルタ処理）を施して算出されるフィルタ処理後補正係数ＫＡＦＦＩＬ８０Ａを用いたが、これに限るものではなく、例えばＥＧＲ弁２２の開閉制御の１周期の期間における空燃比補正係数ＫＡＦの平均値ＫＡＦＡＶＥを算出し、この平均値ＫＡＦＡＶＥと、空燃比補正係数ＫＡＦとの偏差ＤＡＦを、空燃比制御量の変動成分を示すパラメータとして用いるようにしてもよい。さらに偏差ＤＡＦにフィルタ処理（ローパスフィルタ処理またはバンドパスフィルタ処理）を施したものを、空燃比制御量の変動成分を示すパラメータとして用いてもよい。
【００９０】
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの制御にも適用が可能である。
【図面の簡単な説明】
【００９１】
【図１】本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図２】本実施形態における排気還流装置の故障判定手法を説明するための図である。
【図３】故障判定を行うモジュールの構成を示す機能ブロック図である。
【図４】故障判定を行う処理のフローチャートである。
【図５】故障判定の実行条件を判定する処理のフローチャートである。
【図６】故障判定の実行条件を判定する処理のフローチャートである。
【図７】故障判定の前条件を判定する処理のフローチャートである。
【図８】排気還流制御弁の開閉制御を行う処理のフローチャートである。
【図９】空燃比補正係数（ＫＡＦ）のフィルタ演算を行う処理のフローチャートである。
【図１０】判定パラメータ（ＲＴ８０Ａ）を算出する処理のフローチャートである。
【図１１】漏れ判定を行う処理のフローチャートである。
【図１２】故障判定処理を説明するためのタイムチャートである。
【符号の説明】
【００９２】
１  内燃機関
２  吸気管
５  電子制御ユニット（空燃比制御手段、故障判定手段、フィルタ手段、実行条件判定手段、ＥＧＲ補正手段）
６  燃料噴射弁
１２  排気管
１４  空燃比センサ
２１  排気還流通路（排気還流装置）
２２  排気還流制御弁（排気還流装置）
【図１】
2006257881.tif 000004
【図２】
2006257881.tif 000005
【図３】
2006257881.tif 000006
【図４】
2006257881.tif 000007
【図５】
2006257881.tif 000008
【図６】
2006257881.tif 000009
【図７】
2006257881.tif 000010
【図８】
2006257881.tif 000011
【図９】
2006257881.tif 000012
【図１０】
2006257881.tif 000013
【図１１】
2006257881.tif 000014
【図１２】
2006257881.tif 000015