"内燃機関の排気通路に設けられ、前記内燃機関の排ガスの空燃比である排ガス空燃比を検出する空燃比センサの異常を判定する空燃比センサの異常判定装置であって、前記内燃機関の混合気の空燃比である混合気空燃比を、所定のリーン空燃比および当該リーン空燃比よりもリッチ側の所定のリッチ空燃比の一方に選択的に制御する空燃比制御手段と、当該空燃比制御手段によって、前記リッチ空燃比から前記リーン空燃比への前記混合気空燃比の切換、および前記リーン空燃比から前記リッチ空燃比への前記混合気空燃比の切換の少なくとも一方が行われた後に、当該切換により変化する前記空燃比センサの出力の変化量が所定変化量になってから再び当該所定変化量に戻るまでの期間を表す出力変化期間パラメータを算出する出力変化期間パラメータ算出手段と、当該算出された出力変化期間パラメータによって表される期間内に得られた前記空燃比センサの出力の変化量の極値である出力変化量極値を算出する出力変化量極値算出手段と、前記出力変化期間パラメータと前記出力変化量極値との関係に基づいて、前記空燃比センサの異常を判定する異常判定手段と、を備えることを特徴とする空燃比センサの異常判定装置。前記異常判定手段は、前記出力変化期間パラメータに対する前記出力変化量極値の比に基づいて、前記空燃比センサの異常を判定することを特徴とする、請求項1に記載の空燃比センサの異常判定装置。前記排気通路の前記空燃比センサよりも上流側には、排ガスを浄化するための触媒が設けられており、前記空燃比センサは、排ガス空燃比が混合気の理論空燃比に相当する理論排ガス空燃比の付近にあるときに、排ガス空燃比に対する出力の変化量が最大になる出力特性を有し、前記リーン空燃比は理論空燃比よりもリーン側であり、前記リッチ空燃比は理論空燃比よりもリッチ側であることを特徴とする、請求項1または2に記載の空燃比センサの異常判定装置。排ガスの流量の積算値である排ガス流量積算値を算出する排ガス流量積算値算出手段をさらに備え、前記空燃比制御手段は、前記内燃機関の運転中に当該内燃機関への燃料の供給を停止するフューエルカット運転を実行することによって、前記混合気空燃比を前記リーン空燃比に制御するとともに、前記フューエルカット運転の終了に伴って前記内燃機関に燃料を供給することによって、前記混合気空燃比を前記リッチ空燃比に制御し、前記異常判定手段は、前記フューエルカット運転が開始された以降の前記排ガス流量積算値が第1所定値になってから第2所定値に達するまでの第1判定期間、および、前記フューエルカット運転の終了に伴って前記燃料の供給が開始された以降の前記排ガス流量積算値が第3所定値になってから第4所定値に達するまでの第2判定期間の少なくとも一方の判定期間が経過するまでに、前記出力変化期間パラメータと前記出力変化量極値との関係に基づく前記空燃比センサの異常の判定が終了しているときには、当該判定結果に基づいて前記空燃比センサの異常を確定し、前記少なくとも一方の判定期間が経過した場合において、前記出力変化期間パラメータおよび前記出力変化量極値の算出が完了していないときには、前記空燃比センサが異常であるとの判定を確定することを特徴とする、請求項1ないし3のいずれかに記載の空燃比センサの異常判定装置。前記異常判定手段は、前記混合気空燃比の前記切換が行われた後に前記空燃比センサの出力の変化量が極値になったときに得られた前記空燃比センサの出力が所定範囲内にないときに、前記空燃比センサの異常判定を保留することを特徴とする、請求項1ないし4のいずれかに記載の空燃比センサの異常判定装置。前記異常判定手段は、前記空燃比センサの異常判定中に、複数の前記出力変化量極値が算出されたときに、当該空燃比センサの異常判定を保留することを特徴とする、請求項1ないし4のいずれかに記載の空燃比センサの異常判定装置。前記異常判定手段は、前記出力変化期間パラメータに基づいて算出した第1しきい値と前記出力変化量極値との比較結果、および、前記出力変化量極値に基づいて算出した第2しきい値と前記出力変化期間パラメータとの比較結果の一方に基づいて、前記空燃比センサの異常を判定することを特徴とする、請求項1に記載の空燃比センサの異常判定装置。上述したように、従来の異常判定装置では、出力変化量最大値が判定基準値よりも小さいときに空燃比センサが異常であると判定しているにすぎない。これに対して、燃料供給の復帰時、内燃機関の複数の気筒の間で空燃比のばらつきが発生している場合には、それにより、排ガスの空燃比自体が、不安定な状態で変化したり、その変化量が小さくなったりする。その場合には、従来の異常判定装置では、空燃比センサが正常であっても、出力変化量最大値が判定基準値を下回ることがあり、その結果、空燃比センサが異常であると誤判定するおそれがある。また、排ガスを浄化するための触媒の下流側に、空燃比センサが配置されているときには、触媒の酸素の吸蔵状態によっては、フューエルカット運転の終了により空燃比がリッチ側に変化しても、触媒における酸化反応によって、触媒の下流側では、排ガスの空燃比がリッチ側にすぐには変化せず、一時的に停滞する場合がある。その場合には、それにより実際の排ガスの空燃比が、その変化量が大きくなる前に停滞するため、空燃比センサが正常であっても、出力変化量最大値が判定基準値を下回り、空燃比センサが異常であると誤判定するおそれがある。本発明は、以上のような課題を解決するためになされたものであり、排ガスの空燃比の変化量が比較的小さい場合でも、空燃比センサの異常を精度良く判定することができる空燃比センサの異常判定装置を提供することを目的とする。上記の目的を達成するために、請求項1に係る発明は、内燃機関3の排気通路6に設けられ、内燃機関3の排ガスの空燃比である排ガス空燃比を検出する空燃比センサ実施形態における以下、本項において同じO2センサ24の異常を判定する空燃比センサの異常判定装置1であって、内燃機関3の混合気の空燃比である混合気空燃比を、所定のリーン空燃比およびリーン空燃比よりもリッチ側の所定のリッチ空燃比の一方に選択的に制御する空燃比制御手段ECU2と、空燃比制御手段によって、リッチ空燃比からリーン空燃比への混合気空燃比の切換、およびリーン空燃比からリッチ空燃比への混合気空燃比の切換の少なくとも一方が行われた後にステップ36:YES、ステップ117:YES、当該切換により変化する空燃比センサの出力の変化量出力変化量DSVO2が所定変化量第1所定変化量DVREFRL、第2所定変化量DVREFLRになってから再び所定変化量に戻るまでの期間を表す出力変化期間パラメータ第1出力変化期間パラメータWDSVO2RL、第2出力変化期間パラメータWDSVO2LRを算出する出力変化期間パラメータ算出手段ECU2、ステップ68、148と、算出された出力変化期間パラメータによって表される期間内に得られた空燃比センサの出力の変化量の極値である出力変化量極値第1出力変化量極値HDSVO2RL、第2出力変化量極値HDSVO2LRを算出する出力変化量極値算出手段ECU2、ステップ54、134と、出力変化期間パラメータと出力変化量極値との関係第1判定用パラメータKJUDSVO2RL、第2判定用パラメータKJUDSVO2LRに基づいて、空燃比センサの異常を判定する異常判定手段ECU2、ステップ14~16、18、20、21、23、94~96、98、100、101、103、201、202、211、212と、を備えることを特徴とする。この構成によれば、排ガス空燃比を検出する空燃比センサの異常が、次のようにして判定される。すなわち、空燃比制御手段による所定のリッチ空燃比から所定のリーン空燃比への混合気空燃比の切換、およびリーン空燃比からリッチ空燃比への混合気空燃比の切換の少なくとも一方が行われた後に、この切換により空燃比センサの出力の変化量以下出力変化量というが所定変化量になってから再び所定変化量に戻るまでの期間以下出力変化期間というを表す出力変化期間パラメータが、出力変化期間パラメータ算出手段によって算出される。また、出力変化期間パラメータによって表される出力変化期間内に得られた出力変化量の極値である出力変化量極値が、出力変化量極値算出手段によって算出される。さらに、出力変化期間パラメータと出力変化量極値との関係に基づいて、空燃比センサの異常が異常判定手段により判定される。図19は、リッチ空燃比およびリーン空燃比を、理論空燃比よりもリッチ側およびリーン側にそれぞれ設定するとともに、リッチ空燃比からリーン空燃比に混合気空燃比を切り換えた場合における空燃比センサの出力および出力変化量の推移の一例を示している。同図において、VO2は空燃比センサの出力であり、DVO2およびDVREFはそれぞれ、出力変化量および所定変化量である。また、図19の実線は空燃比センサが正常な場合について、破線は空燃比センサが経年劣化などにより異常である場合について、それぞれ示している。さらに、HDVOKおよびHDVNGはそれぞれ、空燃比センサが正常な場合および異常な場合の出力変化量極値であり、WDVOKおよびWDVNGはそれぞれ、空燃比センサが正常な場合および異常な場合の出力変化期間である。この空燃比センサは、いわゆる二値型のものであり、排ガス空燃比が、混合気の理論空燃比に相当する理論排ガス空燃比を含む所定排ガス空燃比領域よりもリッチ側にあるときにその出力が最大になり、リーン側にあるときに出力VO2が最小になるとともに、排ガス空燃比が理論排ガス空燃比付近にあるときに、その出力変化量DVO2絶対値が最大になる出力特性を有している。図19に示すように、混合気空燃比がリーン空燃比に切り換えられると、それにより排ガス空燃比が変化するのに応じて、空燃比センサの出力VO2が変化する。空燃比センサが異常の場合には、正常な場合と比較して、その応答特性が低下しているため、上記の混合気空燃比の切換によって生じる空燃比センサの出力VO2の変化が緩やかになり、その出力変化量DVO2が小さくなるとともに、リッチ空燃比に対応する最大値から切換後のリーン空燃比に対応する最小値に安定するまでにかかる時間が長くなる。その結果、空燃比センサが異常の場合には、正常な場合と比較して、出力変化期間WDVNGが長くなるのに対し、出力変化量極値HDVNGが小さくなる。このことは、混合気空燃比がリーン空燃比に切り換えられた場合だけでなく、リッチ空燃比に切り換えられた場合にも、同様に当てはまる。また、空燃比センサとして、上述した二値型のものではなく、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲の混合気空燃比の領域において、排ガス空燃比をリニアに検出するタイプのセンサを用いた場合にも、同様に当てはまる。以上から、前述した構成によれば、出力変化期間と出力変化量極値との関係に基づいて、空燃比センサの異常を精度良く判定することができる。また、図20は、空燃比センサが正常な場合における空燃比センサの出力VO2および出力変化量DVO2の推移の一例を、二値型の空燃比センサを用い、リッチ空燃比およびリーン空燃比を図19の場合と同様に設定するとともに、リーン空燃比に混合気空燃比を切り換えた場合について示している。図20において、一点鎖線は、例えば内燃機関の複数の気筒の間での空燃比のばらつきや空燃比センサの上流側に設けられた触媒における酸素の吸蔵などの影響により、排ガス空燃比が、リーン空燃比に相当する排ガス空燃比以下リーン排ガス空燃比というにすぐには収束せずに、リーン排ガス空燃比よりもリッチ側の排ガス空燃比に短時間の間、停滞した場合以下、この停滞を排ガス空燃比停滞というについて示している。また、実線は、この排ガス空燃比停滞が発生していない場合について示している。さらに、図20において、WDV1およびWDV2はそれぞれ、排ガス空燃比停滞が発生していない場合および発生した場合の出力変化期間であり、HDV1およびHDV2はそれぞれ、排ガス空燃比停滞が発生していない場合および発生した場合の出力変化量極値である。図20に一点鎖線で示すように、空燃比センサが正常であり、かつ、排ガス空燃比停滞が発生した場合、空燃比センサの出力VO2は、一旦、最小値よりも大きな値で停滞し、その後、最小値に収束する。排ガス空燃比停滞が発生した場合、発生していない場合実線と比較して、この排ガス空燃比停滞により排ガス空燃比が実際に変化している期間が短くなるため、出力変化期間WDV2は短くなるとともに、出力変化量極値HDV2が小さくなる。この場合、図19に破線で示す空燃比センサが異常の場合と異なり、空燃比センサの応答特性は低下していないので、出力変化期間WDV2が長くなることはない。以上のように、出力変化期間と出力変化量極値は互いに密接に関係しており、空燃比センサが正常であれば、排ガス空燃比停滞が発生している場合でも、出力変化期間と出力変化量極値との間に、排ガス空燃比停滞が発生していない場合と同様の所定の関係が成立する。このことは、混合気空燃比がリーン空燃比に切り換えられた場合だけでなく、リッチ空燃比に切り換えられた場合にも、同様に当てはまる。また、空燃比センサとして、上述した二値型のものではなく、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲の混合気空燃比の領域において、排ガス空燃比をリニアに検出するタイプのセンサを用いた場合にも、同様に当てはまる。以上から、排ガス空燃比停滞の影響により排ガス空燃比の変化量が比較的小さい場合でも、出力変化期間パラメータと出力変化量極値との関係に基づいて、空燃比センサの異常を精度良く判定することができる。また、出力変化期間パラメータとして、出力変化量が所定変化量になってから再び所定変化量に戻るまでの期間を算出するので、ノイズなどの外乱などにより空燃比センサの出力が一時的に小さく変動したときの出力変化期間に基づいて異常の判定が行われるのを防止することができる。さらに、空燃比センサの応答特性は、リーン空燃比への混合気空燃比の切換時以下リーン空燃比切換時というと、リッチ空燃比への混合気空燃比の切換時以下リッチ空燃比切換時というとで、互いに異なる場合がある。このため、上述した出力変化期間パラメータと出力変化量極値との関係に基づく空燃比センサの異常判定を、リーン空燃比切換時およびリッチ空燃比切換時の双方において行うことにより、この双方における空燃比センサの応答特性の異常を精度良く判定することができる。なお、請求項1に係る発明において、出力変化量極値には、値0を基準とする出力変化量の極値と、出力変化期間を規定する所定変化量を基準とする出力変化量の極値が含まれる。請求項2に係る発明は、請求項1に記載の空燃比センサの異常判定装置1において、異常判定手段は、出力変化期間パラメータに対する出力変化量極値の比第1判定用パラメータKJUDSVO2RL、第2判定用パラメータKJUDSVO2LRに基づいて、空燃比センサの異常を判定するステップ14~16、18、20、21、23、94~96、98、100、101、103ことを特徴とする。この構成によれば、空燃比センサの異常の判定を、出力変化期間パラメータに対する出力変化量極値の比に基づいて行うので、出力変化期間と出力変化量極値との関係に直接的に基づいて適切に行うことができる。請求項3に係る発明は、請求項1または2に記載の空燃比センサの異常判定装置1において、排気通路6の空燃比センサよりも上流側には、排ガスを浄化するための触媒三元触媒7が設けられており、空燃比センサは、排ガス空燃比が混合気の理論空燃比に相当する理論排ガス空燃比の付近にあるときに、排ガス空燃比に対する出力の変化量が最大になる出力特性を有し、リーン空燃比は理論空燃比よりもリーン側であり、リッチ空燃比は理論空燃比よりもリッチ側であることを特徴とする。この構成によれば、排気通路の空燃比センサよりも上流側には、排ガス浄化用の触媒が設けられている。このため、リーン空燃比とリッチ空燃比との間の混合気空燃比の切換時、この触媒における酸素の吸蔵と酸化反応によって、前述した排ガス空燃比停滞が発生する場合がある。また、空燃比センサが、排ガス空燃比が混合気の理論空燃比に相当する排ガス空燃比である理論排ガス空燃比付近にあるときに、排ガス空燃比に対する出力の変化量が最大になる出力特性を有している。さらに、上述した出力特性を有する空燃比センサに対し、混合気空燃比を、理論空燃比よりもリーンなリーン空燃比とリッチなリッチ空燃比との間で切り換えるので、算出された出力変化期間パラメータと出力変化量極値との関係は、空燃比センサの異常の有無をより良好に表す。したがって、前述した効果、すなわち、排ガス空燃比停滞の影響により排ガス空燃比の変化量が小さい場合でも空燃比センサの異常を精度良く判定することができるという効果を、有効に得ることができる。また、排ガス空燃比が複数の気筒間でばらついている場合でも、排ガスが触媒において攪拌されるので、このばらつきに起因する排ガス空燃比の変動による異常判定への影響を抑制することができる。請求項4に係る発明は、請求項1ないし3のいずれかに記載の空燃比センサの異常判定装置1において、排ガスの流量の積算値である排ガス流量積算値第1排ガス流量積算値SUMSVRL、第2排ガス流量積算値SUMSVLRを算出する排ガス流量積算値算出手段ECU2、ステップ37、118をさらに備え、空燃比制御手段は、内燃機関3の運転中に内燃機関3への燃料の供給を停止するフューエルカット運転を実行することによって、混合気空燃比をリーン空燃比に制御するとともに、フューエルカット運転の終了に伴って内燃機関3に燃料を供給することによって、混合気空燃比をリッチ空燃比に制御し、異常判定手段は、フューエルカット運転が開始された以降の排ガス流量積算値が第1所定値SUMRL1になってステップ39:YESから第2所定値SUMRL2に達するステップ11:YESまでの第1判定期間、および、フューエルカット運転の終了に伴って燃料の供給が開始された以降の排ガス流量積算値が第3所定値第1所定値SUMLR1になってステップ120:YESから第4所定値第2所定値SUMLR2に達するステップ91:YESまでの第2判定期間の少なくとも一方の判定期間が経過するまでに、出力変化期間パラメータと出力変化量極値との関係に基づく空燃比センサの異常の判定が終了しているときステップ19:YES、ステップ99:YESには、当該判定結果に基づいて空燃比センサの異常を確定しステップ20、21、23、100、101、103、少なくとも一方の判定期間が経過した場合において、出力変化期間パラメータおよび出力変化量極値の算出が完了していないときステップ19:NO、ステップ99:NOには、空燃比センサが異常であるとの判定を確定するステップ23、103ことを特徴とする。この構成によれば、排ガスの流量の積算値である排ガス流量積算値が、排ガス流量積算値算出手段によって算出される。また、リーン空燃比とリッチ空燃比との間の混合気空燃比の切換が、フューエルカット運転と、フューエルカット運転終了後の燃料の供給とを利用して行われる。さらに、第1判定期間および第2判定期間の少なくとも一方の判定期間が経過するまでに、出力変化期間パラメータと出力変化量極値との関係に基づく空燃比センサの異常の判定が終了しているときには、その判定結果に基づいて空燃比センサの異常が確定される。この場合、第1判定期間が、フューエルカット運転が開始された以降の排ガス流量積算値が第1所定値になってから第2所定値に達するまでの期間に設定されており、第2判定期間が、フューエルカット運転の終了に伴って燃料の供給が開始された以降の排ガス流量積算値が第3所定値になってから第4所定値に達するまでの期間に設定されている。このように、フューエルカット運転の開始後すなわちリーン空燃比への混合気空燃比の切換開始後、排ガス流量の積算値が第1所定値に達した後に、そのときに得られた空燃比センサの異常の判定結果に基づいて、空燃比センサの異常が確定される。したがって、リーン空燃比への混合気空燃比の切換開始後、リーン空燃比の混合気空燃比が燃焼することによって生成された排ガスが空燃比センサに到達するまでのむだ時間を補償しながら、空燃比センサの異常を適切に判定することができる。同様に、フューエルカット運転の終了に伴う燃料の供給の開始後すなわちリッチ空燃比への混合気空燃比の切換開始後、排ガス流量の積算値が第3所定値に達した後に、そのときに得られた空燃比センサの異常の判定結果に基づいて、空燃比センサの異常が確定される。したがって、リッチ空燃比への混合気空燃比の切換開始後、リッチ空燃比の混合気が燃焼することによって生成された排ガスが空燃比センサに到達するまでのむだ時間を補償しながら、空燃比センサの異常を精度良く判定することができる。また、空燃比センサが異常の場合には、リーン空燃比またはリッチ空燃比への混合気空燃比の切換開始後、多量の排ガスが空燃比センサを通過しても、空燃比センサの出力がほとんど変化せず、その結果、出力変化期間パラメータおよび出力変化量極値の少なくとも一方の算出が完了しない。前述した構成によれば、少なくとも一方の判定期間が経過した場合において、出力変化期間パラメータおよび出力変化量極値の算出が完了していないときには、空燃比センサが異常であるとの判定が確定される。このように、リーン空燃比への混合気空燃比の切換開始後、排ガス流量の積算値が第2所定値を超えてもなお、すなわち、多量の排ガスが空燃比センサを通過してもなお、出力変化期間パラメータおよび出力変化量極値の算出が完了していないときに、空燃比センサが異常であるとの判定を確定するので、空燃比センサの異常を精度良く判定することができる。同様に、リッチ空燃比への混合気空燃比の切換開始後、排ガス流量の積算値が第4所定値を超えてもなお、すなわち、多量の排ガスが空燃比センサを通過してもなお、出力変化期間パラメータおよび出力変化量極値の算出が完了していないときに、空燃比センサが異常であるとの判定を確定するので、空燃比センサの異常を精度良く判定することができる。請求項5に係る発明は、請求項1ないし4のいずれかに記載の空燃比センサの異常判定装置1において、異常判定手段は、混合気空燃比の前記切換が行われた後に空燃比センサの出力の変化量が極値になったときに得られた空燃比センサの出力第1ピーク時出力SVO2PKRL、第2ピーク時出力SVO2PKLRが所定範囲内にないときステップ175:NO、ステップ195:NOに、空燃比センサの異常判定を保留するステップ174、163、194、183ことを特徴とする。リーン空燃比とリッチ空燃比との間で混合気空燃比を変化させた場合において、前述した排ガス空燃比停滞が発生しないときには、通常、排ガス空燃比が、リーン空燃比に対応する排ガス空燃比とリッチ空燃比に対応する排ガス空燃比との間の所定排ガス空燃比であるときに、排ガス空燃比の変化量は最大になる。このため、排ガス空燃比停滞が発生していない場合には、空燃比センサの出力で表される排ガス空燃比が所定排ガス空燃比であるときに、空燃比センサの出力変化量が極値になる。このことから明らかなように、混合気空燃比の切換後に空燃比センサの出力の変化量が極値になったときに得られた空燃比センサの出力で表される排ガス空燃比が、上記の所定排ガス空燃比でないときには、排ガス空燃比停滞が発生している可能性がある。さらに、この場合、排ガス空燃比が、所定排ガス空燃比を含む所定排ガス空燃比範囲内にないときには、混合気空燃比の切換直後に、排ガス空燃比がほとんど変化せずに停滞することで、排ガス空燃比の変化量が非常に小さくなる場合がある。その場合には、前述した出力変化期間パラメータと出力変化量極値との関係に基づいて異常を判定しても、空燃比センサが正常なときに異常と誤判定するおそれがある。以下、このように混合気空燃比の切換直後に発生する排ガス空燃比停滞を切換直後排ガス空燃比停滞という。上述した構成によれば、リーン空燃比およびリッチ空燃比の少なくとも一方への混合気空燃比の切換が行われた後、空燃比センサの出力変化量が極値になったときに得られた空燃比センサの出力が所定範囲内にないときに、空燃比センサの異常判定が保留される。したがって、この所定範囲を、上述した所定排ガス空燃比範囲に相当する範囲に設定することによって、切換直後排ガス空燃比停滞の発生中における空燃比センサの異常判定を保留できるので、上述した誤判定を防止することができる。請求項6に係る発明は、請求項1ないし4のいずれかに記載の空燃比センサの異常判定装置1において、異常判定手段は、空燃比センサの異常判定中に、複数の出力変化量極値が算出されたときステップ173:YES、ステップ193:YESに、空燃比センサの異常判定を保留するステップ174、163、194、183ことを特徴とする。請求項5に係る発明の説明で述べたように、切換直後排ガス空燃比停滞が発生した場合には、空燃比センサが正常なときに異常と誤判定するおそれがある。また、切換直後排ガス空燃比停滞が発生したときには、空燃比センサの出力が、停滞してから再度変化した後に安定するため、複数の出力変化量の極値が発生する。上述した構成によれば、空燃比センサの異常判定中に、複数の出力変化量極値が算出されたときに、すなわち、切換直後排ガス空燃比停滞が発生したときに、空燃比センサの異常判定を保留するので、上述した誤判定を防止することができる。請求項7に係る発明は、請求項1に記載の空燃比センサの異常判定装置1において、異常判定手段は、出力変化期間パラメータに基づいて算出した第1しきい値第1判定用しきい値HDREFRL、第2判定用しきい値HDREFLRと出力変化量極値との比較結果、および、出力変化量極値に基づいて算出した第2しきい値と出力変化期間パラメータとの比較結果の一方に基づいて、空燃比センサの異常を判定するステップ201、202、16、18、20、21、23、211、212、96、98、100、101、103ことを特徴とする。この構成によれば、出力変化期間パラメータに基づいて算出された第1しきい値と出力変化量極値との比較結果、および、出力変化量極値に基づいて算出された第2しきい値と出力変化期間パラメータとの比較結果の一方に基づいて、空燃比センサの異常が判定される。したがって、出力変化期間パラメータと出力変化量極値との関係に基づく空燃比センサの異常判定を、適切に行うことができる。以下、図面を参照しながら、本発明の好ましい実施形態を詳細に説明する。図1に示す内燃機関以下エンジンという3は、4つの気筒図示せずを有する4サイクルタイプのガソリンエンジンであり、車両図示せずに動力源として搭載されている。エンジン3のクランク軸図示せずには、クランク角センサ21が設けられている。クランク角センサ21は、クランク軸の回転に伴い、パルス信号であるCRK信号およびTDC信号を、制御装置1の後述するECU2に出力する。CRK信号は、所定のクランク角例えば30 ゚ごとに出力される。ECU2は、このCRK信号に基づき、エンジン3の回転数以下エンジン回転数というNEを算出する。TDC信号は、4つの気筒のいずれかのピストンが吸気行程開始時のTDC上死点付近にあることを表す信号であり、4気筒タイプの本例では、クランク角180 ゚ごとに出力される。また、エンジン3には、気筒判別センサ図示せずが設けられており、気筒判別センサは、気筒を判別するためのパルス信号である気筒判別信号をECU2に出力する。ECU2は、これらの気筒判別信号、CRK信号およびTDC信号に基づいて、クランク角度位置を気筒ごとに算出する。エンジン3の吸気通路4には、上流側から順に、エアフローセンサ22および燃料噴射弁5が設けられている。エアフローセンサ22は、吸気通路4を介して各気筒に吸入される吸入空気量QAを検出するとともに、その検出信号をECU2に出力する。燃料噴射弁5は、気筒ごとに、吸気ポートに臨むように設けられている1つのみ図示。燃料噴射弁5の開弁時間および開弁タイミングは、ECU2によって制御され、それにより、燃料噴射弁5による燃料の噴射動作が制御される。エンジン3にはさらに、燃焼室内の混合気に点火するための点火プラグ図示せずが、気筒ごとに設けられている。この点火プラグの点火動作は、ECU2によって制御される。また、エンジン3の排ガスを排出するための排気通路6には、上流側から順に、LAFセンサ23、三元触媒7およびO2センサ24が設けられている。LAFセンサ23は、ジルコニアや白金電極で構成されており、燃焼室で燃焼した混合気の空燃比の領域が理論空燃比よりもリッチな領域からリーンな領域までの広範囲な領域において、排ガスの空燃比以下排ガス空燃比というをリニアに検出するとともに、その検出信号をECU2に出力する。上記の三元触媒7は、排ガス中の酸素を吸蔵する酸素吸蔵能力を有しており、排ガス中のHCおよびCOを酸化するとともに、NOxを還元することによって、排ガスを浄化する。O2センサ24は、ジルコニアや白金電極で構成されており、三元触媒7のすぐ下流側の排ガス空燃比に基づく出力以下O2センサ出力というSVO2を、ECU2に出力する。このO2センサ出力SVO2は、排ガス空燃比が混合気の理論空燃比に相当する理論排ガス空燃比よりもリッチ側のときにはHiレベルになるとともに、リーン側のときにはLoレベルになり、理論排ガス空燃比の前後において急激に変化する。このように、排ガス空燃比に対するO2センサ出力SVO2の変化量は、排ガス空燃比が理論排ガス空燃比の付近にあるときに最大になる。ECU2にはさらに、アクセル開度センサ25から、車両のアクセルペダル図示せずの操作量であるアクセル開度APを表す検出信号が出力される。ECU2は、CPU、RAM、ROMおよびI/Oインターフェースいずれも図示せずなどからなるマイクロコンピュータで構成されている。ECU2は、前述した各種のセンサ21~25からの検出信号に基づき、ROMに記憶された制御プログラムに従い、エンジン3を制御するとともに、O2センサ24の異常を判定する。具体的には、ECU2は、算出されたエンジン回転数NEや要求トルクに応じ、リーン化運転やリッチ化運転を実行する。このリッチ化運転の実行中、燃料噴射弁5を介して、混合気の空燃比以下混合気空燃比というを理論空燃比よりもリッチ側の所定のリッチ空燃比に制御する。また、エンジン3の減速運転中に、エンジン3への燃料供給を停止するフューエルカット運転を実行する。さらに、フューエルカット運転の終了に伴ってCAT還元モードを実行する。このCAT還元モードは、フューエルカット運転の実行により三元触媒7に吸蔵された酸素を放出させ、還元するために、混合気空燃比をリッチ空燃比に制御する運転モードであり、フューエルカット運転が終了してから比較的長い所定時間例えば10secが経過するまで実行される。また、ECU2は、図2に示す第1異常判定処理を実行する。この第1異常判定処理では、混合気空燃比が上記のリッチ空燃比から理論空燃比よりもリーン側の所定のリーン空燃比に切り換えられたときにおけるO2センサ24の応答特性の異常が判定される。この場合におけるリッチ空燃比からリーン空燃比への混合気空燃比の切換として、リッチ化運転からフューエルカット運転へのエンジン3の運転モードの切換が利用される。また、本処理は、エンジン3の始動後、所定周期例えば10msec~50msecの範囲内の所定の周期で繰り返し実行される。まず、図2のステップ1S1と図示。以下同じでは、第1異常判定完了フラグF_DONERLが1であるか否かを判別する。この第1異常判定完了フラグF_DONERLは、本処理第1異常判処理による異常判定が完了したときに1にセットされるものであり、エンジン3の始動時に0にリセットされる。このステップ1の答がNOで、本処理による異常判定が完了していないときには、第1実行条件判定処理を実行するステップ2。この第1実行条件判定処理は、第1異常判定処理による異常判定を実行するための条件である第1実行条件が成立しているか否かを判定するものであり、図3に示すフローチャートに従って実行される。まず、図3のステップ31では、指定故障が発生しているか否かを判定する。この判定では、例えば次の条件a~cがいずれも成立しているときに、指定故障が発生していると判定される。a燃料系故障判定処理図示せずにより燃料噴射弁5などの燃料供給系が故障していると判定されていること。b点火系故障判定処理図示せずにより点火プラグが故障していると判定されていること。cO2センサ24以外の各種のセンサがセンサ故障判定処理により故障していると判定されていること。このステップ31の答がYESで、燃料噴射弁5などが故障しているときには、後述する第1排ガス流量積算値SUMSVRLを値0にリセットするステップ32。次いで、燃料噴射弁5などの故障によってO2センサ24の異常を精度良く判定できないため、第1実行条件が成立していないとみなし、そのことを表すために、第1実行条件成立フラグF_JUDRLを0に設定しステップ33、本処理を終了する。一方、ステップ31の答がNOのときには、エンジン3の暖機が完了しているか否かを判別するステップ34。この判別は、センサなどで検出されたエンジン3の冷却水の温度に基づいて行われる。このステップ34の答がNOで、エンジン3の暖機が完了していないときには、上記ステップ32を実行するとともに、エンジン3の運転状態が安定していないことによってO2センサ24の異常を精度良く判定できないおそれがあるため、第1実行条件が成立していないとして、上記ステップ33を実行し、本処理を終了する。一方、ステップ34の答がYESのときには、O2センサ24が活性済みであるか否かを判別するステップ35。この判別では、O2センサ出力SVO2が所定値よりも大きいときに、O2センサ24が活性済みであると判別される。このステップ35の答がNOで、O2センサ24が活性済みでないときには、それによりO2センサ24の異常を精度良く判定できないおそれがあるため、第1実行条件が成立していないとして、上記ステップ33を実行し、本処理を終了する。一方、ステップ35の答がYESのときには、フューエルカットフラグF_F/Cが1であるか否かを判別するステップ36。このフューエルカットフラグF_F/Cは、エンジン3の運転モードが前述したリッチ化運転からフューエルカット運転に切り換えられたときに、1にセットされ、その後、当該フューエルカット運転の実行中に、1に保持される。このステップ36の答がNOのときには、第1実行条件が成立していないとみなし、前記ステップ32および33を実行し、本処理を終了する。このように、リッチ化運転後のフューエルカット運転の実行中でないときに第1実行条件が成立していないとみなすのは、前述したように、第1異常判定処理では、リッチ空燃比からリーン空燃比への混合気空燃比の切換時におけるO2センサ24の応答特性の異常が判定され、この場合における混合気空燃比の切換として、リッチ化運転からフューエルカット運転への運転モードの切換を利用するためである。一方、ステップ36の答がYESのときには、そのときに得られている第1排ガス流量積算値SUMSVRLすなわちその前回値に、第1排ガス流量SVRLを加算することによって、第1排ガス流量積算値の今回値SUMSVRLを算出するステップ37。この第1排ガス流量SVRLは、今回の処理サイクルでエンジン3から排出された排ガスの流量に相当し、検出された吸入空気量QAに応じて算出される。また、第1排ガス流量積算値SUMSVRLは、フューエルカット運転の開始時から今回までに排出された排ガスの流量の積算値に相当する。その理由は次のとおりである。すなわち、ステップ31、34およびステップ35の判別結果は、エンジン3の始動後、最初のフューエルカット運転が実行される前に、得られる。それに加え、ステップ36の答がYESにならない限り、すなわちフューエルカット運転が実行されない限り、前記ステップ32の実行によって第1排ガス流量積算値SUMSVRLが値0に保持されるとともに、第1排ガス流量積算値SUMSVRLが、その前回値に今回の処理サイクルでエンジン3から排出された排ガスの流量第1排ガス流量SVRLを加算することによって算出されるためである。上記ステップ37に続くステップ38では、第1実行条件成立フラグF_JUDRLが1であるか否かを判別する。この答がNOF_JUDRL=0のときには、前記ステップ37で算出された第1排ガス流量積算値SUMSVRLが第1所定値SUMRL1以上であるか否かを判別するステップ39。このステップ39の答がNOSUMSVRL<SUMRL1で、フューエルカット運転の開始時からの排ガス流量の積算値が、第1所定値SUMRL1よりも小さいときには、フューエルカット運転の開始によりリッチ空燃比からリーン空燃比に切り換えられた混合気空燃比に対応する排ガスが、O2センサ24にまだ到達していないとみなす。また、それによりO2センサ24の異常を精度良く判定できないため、第1実行条件が成立していないとして、前記ステップ33を実行し、本処理を終了する。一方、ステップ39の答がYESSUMSVRL≧SUMRL1で、フューエルカット運転の開始時からの排ガス流量の積算値が第1所定値SUMRL1に達したときには、O2センサ出力SVO2が第1所定出力VREFRL以上であるか否かを判別するステップ40。このステップ40の答がNOSVO2<VREFRLのときには、O2センサ出力SVO2で表される排ガス空燃比がリーン側にあることから、リッチ空燃比からリーン空燃比への混合気空燃比の切換時におけるO2センサ24の異常を精度良く判定できないおそれがあるため、第1実行条件が成立していないとして、前記ステップ33を実行し、本処理を終了する。一方、ステップ40の答がYESで、O2センサ出力SVO2が第1所定出力VREFRL以上であるときには、第1実行条件が成立したとして、第1実行条件成立フラグF_JUDRLを1に設定しステップ41、本処理を終了する。また、このステップ41の実行によって、前記ステップ38の答がYESF_JUDRL=1になり、その場合には、そのまま本処理を終了する。図2に戻り、前記ステップ2に続くステップ3では、第1実行条件成立フラグF_JUDRLが1であるか否かを判別する。この答がNOF_JUDRL=0で、第1実行条件が成立していないときには、ステップ4~7においてそれぞれ、後述する第1開始時排ガス流量積算値算出済みフラグF_WDSVO2STRL、第1出力変化量極値算出済みフラグF_HDSVO2RL、第1出力変化期間パラメータ算出済みフラグF_WDSVO2RL、および第1仮判定済みフラグF_TMPJUDRLを0にリセットし、本処理を終了する。一方、上記ステップ3の答がYESF_JUDRL=1で、第1実行条件が成立しているときには、ステップ8において、そのときに得られている出力変化量DSVO2をその前回値DSVO2Zとしてシフトするとともに、出力変化量の今回値DSVO2を算出する。この出力変化量DSVO2は、O2センサ出力SVO2の変化量であり、今回の処理サイクルで検出されたO2センサ出力SVO2今回値から、前回の処理サイクルで検出されたO2センサ出力SVO2前回値を減算することによって算出する。ステップ8に続くステップ9では、図4に示すHDSVO2RL算出処理を実行する。前述したように、本処理を含む第1異常判定処理では、リッチ空燃比からリーン空燃比への混合気空燃比の切換時におけるO2センサ24の応答特性の異常が判定される。この場合、図5に示すように、O2センサ出力SVO2は、この混合気空燃比の切換によってHiレベルからLoレベルに変化し、それに伴い、O2センサ出力SVO2の変化量である出力変化量DSVO2は、値0から負値になり、その絶対値が増大し、極値となった後、その絶対値が減少し、再び値0に戻る。本処理では、出力変化量DSVO2が後述する第1所定変化量DVREFRLになってから再び第1所定変化量DVREFRLに戻るまでの期間内における出力変化量DSVO2の極値として、第1出力変化量極値HDSVO2RLが算出される。まず、図4のステップ51では、そのときに得られている第1出力変化量増大中フラグF_RNWHDSVO2RLを、その前回値F_RNWHDSVO2RLZとしてシフトする。この第1出力変化量増大中フラグF_RNWHDSVO2RLの詳細については、後述する。次いで、図2のステップ8で算出された出力変化量DSVO2が第1所定変化量DVREFRL以下であるか否かを判別するステップ52。この第1所定変化量DVREFRLは、出力変化量DSVO2が確実に変化しているか否かを判定できるような負の所定値に設定されている図5参照。このステップ52の答がNOのときには、そのまま本処理を終了する一方、YESで、出力変化量DSVO2が第1所定変化量DVREFRL以下であるときには、出力変化量の今回値DSVO2がその前回値DSVO2Z以下であるか否かを判別するステップ53。このステップ53の答がYESで、DSVO2≦DSVO2Zのとき、すなわち、負値である出力変化量DSVO2絶対値が増大しているときには、出力変化量DSVO2を第1出力変化量極値HDSVO2RLとして設定するステップ54とともに、出力変化量DSVO2絶対値の増大中であることを表すために、第1出力変化量増大中フラグF_RNWHDSVO2RLを1に設定しステップ55、本処理を終了する。なお、第1出力変化量増大中フラグF_RNWHDSVO2RLは、エンジン3の始動時に0にリセットされる。一方、ステップ53の答がNOで、出力変化量の今回値DSVO2がその前回値DSVO2Zよりも大きいときには、出力変化量DSVO2絶対値が減少側に変化しているとして、第1出力変化量増大中フラグF_RNWHDSVO2RLを0に設定するステップ56。次いで、前記ステップ51で設定された第1出力変化量増大中フラグの前回値F_RNWHDSVO2RLZが1であるか否かを判別するステップ57。このステップ57の答がYESF_RNWHDSVO2RLZ=1のときには、前回の処理サイクルにおける前記ステップ54の実行により第1出力変化量極値HDSVO2RLの算出設定が完了したとして、そのことを表すために、第1出力変化量極値算出済みフラグF_HDSVO2RLを1に設定しステップ58、本処理を終了する。一方、ステップ57の答がNOのとき、すなわち、出力変化量DSVO2が減少中のときには、そのまま本処理を終了する。上述したようにして第1出力変化量極値HDSVO2RLを算出するのは、次の理由による。すなわち、第1出力変化量極値HDSVO2RLは、出力変化量DSVO2がその前回値DSVO2Z以下である限りステップ53:YES、すなわち出力変化量DSVO2が増大している限り、ステップ54の実行によって、今回の出力変化量DSVO2に更新される。また、図5に示すように、それまで増大側に変化していた出力変化量DSVO2絶対値が減少側に変化し始めると図5の時点t1、それに伴い、第1出力変化量増大中フラグF_RNWHDSVO2RLが0にリセットされるステップ56。この時点t1では、第1出力変化量増大中フラグの前回値F_RNWHDSVO2RLZは1であり、その結果、ステップ57の答がYESになる。このことから明らかなように、ステップ57の答がYESになる直前の処理サイクルで得られた出力変化量DSVO2は、その極値に相当し、ステップ57の答がYESになった時点で、ステップ54による第1出力変化量極値HDSVO2RLの算出設定が完了するためである。なお、図5に示すように、出力変化量DSVO2は、その極値になった後、再び第1所定変化量DVREFRLに戻り、第1所定変化量DVREFRLよりも大きくなるステップ52:NO。以上のように、第1出力変化量極値HDSVO2RLは、出力変化量DSVO2が第1所定変化量DVREFRLになってから再び第1所定変化量DVREFRLに戻るまでの期間内に得られた出力変化量DSVO2の極値である。図2に戻り、前記ステップ9に続くステップ10では、図6に示すWDSVO2RL算出処理を実行する。本処理では、出力変化量DSVO2が第1所定変化量DVREFRLになってから再び第1所定変化量DVREFRLに戻るまでの期間図7参照を表す第1出力変化期間パラメータWDSVO2RLが算出される。まず、図6のステップ61では、第1開始時排ガス流量積算値算出済みフラグF_WDSVO2STRLが1であるか否かを判別する。この第1開始時排ガス流量積算値算出済みフラグF_WDSVO2STRLは、後述する第1開始時排ガス流量積算値SUMSVSTRLの算出が完了したときに、1に設定されるものであり、エンジン3の始動時に0にリセットされる。このステップ61の答がNOF_WDSVO2STRL=0で、第1開始時排ガス流量積算値SUMSVSTRLの算出が完了していないときには、出力変化量DSVO2が第1所定変化量DVREFRL以下であるか否かを判別するステップ62。この答がNOのときには、そのまま本処理を終了する。一方、上記ステップ62の答がYESで、出力変化量DSVO2が第1所定変化量DVREFRL以下になったときには、図3のステップ37で算出された第1排ガス流量積算値SUMSVRLを第1開始時排ガス流量積算値SUMSVSTRLとして設定するステップ63。次いで、第1開始時排ガス流量積算値SUMSVSTRLの算出設定が完了したとして、そのことを表すために、第1開始時排ガス流量積算値算出済みフラグF_WDSVO2STRLを1に設定しステップ64、本処理を終了する。第1開始時排ガス流量積算値SUMSVSTRLは、その算出手法から明らかなように、フューエルカット運転を開始してから、出力変化量DSVO2が第1所定変化量DVREFRLになるまでの排ガス流量の積算値に相当する図7参照。また、上記ステップ64の実行によって、前記ステップ61の答がYESF_WDSVO2STRL=1になり、その場合には、第1出力変化期間パラメータ算出済みフラグF_WDSVO2RLが1であるか否かを判別するステップ65。この第1出力変化期間パラメータ算出済みフラグF_WDSVO2RLは、第1出力変化期間パラメータWDSVO2RLの算出が完了したときに、1にセットされるものである。このステップ65の答がNOF_WDSVO2RL=0で、第1出力変化期間パラメータWDSVO2RLの算出が完了していないときには、出力変化量DSVO2が第1所定変化量DVREFRL以上であるか否かを判別するステップ66。この答がNOのときには、そのまま本処理を終了する。一方、ステップ66の答がYESで、出力変化量DSVO2が第1所定変化量DVREFRL以上になったときには、第1排ガス流量積算値SUMSVRLを第1終了時排ガス流量積算値SUMSVENDRLとして設定するステップ67。第1終了時排ガス流量積算値SUMSVENDRLは、その算出手法から明らかなように、フューエルカット運転を開始してから、出力変化量DSVO2が再び第1所定変化量DVREFRLに戻るまでの排ガス流量の積算値に相当する図7参照。次いで、上記ステップ67で設定された第1終了時排ガス流量積算値SUMSVENDRLから、ステップ63で設定された第1開始時排ガス流量積算値SUMSVSTRLを減算することによって、第1出力変化期間パラメータWDSVO2RLを算出するステップ68。次に、第1出力変化期間パラメータWDSVO2RLの算出が完了したとして、そのことを表すために、第1出力変化期間パラメータ算出済みフラグF_WDSVO2RLを1に設定しステップ69、本処理を終了する。また、このステップ69の実行によって、前記ステップ65の答がYESF_WDSVO2RL=1になり、その場合には、そのまま本処理を終了する。前述したように、第1開始時排ガス流量積算値SUMSVSTRLは、フューエルカット運転を開始してから、出力変化量DSVO2が第1所定変化量DVREFRLになるまでの排ガス流量の積算値に相当し、第1終了時排ガス流量積算値SUMSVENDRLは、フューエルカット運転を開始してから、出力変化量DSVO2が再び第1所定変化量DVREFRLに戻るまでの排ガス流量の積算値に相当する。したがって、図7に示すように、後者SUMSVENDRLから前者SUMSVSTRLを減算することで算出された第1出力変化期間パラメータWDSVO2RLは、出力変化量DSVO2が第1所定変化量DVREFRLになってから再び第1所定変化量DVREFRLに戻るまでの排ガス流量の積算値に相当し、出力変化量DSVO2が第1所定変化量DVREFRLになってから再び第1所定変化量DVREFRLに戻るまでの期間図7にTIRLで図示を良好に表す。図2に戻り、前記ステップ10に続くステップ11では、第1排ガス流量積算値SUMSVRLが第2所定値SUMRL2以上であるか否かを判別する。この答がNOSUMSVRL<SUMRL2のときには、図4のステップ58で設定された第1出力変化量極値算出済みフラグF_HDSVO2RLが1であるか否かを判別するステップ12。この答がNOで、第1出力変化量極値HDSVO2RLが算出されていないときには、前記ステップ7を実行し、本処理を終了する。一方、上記ステップ12の答がYESで、第1出力変化量極値HDSVO2RLが算出されているときには、図6のステップ69で設定された第1出力変化期間パラメータ算出済みフラグF_WDSVO2RLが1であるか否かを判別するステップ13。この答がNOで、第1出力変化期間パラメータWDSVO2RLが算出されていないときには、前記ステップ7を実行し、本処理を終了する。一方、上記ステップ13の答がYESのとき、すなわち、第1出力変化量極値HDSVO2RLおよび第1出力変化期間パラメータWDSVO2RLがいずれも算出されているときには、図6のステップ68で算出された第1出力変化期間パラメータWDSVO2RLに対する、図4のステップ54で設定された第1出力変化量極値の絶対値|HDSVO2RL|の比|HDSVO2RL|/WDSVO2RLを、第1判定用パラメータKJUDSVO2RLとして算出するステップ14。次いで、算出された第1判定用パラメータKJUDSVO2RLが第1判定値KREFRL以下であるか否かを判別するステップ15。この答がYESで、第1判定用パラメータKJUDSVO2RLが第1判定値KREFRL以下のときには、リーン空燃比への空燃比の切換時におけるO2センサ24の応答特性の異常以下第1異常というが発生していると仮判定し、そのことを表すために、第1仮異常フラグF_TMPNGRLを1にセットするステップ16。次いで、第1異常の仮判定結果が得られたことを表すために、第1仮判定済みフラグF_TMPJUDRLを1に設定しステップ17、本処理を終了する。一方、上記ステップ15の答がNOで、第1判定用パラメータKJUDSVO2RLが第1判定値KREFRLよりも大きいときには、第1異常が発生していないと仮判定し、そのことを表すために、第1仮異常フラグF_TMPNGRLを0に設定するステップ18。次いで、上記ステップ17を実行し、本処理を終了する。以上のようにO2センサ24の第1異常を仮判定するのは、図19および図20を用いて前述したように、O2センサ24が異常であるときには、第1出力変化量極値の絶対値|HDSVO2RL|が小さくなるとともに、第1出力変化期間パラメータWDSVO2RLが大きくなる結果、第1判定用パラメータKJUDSVO2RLすなわち第1出力変化期間パラメータWDSVO2RLに対する第1出力変化量極値の絶対値|HDSVO2RL|の比が、第1判定値KREFRL以下になるためである。なお、一旦、ステップ15、16および18による第1異常の仮判定の結果が得られると、その後、本処理が完了するまで前記ステップ1がYESになるまでの間に、第1出力変化量極値HDSVO2RLが再度、算出されても、ステップ12~18は実行されず、第1異常の仮判定の結果が変更されることはない。このため、本処理では、第2実施形態で後述するように複数の第1出力変化量極値HDSVO2RLが算出された場合に、そのうちの最先の第1出力変化量極値HDSVO2RLと、それに対応する第1出力変化期間パラメータWDSVO2RLとの関係に基づいて、O2センサ24の第1異常が仮判定される。一方、前記ステップ11の答がYESで、第1排ガス流量積算値SUMSVRLが第2所定値SUMRL2に達したとき、すなわち、リーン空燃比への混合気空燃比の切換の開始時から多量の排ガスがO2センサ24を通過しときには、前記ステップ7または17で設定された第1仮判定済みフラグF_TMPJUDRLが1であるか否かを判別するステップ19。この答がYESで、第1異常の仮判定結果が得られているときには、第1仮異常フラグF_TMPNGRLが1であるか否かを判別するステップ20。この答がNOF_TMPNGRL=0のとき、すなわち、リーン空燃比への混合気空燃比の切換の開始時から多量の排ガスがO2センサ24を通過しており、かつ、O2センサ24の第1異常が発生していないと仮判定されているときには、第1異常が発生していないとの判定を確定し、そのことを表すために、第1異常フラグF_NGRLを0に設定するステップ21。次いで、本処理による異常判定が完了したとして、そのことを表すために、第1異常判定完了フラグF_DONERLを1に設定しステップ22、本処理を終了する。一方、上記ステップ20の答がYESF_TMPNGRL=1のとき、すなわち、リーン空燃比への混合気空燃比の切換の開始時から多量の排ガスがO2センサ24を通過しており、かつ、O2センサ24の第1異常が発生していると仮判定されているときには、第1異常が発生しているとの判定を確定し、そのことを表すために、第1異常フラグF_NGRLを1に設定するステップ23。次いで、上記ステップ22を実行し、本処理を終了する。一方、前記ステップ19の答がNOで、第1仮判定済みフラグF_TMPJUDRLが0のとき、すなわち、リーン空燃比への混合気空燃比の切換の開始時から多量の排ガスがO2センサ24を通過しており、かつ、第1出力変化量極値HDSVO2RLおよび/または第1出力変化期間パラメータWDSVO2RLが算出されていないことで、第1異常の仮判定結果が得られていないときには、第1異常が発生しているとの判定を確定するとともに、上記ステップ23および22を実行し、本処理を終了する。また、ステップ22の実行により前記ステップ1の答がYESF_DONERL=1になり、その場合には、第1実行条件成立フラグF_JUDRLを0にリセットするステップ24とともに、前記ステップ4~7を実行し、本処理を終了する。次に、図8~図11を参照しながら、第2異常判定処理について説明する。この第2異常判定処理では、混合気空燃比がリーン空燃比からリッチ空燃比に切り換えられたときにおけるO2センサ24の応答特性の異常が、第1異常判定処理と同様、出力変化量DSVO2の変化期間と当該変化期間における極値との関係に基づいて判定される。この場合におけるリッチ空燃比への混合気空燃比の切換として、フューエルカット運転から前述したCAT還元モードへのエンジン3の運転モードの切換が利用される。また、第2異常判定処理は、第1異常判定処理と同様、エンジン3の始動後、所定周期例えば10msec~50msecの範囲内の所定の周期で繰り返し実行される。まず、図8のステップ81では、第2異常判定完了フラグF_DONELRが1であるか否かを判別する。この第2異常判定完了フラグF_DONERLは、本処理第2異常判処理による異常判定が完了したときに1にセットされるものであり、エンジン3の始動時に0にリセットされる。このステップ81の答がNOで、本処理による異常判定が完了していないときには、第2実行条件判定処理を実行するステップ82。この第2実行条件判定処理は、本処理による異常判定を実行するための条件である第2実行条件が成立しているか否かを判定するものであり、図9に示すフローチャートに従って実行される。まず、図9のステップ111、112および113においてそれぞれ、図3のステップ31、34および35と同様、指定故障が発生しているか、エンジン3の暖機が完了しているか否か、および、O2センサ24が活性済みであるか否かを判別する。このステップ111の答がYES、または、ステップ112若しくは113の答がNOのときには、第2排ガス流量積算値SUMSVLRを値0にリセットするステップ114とともに、第2実行条件が成立していないとして、第2実行条件成立フラグF_JUDLRを0にリセットしステップ115、本処理を終了する。一方、ステップ111の答がNOで指定故障が発生しておらず、ステップ112の答がYESでエンジン3の暖機が完了しており、且つ、ステップ113の答がYESでO2センサ24が活性化済みであるときには、ステップ116および117において、フューエルカットフラグF_F/Cが1であるか否か、および、CAT還元モード中であるか否かを、それぞれ判別する。このステップ116の答がYESでフューエルカット運転の実行中であるとき、または、ステップ117の答がNOでCAT還元モードの実行中でないときには、第2実行条件が成立していないとして、前記ステップ114および115を実行し、本処理を終了する。このようにフューエルカット運転の実行中であるとき、または、CAT還元モードの実行中でないときに、第2実行条件が成立していないとみなすのは、次の理由による。すなわち、前述したように、第2異常判定処理では、リーン空燃比からリッチ空燃比への混合気空燃比の切換時におけるO2センサ24の応答特性の異常が判定され、この場合における混合気空燃比の切換として、フューエルカット運転からCAT還元モードへの運転モードの切換を利用するためである。一方、ステップ116の答がNOで、かつ、ステップ117の答がYESのとき、すなわち、フューエルカット運転の実行中でなく、かつ、CAT還元モードの実行中であるときには、そのときに得られている第2排ガス流量積算値SUMSVLRすなわちその前回値に、第2排ガス流量SVLRを加算することによって、第2排ガス流量積算値の今回値SUMSVLRを算出するステップ118。この第2排ガス流量SVLRは、今回の処理サイクルでエンジン3から排出された排ガスの流量に相当し、検出された吸入空気量QAに応じて算出される。また、第2排ガス流量積算値SUMSVLRは、フューエルカット運転の終了に伴って開始されたCAT還元モードの開始時から今回までに排出された排ガスの流量の積算値に相当する。その理由は次のとおりである。すなわち、ステップ111~113の判別結果は、ステップ31、34およびステップ35と同様、エンジン3の始動後、最初のフューエルカット運転が実行される前に、すなわち、最初のフューエルカット運転の終了に伴ってCAT還元モードが実行される前に、得られる。それに加え、ステップ117の答がYESにならない限り、すなわち、CAT還元モードが開始されない限り、前記ステップ114の実行によって第2排ガス流量積算値SUMSVLRが値0に保持されるとともに、第2排ガス流量積算値SUMSVLRが、その前回値に今回の処理サイクルでエンジン3から排出された排ガスの流量第2排ガス流量SVLRを加算することによって算出されるためである。上記ステップ118に続くステップ119では、第2実行条件成立フラグF_JUDLRが1であるか否かを判別する。この答がNOF_JUDLR=0のときには、ステップ118で算出された第2排ガス流量積算値SUMSVLRが第1所定値SUMLR1以上であるか否かを判別するステップ120。このステップ120の答がNOSUMSVLR<SUMLR1で、CAT還元モードの開始時からの排ガス流量の積算値が、第1所定値SUMLR1よりも小さいときには、CAT還元モードの開始によりリーン空燃比からリッチ空燃比に切り換えられた混合気空燃比に対応する排ガスが、O2センサ24にまだ到達していないとみなす。また、それによりO2センサ24の異常を精度良く判定できないため、第2実行条件が成立していないとして、前記ステップ115を実行し、本処理を終了する。一方、ステップ120の答がYESSUMSVLR≧SUMLR1で、CAT還元モードの開始時からの排ガス流量の積算値が第1所定値SUMLR1に達したときには、O2センサ出力SVO2が第2所定出力VREFLR以下であるか否かを判別するステップ121。このステップ121の答がNOSVO2>VREFLRのときには、O2センサ出力SVO2で表される排ガス空燃比がリッチ側にあることから、リーン空燃比からリッチ空燃比への混合気空燃比の切換時におけるO2センサ24の異常を精度良く判定できないおそれがあるため、第2実行条件が成立していないとして、前記ステップ115を実行し、本処理を終了する。一方、ステップ121の答がYESで、O2センサ出力SVO2が第2所定出力VREFLR以下であるときには、第2実行条件が成立したとして、第2実行条件成立フラグF_JUDLRを1に設定しステップ122、本処理を終了する。また、このステップ122の実行によって、前記ステップ119の答がYESF_JUDLR=1になり、その場合には、そのまま本処理を終了する。図8に戻り、前記ステップ82に続くステップ83では、第2実行条件成立フラグF_JUDLRが1であるか否かを判別する。この答がNOF_JUDLR=0で、第2実行条件が成立していないときには、ステップ84~87においてそれぞれ、後述する第2開始時排ガス流量積算値算出済みフラグF_WDSVO2STLR、第2出力変化量極値算出済みフラグF_HDSVO2LR、第2出力変化期間パラメータ算出済みフラグF_WDSVO2LR、および第2仮判定済みフラグF_TMPJUDLRを0にリセットし、本処理を終了する。一方、上記ステップ83の答がYESF_JUDLR=1で、第2実行条件が成立しているときには、ステップ88において、図2のステップ8と同様、そのときに得られている出力変化量DSVO2をその前回値DSVO2Zとしてシフトするとともに、出力変化量の今回値DSVO2を算出する。ステップ88に続くステップ89では、図10に示すHDSVO2LR算出処理を実行する。前述したように、本処理を含む第2異常判定処理では、リーン空燃比からリッチ空燃比への混合気空燃比の切換時におけるO2センサ24の応答特性の異常が判定される。この場合、図5に示すリーン空燃比への混合気空燃比の切換時の場合とは逆に、O2センサ出力SVO2は、リッチ空燃比への混合気空燃比の切換によってLoレベルからHiレベルに変化し、それに伴い、O2センサ出力SVO2の変化量である出力変化量DSVO2は、値0から増大し、正の極値となった後に減少し、再び値0に戻る。本処理では、出力変化量DSVO2が後述する第2所定変化量DVREFLRになってから再び第2所定変化量DVREFLRに戻るまでの期間内における出力変化量DSVO2の極値として、第2出力変化量極値HDSVO2LRが算出される。まず、図10のステップ131では、そのときに得られている第2出力変化量増大中フラグF_RNWHDSVO2LRを、その前回値F_RNWHDSVO2LRZとしてシフトする。この第2出力変化量増大中フラグF_RNWHDSVO2LRの詳細については、後述する。次いで、図2のステップ88で算出された出力変化量DSVO2が第2所定変化量DVREFLR以上であるか否かを判別するステップ132。この第2所定変化量DVREFLRは、出力変化量DSVO2が確実に変化しているか否かを判定できるような正の所定値に設定されており、その絶対値が、前述した第1所定変化量DVREFRLと等しい。このステップ132の答がNOのときには、そのまま本処理を終了する一方、YESで、出力変化量DSVO2が第2所定変化量DVREFLR以上であるときには、出力変化量の今回値DSVO2がその前回値DSVO2Z以上であるか否かを判別するステップ133。このステップ133の答がYESで、DSVO2≧DSVO2Zのとき、すなわち、出力変化量DSVO2が増大しているときには、出力変化量DSVO2を第2出力変化量極値HDSVO2LRとして設定するステップ134とともに、出力変化量DSVO2の増大中であることを表すために、第2出力変化量増大中フラグF_RNWHDSVO2LRを1に設定しステップ135、本処理を終了する。なお、第2出力変化量増大中フラグF_RNWHDSVO2LRは、エンジン3の始動時に0にリセットされる。一方、ステップ133の答がNOで、出力変化量の今回値DSVO2がその前回値DSVO2Zよりも小さいときには、出力変化量DSVO2が減少側に変化しているとして、第2出力変化量増大中フラグF_RNWHDSVO2LRを0に設定するステップ136。次いで、前記ステップ131で設定された第1出力変化量増大中フラグの前回値F_RNWHDSVO2LRZが1であるか否かを判別するステップ137。このステップ137の答がYESF_RNWHDSVO2LRZ=1のときには、前回の処理サイクルにおける前記ステップ134の実行により第2出力変化量極値HDSVO2LRの算出設定が完了したとして、そのことを表すために、第2出力変化量極値算出済みフラグF_HDSVO2LRを1に設定しステップ138、本処理を終了する。一方、ステップ137の答がNOのとき、すなわち、出力変化量DSVO2が減少中のときには、そのまま本処理を終了する。上述したようにして第2出力変化量極値HDSVO2LRを算出するのは、第1出力変化量極値HDSVO2RLと同様の理由による。このため、その詳細な説明については省略する。図8に戻り、前記ステップ89に続くステップ90では、図11に示すWDSVO2LR算出処理を実行する。本処理では、出力変化量DSVO2が第2所定変化量DVREFLRになってから再び第2所定変化量DVREFLRに戻るまでの期間を表す第2出力変化期間パラメータWDSVO2LRが算出される。まず、図11のステップ141では、第2開始時排ガス流量積算値算出済みフラグF_WDSVO2STLRが1であるか否かを判別する。この第2開始時排ガス流量積算値算出済みフラグF_WDSVO2STLRは、後述する第2開始時排ガス流量積算値SUMSVSTLRの算出が完了したときに、1に設定されるものであり、エンジン3の始動時に0にリセットされる。このステップ141の答がNOF_WDSVO2STLR=0で、第2開始時排ガス流量積算値SUMSVSTLRの算出が完了していないときには、出力変化量DSVO2が第2所定変化量DVREFLR以上であるか否かを判別するステップ142。この答がNOのときには、そのまま本処理を終了する。一方、上記ステップ142の答がYESで、出力変化量DSVO2が第2所定変化量DVREFLR以上になったときには、図9のステップ118で算出された第2排ガス流量積算値SUMSVLRを第2開始時排ガス流量積算値SUMSVSTLRとして設定するステップ143。次いで、第2開始時排ガス流量積算値SUMSVSTLRの算出設定が完了したとして、そのことを表すために、第2開始時排ガス流量積算値算出済みフラグF_WDSVO2STLRを1に設定しステップ144、本処理を終了する。第2開始時排ガス流量積算値SUMSVSTLRは、その算出手法から明らかなように、CAT還元モードを開始してから、出力変化量DSVO2が第2所定変化量DVREFLRになるまでの排ガス流量の積算値に相当する。また、上記ステップ144の実行によって、前記ステップ141の答がYESF_WDSVO2STLR=1になり、その場合には、第2出力変化期間パラメータ算出済みフラグF_WDSVO2LRが1であるか否かを判別するステップ145。この第2出力変化期間パラメータ算出済みフラグF_WDSVO2LRは、第2出力変化期間パラメータWDSVO2LRの算出が完了したときに、1にセットされるものである。このステップ145の答がNOF_WDSVO2LR=0で、第2出力変化期間パラメータWDSVO2LRの算出が完了していないときには、出力変化量DSVO2が第2所定変化量DVREFLR以下であるか否かを判別するステップ146。この答がNOのときには、そのまま本処理を終了する。一方、ステップ146の答がYESで、出力変化量DSVO2が第2所定変化量DVREFLR以下になったときには、第2排ガス流量積算値SUMSVLRを第2終了時排ガス流量積算値SUMSVENDLRとして設定するステップ147。第2終了時排ガス流量積算値SUMSVENDLRは、その算出手法から明らかなように、CAT還元モードを開始してから、出力変化量DSVO2が再び第2所定変化量DVREFLRに戻るまでの排ガス流量の積算値に相当する。次いで、上記ステップ147で設定された第2終了時排ガス流量積算値SUMSVENDLRから、ステップ143で設定された第2開始時排ガス流量積算値SUMSVSTLRを減算することによって、第2出力変化期間パラメータWDSVO2LRを算出するステップ148。次に、第2出力変化期間パラメータWDSVO2LRの算出が完了したとして、そのことを表すために、第2出力変化期間パラメータ算出済みフラグF_WDSVO2LRを1に設定しステップ149、本処理を終了する。また、このステップ149の実行によって、前記ステップ145の答がYESF_WDSVO2LR=1になり、その場合には、そのまま本処理を終了する。前述したように、第2開始時排ガス流量積算値SUMSVSTLRは、CAT還元モードを開始してから、出力変化量DSVO2が第2所定変化量DVREFLRになるまでの排ガス流量の積算値に相当し、第2終了時排ガス流量積算値SUMSVENDLRは、CAT還元モードを開始してから、出力変化量DSVO2が再び第2所定変化量DVREFLRに戻るまでの排ガス流量の積算値に相当する。したがって、後者SUMSVENDLRから前者SUMSVSTLRを減算することで算出された第2出力変化期間パラメータWDSVO2LRは、出力変化量DSVO2が第2所定変化量DVREFLRになってから再び第2所定変化量DVREFLRに戻るまでの排ガス流量の積算値に相当し、出力変化量DSVO2が第2所定変化量DVREFLRになってから再び第2所定変化量DVREFLRに戻るまでの期間を良好に表す。図8に戻り、前記ステップ90に続くステップ91では、第2排ガス流量積算値SUMSVLRが第2所定値SUMLR2以上であるか否かを判別する。この答がNOSUMSVLR<SUMLR2のときには、図10のステップ138で設定された第2出力変化量極値算出済みフラグF_HDSVO2LRが1であるか否かを判別するステップ92。この答がNOで、第2出力変化量極値HDSVO2LRが算出されていないときには、前記ステップ87を実行し、本処理を終了する。一方、上記ステップ92の答がYESで、第2出力変化量極値HDSVO2LRが算出されているときには、図11のステップ149で設定された第2出力変化期間パラメータ算出済みフラグF_WDSVO2LRが1であるか否かを判別するステップ93。この答がNOで、第2出力変化期間パラメータWDSVO2LRが算出されていないときには、前記ステップ87を実行し、本処理を終了する。一方、上記ステップ93の答がYESのとき、すなわち、第2出力変化量極値HDSVO2LRおよび第2出力変化期間パラメータWDSVO2LRがいずれも算出されているときには、図11のステップ148で算出された第2出力変化期間パラメータWDSVO2LRに対する、図10のステップ134で設定された第2出力変化量極値の絶対値|HDSVO2LR|の比|HDSVO2LR|/WDSVO2LRを、第2判定用パラメータKJUDSVO2LRとして算出するステップ94。次いで、算出された第2判定用パラメータKJUDSVO2LRが第2判定値KREFLR以下であるか否かを判別するステップ95。この答がYESで、第2判定用パラメータKJUDSVO2LRが第2判定値KREFLR以下のときには、リッチ空燃比への空燃比の切換時におけるO2センサ24の応答特性の異常以下第2異常というが発生していると仮判定し、そのことを表すために、第2仮異常フラグF_TMPNGLRを1にセットするステップ96。次いで、第2異常の仮判定結果が得られたことを表すために、第2仮判定済みフラグF_TMPJUDLRを1に設定しステップ97、本処理を終了する。一方、上記ステップ95の答がNOで、第2判定用パラメータKJUDSVO2LRが第2判定値KREFLRよりも大きいときには、第2異常が発生していないと仮判定し、そのことを表すために、第2仮異常フラグF_TMPNGLRを0に設定するステップ98。次いで、上記ステップ97を実行し、本処理を終了する。以上のようにO2センサ24の第2異常を仮判定するのは、図19および図20を用いて前述したように、O2センサ24が異常であるときには、第2出力変化量極値の絶対値|HDSVO2LR|が小さくなるとともに、第2出力変化期間パラメータWDSVO2LRが大きくなる結果、第2判定用パラメータKJUDSVO2LRすなわち第2出力変化期間パラメータWDSVO2LRに対する第2出力変化量極値の絶対値|HDSVO2LR|の比が、第2判定値KREFLR以下になるためである。なお、一旦、ステップ95、96および98による第2異常の仮判定の結果が得られると、その後、本処理が完了するまで前記ステップ81がYESになるまでの間に、第2出力変化量極値HDSVO2LRが再度、算出されても、ステップ92~98は実行されず、第2異常の仮判定の結果が変更されることはない。このため、本処理では、第2実施形態で後述するように複数の第2出力変化量極値HDSVO2LRが算出された場合に、そのうちの最先の第2出力変化量極値HDSVO2LRと、それに対応する第2出力変化期間パラメータWDSVO2LRとの関係に基づいて、O2センサ24の第2異常が仮判定される。一方、前記ステップ91の答がYESで、第2排ガス流量積算値SUMSVLRが第2所定値SUMLR2に達したとき、すなわち、リッチ空燃比への混合気空燃比の切換の開始時から多量の排ガスがO2センサ24を通過しときには、前記ステップ87または97で設定された第2仮判定済みフラグF_TMPJUDLRが1であるか否かを判別するステップ99。この答がYESで、第2異常の仮判定結果が得られているときには、第2仮異常フラグF_TMPNGLRが1であるか否かを判別するステップ100。この答がNOF_TMPNGLR=0のとき、すなわち、リッチ空燃比への混合気空燃比の切換の開始時から多量の排ガスがO2センサ24を通過しており、かつ、O2センサ24の第2異常が発生していないと仮判定されているときには、第2異常が発生していないとの判定を確定し、そのことを表すために、第2異常フラグF_NGLRを0に設定するステップ101。次いで、本処理による異常判定が完了したとして、そのことを表すために、第2異常判定完了フラグF_DONELRを1に設定しステップ102、本処理を終了する。一方、上記ステップ100の答がYESF_TMPNGLR=1のとき、すなわち、リッチ空燃比への混合気空燃比の切換の開始時から多量の排ガスがO2センサ24を通過しており、かつ、O2センサ24の第2異常が発生していると仮判定されているときには、第2異常が発生しているとの判定を確定し、そのことを表すために、第2異常フラグF_NGLRを1に設定するステップ103。次いで、上記ステップ102を実行し、本処理を終了する。一方、前記ステップ99の答がNOで、第2仮判定済みフラグF_TMPJUDLRが0のとき、すなわち、リッチ空燃比への混合気空燃比の切換の開始時から多量の排ガスがO2センサ24を通過しており、かつ、第2出力変化量極値HDSVO2LRおよび/または第2出力変化期間パラメータWDSVO2LRが算出されていないことで、第2異常の仮判定結果が得られていないときには、第2異常が発生しているとの判定を確定するとともに、上記ステップ103および102を実行し、本処理を終了する。また、ステップ102の実行により前記ステップ81の答がYESF_DONELR=1になり、その場合には、第2実行条件成立フラグF_JUDLRを0にリセットするステップ104とともに、前記ステップ84~87を実行し、本処理を終了する。また、第1実施形態における各種の要素と、各請求項に係る発明における各種の要素との対応関係は、次のとおりである。すなわち、第1実施形態におけるO2センサ24および三元触媒7が、本発明における空燃比センサおよび触媒にそれぞれ相当するとともに、第1実施形態におけるECU2が、本発明における空燃比制御手段、出力変化期間パラメータ算出手段、出力変化量極値算出手段、異常判定手段、および排ガス流量積算値算出手段に相当する。また、第1実施形態における出力変化量DSVO2が、本発明における空燃比センサの出力の変化量に相当するとともに、第1実施形態における第1および第2所定変化量DVREFRL、DVREFLRが、本発明における所定変化量に相当する。さらに、第1実施形態における第1および第2出力変化期間パラメータWDSVO2RL、WDSVO2LRが、本発明における出力変化期間パラメータに相当するとともに、第1実施形態における第1および第2出力変化量極値HDSVO2RL、HDSVO2LRが、本発明における出力変化量極値に相当する。また、第1実施形態における第1および第2判定用パラメータKJUDSVO2RL、KJUDSVO2LRが、本発明における出力変化期間パラメータと出力変化量極値との関係、および出力変化期間パラメータに対する出力変化量極値の比に相当する。さらに、第1実施形態における第1および第2排ガス流量積算値SUMSVRL、SUMSVLRが、本発明における排ガス流量積算値に相当するとともに、第1実施形態における第1および第2所定値SUMLR1、SUMLR2が、本発明における第3および第4所定値にそれぞれ相当する。以上のように、第1実施形態によれば、第1異常判定処理が実行されることによって、リッチ空燃比からリーン空燃比への混合気空燃比の切換が行われた後に、この切換により出力変化量DSVO2が第1所定変化量DVREFRLになってから再び第1所定変化量DVREFRLに戻るまでの期間以下第1出力変化期間というを表す第1出力変化期間パラメータWDSVO2RLが算出される図6のステップ68。また、第1出力変化期間パラメータWDSVO2RLによって表される第1出力変化期間内に得られた出力変化量DSVO2の極値である第1出力変化量極値HDSVO2RLが算出される図4のステップ54。さらに、算出された第1出力変化期間パラメータWDSVO2RLに対する、第1出力変化量極値の絶対値|HDSVO2RL|の比に基づいて、O2センサ24の第1異常が仮判定される図2のステップ14~16および18。また、第2異常判定処理が実行されることによって、リーン空燃比からリッチ空燃比への混合気空燃比の切換が行われた後に、この切換により出力変化量DSVO2が第2所定変化量DVREFLRになってから再び第2所定変化量DVREFLRに戻るまでの期間以下第2出力変化期間というを表す第2出力変化期間パラメータWDSVO2LRが算出される図11のステップ148。また、第2出力変化期間パラメータWDSVO2LRによって表される第2出力変化期間内に得られた出力変化量DSVO2の極値である第2出力変化量極値HDSVO2LRが算出される図10のステップ134。さらに、算出された第2出力変化期間パラメータWDSVO2LRに対する、第2出力変化量極値の絶対値|HDSVO2LR|の比に基づいて、O2センサ24の第2異常が仮判定される図8のステップ94~96および98。以上により、図20を用いて説明した排ガス空燃比停滞の影響により排ガス空燃比の変化量が比較的小さい場合でも、第1出力変化期間パラメータWDSVO2RLと第1出力変化量極値HDSVO2RLとの関係に基づいて、O2センサ24の第1異常を精度良く判定することができる。同様に、第2出力変化期間パラメータWDSVO2LRと第2出力変化量極値HDSVO2LRとの関係に基づいて、O2センサ24の第2異常を精度良く判定することができる。また、第1出力変化期間パラメータWDSVO2RLとして、出力変化量DSVO2が第1所定変化量DVREFRLになってから再び第1所定変化量DVREFRLに戻るまでの期間を算出するので、ノイズなどの外乱などによりO2センサ出力SVO2が一時的に小さく変動したときの第1出力変化期間に基づいて第1異常の判定が行われるのを防止することができる。同様に、第2出力変化期間パラメータWDSVO2LRとして、出力変化量DSVO2が第2所定変化量DVREFLRになってから再び第2所定変化量DVREFLRに戻るまでの期間を算出するので、ノイズなどの外乱などによりO2センサ出力SVO2が一時的に小さく変動したときの第2出力変化期間に基づいて第2異常の判定が行われるのを防止することができる。さらに、O2センサ24の応答特性が、リーン空燃比への混合気空燃比の切換時以下リーン空燃比切換時というと、リッチ空燃比への混合気空燃比の切換時以下リッチ空燃比切換時というとで、互いに異なる場合でも、リーン空燃比切換時におけるO2センサ24の異常である第1異常とリッチ空燃比切換時におけるO2センサ24の異常である第2異常の双方を精度良く判定することができる。また、O2センサ24の第1異常の判定を、第1判定用パラメータKJUDSVO2RL、すなわち第1出力変化期間パラメータWDSVO2RLに対する第1出力変化量極値の絶対値|HDSVO2RL|の比に基づいて行うので、第1出力変化期間と第1出力変化量極値HDSVO2RLとの関係に直接的に基づいて適切に行うことができる。同様に、O2センサ24の第2異常の判定を、第2判定用パラメータKJUDSVO2LR、すなわち第2出力変化期間パラメータWDSVO2LRに対する第2出力変化量極値の絶対値|HDSVO2LR|の比に基づいて行うので、第2出力変化期間と第2出力変化量極値HDSVO2LRとの関係に直接的に基づいて適切に行うことができる。さらに、排ガス空燃比が理論排ガス空燃比の付近にあるときに、排ガス空燃比に対する出力変化量DSVO2が最大になるという出力特性を、O2センサ24が有しており、そのようなO2センサ24に対し、混合気空燃比を、理論空燃比よりもリーンなリーン空燃比とリッチなリッチ空燃比との間で切り換えるので、算出された第1および第2判定用パラメータKJUDSVO2RL,KJUDSVO2LRはそれぞれ、O2センサ24の第1および第2異常の有無をより良好に表す。したがって、前述した効果、すなわち、排ガス空燃比停滞の影響により排ガス空燃比の変化量が小さい場合でもO2センサ24の第1および第2異常を精度良く判定することができるという効果を、有効に得ることができる。また、O2センサ24の上流側に三元触媒7が設けられているので、排ガス空燃比がエンジン3の複数の気筒間でばらついている場合でも、排ガスが三元触媒7において攪拌されるので、このばらつきに起因する排ガス空燃比の変動による異常判定への影響を抑制することができる。さらに、第1異常判定処理において、リーン空燃比への混合気空燃比の切換が、フューエルカット運転への運転モードの切換を利用して行われ図3のステップ36、フューエルカット運転が開始された以降の排ガス流量の積算値である第1排ガス流量積算値SUMSVRLが算出される図3のステップ37。そして、算出された第1排ガス流量積算値SUMSVRLが第1所定値SUMRL1以上になって図3のステップ39:YESから第2所定値SUMRL2に達する図2のステップ11:YESまでの期間以下第1判定期間というが経過するまでに、第1判定用パラメータKJUDSVO2RLに基づくO2センサ24の第1異常の判定が終了しているとき図2のステップ19:YESには、当該判定結果に基づいてO2センサ24の第1異常が確定されるステップ20、21および23。また、第2異常判定処理において、リッチ空燃比への混合気空燃比の切換が、フューエルカット運転終了後のCAT還元処理モードへの運転モードの切換を利用して行われ図9のステップ116および117、CAT還元モードが開始された以降の排ガス流量の積算値である第2排ガス流量積算値SUMSVLRが算出される図9のステップ118。そして、算出された第2排ガス流量積算値SUMSVLRが第1所定値SUMLR1以上になって図9のステップ120:YESから第2所定値SUMLR2に達する図8のステップ91:YESまでの期間以下第2判定期間というが経過するまでに、第2判定用パラメータKJUDSVO2LRに基づくO2センサ24の第2異常の判定が終了しているとき図8のステップ99:YESには、当該判定結果に基づいてO2センサ24の第2異常が確定されるステップ100、101および103。このように、フューエルカット運転の開始後すなわちリーン空燃比への混合気空燃比の切換開始後、第1排ガス流量積算値SUMSVRLが第1所定値SUMRL1に達した後に、そのときに得られたO2センサ24の第1異常の判定結果に基づいて、O2センサ24の異常が確定される。したがって、リーン空燃比への混合気空燃比の切換開始後、リーン空燃比の混合気空燃比が燃焼することによって生成された排ガスがO2センサ24に到達するまでのむだ時間を補償しながら、O2センサ24の異常を適切に判定することができる。同様に、CAT還元モードの開始後すなわちリッチ空燃比への混合気空燃比の切換開始後、第2排ガス流量積算値SUMSVLRが第1所定値SUMLR1に達した後に、そのときに得られたO2センサ24の異常の判定結果に基づいて、O2センサ24の異常が確定される。したがって、リッチ空燃比への混合気空燃比の切換開始後、リッチ空燃比の混合気が燃焼することによって生成された排ガスがO2センサ24に到達するまでのむだ時間を補償しながら、O2センサ24の異常を精度良く判定することができる。また、O2センサ24が異常の場合には、リーン空燃比への混合気空燃比の切換開始後、多量の排ガスがO2センサ24を通過しても、O2センサ出力SVO2がほとんど変化せず、その結果、第1出力変化期間パラメータWDSVO2RLおよび第1出力変化量極値HDSVO2RLの少なくとも一方の算出が完了しない。同様に、O2センサ24が異常の場合には、リッチ空燃比への混合気空燃比の切換開始後、多量の排ガスがO2センサ24を通過しても、O2センサ出力SVO2がほとんど変化せず、その結果、第2出力変化期間パラメータWDSVO2LRおよび第2出力変化量極値HDSVO2LRの少なくとも一方の算出が完了しない。これに対して、第1異常判定処理では、リーン空燃比への混合気空燃比の切換開始後、第1排ガス流量積算値SUMSVRLが第2所定値SUMRL2を超えても図2のステップ11:YESなお、すなわち、多量の排ガスがO2センサ24を通過してもなお、第1出力変化期間パラメータWDSVO2RLおよび第1出力変化量極値HDSVO2RLの算出が完了していないとき図2のステップ19:NOに、O2センサ24の第1異常が発生しているとの判定を確定するステップ23。したがって、第1異常を精度良く判定することができる。同様に、第2異常判定処理では、リッチ空燃比への混合気空燃比の切換開始後、第2排ガス流量積算値SUMSVLRが第2所定値SUMLR2を超えても図8のステップ91:YESなお、すなわち、多量の排ガスがO2センサ24を通過してもなお、第2出力変化期間パラメータWDSVO2LRおよび第2出力変化量極値HDSVO2LRの算出が完了していないとき図8のステップ99:NOに、O2センサ24の第2異常が発生しているとの判定を確定するステップ103。したがって、O2センサ24の第2異常を精度良く判定することができる。また、O2センサ24の応答特性が同じであっても、第1出力変化期間は、O2センサ24を通過する排ガスの流量が少ないほど、より長くなる。これに対し、上述した第1実施形態によれば、第1出力変化期間パラメータWDSVO2RLを、時間ではなく、排ガスの流量で表すので、第1異常の判定を排ガスの流量に応じて精度良く行うことができる。同様に、第2出力変化期間パラメータWDSVO2LRを、時間ではなく、排ガスの流量で表すので、第2異常の判定を、排ガスの流量に応じて精度良く行うことができる。次に、図12~図15を参照しながら、本発明の第2実施形態による第1および第2異常判定処理について説明する。この第2実施形態は、第1実施形態と比較して、後述する所定の条件が成立しているときにO2センサ24の異常判定を保留する点のみが異なっている。これらの図12~図15において、第1実施形態と同じ実行内容のステップについては、同じステップ番号を付している。以下、第2実施形態による第1および第2異常判定処理について、第1実施形態と異なる実行内容を中心に説明する。まず、図12に示す第1異常判定処理では、前記ステップ6に続くステップ161において、後述する第1極値カウンタのカウンタ値CHDSVO2RLを値0にリセットする。次いで、前記ステップ7を実行し、本処理を終了する。前記ステップ8に続くステップ162では、図13に示すHDSVO2RL算出処理を実行する。本処理では、図4に示す第1実施形態のHDSVO2RL算出処理と異なり、第1出力変化量極値HDSVO2RLが算出されたときのO2センサ出力SVO2と、第1出力変化量極値HDSVO2RLが算出された回数とに基づいて、O2センサ24の第1異常の判定を保留すべきか否かが判定される。図13の前記ステップ55に続くステップ171では、O2センサ出力SVO2を第1ピーク時出力SVO2PKRLとして設定し、本処理を終了する。また、前記ステップ58に続くステップ172では、図12のステップ161でリセットされた第1極値カウンタのカウンタ値CHDSVO2RLをインクリメントする。図4を用いて説明したように、ステップ57の答がYESになったときに、第1出力変化量極値HDSVO2RLの算出設定が完了し、そのことを表す第1出力変化量極値算出済みフラグF_HDSVO2RLが1にセットされるステップ58。それに加え、第1極値カウンタのカウンタ値CHDSVO2RLは、第1実行条件が成立していない限り図12のステップ3:NO、図12のステップ161の実行により値0にリセットされるとともに、上記ステップ58に続くステップ172の実行によりインクリメントされる。以上から、第1極値カウンタのカウンタ値CHDSVO2RLは、リーン空燃比への混合気空燃比の切換開始後に、第1出力変化量極値HDSVO2RLが算出された回数を表す。ステップ172に続くステップ173では、第1極値カウンタのカウンタ値CHDSVO2RLが値1よりも大きいか否かを判別する。この答がYESで、複数の第1出力変化量極値HDSVO2RLが算出されているときには、O2センサ24の第1異常の判定を保留すべきとして、そのことを表すために、第1判定許可フラグF_HDSVO2RLOKを0に設定しステップ174、本処理を終了する。一方、上記ステップ173の答がNOのとき、すなわち、算出された第1出力変化量極値HDSVO2RLが1つのときには、前記ステップ171で設定された第1ピーク時出力SVO2PKRLが、第1下限値VLMLRLおよび第1上限値VLMHRLで規定される第1所定範囲内にあるか否かを判別するステップ175。これらの第1下限値VLMLRLおよび第1上限値VLMHRLは、両者で規定された第1所定範囲で表される排ガス空燃比の範囲が理論排ガス空燃比を含む理論排ガス空燃比の付近の所定の範囲になるように、設定されている。すなわち、第1所定範囲で表される排ガス空燃比の範囲が、リーン空燃比に対応するリーン排ガス空燃比とリッチ空燃比に対応するリッチ排ガス空燃比との間の理論排ガス空燃比の付近の所定の範囲になるように設定されている。上記ステップ175の答がNOで、第1ピーク時出力SVO2PKRLが第1所定範囲内にないときには、O2センサ24の第1異常の判定を保留すべきとして、前記ステップ174を実行し、本処理を終了する。一方、ステップ175の答がYESのとき、すなわち、算出された第1出力変化量極値HDSVO2RLが1つで、かつ、第1ピーク時出力SVO2PKRLが第1所定範囲内にあるときには、O2センサ24の第1異常の判定を保留せずに、許可すべきとして、第1判定許可フラグF_HDSVO2RLOKを1にセットしステップ176、本処理を終了する。前述したように、第1ピーク時出力SVO2PKRLは、第1出力変化量極値HDSVO2RLと同様、出力変化量DSVO2がその前回値DSVO2Z以下である限りステップ53:YES、すなわち出力変化量DSVO2が増大している限り、今回のO2センサ出力SVO2に更新されるステップ171。このことと、第1実施形態で述べた第1出力変化量極値HDSVO2RLの算出手法の説明から明らかなように、第1ピーク時出力SVO2PKRLは、出力変化量DSVO2が極値になったときに得られたO2センサ出力SVO2に相当する。図12に戻り、前記ステップ11の答がYESのときには、図13のステップ174または176で設定された第1判定許可フラグF_HDSVO2RLOKが1であるか否かを判別するステップ163。この答がYESF_HDSVO2RLOK=1で、O2センサ24の第1異常の判定が保留されておらず、許可されているときには、前記ステップ19~23を実行することによって、前述したように第1異常の判定を確定し、本処理を終了する。一方、ステップ163の答がNOF_HDSVO2RLOK=0で、O2センサ24の第1異常の判定が保留されているときには、ステップ19~23をスキップし、第1異常の判定を確定せずに、そのまま本処理を終了する。図14に示す第2異常判定処理では、前記ステップ86に続くステップ181において、後述する第2極値カウンタのカウンタ値CHDSVO2LRを値0にリセットする。次いで、前記ステップ87を実行し、本処理を終了する。前記ステップ88に続くステップ182では、図15に示すHDSVO2LR算出処理を実行する。本処理では、図10に示す第1実施形態のHDSVO2LR算出処理と異なり、第2出力変化量極値HDSVO2LRが算出されたときのO2センサ出力SVO2と、第2出力変化量極値HDSVO2LRが算出された回数とに基づいて、O2センサ24の第2異常の判定を保留すべきか否かが判定される。図15の前記ステップ135に続くステップ191では、O2センサ出力SVO2を第2ピーク時出力SVO2PKLRとして設定し、本処理を終了する。また、前記ステップ138に続くステップ192では、図14のステップ181でリセットされた第2極値カウンタのカウンタ値CHDSVO2LRをインクリメントする。図10を用いて説明したように、ステップ137の答がYESになったときに、第2出力変化量極値HDSVO2LRの算出設定が完了し、そのことを表す第2出力変化量極値算出済みフラグF_HDSVO2LRが1にセットされるステップ138。それに加え、第2極値カウンタのカウンタ値CHDSVO2LRは、第2実行条件が成立していない限り図14のステップ83:NO、図14のステップ181の実行により値0にリセットされるとともに、上記ステップ138に続くステップ192の実行によりインクリメントされる。以上から、第2極値カウンタのカウンタ値CHDSVO2LRは、リッチ空燃比への混合気空燃比の切換開始後に、第2出力変化量極値HDSVO2LRが算出された回数を表す。ステップ192に続くステップ193では、第2極値カウンタのカウンタ値CHDSVO2LRが値1よりも大きいか否かを判別する。この答がYESで、複数の第2出力変化量極値HDSVO2LRが算出されているときには、O2センサ24の第2異常の判定を保留すべきとして、そのことを表すために、第2判定許可フラグF_HDSVO2LROKを0に設定しステップ194、本処理を終了する。一方、上記ステップ193の答がNOのとき、すなわち、算出された第2出力変化量極値HDSVO2LRが1つのときには、前記ステップ191で設定された第2ピーク時出力SVO2PKLRが、第2下限値VLMLLRおよび第2上限値VLMHLRで規定される第2所定範囲内にあるか否かを判別するステップ195。図13のステップ175で用いられる第1下限値VLMLRLおよび第1上限値VLMHRLと同様、これらの第2下限値VLMLLRおよび第2上限値VLMHLRは、両者で規定された第2所定範囲で表される排ガス空燃比の範囲が理論排ガス空燃比を含む理論排ガス空燃比の付近の所定の範囲になるように、設定されている。すなわち、第2所定範囲で表される排ガス空燃比の範囲が、リーン排ガス空燃比とリッチ排ガス空燃比との間の理論排ガス空燃比の付近の所定の範囲になるように、第2下限値VLMLLRおよび第2上限値VLMHLRが設定されている。上記ステップ195の答がNOで、第2ピーク時出力SVO2PKLRが第2所定範囲内にないときには、O2センサ24の第2異常の判定を保留すべきとして、前記ステップ194を実行し、本処理を終了する。一方、ステップ195の答がYESのとき、すなわち、算出された第2出力変化量極値HDSVO2LRが1つで、かつ、第2ピーク時出力SVO2PKLRが第2所定範囲内にあるときには、O2センサ24の第2異常の判定を保留せずに、許可すべきとして、第2判定許可フラグF_HDSVO2LROKを1にセットしステップ196、本処理を終了する。前述したように、第2ピーク時出力SVO2PKLRは、第2出力変化量極値HDSVO2LRと同様、出力変化量DSVO2がその前回値DSVO2Z以上である限りステップ133:YES、すなわち出力変化量DSVO2が増大している限り、今回のO2センサ出力SVO2に更新されるステップ191。このことと、第1実施形態で述べた第2出力変化量極値HDSVO2LRの算出手法の説明から明らかなように、第2ピーク時出力SVO2PKLRは、出力変化量DSVO2が極値になったときに得られたO2センサ出力SVO2に相当する。図14に戻り、前記ステップ91の答がYESのときには、図15のステップ194または196で設定された第2判定許可フラグF_HDSVO2LROKが1であるか否かを判別するステップ183。この答がYESF_HDSVO2LROK=1で、O2センサ24の第2異常の判定が保留されておらず、許可されているときには、前記ステップ99~103を実行することによって、前述したように第2異常の判定を確定し、本処理を終了する。一方、ステップ183の答がNOF_HDSVO2LROK=0で、O2センサ24の第2異常の判定が保留されているときには、ステップ99~103をスキップし、第2異常の判定を確定せずに、そのまま本処理を終了する。また、第2実施形態における各種の要素と、本発明における各種の要素との対応関係は、次のとおりである。すなわち、第2実施形態における第1および第2ピーク時出力SVO2PKRL、SVO2PKLRが、本発明における空燃比センサの出力の変化量が極値になったときに得られた空燃比センサの出力に相当する。以上のように、第2実施形態によれば、リーン空燃比への混合気空燃比の切換後、出力変化量DSVO2が極値になったときに得られたO2センサ出力SVO2に相当する第1ピーク時出力SVO2PKRLが算出される図13のステップ171。また、第1ピーク時出力SVO2PKRLが第1下限値VLMLRLおよび第1上限値VLMHRLで規定される第1所定範囲内にないとき図13のステップ175:NO、図12のステップ163:NOに、O2センサ24の第1異常の判定が保留される。さらに、リッチ空燃比への混合気空燃比の切換後、出力変化量DSVO2が極値になったときに得られたO2センサ出力SVO2に相当する第2ピーク時出力SVO2PKLRが算出される図15のステップ191。また、第2ピーク時出力SVO2PKLRが第1下限値VLMLLRおよび第1上限値VLMHLRで規定される第2所定範囲内にないとき図15のステップ195:NO、図14のステップ183:NOに、O2センサ24の第2異常の判定が保留される。リーン空燃比とリッチ空燃比との間で混合気空燃比を変化させた場合において、前述した排ガス空燃比停滞が発生しないときには、通常、排ガス空燃比が、リーン排ガス空燃比リーン空燃比に対応する排ガス空燃比とリッチ排ガス空燃比リッチ空燃比に対応する排ガス空燃比との間の理論排ガス空燃比であるときに、排ガス空燃比の変化量は最大になる。このため、排ガス空燃比停滞が発生していない場合には、空燃比センサの出力で表される排ガス空燃比が理論排ガス空燃比付近にあるときに、空燃比センサの出力変化量の極値が発生する。このことから明らかなように、混合気空燃比の切換が行われた後に出力変化量DSVO2が極値になったときに得られたO2センサ出力SVO2で表される排ガス空燃比が、上記の理論排ガス空燃比付近にないときには、排ガス空燃比停滞が発生している可能性がある。さらに、この場合、排ガス空燃比が、理論排ガス空燃比を含む所定排ガス空燃比範囲内にないときには、前述した切換直後排ガス空燃比停滞の発生により排ガス空燃比がほとんど変化せずにすぐに停滞することで、排ガス空燃比の変化量が非常に小さくなっている場合がある。その場合には、前述した第1および第2判定用パラメータKJUDSVO2RL,KJUDSVO2LRに基づいて第1異常および第2異常をそれぞれ判定しても、O2センサ24が正常なときに第1および第2異常が発生していると誤判定するおそれがある。これに対して、第2実施形態によれば、第1ピーク時出力SVO2PKRLが第1所定範囲内にないときに、O2センサ24の第1異常の判定が保留されるとともに、この第1所定範囲で表される排ガス空燃比の範囲が、リーン排ガス空燃比とリッチ排ガス空燃比との間の理論排ガス空燃比の付近の所定の範囲になるように設定されている。これにより、切換直後排ガス空燃比停滞の発生中における第1異常の判定を保留できるので、上述した誤判定を防止することができる。同様に、第2ピーク時出力SVO2PKLRが第2所定範囲内にないときに、O2センサ24の第2異常の判定が保留されるとともに、この第2所定範囲で表される排ガス空燃比の範囲が、リーン排ガス空燃比とリッチ排ガス空燃比との間の理論排ガス空燃比の付近の所定の範囲になるように設定されている。これにより、切換直後排ガス空燃比停滞の発生中における第2異常の判定を保留できるので、上述した誤判定を防止することができる。また、複数の第1出力変化量極値HDSVO2RLが算出されているとき図13のステップ173:YES、図12のステップ163:NOに、第1異常の判定が保留されるとともに、複数の第2出力変化量極値HDSVO2LRが算出されているとき図15のステップ193:YES、図14のステップ183:NOに、第2異常の判定が保留される。このことによっても、切換直後排ガス空燃比停滞の発生中における第1および第2異常の判定を保留できるので、上述した誤判定を防止することができる。その他、第1実施形態による効果を同様に得ることができる。さらに、第1異常の判定が保留された後、一旦、第1実行条件が成立しなくなるステップ3:NOと、ステップ4~7および161において、各種のフラグが0にリセットされる。そして、その後のエンジン3の運転中に、第1実行条件が成立すると、再度、第1出力変化期間パラメータWDSVO2RLおよび第1出力変化量極値HDSVO2RLが算出されるとともに、算出された第1出力変化期間パラメータWDSVO2RLと第1出力変化量極値HDSVO2RLとの関係に基づいて、第1異常が判定される。このことは、第2異常の判定についても同様である。したがって、エンジン3の停止および次回の始動を待つことなく、エンジン3の今回の運転中に、第1および第2異常の判定を改めて実行することができる。なお、第1および第2実施形態では、O2センサ24の第1異常を、第1判定用パラメータKJUDSVO2RL、すなわち第1出力変化期間パラメータWDSVO2RLに対する第1出力変化量極値の絶対値|HDSVO2RL|の比に基づいて判定しているが、前者WDSVO2RLと後者HDSVO2RLとの関係を表す他の適当なパラメータ、例えば次のパラメータA~Hに基づいて判定してもよい。A第1出力変化期間パラメータWDSVO2RLに対する第1出力変化量極値HDSVO2RLそのものの比B第1判定用パラメータKJUDSVO2RLの逆数、すなわち、第1出力変化量極値の絶対値|HDSVO2RL|または第1出力変化量極値HDSVO2RLに対する第1出力変化期間パラメータWDSVO2RLの比WDSVO2RL/|HDSVO2RL|C第1出力変化期間パラメータWDSVO2RLと第1出力変化量極値HDSVO2RLとの偏差WDSVO2RL-HDSVO2RL、またはこの偏差の絶対値D第1出力変化量極値HDSVO2RLと第1出力変化期間パラメータWDSVO2RLとの偏差HDSVO2RL-WDSVO2RL、またはこの偏差の絶対値E第1出力変化期間パラメータWDSVO2RLに対する、第1出力変化量極値HDSVO2RLまたは絶対値|HDSVO2RL|と第1出力変化期間パラメータWDSVO2RLとの偏差またはこの偏差の絶対値の比HDSVO2RL-WDSVO2RL/WDSVO2RLFEの逆数WDSVO2RL/HDSVO2RL-WDSVO2RLG第1出力変化期間パラメータWDSVO2RLに対する、第1出力変化期間パラメータWDSVO2RLと第1出力変化量極値HDSVO2RLまたは絶対値|HDSVO2RL|との偏差またはこの偏差の絶対値の比WDSVO2RL-HDSVO2RL/WDSVO2RLHGの逆数WDSVO2RL/WDSVO2RL-|HDSVO2RL|また、第2実施形態では、複数の第1出力変化量極値HDSVO2RLが算出されておらず、かつ、第1ピーク時出力SVO2PKRLが第1所定範囲内にあるときに、第1異常の判定を保留せずに許可しているが、これらの条件の一方のみが成立しているときに、第1異常の判定を許可してもよい。同様に、第2実施形態では、複数の第2出力変化量極値HDSVO2LRが算出されておらず、かつ、第2ピーク時出力SVO2PKLRが第2所定範囲内にあるときに、第2異常の判定を保留せずに許可しているが、これらの条件の一方のみが成立しているときに、第2異常の判定を許可してもよい。次に、図16~図18を参照しながら、本発明の第3実施形態による第1および第2異常判定処理について説明する。図16に示す第3実施形態の第1異常判定処理は、第1実施形態と比較して、第1判定用パラメータKJUDSVO2RL、すなわち第1出力変化期間パラメータWDSVO2RLに対する第1出力変化量極値の絶対値|HDSVO2RL|の比ではなく、第1出力変化期間パラメータWDSVO2RLに基づいて算出された第1判定用しきい値HDREFRLと第1出力変化量極値HDSVO2RLとの比較結果に基づいて、O2センサ24の第1異常を判定する点のみが異なっている。図16において、第1実施形態の第1異常判定処理と同じ実行内容のステップについては、同じステップ番号を付している。図16と図2との比較から明らかなように、前記ステップ14および15に代えて、ステップ201および202をそれぞれ実行する点のみが異なっているので、以下、この点を中心に説明する。前記ステップ13の答がYESのときには、図6のステップ68で算出された第1出力変化期間パラメータWDSVO2RLに基づき、図17に示すマップを検索することによって、第1判定用しきい値HDREFRLを算出するステップ201。このマップでは、第1判定用しきい値HDREFRLは、第1出力変化期間パラメータWDSVO2RLが大きいほど、より大きな値にリニアに設定されている。次いで、図4のステップ54で設定された第1出力変化量極値の絶対値|HDSVO2RL|が、ステップ201で算出された第1判定用しきい値HDREFRL以下であるか否かを判別するステップ202。この答がYESのときには、O2センサ24の第1異常が発生していると仮判定し、前記ステップ16を実行し、第1仮異常フラグF_TMPNGRLを1にセットするとともに、前記ステップ17を実行し、本処理を終了する。一方、ステップ202の答がNOで、第1出力変化量極値の絶対値|HDSVO2RL|が第1判定用しきい値HDREFRLよりも小さいときには、O2センサ24の第1異常が発生していないと仮判定し、前記ステップ18を実行し、第1仮異常フラグF_TMPNGRLを0にセットするとともに、前記ステップ17を実行し、本処理を終了する。また、図18に示す第3実施形態の第2異常判定処理は、第1実施形態と比較して、第2判定用パラメータKJUDSVO2LR、すなわち第2出力変化期間パラメータWDSVO2LRに対する第2出力変化量極値の絶対値|HDSVO2LR|の比ではなく、第2出力変化期間パラメータWDSVO2LRに基づいて算出された第2判定用しきい値HDREFLRと第2出力変化量極値HDSVO2LRとの比較結果に基づいて、O2センサ24の第2異常を判定する点のみが異なっている。図18において、第1実施形態の第2異常判定処理と同じ実行内容のステップについては、同じステップ番号を付している。図18と図8との比較から明らかなように、前記ステップ94および95に代えて、ステップ211および212をそれぞれ実行する点のみが異なっているので、以下、この点を中心に説明する。前記ステップ93の答がYESのときには、図11のステップ148で算出された第2出力変化期間パラメータWDSVO2LRに基づき、マップ図示せずを検索することによって、第2判定用しきい値HDREFLRを算出するステップ211。このマップでは、第2判定用しきい値HDREFLRは、第1出力変化期間パラメータWDSVO2RLに基づく第1判定用しきい値HDREFRLの設定と同様、第2出力変化期間パラメータWDSVO2LRが大きいほど、より大きな値にリニアに設定されている。次いで、図10のステップ134で設定された第2出力変化量極値の絶対値|HDSVO2LR|が、ステップ211で算出された第2判定用しきい値HDREFLR以下であるか否かを判別するステップ212。この答がYESのときには、O2センサ24の第2異常が発生していると仮判定し、前記ステップ96を実行し、第2仮異常フラグF_TMPNGLRを1にセットするとともに、前記ステップ97を実行し、本処理を終了する。一方、ステップ212の答がNOで、第2出力変化量極値の絶対値|HDSVO2LR|が第2判定用しきい値HDREFLRよりも小さいときには、O2センサ24の第2異常が発生していないと仮判定し、前記ステップ98を実行し、第2仮異常フラグF_TMPNGLRを0にセットするとともに、前記ステップ97を実行し、本処理を終了する。また、第3実施形態における各種の要素と、本発明における各種の要素との対応関係は、次のとおりである。すなわち、第3実施形態における第1および第2判定用しきい値HDREFRL、HDREFLRが、本発明における第1しきい値に相当する。以上により、第3実施形態によれば、第1実施形態による効果を同様に得ることができる。なお、第3実施形態では、第1出力変化期間パラメータWDSVO2RLに基づいて算出された第1判定用しきい値HDREFRLと第1出力変化量極値HDSVO2RLとの比較結果に基づいて、O2センサ24の第1異常を判定しているが、これとは逆に、第1出力変化量極値HDSVO2RLに基づいて算出されたしきい値と第1出力変化期間パラメータWDSVO2RLとの比較結果に基づいて、O2センサ24の第1異常を判定してもよい。このことは、第2判定用しきい値HDREFLRおよび第2出力変化量極値HDSVO2LRについても、同様に当てはまる。また、第3実施形態では、第2実施形態で述べた第1および第2異常の判定の保留図13のステップ173~176、図12のステップ163、図15のステップ193~196、図14のステップ183を、行っていないが、行ってもよい。この場合、第2実施形態の場合と異なり、複数の第1出力変化量極値HDSVO2RLが算出されていないという条件、および、第1ピーク時出力SVO2PKRLが第1所定範囲内にあるという条件の一方が成立しているときに、第1異常の判定を保留せずに許可してもよい。このことは、第2異常の判定の保留についても同様である。さらに、第1および第3実施形態では、第2実施形態で述べたように複数の第1出力変化量極値HDSVO2RLが算出された場合に、最先の第1出力変化量極値HDSVO2RLと、それに対応する第1出力変化期間パラメータWDSVO2RLとの関係に基づいて、第1異常を判定しているが、複数のHDSVO2RL値のうちの最大の第1出力変化量極値HDSVO2RLと、それに対応する第1出力変化期間パラメータWDSVO2RLとの関係に基づいて、O2センサ24の第1異常を判定してもよい。あるいは、複数の第1出力変化量極値HDSVO2RLのうち、最後に算出された第1出力変化量極値HDSVO2RLと、それに対応する第1出力変化期間パラメータWDSVO2RLとの関係に基づいて、第1異常を判定してもよい。以上の点は、第2出力変化量極値HDSVO2LRおよび第2出力変化期間パラメータWDSVO2LRについても同様である。なお、本発明は、説明した第1~第3実施形態以下、総称して実施形態というに限定されることなく、種々の態様で実施することができる。例えば、実施形態では、第1所定変化量DVREFRLおよび第2所定変化量DVREFLRの絶対値を、互いに等しい値に設定しているが、互いに異なる値に設定してもよい。また、実施形態では、第1および第2出力変化期間パラメータWDSVO2RL,WDSVO2LRを、排ガスの流量で表しているが、時間で表してもよい。さらに、実施形態では、第1および第2出力変化量極値HDSVO2RL,HDSVO2LRを、値0を基準としているが、第1および第2所定変化量DVREFRL,DVREFLRをそれぞれ基準としてもよい。また、実施形態では、第1および第2異常判定処理の双方を実行しているが、両者の一方のみを実行してもよい。さらに、実施形態では、O2センサ24の上流側に三元触媒7が設けられているが、この三元触媒7を省略してもよい。また、実施形態では、O2センサ24は、ジルコニアタイプであるが、チタニアタイプでもよい。さらに、実施形態では、本発明の空燃比センサは、いわゆる二値型のO2センサ24であるが、排ガス空燃比を検出する他の適当なセンサ、例えば、前述したLAFセンサ23でもよい。この場合、リーン空燃比およびリッチ空燃比を、必ずしも実施形態で述べたように理論空燃比よりもリーン側およびリッチ側にそれぞれ設定する必要はなく、両者の間で相対的にリーン側およびリッチ側であればよい。この条件を満たす限り、リーン空燃比およびリッチ空燃比の双方を、理論空燃比よりもリーン側に、あるいはリッチ側に、設定してもよい。さらに、この場合、前述した第1下限値VLMLRLおよび第1上限値VLMHRLで規定される第1所定範囲は、排ガス空燃比の変化量が最大になる所定排ガス空燃比を実験により求め、求めた所定排ガス空燃比を含む所定排ガス空燃比の付近の所定の範囲に設定される。このことは、第2下限値VLMLLRおよび第2上限値VLMHLRで規定される第2所定範囲についても同様である。また、実施形態では、リーン空燃比への混合気空燃比の切換を、リッチ化運転からフューエルカット運転への運転モードの切換を利用して行うとともに、リッチ空燃比への混合気空燃比の切換をフューエルカット運転からCAT還元モードへの運転モードの切換を利用して行っているが、例えば、ECU2による燃料噴射弁5を介した空燃比制御によって、混合気空燃比を積極的にリーン空燃比とリッチ空燃比との間で切り換えてもよい。あるいは、三元触媒7を活性化すべく昇温するために混合気空燃比をリーン空燃比とリッチ空燃比との間で切り換えるパータべーション制御を利用してもよい。また、リッチ空燃比からリーン空燃比への混合気空燃比の切換時におけるリッチ空燃比と、リーン空燃比からリッチ空燃比への混合気空燃比の切換時におけるリッチ空燃比とが、互いに異なっていてもよく、同様に、リッチ空燃比からリーン空燃比への混合気空燃比の切換時におけるリーン空燃比と、リーン空燃比からリッチ空燃比への混合気空燃比の切換時におけるリーン空燃比とが、互いに異なっていてもよい。さらに、実施形態では、O2センサ24の第1および第2異常を仮判定した後、当該仮判定に基づく第1および第2異常の確定を、第1および第2排ガス流量積算値SUMSVRL,SUMSVLRが第2所定値SUMRL2およびSUMLR2にそれぞれ達するステップ11,91:YESのを待って、行っているが、当該仮判定の結果が得られた時にすぐに行ってもよい。また、実施形態では、本発明の内燃機関は、車両用のガソリンエンジンであるエンジン3であるが、例えば、ディーゼルエンジンやLPGエンジン、クランク軸が鉛直方向に配置された船外機などのような船舶推進機用エンジンを含む、様々な産業用の内燃機関でもよい。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。"