(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設置された排出ガス浄化用の触媒の上流側に排出ガスの空燃比又はリッチ／リーンを検出する上流側センサを設置すると共に、該触媒の下流側に排出ガスのリッチ／リーンを検出する下流側センサを設置し、前記上流側センサの出力に基づいて供給空燃比を補正するメインフィードバック制御と、前記下流側センサの出力に基づいて前記メインフィードバック制御に関する制御量を補正するサブフィードバック制御とを実行する内燃機関の異常診断装置において、
所定の異常診断実行条件が成立した場合に、前記サブフィードバック制御による補正量（以下「サブフィードバック補正量」という）が所定のガード値でガードされた時間に基づいて排出ガス浄化率の悪化度合を求める排出ガス浄化率悪化度合判定手段と、
前記排出ガス浄化率悪化度合判定手段で求めた排出ガス浄化率の悪化度合に基づいて気筒間の空燃比ばらつきによって前記排出ガス浄化率が悪化した異常状態であるか否かを判定する異常診断手段と
を備え、
前記所定の異常診断実行条件は、前記上流側センサ及び前記下流側センサが正常であることであり、
前記排出ガス浄化率悪化度合判定手段は、前記サブフィードバック補正量が前記ガード値でガードされた状態が連続する時間だけ吸入空気量を積算し、この積算値に基づいて前記排出ガス浄化率の悪化度合を求めることを特徴とする内燃機関の異常診断装置。
【請求項２】
前記排出ガス浄化率悪化度合判定手段は、所定の異常診断期間に前記サブフィードバック補正量が前記ガード値でガードされた状態が連続する時間だけ吸入空気量を積算して前記排出ガス浄化率の悪化度合を求めることを特徴とする請求項１に記載の内燃機関の異常診断装置。
【請求項３】
前記排出ガス浄化率悪化度合判定手段は、前記異常診断期間に前記サブフィードバック補正量が前記ガード値でガードされた状態が所定期間継続した後に前記排出ガス浄化率の悪化度合を求めるための積算処理を開始することを特徴とする請求項２に記載の内燃機関の異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排出ガス浄化用の触媒の上流側と下流側にそれぞれ排出ガスの空燃比又はリッチ／リーンを検出するセンサを設置した内燃機関の異常診断装置に関する発明である。
【背景技術】
【０００２】
近年の自動車に搭載される内燃機関の制御システムでは、排出ガス浄化率を高めることを目的として、排出ガス浄化用の触媒の上流側と下流側に、それぞれ排出ガスの空燃比又はリッチ／リーンを検出するセンサ（空燃比センサ又は酸素センサ）を設置し、上流側センサの出力に基づいて触媒の上流側の排出ガスの空燃比を上流側の目標空燃比に一致させるように供給空燃比（例えば燃料噴射量）をフィードバック補正するメインフィードバック制御を行うと共に、下流側センサの出力に基づいて触媒の下流側の排出ガスの空燃比を下流側の目標空燃比に一致させるようにメインフィードバック制御に関する制御量（例えば上流側の目標空燃比やメインフィードバック補正量）をフィードバック補正するサブフィードバック制御を行うようにしたものがある。
【０００３】
このようにメインフィードバック制御とサブフィードバック制御を実行するシステムの異常診断としては、例えば、特許文献１（特許第３４３８２９８号公報）に記載されているように、下流側センサの出力電圧が所定の上限値以上である時間と所定の下限値以下である時間とのうちの少なくとも一方を積算して、その積算時間が所定時間内に所定値に達しないときに、下流側センサの出力変動が所定値以下になったと判断して、下流側センサの異常と判定するようにしたものがある。
【特許文献１】特許第３４３８２９８号公報（第１頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、内燃機関の各気筒の燃料噴射量の誤差や筒内充填空気量の誤差等によって気筒間で空燃比にばらつき（不均衡）が生じることがある。上述したメインフィードバック制御とサブフィードバック制御を実行するシステムでは、気筒間の空燃比ばらつきが大きくなると、上流側センサを通過する排出ガスの空燃比の変動が大きくなって、全気筒の平均的な空燃比に対して上流側センサで検出する空燃比のずれ（偏り）が大きくなるため、メインフィードバック制御の制御中心がずれて、触媒に流入する排出ガスの空燃比が触媒の浄化ウインドから外れてしまうことがあり、その結果、触媒の排出ガス浄化率が悪化して排気エミッションが悪化する可能性がある。
【０００５】
近年、このような気筒間の空燃比ばらつきによってメインフィードバック制御の制御中心がずれて排出ガス浄化率が悪化した異常状態を早期に検出することが要求されるようになってきている。しかし、上記特許文献１の技術は、メインフィードバック制御とサブフィードバック制御を実行するシステムにおいて、下流側センサの異常を検出する技術であり、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）を検出することができない。
【０００６】
本発明は、このような事情を考慮してなされたものであり、従って本発明の目的は、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を検出することができる内燃機関の異常診断装置を提供することにある。
【課題を解決するための手段】
【００１５】
請求項１に係る発明は、触媒の上流側に排出ガスの空燃比又はリッチ／リーンを検出する上流側センサを設置すると共に、該触媒の下流側に排出ガスのリッチ／リーンを検出する下流側センサを設置し、上流側センサの出力に基づいて供給空燃比を補正するメインフィードバック制御と、下流側センサの出力に基づいてメインフィードバック制御に関する制御量を補正するサブフィードバック制御とを実行する内燃機関の異常診断装置において、所定の異常診断実行条件が成立した場合に、サブフィードバック制御による補正量（以下「サブフィードバック補正量」という）が所定のガード値でガードされた時間に基づいて排出ガス浄化率の悪化度合を排出ガス浄化率悪化度合判定手段により判定し、この排出ガス浄化率悪化度合判定手段で判定した排出ガス浄化率の悪化度合に基づいて気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態であるか否かを異常診断手段により判定することを第１の特徴とし、更に、所定の異常診断実行条件は、上流側センサ及び下流側センサが正常であることであり、排出ガス浄化率の悪化度合を判定する際に、サブフィードバック補正量が前記ガード値でガードされた状態が連続する時間だけ吸入空気量を積算し、この積算値に基づいて排出ガス浄化率の悪化度合を求めることを第２の特徴とするものである。
【００１６】
触媒の下流側に排出ガスのリッチ／リーンを検出する下流側センサ（酸素センサ）を設置したシステムの場合、下流側空燃比のずれ量を精度良く求めることが困難であるが、気筒間の空燃比ばらつきによってメインフィードバック制御の制御中心がずれて触媒の排出ガス浄化率が悪化すると、それに応じて触媒から流出する排出ガスの空燃比と目標空燃比との偏差（ずれ）が増大して、サブフィードバック補正量が増大してガード値でガードされた状態となるため、サブフィードバック補正量がガード値でガードされた時間に基づいて算出した排出ガス浄化率の悪化度合を用いれば、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。しかも、空燃比センサよりも安価な酸素センサを下流側センサとして用いることができるため、低コスト化の要求を満たすことができる利点もある。
【００１９】
更に、請求項１に係る発明では、サブフィードバック補正量がガード値でガードされた状態が連続する時間だけ吸入空気量を積算し、この積算値に基づいて排出ガス浄化率の悪化度合を求めるようにしている。サブフィードバック補正量がガード値でガードされた時間と吸入空気量（つまり排出ガス量）とに応じてエミッション排出量が変化するため、サブフィードバック補正量がガード値でガードされた状態が連続する時間だけ吸入空気量を積算して求めた排出ガス浄化率の悪化度合は、実際のエミッション排出量を精度良く反映したパラメータとなる。これにより、実際のエミッション排出量を精度良く反映した排出ガス浄化率の悪化度合を求めることができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化して実際にエミッション排出量が増大した異常状態を精度良く検出することができる。
【００２１】
また、請求項２のように、所定の異常診断期間にサブフィードバック補正量がガード値でガードされた状態が連続する時間だけ吸入空気量を積算して排出ガス浄化率の悪化度合を求める場合には、請求項３のように、異常診断期間にサブフィードバック補正量がガード値でガードされた状態が所定期間継続した後に排出ガス浄化率の悪化度合を求めるための積算処理を開始するようにしても良い。
【００２２】
このようにすれば、サブフィードバック補正量がガード値でガードされた状態が所定期間よりも短い期間で解消された場合には、下流側センサの出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれによって一時的にサブフィードバック補正量がガード値でガードされた状態であると判断して、排出ガス浄化率の悪化度合を求めるための積算処理を禁止し、サブフィードバック補正量がガード値でガードされた状態が所定期間継続した場合には、気筒間の空燃比ばらつきによる下流側空燃比のずれによってサブフィードバック補正量がガード値でガードされた状態であると判断して、排出ガス浄化率の悪化度合を求めるための積算処理を開始することができるため、ノイズや過渡の影響を受けずに排出ガス浄化率の悪化度合を精度良く求めることができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明を実施するための最良の形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００２４】
本発明の実施例１を図１及び図２に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、スロットルバルブ１５と、このスロットルバルブ１５の開度（スロットル開度）を検出するスロットル開度センサ１６とが設けられている。
【００２５】
更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７に、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。
【００２６】
一方、エンジン１１の排気管２１（排気通路）の途中には、排出ガスを浄化する三元触媒等の触媒２２が設置されている。この触媒２２の上流側と下流側には、排出ガスの空燃比又はリッチ／リーンを検出するセンサ２３，２４が設置されている。本実施例１では、上流側センサ２３と下流側センサ２４は、両方とも排出ガスの空燃比に応じたリニアな空燃比信号を出力する空燃比センサが用いられている。
【００２７】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２５や、エンジン１１のクランク軸が所定クランク角回転する毎にパルス信号を出力するクランク角センサ２６が取り付けられている。このクランク角センサ２６の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２８】
これら各種センサの出力は、制御回路（以下「ＥＣＵ」と表記する）２７に入力される。このＥＣＵ２７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された空燃比フィードバック制御プログラム（図示せず）を実行することで、上流側空燃比センサ２３の出力に基づいて触媒２２の上流側の排出ガスの空燃比を上流側の目標空燃比に一致させるように供給空燃比（例えば燃料噴射量）をフィードバック補正するメインフィードバック制御（空燃比フィードバック制御）を行うと共に、下流側空燃比センサ２４の出力に基づいて触媒２２の下流側の排出ガスの空燃比を下流側の目標空燃比に一致させるようにメインフィードバック制御に関する制御量（例えば上流側の目標空燃比やメインフィードバック補正量）をフィードバック補正するサブフィードバック制御を行う。
【００２９】
更に、ＥＣＵ２７は、後述する図２の異常診断ルーチンを実行することで、メインフィードバック制御及びサブフィードバック制御の実行中に、下流側空燃比センサ２４で検出した下流側空燃比（触媒２２の下流側の排出ガスの空燃比）が下流側の目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）を積算して下流側空燃比の連続ずれ量（排出ガス浄化率の悪化度合）を求め、この下流側空燃比の連続ずれ量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしている。
【００３０】
触媒２２の下流側に空燃比センサ２４を設置したシステムの場合、気筒間の空燃比ばらつきによってメインフィードバック制御の制御中心がずれて触媒２２の排出ガス浄化率が悪化すると、それに応じて触媒２２から流出する排出ガスの空燃比と目標空燃比との偏差が増大して、下流側空燃比のずれ量が大きくなるため、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量を積算して求めた下流側空燃比の連続ずれ量を用いれば、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを精度良く判定することができる。
【００３１】
以下、ＥＣＵ２７が実行する図２の異常診断ルーチンの処理内容を説明する。
図２に示す異常診断ルーチンは、ＥＣＵ２７の電源オン中に所定周期で実行され、特許請求の範囲でいう異常診断手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ１０１で、異常診断実行条件が成立しているか否かを判定する。ここで、異常診断実行条件は、例えば、[1] メインフィードバック制御及びサブフィードバック制御の実行中であること、[2] 触媒２２が正常である（劣化していない）こと、[3] 上流側及び下流側センサ２３，２４が両方とも正常である（劣化していない）こと等である。このステップ１０１で、異常診断実行条件が不成立であると判定されれば、ステップ１０４に進み、下流側空燃比の連続ずれ量を「０」にリセット又は維持する。
【００３２】
一方、上記ステップ１０１で、異常診断実行条件が成立していると判定された場合には、ステップ１０２に進み、異常診断期間を判定するための判定時間カウンタのカウント値を所定時間（例えば本ルーチンの演算周期に相当する時間）だけカウントアップした後、ステップ１０３に進み、下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）の絶対値が所定値を越えているか否かを判定する。このステップ１０３で、下流側空燃比のずれ量の絶対値が所定値以下であると判定されれば、下流側空燃比が目標空燃比からほとんどずれていないと判断して、ステップ１０４に進み、下流側空燃比の連続ずれ量を「０」にリセット又は維持する。
【００３３】
一方、上記ステップ１０３で、下流側空燃比のずれ量の絶対値が所定値を越えていると判定された場合には、下流側空燃比が目標空燃比からずれていると判断して、ステップ１０５に進み、前回までの下流側空燃比の連続ずれ量に今回の下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）を積算して下流側空燃比の連続ずれ量を更新する。これにより、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量を積算して下流側空燃比の連続ずれ量を求める。このステップ１０５の処理が特許請求の範囲でいう排出ガス浄化率悪化度合判定手段としての役割を果たす。
【００３４】
気筒間の空燃比ばらつきによって触媒２２の排出ガス浄化率が悪化するほど、下流側空燃比が目標空燃比からずれた状態が連続する期間が長くなると共に下流側空燃比のずれ量が大きくなるため、その連続期間に下流側空燃比のずれ量を積算して求めた下流側空燃比の連続ずれ量は、実際の排出ガス浄化率の悪化度合を精度良く反映したパラメータとなる。
【００３５】
この後、ステップ１０６に進み、下流側空燃比の連続ずれ量が異常判定値よりも小さいか否かを判定し、下流側空燃比の連続ずれ量が異常判定値よりも小さいと判定されれば、ステップ１０７に進み、判定時間カウンタのカウント値が終了判定値を越えたか否かを判定する。
【００３６】
このステップ１０７で、判定時間カウンタのカウント値が終了判定値を越えていないと判定された場合には、上記ステップ１０１に戻り、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量を積算して下流側空燃比の連続ずれ量を求める処理を繰り返す。
【００３７】
その後、上記ステップ１０６で、下流側空燃比の連続ずれ量が異常判定値以上であると判定された場合には、ステップ１０８に進み、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であると判定する。
【００３８】
これに対して、上記ステップ１０６で下流側空燃比の連続ずれ量が異常判定値以上であると判定されることなく、上記ステップ１０７で判定時間カウンタのカウント値が終了判定値を越えたと判定された場合には、異常診断期間が終了したと判断して、ステップ１０９に進み、正常状態である（気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態ではない）と判定する。
【００３９】
以上説明した本実施例１では、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量を積算して下流側空燃比の連続ずれ量を求め、この下流側空燃比の連続ずれ量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしたので、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。
【実施例２】
【００４０】
次に、図３を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分は説明を簡略化し、主として前記実施例１と異なる部分について説明する。
【００４１】
本実施例２では、後述する図３の異常診断ルーチンを実行することで、所定の異常診断期間に、下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）を積算して下流側空燃比の積算ずれ量（排出ガス浄化率の悪化度合）を求め、この下流側空燃比の積算ずれ量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしている。
【００４２】
図３の異常診断ルーチンでは、まず、ステップ２０１で、異常診断実行条件が成立しているか否かを判定し、異常診断実行条件が不成立であると判定されれば、ステップ２０４に進み、下流側空燃比の連続ずれ量を「０」にリセット又は維持する。
【００４３】
一方、上記ステップ２０１で、異常診断実行条件が成立していると判定された場合には、ステップ２０２に進み、異常診断期間を判定するための判定時間カウンタのカウント値を所定時間だけカウントアップした後、ステップ２０３に進み、下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）の絶対値が所定値を越えているか否かを判定する。このステップ２０３で、下流側空燃比のずれ量の絶対値が所定値以下であると判定されれば、下流側空燃比が目標空燃比に対してほとんどずれていないと判断して、ステップ２０４に進み、下流側空燃比の連続ずれ量を「０」にリセット又は維持する。
【００４４】
一方、上記ステップ２０３で、下流側空燃比のずれ量の絶対値が所定値を越えていると判定された場合には、下流側空燃比が目標空燃比に対してずれていると判断して、ステップ２０５に進み、前回までの下流側空燃比の連続ずれ量に今回の下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）を積算して下流側空燃比の連続ずれ量を更新する。      
【００４５】
この後、ステップ２０６に進み、下流側空燃比の連続ずれ量がノイズ判定値を越えたか否かを判定することで、下流側空燃比が目標空燃比からずれた状態が所定期間（下流側空燃比の連続ずれ量がノイズ判定値を越えるまでの期間）継続したか否かを判定する。
【００４６】
このステップ２０６で、下流側空燃比の連続ずれ量がノイズ判定値以下であると判定された場合、つまり、下流側空燃比が目標空燃比からずれた状態が所定期間よりも短い場合には、下流側空燃比センサ２４の出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれであると判断して、ステップ２０７以降の処理を行うことなく、本ルーチンを終了する。これにより、下流側空燃比の積算ずれ量を求めるための積算処理を禁止する。
【００４７】
一方、上記ステップ２０６で、下流側空燃比の連続ずれ量がノイズ判定値を越えたと判定された場合、つまり、下流側空燃比が目標空燃比からずれた状態が所定期間継続した場合には、気筒間の空燃比ばらつきによる下流側空燃比のずれであると判断して、ステップ２０７に進み、前回までの下流側空燃比の積算ずれ量に今回の下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）を積算して下流側空燃比の積算ずれ量を更新する。これにより、異常診断期間に下流側空燃比が目標空燃比からずれた状態が所定期間継続した後に下流側空燃比の積算ずれ量を求めるための積算処理を開始する。
【００４８】
気筒間の空燃比ばらつきによって触媒２２の排出ガス浄化率が悪化するほど、異常診断期間内に下流側空燃比が目標空燃比からずれた状態となる頻度が多くなると共に下流側空燃比のずれ量が大きくなるため、異常診断期間に下流側空燃比のずれ量を積算して求めた下流側空燃比の積算ずれ量は、実際の排出ガス浄化率の悪化度合を精度良く反映したパラメータとなる。
【００４９】
この後、ステップ２０８に進み、下流側空燃比の積算ずれ量が異常判定値よりも小さいか否かを判定し、下流側空燃比の積算ずれ量が異常判定値よりも小さいと判定されれば、ステップ２０９に進み、判定時間カウンタのカウント値が終了判定値を越えたか否かを判定する。
【００５０】
このステップ２０９で、判定時間カウンタのカウント値が終了判定値を越えていないと判定された場合には、上記ステップ２０１に戻り、異常診断期間に下流側空燃比のずれ量を積算して下流側空燃比の積算ずれ量を求める処理を繰り返す。
【００５１】
その後、上記ステップ２０８で、下流側空燃比の積算ずれ量が異常判定値以上であると判定された場合には、ステップ２１０に進み、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であると判定する。
【００５２】
これに対して、上記ステップ２０８で下流側空燃比の積算ずれ量が異常判定値以上であると判定されることなく、上記ステップ２０９で判定時間カウンタのカウント値が終了判定値を越えたと判定された場合には、異常診断期間が終了したと判断して、ステップ２１１に進み、正常状態である（気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態ではない）と判定する。
【００５３】
以上説明した本実施例２では、異常診断期間に下流側空燃比のずれ量を積算して下流側空燃比の積算ずれ量を求め、この下流側空燃比の積算ずれ量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしたので、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。
【００５４】
また、本実施例２では、下流側空燃比の連続ずれ量がノイズ判定値以下であると判定された場合（下流側空燃比が目標空燃比からずれた状態が所定期間よりも短い期間で解消された場合）には、下流側空燃比センサ２４の出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれであると判断して、下流側空燃比の積算ずれ量を求めるための積算処理を禁止し、下流側空燃比の連続ずれ量がノイズ判定値を越えたと判定された場合（下流側空燃比が目標空燃比からずれた状態が所定期間継続した場合）には、気筒間の空燃比ばらつきによる下流側空燃比のずれであると判断して、下流側空燃比の積算ずれ量を求めるための積算処理を開始するようにしたので、ノイズや過渡の影響を受けずに下流側空燃比の積算ずれ量を精度良く求めることができる。
【実施例３】
【００５５】
次に、図４を用いて本発明の実施例３を説明する。但し、前記実施例１と実質的に同一部分は説明を簡略化し、主として前記実施例１と異なる部分について説明する。
【００５６】
本実施例３では、後述する図４の異常診断ルーチンを実行することで、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量と吸入空気量との乗算値を積算して連続エミッション排出量（排出ガス浄化率の悪化度合）を求め、この連続エミッション排出量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしている。
【００５７】
図４の異常診断ルーチンでは、まず、ステップ３０１で、異常診断実行条件が成立しているか否かを判定し、異常診断実行条件が不成立であると判定されれば、ステップ３０４に進み、下流側空燃比の連続ずれ量を「０」にリセット又は維持する。
【００５８】
一方、上記ステップ３０１で、異常診断実行条件が成立していると判定された場合には、ステップ３０２に進み、異常診断期間を判定するための判定期間カウンタのカウント値を今回の吸入空気量だけカウントアップした後、ステップ３０３に進み、下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）の絶対値が所定値を越えているか否かを判定する。このステップ３０３で、下流側空燃比のずれ量の絶対値が所定値以下であると判定されれば、下流側空燃比が目標空燃比に対してほとんどずれていないと判断して、ステップ３０４に進み、下流側空燃比の連続ずれ量を「０」にリセット又は維持する。
【００５９】
一方、上記ステップ３０３で、下流側空燃比のずれ量の絶対値が所定値を越えていると判定された場合には、下流側空燃比が目標空燃比に対してずれていると判断して、ステップ３０５に進み、今回の下流側空燃比のずれ量と吸入空気量との乗算値を、前回までの連続エミッション排出量に積算して連続エミッション排出量を更新する。これにより、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量と吸入空気量との乗算値を積算して連続エミッション排出量を求める。
【００６０】
下流側空燃比のずれ量と吸入空気量（つまり排出ガス量）とに応じてエミッション排出量が変化するため、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量と吸入空気量との乗算値を積算して求めた連続エミッション排出量は、実際のエミッション排出量を精度良く反映したパラメータとなる。
【００６１】
この後、ステップ３０６に進み、連続エミッション排出量が異常判定値よりも小さいか否かを判定し、連続エミッション排出量が異常判定値よりも小さいと判定されれば、ステップ３０７に進み、判定期間カウンタのカウント値が終了判定値を越えたか否かを判定する。
【００６２】
このステップ３０７で、判定期間カウンタのカウント値が終了判定値を越えていないと判定された場合には、上記ステップ３０１に戻り、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量と吸入空気量との乗算値を積算して連続エミッション排出量を求める処理を繰り返す。
【００６３】
その後、上記ステップ３０６で、連続エミッション排出量が異常判定値以上であると判定された場合には、ステップ３０８に進み、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であると判定する。
【００６４】
これに対して、上記ステップ３０６で連続エミッション排出量が異常判定値以上であると判定されることなく、上記ステップ３０７で判定期間カウンタのカウント値が終了判定値を越えたと判定された場合には、異常診断期間が終了したと判断して、ステップ３０９に進み、正常状態である（気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態ではない）と判定する。
【００６５】
以上説明した本実施例３では、下流側空燃比が目標空燃比からずれた状態が連続する期間に、下流側空燃比のずれ量と吸入空気量との乗算値を積算して連続エミッション排出量を求め、この連続エミッション排出量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしたので、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化して実際にエミッション排出量が増大した異常状態であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。
【実施例４】
【００６６】
次に、図５を用いて本発明の実施例４を説明する。但し、前記実施例１と実質的に同一部分は説明を簡略化し、主として前記実施例１と異なる部分について説明する。
【００６７】
本実施例４では、後述する図５の異常診断ルーチンを実行することで、所定の異常診断期間に、下流側空燃比のずれ量と吸入空気量との乗算値を積算して積算エミッション排出量（排出ガス浄化率の悪化度合）を求め、この積算エミッション排出量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしている。
【００６８】
図５の異常診断ルーチンでは、まず、ステップ４０１で、異常診断実行条件が成立しているか否かを判定し、異常診断実行条件が不成立であると判定されれば、ステップ４０４に進み、下流側空燃比の連続ずれ量を「０」にリセット又は維持する。
【００６９】
一方、上記ステップ４０１で、異常診断実行条件が成立していると判定された場合には、ステップ４０２に進み、異常診断期間を判定するための判定期間カウンタのカウント値を今回の吸入空気量だけカウントアップした後、ステップ４０３に進み、下流側空燃比のずれ量（下流側空燃比と目標空燃比との偏差）の絶対値が所定値を越えているか否かを判定する。このステップ４０３で、下流側空燃比のずれ量の絶対値が所定値以下であると判定されれば、下流側空燃比が目標空燃比に対してほとんどずれていないと判断して、ステップ４０４に進み、下流側空燃比の連続ずれ量を「０」にリセット又は維持する。
【００７０】
一方、上記ステップ４０３で、下流側空燃比のずれ量の絶対値が所定値を越えていると判定された場合には、下流側空燃比が目標空燃比に対してずれていると判断して、ステップ４０５に進み、今回の下流側空燃比のずれ量と吸入空気量との乗算値を前回までの連続エミッション排出量に積算して連続エミッション排出量を更新する。
【００７１】
この後、ステップ４０６に進み、連続エミッション排出量がノイズ判定値を越えたか否かを判定することで、下流側空燃比が目標空燃比からずれた状態が所定期間（連続エミッション排出量がノイズ判定値を越えるまでの期間）継続したか否かを判定する。
【００７２】
このステップ４０６で、連続エミッション排出量がノイズ判定値以下であると判定された場合、つまり、下流側空燃比が目標空燃比からずれた状態が所定期間よりも短い場合には、下流側空燃比センサ２４の出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれであると判断して、ステップ４０７以降の処理を行うことなく、本ルーチンを終了する。これにより、積算エミッション排出量を求めるための積算処理を禁止する。
【００７３】
一方、上記ステップ４０６で、連続エミッション排出量がノイズ判定値を越えたと判定された場合、つまり、下流側空燃比が目標空燃比からずれた状態が所定期間継続した場合には、気筒間の空燃比ばらつきによる下流側空燃比のずれであると判断して、ステップ４０７に進み、今回の下流側空燃比のずれ量と吸入空気量との乗算値を前回までの積算エミッション排出量に積算して積算エミッション排出量を更新する。これにより、異常診断期間に下流側空燃比が目標空燃比からずれた状態が所定期間継続した後に積算エミッション排出量を求めるための積算処理を開始する。
【００７４】
下流側空燃比のずれ量と吸入空気量（つまり排出ガス量）とに応じてエミッション排出量が変化するため、異常診断期間に下流側空燃比のずれ量と吸入空気量との乗算値を積算して求めた積算エミッション排出量は、実際のエミッション排出量を精度良く反映したパラメータとなる。
【００７５】
この後、ステップ４０８に進み、積算エミッション排出量が異常判定値よりも小さいか否かを判定し、積算エミッション排出量が異常判定値よりも小さいと判定されれば、ステップ４０９に進み、判定期間カウンタのカウント値が終了判定値を越えたか否かを判定する。
【００７６】
このステップ４０９で、判定期間カウンタのカウント値が終了判定値を越えていないと判定された場合には、上記ステップ４０１に戻り、異常診断期間に下流側空燃比のずれ量と吸入空気量との乗算値を積算して積算エミッション排出量を求める処理を繰り返す。
【００７７】
その後、上記ステップ４０８で、積算エミッション排出量が異常判定値以上であると判定された場合には、ステップ４１０に進み、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であると判定する。
【００７８】
これに対して、上記ステップ４０８で積算エミッション排出量が異常判定値以上であると判定されることなく、上記ステップ４０９で判定期間カウンタのカウント値が終了判定値を越えたと判定された場合には、異常診断期間が終了したと判断して、ステップ４１１に進み、正常状態である（気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態ではない）と判定する。
【００７９】
以上説明した本実施例４では、異常診断期間に下流側空燃比のずれ量と吸入空気量との乗算値を積算して積算エミッション排出量を求め、この積算エミッション排出量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしたので、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化して実際にエミッション排出量が増大した異常状態であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。
【００８０】
また、本実施例４では、連続エミッション排出量がノイズ判定値以下であると判定された場合（下流側空燃比が目標空燃比からずれた状態が所定期間よりも短い場合）には、下流側空燃比センサ２４の出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれであると判断して、積算エミッション排出量を求めるための積算処理を禁止し、連続エミッション排出量がノイズ判定値を越えたと判定された場合（下流側空燃比が目標空燃比からずれた状態が所定期間継続した場合）には、気筒間の空燃比ばらつきによる下流側空燃比のずれであると判断して、積算エミッション排出量を求めるための積算処理を開始するようにしたので、ノイズや過渡の影響を受けずに積算エミッション排出量を精度良く求めることができる利点がある。
【実施例５】
【００８１】
次に、図６を用いて本発明の実施例５を説明する。但し、前記実施例１と実質的に同一部分は説明を簡略化し、主として前記実施例１と異なる部分について説明する。
【００８２】
上記各実施例１〜４では、触媒２２の下流側に、排出ガスの空燃比を検出する下流側空燃比センサ２４を設置したシステム構成としたが、本実施例５では、触媒２２の下流側に、排出ガスのリッチ／リーンを検出する（排出ガスの空燃比が理論空燃比に対してリッチかリーンかによって出力電圧が反転する）下流側酸素センサ２４を設置したシステム構成としている。
【００８３】
本実施例５では、後述する図６の異常診断ルーチンを実行することで、サブフィードバック制御によってメインフィードバック制御に関する制御量（例えば上流側の目標空燃比やメインフィードバック補正量）をフィードバック補正する際の補正量（以下「サブＦ／Ｂ補正量」と表記する）が所定のガード値でガードされた状態が連続する時間を連続ガード時間（排出ガス浄化率の悪化度合）として求め、この連続ガード時間を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしている。
【００８４】
触媒２２の下流側に酸素センサ２４を設置したシステムの場合、下流側空燃比のずれ量を精度良く求めることが困難であるが、気筒間の空燃比ばらつきによってメインフィードバック制御の制御中心がずれて触媒２２の排出ガス浄化率が悪化すると、それに応じて触媒２２から流出する排出ガスの空燃比と目標空燃比との偏差が増大して、サブＦ／Ｂ補正量が増大してガード値でガードされた状態となるため、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間である連続ガード時間を用いれば、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを精度良く判定することができる。
【００８５】
図６の異常診断ルーチンでは、まず、ステップ５０１で、異常診断実行条件が成立しているか否かを判定し、異常診断実行条件が不成立であると判定されれば、ステップ５０４に進み、連続ガード時間を「０」にリセット又は維持する。
【００８６】
一方、上記ステップ５０１で、異常診断実行条件が成立していると判定された場合には、ステップ５０２に進み、異常診断期間を判定するための判定時間カウンタのカウント値を所定時間だけカウントアップした後、ステップ５０３に進み、サブＦ／Ｂ補正量がガード値でガードされているか否か（サブＦ／Ｂ補正量＝ガード値か否か）を判定する。このステップ５０３で、サブＦ／Ｂ補正量がガード値でガードされていないと判定されれば、ステップ５０４に進み、連続ガード時間を「０」にリセット又は維持する。
【００８７】
一方、上記ステップ５０３で、サブＦ／Ｂ補正量がガード値でガードされていると判定された場合には、ステップ５０５に進み、連続ガード時間を所定時間（例えば本ルーチンの演算周期に相当する時間）だけカウントアップすることで、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間である連続ガード時間を計測する。
【００８８】
気筒間の空燃比ばらつきによって触媒２２の排出ガス浄化率が悪化するほど、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間が長くなるため、その連続時間を計測して求めた連続ガード時間は、実際の排出ガス浄化率の悪化度合を精度良く反映したパラメータとなる。
【００８９】
この後、ステップ５０６に進み、連続ガード時間が異常判定値よりも小さいか否かを判定し、連続ガード時間が異常判定値よりも小さいと判定されれば、ステップ５０７に進み、判定時間カウンタのカウント値が終了判定値を越えたか否かを判定する。
【００９０】
このステップ５０７で、判定時間カウンタのカウント値が終了判定値を越えていないと判定された場合には、上記ステップ５０１に戻り、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間である連続ガード時間を計測する処理を繰り返す。
【００９１】
その後、上記ステップ５０６で、連続ガード時間が異常判定値以上であると判定された場合には、ステップ５０８に進み、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であると判定する。
【００９２】
これに対して、上記ステップ５０６で連続ガード時間が異常判定値以上であると判定されることなく、上記ステップ５０７で判定時間カウンタのカウント値が終了判定値を越えたと判定された場合には、異常診断期間が終了したと判断して、ステップ５０９に進み、正常状態である（気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態ではない）と判定する。
【００９３】
以上説明した本実施例５では、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間を連続ガード時間として求め、この連続ガード時間を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしたので、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。しかも、空燃比センサよりも安価な酸素センサを下流側センサ２４として用いることができるため、低コスト化することができる利点もある。
【実施例６】
【００９４】
次に、図７を用いて本発明の実施例６を説明する。但し、前記実施例５と実質的に同一部分は説明を簡略化し、主として前記実施例５と異なる部分について説明する。
【００９５】
本実施例６では、後述する図７の異常診断ルーチンを実行することで、所定の異常診断期間に、サブＦ／Ｂ補正量がガード値でガードされた時間を積算して積算ガード時間（排出ガス浄化率の悪化度合）を求め、この積算ガード時間を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしている。
【００９６】
図７の異常診断ルーチンでは、まず、ステップ６０１で、異常診断実行条件が成立しているか否かを判定し、異常診断実行条件が不成立であると判定されれば、ステップ６０４に進み、連続ガード時間を「０」にリセット又は維持する。
【００９７】
一方、上記ステップ６０１で、異常診断実行条件が成立していると判定された場合には、ステップ６０２に進み、異常診断期間を判定するための判定時間カウンタのカウント値を所定時間だけカウントアップした後、ステップ６０３に進み、サブＦ／Ｂ補正量がガード値でガードされているか否か（サブＦ／Ｂ補正量＝ガード値か否か）を判定する。このステップ６０３で、サブＦ／Ｂ補正量がガード値でガードされていないと判定されれば、ステップ６０４に進み、連続ガード時間を「０」にリセット又は維持する。
【００９８】
一方、上記ステップ６０３で、サブＦ／Ｂ補正量がガード値でガードされていると判定された場合には、ステップ６０５に進み、連続ガード時間を所定時間だけカウントアップする。この後、ステップ６０６に進み、連続ガード時間がノイズ判定値を越えたか否かを判定することで、サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間（連続ガード時間がノイズ判定値を越えるまでの期間）継続したか否かを判定する。
【００９９】
このステップ６０６で、連続ガード時間がノイズ判定値以下であると判定された場合、つまり、サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間よりも短い期間で解消された場合には、下流側酸素センサ２４の出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれによって一時的にサブＦ／Ｂ補正量がガード値でガードされた状態であると判断して、ステップ６０７以降の処理を行うことなく、本ルーチンを終了する。これにより、積算ガード時間を求めるための積算処理を禁止する。
【０１００】
一方、上記ステップ６０６で、連続ガード時間がノイズ判定値を越えたと判定された場合、つまり、サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間継続した場合には、気筒間の空燃比ばらつきによる下流側空燃比のずれによってサブＦ／Ｂ補正量がガード値でガードされた状態であると判断して、ステップ６０７に進み、積算ガード時間を所定時間（例えば本ルーチンの演算周期に相当する時間）だけカウントアップすることで、サブＦ／Ｂ補正量がガード値でガードされた時間を積算した積算ガード時間を求める。これにより、異常診断期間にサブＦ／Ｂ補正量がガード値でガードされた状態が所定期間継続した後に積算ガード時間を求めるための積算処理を開始する。
【０１０１】
気筒間の空燃比ばらつきによって触媒２２の排出ガス浄化率が悪化するほど、異常診断期間内にサブＦ／Ｂ補正量がガード値でガードされた状態となる頻度が多くなるため、異常診断期間にサブＦ／Ｂ補正量がガード値でガードされた時間を積算して求めた積算ガード時間は、実際の排出ガス浄化率の悪化度合を精度良く反映したパラメータとなる。
【０１０２】
この後、ステップ６０８に進み、積算ガード時間が異常判定値よりも小さいか否かを判定し、積算ガード時間が異常判定値よりも小さいと判定されれば、ステップ６０９に進み、判定時間カウンタのカウント値が終了判定値を越えたか否かを判定する。
【０１０３】
このステップ６０９で、判定時間カウンタのカウント値が終了判定値を越えていないと判定された場合には、上記ステップ６０１に戻り、サブＦ／Ｂ補正量がガード値でガードされた時間を積算して積算ガード時間を求める処理を繰り返す。
【０１０４】
その後、上記ステップ６０８で、積算ガード時間が異常判定値以上であると判定された場合には、ステップ６１０に進み、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であると判定する。
【０１０５】
これに対して、上記ステップ６０８で積算ガード時間が異常判定値以上であると判定されることなく、上記ステップ６０９で判定時間カウンタのカウント値が終了判定値を越えたと判定された場合には、異常診断期間が終了したと判断して、ステップ６１１に進み、正常状態である（気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態ではない）と判定する。
【０１０６】
以上説明した本実施例６では、サブＦ／Ｂ補正量がガード値でガードされた時間を積算して積算ガード時間を求め、この積算ガード時間を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしたので、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。
【０１０７】
また、本実施例６では、連続ガード時間がノイズ判定値以下であると判定された場合（サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間よりも短い期間で解消された場合）には、下流側酸素センサ２４の出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれによって一時的にサブＦ／Ｂ補正量がガード値でガードされた状態であると判断して、積算ガード時間を求めるための積算処理を禁止し、連続ガード時間がノイズ判定値を越えたと判定された場合（サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間継続した場合）には、気筒間の空燃比ばらつきによる下流側空燃比のずれによってサブＦ／Ｂ補正量がガード値でガードされた状態であると判断して、積算ガード時間を求めるための積算処理を開始するようにしたので、ノイズや過渡の影響を受けずに積算ガード時間を精度良く求めることができる。
【実施例７】
【０１０８】
次に、図８を用いて本発明の実施例７を説明する。但し、前記実施例５と実質的に同一部分は説明を簡略化し、主として前記実施例５と異なる部分について説明する。
【０１０９】
本実施例７では、後述する図８の異常診断ルーチンを実行することで、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間だけ吸入空気量を積算して連続吸入空気量（排出ガス浄化率の悪化度合）を求め、この連続吸入空気量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしている。
【０１１０】
図８の異常診断ルーチンでは、まず、ステップ７０１で、異常診断実行条件が成立しているか否かを判定し、異常診断実行条件が不成立であると判定されれば、ステップ７０４に進み、連続吸入空気量を「０」にリセット又は維持する。
【０１１１】
一方、上記ステップ７０１で、異常診断実行条件が成立していると判定された場合には、ステップ７０２に進み、異常診断期間を判定するための判定期間カウンタのカウント値を今回の吸入空気量だけカウントアップした後、ステップ７０３に進み、サブＦ／Ｂ補正量がガード値でガードされているか否か（サブＦ／Ｂ補正量＝ガード値か否か）を判定する。このステップ７０３で、サブＦ／Ｂ補正量がガード値でガードされていないと判定されれば、ステップ７０４に進み、連続吸入空気量を「０」にリセット又は維持する。
【０１１２】
一方、上記ステップ７０３で、サブＦ／Ｂ補正量がガード値でガードされていると判定された場合には、ステップ７０５に進み、前回までの連続吸入空気量に今回の吸入空気量を積算して連続吸入空気量を更新する。これにより、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間だけ吸入空気量を積算して連続吸入空気量を求める。
【０１１３】
サブＦ／Ｂ補正量がガード値でガードされた時間と吸入空気量（つまり排出ガス量）とに応じてエミッション排出量が変化するため、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間だけ吸入空気量を積算して求めた連続吸入空気量は、実際のエミッション排出量を精度良く反映したパラメータとなる。
【０１１４】
この後、ステップ７０６に進み、連続吸入空気量が異常判定値よりも小さいか否かを判定し、連続吸入空気量が異常判定値よりも小さいと判定されれば、ステップ７０７に進み、判定期間カウンタのカウント値が終了判定値を越えたか否かを判定する。
【０１１５】
このステップ７０７で、判定期間カウンタのカウント値が終了判定値を越えていないと判定された場合には、上記ステップ７０１に戻り、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間だけ吸入空気量を積算して連続吸入空気量を求める処理を繰り返す。
【０１１６】
その後、上記ステップ７０６で、連続吸入空気量が異常判定値以上であると判定された場合には、ステップ７０８に進み、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であると判定する。
【０１１７】
これに対して、上記ステップ７０６で連続吸入空気量が異常判定値以上であると判定されることなく、上記ステップ７０７で判定期間カウンタのカウント値が終了判定値を越えたと判定された場合には、異常診断期間が終了したと判断して、ステップ７０９に進み、正常状態である（気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態ではない）と判定する。
【０１１８】
以上説明した本実施例７では、サブＦ／Ｂ補正量がガード値でガードされた状態が連続する時間だけ吸入空気量を積算して連続吸入空気量を求め、この連続吸入空気量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしたので、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化して実際にエミッション排出量が増大した異常状態であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。
【実施例８】
【０１１９】
次に、図９を用いて本発明の実施例８を説明する。但し、前記実施例５と実質的に同一部分は説明を簡略化し、主として前記実施例５と異なる部分について説明する。
【０１２０】
本実施例８では、後述する図９の異常診断ルーチンを実行することで、所定の異常診断期間に、サブＦ／Ｂ補正量がガード値でガードされた時間だけ吸入空気量を積算して積算吸入空気量（排出ガス浄化率の悪化度合）を求め、この積算吸入空気量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしている。
【０１２１】
図９の異常診断ルーチンでは、まず、ステップ８０１で、異常診断実行条件が成立しているか否かを判定し、異常診断実行条件が不成立であると判定されれば、ステップ８０４に進み、連続吸入空気量を「０」にリセット又は維持する。
【０１２２】
一方、上記ステップ８０１で、異常診断実行条件が成立していると判定された場合には、ステップ８０２に進み、異常診断期間を判定するための判定期間カウンタのカウント値を今回の吸入空気量だけカウントアップした後、ステップ８０３に進み、サブＦ／Ｂ補正量がガード値でガードされているか否か（サブＦ／Ｂ補正量＝ガード値か否か）を判定する。このステップ８０３で、サブＦ／Ｂ補正量がガード値でガードされていないと判定されれば、ステップ８０４に進み、連続吸入空気量を「０」にリセット又は維持する。
【０１２３】
一方、上記ステップ８０３で、サブＦ／Ｂ補正量がガード値でガードされていると判定された場合には、ステップ８０５に進み、前回までの連続吸入空気量に今回の吸入空気量を積算して連続吸入空気量を更新する。
【０１２４】
この後、ステップ８０６に進み、連続吸入空気量がノイズ判定値を越えたか否かを判定することで、サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間（連続吸入空気量がノイズ判定値を越えるまでの期間）継続したか否かを判定する。
【０１２５】
このステップ８０６で、連続吸入空気量がノイズ判定値以下であると判定された場合、つまり、サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間よりも短い期間で解消された場合には、下流側酸素センサ２４の出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれによって一時的にサブＦ／Ｂ補正量がガード値でガードされた状態であると判断して、ステップ８０７以降の処理を行うことなく、本ルーチンを終了する。これにより、積算吸入空気量を求めるための積算処理を禁止する。
【０１２６】
一方、上記ステップ８０６で、連続吸入空気量がノイズ判定値を越えたと判定された場合、つまり、サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間継続した場合には、気筒間の空燃比ばらつきによる下流側空燃比のずれによってサブＦ／Ｂ補正量がガード値でガードされた状態であると判断して、ステップ８０７に進み、前回までの積算吸入空気量に今回の吸入空気量を積算して積算吸入空気量を更新する。これにより、異常診断期間にサブＦ／Ｂ補正量がガード値でガードされた状態が所定期間継続した後に積算吸入空気量を求めるための積算処理を開始する。
【０１２７】
サブＦ／Ｂ補正量がガード値でガードされた時間と吸入空気量（つまり排出ガス量）とに応じてエミッション排出量が変化するため、サブＦ／Ｂ補正量がガード値でガードされた時間だけ吸入空気量を積算して求めた積算吸入空気量は、実際のエミッション排出量を精度良く反映したパラメータとなる。
【０１２８】
この後、ステップ８０８に進み、積算吸入空気量が異常判定値よりも小さいか否かを判定し、積算吸入空気量が異常判定値よりも小さいと判定されれば、ステップ８０９に進み、判定期間カウンタのカウント値が終了判定値を越えたか否かを判定する。
【０１２９】
このステップ８０９で、判定期間カウンタのカウント値が終了判定値を越えていないと判定された場合には、上記ステップ８０１に戻り、サブＦ／Ｂ補正量がガード値でガードされた時間だけ吸入空気量を積算して積算吸入空気量を求める処理を繰り返す。
【０１３０】
その後、上記ステップ８０８で、積算吸入空気量が異常判定値以上であると判定された場合には、ステップ８１０に進み、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であると判定する。
【０１３１】
これに対して、上記ステップ８０８で積算吸入空気量が異常判定値以上であると判定されることなく、上記ステップ８０９で判定期間カウンタのカウント値が終了判定値を越えたと判定された場合には、異常診断期間が終了したと判断して、ステップ８１１に進み、正常状態である（気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態ではない）と判定する。
【０１３２】
以上説明した本実施例８では、異常診断期間にサブＦ／Ｂ補正量がガード値でガードされた時間だけ吸入空気量を積算して積算吸入空気量を求め、この積算吸入空気量を異常判定値と比較して気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態（メインフィードバック制御の制御中心がずれた状態）であるか否かを判定するようにしたので、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化して実際にエミッション排出量が増大した異常状態であるか否かを精度良く判定することができ、気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態を早期に検出することができる。
【０１３３】
また、本実施例８では、連続吸入空気量がノイズ判定値以下であると判定された場合（サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間よりも短い期間で解消された場合）には、下流側酸素センサ２４の出力に重畳したノイズや過渡（運転状態の変化）による一時的な下流側空燃比のずれによって一時的にサブＦ／Ｂ補正量がガード値でガードされた状態であると判断して、積算吸入空気量を求めるための積算処理を禁止し、連続吸入空気量がノイズ判定値を越えたと判定された場合（サブＦ／Ｂ補正量がガード値でガードされた状態が所定期間継続した場合）には、気筒間の空燃比ばらつきによる下流側空燃比のずれによってサブＦ／Ｂ補正量がガード値でガードされた状態であると判断して、積算吸入空気量を求めるための積算処理を開始するようにしたので、ノイズや過渡の影響を受けずに積算吸入空気量を精度良く求めることができる。
【０１３４】
尚、上記各実施例１〜４では、上流側空燃比センサ２３の出力に基づいたメインフィードバック制御と下流側空燃比センサ２４の出力に基づいたサブフィードバック制御を行うシステムに本発明を適用したが、触媒２２の下流側に下流側酸素センサ２４とモニター用の下流側空燃比センサを設置して、上流側空燃比センサ２３の出力に基づいたメインフィードバック制御と下流側酸素センサ２４の出力に基づいたサブフィードバック制御を行うシステムにおいて、モニター用の下流側空燃比センサで検出した空燃比とその目標空燃比とのずれ量の積算値に基づいて排出ガス浄化率の悪化度合を判定し、その排出ガス浄化率の悪化度合に基づいて気筒間の空燃比ばらつきによって排出ガス浄化率が悪化した異常状態であるか否かを判定するようにしても良い。
【０１３５】
また、上記各実施例１〜８では、触媒２２の上流側に空燃比センサを設置したシステムに本発明を適用したが、触媒２２の上流側に酸素センサを設置したシステムに本発明を適用しても良い。
【図面の簡単な説明】
【０１３６】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】実施例１の異常診断ルーチンの処理の流れを説明するフローチャートである。
【図３】実施例２の異常診断ルーチンの処理の流れを説明するフローチャートである。
【図４】実施例３の異常診断ルーチンの処理の流れを説明するフローチャートである。
【図５】実施例４の異常診断ルーチンの処理の流れを説明するフローチャートである。
【図６】実施例５の異常診断ルーチンの処理の流れを説明するフローチャートである。
【図７】実施例６の異常診断ルーチンの処理の流れを説明するフローチャートである。
【図８】実施例７の異常診断ルーチンの処理の流れを説明するフローチャートである。
【図９】実施例８の異常診断ルーチンの処理の流れを説明するフローチャートである。
【符号の説明】
【０１３７】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ、１５…スロットルバルブ、２０…燃料噴射弁、２１…排気管（排気通路）、２２…触媒、２３…上流側空燃比センサ、２４…下流側空燃比センサ、２７…ＥＣＵ（排出ガス浄化率悪化度合判定手段，異常診断手段）
【図１】
0004930347.tif 000002
【図２】
0004930347.tif 000003
【図３】
0004930347.tif 000004
【図４】
0004930347.tif 000005
【図５】
0004930347.tif 000006
【図６】
0004930347.tif 000007
【図７】
0004930347.tif 000008
【図８】
0004930347.tif 000009
【図９】
0004930347.tif 000010