以下、図面を参照しながら、本発明の好ましい実施形態について詳細に説明する。図1に示すハイブリッド車両(以下、単に「車両」という)Vは、動力源として、内燃機関(以下「エンジン」という)3、第1モータ4及び第2モータ5を有するとともに、駆動輪としての左右の前輪WF(1つのみ図示)、及び従動輪としての左右の後輪(図示せず)を有する四輪車両である。
第1及び第2モータ4、5はいずれも、いわゆるモータジェネレータであり、例えばブラシレスDCモータで構成されている。第1モータ4のステータ(図示せず)は、第1パワードライブユニット(以下「第1PDU」という)6に電気的に接続されている。また、第2モータ5のステータ(図示せず)は、第2パワードライブユニット(以下「第2PDU」という)7を介して、バッテリ8に電気的に接続されている。
第1及び第2PDU6、7は、インバータなどの電気回路によって構成されており、互いに電気的に接続されている。したがって、第1モータ4と第2モータ5は、第1及び第2PDU6、7を介して、互いに電力を入出力することが可能である。また、第1及び第2PDU6、7は、後述するECU2からの制御信号によって制御され(図3参照)、それにより、第1及び第2モータ4、5の力行又は発電や、バッテリ8の充放電などの動作が制御される。
第1モータ4の回転軸4aに設けられたギヤ4bは、エンジン3のクランクシャフト3aに設けられたギヤ3bに噛み合っており、エンジン3と第1モータ4は、これらのギヤ3b、4bを介して、互いに動力を入出力することが可能である。また、第2モータ5の回転軸5aに設けられたギヤ5bは、駆動軸9に設けられた第1ギヤ9aに噛み合い、この駆動軸9の第2ギヤ9bは、前輪WFの車軸10に設けられたファイナルギヤ10aに噛み合っている。以上の構成により、第2モータ5と前輪WFは、上記のギヤ5b、第1及び第2ギヤ9a、9b、ならびにファイナルギヤ10aなどを介して、互いに動力を入出力することが可能である。
さらに、エンジン3のクランクシャフト3aは、ODクラッチ11を介して、中間軸12に連結されており、この中間軸12に設けられたギヤ12aは、前記第1ギヤ9aに噛み合っている。ODクラッチ11は、電磁クラッチで構成されており、その接続及び遮断は、ECU2からの制御信号によって制御される(図3参照)。また、上記の中間軸12のギヤ12a、駆動軸9の第1及び第2ギヤ9a、9bからファイナルギヤ10aまでのギヤ比は、ほぼ1:1に設定されている。したがって、ODクラッチ11が接続された状態では、エンジン3の動力は、クランクシャフト3aから上記のギヤを介して、ほぼ等速状態で前輪WFに伝達される。
以上の構成により、車両Vの駆動系は、エンジン3、第1及び第2モータ4、5及びODクラッチ11などを制御することによって、各種の運転モードで運転される。この運転モードは、ECVT走行モード、ENG直結走行モード、EV走行モード及び減速発電モードなどに分類される。以下、これらの運転モードについて順に説明する。
ECVT走行モードは、エンジン3の燃焼によって発生した動力を用いて第1モータ4で発電を行い、発電された電力を第2モータ5に供給(電気パス)しながら、第2モータ5の力行によって前輪WFを駆動し、走行するモードである。このECVT走行モードでは、第1及び第2PDU6、7の制御により、エンジン3の動力を無段階に変速することが可能である。また、第1及び第2モータ4、5の性質上、このECVT走行モードを低中速域で選択することで、高い効率が得られる。
ENG直結走行モードは、ODクラッチ11を接続した状態で、エンジン3の動力をODクラッチ11や中間軸12などを介して前輪WFに伝達(機械パス)しながら、走行するモードである。前述したように、ODクラッチ11から前輪WFまでのギヤ比はほぼ1:1に設定されており、このENG直結走行モードを高速域で選択することで、高い効率が得られる。なお、ODクラッチ11は、他の運転モードでは遮断される。
EV走行モードは、エンジン3の運転を停止した状態で、バッテリ8から供給された電力を用い、第2モータ5の力行によって前輪WFを駆動しながら、走行するモードである。
減速発電モードは、車両Vの所定の減速運転状態において、エンジン3への燃料の供給を停止(フューエルカット)し、その運転を停止するとともに、車両Vの運動エネルギを用いて第2モータ5で発電を行うモードである。この場合、第2モータ5での発電動作に伴って、制動力が車両Vに作用する。また、第2モータ5で発電された電力は、バッテリ8の充電状態に余裕がある場合には、バッテリ8に充電され、回生される。一方、バッテリ8が満充電状態の場合などには、第2モータ5で発電された電力は、第1モータ4に供給され、第1モータ4の力行によりエンジン3をモータリングすることによって、機械エネルギや熱エネルギに変換される。
また、図2は、第1実施形態による異常判定装置が適用されたエンジン3及びその周辺機器を示している。エンジン3は、例えば4つの気筒C(図2に1つのみ図示)を有するガソリンエンジンである。エンジン3のクランクシャフト3aには、クランク角センサ61が設けられており、クランク角センサ61は、クランクシャフト3aの回転に伴い、パルス信号であるCRK信号を、ECU2に出力する(図3参照)。CRK信号は、所定クランク角(例えば1°)ごとに出力される。ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。
各気筒Cのピストン3cとシリンダヘッド3dの間には、燃焼室3eが形成されている。シリンダヘッド3dには、燃焼室3eに連通する吸気通路21及び排気通路22が接続されており、吸気通路21の吸気ポート21a及び排気通路22の排気ポート22aには、これらを開閉する吸気弁23及び排気弁24がそれぞれ設けられている。また、エンジン3のシリンダブロック3fには、水温センサ62が設けられている。水温センサ62は、シリンダブロック3fを循環する冷却水の温度(以下「エンジン水温」という)TWを検出し、その検出信号をECU2に出力する(図3参照)。
また、エンジン3には、気筒Cごとに、点火プラグ25及び燃料噴射弁(以下「インジェクタ」という)26が設けられている。点火プラグ25は、シリンダヘッド3dに取り付けられており、火花を発生させることにより、気筒C内の混合気に点火を行う。インジェクタ26は、吸気通路21の吸気マニホルドに取り付けられており、吸気ポート21aに向かって燃料を噴射する。これらの点火プラグ25の点火時期、及びインジェクタ26の燃料噴射量及び燃料噴射時期は、ECU2からの制御信号によって制御される(図3参照)。
吸気通路21には、スロットル弁27が設けられており、このスロットル弁27には、例えばDCモータで構成されたTHアクチュエータ27aが連結されている。THアクチュエータ27aはECU2からの制御信号によって制御され(図3参照)、それにより、スロットル弁27の開度(以下「スロットル弁開度」という)が変更されることによって、気筒Cに吸入される空気の量が調整される。
また、エンジン3には、蒸発燃料処理装置31が設けられている。この蒸発燃料処理装置31は、エンジン3の燃料を貯留する燃料タンクFT内で発生した蒸発燃料を捕捉し、吸気通路21に適宜、供給することによって、処理するものであり、チャージ通路32、キャニスタ33及びパージ通路34を有している。
チャージ通路32は、燃料タンクFTとキャニスタ33に接続されており、燃料タンクFT内で発生した蒸発燃料をキャニスタ33に送るものである。チャージ通路32には、2方向弁35が設けられており、2方向弁35は、ダイアフラム式の正圧弁及び負圧弁を組み合わせた機械式弁で構成されている。この正圧弁は、燃料タンクFT内の圧力に相当するチャージ通路32内の圧力が上限圧、すなわち大気圧よりも高い所定圧力に達したときに開弁するように構成されており、その開弁により、燃料タンクFT内の蒸発燃料がキャニスタ33に送られる。また、上記の負圧弁は、チャージ通路32内の圧力が下限値、すなわちキャニスタ33側の圧力よりも低い所定圧力に達したときに開弁するように構成されており、その開弁により、キャニスタ33に吸着されていた蒸発燃料が燃料タンクFTに戻される。
また、チャージ通路32には、2方向弁35をバイパスするチャージバイパス通路36が設けられている。チャージバイパス通路36には、バイパス弁41が設けられている。バイパス弁41は、常閉タイプのON/OFF式の電磁弁で構成されており、通常はチャージバイパス通路36を閉鎖し、ECU2の制御(図3参照)により励磁されたときに開弁することによって、チャージバイパス通路36を開放する。
キャニスタ33には、蒸発燃料を吸着するための活性炭が内蔵されている。また、キャニスタ33には、大気側に開口する大気通路37が接続されており、大気通路37には、これを開閉するベントシャット弁42が設けられている。ベントシャット弁42は、常開タイプのON/OFF式の電磁弁で構成されており、通常は大気通路37を開放し、ECU2の制御(図3参照)により励磁されたときに、大気通路37を閉鎖する。
パージ通路34は、キャニスタ33に吸着された蒸発燃料を吸気通路21に供給(パージ)するためのものであり、キャニスタ33と吸気通路21のスロットル弁27よりも下流側とに接続されている。パージ通路34の途中には、パージ制御弁43が設けられている。パージ制御弁43は、電磁弁で構成されており、その開度は、ECU2からの制御信号によって制御される(図3参照)。
また、吸気通路21には、スロットル弁27よりも上流側に、エアフローセンサ63及び吸気温センサ64が設けられている。エアフローセンサ63は、エンジン3に吸入される吸入空気の量(以下「吸入空気量」という)GAIRを検出し、それを表す検出信号をECU2に出力する(図3参照)。吸気温センサ64は、吸気通路21内の温度(以下「吸気温」という)TAを検出し、それを表す検出信号をECU2に出力する。
エンジン3にはさらに、EGR装置51が設けられている。EGR装置51は、排気通路22に排出された排ガスの一部を吸気通路21に還流させるものであり、吸気通路21のスロットル弁27よりも下流側と排気通路22に接続されたEGR通路52と、EGR通路52を開閉するEGR制御弁53を有している。
EGR制御弁53は、その開度が連続的に変化する電磁弁で構成されている。EGR制御弁53の開度は、ECU2からの制御信号によって制御され(図3参照)、それにより、排ガスの還流量(以下「EGRガス量」という)が変更される。また、EGR制御弁53の開度(以下「EGR制御弁開度OEV」という)は、EGR弁開度センサ65によって検出され、その検出信号はECU2に出力される。
また、排気通路22の排気マニホルドの集合部よりも下流側には、LAFセンサ66が設けられている。LAFセンサ66は、理論空燃比よりもリッチなリッチ領域から極リーンまでの広範囲な空燃比の領域において、排気通路22内を流れる排ガス中の酸素濃度をリニアに検出し、その検出信号をECU2に出力する(図3参照)。ECU2は、LAFセンサ66からの検出信号に基づいて、エンジン3で燃焼した混合気の空燃比の当量比を、検出当量比KACTとして算出する。
排気通路22には、LAFセンサ66よりも下流側に、三元触媒28及び二値型のO2センサ67が設けられている。三元触媒28によって、排ガス中のHCや、CO、NOxなどの有害成分が浄化される。また、O2センサ67は、その出力が理論空燃比の前後において急激に変化する特性を有し、その検出信号SVO2は、理論空燃比よりリッチ側で高レベルとなり、リーン側で低レベルとなる。O2センサ67の検出信号SVO2はECU2に出力される(図3参照)。ECU2にはさらに、アクセル開度センサ68から、車両Vのアクセルペダル(図示せず)の操作量(以下「アクセル開度」という)APを表す検出信号が、車速センサ69から、車両Vの車速VPを表す検出信号が、それぞれ出力される。
ECU2は、CPU、RAM、ROM及びI/Oインターフェース(いずれも図示せず)などから成るマイクロコンピュータで構成されている。ECU2は、前述した各種のセンサ61〜69からの検出信号などに応じ、ROMに記憶された制御プログラムに従って、エンジン3、蒸発燃料処理装置31及びEGR装置51の動作を制御するとともに、4つの気筒C間における空燃比のばらつき(以下「AFバラツキ」という)、LAFセンサ66の故障、EGR装置51の故障、及び三元触媒28の劣化を判定する。
次に、本発明の第1実施形態によるAFバラツキ、LAFセンサ66の故障、EGR装置51の故障、及び三元触媒28の劣化の判定の概要について説明する。
AFバラツキ、LAFセンサ66の故障、EGR装置51の故障、及び三元触媒28の劣化は、個々に設定された判定用の制御動作によりエンジン3を各々の特定の運転状態に制御しているときに取得された判定用パラメータに基づいて、判定される。このため、AFバラツキ、LAFセンサ66の故障、EGR装置51の故障、及び三元触媒28の劣化を判定するための判定動作(後述する図7、図9、図11及び図15)は、互いに併行して実行されることはなく、順に実行される。以下、AFバラツキ、LAFセンサ66の故障、EGR装置51の故障、及び三元触媒28の劣化を判定するための判定動作をそれぞれ、「AFバラツキ判定動作」「センサ故障判定動作」「EGR故障判定動作」及び「触媒劣化判定動作」という。
また、これらのAFバラツキ判定動作、センサ故障判定動作、EGR故障判定動作及び触媒劣化判定動作は、個々に設定された実行条件(後述する図5、図8、図10及び図13)が成立しているときに、実行され、基本的には、その実行条件が成立したものから順に開始される。各実行条件には、エンジン3の運転状態に関する条件が含まれる。さらに、AFバラツキ判定動作、センサ故障判定動作及びEGR故障判定動作は、蒸発燃料処理装置31による蒸発燃料の供給の停止(以下「パージカット」という)を条件として、パージカットした状態で実行される。一方、触媒劣化判定動作は、パージカットを条件とせずに(必要とせずに)実行される。以下、AFバラツキ判定動作、センサ故障判定動作及びEGR故障判定動作をまとめて適宜、「パージカットを伴う3つの判定動作」という。
このため、パージカットの実行/停止が繰り返されないようにすべく、パージカットを伴う3つの判定動作が順に連続して実行されるようにするために、それらのうちの1番目及び2番目の判定動作の実行中に、触媒劣化判定動作の実行条件が成立しても、パージカットを伴う3つの判定動作のうちの他の判定動作の実行条件が成立しているときには、当該実行中の判定動作の完了に続いて触媒劣化判定動作を実行することが禁止される(後述する図13及び図14)。
また、パージカットを伴う3つの判定動作が順に連続して実行される場合には、各々の判定動作と各々の実行条件との関係から、その順番は、次の順番A、順番B、順番C及び順番Dのいずれかにならざるを得ない。さらに、パージカットを伴う3つの判定動作を、この順番Bで適切に連続させるために、AFバラツキ判定動作が適宜、禁止される(後述する図5及び図6)。さらに、パージカットを伴う3つの判定動作の各々の実行中、実行中の判定動作の実行条件に加え、次に実行される判定動作の実行条件が成立するように、エンジン3の運転点が制御される(後述する図12)。
A:AFバラツキ判定動作→センサ故障判定動作→EGR故障判定動作
B:センサ故障判定動作→EGR故障判定動作→AFバラツキ判定動作
C:EGR故障判定動作→センサ故障判定動作→AFバラツキ判定動作
D:EGR故障判定動作→AFバラツキ判定動作→センサ故障判定動作
以下、図4を参照しながら、第1実施形態によるAFバラツキ、LAFセンサ66の故障、EGR装置51の故障、及び三元触媒28の劣化を判定するための処理について説明する。本処理は、所定周期で繰り返し実行される。
まず、ステップ1(「S1」と図示。以下同じ)において、AFバラツキ判定条件判定処理を実行し、次いで、AFバラツキ判定処理を実行する(ステップ2)。次に、センサ故障判定条件判定処理を実行する(ステップ3)とともに、センサ故障判定処理を実行する(ステップ4)。次いで、EGR故障判定条件判定処理を実行する(ステップ5)とともに、EGR故障判定処理を実行する(ステップ6)。次に、触媒劣化判定条件判定処理を実行する(ステップ7)とともに、触媒劣化判定処理を実行し(ステップ8)、本処理を終了する。
図5は、図4のステップ1で実行されるAFバラツキ判定条件判定処理を示している。本処理は、AFバラツキ判定動作の実行条件(以下「AFバラツキ判定実行条件」という)が成立しているか否かを判定するためのものである。なお、本処理及び後述する各種の処理で用いられるフラグはいずれも、システム(ECU2など)の起動時又はエンジン3の停止時に「0」にリセットされる。例えば、後述するAFバラツキ判定実行条件成立フラグF_MCNDDISなどの各種の判定実行条件成立フラグは、システムの起動時に「0」にリセットされ、エンジン3の作動条件を判定するフラグは、システムの起動時に「0」にリセットされた後、エンジン3の停止時に「0」にリセットされる。
まず、ステップ11では、AFバラツキ判定実行条件が成立しているか否かを判別する。AFバラツキ判定実行条件は、例えば次の条件a1〜e1から成る所定の複数の条件がいずれも成立しているときに、成立していると判別される。なお、AFバラツキ判定実行条件に、他の適当な条件をさらに含めてもよい。
a1:エンジン回転数NE及び吸入空気量GAIRで表されるエンジン3
の運転点が図16に示す運転点判定マップにおける領域αにあるこ
と
b1:LAFセンサ66が活性化していること
c1:エンジン水温TWが所定温度よりも高いこと
d1:エンジン回転数NEの変化量が所定値よりも小さいこと
e1:検出当量比KACTが所定の範囲内にあること
上記ステップ11の答がNOで、AFバラツキ判定実行条件が成立していないときには、そのことを表すために、AFバラツキ判定実行条件成立フラグF_MCNDDISを「0」に設定する(ステップ12)。次いで、AFバラツキ判定動作用の連続実行許可フラグF_PERDISを「0」に設定する(ステップ13)とともに、ダウンカウント式の第1待機タイマのタイマ値tDIS1を所定の安定時間TMSTEに設定する(ステップ14)。
次に、ステップ15及び16においてそれぞれ、センサ故障判定実行条件成立フラグF_MCNDLAF及びEGR故障判定実行条件成立フラグF_MCNDEGRが「1」であるか否かを判別する。これらのフラグF_MCNDLAF及びF_MCNDEGRはそれぞれ、センサ故障判定動作の実行条件(以下「センサ故障判定実行条件」という)及びEGR故障判定動作の実行条件(以下「EGR故障判定実行条件」)が成立していることを「1」で表すものである。
ステップ15及び16の答がいずれもNO(F_MCNDLAF=0、かつF_MCNDEGR=0)のとき、すなわち、AFバラツキ判定実行条件、センサ故障判定実行条件及びEGR故障判定実行条件がいずれも成立していないときには、パージカットフラグF_PURCUTを「0」に設定し(ステップ17)、ステップ18に進む。パージカットフラグF_PURCUTは、パージカットの実行中であることを「1」で表すものである。
一方、ステップ15及び16の答のいずれかがYESのとき、すなわち、センサ故障判定実行条件及びEGR故障判定実行条件のいずれかが成立しているときには、上記ステップ17をスキップし、ステップ18に進む。
このステップ18では、AFバラツキ判定動作中フラグF_MIDDISを「0」に設定し、本処理を終了する。AFバラツキ判定動作中フラグF_MIDDISは、AFバラツキ判定動作の実行中であることを「1」で表すものである。
一方、前記ステップ11の答がYESで、AFバラツキ判定実行条件が成立しているときには、AFバラツキ判定動作中フラグF_MIDDISが「1」であるか否かを判別する(ステップ19)。この答がNO(F_MIDDIS=0)のときには、AFバラツキ判定実行条件が成立していることを表すために、AFバラツキ判定実行条件成立フラグF_MCNDDISを「1」に設定する(ステップ20)。
次いで、第1最先成立フラグF_THR1stが「1」であるか否かを判別する(ステップ21)。この第1最先成立フラグF_THR1stは、AFバラツキ判定実行条件が、センサ故障判定実行条件及びEGR故障判定実行条件よりも先に成立したことを「1」で表すものであり、AFバラツキ判定実行条件成立フラグF_MCNDDIS、センサ故障判定実行条件成立フラグF_MCNDLAF及びEGR故障判定実行条件成立フラグF_MCNDEGRに基づいて設定される。
また、第1最先成立フラグF_THR1stは、AFバラツキ判定動作が完了したときに「0」にリセットされる。さらに、第1最先成立フラグF_THR1stは、一旦、AFバラツキ判定実行条件が最先に成立しても、AFバラツキ判定動作が完了する前にAFバラツキ判定実行条件が不成立になるとともに、センサ故障判定実行条件又はEGR故障判定実行条件が成立したときには、「0」にリセットされる。
上記ステップ21の答がYESのときには、後述するステップ24を実行する一方、NO(F_THR1st=0)のとき、すなわち、センサ故障判定実行条件及び/又はEGR故障判定実行条件が、AFバラツキ判定実行条件よりも先に成立しているときには、第1連続実行許可処理を実行する(ステップ22)。
図6は、この第1連続実行許可処理を示している。本処理は、センサ故障判定動作又はEGR故障判定動作の完了に続くAFバラツキ判定動作の実行を許可/禁止するためのものである。まず、図6のステップ41では、センサ故障判定動作中フラグF_MIDLAFが「1」であるか否かを判別する。このセンサ故障判定動作中フラグF_MIDLAFは、センサ故障判定動作の実行中であることを「1」で表すものである。
上記ステップ41の答がNO(F_MIDLAF=0)のときには、EGR故障判定動作中フラグF_MIDEGRが「1」であるか否かを判別する(ステップ42)。このEGR故障判定動作中フラグF_MIDEGRは、EGR故障判定動作の実行中であることを「1」で表すものである。
上記ステップ42の答がNO(F_MIDEGR=0)のときには、センサ故障判定動作完了フラグF_DONLAFが「1」であるか否かを判別する(ステップ43)。このセンサ故障判定動作完了フラグF_DONLAFは、センサ故障判定動作が完了していることを「1」で表すものである。
上記ステップ43の答がNO(F_DONLAF=0)のときには、EGR故障判定動作完了フラグF_DONEGRが「1」であるか否かを判別する(ステップ44)。このEGR故障判定動作完了フラグF_DONEGRは、EGR故障判定動作が完了していることを「1」で表すものである。
上記ステップ44の答がNO(F_DONEGR=0)のとき、すなわち、センサ故障判定動作及びEGR故障判定動作が開始されていないときには、連続実行許可フラグF_PERDISを「1」に設定し(ステップ45)、本処理を終了する。
一方、前記ステップ41の答がYES(F_MIDLAF=1)で、センサ故障判定動作の実行中であるときには、1番目判定動作中フラグF_MID1stが「1」であるか否かを判別する(ステップ46)。
この1番目判定動作中フラグF_MID1stは、パージカットを伴う3つの判定動作のうちの1番目に開始された判定動作が実行中であることを、「1」で表すものであり、AFバラツキ判定動作中フラグF_MIDDIS、センサ故障判定動作中フラグF_MIDLAF及びEGR故障判定動作中フラグF_MIDEGR、後述するAFバラツキ判定動作完了フラグF_DONDIS、センサ故障判定動作完了フラグF_DONLAF、及びEGR故障判定動作完了フラグF_DONEGRに基づいて設定される。
また、1番目判定動作中フラグF_MID1stは、1番目の判定動作が完了したときに「0」にリセットされる。さらに、1番目判定動作中フラグF_MID1stは、1番目の判定動作が完了せずに中断された場合には、一旦「0」にリセットされ、再開されたときに「1」に設定される。1番目の判定動作が完了せずに中断され、当該判定動作と異なる判定動作が開始されたときにも、「1」に設定される。
上記ステップ46の答がYES(F_MID1st=1)のとき、すなわち、パージカットを伴う3つの判定動作のうちの1番目の判定動作として、センサ故障判定動作が実行されるとともに、当該判定動作の実行中であるときには、EGR故障判定実行条件成立フラグF_MCNDEGRが「1」であるか否かを判別する(ステップ47)。この答がNO(F_MCNDEGR=0)のとき、すなわち、1番目の判定動作としてのセンサ故障判定動作の実行中で、かつ、EGR故障判定実行条件が成立していないときには、センサ故障判定動作の完了に続くAFバラツキ判定動作の実行を許可するために、前記ステップ45を実行し、本処理を終了する。
一方、上記ステップ47の答がYES(F_MCNDEGR=1)のとき、すなわち、1番目の判定動作としてのセンサ故障判定動作の実行中で、かつ、EGR故障判定実行条件が成立しているときには、センサ故障判定動作の完了に続くAFバラツキ判定動作の実行を禁止するために、連続実行許可フラグF_PERDISを「0」に設定し(ステップ48)、本処理を終了する。
一方、前記ステップ46の答がNO(F_MID1st=0)のとき、すなわち、パージカットを伴う3つの判定動作のうちの2番目の判定動作として、センサ故障判定動作が実行されるとともに、当該判定動作の実行中であるときには、そのまま本処理を終了する。
上記のように、センサ故障判定動作の実行中で、かつ、1番目の判定動作の実行中でないとき(ステップ46:NO)に、2番目の判定動作としてのセンサ故障判定動作の実行中であるとみなすのは、本処理を含むAFバラツキ判定条件判定処理が、AFバラツキ判定動作の完了から所定時間が経過するまで実行されないためである。
一方、前記ステップ42の答がYES(F_MIDEGR=1)で、EGR故障判定動作の実行中であるときには、1番目判定動作中フラグF_MID1stが「1」であるか否かを判別する(ステップ49)。この答がYES(F_MID1st=1)のとき、すなわち、パージカットを伴う3つの判定動作のうちの1番目の判定動作として、EGR故障判定動作が実行されるとともに、当該判定動作の実行中であるときには、先行成立フラグF_BEFLAFが「1」であるか否かを判別する(ステップ50)。
この先行成立フラグF_BEFLAFは、1番目の判定動作としてのEGR故障判定動作の実行中にセンサ故障判定実行条件がAFバラツキ判定実行条件よりも先に成立したことを、「1」で表すものであり、センサ故障判定実行条件成立フラグF_MCNDLAF及びAFバラツキ判定実行条件成立フラグF_MCNDDISに基づいて設定される。なお、先行成立フラグF_BEFLAFは、一旦、センサ故障判定実行条件がAFバラツキ判定実行条件よりも先に成立しても、その後、センサ故障判定動作の開始前に、センサ故障判定実行条件が成立しなくなったときには、「0」にリセットされる。また、先行成立フラグF_BEFLAFは、パージカットを伴う3つの判定動作がすべて完了したときに「0」にリセットされる。
上記ステップ50の答がNO(F_BEFLAF=0)のとき、すなわち、1番目の判定動作としてのEGR故障判定動作の実行中で、かつ、センサ故障判定実行条件がAFバラツキ判定実行条件よりも先に成立していないときには、EGR故障判定動作の完了に続くAFバラツキ判定動作の実行を許可するために、前記ステップ45を実行し、本処理を終了する。
一方、ステップ50の答がYES(F_BEFLAF=1)のとき、すなわち、1番目の判定動作としてのEGR故障判定動作の実行中で、かつ、センサ故障判定実行条件がAFバラツキ判定実行条件よりも先に成立しているときには、EGR故障判定動作の完了に続くAFバラツキ判定動作の実行を禁止するために、前記ステップ48を実行し、本処理を終了する。
一方、前記ステップ49の答がNO(F_MID1st=0)のとき、すなわち、パージカットを伴う3つの判定動作のうちの2番目の判定動作として、EGR故障判定動作が実行されるとともに、当該判定動作の実行中であるときには、前記ステップ48を実行し、本処理を終了する。
上記のように、実行中の判定動作がパージカットを伴う3つの判定動作のうちの1番目の判定動作でないとき(ステップ49:NO)に、2番目の判定動作であるとみなすのは、前記ステップ46と同じ理由による。
一方、前記ステップ44の答がYES(F_DONEGR=1)のとき、すなわち、パージカットを伴う3つの判定動作のうちの1番目の判定動作として、EGR故障判定動作が完了するとともに、センサ故障判定動作の実行中でなく、当該判定動作が完了していないときには、前記ステップ50以降を実行し、本処理を終了する。
一方、前記ステップ43の答がYES(F_DONLAF=1)のとき、すなわち、センサ故障判定動作が完了しているときには、EGR故障判定動作完了フラグF_DONEGRが「1」であるか否かを判別する(ステップ51)。この答がNO(F_DONEGR=0)のとき、すなわち、センサ故障判定動作が完了するとともに、EGR故障判定動作が完了していないときには、そのまま本処理を終了する。
一方、上記ステップ51の答がYES(F_DONEGR=1)のとき、すなわち、センサ故障判定動作及びEGR故障判定動作がいずれも完了しているときには、センサ故障判定動作又はEGR故障判定動作の完了に続くAFバラツキ判定動作の実行を許可するために、前記ステップ45を実行し、本処理を終了する。
図5に戻り、前記ステップ22に続くステップ23では、図6のステップ45又は48で設定された連続実行許可フラグF_PERDISが「1」であるか否かを判別する。この答がNO(F_PERDIS=0)のとき、すなわち、センサ故障判定動作又はEGR故障判定動作の完了に続くAFバラツキ判定動作の実行が禁止されているときには、前記ステップ18を実行し、本処理を終了する。
一方、上記ステップ23の答がYES(F_PERDIS=1)で、センサ故障判定動作又はEGR故障判定動作の完了に続くAFバラツキ判定動作の実行が許可されているときには、触媒劣化判定動作中フラグF_MIDCATが「1」であるか否かを判別する(ステップ24)。触媒劣化判定動作中フラグF_MIDCATは、触媒劣化判定動作の実行中であることを「1」で表すものである。
このステップ24の答がYES(F_MIDCAT=1)で、触媒劣化判定動作の実行中であるときには、AFバラツキ判定動作を保留するために、前記ステップ18を実行し(F_MIDDIS←0)、本処理を終了する。一方、ステップ24の答がNOのときには、前記ステップ14で設定した第1待機タイマのタイマ値tDIS1が値0であるか否かを判別する(ステップ25)。
このステップ25の答がNOのときには、AFバラツキ判定動作を保留するために、前記ステップ18を実行し(F_MIDDIS←0)、本処理を終了する。
一方、ステップ25の答がYES(tDIS1=0)のとき、すなわち、AFバラツキ判定実行条件が成立してから前記安定時間TMSTEが経過したときには、パージカットフラグF_PURCUTが「1」であるか否かを判別する(ステップ26)。この答がNO(F_PURCUT=0)で、パージカットの実行中でないときには、パージカットを実行するために、パージカットフラグF_PURCUTを「1」に設定する(ステップ27)とともに、ダウンカウント式の第2待機タイマのタイマ値tDIS2を所定の初期待機時間TMDINTに設定する(ステップ28)。
一方、上記ステップ26の答がYESで、パージカットの実行中であるときには、第2待機タイマのタイマ値tDIS2を所定の減少後待機時間TMDDECに設定する(ステップ29)。この減少後待機時間TMDDECは、上記の初期待機時間TMDINTよりも短い時間に設定されている。
上記ステップ28又は29に続くステップ30及び31ではそれぞれ、センサ故障判定動作中フラグF_MIDLAF及びEGR故障判定動作中フラグF_MIDEGRが「1」であるか否かを判別する。これらのステップ30及び31の答のいずれかがYES(F_MIDLAF=1orF_MIDEGR=1)で、センサ故障判定動作及びEGR故障判定動作の一方の実行中であるときには、AFバラツキ判定動作を保留するために、前記ステップ18を実行し、本処理を終了する。
一方、ステップ30及び31の答がいずれもNO(F_MIDLAF=0、かつF_MIDEGR=0)で、センサ故障判定動作及びEGR故障判定動作がいずれも実行中でないときには、AFバラツキ判定動作を開始するために、AFバラツキ判定動作中フラグF_MIDDISを「1」に設定し(ステップ32)、本処理を終了する。このステップ32の実行により、前記ステップ19の答がYES(F_MIDDIS=1)になり、その場合には、そのまま本処理を終了する。
また、図7は、図4のステップ2で実行されるAFバラツキ判定処理を示しており、本処理は、AFバラツキ判定動作を実行するためのものである。本処理では、本出願人によって提案された特許第5335704号と同様の手法によって、AFバラツキが判定されるので、以下、本処理について簡単に説明する。
まず、図7のステップ61では、図5のステップ18又は32で設定されるAFバラツキ判定動作中フラグF_MIDDISが「1」であるか否かを判別する。このステップ61の答がNO(F_MIDDIS=0)のときには、後述するEGRカットフラグF_EGRCUTを「0」に設定し(ステップ62)、本処理を終了する。
一方、ステップ61の答がYES(F_MIDDIS=1)のときには、次のステップ63以降において、AFバラツキ判定動作を実行する。まず、ステップ63において、パージカットフラグF_PURCUTを「1」に設定し、パージカット(蒸発燃料の供給停止)を実行する。次いで、判定用空燃比制御を実行する(ステップ64)。この判定用空燃比制御では、目標当量比が所定の制御周期で変化するように設定されるとともに、検出当量比KACTが設定された目標当量比になるように、燃料噴射量が制御される。
次に、EGRカットフラグF_EGRCUTを「1」に設定する(ステップ65)。これにより、EGR停止制御が実行されることによって、EGR制御弁53が全閉状態に制御され、EGR装置51による排ガスの還流が停止される。次いで、周期的変化フラグF_VARCYCが「1」であるか否かを判別する(ステップ66)。この周期的変化フラグF_VARCYCは、上記ステップ64による判定用空燃比制御の実行により目標当量比が制御周期で変化していることを「1」で表すものである。このステップ66の答がNO(F_VARCYC=0)のときには、そのまま本処理を終了する。
一方、上記ステップ66の答がYES(F_VARCYC=1)で、目標当量比が制御周期で変化しているときには、検出当量比KACTを、所定の第1バンドパスフィルタでフィルタリングすることによって、第1フィルタ済み当量比KACTF1を算出する(ステップ67)。この第1バンドパスフィルタは、検出当量比KACTのうちのエンジン回転数NEの0.5次の周波数成分を抽出するように、構成されている。そのフィルタ式については、特許第5335704号を参照されたい。
上記ステップ67に続くステップ68では、算出された第1フィルタ済み当量比KACTF1を、第1積算値SUMKF1の前回値に加算することによって、今回の第1積算値SUMKF1を算出する。なお、本処理の初回の実行時には、第1積算値SUMKF1の前回値は値0に設定される。
次に、検出当量比KACTを、所定の第2バンドパスフィルタでフィルタリングすることによって、第2フィルタ済み当量比KACTF2を算出する(ステップ69)。この第2バンドパスフィルタは、検出当量比KACTのうちの前記制御周期に対応する周波数成分を抽出するように構成されている。そのフィルタ式については、特許第5335704号を参照されたい。
上記ステップ69に続くステップ70では、算出された第2フィルタ済み当量比KACTF2を、第2積算値SUMKF2の前回値に加算することによって、今回の第2積算値SUMKF2を算出する。なお、本処理の初回の実行時には、第2積算値SUMKF2の前回値は値0に設定される。
次いで、図5のステップ28又は29で設定された第2待機タイマのタイマ値tDIS2が値0であるか否かを判別する(ステップ71)。この答がNOのときには、そのまま本処理を終了する一方、YES(tDIS2=0)のとき、すなわち、AFバラツキ判定動作の実行開始から、初期待機時間TMDINT又は減少後待機時間TMDDECが経過したときには、前記ステップ68で算出された第1積算値SUMKF1を、ステップ70で算出された第2積算値SUMKF2で除算することによって、AFバラツキ判定パラメータJUDDISを算出する(ステップ72)。
次に、算出されたAFバラツキ判定パラメータJUDDISが所定のしきい値DISREFよりも大きいか否かを判別する(ステップ73)。この答がYES(JUDDIS>DISREF)のときには、AFバラツキが発生していると判定するとともに、そのことを表すために、AFバラツキフラグF_DISPNGを「1」に設定する(ステップ74)。一方、ステップ73の答がNOのときには、AFバラツキが発生していないと判定するとともに、そのことを表すために、AFバラツキフラグF_DISPNGを「0」に設定する(ステップ75)。
上記ステップ74又は75に続くステップ76では、AFバラツキ判定動作が完了したことを表すために、AFバラツキ判定動作完了フラグF_DONDISを「1」に設定する。次いで、AFバラツキ判定動作に関連する各種のフラグをリセットし(ステップ77)、本処理を終了する。すなわち、AFバラツキ判定実行条件成立フラグF_MCNDDIS、連続実行許可フラグF_PERDIS及びAFバラツキ判定動作中フラグF_MIDDISをいずれも、「0」にリセットする。
なお、図5〜図7に示す処理は、AFバラツキ判定動作が上述したように完了した場合において、他の3つの判定動作(センサ故障判定動作、EGR故障判定動作及び触媒劣化判定動作)のいずれかが完了していないときには、その後、他の3つの判定動作がすべて完了するまで、その実行が停止される(図4のステップ1及び2がスキップされる)。また、AFバラツキ判定動作を含む4つの判定動作が完了すると、AFバラツキ判定動作完了フラグF_DONDISが「0」にリセットされるとともに、図5〜図7に示す処理の実行が再開される。
次に、図8を参照しながら、図4のステップ3で実行されるセンサ故障判定条件判定処理について説明する。本処理は、センサ故障判定実行条件(センサ故障判定動作の実行条件)が成立しているか否かを判定するためのものである。
まず、図8のステップ81では、センサ故障判定実行条件が成立しているか否かを判別する。センサ故障判定実行条件は、例えば次の条件a2〜c2から成る所定の複数の条件がいずれも成立しているときに、成立していると判別される。なお、センサ故障判定実行条件に、他の適当な条件をさらに含めてもよい。
a2:エンジン回転数NE及び吸入空気量GAIRで表されるエンジン3
の運転点が図16に示す運転点判定マップにおける領域βにあるこ
と
b2:LAFセンサ66が活性化していること
c2:検出された車速VPが所定の範囲内にあること
上記ステップ81の答がNOで、センサ故障判定実行条件が成立していないときには、そのことを表すために、センサ故障判定実行条件成立フラグF_MCNDLAFを「0」に設定する(ステップ82)とともに、ダウンカウント式の第1待機タイマのタイマ値tLAF1を安定時間TMSTEに設定する(ステップ83)。
次いで、ステップ84及び85においてそれぞれ、AFバラツキ判定実行条件成立フラグF_MCNDDIS及びEGR故障判定実行条件成立フラグF_MCNDEGRが「1」であるか否かを判別する。ステップ84及び85の答のいずれもがNO(F_MCNDDIS=0、かつF_MCNDEGR=0)のとき、すなわち、センサ故障判定実行条件、AFバラツキ判定実行条件及びEGR故障判定実行条件がいずれも成立していないときには、パージカットフラグF_PURCUTを「0」に設定し(ステップ86)、ステップ87に進む。
一方、ステップ84及び85の答のいずれかがYESのとき、すなわち、AFバラツキ判定実行条件及びEGR故障判定実行条件のいずれかが成立しているときには、上記ステップ86をスキップし、ステップ87に進む。
このステップ87では、センサ故障判定動作中フラグF_MIDLAFを「0」に設定し、本処理を終了する。センサ故障判定動作中フラグF_MIDLAFは、センサ故障判定動作の実行中であることを「1」で表すものである。
一方、前記ステップ81の答がYESで、センサ故障判定実行条件が成立しているときには、センサ故障判定動作中フラグF_MIDLAFが「1」であるか否かを判別する(ステップ88)。この答がNO(F_MIDLAF=0)のときには、センサ故障判定実行条件が成立していることを表すために、センサ故障判定実行条件成立フラグF_MCNDLAFを「1」に設定する(ステップ89)。
次いで、触媒劣化判定動作中フラグF_MIDCATが「1」であるか否かを判別する(ステップ90)。この答がYES(F_MIDCAT=1)のとき、すなわち、触媒劣化判定動作の実行中であるときには、センサ故障判定動作を保留するために、前記ステップ87を実行し、本処理を終了する。
一方、ステップ90の答がNO(F_MIDCAT=0)のときには、前記ステップ83で設定された第1待機タイマのタイマ値tLAF1が値0であるか否かを判別する(ステップ91)。この答がNOのときには、センサ故障判定動作を保留するために、前記ステップ87を実行し(F_MIDLAF←0)、本処理を終了する。
一方、上記ステップ91の答がYES(tLAF1=0)のとき、すなわち、センサ故障判定実行条件が成立してから安定時間TMSTEが経過したときには、パージカットフラグF_PURCUTが「1」であるか否かを判別する(ステップ92)。この答がNO(F_PURCUT=0)で、パージカットの実行中でないときには、パージカットを実行するために、パージカットフラグF_PURCUTを「1」に設定する(ステップ93)とともに、ダウンカウント式の第2待機タイマのタイマ値tLAF2を所定の初期待機時間TMLINTに設定する(ステップ94)。
一方、上記ステップ92の答がYESで、パージカットの実行中であるときには、第2待機タイマのタイマ値tLAF2を所定の減少後待機時間TMLDECに設定する(ステップ95)。この減少後待機時間TMLDECは、上記の初期待機時間TMLINTよりも短い時間に設定されている。
上記ステップ94又は95に続くステップ96及び97ではそれぞれ、AFバラツキ判定動作中フラグF_MIDDIS及びEGR故障判定動作中フラグF_MIDEGRが「1」であるか否かを判別する。これらのステップ96及び97の答のいずれかがYESで、AFバラツキ判定動作及びEGR故障判定動作のいずれかが実行中であるときには、センサ故障判定動作を保留するために、前記ステップ87を実行し、本処理を終了する。
一方、ステップ96及び97の答がいずれもNOのとき、すなわち、AFバラツキ判定動作及びEGR故障判定動作がいずれも実行中でないときには、センサ故障判定動作を開始するために、センサ故障判定動作中フラグF_MIDLAFを「1」に設定し(ステップ98)、本処理を終了する。このステップ98の実行により、前記ステップ88の答がYES(F_MIDLAF=1)になり、その場合には、そのまま本処理を終了する。
また、図9は、図4のステップ4で実行されるセンサ故障判定処理を示しており、本処理は、センサ故障判定動作を実行するためのものである。本処理では、本出願人によって提案された特許第4459566号と同様の手法によって、LAFセンサ66の故障が判定されるので、以下、本処理について簡単に説明する。
まず、図9のステップ101では、図8のステップ87又は98で設定されるセンサ故障判定動作中フラグF_MIDLAFが「1」であるか否かを判別する。この答がNO(F_MIDLAF=0)のときには、ダウンカウント式の積算タイマのタイマ値tLAFDETを所定時間TLREFに設定し(ステップ102)、本処理を終了する。
一方、ステップ101の答がYES(F_MIDLAF=1)のときには、次のステップ103以降において、センサ故障判定動作を実行する。まず、ステップ103において、パージカットフラグF_PURCUTを「1」に設定し、パージカットを実行する。次いで、判定用噴射制御を実行する(ステップ104)。
この判定用噴射制御では、所定の周波数及び振幅を有する正弦波に、所定のオフセット量を加算することによって補正項KIDSINが算出され、算出された補正項KIDSINを基本燃料噴射量に乗算することによって、燃料噴射量INJが算出される。そして、算出された燃料噴射量INJに基づく制御信号がインジェクタ26に入力されることによって、インジェクタ26からの燃料噴射量が制御される。この基本燃料噴射量は、吸入空気量GAIRに基づく所定のマップ検索によって算出される。
なお、センサ故障判定動作の実行中、EGR制御弁開度OEVは、AFバラツキ判定動作の場合と異なり、エンジン回転数NEなどのエンジン3の運転状態に応じて制御される。
上記ステップ104に続くステップ105では、検出当量比KACTを、所定のバンドパスフィルタでフィルタリングすることによって、フィルタ済み当量比KACTFを算出する。このバンドパスフィルタは、検出当量比KACTのうちの上記正弦波の周波数と同じ高さの周波数成分を抽出するように構成されている。そのフィルタ式については、特許第4459566号を参照されたい。
上記ステップ105に続くステップ106では、フィルタ済み当量比KACTFの絶対値KACTFAを算出する。次いで、図8のステップ94又は95で設定された第2待機タイマのタイマ値tLAF2が値0であるか否かを判別する(ステップ107)。この答がNOのときには、前記ステップ102を実行し、本処理を終了する。
一方、上記ステップ107の答がYES(tLAF2=0)のとき、すなわち、センサ故障判定動作の実行開始から、初期待機時間TMLINT又は減少後待機時間TMLDECが経過したときには、上記ステップ106で算出された絶対値KACTFAを、積算値LAFDLYPの前回値に加算することによって、今回の積算値LAFDLYPを算出する(ステップ108)。なお、本処理の初回の実行時には、積算値LAFDLYPの前回値は値0に設定される。
次いで、前記ステップ102で設定された積算タイマのタイマ値tLAFDETが値0であるか否かを判別する(ステップ109)。この答がNOのときには、そのまま本処理を終了する一方、YES(tLAFDET=0)のとき、すなわち、ステップ108による絶対値KACTFAの積算が所定時間TLREFにわたって繰り返されたときには、積算値LAFDLYPが判定値LAFDLYPOKよりも小さいか否かを判別する(ステップ110)。
このステップ110の答がYES(LAFDLYP<LAFDLYPOK)のときには、LAFセンサ66が故障していると判定するとともに、そのことを表すために、センサ故障フラグF_LAFSNGを「1」に設定する(ステップ111)。一方、ステップ110の答がNO(LAFDLYP≧LAFDLYPOK)のときには、LAFセンサ66が故障していないと判定するとともに、そのことを表すために、センサ故障フラグF_LAFSNGを「0」に設定する(ステップ112)。
上記ステップ111又は112に続くステップ113では、センサ故障判定動作が完了したことを表すため、センサ故障判定動作完了フラグF_DONLAFを「1」に設定する。次いで、センサ故障判定動作に関連する各種のフラグをリセットし(ステップ114)、本処理を終了する。すなわち、センサ故障判定実行条件成立フラグF_MCNDLAF及びセンサ故障判定動作中フラグF_MIDLAFをいずれも、「0」に設定する。
なお、図8及び図9に示す処理は、センサ故障判定動作が上述したように完了した場合において、他の3つの判定動作(AFバラツキ判定動作、EGR故障判定動作及び触媒劣化判定動作)のいずれかが完了していないときには、その後、他の3つの判定動作がすべて完了するまで、その実行が停止される(図4のステップ3及び4がスキップされる)。また、センサ故障判定動作を含む4つの判定動作が完了すると、センサ故障判定動作完了フラグF_DONLAFが「0」にリセットされるとともに、図8及び図9に示す処理の実行が再開される。
次に、図10を参照しながら、図4のステップ5で実行されるEGR故障判定条件判定処理について説明する。本処理は、EGR故障判定実行条件(EGR故障判定動作の実行条件)が成立しているか否かを判定するためのものである。
まず、図10のステップ121では、EGR故障判定実行条件が成立しているか否かを判別する。EGR故障判定実行条件は、例えば次の条件a3〜e3から成る所定の複数の条件がいずれも成立しているときに、成立していると判別される。なお、b3の条件の成立は、検出されたEGR制御弁開度OEVに基づいて判別れる。また、EGR故障判定実行条件に、他の適当な条件をさらに含めてもよい。
a3:エンジン回転数NE及び吸入空気量GAIRで表されるエンジン3
の運転点が図16に示す運転点判定マップにおける領域γにあるこ
と
b3:EGR故障判定動作の開始前にEGR装置51による排ガスの還流
が行われていたこと(あるいは排ガスの還流を実行可能であること)
c3:検出された吸気温TAが所定吸気温よりも高いこと
d3:エンジン水温TWが所定水温よりも高いこと
e3:車速VPが所定車速よりも高いこと
上記ステップ121の答がNOで、EGR故障判定実行条件が成立していないときには、そのことを表すために、EGR故障判定実行条件成立フラグF_MCNDEGRを「0」に設定する(ステップ122)とともに、ダウンカウント式の第1待機タイマのタイマ値tEGR1を安定時間TMSTEに設定する(ステップ123)。
次いで、ステップ124及び125においてそれぞれ、AFバラツキ判定実行条件成立フラグF_MCNDDIS及びセンサ故障判定実行条件成立フラグF_MCNDLAFが「1」であるか否かを判別する。ステップ124及び125の答がいずれもNO(F_MCNDDIS=0、かつF_MCNDLAF=0)のとき、すなわち、EGR故障判定実行条件、AFバラツキ判定実行条件及びセンサ故障判定実行条件がいずれも成立していないときには、パージカットフラグF_PURCUTを「0」に設定し(ステップ126)、ステップ127に進む。
一方、ステップ124及び125の答のいずれかがYESのとき、すなわち、AFバラツキ判定実行条件及びLAF判定実行条件のいずれかが成立しているときには、上記ステップ126をスキップし、ステップ127に進む。
このステップ127では、EGR故障判定動作中フラグF_MIDEGRを「0」に設定し、本処理を終了する。EGR故障判定動作中フラグF_MIDEGRは、EGR故障判定動作の実行中であることを「1」で表すものである。
一方、前記ステップ121の答がYESで、EGR故障判定実行条件が成立しているときには、EGR故障判定動作中フラグF_MIDEGRが「1」であるか否かを判別する(ステップ128)。この答がNO(F_MIDEGR=0)のときには、EGR故障判定実行条件が成立していることを表すために、EGR故障判定実行条件成立フラグF_MCNDEGRを「1」に設定する(ステップ129)。
次いで、触媒劣化判定動作中フラグF_MIDCATが「1」であるか否かを判別する(ステップ130)。この答がYES(F_MIDCAT=1)のとき、すなわち、触媒劣化判定動作の実行中であるときには、EGR故障判定動作を保留するために、前記ステップ127を実行し、本処理を終了する。
一方、上記ステップ130の答がNO(F_MIDCAT=0)のときには、前記ステップ123で設定された第1待機タイマのタイマ値tEGR1が値0であるか否かを判別する(ステップ131)。この答がNOのときには、EGR故障判定動作を保留するために、前記ステップ127を実行し(F_MIDEGR←0)、本処理を終了する。
一方、上記ステップ131の答がYES(tEGR1=0)のとき、すなわち、EGR故障判定実行条件が成立してから安定時間TMSTEが経過したときには、パージカットフラグF_PURCUTが「1」であるか否かを判別する(ステップ132)。この答がNO(F_PURCUT=0)で、パージカットの実行中でないときには、パージカットを実行するために、パージカットフラグF_PURCUTを「1」に設定する(ステップ133)とともに、ダウンカウント式の第2待機タイマのタイマ値tEGR2を所定の初期待機時間TMEINTに設定する(ステップ134)。
一方、上記ステップ132の答がYESで、パージカットの実行中であるときには、第2待機タイマのタイマ値tEGR2を所定の減少後待機時間TMEDECに設定する(ステップ135)。この減少後待機時間TMEDECは、上記の初期待機時間TMEINTよりも短い時間に設定されている。上記ステップ134又は135に続くステップ136では、センサ故障判定動作中フラグF_MIDLAFが「1」であるか否かを判別する。この答がYES(F_MIDLAF=1)で、センサ故障判定動作の実行中であるときには、EGR故障判定動作を保留するために、前記ステップ127を実行し、本処理を終了する。
一方、ステップ136の答がNOで、センサ故障判定動作の実行中でないときには、EGR故障判定動作を開始するために、EGR故障判定動作中フラグF_MIDEGRを「1」に設定し(ステップ137)、本処理を終了する。このステップ137の実行により、前記ステップ128の答がYES(F_MIDEGR=1)になり、その場合には、そのまま本処理を終了する。
また、図11は、図4のステップ6で実行されるEGR故障判定処理を示しており、本処理は、EGR故障判定動作を実行するためのものである。本処理では、本出願人によって提案された特許第4531597号と同様の手法によって、EGR装置51の故障が判定されるので、以下、本処理について簡単に説明する。
まず、図11のステップ141では、図10のステップ127又は137で設定されるEGR故障判定動作中フラグF_MIDEGRが「1」であるか否かを判別する。この答がNO(F_MIDEGR=0)のときには、ダウンカウント式の積算タイマのタイマ値tEGRDETを所定時間TEREFに設定し(ステップ142)、本処理を終了する。
一方、ステップ141の答がYES(F_MIDEGR=1)のときには、次のステップ143以降において、EGR故障判定動作を実行する。まず、ステップ143において、パージカットフラグF_PURCUTを「1」に設定し、パージカットを実行する。次いで、判定用EGR制御を実行する(ステップ144)。この判定用EGR制御では、EGR制御弁開度OEVが一定周期で複数回、繰り返して開閉制御される。
次いで、空燃比F/B制御を実行する(ステップ145)。この空燃比F/B制御では、検出当量比KACTが目標当量比になるように、所定のフィードバック制御アルゴリズムを用いて、空燃比補正係数KAFを算出するとともに、算出された空燃比補正係数KAFで基本燃料噴射量を補正することによって、燃料噴射量INJが算出される。そして、算出された燃料噴射量INJに基づく制御信号がインジェクタ26に入力されることによって、インジェクタ26からの燃料噴射量が制御される。基本燃料噴射量の算出手法は、前述したとおりである。
上記ステップ145に続くステップ146では、空燃比補正係数KAFを、所定のバンドパスフィルタでフィルタリングすることによって、フィルタ済み補正係数KAFFを算出する。そのフィルタ式については、特許第4531597号を参照されたい。
次いで、フィルタ済み補正係数KAFFの絶対値KAFFAを算出する(ステップ147)。次いで、図10のステップ134又は135で設定された第2待機タイマのタイマ値tEGR2が値0であるか否かを判別する(ステップ148)。この答がNOのときには、前記ステップ142を実行し、本処理を終了する。
一方、上記ステップ148の答がYES(tEGR2=0)のとき、すなわち、EGR故障判定動作の実行開始から、初期待機時間TMEINT又は減少後待機時間TMEDECが経過したときには、上記ステップ147で算出された絶対値KAFFAを、積算値RT80AXの前回値に加算することによって、今回の積算値RT80AXを算出する(ステップ149)。なお、本処理の初回の実行時には、積算値RT80AXの前回値は値0に設定される。
次いで、前記ステップ142で設定された積算タイマのタイマ値tEGRDETが値0であるか否かを判別する(ステップ150)。この答がNOのときには、そのまま本処理を終了する一方、YES(tEGRDET=0)のとき、すなわち、ステップ149による絶対値KAFFAの積算が所定時間TEREFにわたって繰り返されたときには、積算値RT80AXがしきい値LT80Aよりも大きいか否かを判別する(ステップ151)。
このステップ151の答がYES(RT80AX>LT80A)のときには、EGR装置51が故障している(EGR装置51に漏れがある)と判定するとともに、そのことを表すために、EGR故障フラグF_EGRNGを「1」に設定する(ステップ152)。一方、ステップ151の答がNO(RT80AX≦LT80A)のときには、EGR装置51が故障していないと判定するとともに、そのことを表すために、EGR故障フラグF_EGRNGを「0」に設定する(ステップ153)。
上記ステップ152又は153に続くステップ154では、EGR故障判定動作が完了したことを表すため、EGR故障判定動作完了フラグF_DONEGRを「1」に設定する。次いで、EGR故障判定動作に関連する各種のフラグをリセットし(ステップ155)、本処理を終了する。すなわち、EGR故障判定実行条件成立フラグF_MCNDEGR及びEGR故障判定動作中フラグF_MIDEGRをいずれも、「0」に設定する。
なお、図10及び図11に示す処理は、EGR故障判定動作が上述したように完了した場合において、他の3つの判定動作(AFバラツキ判定動作、センサ故障判定動作及び触媒劣化判定動作)のいずれかが完了していないときには、その後、他の3つの判定動作がすべて完了するまで、その実行が停止される(図4のステップ5及び6がスキップされる)。また、EGR故障判定動作を含む4つの判定動作が完了すると、EGR故障判定動作完了フラグF_DONEGRが「0」にリセットされるとともに、図10及び図11に示す処理の実行が再開される。
次に、図12を参照しながら、エンジン運転点制御処理について説明する。本処理は、パージカットを伴う3つの判定動作を前述した順番A〜Dで連続して実行するために、パージカットを伴う3つの判定動作の各々の実行中に、前述した図16で規定されるエンジン3の運転点に関する実行条件が成立するように、エンジン3の運転点を制御するための処理であり、図4に示す処理と併行して、前記所定周期で繰り返し実行される。
まず、図12のステップ161では、AFバラツキ判定動作中フラグF_MIDDISが「1」であるか否かを判別する。この答がYES(F_MIDDIS=1)で、AFバラツキ判定動作の実行中であるときには、3番目判定動作中フラグF_MID3rdが「1」であるか否かを判別する(ステップ162)。
この3番目判定動作中フラグF_MID3rdは、パージカットを伴う3つの判定動作のうちの3番目の判定動作の実行中であることを「1」で表すものであり、AFバラツキ判定動作完了フラグF_DONDIS、センサ故障判定動作完了フラグF_DONLAF及びEGR故障判定動作完了フラグF_DONEGRに基づいて設定される。また、3番目判定動作中フラグF_MID3rdは、3番目の判定動作が完了したときに「0」にリセットされる。さらに、3番目判定動作中フラグF_MID3rdは、3番目の判定動作が完了せずに中断された場合には、一旦「0」にリセットされ、再開されたときに「1」に設定される。
上記ステップ162の答がNO(F_MID3rd=0)のとき、すなわち、パージカットを伴う3つの判定動作のうちの1番目又は2番目の判定動作として、AFバラツキ判定動作が実行中であるときには、AFバラツキ判定動作の完了に続いてセンサ故障判定動作が実行される可能性を高めるために、αβ運転点制御を実行し(ステップ163)、本処理を終了する。このαβ運転点制御では、駆動系の運転モードが前記ECVT走行モードに設定されるとともに、エンジン回転数NE及び吸入空気量GAIRで表されるエンジン3の運転点が運転点判定マップにおける領域α及び領域β(図16)の互いに重複する領域に収まるように、スロットル弁開度が制御される。
また、αβ運転点制御では、上記のように制御されるエンジン3の動力が、運転者により要求される要求動力よりも小さいときには、その不足分に相当する電力がバッテリ8から第2モータ5に供給される。一方、エンジン3の動力が要求動力よりも大きいときには、第1モータ4で発電した電力のうち、その余剰分に相当する電力がバッテリ8に充電される。この要求動力は、検出されたアクセル開度APに応じたマップ検索によって算出される。以上の第1及び第2モータ4、5の電力制御は、後述する各種の運転点制御(ステップ164、167、170、173、175及び176)においても、同様に行われる。
あるいは、αβ運転点制御において、駆動系の運転モードを前記ENG直結走行モードに設定してもよい。この場合、エンジン回転数NEが車速VPに拘束されるので、吸入空気量GAIRが運転点判定マップにおける領域α及び領域β(図16)の互いに重複する領域に収まるように、スロットル弁開度及び第1モータ4の発電電力が制御される。
一方、ステップ162の答がYES(F_MID3rd=1)のとき、すなわち、3番目の判定動作としてのAFバラツキ判定動作の実行中であるときには、α運転点制御を実行し(ステップ164)、本処理を終了する。このα運転点制御では、駆動系の運転モードがECVT走行モードに設定されるとともに、エンジン回転数NE及び吸入空気量GAIRで表されるエンジン3の運転点が運転点判定マップにおける領域αに収まるように、スロットル弁開度が制御される。
あるいは、α運転点制御において、駆動系の運転モードをENG直結走行モードに設定してもよい。この場合、エンジン回転数NEが車速VPに拘束されるので、吸入空気量GAIRが領域αに収まるように、スロットル弁開度及び第1モータ4の発電電力が制御される。
一方、前記ステップ161の答がNO(F_MIDDIS=0)で、AFバラツキ判定動作の実行中でないときには、センサ故障判定動作中フラグF_MIDLAFが「1」であるか否かを判別する(ステップ165)。この答がYESで、センサ故障判定動作の実行中であるときには、1番目判定動作中フラグF_MID1stが「1」であるか否かを判別する(ステップ166)。
このステップ166の答がYES(F_MID1st=1)のとき、すなわち、パージカットを伴う3つの判定動作のうちの1番目の判定動作として、センサ故障判定動作が実行中であるときには、センサ故障判定動作の完了に続いてEGR故障判定動作が実行される可能性を高めるために、βγ運転点制御を実行し(ステップ167)、本処理を終了する。このβγ運転点制御では、駆動系の運転モードがECVT走行モードに設定されるとともに、エンジン3の運転点が運転点判定マップにおける領域β及び領域γの互いに重複する領域に収まるように、スロットル弁開度が制御される。
あるいは、βγ運転点制御において、駆動系の運転モードをENG直結走行モードに設定してもよい。この場合、エンジン回転数NEが車速VPに拘束されるので、吸入空気量GAIRが運転点判定マップにおける領域β及び領域γの互いに重複する領域に収まるように、スロットル弁開度及び第1モータ4の発電電力が制御される。
一方、上記ステップ166の答がNO(F_MID1st=0)のときには、2番目判定動作中フラグF_MID2ndが「1」であるか否かを判別する(ステップ168)。この2番目判定動作中フラグF_MID2ndは、パージカットを伴う3つの判定動作のうちの2番目に開始された判定動作が実行中であることを、「1」で表すものであり、AFバラツキ判定動作中フラグF_MIDDIS、センサ故障判定動作中フラグF_MIDLAF及びEGR故障判定動作中フラグF_MIDEGR、AFバラツキ判定動作完了フラグF_DONDIS、センサ故障判定動作完了フラグF_DONLAF及びEGR故障判定動作完了フラグF_DONEGRに基づいて設定される。
また、2番目判定動作中フラグF_MID2ndは、2番目の判定動作が完了したときに「0」にリセットされる。さらに、2番目判定動作中フラグF_MID2ndは、2番目の判定動作が完了せずに中断された場合には、一旦「0」にリセットされ、再開されたときに「1」に設定される。2番目の判定動作が完了せずに中断され、当該判定動作と異なる判定動作が開始されたときにも、「1」に設定される。
上記ステップ168の答がYES(F_MID2nd=1)のとき、すなわち、パージカットを伴う3つの判定動作のうちの2番目の判定動作として、センサ故障判定動作が実行中であるときには、AFバラツキ判定動作完了フラグF_DONDISが「1」であるか否かを判別する(ステップ169)。
このステップ169の答がNO(F_DONDIS=0)で、AFバラツキ判定動作が完了していないとき、すなわち、1番目の判定動作としてのEGR故障判定動作が完了し、かつ、2番目の判定動作としてのセンサ故障判定動作の実行中であるときには、センサ故障判定動作の完了に続いてAFバラツキ判定動作が実行される可能性を高めるために、前記ステップ163の実行により、αβ運転点制御を実行し、本処理を終了する。
一方、ステップ169の答がYES(F_DONDIS=1)のとき、すなわち、1番目の判定動作としてのAFバラツキ判定動作が完了し、かつ、2番目の判定動作としてのセンサ故障判定動作の実行中であるときには、前記ステップ167の実行により、βγ運転点制御を実行し、本処理を終了する。
一方、前記ステップ168の答がNO(F_MId2nd=0)のとき、すなわち、パージカットを伴う3つの判定動作のうちの3番目の判定動作として、センサ故障判定動作が実行中であるときには、β運転点制御を実行し(ステップ170)、本処理を終了する。このβ運転点制御では、駆動系の運転モードがECVT走行モードに設定されるとともに、エンジン3の運転点が運転点判定マップにおける領域βに収まるように、スロットル弁開度が制御される。
あるいは、β運転点制御において、駆動系の運転モードをENG直結走行モードに設定してもよい。この場合、エンジン回転数NEが車速VPに拘束されるので、吸入空気量GAIRが領域βに収まるように、スロットル弁開度及び第1モータ4の発電電力が制御される。
一方、前記ステップ165の答がNO(F_MIDLAF=0)のとき、すなわち、AFバラツキ判定動作の実行中及びセンサ故障判定動作の実行中のいずれでもないときには、EGR故障判定動作中フラグF_MIDEGRが「1」であるか否かを判別する(ステップ171)。この答がNO(F_MIDEGR=0)のとき、すなわち、パージカットを伴う3つの判定動作がいずれも実行中でないときには、そのまま本処理を終了する一方、YESで、EGR故障判定動作の実行中であるときには、1番目判定動作中フラグF_MID1stが「1」であるか否かを判別する(ステップ172)。
このステップ172の答がYESのとき、すなわち、パージカットを伴う3つの判定動作のうちの1番目の判定動作として、EGR故障判定動作が実行中であるときには、EGR故障判定動作の完了に続いてAFバラツキ判定動作又はセンサ故障判定動作が実行される可能性を高めるために、αβγ運転点制御を実行し(ステップ173)。本処理を終了する。このαβγ運転点制御では、駆動系の運転モードがECVT走行モードに設定されるとともに、運転点判定マップにおける領域α及び領域βのうち、そのときのエンジン3の運転点に近い領域と領域γとの互いに重複する領域に、エンジン3の運転点が収まるように、スロットル弁開度が制御される。また、そのときのエンジン3の運転点が、領域α及び/又は領域βと領域γとの互いに重複する領域に収まっているときには、その状態を保持するように、スロットル弁開度が制御される。
あるいは、αβγ運転点制御において、駆動系の運転モードをENG直結走行モードに設定してもよい。この場合、エンジン回転数NEが車速VPに拘束されるので、運転点判定マップにおける領域α及び領域βのうち、そのときの吸入空気量GAIRに近い領域と領域γとの互いに重複する領域に、吸入空気量GAIRが収まるように、スロットル弁開度および第1モータ4の発電電力が制御される。また、そのときの吸入空気量GAIRが、領域α及び/又は領域βと領域γとの互いに重複する領域に収まっているときには、その状態を保持するように、スロットル弁開度および第1モータ4の発電電力が制御される。
一方、ステップ172の答がNO(F_MID1st=0)のときには、2番目判定動作中フラグF_MID2ndが「1」であるか否かを判別する(ステップ174)。この答がYES(F_MID2nd=1)のとき、すなわち、パージカットを伴う3つの判定動作のうちの2番目の判定動作として、EGR故障判定動作が実行中であるときには、EGR故障判定動作の完了に続いてAFバラツキ判定動作が実行される可能性を高めるために、αγ運転点制御を実行し(ステップ175)、本処理を終了する。このαγ運転点制御では、駆動系の運転モードがECVT走行モードに設定されるとともに、エンジン3の運転点が、運転点判定マップにおける領域α及び領域γが重複する領域に収まるように、スロットル弁開度が制御される。
あるいは、αγ運転点制御において、駆動系の運転モードをENG直結走行モードに設定してもよい。この場合、エンジン回転数NEが車速VPに拘束されるので、吸入空気量GAIRが運転点判定マップにおける領域α及び領域γの互いに重複する領域に収まるように、スロットル弁開度及び第1モータ4の発電電力が制御される。
一方、上記ステップ174の答がNOのとき、すなわち、パージカットを伴う3つの判定動作のうちの3番目の判定動作として、EGR故障判定動作が実行中であるときには、γ運転点制御を実行し(ステップ176)、本処理を終了する。このγ運転点制御では、駆動系の運転モードがECVT走行モードに設定されるとともに、エンジン3の運転点が運転点判定マップにおける領域γに収まるように、スロットル弁開度が制御される。
あるいは、γ運転点制御において、駆動系の運転モードをENG直結走行モードに設定してもよい。この場合、エンジン回転数NEが車速VPに拘束されるので、吸入空気量GAIRが領域γに収まるように、スロットル弁開度及び第1モータ4の発電電力が制御される。
次に、図13を参照しながら、図4のステップ7で実行される触媒劣化判定条件判定処理について説明する。本処理は、触媒劣化判定実行条件(三元触媒28の故障の判定動作の実行条件)が成立しているか否かを判定するためのものである。
まず、図13のステップ181では、触媒劣化判定実行条件が成立しているか否かを判別する。この触媒劣化判定実行条件は、例えば次の条件a4が成立しているときに、成立していると判別される。なお、触媒劣化判定実行条件に、他の適当な条件をさらに含めてもよい。
a4:エンジン回転数NE及び吸入空気量GAIRで表されるエンジン3の運転点が運 転点判定マップにおける領域δ(図16)にあること
上記ステップ181の答がNOで、触媒劣化判定実行条件が成立していないときには、そのことを表すために、触媒劣化判定実行条件成立フラグF_MCNDCATを「0」に設定する(ステップ182)。次いで、触媒劣化判定動作用の連続実行許可フラグF_PERCATを「0」に設定する(ステップ183)とともに、触媒劣化判定動作中フラグF_MIDCATを「0」に設定し(ステップ184)、本処理を終了する。
一方、前記ステップ181の答がYESで、触媒劣化判定実行条件が成立しているときには、触媒劣化判定動作中フラグF_MIDCATが「1」であるか否かを判別する(ステップ185)。この答がNO(F_MIDCAT=0)のときには、触媒劣化判定実行条件が成立していることを表すために、触媒劣化判定実行条件成立フラグF_MCNDCATを「1」に設定する(ステップ186)。
次いで、第2最先成立フラグF_FOU1stが「1」であるか否かを判別する(ステップ187)。この第2最先成立フラグF_FOU1stは、触媒劣化判定実行条件が、AFバラツキ判定実行条件、センサ故障判定実行条件及びEGR故障判定実行条件よりも先に成立したことを「1」で表すものであり、AFバラツキ判定実行条件成立フラグF_MCNDDIS、センサ故障判定実行条件成立フラグF_MCNDLAF、及びEGR故障判定実行条件成立フラグF_MCNDEGRに基づいて設定される。
また、第2最先成立フラグF_FOU1stは、最先に開始された触媒劣化判定動作が完了したときに「0」にリセットされる。さらに、第2最先成立フラグF_FOU1stは、一旦、触媒劣化判定実行条件が最先に成立しても、触媒劣化判定動作が完了する前に触媒劣化判定実行条件が不成立になるとともに、AFバラツキ判定実行条件、センサ故障判定実行条件又はEGR故障判定実行条件が成立したときには、「0」にリセットされる。
上記ステップ187の答がYES(F_FOU1st=1)のとき、すなわち、触媒劣化判定実行条件が、AFバラツキ判定実行条件、センサ故障判定実行条件及びEGR故障判定実行条件よりも先に成立しているときには、触媒劣化判定動作を開始するために、触媒劣化判定動作中フラグF_MIDCATを「1」に設定し(ステップ188)、本処理を終了する。このステップ188の実行により、前記ステップ185の答がYESになり、その場合には、そのまま本処理を終了する。
一方、ステップ187の答がNO(F_FOU1st=0)のとき、すなわち、AFバラツキ判定実行条件、センサ故障判定実行条件及びEGR故障判定実行条件のいずれかが、触媒劣化判定実行条件よりも先に成立しているときには、最先判定動作開始済みフラグF_STA1stが「1」であるか否かを判別する(ステップ189)。この最先判定動作開始済みフラグF_STA1stは、パージカットを伴う3つの判定動作のうちの1番目の判定動作が開始済みであることを「1」で表すものであり、AFバラツキ判定動作中フラグF_MIDDIS、センサ故障判定動作中フラグF_MIDLAF及びEGR故障判定動作中フラグF_MIDEGRに基づいて設定される。
このステップ189の答がNO(F_STA1st=0)のときには、前記ステップ184を実行し、本処理を終了する一方、YESで、実行条件が最先に成立した判定動作が開始済みであるときには、第2連続実行許可処理を実行する(ステップ190)。
図14は、この第2連続実行許可処理を示している。本処理は、パージカットを伴う3つの判定動作のうちの1番目又は2番目の判定動作の完了に続いて触媒劣化判定動作を実行することを、許可/禁止するためのものである。まず、図14のステップ201では、3番目判定動作完了フラグF_DON3rdが「1」であるか否かを判別する。この3番目判定動作完了フラグF_DON3rdは、パージカットを伴う3つの判定動作がすべて完了していることを「1」で表すものであり、AFバラツキ判定動作完了フラグF_DONDIS、センサ故障判定動作完了フラグF_DONLAF、及びEGR故障判定動作完了フラグF_DONEGRに基づいて設定される。また、3番目判定動作完了フラグF_DON3rdは、パージカットを伴う3つの判定動作及び触媒劣化判定動作がすべて完了したときに、「0」にリセットされる。
上記ステップ201の答がNO(F_DON3rd=0)で、パージカットを伴う3つの判定動作のいずれかが完了していないときには、1番目判定動作中フラグF_F_MID1stが「1」であるか否かを判別する(ステップ202)。この場合、図13の前記ステップ189の答がYES(F_STA1st=1)で、1番目の判定動作がすでに開始されているので、1番目の判定動作が完了するまでは、このステップ202の答はYES(F_F_MID1st=1)になる。ステップ202の答がYESで、パージカットを伴う3つの判定動作のうちの1番目の判定動作が実行中であるときには、AFバラツキ判定動作中フラグF_MIDDISが「1」であるか否かを判別する(ステップ203)。
このステップ203の答がYES(F_MIDDIS=1)のとき、すなわち、1番目の判定動作としてAFバラツキ判定動作が実行中であるときには、センサ故障判定実行条件成立フラグF_MCNDLAFが「1」であるか否かを判別する(ステップ204)。この答がNO(F_MCNDLAF=0)のとき、すなわち、1番目の判定動作としてのAFバラツキ判定動作の実行中に、センサ故障判定実行条件が成立していないときには、AFバラツキ判定動作の完了に続く触媒劣化判定動作の実行を許可するために、触媒劣化判定動作用の連続実行許可フラグF_PERCATを「1」に設定し(ステップ205)、本処理を終了する。
一方、上記ステップ204の答がYES(F_MCNDLAF=1)のとき、すなわち、1番目の判定動作としてのAFバラツキ判定動作の実行中に、センサ故障判定実行条件が成立しているときには、AFバラツキ判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、触媒劣化判定動作用の連続実行許可フラグF_PERCATを「0」に設定し(ステップ206)、本処理を終了する。
一方、前記ステップ203の答がNO(F_MIDDIS=0)のときには、センサ故障判定動作中フラグF_MIDLAFが「1」であるか否かを判別する(ステップ207)。この答がYES(F_MIDLAF=1)のとき、すなわち、1番目の判定動作としてセンサ故障判定動作が実行中であるときには、EGR故障判定実行条件成立フラグF_MCNDEGRが「1」であるか否かを判別する(ステップ208)。
このステップ208の答がNO(F_MCNDEGR=0)のとき、すなわち、1番目の判定動作としてのセンサ故障判定動作の実行中に、EGR故障判定実行条件が成立していないときには、センサ故障判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ205を実行し、本処理を終了する。
一方、ステップ208の答がYES(F_MCNDEGR=1)のとき、すなわち、1番目の判定動作としてのセンサ故障判定動作の実行中に、EGR故障判定実行条件が成立しているときには、センサ故障判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ206を実行し、本処理を終了する。
一方、前記ステップ207の答がNOのとき、すなわち、1番目の判定動作としてのEGR故障判定動作の実行中であるときには、ステップ209及び210においてそれぞれ、AFバラツキ判定実行条件成立フラグF_MCNDDIS及びセンサ故障判定実行条件成立フラグF_MCNDLAFが「1」であるか否かを判別する。これらの答がいずれもNOのとき、すなわち、1番目の判定動作としてのEGR故障判定動作の実行中に、AFバラツキ判定実行条件及びセンサ故障判定実行条件がいずれも成立していないときには、EGR故障判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ205を実行し、本処理を終了する。
一方、上記ステップ209及び210の答のいずれかがYESのとき、すなわち、1番目の判定動作としてのEGR故障判定動作の実行中に、AFバラツキ判定実行条件及びセンサ故障判定実行条件のいずれかが成立しているときには、EGR故障判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ206を実行し、本処理を終了する。
一方、前記ステップ202の答がNO(F_MID1st=0)のときには、2番目判定動作完了フラグF_DON2ndが「1」であるか否かを判別する(ステップ211)。この2番目判定動作完了フラグF_DON2ndは、パージカットを伴う3つの判定動作のうち1番目及び2番目の判定動作が完了していることを「1」で表すものであり、AFバラツキ判定動作完了フラグF_DONDIS、センサ故障判定動作完了フラグF_DONLAF、及びEGR故障判定動作完了フラグF_DONEGRに基づいて設定される。また、2番目判定動作完了フラグF_DON2ndは、パージカットを伴う3つの判定動作及び触媒劣化判定動作がすべて完了したときに、「0」にリセットされる。
上記ステップ211の答がNO(F_DON2nd=0)のときには、そのまま本処理を終了する一方、ステップ211の答がYESのとき、すなわち、パージカットを伴う3つの判定動作のうち1番目及び2番目の判定動作が完了しているときには、第1順番フラグF_ORDER1が「1」であるか否かを判別する(ステップ212)。
この第1順番フラグF_ORDER1は、1番目及び2番目の判定動作が前記順番Aで完了していることを、すなわち、AFバラツキ判定動作→センサ故障判定動作の順に完了していることを、「1」で表すものであり、AFバラツキ判定動作完了フラグF_DONDIS、センサ故障判定動作完了フラグF_DONLAF、及びEGR故障判定動作完了フラグF_DONEGRに基づいて設定される。また、第1順番フラグF_ORDER1は、パージカットを伴う3つの判定動作及び触媒劣化判定動作がすべて完了したときに、「0」にリセットされる。
上記ステップ212の答がYES(F_ORDER1=1)のときには、EGR故障判定実行条件成立フラグF_MCNDEGRが「1」であるか否かを判別する(ステップ213)。この答がNO(F_MCNDEGR=0)のとき、すなわち、AFバラツキ判定動作→センサ故障判定動作の順に判定動作が完了しており、かつ、EGR故障判定実行条件が成立していないときには、2番目の判定動作としてのセンサ故障判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ205を実行し、本処理を終了する。
一方、上記ステップ213の答がYES(F_MCNDEGR=1)のとき、すなわち、AFバラツキ判定動作→センサ故障判定動作の順に判定動作が完了しており、かつ、EGR故障判定実行条件が成立しているときには、2番目の判定動作としてのセンサ故障判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ206を実行し、本処理を終了する。
一方、上記ステップ212の答がNO(F_ORDER1=0)のときには、第2順番フラグF_ORDER2が「1」であるか否かを判別する(ステップ214)。この第2順番フラグF_ORDER2は、1番目及び2番目の判定動作が前記順番Bで完了していることを、すなわち、センサ故障判定動作→EGR故障判定動作の順に完了していることを、「1」で表すものであり、AFバラツキ判定動作完了フラグF_DONDIS、センサ故障判定動作完了フラグF_DONLAF、及びEGR故障判定動作完了フラグF_DONEGRに基づいて設定される。また、第2順番フラグF_ORDER2は、パージカットを伴う3つの判定動作及び触媒劣化判定動作がすべて完了したときに、「0」にリセットされる。
上記ステップ214の答がYES(F_ORDER2=1)のときには、AFバラツキ判定実行条件成立フラグF_MCNDDISが「1」であるか否かを判別する(ステップ215)。この答がNO(F_MCNDDIS=0)のとき、すなわち、センサ故障判定動作→EGR故障判定動作の順に判定動作が完了しており、かつ、AFバラツキ判定実行条件が成立していないときには、2番目の判定動作としてのEGR故障判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ205を実行し、本処理を終了する。
一方、上記ステップ215の答がYES(F_MCNDDIS=1)のとき、すなわち、センサ故障判定動作→EGR故障判定動作の順に判定動作が完了しており、かつ、AFバラツキ判定実行条件が成立しているときには、2番目の判定動作としてのEGR故障判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ206を実行し、本処理を終了する。
一方、前記ステップ214の答がNO(F_ORDER2=0)のときには、第3順番フラグF_ORDER3が「1」であるか否かを判別する(ステップ216)。この第3順番フラグF_ORDER3は、1番目及び2番目の判定動作が前記順番Cで完了していることを、すなわち、EGR故障判定動作→センサ故障判定動作の順に完了していることを、「1」で表すものであり、AFバラツキ判定動作完了フラグF_DONDIS、センサ故障判定動作完了フラグF_DONLAF、及びEGR故障判定動作完了フラグF_DONEGRに基づいて設定される。また、第3順番フラグF_ORDER3は、パージカットを伴う3つの判定動作及び触媒劣化判定動作がすべて完了したときに、「0」にリセットされる。
上記ステップ216の答がYES(F_ORDER3=1)のとき、すなわち、判定動作がEGR故障判定動作→センサ故障判定動作の順に完了しているときには、前記ステップ215以降を実行する。これにより、EGR故障判定動作→センサ故障判定動作の順に判定動作が完了しており、かつ、AFバラツキ判定実行条件が成立していないときには、センサ故障判定動作の完了に続く触媒劣化判定動作の実行が許可される一方、AFバラツキ判定実行条件が成立しているときには、センサ故障判定動作の完了に続く触媒劣化判定動作の実行が禁止される。
一方、ステップ216の答がNO(F_ORDER3=0)のとき、すなわち、1番目及び2番目の判定動作が前記順番D(EGR故障判定動作→AFバラツキ判定動作)で完了しているときには、センサ故障判定実行条件成立フラグF_MCNDLAFが「1」であるか否かを判別する(ステップ217)。この答がNO(F_MCNDLAF=0)のとき、すなわち、EGR故障判定動作→AFバラツキ判定動作の順に判定動作が完了しており、かつ、センサ故障判定実行条件が成立していないときには、2番目の判定動作としてのAFバラツキ判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ205を実行し、本処理を終了する。
一方、上記ステップ217の答がYES(F_MCNDLAF=1)のとき、すなわち、EGR故障判定動作→AFバラツキ判定動作の順に判定動作が完了しており、かつ、センサ故障判定実行条件が成立しているときには、2番目の判定動作としてのAFバラツキ判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ206を実行し、本処理を終了する。
一方、前記ステップ201の答がYES(F_DON3rd=1)で、パージカットを伴う3つの判定動作がすべて完了しているときには、3番目の判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ205を実行し、本処理を終了する。
図13に戻り、前記ステップ190に続くステップ191では、図14のステップ205又は206で設定された連続実行許可フラグF_PERCATが「1」であるか否かを判別する。このステップ191の答がNO(F_PERCAT=0)のとき、すなわち、1番目又は2番目の判定動作の完了に続く触媒劣化判定動作の実行が禁止されているときには、前記ステップ184を実行し、本処理を終了する。
一方、ステップ191の答がYES(F_PERCAT=1)で、1番目又は2番目の判定動作の完了に続く触媒劣化判定動作の実行が許可されているときには、ステップ192、193及び194においてそれぞれ、AFバラツキ判定動作中フラグF_MIDDIS、センサ故障判定動作中フラグF_MIDLAF、及びEGR故障判定動作中フラグF_MIDEGRが「1」であるか否かを判別する。
これらのステップ192〜194の答のいずれかがYESで、AFバラツキ判定動作、センサ故障判定動作及びEGR故障判定動作のいずれかが実行中であるときには、触媒劣化判定動作を保留するために、前記ステップ184を実行し、本処理を終了する。一方、ステップ192〜194の答がいずれもNOのときには、前記ステップ188を実行し、本処理を終了する。
また、図15は、図4のステップ8で実行される触媒劣化判定処理を示しており、本処理は、触媒劣化判定動作を実行するためのものである。
まず、図15のステップ221では、図13のステップ184又は188で設定された触媒劣化判定動作中フラグF_MIDCATが「1」であるか否かを判別する。この答がNOのときには、そのまま本処理を終了する一方、YES(F_MIDCAT=1)のときには、続くステップ222以降において、触媒劣化判定動作を実行する。
まず、ステップ222では、蒸発燃料処理装置31による蒸発燃料の供給を許可するために、パージカットフラグF_PURCUTを「0」に設定する。次いで、三元触媒28の劣化を判定する(ステップ223)。具体的には、前記O2センサ67の検出信号SVO2が理論空燃比に相当する値になるように、燃料噴射量を制御するとともに、その制御中に、検出信号SVO2の反転周期の平均値が所定値以下になったときに、三元触媒28が劣化していると判定される。
次いで、触媒劣化判定動作が完了したか否かを判別する(ステップ224)。この答がNOのときには、そのまま本処理を終了する一方、YESのときには、触媒劣化判定動作が完了したことを表すために、触媒劣化判定動作完了フラグF_DONCATを「1」に設定する(ステップ225)。次いで、触媒劣化判定動作に関連する各種のフラグをリセットし(ステップ226)、本処理を終了する。すなわち、触媒劣化判定実行条件フラグF_MCNDCAT、連続実行許可フラグF_PERCAT及び触媒劣化判定動作中フラグF_MIDCATを「0」にリセットする。
なお、図13〜図15に示す処理は、触媒劣化判定動作が上述したように完了した場合において、他の3つの判定動作(AFバラツキ判定動作、センサ故障判定動作及びEGR故障判定動作)のいずれかが完了していないときには、その後、他の3つの判定動作がすべて完了するまで、その実行が停止される(図4のステップ7及び8がスキップされる)。また、触媒劣化判定動作を含む4つの判定動作が完了すると、触媒劣化判定動作完了フラグF_DONCATが「0」にリセットされるとともに、図13〜図15に示す処理の実行が再開される。
次に、図17〜図22を参照しながら、第1実施形態による異常判定装置の動作例について説明する。図17は、パージカットを伴う3つの判定動作が順番A(AFバラツキ判定動作→センサ故障判定動作→EGR故障判定動作)で連続して実行された場合の動作例を示している。
前述したように、AFバラツキ判定動作の実行中、EGRカットフラグF_EGRCUTが「1」に設定され(図7のステップ65)、それにより、EGR制御弁開度OEVが全閉状態(=値0)に制御される。また、センサ故障判定実行条件(条件a2〜c2)には、EGR装置51に関する条件が含まれていないのに対し、EGR故障判定実行条件には、EGR故障判定動作の開始前にEGR装置51による排ガスの還流が行われていたこと(あるいは排ガスの還流を実行可能であること)という条件b3が含まれる。
以上から、図17に示すように、AFバラツキ判定動作の実行中(時点t1〜、F_MIDDIS=1)には、EGR故障判定実行条件が成立せず、EGR故障判定実行条件成立フラグF_MCNDEGRが「0」に保持される。また、図12を参照して説明したように、パージカットを伴う3つの判定動作のうちの1番目の判定動作としてのAFバラツキ判定動作の実行中(ステップ161:YES、ステップ162:NO)、αβ運転点制御が実行される(ステップ163)。これにより、AFバラツキ判定動作の実行中、エンジン3の運転点が、図16に示す運転点判定マップにおける領域α及び領域βの互いに重複する領域に収まるように制御される。
そして、AFバラツキ判定動作の実行中、センサ故障判定実行条件が成立すると(時点t2)、それに伴って、センサ故障判定実行条件成立フラグF_MCNDLAFが「1」に設定される(図8のステップ89)。センサ故障判定実行条件が成立しても、その成立から安定時間TMSTEが経過しない限り(図8のステップ91:NO)、また、AFバラツキ判定動作の実行中である限り(ステップ96:YES)、センサ故障判定動作中フラグF_MIDLAFが「0」に設定され(ステップ87)、センサ故障判定動作が保留される(図9のステップ101:NO)。
そして、1番目の判定動作としてのAFバラツキ判定動作が完了すると(時点t3)、それに伴って、AFバラツキ判定動作完了フラグF_DONDISが「1」に設定される(図7のステップ76)とともに、AFバラツキ判定実行条件成立フラグF_MCNDDIS及びAFバラツキ判定動作中フラグF_MIDDISが「0」にリセットされる(ステップ77)。このAFバラツキ判定動作の完了時、センサ故障判定実行条件が成立しており(図8のステップ81:YES)、かつ、その成立から安定時間TMSTEが経過しているときには(ステップ91:YES)、センサ故障判定動作中フラグF_MIDLAFが「1」に設定され(図8のステップ96及び97:NO、ステップ98)、センサ故障判定動作の保留が解除される。その結果、2番目の判定動作として、センサ故障判定動作が開始される(図9のステップ101:YES)。
また、この動作例では、AFバラツキ判定動作の完了に伴って、EGR故障判定実行条件が成立している(F_MCNDEGR←1)。しかし、EGR故障判定条件判定処理(図10)の実行内容から明らかなように、EGR故障判定実行条件が成立しても、その成立から安定時間TMSTEが経過していないときには、EGR故障判定動作中フラグF_MIDEGRが「0」に保持され(図10のステップ131:NO、ステップ127)、EGR故障判定動作が保留される(図11のステップ141:NO)。また、EGR故障判定実行条件の成立から安定時間TMSTEが経過しても、センサ故障判定動作の実行中には、EGR故障判定動作中フラグF_MIDEGRが「0」に保持され(図10のステップ136:YES、ステップ127)、この場合にも、EGR故障判定動作が保留される。
また、図12を参照して説明したように、1番目の判定動作としてのAFバラツキ判定動作の完了後で、2番目の判定動作としてのセンサ故障判定動作の実行中(ステップ168及び169:YES)、βγ運転点制御が実行される(ステップ167)。これにより、センサ故障判定動作の実行中、エンジン3の運転点が、運転点判定マップにおける領域β及び領域γの互いに重複する領域に収まるように制御される。
そして、2番目の判定動作としてのセンサ故障判定動作が完了すると(時点t4)、それに伴い、センサ故障判定動作完了フラグF_DONLAFが「1」に設定される(図9のステップ113)とともに、センサ故障判定実行条件成立フラグF_MCNDLAF及びセンサ故障判定動作中フラグF_MIDLAFが「0」にリセットされる(ステップ114)。このセンサ故障判定動作の完了時、EGR故障判定実行条件が成立しており(図10のステップ121:YES)、かつ、その成立から安定時間TMSTEが経過しているときには(ステップ131:YES)、EGR故障判定動作中フラグF_MIDEGRが「1」に設定され(ステップ136:NO、ステップ137)、EGR故障判定動作の保留が解除される。その結果、3番目の判定動作として、EGR故障判定動作が開始される(図11のステップ141:YES)。
また、EGR故障判定動作の実行中、判定用EGR制御が実行され(ステップ144)、それにより、EGR制御弁開度OEVは、一定周期で複数回(又は1回)、繰り返して開閉制御される。
そして、3番目の判定動作としてのEGR故障判定動作が完了すると(時点t5)、それに伴い、EGR故障判定動作完了フラグF_DONEGRが「1」に設定される(図11のステップ154)とともに、EGR故障判定実行条件成立フラグF_MCNDEGR及びEGR故障判定動作中フラグF_MIDEGRが「0」にリセットされる(ステップ155)。
また、AFバラツキ判定処理(図7)、センサ故障判定処理(図9)及びEGR故障判定処理(図11)の実行内容から明らかなように、AFバラツキ判定動作、センサ故障判定動作及びEGR故障判定動作の実行中、パージカットフラグF_PURCUTが「1」に設定され、パージカットが実行される(ステップ63、103、143)ことによって、パージ流量QPUは値0になっている。
図5のステップ15〜17、図8のステップ84〜86及び図10のステップ124〜126の実行内容から明らかなように、パージカットフラグF_PURCUTは、パージカットを伴う3つの判定動作の1つが完了しても、次に実行される判定動作の実行条件が成立している限り、「0」に切り替えられず、「1」に保持される。これにより、図17に示すように、1番目のAFバラツキ判定動作が開始されてから3番目のEGR故障判定動作が完了するまでの間、パージカットが継続され、パージ流量QPUが値0に保持される。また、図示しないものの、パージカットを伴う3つの判定動作が完了すると、パージカットフラグF_PURCUTが「0」にリセットされ、その後、パージカットを伴う3つの判定動作が再度、実行されない限り、蒸発燃料処理装置31が、エンジン3の運転状態(NEなど)に応じて制御される。以上のパージカットフラグF_PURCUTの設定は、第1実施形態の後述する他の動作例についても同様に当てはまる。
また、図18は、パージカットを伴う3つの判定動作が順番B(センサ故障判定動作→EGR故障判定動作→AFバラツキ判定動作)で連続して実行された場合の動作例を示している。
前述したように、センサ故障判定動作の実行中、EGR制御弁開度OEVは、エンジン3の運転状態に応じて制御される。このため、図18に示す動作例では、センサ故障判定動作の実行中(時点t6〜、F_MIDLAF=1)、EGR制御弁開度OEVは値0よりも大きくなっている。
また、図12を参照して説明したように、1番目の判定動作としてのセンサ故障判定動作の実行中(ステップ165及び166:YES)、βγ運転点制御が実行される(ステップ167)。これにより、センサ故障判定動作の実行中、エンジン3の運転点が、運転点判定マップにおける領域β及び領域γの互いに重複する領域に収まるように制御されるものの、その前に、領域α及び領域βの互いに重複する領域に収まることがある。図18に示す動作例では、センサ故障判定動作の実行中、AFバラツキ判定実行条件がEGR故障判定実行条件よりも先に成立しており、それに伴って、AFバラツキ判定実行条件成立フラグF_MCNDDISが「1」に設定されている(時点t7)。
また、センサ故障判定動作の実行中、AFバラツキ判定動作用の連続実行許可フラグF_PERDISは、EGR故障判定実行条件が成立していない(F_MCNDEGR=0)ときには「1」に設定され(図6のステップ41及び46:YES、ステップ47:NO、ステップ45)、EGR故障判定実行条件が成立すると(時点t8、F_MCNDEGR←1)、それに伴って、「0」に切り替えられる(ステップ41、46及び47:YES、ステップ48)。この場合、1番目の判定動作としてのセンサ故障判定動作の完了後、2番目の判定動作としてのEGR故障判定動作が完了するまで、連続実行許可フラグF_PERDISは「0」に保持される(ステップ41:NO、ステップ42:YES、ステップ49:NO、ステップ48)。
以上の連続実行許可フラグF_PERDISの設定により、センサ故障判定動作の実行中にEGR故障判定実行条件が成立してからEGR故障判定動作が完了するまでの間、AFバラツキ判定動作中フラグF_MIDDISが「0」に設定される(図5のステップ23:NO、ステップ18)。その結果、1番目の判定動作としてのセンサ故障判定動作の完了に続くAFバラツキ判定動作の実行が禁止される(図7のステップ61:NO)。
また、図17に示す動作例と同様、EGR故障判定実行条件の成立から安定時間TMSTEが経過しても、センサ故障判定動作の実行中には、EGR故障判定動作が保留される(F_MIDEGR←0)。
さらに、図17に示す動作例と同様、センサ故障判定動作の完了時(図18の時点9、F_DONLAF←1、F_MCNDLAF←0、F_MIDLAF←0)、EGR故障判定実行条件が成立しており、かつ、その成立から安定時間TMSTEが経過しているときには、EGR故障判定動作の保留が解除される(F_MIDEGR←1)。その結果、2番目の判定動作として、EGR故障判定動作が開始される。
また、図12を参照して説明したように、2番目の判定動作としてのEGR故障判定動作の実行中(ステップ171:YES、ステップ172:NO、ステップ174:YES)、αγ運転点制御が実行される(ステップ175)。これにより、EGR故障判定動作の実行中、エンジン3の運転点が、運転点判定マップにおける領域γ及び領域αの互いに重複する領域に収まるように制御される。
さらに、2番目の判定動作としてのEGR故障判定動作の完了時(図18の時点t10、F_DONEGR←1、F_MCNDEGR←0、F_MIDEGR←0)、AFバラツキ判定実行条件が成立しているときには(F_MCNDDIS=1)、連続実行許可フラグF_PERDISが「1」に切り替えられ(図6のステップ43及び51:YES、ステップ45)、AFバラツキ判定動作の実行の禁止が解除される(図5のステップ23:YES)。また、EGR故障判定動作の完了時(時点t10)、AFバラツキ判定実行条件の成立から安定時間TMSTEが経過しているため、AFバラツキ判定動作中フラグF_MIDDISが「1」に設定される(図5のステップ25:YES、ステップ30及び31:NO、ステップ32)。その結果、3番目の判定動作として、AFバラツキ判定動作が開始される(図7のステップ61:YES)。
そして、3番目の判定動作としてのAFバラツキ判定動作が完了すると(図18の時点t11)、それに伴い、図17に示す動作例と同様、AFバラツキ判定動作に関連する各種のフラグが設定される(F_DONDIS←1、F_MCNDDIS←0、F_MIDDIS←0)。
また、図19は、パージカットを伴う3つの判定動作が順番C(EGR故障判定動作→センサ故障判定動作→AFバラツキ判定動作)で連続して実行された場合の動作例を示している。
図12を参照して説明したように、1番目の判定動作としてのEGR故障判定動作の実行中(ステップ171及び172:YES)、αβγ運転点制御が実行される(ステップ173)。これにより、EGR故障判定動作の実行中、運転点判定マップにおける領域α及び領域βのうち、そのときのエンジン3の運転点に近い領域と領域γとの互いに重複する領域に、エンジン3の運転点が収まるように制御される。
図19に示す動作例では、1番目の判定動作としてのEGR故障判定動作の実行中(時点t12〜、F_MIDEGR=1)、まず、センサ故障判定実行条件が成立するのに伴って、センサ故障判定実行条件成立フラグF_MCNDLAFが「1」に設定されており(時点t13)、その後、AFバラツキ判定実行条件が成立するのに伴って、AFバラツキ判定実行条件成立フラグF_MCNDDISが「1」に設定されている(時点t14)。
図6を参照して説明したように、1番目の判定動作としてのEGR故障判定動作の実行中、センサ故障判定実行条件がAFバラツキ判定実行条件よりも先に成立したときには、連続実行許可フラグF_PERDISは「0」に設定される(ステップ42、49及び50:YES、ステップ48)。この場合、1番目の判定動作としてのEGR故障判定動作の完了後、2番目の判定動作としてのセンサ故障判定動作が完了するまで、連続実行許可フラグF_PERDISは「0」に保持される(ステップ44及び50:YES、ステップ48、ステップ41:YES、ステップ46:NO)。
以上の連続実行許可フラグF_PERDISの設定により、EGR故障判定動作の実行中にセンサ故障判定実行条件が成立してからセンサ故障判定動作が完了するまでの間、AFバラツキ判定動作中フラグF_MIDDISが「0」に設定される(図5のステップ23:NO、ステップ18)。その結果、1番目の判定動作としてのEGR故障判定動作の完了に続くAFバラツキ判定動作の実行が禁止される(図7のステップ61:NO)。
また、図17に示す動作例と同様、センサ故障判定実行条件の成立から安定時間TMSTEが経過しても、EGR故障判定動作の実行中には、センサ故障判定動作が保留される(F_MIDLAF←0)。
さらに、1番目の判定動作としてのEGR故障判定動作の完了時(時点t15、F_DONEGR←1、F_MCNDEGR←0、F_MIDEGR←0)、センサ故障判定実行条件の成立から安定時間TMSTEが経過しているときには、センサ故障判定動作の保留が解除される(F_MIDLAF←1)。その結果、2番目の判定動作として、センサ故障判定動作が開始される。
また、図12を参照して説明したように、1番目の判定動作としてのEGR故障判定動作の完了後で、2番目の判定動作としてのセンサ故障判定動作の実行中には(ステップ165:YES、ステップ166:NO、ステップ168:YES、ステップ169:NO)、αβ運転点制御が実行される(ステップ163)。これにより、センサ故障判定動作の実行中、エンジン3の運転点が、運転点判定マップにおける領域β及び領域αの互いに重複する領域に収まるように制御される。
さらに、2番目の判定動作としてのセンサ故障判定動作の完了時(図19の時点t16、F_DONLAF←1、F_MCNDLAF←0、F_MIDLAF←0)、AFバラツキ判定実行条件が成立しているときには(F_MCNDDIS=1)、図18に示す動作例と同様、連続実行許可フラグF_PERDISが「1」に切り替えられ、AFバラツキ判定動作の実行の禁止が解除される。また、センサ故障判定動作の完了時、AFバラツキ判定実行条件の成立から安定時間TMSTEが経過しているため、図18に示す動作例と同様、3番目の判定動作として、AFバラツキ判定動作が開始される。
そして、3番目の判定動作としてのAFバラツキ判定動作が完了すると(時点t17)、それに伴い、AFバラツキ判定動作に関連する各種のフラグが設定される(F_DONDIS←1、F_MCNDDIS←0、F_MIDDIS←0)。
ちなみに、図19に示す動作例とは異なり、1番目の判定動作としてのEGR故障判定動作の実行中、AFバラツキ判定実行条件がセンサ故障判定実行条件よりも先に成立する場合がある。その場合には、EGR故障判定動作の完了に続くAFバラツキ判定動作の実行が許可される(図6のステップ50:NO、ステップ45)。この場合、センサ故障判定動作用の連続実行許可フラグは設定されないものの、図4に示すように、AFバラツキ判定条件判定処理→AFバラツキ判定処理→センサ故障判定条件判定処理→センサ故障判定処理の順に実行されるので、実行条件が先に成立したAFバラツキ判定動作が、センサ故障判定動作よりも先に開始されることになる。
また、図20は、パージカットを伴う3つの判定動作が順番D(EGR故障判定動作→AFバラツキ判定動作→センサ故障判定動作)で連続して実行されるとともに、1番目の判定動作としてのEGR故障判定動作の実行中に、触媒劣化判定実行条件が成立した場合の動作例を示している。
1番目の判定動作としてのEGR故障判定動作の実行中、図19に示す動作例と同様、αβγ運転点制御が実行される。また、図20に示すように、このEGR故障判定動作の実行中(時点t18〜、F_MIDEGR=1、F_MID1st=1)、触媒劣化判定実行条件が成立すると(時点t19)、それに伴い、触媒劣化判定実行条件成立フラグF_MCNDCATが「1」に設定される(図13のステップ186)。この時点では、AFバラツキ判定実行条件及びセンサ故障判定実行条件がいずれも成立していない(F_MCNDDIS=0かつF_MCNDLAF=0)ため、触媒劣化判定動作用の連続実行許可フラグF_PERCATが「1」に設定される(図14のステップ202:YES、ステップ203及び207:NO、ステップ209及び210:NO、ステップ205)。
また、1番目の判定動作としてのEGR故障判定動作の実行中、AFバラツキ判定実行条件が成立すると(時点t20、F_MCNDDIS←1)、連続実行許可フラグF_PERCATが、「0」に切り替えられる(図14のステップ209:YES、ステップ206)とともに、AFバラツキ判定実行条件が成立している限り、「0」に保持される。また、連続実行許可フラグF_PERCATは、1番目の判定動作が完了してから2番目の判定動作が完了するまで、1番目の判定動作の完了直前の値に保持される(ステップ202及び211:NO)。
以上の連続実行許可フラグF_PERCATの設定により、EGR故障判定動作の実行中にAFバラツキ判定実行条件が成立してからAFバラツキ判定動作が完了するまでの間、触媒劣化判定動作中フラグF_MIDCATが「0」に設定される(図13のステップ191:NO、ステップ184)。その結果、1番目の判定動作としてのEGR故障判定動作の完了に続く触媒劣化判定動作の実行が禁止される(図15のステップ221:NO)。この場合、第2連続実行許可処理(図14)の実行内容から明らかなように、また、図20に示すように、触媒劣化判定実行条件がAFバラツキ判定実行条件よりも先に成立した場合であっても、EGR故障判定動作の完了に続く触媒劣化判定動作の実行が禁止される。また、EGR故障判定動作の実行中、AFバラツキ判定実行条件が成立しても、図17などに示す動作例と同様、AFバラツキ判定動作が保留される(F_MIDDIS←0)。
そして、1番目の判定動作としてのEGR故障判定動作が完了すると(時点t21、F_MIDEGR←0、F_MID1st←0)、この動作例では、AFバラツキ判定実行条件の成立から安定時間TMSTEが経過しているため、EGR故障判定動作の完了に伴って、2番目の判定動作としてのAFバラツキ判定動作が開始される(F_MIDDIS←1)。AFバラツキ判定動作の実行中、センサ故障判定実行条件が成立すると(時点t22)、それに伴い、センサ故障判定実行条件成立フラグF_MCNDLAFが「1」に設定される。
また、AFバラツキ判定動作の実行中、センサ故障判定実行条件が成立しても、図17などに示す動作例と同様、センサ故障判定動作が保留される(F_MIDLAF←0)。さらに、図12を参照して説明したように、2番目の判定動作としてのAFバラツキ判定動作の実行中(ステップ161:YES、ステップ162:NO)、αβ運転点制御が実行される(ステップ163)。
そして、2番目の判定動作としてのAFバラツキ判定動作が完了した場合において(時点t23、F_MCNDDIS←0、F_MIDDIS←0、F_DON2nd=1)、センサ故障判定実行条件が成立しているとき(F_MCNDLAF=1)には、連続実行許可フラグF_PERCATが継続して「0」に保持される(図14のステップ211:YES、ステップ212、214及び216:NO、ステップ217:YES、ステップ206)。これにより、AFバラツキ判定動作の完了に続く触媒劣化判定動作の実行も禁止される。また、AFバラツキ判定動作の完了時(時点t23)、センサ故障判定実行条件の成立から安定時間TMSTEが経過しているため、3番目の判定動作としてのセンサ故障判定動作が開始される(F_MIDLAF←1)。
そして、触媒劣化判定実行条件が成立している状態で(F_MCNDCAT=1)、3番目の判定動作としてのセンサ故障判定動作が完了し(F_MCNDLAF←0、F_MIDLAF←0)、3番目判定動作完了フラグF_DON3rdが「1」に設定されると(時点t24)、それに伴い、連続実行許可フラグF_PERCATが「1」に切り替えられる(図14のステップ201:YES、ステップ205)。これにより、センサ故障判定動作の完了に続く触媒劣化判定動作の実行の禁止が解除され(ステップ191:YES)、それに伴い、触媒劣化判定動作中フラグF_MIDCATが「1」に設定され(ステップ192〜194:NO、ステップ188)、触媒劣化判定動作が開始される。
なお、上述した図20に示す動作例は、パージカットを伴う3つの判定動作が順番D(EGR故障判定動作→AFバラツキ判定動作→センサ故障判定動作)で実行された場合の例であるが、前述した第2連続実行許可処理の実行内容から明らかなように、順番A〜Cのいずれで実行された場合にも、触媒劣化判定動作の実行が同様にして禁止される。
また、図21は、センサ故障判定動作がAFバラツキ判定動作に続いて実行された場合における第1及び第2待機タイマのタイマ値tLAF1、tLAF2の推移の一例を示している。
図21に示すように、AFバラツキ判定動作の実行中(時点t25〜、F_MIDDIS=1)、センサ故障判定実行条件が成立すると(時点t26、F_MCNDLAF←1)、その時点から、安定時間TMSTEに設定された第1待機タイマのタイマ値tLAF1のカウントダウンが開始される。そして、センサ故障判定実行条件が成立してから、安定時間TMSTEが経過した後(時点t27〜、図8のステップ91:YES)に、第2待機タイマのタイマ値tLAF2が、初期待機時間TMLINT又は減少後待機時間TMLDECに設定される(ステップ94、95)。
この場合、AFバラツキ判定動作の実行中であり、パージカットフラグF_PURCUTが「1」であるため、タイマ値tLAF2は、より短い減少後待機時間TMLDECに設定される。そして、AFバラツキ判定動作が完了すると(時点t28、F_MIDDIS←0)、それに伴い、センサ故障判定動作が開始される(F_MIDLAF←1)とともに、タイマ値tLAF2のダウンカウントが開始される。
ちなみに、図21は、センサ故障判定動作がAFバラツキ判定動作に続いて実行された場合におけるタイマ値tLAF1、tLAF2の推移の一例を示しているが、パージカットを伴う3つの判定動作のうちの他の2つの組み合わせで順に連続して実行された場合にも、対応するタイマ値tDIS1、tDIS2、tLAF1、tLAF2、tEGR1、tEGR2が、同じように推移する。
また、パージカットフラグF_PURCUTは、エンジン3の始動時に「0」にリセットされるため、パージカットを伴う3つの判定動作のうちの1番目の判定動作が開始される際、パージカットフラグF_PURCUTは、依然として「0」に設定されている。これにより、図5のステップ26、図8のステップ92及び図10のステップ132の答がNOになる結果、この1番目の判定動作に対応する第2待機タイマのタイマ値tDIS2、tLAF2又はtEGR2は、初期待機時間TMDINT、TMLINT又はTMEINTに設定され(ステップ28、94、134)、そのまま1番目の判定動作が開始される。
また、図22(A)は、比較例におけるパージ流量QPUの推移などを示しており、図22(B)は、第1実施形態によりパージカットを伴う3つの判定動作が順に連続して実行された場合におけるパージ流量QPUの推移などを示している。この比較例では、第1実施形態と異なり、パージカットを伴う3つの判定動作の各々の終了から安定時間TMSTEが経過するのを待って、次の判定動作が開始され、パージカットを伴う3つの判定動作が順に連続して実行されない。また、この安定時間TMSTEが経過するまでの間、パージカットが解除され、蒸発燃料処理装置31による蒸発燃料の供給が行われる。
このため、図22(A)に示すように、比較例では、2番目及び3番目の判定動作の実行中、パージ流量QPUが値0に安定するまで、判定を保留しなければならず、その分、2番目及び3番目の判定動作に要する時間(以下、それぞれ「2番目判定動作時間」及び「3番目判定動作時間」という)TM2ndC、TM3rdCが長くなる結果、パージカットを伴う3つの判定動作の全体で要する時間が長くなってしまう。
これに対して、第1実施形態によれば、これまでに説明したように、パージカットを伴う3つの判定動作が順に連続して実行され、その場合に、1番目の判定動作の開始から3番目の判定動作の終了まで、パージカットが継続されることによって、パージ流量QPUが値0に保持される。これにより、図22(B)に示すように、2番目及び3番目判定動作時間TM2nd、TM3rdが、上述した動作例の場合よりも短くなる結果、パージカットを伴う3つの判定動作の全体で要する時間が短くなっている。それにより、パージカットの実行期間を短くできるので、図22(B)に示すハッチングの分、より多くの蒸発燃料を吸気通路21に供給することができる。
また、第1実施形態における各種の要素と、本発明における各種の要素との対応関係は、次のとおりである。すなわち、第1実施形態におけるエンジン3、EGR装置51及びLAFセンサ66が、本発明における複数の機器に相当するとともに、本発明における第1又は第2機器に相当する。また、第1実施形態におけるEGR装置51及びLAFセンサ66が、本発明における他の機器に相当し、第1実施形態における三元触媒28が、本発明における複数の機器、他の機器及び第3機器に相当するとともに、第1実施形態における第1及び第2モータ4、5が、本発明における電気モータに相当する。さらに、第1実施形態におけるECU2が、本発明における第1判定手段、第2判定手段、第3判定手段、禁止手段及び判定用パラメータ取得手段に相当する。
以上のように、第1実施形態によれば、所定のAFバラツキ判定実行条件が成立しているときにAFバラツキ判定動作が、所定のセンサ故障判定実行条件が成立しているときにセンサ故障判定動作が、所定のEGR故障判定実行条件が成立しているときにEGR故障判定動作が、パージカット状態で実行される。また、所定の触媒劣化判定実行条件が成立しているときに、触媒劣化判定動作が、パージカットを条件とせずに実行される。
さらに、図20などを参照して説明したように、パージカットを伴う3つの判定動作のうちの1番目の判定動作の実行中、2番目の判定動作に対応する実行条件と、触媒劣化判定実行条件の両方が成立しているときに、2番目の判定動作を優先するために、1番目の判定動作の完了に続く触媒劣化判定動作の実行が禁止される。これにより、パージカットを条件とする1番目の判定動作の完了に続いて、同じくパージカットを条件とする2番目の判定動作が実行される。
また、1番目の判定動作が完了した場合において、2番目の判定動作に対応する実行条件が成立しているときに、パージカットを継続したまま、2番目の判定動作が開始される。これにより、前述した従来の場合と異なり、1番目の判定動作が完了してから2番目の判定動作が開始されるまでの間に、蒸発燃料の供給が再開されることがないので、蒸発燃料の供給量がパージカットにより値0に安定するまで判定を保留する必要がなく、したがって、2番目の判定動作に対応する機器の異常(故障)を早期に判定することができる。これにより、パージカットを伴う3つの判定動作に要する時間を全体として短縮でき、それにより、当該判定動作の実行頻度を高めることができるとともに、蒸発燃料処理装置31による蒸発燃料の処理能力を向上させることができる。
さらに、AFバラツキ判定動作、センサ故障判定動作及びEGR故障判定動作の実行条件として、互いに異なるAFバラツキ判定実行条件、センサ故障判定実行条件及びEGR故障判定実行条件がそれぞれ設定されている。AFバラツキ判定動作には判定用空燃比制御及びEGR停止制御が含まれており、センサ故障判定動作には判定用噴射制御及び通常のEGR制御が、EGR故障判定動作には空燃比F/B制御及び判定用EGR制御が、それぞれ含まれている。このように、パージカットを伴う3つの判定動作には、エンジン3を制御するための制御動作がそれぞれ含まれている。
前述したように、EGR故障判定実行条件には、EGR故障判定動作の開始前にEGR装置51による排ガスの還流が行われていたこと(あるいは排ガスの還流を実行可能であること)という条件b3が含まれており(図10のステップ121)、AFバラツキ判定動作の実行中には、EGR装置51による排ガスの還流が停止される(図7のステップ65)。このため、パージカットを伴う3つの判定動作のうちの1番目の判定動作としてのセンサ故障判定動作の実行中、AFバラツキ判定実行条件及びEGR故障判定実行条件がいずれも成立しているときに、センサ故障判定動作の完了に続いてAFバラツキ判定動作を実行すると、当該AFバラツキ判定動作の実行中に、EGR故障判定実行条件が成立せず、その結果、AFバラツキ判定動作の完了に続いてEGR故障判定動作を実行できなくなってしまう。
一方、EGR故障判定動作の実行中、EGR制御弁開度OEVが一定周期で複数回、繰り返して開閉制御され、それにより、EGR装置51による排ガスの還流と還流停止が繰り返されるのに対し、AFバラツキ判定実行条件には、排ガスの還流に関する条件が含まれていない。このため、1番目の判定動作としてのセンサ故障判定動作の実行中、AFバラツキ判定実行条件及びEGR故障判定実行条件がいずれも成立しているときに、センサ故障判定動作の完了に続いてEGR故障判定動作を実行すれば、当該EGR故障判定動作の実行中に、AFバラツキ判定実行条件を成立させることができ、それにより、EGR故障判定動作の完了に続いてAFバラツキ判定動作を実行することができる。
上述したEGR故障判定実行条件及びAFバラツキ判定実行条件ならびにEGR故障判定動作及びAFバラツキ判定動作の関係に基づき、1番目の判定動作としてのセンサ故障判定動作の実行中、AFバラツキ判定実行条件及びEGR故障判定実行条件がいずれも成立しているときに、センサ故障判定動作の完了に続くAFバラツキ判定動作の実行が禁止される(図18参照)。これにより、センサ故障判定動作の完了に続いて異常を判定する機器として、EGR装置51が選択される結果、EGR故障判定動作及びAFバラツキ判定動作を順に連続して実行できるので、EGR故障判定動作及びAFバラツキ判定動作に要する時間を全体として短縮することができる。
さらに、AFバラツキ判定動作が開始されてから初期待機時間TMDINT又は減少後待機時間TMDDECが経過した後に、AFバラツキが、算出されたAFバラツキ判定パラメータJUDDISに基づいて判定される。また、センサ故障判定動作が開始されてから初期待機時間TMLINT又は減少後待機時間TMLDECが経過した後に、LAFセンサ66の故障が、算出された積算値LAFDLYPに基づいて判定される。さらに、EGR故障判定動作が開始されてから初期待機時間TMEINT又は減少後待機時間TMEDECが経過した後に、EGR装置51の故障が、算出された積算値RT80AXに基づいて判定される。
また、図21を参照して説明したように、1番目の判定動作の完了に続いて2番目の判定動作を実行するときに、より短い減少後待機時間TMDDEC、TMLDEC、TMEDECを用いることによって、待機時間を減少させるので、前述した効果、すなわち、パージカットを伴う3つの判定動作に要する時間を全体として短縮できるという効果を、有効に得ることができる。
さらに、AFバラツキ判定実行条件、センサ故障判定実行条件及びEGR故障判定実行条件は、互いに異なっており、各実行条件にはエンジン回転数NE及び吸入空気量GAIRに関する所定のエンジン運転条件が含まれている(条件a1、b1、c1)。また、図12を参照して説明したように、1番目の判定動作の実行中に、1番目の判定動作に対応するエンジン運転条件に加え、2番目の判定動作に対応するエンジン運転条件が成立するように、エンジン3が制御される。したがって、1番目の判定動作の完了に続いて2番目の判定動作が実行される可能性を高めることができ、ひいては、前述した効果、すなわち、パージカットを伴う3つの判定動作に要する時間を全体として短縮できるという効果を、より有効に得ることができる。
また、上述したエンジン3の制御中、エンジン3の動力が、運転者により要求される要求動力よりも小さいときには、その不足分に相当する電力がバッテリ8から第2モータ5に供給される。一方、エンジン3の動力が要求動力よりも大きいときには、第1モータ4で発電した電力のうち、その余剰分に相当する電力がバッテリ8に充電される。以上により、良好なドライバビリティを確保することができる。
また、図23は、上述したエンジン運転点制御処理の変形例の動作例を示している。同図において、F_MOE2ndは、2番目部分実行条件成立フラグであり、2番目の判定動作に対応する実行条件のうち、エンジン3の運転点(NE、GAIR)以外のパラメータなどに関する前述した条件(例えば前記条件b1〜e1など、以下「2番目部分実行条件」という)が成立していることを「1」で表すものである。
また、図23において、NELOW1は、領域α〜γのうちの1番目の判定動作に対応する領域を規定するエンジン回転数NEの低い側のしきい値(以下「第1回転数しきい値」という)である。NELOW2は、領域α〜γのうちの2番目の判定動作に対応する領域を規定するエンジン回転数NEの低い側のしきい値(以下「第2回転数しきい値」という)である。さらに、太い二点鎖線は、変形例によるエンジン運転点制御処理を実行しなかった場合におけるエンジン回転数NEの推移を示している。
図23に示すように、このエンジン運転点制御処理の変形例では、1番目の判定動作の実行中(時点t29〜、F_MID1st=1)、第1実施形態と異なり、スロットル弁開度が、エンジン3の運転点が領域α〜γのうちの1番目の判定動作に対応する領域にのみ収まるように、制御される。これにより、エンジン回転数NEが、第1回転数しきい値NELOW1よりも高く、かつ、第2回転数しきい値NELOW2よりも低い一定の状態で推移する。
また、1番目の判定動作の実行中、2番目部分実行条件が成立し(時点t30、F_MOE2nd←1)、さらに、その状態で1番目の判定動作が完了したとき(時点t31、F_MOE2nd=1、F_MID1st←0)に、スロットル弁開度が、エンジン3の運転点が2番目の判定動作に対応する領域に収まるように、制御される。これにより、エンジン回転数NEが、第2回転数しきい値NELOW2よりも高く、かつ、一定の状態で推移する。
さらに、パージカットフラグF_PURCUTは、1番目の判定動作が完了しても、その際に、2番目部分実行条件が成立している(F_MOE2nd=1)限り、「1」に保持される。
次に、本発明の第2実施形態による異常判定装置について説明する。第2実施形態による異常判定装置は、第1実施形態と比較して、前述したエンジン運転点制御処理(図12)に代えて、図24に示す運転領域補正処理が実行される点のみが異なっている。この運転領域補正処理は、パージカットを伴う3つの判定動作のうちの1番目及び2番目の判定動作の実行中に、次に実行される判定動作の実行条件を成立しやすくするために、前述した図16に示す運転点判定マップにおける領域α、領域β及び領域γが適宜、拡大補正するためのものであり、図4に示す処理と併行して、前記所定周期で繰り返し実行される。図24において、図12と同じ実行内容については、同じステップ番号を付している。以下、第1実施形態と異なる点を中心に説明する。
図24に示すように、前記ステップ162の答がNO(F_MID3rd=0)のとき、すなわち、1番目又は2番目の判定動作としてのAFバラツキ判定動作の実行中であるときには、AFバラツキ判定動作の完了に続いてセンサ故障判定動作が実行される可能性を高めるために、β拡大補正を実行し(ステップ231)、本処理を終了する。このβ拡大補正では、運転点判定マップにおける領域βが、エンジン回転数NE及び吸入空気量GAIRの両方について拡大するように補正される。図25において、二点鎖線は拡大補正前の領域βを(図16における一点鎖線で示された領域βと同じ)、実線は拡大補正後の領域βを、それぞれ示している。
一方、ステップ162の答がYES(F_MID3rd=1)のとき、すなわち、3番目の判定動作としてのAFバラツキ判定動作の実行中であるときには、そのまま本処理を終了する。
前記ステップ166の答がYES(F_MID1st=1)のとき、すなわち、1番目の判定動作としてのセンサ故障判定動作の実行中であるときには、センサ故障判定動作の完了に続いてEGR故障判定動作が実行される可能性を高めるために、γ拡大補正を実行し(ステップ232)、本処理を終了する。このγ拡大補正では、運転点判定マップにおける領域γが、エンジン回転数NE及び吸入空気量GAIRの両方について拡大するように補正される。図26において、二点鎖線は拡大補正前の領域γを(図16における二点鎖線で示された領域γと同じ)、実線は拡大補正後の領域γを、それぞれ示している。
また、前記ステップ168の答がNO(F_MId2nd=0)のとき、すなわち、3番目の判定動作としてのセンサ故障判定動作の実行中であるときには、そのまま本処理を終了する。
また、前記ステップ169の答がYES(F_DONDIS=1)のとき、すなわち、1番目の判定動作としてのAFバラツキ判定動作が完了し、かつ、2番目の判定動作としてのセンサ故障判定動作の実行中であるときには、上記ステップ232(γ拡大補正)を実行し、本処理を終了する。
一方、ステップ169の答がNO(F_DONDIS=0)のとき、すなわち、1番目の判定動作としてのEGR故障判定動作が完了し、かつ、2番目の判定動作としてのセンサ故障判定動作の実行中であるときには、センサ故障判定動作の完了に続いてAFバラツキ判定動作が実行される可能性を高めるために、α拡大補正を実行し(ステップ233)、本処理を終了する。このα拡大補正では、運転点判定マップにおける領域αが、エンジン回転数NE及び吸入空気量GAIRの両方について拡大するように補正される。図27において、二点鎖線は拡大補正前の領域αを(図16における実線で示された領域αと同じ)、実線は拡大補正後の領域αを、それぞれ示している。
また、前記ステップ172の答がYESのとき、すなわち、1番目の判定動作としてのEGR故障判定動作の実行中であるときには、EGR故障判定動作の完了に続いてAFバラツキ判定動作又はセンサ故障判定動作が実行される可能性を高めるために、αβ拡大補正を実行し(ステップ234)、本処理を終了する。このαβ拡大補正では、領域α及び領域βのうち、そのときのエンジン3の運転点に近い方が拡大補正される。また、そのときのエンジン3の運転点が領域γに加え、領域α及び/又は領域βに収まっているときには、両領域α、βのうちのエンジン3が収まっている領域が拡大補正される。その手法は、上記ステップ231及び233で説明した手法と同じである。
また、前記ステップ174の答がYES(F_MID2nd=1)のとき、すなわち、2番目の判定動作としてのEGR故障判定動作の実行中であるときには、前記ステップ233を実行し(α拡大補正を実行)、本処理を終了する。
一方、ステップ174の答がNOのとき、すなわち、3番目の判定動作としてのEGR故障判定動作の実行中であるときには、そのまま本処理を終了する。
以上のように、第2実施形態によれば、パージカットを伴う3つの判定動作のうちの1番目の判定動作の実行中に、領域α、領域β及び領域γのうちの2番目の判定動作に対応する領域を拡大補正することによって、2番目の判定動作に対応する実行条件が緩和される。したがって、1番目及び2番目の判定動作が順に連続して実行される可能性を高めることができ、前述した効果、すなわち、パージカットを伴う3つの判定動作に要する時間を全体として短縮できるという効果を、より有効に得ることができる。
なお、第2実施形態では、AFバラツキ判定実行条件、センサ故障判定実行条件及びEGR故障判定実行条件に含まれるエンジン3の運転点(NE、GAIR)に関する条件a1、a2及びa3を緩和しているが、AFバラツキ判定実行条件、センサ故障判定実行条件及びEGR故障判定実行条件の各々に含まれる他の条件を緩和してもよいことはもちろんである。
なお、本発明は、説明した第1及び第2実施形態(以下、総称して「実施形態」という)に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、本発明における複数の機器は、EGR装置51及びLAFセンサ66であるが、内燃機関に関連して設けられた他の適当な機器、例えばインジェクタ26や、蒸発燃料処理装置31などでもよい。また、実施形態では、複数の機器の数は、4つであるが、3つ又は5つ以上でもよい。
さらに、実施形態では、パージカットを伴う3つの判定動作の順番が順番A〜順番Dに制限されているが、各判定動作の実行条件と各判定動作における内燃機関の制御動作との関係から、パージカットを伴う3つの判定動作を任意の順番で連続して実行可能な場合には、実行条件が成立した順に、実行してもよいことはもちろんである。この場合、前述したエンジン運転点制御処理は、例えば次のようにして実行される。
すなわち、パージカットを伴う3つの判定動作の各々の実行中、運転点判定マップで規定された複数の領域のうち、実行中の判定動作に対応する領域と、それ以外の領域で、かつ、そのときの内燃機関の運転点に最も近い領域との互いに重複する領域に、内燃機関の運転点が収まるように、スロットル弁開度が制御される。また、内燃機関の運転点が、実行中の判定動作に対応する領域と他の領域との互いに重複する領域に収まっているときには、その状態を保持するように、スロットル弁開度が制御される。
また、上述したようにパージカットを伴う3つの判定動作を任意の順番で連続して実行する場合、運転領域補正処理は、例えば次のようにして実行される。すなわち、パージカットを伴う3つの判定動作の各々の実行中、運転点判定マップで規定された複数の領域のうち、実行中の判定動作に対応する領域以外の領域で、かつ、そのときの内燃機関の運転点に最も近い領域が拡大補正される。また、内燃機関の運転点が、実行中の判定動作に対応する領域と他の領域との互いに重複する領域に収まっているときには、この他の領域が拡大補正される。
また、実施形態では、本発明における第2判定動作に含まれる内燃機関の制御動作は、EGR停止制御(図7のステップ65)と、判定用EGR制御(図11のステップ144)であるが、他の適当な制御動作でもよい。さらに、実施形態では、本発明における内燃機関として、車両V用のガソリンエンジンであるエンジン3を用いているが、他の適当な内燃機関、例えばディーゼルエンジンや、LPGエンジン、船舶用のエンジン、航空機用のエンジンなどを用いてもよい。
また、実施形態は、エンジン3と前輪WFの間を接続/遮断可能に構成され、第1モータ4がエンジン3に連結されるとともに、第2モータ5が前輪WFに連結された車両Vに、本発明を適用した例であるが、本発明は、内燃機関が変速機を介して駆動輪に連結されるとともに、電気モータが変速機を介してあるいは変速機を介さずに駆動輪に連結された車両にも適用可能である。さらに、実施形態は、動力源としてエンジン3、第1及び第2電気モータ4、5を備えるハイブリッド式の車両Vに、本発明を適用した例であるが、本発明は、動力源として内燃機関のみを備える車両にも適用可能である。この場合、エンジン運転点制御処理を省略してもよい。以上の実施形態に関するバリエーションは、適宜、組み合わせて適用可能である。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。