(57)【要約】  吸気系への蒸発燃料の供給を停止した状態で行われる複数の機器の異常判定に要する時間を全体として短縮でき、それにより、当該判定の実行頻度を高めることができるとともに、蒸発燃料処理装置による蒸発燃料の処理能力を向上させることができる異常判定装置を提供する。第１及び第２実行条件がそれぞれ成立しているときに、第１及び第２機器の異常をそれぞれ判定するための第１及び第２判定動作が、蒸発燃料の供給を停止した状態で実行される。第１判定動作が完了した場合において、第２実行条件が成立しているときに、蒸発燃料の供給を停止状態に保持したまま、第２判定動作が開始される。
2015178048.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンク内で発生した蒸発燃料を捕捉するとともに、捕捉された蒸発燃料を内燃機関の吸気系に供給するための蒸発燃料処理装置が設けられた内燃機関と、当該内燃機関に関連して設けられた他の機器とを含む複数の機器の異常を判定する異常判定装置であって、
所定の第１実行条件が成立しているときに、前記複数の機器のうちの第１機器の異常を判定するための第１判定動作を、前記蒸発燃料処理装置による蒸発燃料の供給を停止した状態で実行する第１判定手段と、
所定の第２実行条件が成立しているときに、前記複数の機器のうちの前記第１機器とは別個の第２機器の異常を判定するための第２判定動作を、前記蒸発燃料処理装置による蒸発燃料の供給を停止した状態で実行する第２判定手段と、を備え、
当該第２判定手段は、前記第１判定動作が完了した場合において、前記第２実行条件が成立しているときに、前記蒸発燃料の供給を停止状態に保持したまま、前記第２判定動作を開始することを特徴とする異常判定装置。
【請求項２】
前記第２機器は、互いに別個の複数の第２機器で構成され、
前記第２実行条件として、前記複数の第２機器に対して互いに異なる複数の第２実行条件がそれぞれ設定され、
前記第２判定動作として、前記複数の第２機器に対して互いに異なる複数の第２判定動作がそれぞれ設定され、当該複数の第２判定動作の各々には、前記内燃機関を制御するための制御動作が含まれ、
前記第２判定手段は、前記第１判定動作の実行中、前記複数の第２実行条件がいずれも成立しているときに、前記複数の第２機器から、前記第１判定動作の完了に続いて異常を判定する前記第２機器を、前記複数の第２実行条件及び第２判定動作に基づいて選択することを特徴とする、請求項１に記載の異常判定装置。
【請求項３】
所定の第３実行条件が成立しているときに、前記複数の機器のうちの前記第１及び第２機器とは別個の第３機器の異常を判定するための第３判定動作を実行する第３判定手段と、
前記第１判定動作の実行中、前記第２及び第３実行条件の両方が成立しているときに、前記第２判定動作を優先するために、前記第１判定動作の完了に続いて前記第３判定動作が実行されるのを禁止する禁止手段と、をさらに備えることを特徴とする、請求項１又は２に記載の異常判定装置。
【請求項４】
前記複数の機器の各々の異常を判定するための判定用パラメータを取得する判定用パラメータ取得手段をさらに備え、
前記第２判定手段は、前記第２判定動作が開始されてから所定の待機時間が経過した後に、前記第２機器の異常を、前記取得された判定用パラメータに基づいて判定し、前記第１判定動作の完了に続いて前記第２判定動作を実行するときには、前記待機時間を減少させることを特徴とする、請求項１ないし３のいずれかに記載の異常判定装置。
【請求項５】
前記内燃機関には、当該内燃機関とともに動力源を構成する電気モータが連結されており、
前記第１及び第２実行条件には、前記内燃機関の運転状態に関する、互いに異なる所定の第１及び第２エンジン運転条件がそれぞれ含まれ、
前記第２判定手段は、前記第１判定動作の実行中に、前記第１エンジン運転条件に加え、前記第２エンジン運転条件が成立するように、前記内燃機関を制御することを特徴とする、請求項１ないし４のいずれかに記載の異常判定装置。
【請求項６】
前記第２判定手段は、前記第１判定動作の実行中に、前記第２実行条件を緩和することを特徴とする、請求項１ないし４のいずれかに記載の異常判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関と、内燃機関に関連して設けられた他の機器とを含む複数の機器の異常を判定する異常判定装置に関する。
【背景技術】
【０００２】
従来、この種の異常判定装置として、例えば特許文献１に開示されたものが知られている。この異常判定装置では、車両の動力源である内燃機関に設けられたＥＧＲ装置、蒸発燃料処理装置及び触媒装置の異常が、各々の所定の判定条件が成立しているときに判定され、当該判定条件の成立が、ＥＧＲ装置、蒸発燃料処理装置及び触媒装置の順に判定される。また、これらの３つの装置の１つの異常を判定している場合において、他の装置の判定条件が成立したときに、当該判定を継続するか、当該成立した判定条件に対応する装置の異常を判定するか否かが、その判定の優先度に基づいて判定される。すなわち、実行中の異常判定の優先度が低ければ、当該異常判定を中断し、後に成立した判定条件に対応する装置の異常が判定される。これとは逆に、実行中の異常判定の優先度が高ければ、当該異常判定が継続される。【０００３】
具体的には、ＥＧＲ装置及び蒸発燃料処理装置の異常判定の優先度は、触媒装置の異常判定の優先度よりも高く設定されており、ＥＧＲ装置又は蒸発燃料処理装置の異常判定中に、触媒装置の判定条件が成立しても、当該判定は中断されずに、継続される。これとは逆に、触媒装置の異常判定中に、ＥＧＲ装置又は蒸発燃料処理装置の判定条件が成立したときには、当該判定が中断されるとともに、ＥＧＲ装置及び蒸発燃料処理装置のうち、判定条件が成立したものの異常判定が開始される。また、ＥＧＲ装置及び蒸発燃料処理装置の異常判定は、判定条件が先に成立したものから開始され、その後、中断されずに完了される。これは、判定条件が成立しにくいＥＧＲ装置の異常判定を確実に実行するとともに、蒸発燃料処理装置に捕捉された燃料を不要に放出させずに、その異常判定を確実に完了させるためである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−２３８２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
内燃機関には、上述したＥＧＲ装置などに加え、センサなどの複数の機器が設けられており、これらの複数の機器には、蒸発燃料処理装置による内燃機関の吸気系への蒸発燃料の供給を停止（以下「パージカット」という）した状態で、その異常を判定するものが含まれる。パージカットした状態で異常が判定される機器（以下「パージカット判定機器」という）が複数、設けられている場合において、上述した従来の異常判定装置により、これらの複数のパージカット判定機器の異常を順に判定するときには、次のような不具合が発生する。【０００６】
すなわち、従来の異常判定装置では、上述したように、複数の機器の異常判定の継続／中断が、その優先度に基づいて判定されるにすぎない。このため、１つのパージカット判定機器の異常判定が完了してから、次のパージカット判定機器の異常が判定されるまでの間に、蒸発燃料の供給が一旦、再開される場合がある。その場合には、供給される蒸発燃料の量がパージカットにより値０に安定するまで、次のパージカット判定機器の異常判定を保留しなければならず、それにより、当該判定に要する時間が全体として長くなる結果、複数のパージカット機器の異常判定の実行頻度が低下してしまう。同じ理由により、パージカットの実行期間が全体として長くなることによって、蒸発燃料処理装置に残存する蒸発燃料の量が多くなる結果、その処理能力が低下してしまう。【０００７】
本発明は、以上のような課題を解決するためになされたものであり、吸気系への蒸発燃料の供給を停止した状態で行われる複数の機器の異常判定に要する時間を全体として短縮でき、それにより、当該判定の実行頻度を高めることができるとともに、蒸発燃料処理装置による蒸発燃料の処理能力を向上させることができる異常判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、請求項１に係る発明は、燃料タンクＦＴ内で発生した蒸発燃料を捕捉するとともに、捕捉された蒸発燃料を内燃機関の吸気系（実施形態における（以下、本項において同じ）吸気通路２１）に供給するための蒸発燃料処理装置３１が設けられた内燃機関３と、内燃機関３に関連して設けられた他の機器（ＥＧＲ装置５１、ＬＡＦセンサ６６、三元触媒２８）とを含む複数の機器の異常を判定する異常判定装置であって、所定の第１実行条件が成立しているときに、複数の機器のうちの第１機器（エンジン３、ＥＧＲ装置５１、ＬＡＦセンサ６６）の異常を判定するための第１判定動作を、蒸発燃料処理装置３１による蒸発燃料の供給を停止した状態で実行する第１判定手段（ＥＣＵ２、図５、図７〜図１１）と、所定の第２実行条件が成立しているときに、複数の機器のうちの第１機器とは別個の第２機器（エンジン３、ＥＧＲ装置５１、ＬＡＦセンサ６６）の異常を判定するための第２判定動作を、蒸発燃料処理装置３１による蒸発燃料の供給を停止した状態で実行する第２判定手段（ＥＣＵ２、図５、図７〜図１１）と、を備え、第２判定手段は、第１判定動作が完了した場合において、第２実行条件が成立しているときに、蒸発燃料の供給を停止状態に保持したまま、第２判定動作を開始する（図５、図７〜図１１）ことを特徴とする。【０００９】
この構成によれば、所定の第１及び第２実行条件がそれぞれ成立しているときに、第１及び第２機器の異常をそれぞれ判定するための第１及び第２判定動作が、蒸発燃料の供給を停止した状態で実行される。以下、蒸発燃料の供給を停止することを「パージカット」という。【００１０】
また、第１判定動作が完了した場合において、第２実行条件が成立しているときに、蒸発燃料の供給を停止状態に保持したまま、第２判定動作が開始される。これにより、前述した従来の場合と異なり、第１判定動作が完了してから第２判定動作が開始されるまでの間に、蒸発燃料の供給が再開されることがないので、蒸発燃料の供給量がパージカットにより値０に安定するまで判定を保留する必要がなく、したがって、第２機器の異常を早期に判定することができる。これにより、パージカット状態で行われる複数の機器の異常判定に要する時間を全体として短縮でき、それにより、当該判定の実行頻度を高めることができるとともに、蒸発燃料処理装置による蒸発燃料の処理能力を向上させることができる。【００１１】
なお、本明細書及び特許請求の範囲における「異常」は、正常でないことを表し、「故障」や「劣化」などを含む。【００１２】
請求項２に係る発明は、請求項１に記載の異常判定装置において、第２機器は、互いに別個の複数の第２機器で構成され、第２実行条件として、複数の第２機器に対して互いに異なる複数の第２実行条件がそれぞれ設定され、第２判定動作として、複数の第２機器に対して互いに異なる複数の第２判定動作がそれぞれ設定され、複数の第２判定動作の各々には、内燃機関３を制御するための制御動作が含まれ（図７のステップ６４、６５、図９のステップ１０４、図１１のステップ１４４、１４５）、第２判定手段は、第１判定動作の実行中、複数の第２実行条件がいずれも成立しているときに、複数の第２機器から、第１判定動作の完了に続いて異常を判定する第２機器を、複数の第２実行条件及び第２判定動作に基づいて選択する（図５のステップ２２、２３、図６）ことを特徴とする。【００１３】
この構成によれば、第２機器が、互いに別個の複数の第２機器で構成されており、第２実行条件として、複数の第２機器に対して互いに異なる複数の第２実行条件がそれぞれ設定されている。また、第２判定動作として、複数の第２機器に対して互いに異なる複数の第２判定動作がそれぞれ設定されており、当該複数の第２判定動作の各々には、内燃機関を制御するための制御動作が含まれている。【００１４】
このため、複数の第２実行条件の各々に、内燃機関の運転状態に関する互いに異なる所定の条件が含まれている場合、第１判定動作の完了に続いて、複数の第２機器の１つを任意に選択し、選択した第２機器に対応する第２判定動作を実行したときには、当該第２判定動作の実行中に、残りの第２機器に対応する第２実行条件が成立しなくなる場合がある。その場合には、複数の第２機器の第２判定動作を順に連続して実行することができず、それにより、蒸発燃料の供給が再開されることによって、複数の第２機器の異常判定に要する時間を全体として短縮できなくなる可能性がある。【００１５】
上述した構成によれば、第１判定動作の実行中、複数の第２実行条件がいずれも成立しているときに、複数の第２機器から、第１判定動作の完了に続いて異常が判定される第２機器が、複数の第２実行条件及び第２判定動作に基づいて選択される。これにより、第１判定動作の完了に続いて異常が判定される第２機器として、その第２判定動作の実行中に、他の第２判定動作に対応する第２実行条件が成立するものを、選択することができる。それにより、複数の第２判定動作を順に連続して実行できるので、複数の第２機器の異常判定に要する時間を全体として短縮することができる。【００１６】
請求項３に係る発明は、請求項１又は２に記載の異常判定装置において、所定の第３実行条件が成立しているときに、複数の機器のうちの第１及び第２機器とは別個の第３機器（三元触媒２８）の異常を判定するための第３判定動作を実行する第３判定手段（ＥＣＵ２、図１３〜図１５）と、第１判定動作の実行中、第２及び第３実行条件の両方が成立しているときに、第２判定動作を優先するために、第１判定動作の完了に続いて第３判定動作が実行されるのを禁止する禁止手段（ＥＣＵ２、図１３のステップ１９０、１９１、図１４）と、をさらに備えることを特徴とする。【００１７】
この構成によれば、所定の第３実行条件が成立しているときに、前記第１及び第２機器とは別個の第３機器の異常を判定するための第３判定動作が実行される。また、第１判定動作の実行中、第２及び第３実行条件の両方が成立しているときに、第２判定動作を優先するために、第１判定動作の完了に続く第３判定動作の実行が禁止される。これにより、パージカットを条件とする第１判定動作の完了に続いて、同じくパージカットを条件とする第２判定動作を実行できるので、請求項１に係る発明による効果、すなわち、パージカット状態で行われる複数の機器の異常判定に要する時間を全体として短縮できるという効果を、有効に得ることができる。【００１８】
請求項４に係る発明は、請求項１ないし３のいずれかに記載の異常判定装置において、複数の機器の各々の異常を判定するための判定用パラメータ（ＡＦバラツキ判定パラメータＪＵＤＤＩＳ、積算値ＬＡＦＤＬＹＰ、積算値ＲＴ８０ＡＸ）を取得する判定用パラメータ取得手段（ＥＣＵ２、図７のステップ７２、図９のステップ１０８、図１１のステップ１４９）をさらに備え、第２判定手段は、第２判定動作が開始されてから所定の待機時間（初期待機時間ＴＭＤＩＮＴ、初期待機時間ＴＭＬＩＮＴ、初期待機時間ＴＭＥＩＮＴ、減少後待機時間ＴＭＤＤＥＣ、減少後待機時間ＴＭＬＤＥＣ、減少後待機時間ＴＭＥＤＥＣ）が経過した後に（図７のステップ７１：ＹＥＳ、図９のステップ１０７：ＹＥＳ、図１１のステップ１４８：ＹＥＳ）、第２機器の異常を、取得された判定用パラメータに基づいて判定し（図７のステップ７３〜７５、図９のステップ１１０〜１１２、図１１のステップ１５１〜１５３）、第１判定動作の完了に続いて第２判定動作を実行するときには、待機時間を減少させる（図５のステップ２６、２９、図８のステップ９２、９５、図１０のステップ１３２、１３５）ことを特徴とする。【００１９】
この構成によれば、第２判定動作が開始されてから所定の待機時間が経過した後に、第２機器の異常が、取得された判定用パラメータに基づいて判定される。請求項１に係る発明の説明で述べたように、第１判定動作の完了に続いて第２判定動作を実行するときには、前述した従来の場合と異なり、蒸発燃料の供給量がパージカットにより値０に安定するまで判定を保留する必要がないので、その分、待機時間を減少させることができる。上述した構成によれば、第１判定動作の完了に続いて第２判定動作を実行するときに、上記の待機時間を減少させるので、請求項１に係る発明による効果、すなわち、パージカット状態で行われる複数の機器の異常判定に要する時間を全体として短縮できるという効果を、有効に得ることができる。【００２０】
なお、本発明の明細書及び特許請求の範囲において、「取得」には、センサなどによる検出や、演算による「算出」、「設定」が含まれる。【００２１】
請求項５に係る発明は、請求項１ないし４のいずれかに記載の異常判定装置において、内燃機関３には、内燃機関３とともに動力源を構成する電気モータ（第１モータ４、第２モータ５）が連結されており、第１及び第２実行条件には、内燃機関３の運転状態に関する、互いに異なる所定の第１及び第２エンジン運転条件がそれぞれ含まれ、第２判定手段は、第１判定動作の実行中に、第１エンジン運転条件に加え、第２エンジン運転条件が成立するように、内燃機関３を制御する（図１２のステップ１６３、１６７、１７３、１７５）ことを特徴とする。【００２２】
この構成によれば、第１及び第２実行条件には、内燃機関の運転状態に関する所定の第１及び第２エンジン運転条件がそれぞれ含まれている。また、第１判定動作の実行中に、第１エンジン運転条件に加え、第２エンジン運転条件が成立するように、内燃機関を制御するので、第１判定動作の完了に続いて第２判定動作が実行される可能性を高めることができ、ひいては、請求項１に係る発明による効果、すなわち、パージカット状態で行われる複数の機器の異常判定に要する時間を全体として短縮できるという効果を、より有効に得ることができる。【００２３】
この場合、内燃機関には、内燃機関とともに動力源を構成する電気モータが連結されている。このため、上述したようにして制御される内燃機関の出力が所望の出力に対して不足する場合には、その不足分を電気モータで補うとともに、所望の出力に対して余る場合には、その余剰分を電気モータによる発電で消費することができ、それにより、良好なドライバビリティを確保することができる。【００２４】
請求項６に係る発明は、請求項１ないし４のいずれかに記載の異常判定装置において、第２判定手段は、第１判定動作の実行中に、第２実行条件を緩和する（図２４のステップ２３１〜２３４、図２５〜図２７）ことを特徴とする。【００２５】
この構成によれば、第１判定動作の実行中に、第２判定動作の実行条件である第２実行条件を緩和するため、第２実行条件が成立しやすくなるので、第１及び第２判定動作が順に連続して実行される可能性を高めることができる。したがって、請求項１に係る発明による効果、すなわち、パージカット状態で行われる複数の機器の異常判定に要する時間を全体として短縮できるという効果を、より有効に得ることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１実施形態による異常判定装置が適用された車両を概略的に示す図である。
【図２】車両に設けられた内燃機関などを概略的に示す図である。
【図３】異常判定装置のＥＣＵなどを示すブロック図である。
【図４】ＥＣＵによって実行される処理を示すフローチャートである。
【図５】図４に示す処理で実行されるＡＦバラツキ判定条件判定処理のサブルーチンを示すフローチャートである。
【図６】ＡＦバラツキ判定条件判定処理で実行される第１連続実行許可処理のサブルーチンを示すフローチャートである。
【図７】図４に示す処理で実行されるＡＦバラツキ判定処理のサブルーチンを示すフローチャートである。
【図８】図４に示す処理で実行されるセンサ故障判定条件判定処理のサブルーチンを示すフローチャートである。
【図９】図４に示す処理で実行されるセンサ故障判定処理のサブルーチンを示すフローチャートである。
【図１０】図４に示す処理で実行されるＥＧＲ故障判定条件判定処理のサブルーチンを示すフローチャートである。
【図１１】図４に示す処理で実行されるＥＧＲ故障判定処理のサブルーチンを示すフローチャートである。
【図１２】エンジン運転点制御処理を示すフローチャートである。
【図１３】図４に示す処理で実行される触媒劣化判定条件判定処理のサブルーチンを示すフローチャートである。
【図１４】触媒劣化判定条件判定処理で実行される第２連続実行許可処理のサブルーチンを示すフローチャートである。
【図１５】図４に示す処理で実行される触媒劣化判定処理のサブルーチンを示すフローチャートである。
【図１６】図５、図８及び図１０に示す処理で用いられる運転点判定マップを示す図である。
【図１７】異常判定装置の動作例を示すタイミングチャートである。
【図１８】図１７とは別の動作例を示すタイミングチャートである。
【図１９】図１７及び図１８とは別の動作例を示すタイミングチャートである。
【図２０】図１７〜図１９とは別の動作例を示すタイミングチャートである。
【図２１】第１及び第２待機タイマのタイマ値などの推移の一例を示すタイミングチャートである。
【図２２】（Ａ）第１実施形態による異常判定装置における判定動作の実行中におけるパージ流量などの推移の一例を、（Ｂ）比較例とともに示す図である。
【図２３】第１実施形態の変形例の動作例を示すタイミングチャートである。
【図２４】本発明の第２実施形態による異常判定装置で実行される運転領域補正処理を示すフローチャートである。
【図２５】拡大補正前の領域β（二点鎖線）と拡大補正後の領域β（実線）を示す図である。
【図２６】拡大補正前の領域γ（二点鎖線）と拡大補正後の領域γ（実線）を示す図である。
【図２７】拡大補正前の領域α（二点鎖線）と拡大補正後の領域α（実線）を示す図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照しながら、本発明の好ましい実施形態について詳細に説明する。図１に示すハイブリッド車両（以下、単に「車両」という）Ｖは、動力源として、内燃機関（以下「エンジン」という）３、第１モータ４及び第２モータ５を有するとともに、駆動輪としての左右の前輪ＷＦ（１つのみ図示）、及び従動輪としての左右の後輪（図示せず）を有する四輪車両である。
【００２８】
第１及び第２モータ４、５はいずれも、いわゆるモータジェネレータであり、例えばブラシレスＤＣモータで構成されている。第１モータ４のステータ（図示せず）は、第１パワードライブユニット（以下「第１ＰＤＵ」という）６に電気的に接続されている。また、第２モータ５のステータ（図示せず）は、第２パワードライブユニット（以下「第２ＰＤＵ」という）７を介して、バッテリ８に電気的に接続されている。
【００２９】
第１及び第２ＰＤＵ６、７は、インバータなどの電気回路によって構成されており、互いに電気的に接続されている。したがって、第１モータ４と第２モータ５は、第１及び第２ＰＤＵ６、７を介して、互いに電力を入出力することが可能である。また、第１及び第２ＰＤＵ６、７は、後述するＥＣＵ２からの制御信号によって制御され（図３参照）、それにより、第１及び第２モータ４、５の力行又は発電や、バッテリ８の充放電などの動作が制御される。
【００３０】
第１モータ４の回転軸４ａに設けられたギヤ４ｂは、エンジン３のクランクシャフト３ａに設けられたギヤ３ｂに噛み合っており、エンジン３と第１モータ４は、これらのギヤ３ｂ、４ｂを介して、互いに動力を入出力することが可能である。また、第２モータ５の回転軸５ａに設けられたギヤ５ｂは、駆動軸９に設けられた第１ギヤ９ａに噛み合い、この駆動軸９の第２ギヤ９ｂは、前輪ＷＦの車軸１０に設けられたファイナルギヤ１０ａに噛み合っている。以上の構成により、第２モータ５と前輪ＷＦは、上記のギヤ５ｂ、第１及び第２ギヤ９ａ、９ｂ、ならびにファイナルギヤ１０ａなどを介して、互いに動力を入出力することが可能である。
【００３１】
さらに、エンジン３のクランクシャフト３ａは、ＯＤクラッチ１１を介して、中間軸１２に連結されており、この中間軸１２に設けられたギヤ１２ａは、前記第１ギヤ９ａに噛み合っている。ＯＤクラッチ１１は、電磁クラッチで構成されており、その接続及び遮断は、ＥＣＵ２からの制御信号によって制御される（図３参照）。また、上記の中間軸１２のギヤ１２ａ、駆動軸９の第１及び第２ギヤ９ａ、９ｂからファイナルギヤ１０ａまでのギヤ比は、ほぼ１：１に設定されている。したがって、ＯＤクラッチ１１が接続された状態では、エンジン３の動力は、クランクシャフト３ａから上記のギヤを介して、ほぼ等速状態で前輪ＷＦに伝達される。
【００３２】
以上の構成により、車両Ｖの駆動系は、エンジン３、第１及び第２モータ４、５及びＯＤクラッチ１１などを制御することによって、各種の運転モードで運転される。この運転モードは、ＥＣＶＴ走行モード、ＥＮＧ直結走行モード、ＥＶ走行モード及び減速発電モードなどに分類される。以下、これらの運転モードについて順に説明する。
【００３３】
ＥＣＶＴ走行モードは、エンジン３の燃焼によって発生した動力を用いて第１モータ４で発電を行い、発電された電力を第２モータ５に供給（電気パス）しながら、第２モータ５の力行によって前輪ＷＦを駆動し、走行するモードである。このＥＣＶＴ走行モードでは、第１及び第２ＰＤＵ６、７の制御により、エンジン３の動力を無段階に変速することが可能である。また、第１及び第２モータ４、５の性質上、このＥＣＶＴ走行モードを低中速域で選択することで、高い効率が得られる。
【００３４】
ＥＮＧ直結走行モードは、ＯＤクラッチ１１を接続した状態で、エンジン３の動力をＯＤクラッチ１１や中間軸１２などを介して前輪ＷＦに伝達（機械パス）しながら、走行するモードである。前述したように、ＯＤクラッチ１１から前輪ＷＦまでのギヤ比はほぼ１：１に設定されており、このＥＮＧ直結走行モードを高速域で選択することで、高い効率が得られる。なお、ＯＤクラッチ１１は、他の運転モードでは遮断される。
【００３５】
ＥＶ走行モードは、エンジン３の運転を停止した状態で、バッテリ８から供給された電力を用い、第２モータ５の力行によって前輪ＷＦを駆動しながら、走行するモードである。
【００３６】
減速発電モードは、車両Ｖの所定の減速運転状態において、エンジン３への燃料の供給を停止（フューエルカット）し、その運転を停止するとともに、車両Ｖの運動エネルギを用いて第２モータ５で発電を行うモードである。この場合、第２モータ５での発電動作に伴って、制動力が車両Ｖに作用する。また、第２モータ５で発電された電力は、バッテリ８の充電状態に余裕がある場合には、バッテリ８に充電され、回生される。一方、バッテリ８が満充電状態の場合などには、第２モータ５で発電された電力は、第１モータ４に供給され、第１モータ４の力行によりエンジン３をモータリングすることによって、機械エネルギや熱エネルギに変換される。
【００３７】
また、図２は、第１実施形態による異常判定装置が適用されたエンジン３及びその周辺機器を示している。エンジン３は、例えば４つの気筒Ｃ（図２に１つのみ図示）を有するガソリンエンジンである。エンジン３のクランクシャフト３ａには、クランク角センサ６１が設けられており、クランク角センサ６１は、クランクシャフト３ａの回転に伴い、パルス信号であるＣＲＫ信号を、ＥＣＵ２に出力する（図３参照）。ＣＲＫ信号は、所定クランク角（例えば１°）ごとに出力される。ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥを算出する。
【００３８】
各気筒Ｃのピストン３ｃとシリンダヘッド３ｄの間には、燃焼室３ｅが形成されている。シリンダヘッド３ｄには、燃焼室３ｅに連通する吸気通路２１及び排気通路２２が接続されており、吸気通路２１の吸気ポート２１ａ及び排気通路２２の排気ポート２２ａには、これらを開閉する吸気弁２３及び排気弁２４がそれぞれ設けられている。また、エンジン３のシリンダブロック３ｆには、水温センサ６２が設けられている。水温センサ６２は、シリンダブロック３ｆを循環する冷却水の温度（以下「エンジン水温」という）ＴＷを検出し、その検出信号をＥＣＵ２に出力する（図３参照）。
【００３９】
また、エンジン３には、気筒Ｃごとに、点火プラグ２５及び燃料噴射弁（以下「インジェクタ」という）２６が設けられている。点火プラグ２５は、シリンダヘッド３ｄに取り付けられており、火花を発生させることにより、気筒Ｃ内の混合気に点火を行う。インジェクタ２６は、吸気通路２１の吸気マニホルドに取り付けられており、吸気ポート２１ａに向かって燃料を噴射する。これらの点火プラグ２５の点火時期、及びインジェクタ２６の燃料噴射量及び燃料噴射時期は、ＥＣＵ２からの制御信号によって制御される（図３参照）。
【００４０】
吸気通路２１には、スロットル弁２７が設けられており、このスロットル弁２７には、例えばＤＣモータで構成されたＴＨアクチュエータ２７ａが連結されている。ＴＨアクチュエータ２７ａはＥＣＵ２からの制御信号によって制御され（図３参照）、それにより、スロットル弁２７の開度（以下「スロットル弁開度」という）が変更されることによって、気筒Ｃに吸入される空気の量が調整される。
【００４１】
また、エンジン３には、蒸発燃料処理装置３１が設けられている。この蒸発燃料処理装置３１は、エンジン３の燃料を貯留する燃料タンクＦＴ内で発生した蒸発燃料を捕捉し、吸気通路２１に適宜、供給することによって、処理するものであり、チャージ通路３２、キャニスタ３３及びパージ通路３４を有している。
【００４２】
チャージ通路３２は、燃料タンクＦＴとキャニスタ３３に接続されており、燃料タンクＦＴ内で発生した蒸発燃料をキャニスタ３３に送るものである。チャージ通路３２には、２方向弁３５が設けられており、２方向弁３５は、ダイアフラム式の正圧弁及び負圧弁を組み合わせた機械式弁で構成されている。この正圧弁は、燃料タンクＦＴ内の圧力に相当するチャージ通路３２内の圧力が上限圧、すなわち大気圧よりも高い所定圧力に達したときに開弁するように構成されており、その開弁により、燃料タンクＦＴ内の蒸発燃料がキャニスタ３３に送られる。また、上記の負圧弁は、チャージ通路３２内の圧力が下限値、すなわちキャニスタ３３側の圧力よりも低い所定圧力に達したときに開弁するように構成されており、その開弁により、キャニスタ３３に吸着されていた蒸発燃料が燃料タンクＦＴに戻される。
【００４３】
また、チャージ通路３２には、２方向弁３５をバイパスするチャージバイパス通路３６が設けられている。チャージバイパス通路３６には、バイパス弁４１が設けられている。バイパス弁４１は、常閉タイプのＯＮ／ＯＦＦ式の電磁弁で構成されており、通常はチャージバイパス通路３６を閉鎖し、ＥＣＵ２の制御（図３参照）により励磁されたときに開弁することによって、チャージバイパス通路３６を開放する。
【００４４】
キャニスタ３３には、蒸発燃料を吸着するための活性炭が内蔵されている。また、キャニスタ３３には、大気側に開口する大気通路３７が接続されており、大気通路３７には、これを開閉するベントシャット弁４２が設けられている。ベントシャット弁４２は、常開タイプのＯＮ／ＯＦＦ式の電磁弁で構成されており、通常は大気通路３７を開放し、ＥＣＵ２の制御（図３参照）により励磁されたときに、大気通路３７を閉鎖する。
【００４５】
パージ通路３４は、キャニスタ３３に吸着された蒸発燃料を吸気通路２１に供給（パージ）するためのものであり、キャニスタ３３と吸気通路２１のスロットル弁２７よりも下流側とに接続されている。パージ通路３４の途中には、パージ制御弁４３が設けられている。パージ制御弁４３は、電磁弁で構成されており、その開度は、ＥＣＵ２からの制御信号によって制御される（図３参照）。
【００４６】
また、吸気通路２１には、スロットル弁２７よりも上流側に、エアフローセンサ６３及び吸気温センサ６４が設けられている。エアフローセンサ６３は、エンジン３に吸入される吸入空気の量（以下「吸入空気量」という）ＧＡＩＲを検出し、それを表す検出信号をＥＣＵ２に出力する（図３参照）。吸気温センサ６４は、吸気通路２１内の温度（以下「吸気温」という）ＴＡを検出し、それを表す検出信号をＥＣＵ２に出力する。
【００４７】
エンジン３にはさらに、ＥＧＲ装置５１が設けられている。ＥＧＲ装置５１は、排気通路２２に排出された排ガスの一部を吸気通路２１に還流させるものであり、吸気通路２１のスロットル弁２７よりも下流側と排気通路２２に接続されたＥＧＲ通路５２と、ＥＧＲ通路５２を開閉するＥＧＲ制御弁５３を有している。
【００４８】
ＥＧＲ制御弁５３は、その開度が連続的に変化する電磁弁で構成されている。ＥＧＲ制御弁５３の開度は、ＥＣＵ２からの制御信号によって制御され（図３参照）、それにより、排ガスの還流量（以下「ＥＧＲガス量」という）が変更される。また、ＥＧＲ制御弁５３の開度（以下「ＥＧＲ制御弁開度ＯＥＶ」という）は、ＥＧＲ弁開度センサ６５によって検出され、その検出信号はＥＣＵ２に出力される。
【００４９】
また、排気通路２２の排気マニホルドの集合部よりも下流側には、ＬＡＦセンサ６６が設けられている。ＬＡＦセンサ６６は、理論空燃比よりもリッチなリッチ領域から極リーンまでの広範囲な空燃比の領域において、排気通路２２内を流れる排ガス中の酸素濃度をリニアに検出し、その検出信号をＥＣＵ２に出力する（図３参照）。ＥＣＵ２は、ＬＡＦセンサ６６からの検出信号に基づいて、エンジン３で燃焼した混合気の空燃比の当量比を、検出当量比ＫＡＣＴとして算出する。
【００５０】
排気通路２２には、ＬＡＦセンサ６６よりも下流側に、三元触媒２８及び二値型のＯ２センサ６７が設けられている。三元触媒２８によって、排ガス中のＨＣや、ＣＯ、ＮＯｘなどの有害成分が浄化される。また、Ｏ２センサ６７は、その出力が理論空燃比の前後において急激に変化する特性を有し、その検出信号ＳＶＯ２は、理論空燃比よりリッチ側で高レベルとなり、リーン側で低レベルとなる。Ｏ２センサ６７の検出信号ＳＶＯ２はＥＣＵ２に出力される（図３参照）。ＥＣＵ２にはさらに、アクセル開度センサ６８から、車両Ｖのアクセルペダル（図示せず）の操作量（以下「アクセル開度」という）ＡＰを表す検出信号が、車速センサ６９から、車両Ｖの車速ＶＰを表す検出信号が、それぞれ出力される。
【００５１】
ＥＣＵ２は、ＣＰＵ、ＲＡＭ、ＲＯＭ及びＩ／Ｏインターフェース（いずれも図示せず）などから成るマイクロコンピュータで構成されている。ＥＣＵ２は、前述した各種のセンサ６１〜６９からの検出信号などに応じ、ＲＯＭに記憶された制御プログラムに従って、エンジン３、蒸発燃料処理装置３１及びＥＧＲ装置５１の動作を制御するとともに、４つの気筒Ｃ間における空燃比のばらつき（以下「ＡＦバラツキ」という）、ＬＡＦセンサ６６の故障、ＥＧＲ装置５１の故障、及び三元触媒２８の劣化を判定する。
【００５２】
次に、本発明の第１実施形態によるＡＦバラツキ、ＬＡＦセンサ６６の故障、ＥＧＲ装置５１の故障、及び三元触媒２８の劣化の判定の概要について説明する。
【００５３】
ＡＦバラツキ、ＬＡＦセンサ６６の故障、ＥＧＲ装置５１の故障、及び三元触媒２８の劣化は、個々に設定された判定用の制御動作によりエンジン３を各々の特定の運転状態に制御しているときに取得された判定用パラメータに基づいて、判定される。このため、ＡＦバラツキ、ＬＡＦセンサ６６の故障、ＥＧＲ装置５１の故障、及び三元触媒２８の劣化を判定するための判定動作（後述する図７、図９、図１１及び図１５）は、互いに併行して実行されることはなく、順に実行される。以下、ＡＦバラツキ、ＬＡＦセンサ６６の故障、ＥＧＲ装置５１の故障、及び三元触媒２８の劣化を判定するための判定動作をそれぞれ、「ＡＦバラツキ判定動作」「センサ故障判定動作」「ＥＧＲ故障判定動作」及び「触媒劣化判定動作」という。
【００５４】
また、これらのＡＦバラツキ判定動作、センサ故障判定動作、ＥＧＲ故障判定動作及び触媒劣化判定動作は、個々に設定された実行条件（後述する図５、図８、図１０及び図１３）が成立しているときに、実行され、基本的には、その実行条件が成立したものから順に開始される。各実行条件には、エンジン３の運転状態に関する条件が含まれる。さらに、ＡＦバラツキ判定動作、センサ故障判定動作及びＥＧＲ故障判定動作は、蒸発燃料処理装置３１による蒸発燃料の供給の停止（以下「パージカット」という）を条件として、パージカットした状態で実行される。一方、触媒劣化判定動作は、パージカットを条件とせずに（必要とせずに）実行される。以下、ＡＦバラツキ判定動作、センサ故障判定動作及びＥＧＲ故障判定動作をまとめて適宜、「パージカットを伴う３つの判定動作」という。
【００５５】
このため、パージカットの実行／停止が繰り返されないようにすべく、パージカットを伴う３つの判定動作が順に連続して実行されるようにするために、それらのうちの１番目及び２番目の判定動作の実行中に、触媒劣化判定動作の実行条件が成立しても、パージカットを伴う３つの判定動作のうちの他の判定動作の実行条件が成立しているときには、当該実行中の判定動作の完了に続いて触媒劣化判定動作を実行することが禁止される（後述する図１３及び図１４）。
【００５６】
また、パージカットを伴う３つの判定動作が順に連続して実行される場合には、各々の判定動作と各々の実行条件との関係から、その順番は、次の順番Ａ、順番Ｂ、順番Ｃ及び順番Ｄのいずれかにならざるを得ない。さらに、パージカットを伴う３つの判定動作を、この順番Ｂで適切に連続させるために、ＡＦバラツキ判定動作が適宜、禁止される（後述する図５及び図６）。さらに、パージカットを伴う３つの判定動作の各々の実行中、実行中の判定動作の実行条件に加え、次に実行される判定動作の実行条件が成立するように、エンジン３の運転点が制御される（後述する図１２）。
Ａ：ＡＦバラツキ判定動作→センサ故障判定動作→ＥＧＲ故障判定動作
Ｂ：センサ故障判定動作→ＥＧＲ故障判定動作→ＡＦバラツキ判定動作
Ｃ：ＥＧＲ故障判定動作→センサ故障判定動作→ＡＦバラツキ判定動作
Ｄ：ＥＧＲ故障判定動作→ＡＦバラツキ判定動作→センサ故障判定動作
【００５７】
以下、図４を参照しながら、第１実施形態によるＡＦバラツキ、ＬＡＦセンサ６６の故障、ＥＧＲ装置５１の故障、及び三元触媒２８の劣化を判定するための処理について説明する。本処理は、所定周期で繰り返し実行される。
【００５８】
まず、ステップ１（「Ｓ１」と図示。以下同じ）において、ＡＦバラツキ判定条件判定処理を実行し、次いで、ＡＦバラツキ判定処理を実行する（ステップ２）。次に、センサ故障判定条件判定処理を実行する（ステップ３）とともに、センサ故障判定処理を実行する（ステップ４）。次いで、ＥＧＲ故障判定条件判定処理を実行する（ステップ５）とともに、ＥＧＲ故障判定処理を実行する（ステップ６）。次に、触媒劣化判定条件判定処理を実行する（ステップ７）とともに、触媒劣化判定処理を実行し（ステップ８）、本処理を終了する。
【００５９】
図５は、図４のステップ１で実行されるＡＦバラツキ判定条件判定処理を示している。本処理は、ＡＦバラツキ判定動作の実行条件（以下「ＡＦバラツキ判定実行条件」という）が成立しているか否かを判定するためのものである。なお、本処理及び後述する各種の処理で用いられるフラグはいずれも、システム（ＥＣＵ２など）の起動時又はエンジン３の停止時に「０」にリセットされる。例えば、後述するＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳなどの各種の判定実行条件成立フラグは、システムの起動時に「０」にリセットされ、エンジン３の作動条件を判定するフラグは、システムの起動時に「０」にリセットされた後、エンジン３の停止時に「０」にリセットされる。
【００６０】
まず、ステップ１１では、ＡＦバラツキ判定実行条件が成立しているか否かを判別する。ＡＦバラツキ判定実行条件は、例えば次の条件ａ１〜ｅ１から成る所定の複数の条件がいずれも成立しているときに、成立していると判別される。なお、ＡＦバラツキ判定実行条件に、他の適当な条件をさらに含めてもよい。
ａ１：エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲで表されるエンジン３
の運転点が図１６に示す運転点判定マップにおける領域αにあるこ
と
ｂ１：ＬＡＦセンサ６６が活性化していること
ｃ１：エンジン水温ＴＷが所定温度よりも高いこと
ｄ１：エンジン回転数ＮＥの変化量が所定値よりも小さいこと
ｅ１：検出当量比ＫＡＣＴが所定の範囲内にあること
【００６１】
上記ステップ１１の答がＮＯで、ＡＦバラツキ判定実行条件が成立していないときには、そのことを表すために、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳを「０」に設定する（ステップ１２）。次いで、ＡＦバラツキ判定動作用の連続実行許可フラグＦ＿ＰＥＲＤＩＳを「０」に設定する（ステップ１３）とともに、ダウンカウント式の第１待機タイマのタイマ値ｔＤＩＳ１を所定の安定時間ＴＭＳＴＥに設定する（ステップ１４）。
【００６２】
次に、ステップ１５及び１６においてそれぞれ、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦ及びＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲが「１」であるか否かを判別する。これらのフラグＦ＿ＭＣＮＤＬＡＦ及びＦ＿ＭＣＮＤＥＧＲはそれぞれ、センサ故障判定動作の実行条件（以下「センサ故障判定実行条件」という）及びＥＧＲ故障判定動作の実行条件（以下「ＥＧＲ故障判定実行条件」）が成立していることを「１」で表すものである。
【００６３】
ステップ１５及び１６の答がいずれもＮＯ（Ｆ＿ＭＣＮＤＬＡＦ＝０、かつＦ＿ＭＣＮＤＥＧＲ＝０）のとき、すなわち、ＡＦバラツキ判定実行条件、センサ故障判定実行条件及びＥＧＲ故障判定実行条件がいずれも成立していないときには、パージカットフラグＦ＿ＰＵＲＣＵＴを「０」に設定し（ステップ１７）、ステップ１８に進む。パージカットフラグＦ＿ＰＵＲＣＵＴは、パージカットの実行中であることを「１」で表すものである。
【００６４】
一方、ステップ１５及び１６の答のいずれかがＹＥＳのとき、すなわち、センサ故障判定実行条件及びＥＧＲ故障判定実行条件のいずれかが成立しているときには、上記ステップ１７をスキップし、ステップ１８に進む。
【００６５】
このステップ１８では、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳを「０」に設定し、本処理を終了する。ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳは、ＡＦバラツキ判定動作の実行中であることを「１」で表すものである。
【００６６】
一方、前記ステップ１１の答がＹＥＳで、ＡＦバラツキ判定実行条件が成立しているときには、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「１」であるか否かを判別する（ステップ１９）。この答がＮＯ（Ｆ＿ＭＩＤＤＩＳ＝０）のときには、ＡＦバラツキ判定実行条件が成立していることを表すために、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳを「１」に設定する（ステップ２０）。
【００６７】
次いで、第１最先成立フラグＦ＿ＴＨＲ１ｓｔが「１」であるか否かを判別する（ステップ２１）。この第１最先成立フラグＦ＿ＴＨＲ１ｓｔは、ＡＦバラツキ判定実行条件が、センサ故障判定実行条件及びＥＧＲ故障判定実行条件よりも先に成立したことを「１」で表すものであり、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳ、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦ及びＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲに基づいて設定される。
【００６８】
また、第１最先成立フラグＦ＿ＴＨＲ１ｓｔは、ＡＦバラツキ判定動作が完了したときに「０」にリセットされる。さらに、第１最先成立フラグＦ＿ＴＨＲ１ｓｔは、一旦、ＡＦバラツキ判定実行条件が最先に成立しても、ＡＦバラツキ判定動作が完了する前にＡＦバラツキ判定実行条件が不成立になるとともに、センサ故障判定実行条件又はＥＧＲ故障判定実行条件が成立したときには、「０」にリセットされる。
【００６９】
上記ステップ２１の答がＹＥＳのときには、後述するステップ２４を実行する一方、ＮＯ（Ｆ＿ＴＨＲ１ｓｔ＝０）のとき、すなわち、センサ故障判定実行条件及び／又はＥＧＲ故障判定実行条件が、ＡＦバラツキ判定実行条件よりも先に成立しているときには、第１連続実行許可処理を実行する（ステップ２２）。
【００７０】
図６は、この第１連続実行許可処理を示している。本処理は、センサ故障判定動作又はＥＧＲ故障判定動作の完了に続くＡＦバラツキ判定動作の実行を許可／禁止するためのものである。まず、図６のステップ４１では、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「１」であるか否かを判別する。このセンサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦは、センサ故障判定動作の実行中であることを「１」で表すものである。
【００７１】
上記ステップ４１の答がＮＯ（Ｆ＿ＭＩＤＬＡＦ＝０）のときには、ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「１」であるか否かを判別する（ステップ４２）。このＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲは、ＥＧＲ故障判定動作の実行中であることを「１」で表すものである。
【００７２】
上記ステップ４２の答がＮＯ（Ｆ＿ＭＩＤＥＧＲ＝０）のときには、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦが「１」であるか否かを判別する（ステップ４３）。このセンサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦは、センサ故障判定動作が完了していることを「１」で表すものである。
【００７３】
上記ステップ４３の答がＮＯ（Ｆ＿ＤＯＮＬＡＦ＝０）のときには、ＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲが「１」であるか否かを判別する（ステップ４４）。このＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲは、ＥＧＲ故障判定動作が完了していることを「１」で表すものである。
【００７４】
上記ステップ４４の答がＮＯ（Ｆ＿ＤＯＮＥＧＲ＝０）のとき、すなわち、センサ故障判定動作及びＥＧＲ故障判定動作が開始されていないときには、連続実行許可フラグＦ＿ＰＥＲＤＩＳを「１」に設定し（ステップ４５）、本処理を終了する。
【００７５】
一方、前記ステップ４１の答がＹＥＳ（Ｆ＿ＭＩＤＬＡＦ＝１）で、センサ故障判定動作の実行中であるときには、１番目判定動作中フラグＦ＿ＭＩＤ１ｓｔが「１」であるか否かを判別する（ステップ４６）。
【００７６】
この１番目判定動作中フラグＦ＿ＭＩＤ１ｓｔは、パージカットを伴う３つの判定動作のうちの１番目に開始された判定動作が実行中であることを、「１」で表すものであり、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳ、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦ及びＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲ、後述するＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳ、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦ、及びＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲに基づいて設定される。
【００７７】
また、１番目判定動作中フラグＦ＿ＭＩＤ１ｓｔは、１番目の判定動作が完了したときに「０」にリセットされる。さらに、１番目判定動作中フラグＦ＿ＭＩＤ１ｓｔは、１番目の判定動作が完了せずに中断された場合には、一旦「０」にリセットされ、再開されたときに「１」に設定される。１番目の判定動作が完了せずに中断され、当該判定動作と異なる判定動作が開始されたときにも、「１」に設定される。
【００７８】
上記ステップ４６の答がＹＥＳ（Ｆ＿ＭＩＤ１ｓｔ＝１）のとき、すなわち、パージカットを伴う３つの判定動作のうちの１番目の判定動作として、センサ故障判定動作が実行されるとともに、当該判定動作の実行中であるときには、ＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲが「１」であるか否かを判別する（ステップ４７）。この答がＮＯ（Ｆ＿ＭＣＮＤＥＧＲ＝０）のとき、すなわち、１番目の判定動作としてのセンサ故障判定動作の実行中で、かつ、ＥＧＲ故障判定実行条件が成立していないときには、センサ故障判定動作の完了に続くＡＦバラツキ判定動作の実行を許可するために、前記ステップ４５を実行し、本処理を終了する。
【００７９】
一方、上記ステップ４７の答がＹＥＳ（Ｆ＿ＭＣＮＤＥＧＲ＝１）のとき、すなわち、１番目の判定動作としてのセンサ故障判定動作の実行中で、かつ、ＥＧＲ故障判定実行条件が成立しているときには、センサ故障判定動作の完了に続くＡＦバラツキ判定動作の実行を禁止するために、連続実行許可フラグＦ＿ＰＥＲＤＩＳを「０」に設定し（ステップ４８）、本処理を終了する。
【００８０】
一方、前記ステップ４６の答がＮＯ（Ｆ＿ＭＩＤ１ｓｔ＝０）のとき、すなわち、パージカットを伴う３つの判定動作のうちの２番目の判定動作として、センサ故障判定動作が実行されるとともに、当該判定動作の実行中であるときには、そのまま本処理を終了する。
【００８１】
上記のように、センサ故障判定動作の実行中で、かつ、１番目の判定動作の実行中でないとき（ステップ４６：ＮＯ）に、２番目の判定動作としてのセンサ故障判定動作の実行中であるとみなすのは、本処理を含むＡＦバラツキ判定条件判定処理が、ＡＦバラツキ判定動作の完了から所定時間が経過するまで実行されないためである。
【００８２】
一方、前記ステップ４２の答がＹＥＳ（Ｆ＿ＭＩＤＥＧＲ＝１）で、ＥＧＲ故障判定動作の実行中であるときには、１番目判定動作中フラグＦ＿ＭＩＤ１ｓｔが「１」であるか否かを判別する（ステップ４９）。この答がＹＥＳ（Ｆ＿ＭＩＤ１ｓｔ＝１）のとき、すなわち、パージカットを伴う３つの判定動作のうちの１番目の判定動作として、ＥＧＲ故障判定動作が実行されるとともに、当該判定動作の実行中であるときには、先行成立フラグＦ＿ＢＥＦＬＡＦが「１」であるか否かを判別する（ステップ５０）。
【００８３】
この先行成立フラグＦ＿ＢＥＦＬＡＦは、１番目の判定動作としてのＥＧＲ故障判定動作の実行中にセンサ故障判定実行条件がＡＦバラツキ判定実行条件よりも先に成立したことを、「１」で表すものであり、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦ及びＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳに基づいて設定される。なお、先行成立フラグＦ＿ＢＥＦＬＡＦは、一旦、センサ故障判定実行条件がＡＦバラツキ判定実行条件よりも先に成立しても、その後、センサ故障判定動作の開始前に、センサ故障判定実行条件が成立しなくなったときには、「０」にリセットされる。また、先行成立フラグＦ＿ＢＥＦＬＡＦは、パージカットを伴う３つの判定動作がすべて完了したときに「０」にリセットされる。
【００８４】
上記ステップ５０の答がＮＯ（Ｆ＿ＢＥＦＬＡＦ＝０）のとき、すなわち、１番目の判定動作としてのＥＧＲ故障判定動作の実行中で、かつ、センサ故障判定実行条件がＡＦバラツキ判定実行条件よりも先に成立していないときには、ＥＧＲ故障判定動作の完了に続くＡＦバラツキ判定動作の実行を許可するために、前記ステップ４５を実行し、本処理を終了する。
【００８５】
一方、ステップ５０の答がＹＥＳ（Ｆ＿ＢＥＦＬＡＦ＝１）のとき、すなわち、１番目の判定動作としてのＥＧＲ故障判定動作の実行中で、かつ、センサ故障判定実行条件がＡＦバラツキ判定実行条件よりも先に成立しているときには、ＥＧＲ故障判定動作の完了に続くＡＦバラツキ判定動作の実行を禁止するために、前記ステップ４８を実行し、本処理を終了する。
【００８６】
一方、前記ステップ４９の答がＮＯ（Ｆ＿ＭＩＤ１ｓｔ＝０）のとき、すなわち、パージカットを伴う３つの判定動作のうちの２番目の判定動作として、ＥＧＲ故障判定動作が実行されるとともに、当該判定動作の実行中であるときには、前記ステップ４８を実行し、本処理を終了する。
【００８７】
上記のように、実行中の判定動作がパージカットを伴う３つの判定動作のうちの１番目の判定動作でないとき（ステップ４９：ＮＯ）に、２番目の判定動作であるとみなすのは、前記ステップ４６と同じ理由による。
【００８８】
一方、前記ステップ４４の答がＹＥＳ（Ｆ＿ＤＯＮＥＧＲ＝１）のとき、すなわち、パージカットを伴う３つの判定動作のうちの１番目の判定動作として、ＥＧＲ故障判定動作が完了するとともに、センサ故障判定動作の実行中でなく、当該判定動作が完了していないときには、前記ステップ５０以降を実行し、本処理を終了する。
【００８９】
一方、前記ステップ４３の答がＹＥＳ（Ｆ＿ＤＯＮＬＡＦ＝１）のとき、すなわち、センサ故障判定動作が完了しているときには、ＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲが「１」であるか否かを判別する（ステップ５１）。この答がＮＯ（Ｆ＿ＤＯＮＥＧＲ＝０）のとき、すなわち、センサ故障判定動作が完了するとともに、ＥＧＲ故障判定動作が完了していないときには、そのまま本処理を終了する。
【００９０】
一方、上記ステップ５１の答がＹＥＳ（Ｆ＿ＤＯＮＥＧＲ＝１）のとき、すなわち、センサ故障判定動作及びＥＧＲ故障判定動作がいずれも完了しているときには、センサ故障判定動作又はＥＧＲ故障判定動作の完了に続くＡＦバラツキ判定動作の実行を許可するために、前記ステップ４５を実行し、本処理を終了する。
【００９１】
図５に戻り、前記ステップ２２に続くステップ２３では、図６のステップ４５又は４８で設定された連続実行許可フラグＦ＿ＰＥＲＤＩＳが「１」であるか否かを判別する。この答がＮＯ（Ｆ＿ＰＥＲＤＩＳ＝０）のとき、すなわち、センサ故障判定動作又はＥＧＲ故障判定動作の完了に続くＡＦバラツキ判定動作の実行が禁止されているときには、前記ステップ１８を実行し、本処理を終了する。
【００９２】
一方、上記ステップ２３の答がＹＥＳ（Ｆ＿ＰＥＲＤＩＳ＝１）で、センサ故障判定動作又はＥＧＲ故障判定動作の完了に続くＡＦバラツキ判定動作の実行が許可されているときには、触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴが「１」であるか否かを判別する（ステップ２４）。触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴは、触媒劣化判定動作の実行中であることを「１」で表すものである。
【００９３】
このステップ２４の答がＹＥＳ（Ｆ＿ＭＩＤＣＡＴ＝１）で、触媒劣化判定動作の実行中であるときには、ＡＦバラツキ判定動作を保留するために、前記ステップ１８を実行し（Ｆ＿ＭＩＤＤＩＳ←０）、本処理を終了する。一方、ステップ２４の答がＮＯのときには、前記ステップ１４で設定した第１待機タイマのタイマ値ｔＤＩＳ１が値０であるか否かを判別する（ステップ２５）。
【００９４】
このステップ２５の答がＮＯのときには、ＡＦバラツキ判定動作を保留するために、前記ステップ１８を実行し（Ｆ＿ＭＩＤＤＩＳ←０）、本処理を終了する。
【００９５】
一方、ステップ２５の答がＹＥＳ（ｔＤＩＳ１＝０）のとき、すなわち、ＡＦバラツキ判定実行条件が成立してから前記安定時間ＴＭＳＴＥが経過したときには、パージカットフラグＦ＿ＰＵＲＣＵＴが「１」であるか否かを判別する（ステップ２６）。この答がＮＯ（Ｆ＿ＰＵＲＣＵＴ＝０）で、パージカットの実行中でないときには、パージカットを実行するために、パージカットフラグＦ＿ＰＵＲＣＵＴを「１」に設定する（ステップ２７）とともに、ダウンカウント式の第２待機タイマのタイマ値ｔＤＩＳ２を所定の初期待機時間ＴＭＤＩＮＴに設定する（ステップ２８）。
【００９６】
一方、上記ステップ２６の答がＹＥＳで、パージカットの実行中であるときには、第２待機タイマのタイマ値ｔＤＩＳ２を所定の減少後待機時間ＴＭＤＤＥＣに設定する（ステップ２９）。この減少後待機時間ＴＭＤＤＥＣは、上記の初期待機時間ＴＭＤＩＮＴよりも短い時間に設定されている。
【００９７】
上記ステップ２８又は２９に続くステップ３０及び３１ではそれぞれ、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦ及びＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「１」であるか否かを判別する。これらのステップ３０及び３１の答のいずれかがＹＥＳ（Ｆ＿ＭＩＤＬＡＦ＝１ｏｒＦ＿ＭＩＤＥＧＲ＝１）で、センサ故障判定動作及びＥＧＲ故障判定動作の一方の実行中であるときには、ＡＦバラツキ判定動作を保留するために、前記ステップ１８を実行し、本処理を終了する。
【００９８】
一方、ステップ３０及び３１の答がいずれもＮＯ（Ｆ＿ＭＩＤＬＡＦ＝０、かつＦ＿ＭＩＤＥＧＲ＝０）で、センサ故障判定動作及びＥＧＲ故障判定動作がいずれも実行中でないときには、ＡＦバラツキ判定動作を開始するために、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳを「１」に設定し（ステップ３２）、本処理を終了する。このステップ３２の実行により、前記ステップ１９の答がＹＥＳ（Ｆ＿ＭＩＤＤＩＳ＝１）になり、その場合には、そのまま本処理を終了する。
【００９９】
また、図７は、図４のステップ２で実行されるＡＦバラツキ判定処理を示しており、本処理は、ＡＦバラツキ判定動作を実行するためのものである。本処理では、本出願人によって提案された特許第５３３５７０４号と同様の手法によって、ＡＦバラツキが判定されるので、以下、本処理について簡単に説明する。
【０１００】
まず、図７のステップ６１では、図５のステップ１８又は３２で設定されるＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「１」であるか否かを判別する。このステップ６１の答がＮＯ（Ｆ＿ＭＩＤＤＩＳ＝０）のときには、後述するＥＧＲカットフラグＦ＿ＥＧＲＣＵＴを「０」に設定し（ステップ６２）、本処理を終了する。
【０１０１】
一方、ステップ６１の答がＹＥＳ（Ｆ＿ＭＩＤＤＩＳ＝１）のときには、次のステップ６３以降において、ＡＦバラツキ判定動作を実行する。まず、ステップ６３において、パージカットフラグＦ＿ＰＵＲＣＵＴを「１」に設定し、パージカット（蒸発燃料の供給停止）を実行する。次いで、判定用空燃比制御を実行する（ステップ６４）。この判定用空燃比制御では、目標当量比が所定の制御周期で変化するように設定されるとともに、検出当量比ＫＡＣＴが設定された目標当量比になるように、燃料噴射量が制御される。
【０１０２】
次に、ＥＧＲカットフラグＦ＿ＥＧＲＣＵＴを「１」に設定する（ステップ６５）。これにより、ＥＧＲ停止制御が実行されることによって、ＥＧＲ制御弁５３が全閉状態に制御され、ＥＧＲ装置５１による排ガスの還流が停止される。次いで、周期的変化フラグＦ＿ＶＡＲＣＹＣが「１」であるか否かを判別する（ステップ６６）。この周期的変化フラグＦ＿ＶＡＲＣＹＣは、上記ステップ６４による判定用空燃比制御の実行により目標当量比が制御周期で変化していることを「１」で表すものである。このステップ６６の答がＮＯ（Ｆ＿ＶＡＲＣＹＣ＝０）のときには、そのまま本処理を終了する。
【０１０３】
一方、上記ステップ６６の答がＹＥＳ（Ｆ＿ＶＡＲＣＹＣ＝１）で、目標当量比が制御周期で変化しているときには、検出当量比ＫＡＣＴを、所定の第１バンドパスフィルタでフィルタリングすることによって、第１フィルタ済み当量比ＫＡＣＴＦ１を算出する（ステップ６７）。この第１バンドパスフィルタは、検出当量比ＫＡＣＴのうちのエンジン回転数ＮＥの０．５次の周波数成分を抽出するように、構成されている。そのフィルタ式については、特許第５３３５７０４号を参照されたい。
【０１０４】
上記ステップ６７に続くステップ６８では、算出された第１フィルタ済み当量比ＫＡＣＴＦ１を、第１積算値ＳＵＭＫＦ１の前回値に加算することによって、今回の第１積算値ＳＵＭＫＦ１を算出する。なお、本処理の初回の実行時には、第１積算値ＳＵＭＫＦ１の前回値は値０に設定される。
【０１０５】
次に、検出当量比ＫＡＣＴを、所定の第２バンドパスフィルタでフィルタリングすることによって、第２フィルタ済み当量比ＫＡＣＴＦ２を算出する（ステップ６９）。この第２バンドパスフィルタは、検出当量比ＫＡＣＴのうちの前記制御周期に対応する周波数成分を抽出するように構成されている。そのフィルタ式については、特許第５３３５７０４号を参照されたい。
【０１０６】
上記ステップ６９に続くステップ７０では、算出された第２フィルタ済み当量比ＫＡＣＴＦ２を、第２積算値ＳＵＭＫＦ２の前回値に加算することによって、今回の第２積算値ＳＵＭＫＦ２を算出する。なお、本処理の初回の実行時には、第２積算値ＳＵＭＫＦ２の前回値は値０に設定される。
【０１０７】
次いで、図５のステップ２８又は２９で設定された第２待機タイマのタイマ値ｔＤＩＳ２が値０であるか否かを判別する（ステップ７１）。この答がＮＯのときには、そのまま本処理を終了する一方、ＹＥＳ（ｔＤＩＳ２＝０）のとき、すなわち、ＡＦバラツキ判定動作の実行開始から、初期待機時間ＴＭＤＩＮＴ又は減少後待機時間ＴＭＤＤＥＣが経過したときには、前記ステップ６８で算出された第１積算値ＳＵＭＫＦ１を、ステップ７０で算出された第２積算値ＳＵＭＫＦ２で除算することによって、ＡＦバラツキ判定パラメータＪＵＤＤＩＳを算出する（ステップ７２）。
【０１０８】
次に、算出されたＡＦバラツキ判定パラメータＪＵＤＤＩＳが所定のしきい値ＤＩＳＲＥＦよりも大きいか否かを判別する（ステップ７３）。この答がＹＥＳ（ＪＵＤＤＩＳ＞ＤＩＳＲＥＦ）のときには、ＡＦバラツキが発生していると判定するとともに、そのことを表すために、ＡＦバラツキフラグＦ＿ＤＩＳＰＮＧを「１」に設定する（ステップ７４）。一方、ステップ７３の答がＮＯのときには、ＡＦバラツキが発生していないと判定するとともに、そのことを表すために、ＡＦバラツキフラグＦ＿ＤＩＳＰＮＧを「０」に設定する（ステップ７５）。
【０１０９】
上記ステップ７４又は７５に続くステップ７６では、ＡＦバラツキ判定動作が完了したことを表すために、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳを「１」に設定する。次いで、ＡＦバラツキ判定動作に関連する各種のフラグをリセットし（ステップ７７）、本処理を終了する。すなわち、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳ、連続実行許可フラグＦ＿ＰＥＲＤＩＳ及びＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳをいずれも、「０」にリセットする。
【０１１０】
なお、図５〜図７に示す処理は、ＡＦバラツキ判定動作が上述したように完了した場合において、他の３つの判定動作（センサ故障判定動作、ＥＧＲ故障判定動作及び触媒劣化判定動作）のいずれかが完了していないときには、その後、他の３つの判定動作がすべて完了するまで、その実行が停止される（図４のステップ１及び２がスキップされる）。また、ＡＦバラツキ判定動作を含む４つの判定動作が完了すると、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳが「０」にリセットされるとともに、図５〜図７に示す処理の実行が再開される。
【０１１１】
次に、図８を参照しながら、図４のステップ３で実行されるセンサ故障判定条件判定処理について説明する。本処理は、センサ故障判定実行条件（センサ故障判定動作の実行条件）が成立しているか否かを判定するためのものである。
【０１１２】
まず、図８のステップ８１では、センサ故障判定実行条件が成立しているか否かを判別する。センサ故障判定実行条件は、例えば次の条件ａ２〜ｃ２から成る所定の複数の条件がいずれも成立しているときに、成立していると判別される。なお、センサ故障判定実行条件に、他の適当な条件をさらに含めてもよい。
ａ２：エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲで表されるエンジン３
の運転点が図１６に示す運転点判定マップにおける領域βにあるこ
と
ｂ２：ＬＡＦセンサ６６が活性化していること
ｃ２：検出された車速ＶＰが所定の範囲内にあること
【０１１３】
上記ステップ８１の答がＮＯで、センサ故障判定実行条件が成立していないときには、そのことを表すために、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦを「０」に設定する（ステップ８２）とともに、ダウンカウント式の第１待機タイマのタイマ値ｔＬＡＦ１を安定時間ＴＭＳＴＥに設定する（ステップ８３）。
【０１１４】
次いで、ステップ８４及び８５においてそれぞれ、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳ及びＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲが「１」であるか否かを判別する。ステップ８４及び８５の答のいずれもがＮＯ（Ｆ＿ＭＣＮＤＤＩＳ＝０、かつＦ＿ＭＣＮＤＥＧＲ＝０）のとき、すなわち、センサ故障判定実行条件、ＡＦバラツキ判定実行条件及びＥＧＲ故障判定実行条件がいずれも成立していないときには、パージカットフラグＦ＿ＰＵＲＣＵＴを「０」に設定し（ステップ８６）、ステップ８７に進む。
【０１１５】
一方、ステップ８４及び８５の答のいずれかがＹＥＳのとき、すなわち、ＡＦバラツキ判定実行条件及びＥＧＲ故障判定実行条件のいずれかが成立しているときには、上記ステップ８６をスキップし、ステップ８７に進む。
【０１１６】
このステップ８７では、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦを「０」に設定し、本処理を終了する。センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦは、センサ故障判定動作の実行中であることを「１」で表すものである。
【０１１７】
一方、前記ステップ８１の答がＹＥＳで、センサ故障判定実行条件が成立しているときには、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「１」であるか否かを判別する（ステップ８８）。この答がＮＯ（Ｆ＿ＭＩＤＬＡＦ＝０）のときには、センサ故障判定実行条件が成立していることを表すために、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦを「１」に設定する（ステップ８９）。
【０１１８】
次いで、触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴが「１」であるか否かを判別する（ステップ９０）。この答がＹＥＳ（Ｆ＿ＭＩＤＣＡＴ＝１）のとき、すなわち、触媒劣化判定動作の実行中であるときには、センサ故障判定動作を保留するために、前記ステップ８７を実行し、本処理を終了する。
【０１１９】
一方、ステップ９０の答がＮＯ（Ｆ＿ＭＩＤＣＡＴ＝０）のときには、前記ステップ８３で設定された第１待機タイマのタイマ値ｔＬＡＦ１が値０であるか否かを判別する（ステップ９１）。この答がＮＯのときには、センサ故障判定動作を保留するために、前記ステップ８７を実行し（Ｆ＿ＭＩＤＬＡＦ←０）、本処理を終了する。
【０１２０】
一方、上記ステップ９１の答がＹＥＳ（ｔＬＡＦ１＝０）のとき、すなわち、センサ故障判定実行条件が成立してから安定時間ＴＭＳＴＥが経過したときには、パージカットフラグＦ＿ＰＵＲＣＵＴが「１」であるか否かを判別する（ステップ９２）。この答がＮＯ（Ｆ＿ＰＵＲＣＵＴ＝０）で、パージカットの実行中でないときには、パージカットを実行するために、パージカットフラグＦ＿ＰＵＲＣＵＴを「１」に設定する（ステップ９３）とともに、ダウンカウント式の第２待機タイマのタイマ値ｔＬＡＦ２を所定の初期待機時間ＴＭＬＩＮＴに設定する（ステップ９４）。
【０１２１】
一方、上記ステップ９２の答がＹＥＳで、パージカットの実行中であるときには、第２待機タイマのタイマ値ｔＬＡＦ２を所定の減少後待機時間ＴＭＬＤＥＣに設定する（ステップ９５）。この減少後待機時間ＴＭＬＤＥＣは、上記の初期待機時間ＴＭＬＩＮＴよりも短い時間に設定されている。
【０１２２】
上記ステップ９４又は９５に続くステップ９６及び９７ではそれぞれ、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳ及びＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「１」であるか否かを判別する。これらのステップ９６及び９７の答のいずれかがＹＥＳで、ＡＦバラツキ判定動作及びＥＧＲ故障判定動作のいずれかが実行中であるときには、センサ故障判定動作を保留するために、前記ステップ８７を実行し、本処理を終了する。
【０１２３】
一方、ステップ９６及び９７の答がいずれもＮＯのとき、すなわち、ＡＦバラツキ判定動作及びＥＧＲ故障判定動作がいずれも実行中でないときには、センサ故障判定動作を開始するために、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦを「１」に設定し（ステップ９８）、本処理を終了する。このステップ９８の実行により、前記ステップ８８の答がＹＥＳ（Ｆ＿ＭＩＤＬＡＦ＝１）になり、その場合には、そのまま本処理を終了する。
【０１２４】
また、図９は、図４のステップ４で実行されるセンサ故障判定処理を示しており、本処理は、センサ故障判定動作を実行するためのものである。本処理では、本出願人によって提案された特許第４４５９５６６号と同様の手法によって、ＬＡＦセンサ６６の故障が判定されるので、以下、本処理について簡単に説明する。
【０１２５】
まず、図９のステップ１０１では、図８のステップ８７又は９８で設定されるセンサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「１」であるか否かを判別する。この答がＮＯ（Ｆ＿ＭＩＤＬＡＦ＝０）のときには、ダウンカウント式の積算タイマのタイマ値ｔＬＡＦＤＥＴを所定時間ＴＬＲＥＦに設定し（ステップ１０２）、本処理を終了する。
【０１２６】
一方、ステップ１０１の答がＹＥＳ（Ｆ＿ＭＩＤＬＡＦ＝１）のときには、次のステップ１０３以降において、センサ故障判定動作を実行する。まず、ステップ１０３において、パージカットフラグＦ＿ＰＵＲＣＵＴを「１」に設定し、パージカットを実行する。次いで、判定用噴射制御を実行する（ステップ１０４）。
【０１２７】
この判定用噴射制御では、所定の周波数及び振幅を有する正弦波に、所定のオフセット量を加算することによって補正項ＫＩＤＳＩＮが算出され、算出された補正項ＫＩＤＳＩＮを基本燃料噴射量に乗算することによって、燃料噴射量ＩＮＪが算出される。そして、算出された燃料噴射量ＩＮＪに基づく制御信号がインジェクタ２６に入力されることによって、インジェクタ２６からの燃料噴射量が制御される。この基本燃料噴射量は、吸入空気量ＧＡＩＲに基づく所定のマップ検索によって算出される。
【０１２８】
なお、センサ故障判定動作の実行中、ＥＧＲ制御弁開度ＯＥＶは、ＡＦバラツキ判定動作の場合と異なり、エンジン回転数ＮＥなどのエンジン３の運転状態に応じて制御される。
【０１２９】
上記ステップ１０４に続くステップ１０５では、検出当量比ＫＡＣＴを、所定のバンドパスフィルタでフィルタリングすることによって、フィルタ済み当量比ＫＡＣＴＦを算出する。このバンドパスフィルタは、検出当量比ＫＡＣＴのうちの上記正弦波の周波数と同じ高さの周波数成分を抽出するように構成されている。そのフィルタ式については、特許第４４５９５６６号を参照されたい。
【０１３０】
上記ステップ１０５に続くステップ１０６では、フィルタ済み当量比ＫＡＣＴＦの絶対値ＫＡＣＴＦＡを算出する。次いで、図８のステップ９４又は９５で設定された第２待機タイマのタイマ値ｔＬＡＦ２が値０であるか否かを判別する（ステップ１０７）。この答がＮＯのときには、前記ステップ１０２を実行し、本処理を終了する。
【０１３１】
一方、上記ステップ１０７の答がＹＥＳ（ｔＬＡＦ２＝０）のとき、すなわち、センサ故障判定動作の実行開始から、初期待機時間ＴＭＬＩＮＴ又は減少後待機時間ＴＭＬＤＥＣが経過したときには、上記ステップ１０６で算出された絶対値ＫＡＣＴＦＡを、積算値ＬＡＦＤＬＹＰの前回値に加算することによって、今回の積算値ＬＡＦＤＬＹＰを算出する（ステップ１０８）。なお、本処理の初回の実行時には、積算値ＬＡＦＤＬＹＰの前回値は値０に設定される。
【０１３２】
次いで、前記ステップ１０２で設定された積算タイマのタイマ値ｔＬＡＦＤＥＴが値０であるか否かを判別する（ステップ１０９）。この答がＮＯのときには、そのまま本処理を終了する一方、ＹＥＳ（ｔＬＡＦＤＥＴ＝０）のとき、すなわち、ステップ１０８による絶対値ＫＡＣＴＦＡの積算が所定時間ＴＬＲＥＦにわたって繰り返されたときには、積算値ＬＡＦＤＬＹＰが判定値ＬＡＦＤＬＹＰＯＫよりも小さいか否かを判別する（ステップ１１０）。
【０１３３】
このステップ１１０の答がＹＥＳ（ＬＡＦＤＬＹＰ＜ＬＡＦＤＬＹＰＯＫ）のときには、ＬＡＦセンサ６６が故障していると判定するとともに、そのことを表すために、センサ故障フラグＦ＿ＬＡＦＳＮＧを「１」に設定する（ステップ１１１）。一方、ステップ１１０の答がＮＯ（ＬＡＦＤＬＹＰ≧ＬＡＦＤＬＹＰＯＫ）のときには、ＬＡＦセンサ６６が故障していないと判定するとともに、そのことを表すために、センサ故障フラグＦ＿ＬＡＦＳＮＧを「０」に設定する（ステップ１１２）。
【０１３４】
上記ステップ１１１又は１１２に続くステップ１１３では、センサ故障判定動作が完了したことを表すため、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦを「１」に設定する。次いで、センサ故障判定動作に関連する各種のフラグをリセットし（ステップ１１４）、本処理を終了する。すなわち、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦ及びセンサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦをいずれも、「０」に設定する。
【０１３５】
なお、図８及び図９に示す処理は、センサ故障判定動作が上述したように完了した場合において、他の３つの判定動作（ＡＦバラツキ判定動作、ＥＧＲ故障判定動作及び触媒劣化判定動作）のいずれかが完了していないときには、その後、他の３つの判定動作がすべて完了するまで、その実行が停止される（図４のステップ３及び４がスキップされる）。また、センサ故障判定動作を含む４つの判定動作が完了すると、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦが「０」にリセットされるとともに、図８及び図９に示す処理の実行が再開される。
【０１３６】
次に、図１０を参照しながら、図４のステップ５で実行されるＥＧＲ故障判定条件判定処理について説明する。本処理は、ＥＧＲ故障判定実行条件（ＥＧＲ故障判定動作の実行条件）が成立しているか否かを判定するためのものである。
【０１３７】
まず、図１０のステップ１２１では、ＥＧＲ故障判定実行条件が成立しているか否かを判別する。ＥＧＲ故障判定実行条件は、例えば次の条件ａ３〜ｅ３から成る所定の複数の条件がいずれも成立しているときに、成立していると判別される。なお、ｂ３の条件の成立は、検出されたＥＧＲ制御弁開度ＯＥＶに基づいて判別れる。また、ＥＧＲ故障判定実行条件に、他の適当な条件をさらに含めてもよい。
ａ３：エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲで表されるエンジン３
の運転点が図１６に示す運転点判定マップにおける領域γにあるこ
と
ｂ３：ＥＧＲ故障判定動作の開始前にＥＧＲ装置５１による排ガスの還流
が行われていたこと（あるいは排ガスの還流を実行可能であること)
ｃ３：検出された吸気温ＴＡが所定吸気温よりも高いこと
ｄ３：エンジン水温ＴＷが所定水温よりも高いこと
ｅ３：車速ＶＰが所定車速よりも高いこと
【０１３８】
上記ステップ１２１の答がＮＯで、ＥＧＲ故障判定実行条件が成立していないときには、そのことを表すために、ＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲを「０」に設定する（ステップ１２２）とともに、ダウンカウント式の第１待機タイマのタイマ値ｔＥＧＲ１を安定時間ＴＭＳＴＥに設定する（ステップ１２３）。
【０１３９】
次いで、ステップ１２４及び１２５においてそれぞれ、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳ及びセンサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦが「１」であるか否かを判別する。ステップ１２４及び１２５の答がいずれもＮＯ（Ｆ＿ＭＣＮＤＤＩＳ＝０、かつＦ＿ＭＣＮＤＬＡＦ＝０）のとき、すなわち、ＥＧＲ故障判定実行条件、ＡＦバラツキ判定実行条件及びセンサ故障判定実行条件がいずれも成立していないときには、パージカットフラグＦ＿ＰＵＲＣＵＴを「０」に設定し（ステップ１２６）、ステップ１２７に進む。
【０１４０】
一方、ステップ１２４及び１２５の答のいずれかがＹＥＳのとき、すなわち、ＡＦバラツキ判定実行条件及びＬＡＦ判定実行条件のいずれかが成立しているときには、上記ステップ１２６をスキップし、ステップ１２７に進む。
【０１４１】
このステップ１２７では、ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲを「０」に設定し、本処理を終了する。ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲは、ＥＧＲ故障判定動作の実行中であることを「１」で表すものである。
【０１４２】
一方、前記ステップ１２１の答がＹＥＳで、ＥＧＲ故障判定実行条件が成立しているときには、ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「１」であるか否かを判別する（ステップ１２８）。この答がＮＯ（Ｆ＿ＭＩＤＥＧＲ＝０）のときには、ＥＧＲ故障判定実行条件が成立していることを表すために、ＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲを「１」に設定する（ステップ１２９）。
【０１４３】
次いで、触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴが「１」であるか否かを判別する（ステップ１３０）。この答がＹＥＳ（Ｆ＿ＭＩＤＣＡＴ＝１）のとき、すなわち、触媒劣化判定動作の実行中であるときには、ＥＧＲ故障判定動作を保留するために、前記ステップ１２７を実行し、本処理を終了する。
【０１４４】
一方、上記ステップ１３０の答がＮＯ（Ｆ＿ＭＩＤＣＡＴ＝０）のときには、前記ステップ１２３で設定された第１待機タイマのタイマ値ｔＥＧＲ１が値０であるか否かを判別する（ステップ１３１）。この答がＮＯのときには、ＥＧＲ故障判定動作を保留するために、前記ステップ１２７を実行し（Ｆ＿ＭＩＤＥＧＲ←０）、本処理を終了する。
【０１４５】
一方、上記ステップ１３１の答がＹＥＳ（ｔＥＧＲ１＝０）のとき、すなわち、ＥＧＲ故障判定実行条件が成立してから安定時間ＴＭＳＴＥが経過したときには、パージカットフラグＦ＿ＰＵＲＣＵＴが「１」であるか否かを判別する（ステップ１３２）。この答がＮＯ（Ｆ＿ＰＵＲＣＵＴ＝０）で、パージカットの実行中でないときには、パージカットを実行するために、パージカットフラグＦ＿ＰＵＲＣＵＴを「１」に設定する（ステップ１３３）とともに、ダウンカウント式の第２待機タイマのタイマ値ｔＥＧＲ２を所定の初期待機時間ＴＭＥＩＮＴに設定する（ステップ１３４）。
【０１４６】
一方、上記ステップ１３２の答がＹＥＳで、パージカットの実行中であるときには、第２待機タイマのタイマ値ｔＥＧＲ２を所定の減少後待機時間ＴＭＥＤＥＣに設定する（ステップ１３５）。この減少後待機時間ＴＭＥＤＥＣは、上記の初期待機時間ＴＭＥＩＮＴよりも短い時間に設定されている。上記ステップ１３４又は１３５に続くステップ１３６では、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「１」であるか否かを判別する。この答がＹＥＳ（Ｆ＿ＭＩＤＬＡＦ＝１）で、センサ故障判定動作の実行中であるときには、ＥＧＲ故障判定動作を保留するために、前記ステップ１２７を実行し、本処理を終了する。
【０１４７】
一方、ステップ１３６の答がＮＯで、センサ故障判定動作の実行中でないときには、ＥＧＲ故障判定動作を開始するために、ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲを「１」に設定し（ステップ１３７）、本処理を終了する。このステップ１３７の実行により、前記ステップ１２８の答がＹＥＳ（Ｆ＿ＭＩＤＥＧＲ＝１）になり、その場合には、そのまま本処理を終了する。
【０１４８】
また、図１１は、図４のステップ６で実行されるＥＧＲ故障判定処理を示しており、本処理は、ＥＧＲ故障判定動作を実行するためのものである。本処理では、本出願人によって提案された特許第４５３１５９７号と同様の手法によって、ＥＧＲ装置５１の故障が判定されるので、以下、本処理について簡単に説明する。
【０１４９】
まず、図１１のステップ１４１では、図１０のステップ１２７又は１３７で設定されるＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「１」であるか否かを判別する。この答がＮＯ（Ｆ＿ＭＩＤＥＧＲ＝０）のときには、ダウンカウント式の積算タイマのタイマ値ｔＥＧＲＤＥＴを所定時間ＴＥＲＥＦに設定し（ステップ１４２）、本処理を終了する。
【０１５０】
一方、ステップ１４１の答がＹＥＳ（Ｆ＿ＭＩＤＥＧＲ＝１）のときには、次のステップ１４３以降において、ＥＧＲ故障判定動作を実行する。まず、ステップ１４３において、パージカットフラグＦ＿ＰＵＲＣＵＴを「１」に設定し、パージカットを実行する。次いで、判定用ＥＧＲ制御を実行する（ステップ１４４）。この判定用ＥＧＲ制御では、ＥＧＲ制御弁開度ＯＥＶが一定周期で複数回、繰り返して開閉制御される。
【０１５１】
次いで、空燃比Ｆ／Ｂ制御を実行する（ステップ１４５）。この空燃比Ｆ／Ｂ制御では、検出当量比ＫＡＣＴが目標当量比になるように、所定のフィードバック制御アルゴリズムを用いて、空燃比補正係数ＫＡＦを算出するとともに、算出された空燃比補正係数ＫＡＦで基本燃料噴射量を補正することによって、燃料噴射量ＩＮＪが算出される。そして、算出された燃料噴射量ＩＮＪに基づく制御信号がインジェクタ２６に入力されることによって、インジェクタ２６からの燃料噴射量が制御される。基本燃料噴射量の算出手法は、前述したとおりである。
【０１５２】
上記ステップ１４５に続くステップ１４６では、空燃比補正係数ＫＡＦを、所定のバンドパスフィルタでフィルタリングすることによって、フィルタ済み補正係数ＫＡＦＦを算出する。そのフィルタ式については、特許第４５３１５９７号を参照されたい。
【０１５３】
次いで、フィルタ済み補正係数ＫＡＦＦの絶対値ＫＡＦＦＡを算出する（ステップ１４７）。次いで、図１０のステップ１３４又は１３５で設定された第２待機タイマのタイマ値ｔＥＧＲ２が値０であるか否かを判別する（ステップ１４８）。この答がＮＯのときには、前記ステップ１４２を実行し、本処理を終了する。
【０１５４】
一方、上記ステップ１４８の答がＹＥＳ（ｔＥＧＲ２＝０）のとき、すなわち、ＥＧＲ故障判定動作の実行開始から、初期待機時間ＴＭＥＩＮＴ又は減少後待機時間ＴＭＥＤＥＣが経過したときには、上記ステップ１４７で算出された絶対値ＫＡＦＦＡを、積算値ＲＴ８０ＡＸの前回値に加算することによって、今回の積算値ＲＴ８０ＡＸを算出する（ステップ１４９）。なお、本処理の初回の実行時には、積算値ＲＴ８０ＡＸの前回値は値０に設定される。
【０１５５】
次いで、前記ステップ１４２で設定された積算タイマのタイマ値ｔＥＧＲＤＥＴが値０であるか否かを判別する（ステップ１５０）。この答がＮＯのときには、そのまま本処理を終了する一方、ＹＥＳ（ｔＥＧＲＤＥＴ＝０）のとき、すなわち、ステップ１４９による絶対値ＫＡＦＦＡの積算が所定時間ＴＥＲＥＦにわたって繰り返されたときには、積算値ＲＴ８０ＡＸがしきい値ＬＴ８０Ａよりも大きいか否かを判別する（ステップ１５１）。
【０１５６】
このステップ１５１の答がＹＥＳ（ＲＴ８０ＡＸ＞ＬＴ８０Ａ）のときには、ＥＧＲ装置５１が故障している（ＥＧＲ装置５１に漏れがある）と判定するとともに、そのことを表すために、ＥＧＲ故障フラグＦ＿ＥＧＲＮＧを「１」に設定する（ステップ１５２）。一方、ステップ１５１の答がＮＯ（ＲＴ８０ＡＸ≦ＬＴ８０Ａ）のときには、ＥＧＲ装置５１が故障していないと判定するとともに、そのことを表すために、ＥＧＲ故障フラグＦ＿ＥＧＲＮＧを「０」に設定する（ステップ１５３）。
【０１５７】
上記ステップ１５２又は１５３に続くステップ１５４では、ＥＧＲ故障判定動作が完了したことを表すため、ＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲを「１」に設定する。次いで、ＥＧＲ故障判定動作に関連する各種のフラグをリセットし（ステップ１５５）、本処理を終了する。すなわち、ＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲ及びＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲをいずれも、「０」に設定する。
【０１５８】
なお、図１０及び図１１に示す処理は、ＥＧＲ故障判定動作が上述したように完了した場合において、他の３つの判定動作（ＡＦバラツキ判定動作、センサ故障判定動作及び触媒劣化判定動作）のいずれかが完了していないときには、その後、他の３つの判定動作がすべて完了するまで、その実行が停止される（図４のステップ５及び６がスキップされる）。また、ＥＧＲ故障判定動作を含む４つの判定動作が完了すると、ＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲが「０」にリセットされるとともに、図１０及び図１１に示す処理の実行が再開される。
【０１５９】
次に、図１２を参照しながら、エンジン運転点制御処理について説明する。本処理は、パージカットを伴う３つの判定動作を前述した順番Ａ〜Ｄで連続して実行するために、パージカットを伴う３つの判定動作の各々の実行中に、前述した図１６で規定されるエンジン３の運転点に関する実行条件が成立するように、エンジン３の運転点を制御するための処理であり、図４に示す処理と併行して、前記所定周期で繰り返し実行される。
【０１６０】
まず、図１２のステップ１６１では、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「１」であるか否かを判別する。この答がＹＥＳ（Ｆ＿ＭＩＤＤＩＳ＝１）で、ＡＦバラツキ判定動作の実行中であるときには、３番目判定動作中フラグＦ＿ＭＩＤ３ｒｄが「１」であるか否かを判別する（ステップ１６２）。
【０１６１】
この３番目判定動作中フラグＦ＿ＭＩＤ３ｒｄは、パージカットを伴う３つの判定動作のうちの３番目の判定動作の実行中であることを「１」で表すものであり、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳ、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦ及びＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲに基づいて設定される。また、３番目判定動作中フラグＦ＿ＭＩＤ３ｒｄは、３番目の判定動作が完了したときに「０」にリセットされる。さらに、３番目判定動作中フラグＦ＿ＭＩＤ３ｒｄは、３番目の判定動作が完了せずに中断された場合には、一旦「０」にリセットされ、再開されたときに「１」に設定される。
【０１６２】
上記ステップ１６２の答がＮＯ（Ｆ＿ＭＩＤ３ｒｄ＝０）のとき、すなわち、パージカットを伴う３つの判定動作のうちの１番目又は２番目の判定動作として、ＡＦバラツキ判定動作が実行中であるときには、ＡＦバラツキ判定動作の完了に続いてセンサ故障判定動作が実行される可能性を高めるために、αβ運転点制御を実行し（ステップ１６３）、本処理を終了する。このαβ運転点制御では、駆動系の運転モードが前記ＥＣＶＴ走行モードに設定されるとともに、エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲで表されるエンジン３の運転点が運転点判定マップにおける領域α及び領域β（図１６）の互いに重複する領域に収まるように、スロットル弁開度が制御される。
【０１６３】
また、αβ運転点制御では、上記のように制御されるエンジン３の動力が、運転者により要求される要求動力よりも小さいときには、その不足分に相当する電力がバッテリ８から第２モータ５に供給される。一方、エンジン３の動力が要求動力よりも大きいときには、第１モータ４で発電した電力のうち、その余剰分に相当する電力がバッテリ８に充電される。この要求動力は、検出されたアクセル開度ＡＰに応じたマップ検索によって算出される。以上の第１及び第２モータ４、５の電力制御は、後述する各種の運転点制御（ステップ１６４、１６７、１７０、１７３、１７５及び１７６）においても、同様に行われる。
【０１６４】
あるいは、αβ運転点制御において、駆動系の運転モードを前記ＥＮＧ直結走行モードに設定してもよい。この場合、エンジン回転数ＮＥが車速ＶＰに拘束されるので、吸入空気量ＧＡＩＲが運転点判定マップにおける領域α及び領域β（図１６）の互いに重複する領域に収まるように、スロットル弁開度及び第１モータ４の発電電力が制御される。
【０１６５】
一方、ステップ１６２の答がＹＥＳ（Ｆ＿ＭＩＤ３ｒｄ＝１）のとき、すなわち、３番目の判定動作としてのＡＦバラツキ判定動作の実行中であるときには、α運転点制御を実行し（ステップ１６４）、本処理を終了する。このα運転点制御では、駆動系の運転モードがＥＣＶＴ走行モードに設定されるとともに、エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲで表されるエンジン３の運転点が運転点判定マップにおける領域αに収まるように、スロットル弁開度が制御される。
【０１６６】
あるいは、α運転点制御において、駆動系の運転モードをＥＮＧ直結走行モードに設定してもよい。この場合、エンジン回転数ＮＥが車速ＶＰに拘束されるので、吸入空気量ＧＡＩＲが領域αに収まるように、スロットル弁開度及び第１モータ４の発電電力が制御される。
【０１６７】
一方、前記ステップ１６１の答がＮＯ（Ｆ＿ＭＩＤＤＩＳ＝０）で、ＡＦバラツキ判定動作の実行中でないときには、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「１」であるか否かを判別する（ステップ１６５）。この答がＹＥＳで、センサ故障判定動作の実行中であるときには、１番目判定動作中フラグＦ＿ＭＩＤ１ｓｔが「１」であるか否かを判別する（ステップ１６６）。
【０１６８】
このステップ１６６の答がＹＥＳ（Ｆ＿ＭＩＤ１ｓｔ＝１）のとき、すなわち、パージカットを伴う３つの判定動作のうちの１番目の判定動作として、センサ故障判定動作が実行中であるときには、センサ故障判定動作の完了に続いてＥＧＲ故障判定動作が実行される可能性を高めるために、βγ運転点制御を実行し（ステップ１６７）、本処理を終了する。このβγ運転点制御では、駆動系の運転モードがＥＣＶＴ走行モードに設定されるとともに、エンジン３の運転点が運転点判定マップにおける領域β及び領域γの互いに重複する領域に収まるように、スロットル弁開度が制御される。
【０１６９】
あるいは、βγ運転点制御において、駆動系の運転モードをＥＮＧ直結走行モードに設定してもよい。この場合、エンジン回転数ＮＥが車速ＶＰに拘束されるので、吸入空気量ＧＡＩＲが運転点判定マップにおける領域β及び領域γの互いに重複する領域に収まるように、スロットル弁開度及び第１モータ４の発電電力が制御される。
【０１７０】
一方、上記ステップ１６６の答がＮＯ（Ｆ＿ＭＩＤ１ｓｔ＝０）のときには、２番目判定動作中フラグＦ＿ＭＩＤ２ｎｄが「１」であるか否かを判別する（ステップ１６８）。この２番目判定動作中フラグＦ＿ＭＩＤ２ｎｄは、パージカットを伴う３つの判定動作のうちの２番目に開始された判定動作が実行中であることを、「１」で表すものであり、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳ、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦ及びＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲ、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳ、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦ及びＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲに基づいて設定される。
【０１７１】
また、２番目判定動作中フラグＦ＿ＭＩＤ２ｎｄは、２番目の判定動作が完了したときに「０」にリセットされる。さらに、２番目判定動作中フラグＦ＿ＭＩＤ２ｎｄは、２番目の判定動作が完了せずに中断された場合には、一旦「０」にリセットされ、再開されたときに「１」に設定される。２番目の判定動作が完了せずに中断され、当該判定動作と異なる判定動作が開始されたときにも、「１」に設定される。
【０１７２】
上記ステップ１６８の答がＹＥＳ（Ｆ＿ＭＩＤ２ｎｄ＝１）のとき、すなわち、パージカットを伴う３つの判定動作のうちの２番目の判定動作として、センサ故障判定動作が実行中であるときには、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳが「１」であるか否かを判別する（ステップ１６９）。
【０１７３】
このステップ１６９の答がＮＯ（Ｆ＿ＤＯＮＤＩＳ＝０）で、ＡＦバラツキ判定動作が完了していないとき、すなわち、１番目の判定動作としてのＥＧＲ故障判定動作が完了し、かつ、２番目の判定動作としてのセンサ故障判定動作の実行中であるときには、センサ故障判定動作の完了に続いてＡＦバラツキ判定動作が実行される可能性を高めるために、前記ステップ１６３の実行により、αβ運転点制御を実行し、本処理を終了する。
【０１７４】
一方、ステップ１６９の答がＹＥＳ（Ｆ＿ＤＯＮＤＩＳ＝１）のとき、すなわち、１番目の判定動作としてのＡＦバラツキ判定動作が完了し、かつ、２番目の判定動作としてのセンサ故障判定動作の実行中であるときには、前記ステップ１６７の実行により、βγ運転点制御を実行し、本処理を終了する。
【０１７５】
一方、前記ステップ１６８の答がＮＯ（Ｆ＿ＭＩｄ２ｎｄ＝０）のとき、すなわち、パージカットを伴う３つの判定動作のうちの３番目の判定動作として、センサ故障判定動作が実行中であるときには、β運転点制御を実行し（ステップ１７０）、本処理を終了する。このβ運転点制御では、駆動系の運転モードがＥＣＶＴ走行モードに設定されるとともに、エンジン３の運転点が運転点判定マップにおける領域βに収まるように、スロットル弁開度が制御される。
【０１７６】
あるいは、β運転点制御において、駆動系の運転モードをＥＮＧ直結走行モードに設定してもよい。この場合、エンジン回転数ＮＥが車速ＶＰに拘束されるので、吸入空気量ＧＡＩＲが領域βに収まるように、スロットル弁開度及び第１モータ４の発電電力が制御される。
【０１７７】
一方、前記ステップ１６５の答がＮＯ（Ｆ＿ＭＩＤＬＡＦ＝０）のとき、すなわち、ＡＦバラツキ判定動作の実行中及びセンサ故障判定動作の実行中のいずれでもないときには、ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「１」であるか否かを判別する（ステップ１７１）。この答がＮＯ（Ｆ＿ＭＩＤＥＧＲ＝０）のとき、すなわち、パージカットを伴う３つの判定動作がいずれも実行中でないときには、そのまま本処理を終了する一方、ＹＥＳで、ＥＧＲ故障判定動作の実行中であるときには、１番目判定動作中フラグＦ＿ＭＩＤ１ｓｔが「１」であるか否かを判別する（ステップ１７２）。
【０１７８】
このステップ１７２の答がＹＥＳのとき、すなわち、パージカットを伴う３つの判定動作のうちの１番目の判定動作として、ＥＧＲ故障判定動作が実行中であるときには、ＥＧＲ故障判定動作の完了に続いてＡＦバラツキ判定動作又はセンサ故障判定動作が実行される可能性を高めるために、αβγ運転点制御を実行し（ステップ１７３）。本処理を終了する。このαβγ運転点制御では、駆動系の運転モードがＥＣＶＴ走行モードに設定されるとともに、運転点判定マップにおける領域α及び領域βのうち、そのときのエンジン３の運転点に近い領域と領域γとの互いに重複する領域に、エンジン３の運転点が収まるように、スロットル弁開度が制御される。また、そのときのエンジン３の運転点が、領域α及び／又は領域βと領域γとの互いに重複する領域に収まっているときには、その状態を保持するように、スロットル弁開度が制御される。
【０１７９】
あるいは、αβγ運転点制御において、駆動系の運転モードをＥＮＧ直結走行モードに設定してもよい。この場合、エンジン回転数ＮＥが車速ＶＰに拘束されるので、運転点判定マップにおける領域α及び領域βのうち、そのときの吸入空気量ＧＡＩＲに近い領域と領域γとの互いに重複する領域に、吸入空気量ＧＡＩＲが収まるように、スロットル弁開度および第１モータ４の発電電力が制御される。また、そのときの吸入空気量ＧＡＩＲが、領域α及び／又は領域βと領域γとの互いに重複する領域に収まっているときには、その状態を保持するように、スロットル弁開度および第１モータ４の発電電力が制御される。
【０１８０】
一方、ステップ１７２の答がＮＯ（Ｆ＿ＭＩＤ１ｓｔ＝０）のときには、２番目判定動作中フラグＦ＿ＭＩＤ２ｎｄが「１」であるか否かを判別する（ステップ１７４）。この答がＹＥＳ（Ｆ＿ＭＩＤ２ｎｄ＝１）のとき、すなわち、パージカットを伴う３つの判定動作のうちの２番目の判定動作として、ＥＧＲ故障判定動作が実行中であるときには、ＥＧＲ故障判定動作の完了に続いてＡＦバラツキ判定動作が実行される可能性を高めるために、αγ運転点制御を実行し（ステップ１７５）、本処理を終了する。このαγ運転点制御では、駆動系の運転モードがＥＣＶＴ走行モードに設定されるとともに、エンジン３の運転点が、運転点判定マップにおける領域α及び領域γが重複する領域に収まるように、スロットル弁開度が制御される。
【０１８１】
あるいは、αγ運転点制御において、駆動系の運転モードをＥＮＧ直結走行モードに設定してもよい。この場合、エンジン回転数ＮＥが車速ＶＰに拘束されるので、吸入空気量ＧＡＩＲが運転点判定マップにおける領域α及び領域γの互いに重複する領域に収まるように、スロットル弁開度及び第１モータ４の発電電力が制御される。
【０１８２】
一方、上記ステップ１７４の答がＮＯのとき、すなわち、パージカットを伴う３つの判定動作のうちの３番目の判定動作として、ＥＧＲ故障判定動作が実行中であるときには、γ運転点制御を実行し（ステップ１７６）、本処理を終了する。このγ運転点制御では、駆動系の運転モードがＥＣＶＴ走行モードに設定されるとともに、エンジン３の運転点が運転点判定マップにおける領域γに収まるように、スロットル弁開度が制御される。
【０１８３】
あるいは、γ運転点制御において、駆動系の運転モードをＥＮＧ直結走行モードに設定してもよい。この場合、エンジン回転数ＮＥが車速ＶＰに拘束されるので、吸入空気量ＧＡＩＲが領域γに収まるように、スロットル弁開度及び第１モータ４の発電電力が制御される。
【０１８４】
次に、図１３を参照しながら、図４のステップ７で実行される触媒劣化判定条件判定処理について説明する。本処理は、触媒劣化判定実行条件（三元触媒２８の故障の判定動作の実行条件）が成立しているか否かを判定するためのものである。
【０１８５】
まず、図１３のステップ１８１では、触媒劣化判定実行条件が成立しているか否かを判別する。この触媒劣化判定実行条件は、例えば次の条件ａ４が成立しているときに、成立していると判別される。なお、触媒劣化判定実行条件に、他の適当な条件をさらに含めてもよい。
ａ４：エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲで表されるエンジン３の運転点が運        転点判定マップにおける領域δ（図１６）にあること
【０１８６】
上記ステップ１８１の答がＮＯで、触媒劣化判定実行条件が成立していないときには、そのことを表すために、触媒劣化判定実行条件成立フラグＦ＿ＭＣＮＤＣＡＴを「０」に設定する（ステップ１８２）。次いで、触媒劣化判定動作用の連続実行許可フラグＦ＿ＰＥＲＣＡＴを「０」に設定する（ステップ１８３）とともに、触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴを「０」に設定し（ステップ１８４）、本処理を終了する。
【０１８７】
一方、前記ステップ１８１の答がＹＥＳで、触媒劣化判定実行条件が成立しているときには、触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴが「１」であるか否かを判別する（ステップ１８５）。この答がＮＯ（Ｆ＿ＭＩＤＣＡＴ＝０）のときには、触媒劣化判定実行条件が成立していることを表すために、触媒劣化判定実行条件成立フラグＦ＿ＭＣＮＤＣＡＴを「１」に設定する（ステップ１８６）。
【０１８８】
次いで、第２最先成立フラグＦ＿ＦＯＵ１ｓｔが「１」であるか否かを判別する（ステップ１８７）。この第２最先成立フラグＦ＿ＦＯＵ１ｓｔは、触媒劣化判定実行条件が、ＡＦバラツキ判定実行条件、センサ故障判定実行条件及びＥＧＲ故障判定実行条件よりも先に成立したことを「１」で表すものであり、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳ、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦ、及びＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲに基づいて設定される。
【０１８９】
また、第２最先成立フラグＦ＿ＦＯＵ１ｓｔは、最先に開始された触媒劣化判定動作が完了したときに「０」にリセットされる。さらに、第２最先成立フラグＦ＿ＦＯＵ１ｓｔは、一旦、触媒劣化判定実行条件が最先に成立しても、触媒劣化判定動作が完了する前に触媒劣化判定実行条件が不成立になるとともに、ＡＦバラツキ判定実行条件、センサ故障判定実行条件又はＥＧＲ故障判定実行条件が成立したときには、「０」にリセットされる。
【０１９０】
上記ステップ１８７の答がＹＥＳ（Ｆ＿ＦＯＵ１ｓｔ＝１）のとき、すなわち、触媒劣化判定実行条件が、ＡＦバラツキ判定実行条件、センサ故障判定実行条件及びＥＧＲ故障判定実行条件よりも先に成立しているときには、触媒劣化判定動作を開始するために、触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴを「１」に設定し（ステップ１８８）、本処理を終了する。このステップ１８８の実行により、前記ステップ１８５の答がＹＥＳになり、その場合には、そのまま本処理を終了する。
【０１９１】
一方、ステップ１８７の答がＮＯ（Ｆ＿ＦＯＵ１ｓｔ＝０）のとき、すなわち、ＡＦバラツキ判定実行条件、センサ故障判定実行条件及びＥＧＲ故障判定実行条件のいずれかが、触媒劣化判定実行条件よりも先に成立しているときには、最先判定動作開始済みフラグＦ＿ＳＴＡ１ｓｔが「１」であるか否かを判別する（ステップ１８９）。この最先判定動作開始済みフラグＦ＿ＳＴＡ１ｓｔは、パージカットを伴う３つの判定動作のうちの１番目の判定動作が開始済みであることを「１」で表すものであり、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳ、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦ及びＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲに基づいて設定される。
【０１９２】
このステップ１８９の答がＮＯ（Ｆ＿ＳＴＡ１ｓｔ＝０）のときには、前記ステップ１８４を実行し、本処理を終了する一方、ＹＥＳで、実行条件が最先に成立した判定動作が開始済みであるときには、第２連続実行許可処理を実行する（ステップ１９０）。
【０１９３】
図１４は、この第２連続実行許可処理を示している。本処理は、パージカットを伴う３つの判定動作のうちの１番目又は２番目の判定動作の完了に続いて触媒劣化判定動作を実行することを、許可／禁止するためのものである。まず、図１４のステップ２０１では、３番目判定動作完了フラグＦ＿ＤＯＮ３ｒｄが「１」であるか否かを判別する。この３番目判定動作完了フラグＦ＿ＤＯＮ３ｒｄは、パージカットを伴う３つの判定動作がすべて完了していることを「１」で表すものであり、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳ、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦ、及びＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲに基づいて設定される。また、３番目判定動作完了フラグＦ＿ＤＯＮ３ｒｄは、パージカットを伴う３つの判定動作及び触媒劣化判定動作がすべて完了したときに、「０」にリセットされる。
【０１９４】
上記ステップ２０１の答がＮＯ（Ｆ＿ＤＯＮ３ｒｄ＝０）で、パージカットを伴う３つの判定動作のいずれかが完了していないときには、１番目判定動作中フラグＦ＿Ｆ＿ＭＩＤ１ｓｔが「１」であるか否かを判別する（ステップ２０２）。この場合、図１３の前記ステップ１８９の答がＹＥＳ（Ｆ＿ＳＴＡ１ｓｔ＝１）で、１番目の判定動作がすでに開始されているので、１番目の判定動作が完了するまでは、このステップ２０２の答はＹＥＳ（Ｆ＿Ｆ＿ＭＩＤ１ｓｔ＝１）になる。ステップ２０２の答がＹＥＳで、パージカットを伴う３つの判定動作のうちの１番目の判定動作が実行中であるときには、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「１」であるか否かを判別する（ステップ２０３）。
【０１９５】
このステップ２０３の答がＹＥＳ（Ｆ＿ＭＩＤＤＩＳ＝１）のとき、すなわち、１番目の判定動作としてＡＦバラツキ判定動作が実行中であるときには、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦが「１」であるか否かを判別する（ステップ２０４）。この答がＮＯ（Ｆ＿ＭＣＮＤＬＡＦ＝０）のとき、すなわち、１番目の判定動作としてのＡＦバラツキ判定動作の実行中に、センサ故障判定実行条件が成立していないときには、ＡＦバラツキ判定動作の完了に続く触媒劣化判定動作の実行を許可するために、触媒劣化判定動作用の連続実行許可フラグＦ＿ＰＥＲＣＡＴを「１」に設定し（ステップ２０５）、本処理を終了する。
【０１９６】
一方、上記ステップ２０４の答がＹＥＳ（Ｆ＿ＭＣＮＤＬＡＦ＝１）のとき、すなわち、１番目の判定動作としてのＡＦバラツキ判定動作の実行中に、センサ故障判定実行条件が成立しているときには、ＡＦバラツキ判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、触媒劣化判定動作用の連続実行許可フラグＦ＿ＰＥＲＣＡＴを「０」に設定し（ステップ２０６）、本処理を終了する。
【０１９７】
一方、前記ステップ２０３の答がＮＯ（Ｆ＿ＭＩＤＤＩＳ＝０）のときには、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「１」であるか否かを判別する（ステップ２０７）。この答がＹＥＳ（Ｆ＿ＭＩＤＬＡＦ＝１）のとき、すなわち、１番目の判定動作としてセンサ故障判定動作が実行中であるときには、ＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲが「１」であるか否かを判別する（ステップ２０８）。
【０１９８】
このステップ２０８の答がＮＯ（Ｆ＿ＭＣＮＤＥＧＲ＝０）のとき、すなわち、１番目の判定動作としてのセンサ故障判定動作の実行中に、ＥＧＲ故障判定実行条件が成立していないときには、センサ故障判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ２０５を実行し、本処理を終了する。
【０１９９】
一方、ステップ２０８の答がＹＥＳ（Ｆ＿ＭＣＮＤＥＧＲ＝１）のとき、すなわち、１番目の判定動作としてのセンサ故障判定動作の実行中に、ＥＧＲ故障判定実行条件が成立しているときには、センサ故障判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ２０６を実行し、本処理を終了する。
【０２００】
一方、前記ステップ２０７の答がＮＯのとき、すなわち、１番目の判定動作としてのＥＧＲ故障判定動作の実行中であるときには、ステップ２０９及び２１０においてそれぞれ、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳ及びセンサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦが「１」であるか否かを判別する。これらの答がいずれもＮＯのとき、すなわち、１番目の判定動作としてのＥＧＲ故障判定動作の実行中に、ＡＦバラツキ判定実行条件及びセンサ故障判定実行条件がいずれも成立していないときには、ＥＧＲ故障判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ２０５を実行し、本処理を終了する。
【０２０１】
一方、上記ステップ２０９及び２１０の答のいずれかがＹＥＳのとき、すなわち、１番目の判定動作としてのＥＧＲ故障判定動作の実行中に、ＡＦバラツキ判定実行条件及びセンサ故障判定実行条件のいずれかが成立しているときには、ＥＧＲ故障判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ２０６を実行し、本処理を終了する。
【０２０２】
一方、前記ステップ２０２の答がＮＯ（Ｆ＿ＭＩＤ１ｓｔ＝０）のときには、２番目判定動作完了フラグＦ＿ＤＯＮ２ｎｄが「１」であるか否かを判別する（ステップ２１１）。この２番目判定動作完了フラグＦ＿ＤＯＮ２ｎｄは、パージカットを伴う３つの判定動作のうち１番目及び２番目の判定動作が完了していることを「１」で表すものであり、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳ、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦ、及びＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲに基づいて設定される。また、２番目判定動作完了フラグＦ＿ＤＯＮ２ｎｄは、パージカットを伴う３つの判定動作及び触媒劣化判定動作がすべて完了したときに、「０」にリセットされる。
【０２０３】
上記ステップ２１１の答がＮＯ（Ｆ＿ＤＯＮ２ｎｄ＝０）のときには、そのまま本処理を終了する一方、ステップ２１１の答がＹＥＳのとき、すなわち、パージカットを伴う３つの判定動作のうち１番目及び２番目の判定動作が完了しているときには、第１順番フラグＦ＿ＯＲＤＥＲ１が「１」であるか否かを判別する（ステップ２１２）。
【０２０４】
この第１順番フラグＦ＿ＯＲＤＥＲ１は、１番目及び２番目の判定動作が前記順番Ａで完了していることを、すなわち、ＡＦバラツキ判定動作→センサ故障判定動作の順に完了していることを、「１」で表すものであり、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳ、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦ、及びＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲに基づいて設定される。また、第１順番フラグＦ＿ＯＲＤＥＲ１は、パージカットを伴う３つの判定動作及び触媒劣化判定動作がすべて完了したときに、「０」にリセットされる。
【０２０５】
上記ステップ２１２の答がＹＥＳ（Ｆ＿ＯＲＤＥＲ１＝１）のときには、ＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲが「１」であるか否かを判別する（ステップ２１３）。この答がＮＯ（Ｆ＿ＭＣＮＤＥＧＲ＝０）のとき、すなわち、ＡＦバラツキ判定動作→センサ故障判定動作の順に判定動作が完了しており、かつ、ＥＧＲ故障判定実行条件が成立していないときには、２番目の判定動作としてのセンサ故障判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ２０５を実行し、本処理を終了する。
【０２０６】
一方、上記ステップ２１３の答がＹＥＳ（Ｆ＿ＭＣＮＤＥＧＲ＝１）のとき、すなわち、ＡＦバラツキ判定動作→センサ故障判定動作の順に判定動作が完了しており、かつ、ＥＧＲ故障判定実行条件が成立しているときには、２番目の判定動作としてのセンサ故障判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ２０６を実行し、本処理を終了する。
【０２０７】
一方、上記ステップ２１２の答がＮＯ（Ｆ＿ＯＲＤＥＲ１＝０）のときには、第２順番フラグＦ＿ＯＲＤＥＲ２が「１」であるか否かを判別する（ステップ２１４）。この第２順番フラグＦ＿ＯＲＤＥＲ２は、１番目及び２番目の判定動作が前記順番Ｂで完了していることを、すなわち、センサ故障判定動作→ＥＧＲ故障判定動作の順に完了していることを、「１」で表すものであり、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳ、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦ、及びＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲに基づいて設定される。また、第２順番フラグＦ＿ＯＲＤＥＲ２は、パージカットを伴う３つの判定動作及び触媒劣化判定動作がすべて完了したときに、「０」にリセットされる。
【０２０８】
上記ステップ２１４の答がＹＥＳ（Ｆ＿ＯＲＤＥＲ２＝１）のときには、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳが「１」であるか否かを判別する（ステップ２１５）。この答がＮＯ（Ｆ＿ＭＣＮＤＤＩＳ＝０）のとき、すなわち、センサ故障判定動作→ＥＧＲ故障判定動作の順に判定動作が完了しており、かつ、ＡＦバラツキ判定実行条件が成立していないときには、２番目の判定動作としてのＥＧＲ故障判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ２０５を実行し、本処理を終了する。
【０２０９】
一方、上記ステップ２１５の答がＹＥＳ（Ｆ＿ＭＣＮＤＤＩＳ＝１）のとき、すなわち、センサ故障判定動作→ＥＧＲ故障判定動作の順に判定動作が完了しており、かつ、ＡＦバラツキ判定実行条件が成立しているときには、２番目の判定動作としてのＥＧＲ故障判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ２０６を実行し、本処理を終了する。
【０２１０】
一方、前記ステップ２１４の答がＮＯ（Ｆ＿ＯＲＤＥＲ２＝０）のときには、第３順番フラグＦ＿ＯＲＤＥＲ３が「１」であるか否かを判別する（ステップ２１６）。この第３順番フラグＦ＿ＯＲＤＥＲ３は、１番目及び２番目の判定動作が前記順番Ｃで完了していることを、すなわち、ＥＧＲ故障判定動作→センサ故障判定動作の順に完了していることを、「１」で表すものであり、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳ、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦ、及びＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲに基づいて設定される。また、第３順番フラグＦ＿ＯＲＤＥＲ３は、パージカットを伴う３つの判定動作及び触媒劣化判定動作がすべて完了したときに、「０」にリセットされる。
【０２１１】
上記ステップ２１６の答がＹＥＳ（Ｆ＿ＯＲＤＥＲ３＝１）のとき、すなわち、判定動作がＥＧＲ故障判定動作→センサ故障判定動作の順に完了しているときには、前記ステップ２１５以降を実行する。これにより、ＥＧＲ故障判定動作→センサ故障判定動作の順に判定動作が完了しており、かつ、ＡＦバラツキ判定実行条件が成立していないときには、センサ故障判定動作の完了に続く触媒劣化判定動作の実行が許可される一方、ＡＦバラツキ判定実行条件が成立しているときには、センサ故障判定動作の完了に続く触媒劣化判定動作の実行が禁止される。
【０２１２】
一方、ステップ２１６の答がＮＯ（Ｆ＿ＯＲＤＥＲ３＝０）のとき、すなわち、１番目及び２番目の判定動作が前記順番Ｄ（ＥＧＲ故障判定動作→ＡＦバラツキ判定動作）で完了しているときには、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦが「１」であるか否かを判別する（ステップ２１７）。この答がＮＯ（Ｆ＿ＭＣＮＤＬＡＦ＝０）のとき、すなわち、ＥＧＲ故障判定動作→ＡＦバラツキ判定動作の順に判定動作が完了しており、かつ、センサ故障判定実行条件が成立していないときには、２番目の判定動作としてのＡＦバラツキ判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ２０５を実行し、本処理を終了する。
【０２１３】
一方、上記ステップ２１７の答がＹＥＳ（Ｆ＿ＭＣＮＤＬＡＦ＝１）のとき、すなわち、ＥＧＲ故障判定動作→ＡＦバラツキ判定動作の順に判定動作が完了しており、かつ、センサ故障判定実行条件が成立しているときには、２番目の判定動作としてのＡＦバラツキ判定動作の完了に続く触媒劣化判定動作の実行を禁止するために、前記ステップ２０６を実行し、本処理を終了する。
【０２１４】
一方、前記ステップ２０１の答がＹＥＳ（Ｆ＿ＤＯＮ３ｒｄ＝１）で、パージカットを伴う３つの判定動作がすべて完了しているときには、３番目の判定動作の完了に続く触媒劣化判定動作の実行を許可するために、前記ステップ２０５を実行し、本処理を終了する。
【０２１５】
図１３に戻り、前記ステップ１９０に続くステップ１９１では、図１４のステップ２０５又は２０６で設定された連続実行許可フラグＦ＿ＰＥＲＣＡＴが「１」であるか否かを判別する。このステップ１９１の答がＮＯ（Ｆ＿ＰＥＲＣＡＴ＝０）のとき、すなわち、１番目又は２番目の判定動作の完了に続く触媒劣化判定動作の実行が禁止されているときには、前記ステップ１８４を実行し、本処理を終了する。
【０２１６】
一方、ステップ１９１の答がＹＥＳ（Ｆ＿ＰＥＲＣＡＴ＝１）で、１番目又は２番目の判定動作の完了に続く触媒劣化判定動作の実行が許可されているときには、ステップ１９２、１９３及び１９４においてそれぞれ、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳ、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦ、及びＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「１」であるか否かを判別する。
【０２１７】
これらのステップ１９２〜１９４の答のいずれかがＹＥＳで、ＡＦバラツキ判定動作、センサ故障判定動作及びＥＧＲ故障判定動作のいずれかが実行中であるときには、触媒劣化判定動作を保留するために、前記ステップ１８４を実行し、本処理を終了する。一方、ステップ１９２〜１９４の答がいずれもＮＯのときには、前記ステップ１８８を実行し、本処理を終了する。
【０２１８】
また、図１５は、図４のステップ８で実行される触媒劣化判定処理を示しており、本処理は、触媒劣化判定動作を実行するためのものである。
【０２１９】
まず、図１５のステップ２２１では、図１３のステップ１８４又は１８８で設定された触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴが「１」であるか否かを判別する。この答がＮＯのときには、そのまま本処理を終了する一方、ＹＥＳ（Ｆ＿ＭＩＤＣＡＴ＝１）のときには、続くステップ２２２以降において、触媒劣化判定動作を実行する。
【０２２０】
まず、ステップ２２２では、蒸発燃料処理装置３１による蒸発燃料の供給を許可するために、パージカットフラグＦ＿ＰＵＲＣＵＴを「０」に設定する。次いで、三元触媒２８の劣化を判定する（ステップ２２３）。具体的には、前記Ｏ２センサ６７の検出信号ＳＶＯ２が理論空燃比に相当する値になるように、燃料噴射量を制御するとともに、その制御中に、検出信号ＳＶＯ２の反転周期の平均値が所定値以下になったときに、三元触媒２８が劣化していると判定される。
【０２２１】
次いで、触媒劣化判定動作が完了したか否かを判別する（ステップ２２４）。この答がＮＯのときには、そのまま本処理を終了する一方、ＹＥＳのときには、触媒劣化判定動作が完了したことを表すために、触媒劣化判定動作完了フラグＦ＿ＤＯＮＣＡＴを「１」に設定する（ステップ２２５）。次いで、触媒劣化判定動作に関連する各種のフラグをリセットし（ステップ２２６）、本処理を終了する。すなわち、触媒劣化判定実行条件フラグＦ＿ＭＣＮＤＣＡＴ、連続実行許可フラグＦ＿ＰＥＲＣＡＴ及び触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴを「０」にリセットする。
【０２２２】
なお、図１３〜図１５に示す処理は、触媒劣化判定動作が上述したように完了した場合において、他の３つの判定動作（ＡＦバラツキ判定動作、センサ故障判定動作及びＥＧＲ故障判定動作）のいずれかが完了していないときには、その後、他の３つの判定動作がすべて完了するまで、その実行が停止される（図４のステップ７及び８がスキップされる）。また、触媒劣化判定動作を含む４つの判定動作が完了すると、触媒劣化判定動作完了フラグＦ＿ＤＯＮＣＡＴが「０」にリセットされるとともに、図１３〜図１５に示す処理の実行が再開される。
【０２２３】
次に、図１７〜図２２を参照しながら、第１実施形態による異常判定装置の動作例について説明する。図１７は、パージカットを伴う３つの判定動作が順番Ａ（ＡＦバラツキ判定動作→センサ故障判定動作→ＥＧＲ故障判定動作）で連続して実行された場合の動作例を示している。
【０２２４】
前述したように、ＡＦバラツキ判定動作の実行中、ＥＧＲカットフラグＦ＿ＥＧＲＣＵＴが「１」に設定され（図７のステップ６５）、それにより、ＥＧＲ制御弁開度ＯＥＶが全閉状態（＝値０）に制御される。また、センサ故障判定実行条件（条件ａ２〜ｃ２）には、ＥＧＲ装置５１に関する条件が含まれていないのに対し、ＥＧＲ故障判定実行条件には、ＥＧＲ故障判定動作の開始前にＥＧＲ装置５１による排ガスの還流が行われていたこと（あるいは排ガスの還流を実行可能であること）という条件ｂ３が含まれる。
【０２２５】
以上から、図１７に示すように、ＡＦバラツキ判定動作の実行中（時点ｔ１〜、Ｆ＿ＭＩＤＤＩＳ＝１）には、ＥＧＲ故障判定実行条件が成立せず、ＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲが「０」に保持される。また、図１２を参照して説明したように、パージカットを伴う３つの判定動作のうちの１番目の判定動作としてのＡＦバラツキ判定動作の実行中（ステップ１６１：ＹＥＳ、ステップ１６２：ＮＯ）、αβ運転点制御が実行される（ステップ１６３）。これにより、ＡＦバラツキ判定動作の実行中、エンジン３の運転点が、図１６に示す運転点判定マップにおける領域α及び領域βの互いに重複する領域に収まるように制御される。
【０２２６】
そして、ＡＦバラツキ判定動作の実行中、センサ故障判定実行条件が成立すると（時点ｔ２）、それに伴って、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦが「１」に設定される（図８のステップ８９）。センサ故障判定実行条件が成立しても、その成立から安定時間ＴＭＳＴＥが経過しない限り（図８のステップ９１：ＮＯ）、また、ＡＦバラツキ判定動作の実行中である限り（ステップ９６：ＹＥＳ）、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「０」に設定され（ステップ８７）、センサ故障判定動作が保留される（図９のステップ１０１：ＮＯ）。
【０２２７】
そして、１番目の判定動作としてのＡＦバラツキ判定動作が完了すると（時点ｔ３）、それに伴って、ＡＦバラツキ判定動作完了フラグＦ＿ＤＯＮＤＩＳが「１」に設定される（図７のステップ７６）とともに、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳ及びＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「０」にリセットされる（ステップ７７）。このＡＦバラツキ判定動作の完了時、センサ故障判定実行条件が成立しており（図８のステップ８１：ＹＥＳ）、かつ、その成立から安定時間ＴＭＳＴＥが経過しているときには（ステップ９１：ＹＥＳ）、センサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「１」に設定され（図８のステップ９６及び９７：ＮＯ、ステップ９８）、センサ故障判定動作の保留が解除される。その結果、２番目の判定動作として、センサ故障判定動作が開始される（図９のステップ１０１：ＹＥＳ）。
【０２２８】
また、この動作例では、ＡＦバラツキ判定動作の完了に伴って、ＥＧＲ故障判定実行条件が成立している（Ｆ＿ＭＣＮＤＥＧＲ←１）。しかし、ＥＧＲ故障判定条件判定処理（図１０）の実行内容から明らかなように、ＥＧＲ故障判定実行条件が成立しても、その成立から安定時間ＴＭＳＴＥが経過していないときには、ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「０」に保持され（図１０のステップ１３１：ＮＯ、ステップ１２７）、ＥＧＲ故障判定動作が保留される（図１１のステップ１４１：ＮＯ）。また、ＥＧＲ故障判定実行条件の成立から安定時間ＴＭＳＴＥが経過しても、センサ故障判定動作の実行中には、ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「０」に保持され（図１０のステップ１３６：ＹＥＳ、ステップ１２７）、この場合にも、ＥＧＲ故障判定動作が保留される。
【０２２９】
また、図１２を参照して説明したように、１番目の判定動作としてのＡＦバラツキ判定動作の完了後で、２番目の判定動作としてのセンサ故障判定動作の実行中（ステップ１６８及び１６９：ＹＥＳ）、βγ運転点制御が実行される（ステップ１６７）。これにより、センサ故障判定動作の実行中、エンジン３の運転点が、運転点判定マップにおける領域β及び領域γの互いに重複する領域に収まるように制御される。
【０２３０】
そして、２番目の判定動作としてのセンサ故障判定動作が完了すると（時点ｔ４）、それに伴い、センサ故障判定動作完了フラグＦ＿ＤＯＮＬＡＦが「１」に設定される（図９のステップ１１３）とともに、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦ及びセンサ故障判定動作中フラグＦ＿ＭＩＤＬＡＦが「０」にリセットされる（ステップ１１４）。このセンサ故障判定動作の完了時、ＥＧＲ故障判定実行条件が成立しており（図１０のステップ１２１：ＹＥＳ）、かつ、その成立から安定時間ＴＭＳＴＥが経過しているときには（ステップ１３１：ＹＥＳ）、ＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「１」に設定され（ステップ１３６：ＮＯ、ステップ１３７）、ＥＧＲ故障判定動作の保留が解除される。その結果、３番目の判定動作として、ＥＧＲ故障判定動作が開始される（図１１のステップ１４１：ＹＥＳ）。
【０２３１】
また、ＥＧＲ故障判定動作の実行中、判定用ＥＧＲ制御が実行され（ステップ１４４）、それにより、ＥＧＲ制御弁開度ＯＥＶは、一定周期で複数回（又は１回）、繰り返して開閉制御される。
【０２３２】
そして、３番目の判定動作としてのＥＧＲ故障判定動作が完了すると（時点ｔ５）、それに伴い、ＥＧＲ故障判定動作完了フラグＦ＿ＤＯＮＥＧＲが「１」に設定される（図１１のステップ１５４）とともに、ＥＧＲ故障判定実行条件成立フラグＦ＿ＭＣＮＤＥＧＲ及びＥＧＲ故障判定動作中フラグＦ＿ＭＩＤＥＧＲが「０」にリセットされる（ステップ１５５）。
【０２３３】
また、ＡＦバラツキ判定処理（図７）、センサ故障判定処理（図９）及びＥＧＲ故障判定処理（図１１）の実行内容から明らかなように、ＡＦバラツキ判定動作、センサ故障判定動作及びＥＧＲ故障判定動作の実行中、パージカットフラグＦ＿ＰＵＲＣＵＴが「１」に設定され、パージカットが実行される（ステップ６３、１０３、１４３）ことによって、パージ流量ＱＰＵは値０になっている。
【０２３４】
図５のステップ１５〜１７、図８のステップ８４〜８６及び図１０のステップ１２４〜１２６の実行内容から明らかなように、パージカットフラグＦ＿ＰＵＲＣＵＴは、パージカットを伴う３つの判定動作の１つが完了しても、次に実行される判定動作の実行条件が成立している限り、「０」に切り替えられず、「１」に保持される。これにより、図１７に示すように、１番目のＡＦバラツキ判定動作が開始されてから３番目のＥＧＲ故障判定動作が完了するまでの間、パージカットが継続され、パージ流量ＱＰＵが値０に保持される。また、図示しないものの、パージカットを伴う３つの判定動作が完了すると、パージカットフラグＦ＿ＰＵＲＣＵＴが「０」にリセットされ、その後、パージカットを伴う３つの判定動作が再度、実行されない限り、蒸発燃料処理装置３１が、エンジン３の運転状態（ＮＥなど）に応じて制御される。以上のパージカットフラグＦ＿ＰＵＲＣＵＴの設定は、第１実施形態の後述する他の動作例についても同様に当てはまる。
【０２３５】
また、図１８は、パージカットを伴う３つの判定動作が順番Ｂ（センサ故障判定動作→ＥＧＲ故障判定動作→ＡＦバラツキ判定動作）で連続して実行された場合の動作例を示している。
【０２３６】
前述したように、センサ故障判定動作の実行中、ＥＧＲ制御弁開度ＯＥＶは、エンジン３の運転状態に応じて制御される。このため、図１８に示す動作例では、センサ故障判定動作の実行中（時点ｔ６〜、Ｆ＿ＭＩＤＬＡＦ＝１）、ＥＧＲ制御弁開度ＯＥＶは値０よりも大きくなっている。
【０２３７】
また、図１２を参照して説明したように、１番目の判定動作としてのセンサ故障判定動作の実行中（ステップ１６５及び１６６：ＹＥＳ）、βγ運転点制御が実行される（ステップ１６７）。これにより、センサ故障判定動作の実行中、エンジン３の運転点が、運転点判定マップにおける領域β及び領域γの互いに重複する領域に収まるように制御されるものの、その前に、領域α及び領域βの互いに重複する領域に収まることがある。図１８に示す動作例では、センサ故障判定動作の実行中、ＡＦバラツキ判定実行条件がＥＧＲ故障判定実行条件よりも先に成立しており、それに伴って、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳが「１」に設定されている（時点ｔ７）。
【０２３８】
また、センサ故障判定動作の実行中、ＡＦバラツキ判定動作用の連続実行許可フラグＦ＿ＰＥＲＤＩＳは、ＥＧＲ故障判定実行条件が成立していない（Ｆ＿ＭＣＮＤＥＧＲ＝０）ときには「１」に設定され（図６のステップ４１及び４６：ＹＥＳ、ステップ４７：ＮＯ、ステップ４５）、ＥＧＲ故障判定実行条件が成立すると（時点ｔ８、Ｆ＿ＭＣＮＤＥＧＲ←１）、それに伴って、「０」に切り替えられる（ステップ４１、４６及び４７：ＹＥＳ、ステップ４８）。この場合、１番目の判定動作としてのセンサ故障判定動作の完了後、２番目の判定動作としてのＥＧＲ故障判定動作が完了するまで、連続実行許可フラグＦ＿ＰＥＲＤＩＳは「０」に保持される（ステップ４１：ＮＯ、ステップ４２：ＹＥＳ、ステップ４９：ＮＯ、ステップ４８）。
【０２３９】
以上の連続実行許可フラグＦ＿ＰＥＲＤＩＳの設定により、センサ故障判定動作の実行中にＥＧＲ故障判定実行条件が成立してからＥＧＲ故障判定動作が完了するまでの間、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「０」に設定される（図５のステップ２３：ＮＯ、ステップ１８）。その結果、１番目の判定動作としてのセンサ故障判定動作の完了に続くＡＦバラツキ判定動作の実行が禁止される（図７のステップ６１：ＮＯ）。
【０２４０】
また、図１７に示す動作例と同様、ＥＧＲ故障判定実行条件の成立から安定時間ＴＭＳＴＥが経過しても、センサ故障判定動作の実行中には、ＥＧＲ故障判定動作が保留される（Ｆ＿ＭＩＤＥＧＲ←０）。
【０２４１】
さらに、図１７に示す動作例と同様、センサ故障判定動作の完了時（図１８の時点９、Ｆ＿ＤＯＮＬＡＦ←１、Ｆ＿ＭＣＮＤＬＡＦ←０、Ｆ＿ＭＩＤＬＡＦ←０）、ＥＧＲ故障判定実行条件が成立しており、かつ、その成立から安定時間ＴＭＳＴＥが経過しているときには、ＥＧＲ故障判定動作の保留が解除される（Ｆ＿ＭＩＤＥＧＲ←１）。その結果、２番目の判定動作として、ＥＧＲ故障判定動作が開始される。
【０２４２】
また、図１２を参照して説明したように、２番目の判定動作としてのＥＧＲ故障判定動作の実行中（ステップ１７１：ＹＥＳ、ステップ１７２：ＮＯ、ステップ１７４：ＹＥＳ）、αγ運転点制御が実行される（ステップ１７５）。これにより、ＥＧＲ故障判定動作の実行中、エンジン３の運転点が、運転点判定マップにおける領域γ及び領域αの互いに重複する領域に収まるように制御される。
【０２４３】
さらに、２番目の判定動作としてのＥＧＲ故障判定動作の完了時（図１８の時点ｔ１０、Ｆ＿ＤＯＮＥＧＲ←１、Ｆ＿ＭＣＮＤＥＧＲ←０、Ｆ＿ＭＩＤＥＧＲ←０）、ＡＦバラツキ判定実行条件が成立しているときには（Ｆ＿ＭＣＮＤＤＩＳ＝１）、連続実行許可フラグＦ＿ＰＥＲＤＩＳが「１」に切り替えられ（図６のステップ４３及び５１：ＹＥＳ、ステップ４５）、ＡＦバラツキ判定動作の実行の禁止が解除される（図５のステップ２３：ＹＥＳ）。また、ＥＧＲ故障判定動作の完了時（時点ｔ１０）、ＡＦバラツキ判定実行条件の成立から安定時間ＴＭＳＴＥが経過しているため、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「１」に設定される（図５のステップ２５：ＹＥＳ、ステップ３０及び３１：ＮＯ、ステップ３２）。その結果、３番目の判定動作として、ＡＦバラツキ判定動作が開始される（図７のステップ６１：ＹＥＳ）。
【０２４４】
そして、３番目の判定動作としてのＡＦバラツキ判定動作が完了すると（図１８の時点ｔ１１）、それに伴い、図１７に示す動作例と同様、ＡＦバラツキ判定動作に関連する各種のフラグが設定される（Ｆ＿ＤＯＮＤＩＳ←１、Ｆ＿ＭＣＮＤＤＩＳ←０、Ｆ＿ＭＩＤＤＩＳ←０）。
【０２４５】
また、図１９は、パージカットを伴う３つの判定動作が順番Ｃ（ＥＧＲ故障判定動作→センサ故障判定動作→ＡＦバラツキ判定動作）で連続して実行された場合の動作例を示している。
【０２４６】
図１２を参照して説明したように、１番目の判定動作としてのＥＧＲ故障判定動作の実行中（ステップ１７１及び１７２：ＹＥＳ）、αβγ運転点制御が実行される（ステップ１７３）。これにより、ＥＧＲ故障判定動作の実行中、運転点判定マップにおける領域α及び領域βのうち、そのときのエンジン３の運転点に近い領域と領域γとの互いに重複する領域に、エンジン３の運転点が収まるように制御される。
【０２４７】
図１９に示す動作例では、１番目の判定動作としてのＥＧＲ故障判定動作の実行中（時点ｔ１２〜、Ｆ＿ＭＩＤＥＧＲ＝１）、まず、センサ故障判定実行条件が成立するのに伴って、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦが「１」に設定されており（時点ｔ１３）、その後、ＡＦバラツキ判定実行条件が成立するのに伴って、ＡＦバラツキ判定実行条件成立フラグＦ＿ＭＣＮＤＤＩＳが「１」に設定されている（時点ｔ１４）。
【０２４８】
図６を参照して説明したように、１番目の判定動作としてのＥＧＲ故障判定動作の実行中、センサ故障判定実行条件がＡＦバラツキ判定実行条件よりも先に成立したときには、連続実行許可フラグＦ＿ＰＥＲＤＩＳは「０」に設定される（ステップ４２、４９及び５０：ＹＥＳ、ステップ４８）。この場合、１番目の判定動作としてのＥＧＲ故障判定動作の完了後、２番目の判定動作としてのセンサ故障判定動作が完了するまで、連続実行許可フラグＦ＿ＰＥＲＤＩＳは「０」に保持される（ステップ４４及び５０：ＹＥＳ、ステップ４８、ステップ４１：ＹＥＳ、ステップ４６：ＮＯ）。
【０２４９】
以上の連続実行許可フラグＦ＿ＰＥＲＤＩＳの設定により、ＥＧＲ故障判定動作の実行中にセンサ故障判定実行条件が成立してからセンサ故障判定動作が完了するまでの間、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「０」に設定される（図５のステップ２３：ＮＯ、ステップ１８）。その結果、１番目の判定動作としてのＥＧＲ故障判定動作の完了に続くＡＦバラツキ判定動作の実行が禁止される（図７のステップ６１：ＮＯ）。
【０２５０】
また、図１７に示す動作例と同様、センサ故障判定実行条件の成立から安定時間ＴＭＳＴＥが経過しても、ＥＧＲ故障判定動作の実行中には、センサ故障判定動作が保留される（Ｆ＿ＭＩＤＬＡＦ←０）。
【０２５１】
さらに、１番目の判定動作としてのＥＧＲ故障判定動作の完了時（時点ｔ１５、Ｆ＿ＤＯＮＥＧＲ←１、Ｆ＿ＭＣＮＤＥＧＲ←０、Ｆ＿ＭＩＤＥＧＲ←０）、センサ故障判定実行条件の成立から安定時間ＴＭＳＴＥが経過しているときには、センサ故障判定動作の保留が解除される（Ｆ＿ＭＩＤＬＡＦ←１）。その結果、２番目の判定動作として、センサ故障判定動作が開始される。
【０２５２】
また、図１２を参照して説明したように、１番目の判定動作としてのＥＧＲ故障判定動作の完了後で、２番目の判定動作としてのセンサ故障判定動作の実行中には（ステップ１６５：ＹＥＳ、ステップ１６６：ＮＯ、ステップ１６８：ＹＥＳ、ステップ１６９：ＮＯ）、αβ運転点制御が実行される（ステップ１６３）。これにより、センサ故障判定動作の実行中、エンジン３の運転点が、運転点判定マップにおける領域β及び領域αの互いに重複する領域に収まるように制御される。
【０２５３】
さらに、２番目の判定動作としてのセンサ故障判定動作の完了時（図１９の時点ｔ１６、Ｆ＿ＤＯＮＬＡＦ←１、Ｆ＿ＭＣＮＤＬＡＦ←０、Ｆ＿ＭＩＤＬＡＦ←０）、ＡＦバラツキ判定実行条件が成立しているときには（Ｆ＿ＭＣＮＤＤＩＳ＝１）、図１８に示す動作例と同様、連続実行許可フラグＦ＿ＰＥＲＤＩＳが「１」に切り替えられ、ＡＦバラツキ判定動作の実行の禁止が解除される。また、センサ故障判定動作の完了時、ＡＦバラツキ判定実行条件の成立から安定時間ＴＭＳＴＥが経過しているため、図１８に示す動作例と同様、３番目の判定動作として、ＡＦバラツキ判定動作が開始される。
【０２５４】
そして、３番目の判定動作としてのＡＦバラツキ判定動作が完了すると（時点ｔ１７）、それに伴い、ＡＦバラツキ判定動作に関連する各種のフラグが設定される（Ｆ＿ＤＯＮＤＩＳ←１、Ｆ＿ＭＣＮＤＤＩＳ←０、Ｆ＿ＭＩＤＤＩＳ←０）。
【０２５５】
ちなみに、図１９に示す動作例とは異なり、１番目の判定動作としてのＥＧＲ故障判定動作の実行中、ＡＦバラツキ判定実行条件がセンサ故障判定実行条件よりも先に成立する場合がある。その場合には、ＥＧＲ故障判定動作の完了に続くＡＦバラツキ判定動作の実行が許可される（図６のステップ５０：ＮＯ、ステップ４５）。この場合、センサ故障判定動作用の連続実行許可フラグは設定されないものの、図４に示すように、ＡＦバラツキ判定条件判定処理→ＡＦバラツキ判定処理→センサ故障判定条件判定処理→センサ故障判定処理の順に実行されるので、実行条件が先に成立したＡＦバラツキ判定動作が、センサ故障判定動作よりも先に開始されることになる。
【０２５６】
また、図２０は、パージカットを伴う３つの判定動作が順番Ｄ（ＥＧＲ故障判定動作→ＡＦバラツキ判定動作→センサ故障判定動作）で連続して実行されるとともに、１番目の判定動作としてのＥＧＲ故障判定動作の実行中に、触媒劣化判定実行条件が成立した場合の動作例を示している。
【０２５７】
１番目の判定動作としてのＥＧＲ故障判定動作の実行中、図１９に示す動作例と同様、αβγ運転点制御が実行される。また、図２０に示すように、このＥＧＲ故障判定動作の実行中（時点ｔ１８〜、Ｆ＿ＭＩＤＥＧＲ＝１、Ｆ＿ＭＩＤ１ｓｔ＝１）、触媒劣化判定実行条件が成立すると（時点ｔ１９）、それに伴い、触媒劣化判定実行条件成立フラグＦ＿ＭＣＮＤＣＡＴが「１」に設定される（図１３のステップ１８６）。この時点では、ＡＦバラツキ判定実行条件及びセンサ故障判定実行条件がいずれも成立していない（Ｆ＿ＭＣＮＤＤＩＳ＝０かつＦ＿ＭＣＮＤＬＡＦ＝０）ため、触媒劣化判定動作用の連続実行許可フラグＦ＿ＰＥＲＣＡＴが「１」に設定される（図１４のステップ２０２：ＹＥＳ、ステップ２０３及び２０７：ＮＯ、ステップ２０９及び２１０：ＮＯ、ステップ２０５）。
【０２５８】
また、１番目の判定動作としてのＥＧＲ故障判定動作の実行中、ＡＦバラツキ判定実行条件が成立すると（時点ｔ２０、Ｆ＿ＭＣＮＤＤＩＳ←１）、連続実行許可フラグＦ＿ＰＥＲＣＡＴが、「０」に切り替えられる（図１４のステップ２０９：ＹＥＳ、ステップ２０６）とともに、ＡＦバラツキ判定実行条件が成立している限り、「０」に保持される。また、連続実行許可フラグＦ＿ＰＥＲＣＡＴは、１番目の判定動作が完了してから２番目の判定動作が完了するまで、１番目の判定動作の完了直前の値に保持される（ステップ２０２及び２１１：ＮＯ）。
【０２５９】
以上の連続実行許可フラグＦ＿ＰＥＲＣＡＴの設定により、ＥＧＲ故障判定動作の実行中にＡＦバラツキ判定実行条件が成立してからＡＦバラツキ判定動作が完了するまでの間、触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴが「０」に設定される（図１３のステップ１９１：ＮＯ、ステップ１８４）。その結果、１番目の判定動作としてのＥＧＲ故障判定動作の完了に続く触媒劣化判定動作の実行が禁止される（図１５のステップ２２１：ＮＯ）。この場合、第２連続実行許可処理（図１４）の実行内容から明らかなように、また、図２０に示すように、触媒劣化判定実行条件がＡＦバラツキ判定実行条件よりも先に成立した場合であっても、ＥＧＲ故障判定動作の完了に続く触媒劣化判定動作の実行が禁止される。また、ＥＧＲ故障判定動作の実行中、ＡＦバラツキ判定実行条件が成立しても、図１７などに示す動作例と同様、ＡＦバラツキ判定動作が保留される（Ｆ＿ＭＩＤＤＩＳ←０）。
【０２６０】
そして、１番目の判定動作としてのＥＧＲ故障判定動作が完了すると（時点ｔ２１、Ｆ＿ＭＩＤＥＧＲ←０、Ｆ＿ＭＩＤ１ｓｔ←０）、この動作例では、ＡＦバラツキ判定実行条件の成立から安定時間ＴＭＳＴＥが経過しているため、ＥＧＲ故障判定動作の完了に伴って、２番目の判定動作としてのＡＦバラツキ判定動作が開始される（Ｆ＿ＭＩＤＤＩＳ←１）。ＡＦバラツキ判定動作の実行中、センサ故障判定実行条件が成立すると（時点ｔ２２）、それに伴い、センサ故障判定実行条件成立フラグＦ＿ＭＣＮＤＬＡＦが「１」に設定される。
【０２６１】
また、ＡＦバラツキ判定動作の実行中、センサ故障判定実行条件が成立しても、図１７などに示す動作例と同様、センサ故障判定動作が保留される（Ｆ＿ＭＩＤＬＡＦ←０）。さらに、図１２を参照して説明したように、２番目の判定動作としてのＡＦバラツキ判定動作の実行中（ステップ１６１：ＹＥＳ、ステップ１６２：ＮＯ）、αβ運転点制御が実行される（ステップ１６３）。
【０２６２】
そして、２番目の判定動作としてのＡＦバラツキ判定動作が完了した場合において（時点ｔ２３、Ｆ＿ＭＣＮＤＤＩＳ←０、Ｆ＿ＭＩＤＤＩＳ←０、Ｆ＿ＤＯＮ２ｎｄ＝１）、センサ故障判定実行条件が成立しているとき（Ｆ＿ＭＣＮＤＬＡＦ＝１）には、連続実行許可フラグＦ＿ＰＥＲＣＡＴが継続して「０」に保持される（図１４のステップ２１１：ＹＥＳ、ステップ２１２、２１４及び２１６：ＮＯ、ステップ２１７：ＹＥＳ、ステップ２０６）。これにより、ＡＦバラツキ判定動作の完了に続く触媒劣化判定動作の実行も禁止される。また、ＡＦバラツキ判定動作の完了時（時点ｔ２３）、センサ故障判定実行条件の成立から安定時間ＴＭＳＴＥが経過しているため、３番目の判定動作としてのセンサ故障判定動作が開始される（Ｆ＿ＭＩＤＬＡＦ←１）。
【０２６３】
そして、触媒劣化判定実行条件が成立している状態で（Ｆ＿ＭＣＮＤＣＡＴ＝１）、３番目の判定動作としてのセンサ故障判定動作が完了し（Ｆ＿ＭＣＮＤＬＡＦ←０、Ｆ＿ＭＩＤＬＡＦ←０）、３番目判定動作完了フラグＦ＿ＤＯＮ３ｒｄが「１」に設定されると（時点ｔ２４）、それに伴い、連続実行許可フラグＦ＿ＰＥＲＣＡＴが「１」に切り替えられる（図１４のステップ２０１：ＹＥＳ、ステップ２０５）。これにより、センサ故障判定動作の完了に続く触媒劣化判定動作の実行の禁止が解除され（ステップ１９１：ＹＥＳ）、それに伴い、触媒劣化判定動作中フラグＦ＿ＭＩＤＣＡＴが「１」に設定され（ステップ１９２〜１９４：ＮＯ、ステップ１８８）、触媒劣化判定動作が開始される。
【０２６４】
なお、上述した図２０に示す動作例は、パージカットを伴う３つの判定動作が順番Ｄ（ＥＧＲ故障判定動作→ＡＦバラツキ判定動作→センサ故障判定動作）で実行された場合の例であるが、前述した第２連続実行許可処理の実行内容から明らかなように、順番Ａ〜Ｃのいずれで実行された場合にも、触媒劣化判定動作の実行が同様にして禁止される。
【０２６５】
また、図２１は、センサ故障判定動作がＡＦバラツキ判定動作に続いて実行された場合における第１及び第２待機タイマのタイマ値ｔＬＡＦ１、ｔＬＡＦ２の推移の一例を示している。
【０２６６】
図２１に示すように、ＡＦバラツキ判定動作の実行中（時点ｔ２５〜、Ｆ＿ＭＩＤＤＩＳ＝１）、センサ故障判定実行条件が成立すると（時点ｔ２６、Ｆ＿ＭＣＮＤＬＡＦ←１）、その時点から、安定時間ＴＭＳＴＥに設定された第１待機タイマのタイマ値ｔＬＡＦ１のカウントダウンが開始される。そして、センサ故障判定実行条件が成立してから、安定時間ＴＭＳＴＥが経過した後（時点ｔ２７〜、図８のステップ９１：ＹＥＳ）に、第２待機タイマのタイマ値ｔＬＡＦ２が、初期待機時間ＴＭＬＩＮＴ又は減少後待機時間ＴＭＬＤＥＣに設定される（ステップ９４、９５）。
【０２６７】
この場合、ＡＦバラツキ判定動作の実行中であり、パージカットフラグＦ＿ＰＵＲＣＵＴが「１」であるため、タイマ値ｔＬＡＦ２は、より短い減少後待機時間ＴＭＬＤＥＣに設定される。そして、ＡＦバラツキ判定動作が完了すると（時点ｔ２８、Ｆ＿ＭＩＤＤＩＳ←０）、それに伴い、センサ故障判定動作が開始される（Ｆ＿ＭＩＤＬＡＦ←１）とともに、タイマ値ｔＬＡＦ２のダウンカウントが開始される。
【０２６８】
ちなみに、図２１は、センサ故障判定動作がＡＦバラツキ判定動作に続いて実行された場合におけるタイマ値ｔＬＡＦ１、ｔＬＡＦ２の推移の一例を示しているが、パージカットを伴う３つの判定動作のうちの他の２つの組み合わせで順に連続して実行された場合にも、対応するタイマ値ｔＤＩＳ１、ｔＤＩＳ２、ｔＬＡＦ１、ｔＬＡＦ２、ｔＥＧＲ１、ｔＥＧＲ２が、同じように推移する。
【０２６９】
また、パージカットフラグＦ＿ＰＵＲＣＵＴは、エンジン３の始動時に「０」にリセットされるため、パージカットを伴う３つの判定動作のうちの１番目の判定動作が開始される際、パージカットフラグＦ＿ＰＵＲＣＵＴは、依然として「０」に設定されている。これにより、図５のステップ２６、図８のステップ９２及び図１０のステップ１３２の答がＮＯになる結果、この１番目の判定動作に対応する第２待機タイマのタイマ値ｔＤＩＳ２、ｔＬＡＦ２又はｔＥＧＲ２は、初期待機時間ＴＭＤＩＮＴ、ＴＭＬＩＮＴ又はＴＭＥＩＮＴに設定され（ステップ２８、９４、１３４）、そのまま１番目の判定動作が開始される。
【０２７０】
また、図２２（Ａ）は、比較例におけるパージ流量ＱＰＵの推移などを示しており、図２２（Ｂ）は、第１実施形態によりパージカットを伴う３つの判定動作が順に連続して実行された場合におけるパージ流量ＱＰＵの推移などを示している。この比較例では、第１実施形態と異なり、パージカットを伴う３つの判定動作の各々の終了から安定時間ＴＭＳＴＥが経過するのを待って、次の判定動作が開始され、パージカットを伴う３つの判定動作が順に連続して実行されない。また、この安定時間ＴＭＳＴＥが経過するまでの間、パージカットが解除され、蒸発燃料処理装置３１による蒸発燃料の供給が行われる。
【０２７１】
このため、図２２（Ａ）に示すように、比較例では、２番目及び３番目の判定動作の実行中、パージ流量ＱＰＵが値０に安定するまで、判定を保留しなければならず、その分、２番目及び３番目の判定動作に要する時間（以下、それぞれ「２番目判定動作時間」及び「３番目判定動作時間」という）ＴＭ２ｎｄＣ、ＴＭ３ｒｄＣが長くなる結果、パージカットを伴う３つの判定動作の全体で要する時間が長くなってしまう。
【０２７２】
これに対して、第１実施形態によれば、これまでに説明したように、パージカットを伴う３つの判定動作が順に連続して実行され、その場合に、１番目の判定動作の開始から３番目の判定動作の終了まで、パージカットが継続されることによって、パージ流量ＱＰＵが値０に保持される。これにより、図２２（Ｂ）に示すように、２番目及び３番目判定動作時間ＴＭ２ｎｄ、ＴＭ３ｒｄが、上述した動作例の場合よりも短くなる結果、パージカットを伴う３つの判定動作の全体で要する時間が短くなっている。それにより、パージカットの実行期間を短くできるので、図２２（Ｂ）に示すハッチングの分、より多くの蒸発燃料を吸気通路２１に供給することができる。
【０２７３】
また、第１実施形態における各種の要素と、本発明における各種の要素との対応関係は、次のとおりである。すなわち、第１実施形態におけるエンジン３、ＥＧＲ装置５１及びＬＡＦセンサ６６が、本発明における複数の機器に相当するとともに、本発明における第１又は第２機器に相当する。また、第１実施形態におけるＥＧＲ装置５１及びＬＡＦセンサ６６が、本発明における他の機器に相当し、第１実施形態における三元触媒２８が、本発明における複数の機器、他の機器及び第３機器に相当するとともに、第１実施形態における第１及び第２モータ４、５が、本発明における電気モータに相当する。さらに、第１実施形態におけるＥＣＵ２が、本発明における第１判定手段、第２判定手段、第３判定手段、禁止手段及び判定用パラメータ取得手段に相当する。
【０２７４】
以上のように、第１実施形態によれば、所定のＡＦバラツキ判定実行条件が成立しているときにＡＦバラツキ判定動作が、所定のセンサ故障判定実行条件が成立しているときにセンサ故障判定動作が、所定のＥＧＲ故障判定実行条件が成立しているときにＥＧＲ故障判定動作が、パージカット状態で実行される。また、所定の触媒劣化判定実行条件が成立しているときに、触媒劣化判定動作が、パージカットを条件とせずに実行される。
【０２７５】
さらに、図２０などを参照して説明したように、パージカットを伴う３つの判定動作のうちの１番目の判定動作の実行中、２番目の判定動作に対応する実行条件と、触媒劣化判定実行条件の両方が成立しているときに、２番目の判定動作を優先するために、１番目の判定動作の完了に続く触媒劣化判定動作の実行が禁止される。これにより、パージカットを条件とする１番目の判定動作の完了に続いて、同じくパージカットを条件とする２番目の判定動作が実行される。
【０２７６】
また、１番目の判定動作が完了した場合において、２番目の判定動作に対応する実行条件が成立しているときに、パージカットを継続したまま、２番目の判定動作が開始される。これにより、前述した従来の場合と異なり、１番目の判定動作が完了してから２番目の判定動作が開始されるまでの間に、蒸発燃料の供給が再開されることがないので、蒸発燃料の供給量がパージカットにより値０に安定するまで判定を保留する必要がなく、したがって、２番目の判定動作に対応する機器の異常（故障）を早期に判定することができる。これにより、パージカットを伴う３つの判定動作に要する時間を全体として短縮でき、それにより、当該判定動作の実行頻度を高めることができるとともに、蒸発燃料処理装置３１による蒸発燃料の処理能力を向上させることができる。
【０２７７】
さらに、ＡＦバラツキ判定動作、センサ故障判定動作及びＥＧＲ故障判定動作の実行条件として、互いに異なるＡＦバラツキ判定実行条件、センサ故障判定実行条件及びＥＧＲ故障判定実行条件がそれぞれ設定されている。ＡＦバラツキ判定動作には判定用空燃比制御及びＥＧＲ停止制御が含まれており、センサ故障判定動作には判定用噴射制御及び通常のＥＧＲ制御が、ＥＧＲ故障判定動作には空燃比Ｆ／Ｂ制御及び判定用ＥＧＲ制御が、それぞれ含まれている。このように、パージカットを伴う３つの判定動作には、エンジン３を制御するための制御動作がそれぞれ含まれている。
【０２７８】
前述したように、ＥＧＲ故障判定実行条件には、ＥＧＲ故障判定動作の開始前にＥＧＲ装置５１による排ガスの還流が行われていたこと（あるいは排ガスの還流を実行可能であること）という条件ｂ３が含まれており（図１０のステップ１２１）、ＡＦバラツキ判定動作の実行中には、ＥＧＲ装置５１による排ガスの還流が停止される（図７のステップ６５）。このため、パージカットを伴う３つの判定動作のうちの１番目の判定動作としてのセンサ故障判定動作の実行中、ＡＦバラツキ判定実行条件及びＥＧＲ故障判定実行条件がいずれも成立しているときに、センサ故障判定動作の完了に続いてＡＦバラツキ判定動作を実行すると、当該ＡＦバラツキ判定動作の実行中に、ＥＧＲ故障判定実行条件が成立せず、その結果、ＡＦバラツキ判定動作の完了に続いてＥＧＲ故障判定動作を実行できなくなってしまう。
【０２７９】
一方、ＥＧＲ故障判定動作の実行中、ＥＧＲ制御弁開度ＯＥＶが一定周期で複数回、繰り返して開閉制御され、それにより、ＥＧＲ装置５１による排ガスの還流と還流停止が繰り返されるのに対し、ＡＦバラツキ判定実行条件には、排ガスの還流に関する条件が含まれていない。このため、１番目の判定動作としてのセンサ故障判定動作の実行中、ＡＦバラツキ判定実行条件及びＥＧＲ故障判定実行条件がいずれも成立しているときに、センサ故障判定動作の完了に続いてＥＧＲ故障判定動作を実行すれば、当該ＥＧＲ故障判定動作の実行中に、ＡＦバラツキ判定実行条件を成立させることができ、それにより、ＥＧＲ故障判定動作の完了に続いてＡＦバラツキ判定動作を実行することができる。
【０２８０】
上述したＥＧＲ故障判定実行条件及びＡＦバラツキ判定実行条件ならびにＥＧＲ故障判定動作及びＡＦバラツキ判定動作の関係に基づき、１番目の判定動作としてのセンサ故障判定動作の実行中、ＡＦバラツキ判定実行条件及びＥＧＲ故障判定実行条件がいずれも成立しているときに、センサ故障判定動作の完了に続くＡＦバラツキ判定動作の実行が禁止される（図１８参照）。これにより、センサ故障判定動作の完了に続いて異常を判定する機器として、ＥＧＲ装置５１が選択される結果、ＥＧＲ故障判定動作及びＡＦバラツキ判定動作を順に連続して実行できるので、ＥＧＲ故障判定動作及びＡＦバラツキ判定動作に要する時間を全体として短縮することができる。  
【０２８１】
さらに、ＡＦバラツキ判定動作が開始されてから初期待機時間ＴＭＤＩＮＴ又は減少後待機時間ＴＭＤＤＥＣが経過した後に、ＡＦバラツキが、算出されたＡＦバラツキ判定パラメータＪＵＤＤＩＳに基づいて判定される。また、センサ故障判定動作が開始されてから初期待機時間ＴＭＬＩＮＴ又は減少後待機時間ＴＭＬＤＥＣが経過した後に、ＬＡＦセンサ６６の故障が、算出された積算値ＬＡＦＤＬＹＰに基づいて判定される。さらに、ＥＧＲ故障判定動作が開始されてから初期待機時間ＴＭＥＩＮＴ又は減少後待機時間ＴＭＥＤＥＣが経過した後に、ＥＧＲ装置５１の故障が、算出された積算値ＲＴ８０ＡＸに基づいて判定される。
【０２８２】
また、図２１を参照して説明したように、１番目の判定動作の完了に続いて２番目の判定動作を実行するときに、より短い減少後待機時間ＴＭＤＤＥＣ、ＴＭＬＤＥＣ、ＴＭＥＤＥＣを用いることによって、待機時間を減少させるので、前述した効果、すなわち、パージカットを伴う３つの判定動作に要する時間を全体として短縮できるという効果を、有効に得ることができる。
【０２８３】
さらに、ＡＦバラツキ判定実行条件、センサ故障判定実行条件及びＥＧＲ故障判定実行条件は、互いに異なっており、各実行条件にはエンジン回転数ＮＥ及び吸入空気量ＧＡＩＲに関する所定のエンジン運転条件が含まれている（条件ａ１、ｂ１、ｃ１）。また、図１２を参照して説明したように、１番目の判定動作の実行中に、１番目の判定動作に対応するエンジン運転条件に加え、２番目の判定動作に対応するエンジン運転条件が成立するように、エンジン３が制御される。したがって、１番目の判定動作の完了に続いて２番目の判定動作が実行される可能性を高めることができ、ひいては、前述した効果、すなわち、パージカットを伴う３つの判定動作に要する時間を全体として短縮できるという効果を、より有効に得ることができる。
【０２８４】
また、上述したエンジン３の制御中、エンジン３の動力が、運転者により要求される要求動力よりも小さいときには、その不足分に相当する電力がバッテリ８から第２モータ５に供給される。一方、エンジン３の動力が要求動力よりも大きいときには、第１モータ４で発電した電力のうち、その余剰分に相当する電力がバッテリ８に充電される。以上により、良好なドライバビリティを確保することができる。
【０２８５】
また、図２３は、上述したエンジン運転点制御処理の変形例の動作例を示している。同図において、Ｆ＿ＭＯＥ２ｎｄは、２番目部分実行条件成立フラグであり、２番目の判定動作に対応する実行条件のうち、エンジン３の運転点（ＮＥ、ＧＡＩＲ）以外のパラメータなどに関する前述した条件（例えば前記条件ｂ１〜ｅ１など、以下「２番目部分実行条件」という）が成立していることを「１」で表すものである。
【０２８６】
また、図２３において、ＮＥＬＯＷ１は、領域α〜γのうちの１番目の判定動作に対応する領域を規定するエンジン回転数ＮＥの低い側のしきい値（以下「第１回転数しきい値」という）である。ＮＥＬＯＷ２は、領域α〜γのうちの２番目の判定動作に対応する領域を規定するエンジン回転数ＮＥの低い側のしきい値（以下「第２回転数しきい値」という）である。さらに、太い二点鎖線は、変形例によるエンジン運転点制御処理を実行しなかった場合におけるエンジン回転数ＮＥの推移を示している。
【０２８７】
図２３に示すように、このエンジン運転点制御処理の変形例では、１番目の判定動作の実行中（時点ｔ２９〜、Ｆ＿ＭＩＤ１ｓｔ＝１）、第１実施形態と異なり、スロットル弁開度が、エンジン３の運転点が領域α〜γのうちの１番目の判定動作に対応する領域にのみ収まるように、制御される。これにより、エンジン回転数ＮＥが、第１回転数しきい値ＮＥＬＯＷ１よりも高く、かつ、第２回転数しきい値ＮＥＬＯＷ２よりも低い一定の状態で推移する。
【０２８８】
また、１番目の判定動作の実行中、２番目部分実行条件が成立し（時点ｔ３０、Ｆ＿ＭＯＥ２ｎｄ←１）、さらに、その状態で１番目の判定動作が完了したとき（時点ｔ３１、Ｆ＿ＭＯＥ２ｎｄ＝１、Ｆ＿ＭＩＤ１ｓｔ←０）に、スロットル弁開度が、エンジン３の運転点が２番目の判定動作に対応する領域に収まるように、制御される。これにより、エンジン回転数ＮＥが、第２回転数しきい値ＮＥＬＯＷ２よりも高く、かつ、一定の状態で推移する。
【０２８９】
さらに、パージカットフラグＦ＿ＰＵＲＣＵＴは、１番目の判定動作が完了しても、その際に、２番目部分実行条件が成立している（Ｆ＿ＭＯＥ２ｎｄ＝１）限り、「１」に保持される。
【０２９０】
次に、本発明の第２実施形態による異常判定装置について説明する。第２実施形態による異常判定装置は、第１実施形態と比較して、前述したエンジン運転点制御処理（図１２）に代えて、図２４に示す運転領域補正処理が実行される点のみが異なっている。この運転領域補正処理は、パージカットを伴う３つの判定動作のうちの１番目及び２番目の判定動作の実行中に、次に実行される判定動作の実行条件を成立しやすくするために、前述した図１６に示す運転点判定マップにおける領域α、領域β及び領域γが適宜、拡大補正するためのものであり、図４に示す処理と併行して、前記所定周期で繰り返し実行される。図２４において、図１２と同じ実行内容については、同じステップ番号を付している。以下、第１実施形態と異なる点を中心に説明する。
【０２９１】
図２４に示すように、前記ステップ１６２の答がＮＯ（Ｆ＿ＭＩＤ３ｒｄ＝０）のとき、すなわち、１番目又は２番目の判定動作としてのＡＦバラツキ判定動作の実行中であるときには、ＡＦバラツキ判定動作の完了に続いてセンサ故障判定動作が実行される可能性を高めるために、β拡大補正を実行し（ステップ２３１）、本処理を終了する。このβ拡大補正では、運転点判定マップにおける領域βが、エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲの両方について拡大するように補正される。図２５において、二点鎖線は拡大補正前の領域βを（図１６における一点鎖線で示された領域βと同じ）、実線は拡大補正後の領域βを、それぞれ示している。
【０２９２】
一方、ステップ１６２の答がＹＥＳ（Ｆ＿ＭＩＤ３ｒｄ＝１）のとき、すなわち、３番目の判定動作としてのＡＦバラツキ判定動作の実行中であるときには、そのまま本処理を終了する。
【０２９３】
前記ステップ１６６の答がＹＥＳ（Ｆ＿ＭＩＤ１ｓｔ＝１）のとき、すなわち、１番目の判定動作としてのセンサ故障判定動作の実行中であるときには、センサ故障判定動作の完了に続いてＥＧＲ故障判定動作が実行される可能性を高めるために、γ拡大補正を実行し（ステップ２３２）、本処理を終了する。このγ拡大補正では、運転点判定マップにおける領域γが、エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲの両方について拡大するように補正される。図２６において、二点鎖線は拡大補正前の領域γを（図１６における二点鎖線で示された領域γと同じ）、実線は拡大補正後の領域γを、それぞれ示している。
【０２９４】
また、前記ステップ１６８の答がＮＯ（Ｆ＿ＭＩｄ２ｎｄ＝０）のとき、すなわち、３番目の判定動作としてのセンサ故障判定動作の実行中であるときには、そのまま本処理を終了する。
【０２９５】
また、前記ステップ１６９の答がＹＥＳ（Ｆ＿ＤＯＮＤＩＳ＝１）のとき、すなわち、１番目の判定動作としてのＡＦバラツキ判定動作が完了し、かつ、２番目の判定動作としてのセンサ故障判定動作の実行中であるときには、上記ステップ２３２（γ拡大補正）を実行し、本処理を終了する。
【０２９６】
一方、ステップ１６９の答がＮＯ（Ｆ＿ＤＯＮＤＩＳ＝０）のとき、すなわち、１番目の判定動作としてのＥＧＲ故障判定動作が完了し、かつ、２番目の判定動作としてのセンサ故障判定動作の実行中であるときには、センサ故障判定動作の完了に続いてＡＦバラツキ判定動作が実行される可能性を高めるために、α拡大補正を実行し（ステップ２３３）、本処理を終了する。このα拡大補正では、運転点判定マップにおける領域αが、エンジン回転数ＮＥ及び吸入空気量ＧＡＩＲの両方について拡大するように補正される。図２７において、二点鎖線は拡大補正前の領域αを（図１６における実線で示された領域αと同じ）、実線は拡大補正後の領域αを、それぞれ示している。
【０２９７】
また、前記ステップ１７２の答がＹＥＳのとき、すなわち、１番目の判定動作としてのＥＧＲ故障判定動作の実行中であるときには、ＥＧＲ故障判定動作の完了に続いてＡＦバラツキ判定動作又はセンサ故障判定動作が実行される可能性を高めるために、αβ拡大補正を実行し（ステップ２３４）、本処理を終了する。このαβ拡大補正では、領域α及び領域βのうち、そのときのエンジン３の運転点に近い方が拡大補正される。また、そのときのエンジン３の運転点が領域γに加え、領域α及び／又は領域βに収まっているときには、両領域α、βのうちのエンジン３が収まっている領域が拡大補正される。その手法は、上記ステップ２３１及び２３３で説明した手法と同じである。
【０２９８】
また、前記ステップ１７４の答がＹＥＳ（Ｆ＿ＭＩＤ２ｎｄ＝１）のとき、すなわち、２番目の判定動作としてのＥＧＲ故障判定動作の実行中であるときには、前記ステップ２３３を実行し（α拡大補正を実行）、本処理を終了する。
【０２９９】
一方、ステップ１７４の答がＮＯのとき、すなわち、３番目の判定動作としてのＥＧＲ故障判定動作の実行中であるときには、そのまま本処理を終了する。
【０３００】
以上のように、第２実施形態によれば、パージカットを伴う３つの判定動作のうちの１番目の判定動作の実行中に、領域α、領域β及び領域γのうちの２番目の判定動作に対応する領域を拡大補正することによって、２番目の判定動作に対応する実行条件が緩和される。したがって、１番目及び２番目の判定動作が順に連続して実行される可能性を高めることができ、前述した効果、すなわち、パージカットを伴う３つの判定動作に要する時間を全体として短縮できるという効果を、より有効に得ることができる。
【０３０１】
なお、第２実施形態では、ＡＦバラツキ判定実行条件、センサ故障判定実行条件及びＥＧＲ故障判定実行条件に含まれるエンジン３の運転点（ＮＥ、ＧＡＩＲ）に関する条件ａ１、ａ２及びａ３を緩和しているが、ＡＦバラツキ判定実行条件、センサ故障判定実行条件及びＥＧＲ故障判定実行条件の各々に含まれる他の条件を緩和してもよいことはもちろんである。
【０３０２】
なお、本発明は、説明した第１及び第２実施形態（以下、総称して「実施形態」という）に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、本発明における複数の機器は、ＥＧＲ装置５１及びＬＡＦセンサ６６であるが、内燃機関に関連して設けられた他の適当な機器、例えばインジェクタ２６や、蒸発燃料処理装置３１などでもよい。また、実施形態では、複数の機器の数は、４つであるが、３つ又は５つ以上でもよい。
【０３０３】
さらに、実施形態では、パージカットを伴う３つの判定動作の順番が順番Ａ〜順番Ｄに制限されているが、各判定動作の実行条件と各判定動作における内燃機関の制御動作との関係から、パージカットを伴う３つの判定動作を任意の順番で連続して実行可能な場合には、実行条件が成立した順に、実行してもよいことはもちろんである。この場合、前述したエンジン運転点制御処理は、例えば次のようにして実行される。
【０３０４】
すなわち、パージカットを伴う３つの判定動作の各々の実行中、運転点判定マップで規定された複数の領域のうち、実行中の判定動作に対応する領域と、それ以外の領域で、かつ、そのときの内燃機関の運転点に最も近い領域との互いに重複する領域に、内燃機関の運転点が収まるように、スロットル弁開度が制御される。また、内燃機関の運転点が、実行中の判定動作に対応する領域と他の領域との互いに重複する領域に収まっているときには、その状態を保持するように、スロットル弁開度が制御される。
【０３０５】
また、上述したようにパージカットを伴う３つの判定動作を任意の順番で連続して実行する場合、運転領域補正処理は、例えば次のようにして実行される。すなわち、パージカットを伴う３つの判定動作の各々の実行中、運転点判定マップで規定された複数の領域のうち、実行中の判定動作に対応する領域以外の領域で、かつ、そのときの内燃機関の運転点に最も近い領域が拡大補正される。また、内燃機関の運転点が、実行中の判定動作に対応する領域と他の領域との互いに重複する領域に収まっているときには、この他の領域が拡大補正される。
【０３０６】
また、実施形態では、本発明における第２判定動作に含まれる内燃機関の制御動作は、ＥＧＲ停止制御（図７のステップ６５）と、判定用ＥＧＲ制御（図１１のステップ１４４）であるが、他の適当な制御動作でもよい。さらに、実施形態では、本発明における内燃機関として、車両Ｖ用のガソリンエンジンであるエンジン３を用いているが、他の適当な内燃機関、例えばディーゼルエンジンや、ＬＰＧエンジン、船舶用のエンジン、航空機用のエンジンなどを用いてもよい。
【０３０７】
また、実施形態は、エンジン３と前輪ＷＦの間を接続／遮断可能に構成され、第１モータ４がエンジン３に連結されるとともに、第２モータ５が前輪ＷＦに連結された車両Ｖに、本発明を適用した例であるが、本発明は、内燃機関が変速機を介して駆動輪に連結されるとともに、電気モータが変速機を介してあるいは変速機を介さずに駆動輪に連結された車両にも適用可能である。さらに、実施形態は、動力源としてエンジン３、第１及び第２電気モータ４、５を備えるハイブリッド式の車両Ｖに、本発明を適用した例であるが、本発明は、動力源として内燃機関のみを備える車両にも適用可能である。この場合、エンジン運転点制御処理を省略してもよい。以上の実施形態に関するバリエーションは、適宜、組み合わせて適用可能である。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【符号の説明】
【０３０８】
２  ＥＣＵ（第１判定手段、第２判定手段、第３判定手段、禁
止手段、判定用パラメータ取得手段）
３  エンジン（複数の機器、第１機器、第２機器）
４  第１モータ（電気モータ）
５  第２モータ（電気モータ）
２１  吸気通路（吸気系）
２８  三元触媒（複数の機器、他の機器、第３機器）
ＦＴ  燃料タンク
３１  蒸発燃料処理装置
５１  ＥＧＲ装置（複数の機器、他の機器、第１機器、第２機器)
６６  ＬＡＦセンサ（複数の機器、他の機器、第１機器、第２機
器）
ＪＵＤＤＩＳ  ＡＦバラツキ判定パラメータ（判定用パラメータ）
ＬＡＦＤＬＹＰ  積算値（判定用パラメータ）
ＲＴ８０ＡＸ  積算値（判定用パラメータ）
ＴＭＤＩＮＴ  初期待機時間（待機時間）
ＴＭＬＩＮＴ  初期待機時間（待機時間）
ＴＭＥＩＮＴ  初期待機時間（待機時間）
ＴＭＤＤＥＣ  減少後待機時間（待機時間）
ＴＭＬＤＥＣ  減少後待機時間（待機時間）
ＴＭＥＤＥＣ  減少後待機時間（待機時間）
【図１】
2015178048.tif 000003
【図２】
2015178048.tif 000004
【図３】
2015178048.tif 000005
【図４】
2015178048.tif 000006
【図５】
2015178048.tif 000007
【図６】
2015178048.tif 000008
【図７】
2015178048.tif 000009
【図８】
2015178048.tif 000010
【図９】
2015178048.tif 000011
【図１０】
2015178048.tif 000012
【図１１】
2015178048.tif 000013
【図１２】
2015178048.tif 000014
【図１３】
2015178048.tif 000015
【図１４】
2015178048.tif 000016
【図１５】
2015178048.tif 000017
【図１６】
2015178048.tif 000018
【図１７】
2015178048.tif 000019
【図１８】
2015178048.tif 000020
【図１９】
2015178048.tif 000021
【図２０】
2015178048.tif 000022
【図２１】
2015178048.tif 000023
【図２２】
2015178048.tif 000024
【図２３】
2015178048.tif 000025
【図２４】
2015178048.tif 000026
【図２５】
2015178048.tif 000027
【図２６】
2015178048.tif 000028
【図２７】
2015178048.tif 000029
【手続補正書】
【提出日】平成28年11月24日(2016.11.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２６
【補正方法】変更
【補正の内容】
【００２６】
【図１】本発明の第１実施形態による異常判定装置が適用された車両を概略的に示す図である。
【図２】車両に設けられた内燃機関などを概略的に示す図である。
【図３】異常判定装置のＥＣＵなどを示すブロック図である。
【図４】ＥＣＵによって実行される処理を示すフローチャートである。
【図５】図４に示す処理で実行されるＡＦバラツキ判定条件判定処理のサブルーチンを示すフローチャートである。
【図６】ＡＦバラツキ判定条件判定処理で実行される第１連続実行許可処理のサブルーチンを示すフローチャートである。
【図７】図４に示す処理で実行されるＡＦバラツキ判定処理のサブルーチンを示すフローチャートである。
【図８】図４に示す処理で実行されるセンサ故障判定条件判定処理のサブルーチンを示すフローチャートである。
【図９】図４に示す処理で実行されるセンサ故障判定処理のサブルーチンを示すフローチャートである。
【図１０】図４に示す処理で実行されるＥＧＲ故障判定条件判定処理のサブルーチンを示すフローチャートである。
【図１１】図４に示す処理で実行されるＥＧＲ故障判定処理のサブルーチンを示すフローチャートである。
【図１２】エンジン運転点制御処理を示すフローチャートである。
【図１３】図４に示す処理で実行される触媒劣化判定条件判定処理のサブルーチンを示すフローチャートである。
【図１４】触媒劣化判定条件判定処理で実行される第２連続実行許可処理のサブルーチンを示すフローチャートである。
【図１５】図４に示す処理で実行される触媒劣化判定処理のサブルーチンを示すフローチャートである。
【図１６】図５、図８及び図１０に示す処理で用いられる運転点判定マップを示す図である。
【図１７】異常判定装置の動作例を示すタイミングチャートである。
【図１８】図１７とは別の動作例を示すタイミングチャートである。
【図１９】図１７及び図１８とは別の動作例を示すタイミングチャートである。
【図２０】図１７〜図１９とは別の動作例を示すタイミングチャートである。
【図２１】第１及び第２待機タイマのタイマ値などの推移の一例を示すタイミングチャートである。
【図２２】（Ａ）比較例とともに、（Ｂ）第１実施形態による異常判定装置における判定動作の実行中におけるパージ流量などの推移の一例を示す図である。
【図２３】第１実施形態の変形例の動作例を示すタイミングチャートである。
【図２４】本発明の第２実施形態による異常判定装置で実行される運転領域補正処理を示すフローチャートである。
【図２５】拡大補正前の領域β（二点鎖線）と拡大補正後の領域β（実線）を示す図である。
【図２６】拡大補正前の領域γ（二点鎖線）と拡大補正後の領域γ（実線）を示す図である。
【図２７】拡大補正前の領域α（二点鎖線）と拡大補正後の領域α（実線）を示す図である。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１４０
【補正方法】変更
【補正の内容】
【０１４０】
一方、ステップ１２４及び１２５の答のいずれかがＹＥＳのとき、すなわち、ＡＦバラツキ判定実行条件及びセンサ故障判定実行条件のいずれかが成立しているときには、上記ステップ１２６をスキップし、ステップ１２７に進む。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１７５
【補正方法】変更
【補正の内容】
【０１７５】
一方、前記ステップ１６８の答がＮＯ（Ｆ＿ＭＩＤ２ｎｄ＝０）のとき、すなわち、パージカットを伴う３つの判定動作のうちの３番目の判定動作として、センサ故障判定動作が実行中であるときには、β運転点制御を実行し（ステップ１７０）、本処理を終了する。このβ運転点制御では、駆動系の運転モードがＥＣＶＴ走行モードに設定されるとともに、エンジン３の運転点が運転点判定マップにおける領域βに収まるように、スロットル弁開度が制御される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１９４
【補正方法】変更
【補正の内容】
【０１９４】
上記ステップ２０１の答がＮＯ（Ｆ＿ＤＯＮ３ｒｄ＝０）で、パージカットを伴う３つの判定動作のいずれかが完了していないときには、１番目判定動作中フラグＦ＿ＭＩＤ１ｓｔが「１」であるか否かを判別する（ステップ２０２）。この場合、図１３の前記ステップ１８９の答がＹＥＳ（Ｆ＿ＳＴＡ１ｓｔ＝１）で、１番目の判定動作がすでに開始されているので、１番目の判定動作が完了するまでは、このステップ２０２の答はＹＥＳ（Ｆ＿ＭＩＤ１ｓｔ＝１）になる。ステップ２０２の答がＹＥＳで、パージカットを伴う３つの判定動作のうちの１番目の判定動作が実行中であるときには、ＡＦバラツキ判定動作中フラグＦ＿ＭＩＤＤＩＳが「１」であるか否かを判別する（ステップ２０３）。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０２９４
【補正方法】変更
【補正の内容】
【０２９４】
また、前記ステップ１６８の答がＮＯ（Ｆ＿ＭＩＤ２ｎｄ＝０）のとき、すなわち、３番目の判定動作としてのセンサ故障判定動作の実行中であるときには、そのまま本処理を終了する。
【国際調査報告】
2015178048.tif 000030
2015178048.tif 000031
2015178048.tif 000032
2015178048.tif 000033
2015178048.tif 000034