(57)【要約】  本発明による空燃比気筒間インバランス判定装置（判定装置）は、空燃比センサ（６７）の出力値に基づいて、複数の気筒のそれぞれに供給される混合気の空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを取得し、そのインバランス判定用パラメータとインバランス判定閾値との比較に基づいて空燃比気筒間インバランス判定を行う。判定装置は、燃料タンク（４５）内に発生した蒸発燃料ガスが吸気通路に導入されているとき、その蒸発燃料ガスによる空燃比変化を補償するパージ補正係数ＦＰＧを空燃比センサの出力値に基づいて算出し、パージ補正係数ＦＰＧにより燃料噴射量を補正する。更に、本判定装置は、パージ補正係数ＦＰＧによる燃料噴射量の補正率（｜１−ＦＰＧ｜）が大きいとき、空燃比気筒間インバランス判定を禁止する。
2011033688.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有する多気筒内燃機関に適用される空燃比気筒間インバランス判定装置であって、
前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設される空燃比センサであって同空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する空燃比センサと、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する複数の燃料噴射弁と、
前記複数の燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料ガスを前記機関の吸気通路に導入するための通路を構成するパージ通路部と、
前記パージ通路部を通して前記機関の吸気通路に流入する前記蒸発燃料ガスの量である蒸発燃料ガスパージ量を制御するパージ量制御手段と、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得するインバランス判定用パラメータ取得手段と、
前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較するとともにその比較の結果に基づいて空燃比気筒間インバランス状態が発生したか否かについて判定するインバランス判定を実行するインバランス判定手段と、
前記吸気通路に流入する前記蒸発燃料ガスが前記インバランス判定用パラメータを所定の許容量以上変化させるような状態である蒸発燃料ガス影響発生状態が発生しているか否かを判定するとともに、前記蒸発燃料ガス影響発生状態が発生していると判定されたとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止するインバランス判定実行可否決定手段と、
を備えた空燃比気筒間インバランス判定装置。
【請求項２】
請求項１に記載の空燃比気筒間インバランス判定装置であって、
前記空燃比センサの出力値により表される空燃比が所定の目標空燃比に一致するように前記複数の燃料噴射弁のそれぞれから噴射される燃料の量である燃料噴射量を同空燃比センサの出力値と同目標空燃比とに基づいて算出される空燃比フィードバック量により補正するフィードバック制御手段を備えた空燃比気筒間インバランス判定装置。
【請求項３】
請求項２に記載の空燃比気筒間インバランス判定装置において、
前記フィードバック制御手段は、
前記空燃比フィードバック量の一部をなす補正量であって、前記蒸発燃料ガスが前記吸気通路に流入することによる前記２以上の気筒のそれぞれの燃焼室に供給される混合気の空燃比の変化、を抑制するための補正量、である蒸発燃料ガスパージ補正量を前記空燃比センサの出力値に基づいて算出するように構成され、
前記インバランス判定実行可否決定手段は、
前記蒸発燃料ガスパージ補正量と同蒸発燃料ガスパージ補正量の基準値との差の大きさが所定のパージ影響判定用閾値よりも大きいとき前記蒸発燃料ガス影響発生状態が発生していると判定するように構成された空燃比気筒間インバランス判定装置。
【請求項４】
請求項３に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定用パラメータ取得手段は、
前記蒸発燃料ガスパージ補正量に基づいて前記取得したインバランス判定用パラメータを補正することにより前記インバランス判定に用いられるインバランス判定用パラメータを取得する第１パラメータ補正手段を含む空燃比気筒間インバランス判定装置。
【請求項５】
請求項３に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定手段は、
前記蒸発燃料ガスパージ補正量に基づいて前記インバランス判定用閾値を補正する第１判定用閾値補正手段を含む空燃比気筒間インバランス判定装置。
【請求項６】
請求項１乃至請求項５の何れか一項に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定実行可否決定手段は、
前記機関の暖機状態が所定の暖機状態に到達したか否かを判定するとともに、同機関の暖機状態が同所定の暖機状態に到達していないと判定されたとき前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止するように構成された空燃比気筒間インバランス判定装置。
【請求項７】
請求項６に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定実行可否決定手段は、
前記機関の暖機状態が進むにつれて大きくなる暖機状態パラメータを取得するとともに同取得された暖機状態パラメータが所定の暖機状態閾値よりも小さいとき同機関の暖機状態が前記所定の暖機状態に到達していないと判定するように構成された空燃比気筒間インバランス判定装置。
【請求項８】
請求項７に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定実行可否決定手段は、
前記暖機状態パラメータとして前記機関の冷却水の温度を取得するように構成された空燃比気筒間インバランス判定装置。
【請求項９】
請求項７又は請求項８に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定用パラメータ取得手段は、
前記取得された暖機状態パラメータに基づいて前記取得したインバランス判定用パラメータを補正することにより前記インバランス判定に用いられるインバランス判定用パラメータを取得する第２パラメータ補正手段を含む空燃比気筒間インバランス判定装置。
【請求項１０】
請求項７又は請求項８に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定手段は、
前記取得された暖機状態パラメータに基づいて前記インバランス判定用閾値を補正する第２判定用閾値補正手段を含む空燃比気筒間インバランス判定装置。
【請求項１１】
複数の気筒を有する多気筒内燃機関に適用され、
前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設される空燃比センサであって同空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する空燃比センサと、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する複数の燃料噴射弁と、
前記複数の燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料ガスを前記機関の吸気通路に導入するための通路を構成するパージ通路部と、
前記パージ通路部を通して前記機関の吸気通路に流入する前記蒸発燃料ガスの量である蒸発燃料ガスパージ量を制御するパージ量制御手段と、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得するインバランス判定用パラメータ取得手段と、
前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較するとともにその比較の結果に基づいて空燃比気筒間インバランス状態が発生したか否かについて判定するインバランス判定を実行するインバランス判定手段と、
前記空燃比センサの出力値により表される空燃比が所定の目標空燃比に一致するように前記燃料噴射弁から噴射される燃料の量である燃料噴射量を同空燃比センサの出力値と同目標空燃比とに基づいて算出される空燃比フィードバック量により補正するフィードバック制御手段と、
を備えた空燃比気筒間インバランス判定装置において、
前記フィードバック制御手段は、
前記空燃比フィードバック量の一部をなす補正量であって前記蒸発燃料ガスパージによる前記２以上の気筒のそれぞれの燃焼室に供給される混合気の空燃比の変化を抑制するための補正量である蒸発燃料ガスパージ補正量を前記空燃比センサの出力値に基づいて算出するように構成され、
前記インバランス判定用パラメータ取得手段は、
前記算出された蒸発燃料ガスパージ補正量に基づいて前記インバランス判定用パラメータを補正するように構成され、
前記インバランス判定手段は、
前記補正されたインバランス判定用パラメータを前記インバランス判定に使用するように構成された空燃比気筒間インバランス判定装置。
【請求項１２】
複数の気筒を有する多気筒内燃機関に適用され、
前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設される空燃比センサであって同空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する空燃比センサと、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する複数の燃料噴射弁と、
前記複数の燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料ガスを前記機関の吸気通路に導入するための通路を構成するパージ通路部と、
前記パージ通路部を通して前記機関の吸気通路に流入する前記蒸発燃料ガスの量である蒸発燃料ガスパージ量を制御するパージ量制御手段と、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得するインバランス判定用パラメータ取得手段と、
前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較するとともにその比較の結果に基づいて空燃比気筒間インバランス状態が発生したか否かについて判定するインバランス判定を実行するインバランス判定手段と、
前記空燃比センサの出力値により表される空燃比が所定の目標空燃比に一致するように前記燃料噴射弁から噴射される燃料の量である燃料噴射量を同空燃比センサの出力値と同目標空燃比とに基づいて算出される空燃比フィードバック量により補正するフィードバック制御手段と、
を備えた空燃比気筒間インバランス判定装置において、
前記フィードバック制御手段は、
前記空燃比フィードバック量の一部をなす補正量であって前記蒸発燃料ガスパージによる前記２以上の気筒のそれぞれの燃焼室に供給される混合気の空燃比の変化を抑制するための補正量である蒸発燃料ガスパージ補正量を前記空燃比センサの出力値に基づいて算出するように構成され、
前記インバランス判定手段は、
前記算出された蒸発燃料ガスパージ補正量に基づいて前記インバランス判定用閾値を補正し、同補正したインバランス判定用閾値を前記インバランス判定に使用するように構成された空燃比気筒間インバランス判定装置。
【請求項１３】
複数の気筒を有する多気筒内燃機関に適用される空燃比気筒間インバランス判定装置であって、
前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設される空燃比センサであって同空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する空燃比センサと、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する複数の燃料噴射弁と、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得するインバランス判定用パラメータ取得手段と、
前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較するとともにその比較の結果に基づいて空燃比気筒間インバランス状態が発生したか否かについて判定するインバランス判定を実行するインバランス判定手段と、
前記機関の暖機状態が所定の暖機状態に到達したか否かを判定するとともに、同機関の暖機状態が同所定の暖機状態に到達していないと判定されたとき前記インバランス判定用パラメータの取得を禁止するか又は前記インバランス判定の実行を禁止するインバランス判定実行可否決定手段と、
を備えた空燃比気筒間インバランス判定装置。
【請求項１４】
複数の気筒を有する多気筒内燃機関に適用され、
前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設される空燃比センサであって同空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する空燃比センサと、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する複数の燃料噴射弁と、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得するインバランス判定用パラメータ取得手段と、
前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較するとともにその比較の結果に基づいて空燃比気筒間インバランス状態が発生したか否かについて判定するインバランス判定を実行するインバランス判定手段と、
を備えた空燃比気筒間インバランス判定装置において、
前記インバランス判定用パラメータ取得手段は、
前記機関の暖機状態が進むにつれて大きくなる暖機状態パラメータを取得するとともに同取得された暖機状態パラメータに基づいて前記インバランス判定用パラメータを補正するように構成され、
前記インバランス判定手段は、
前記補正されたインバランス判定用パラメータを前記インバランス判定に使用するように構成された空燃比気筒間インバランス判定装置。
【請求項１５】
複数の気筒を有する多気筒内燃機関に適用され、
前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設される空燃比センサであって同空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する空燃比センサと、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する複数の燃料噴射弁と、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得するインバランス判定用パラメータ取得手段と、
前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較するとともにその比較の結果に基づいて空燃比気筒間インバランス状態が発生したか否かについて判定するインバランス判定を実行するインバランス判定手段と、
を備えた空燃比気筒間インバランス判定装置において、
前記インバランス判定手段は、
前記機関の暖機状態が進むにつれて大きくなる暖機状態パラメータを取得するとともに同取得された暖機状態パラメータに基づいて前記インバランス判定用閾値を補正し、同補正したインバランス判定用閾値を前記インバランス判定に使用するように構成された空燃比気筒間インバランス判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関に適用され、各気筒に供給される混合気の空燃比の不均衡（空燃比気筒間インバランス、空燃比気筒間ばらつき、気筒間における空燃比の不均一性）が過度に大きくなったことを判定（監視・検出）することができる「内燃機関の空燃比気筒間インバランス判定装置」に関する。
【背景技術】
【０００２】
従来から、内燃機関の排気通路に配設された三元触媒と、同排気通路であって同三元触媒の上流及び下流にそれぞれ配置された上流側空燃比センサ及び下流側空燃比センサと、を備えた空燃比制御装置が広く知られている。この空燃比制御装置は、機関に供給される混合気の空燃比（機関の空燃比）が理論空燃比と一致するように、上流側空燃比センサの出力と下流側空燃比センサの出力とに基いて空燃比フィードバック量を算出し、その空燃比フィードバック量により機関の空燃比をフィードバック制御するようになっている。更に、上流側空燃比センサの出力及び下流側空燃比センサの出力の何れか一方のみに基づいて空燃比フィードバック量を算出し、その空燃比フィードバック量により機関の空燃比をフィードバック制御する空燃比制御装置も提案されている。このような空燃比制御装置において使用される空燃比フィードバック量は、全気筒に対して共通する制御量である。【０００３】
ところで、一般に、電子燃料噴射式内燃機関は、各気筒又は各気筒に連通した吸気ポートに少なくとも一つの燃料噴射弁を備えている。従って、ある特定の気筒の燃料噴射弁の特性が「指示された燃料噴射量よりも過大な量の燃料を噴射する特性」となると、その特定の気筒に供給される混合気の空燃比（その特定気筒の空燃比）のみが大きくリッチ側に変化する。即ち、気筒間における空燃比の不均一性（空燃比気筒間ばらつき、空燃比の気筒間インバランス）が大きくなる。換言すると、気筒別空燃比の間に不均衡が生じる。【０００４】
この場合、機関全体に供給される混合気の空燃比の平均は、理論空燃比よりもリッチ側の空燃比となる。従って、全気筒に対して共通する空燃比フィードバック量により、上記特定の気筒の空燃比は理論空燃比に近づけられるようにリーン側へと変更され、同時に、他の気筒の空燃比は理論空燃比から遠ざけられるようにリーン側へと変更させられる。この結果、機関に供給される混合気の全体の空燃比の平均は略理論空燃比に一致させられる。【０００５】
しかしながら、上記特定の気筒の空燃比は依然として理論空燃比よりもリッチ側の空燃比となり、残りの気筒の空燃比は理論空燃比よりもリーン側の空燃比となるから、各気筒における混合気の燃焼状態は完全燃焼とは相違した燃焼状態となる。この結果、各気筒から排出されるエミッションの量（未燃物の量及び窒素酸化物の量）が増大する。このため、機関に供給される混合気の空燃比の平均が理論空燃比であったとしても、増大したエミッションを三元触媒が浄化しきれず、結果として、エミッションが悪化する虞がある。【０００６】
従って、気筒間における空燃比の不均一性が過大になっていること（空燃比気筒間インバランス状態が発生していること）を検出し、何らかの対策を講じさせるようにすることはエミッションを悪化させないために重要である。なお、空燃比気筒間インバランスは、特定の気筒の燃料噴射弁の特性が「指示された燃料噴射量よりも過小な量の燃料を噴射する特性」となった場合にも発生する。【０００７】
このような空燃比気筒間インバランス状態が発生したか否かを判定する従来の装置の一つは、複数の気筒からの排ガスが集合する排気集合部に配設された空燃比センサ（上記上流側空燃比センサ）の出力（出力信号）の軌跡長を取得し、その軌跡長と「機関回転速度及び吸入空気量に応じて変化する参照値」とを比較し、その比較結果に基づいて空燃比気筒間インバランス状態が発生したか否かを判定するようになっている（例えば、米国特許第７，１５２，５９４号を参照。）。なお、「過度の空燃比気筒間インバランス状態」が発生したか否かの判定は、単に「空燃比気筒間インバランス判定、又は、インバランス判定」とも称呼される。「過度の空燃比気筒間インバランス状態」とは、未燃物及び／又は窒素酸化物が規定値を超えるような空燃比気筒間インバランス状態のことである。
【発明の概要】
【０００８】
ところで、発明者は、燃料タンク内に発生した蒸発燃料ガスが吸気通路に流入させられている場合（所謂、「エバポパージ中」）、その蒸発燃料ガスの影響が気筒別空燃比に現れ、インバランス判定が精度良く行われ得ない場合があるとの知見を得た。
【０００９】
より具体的に述べると、いま、４気筒機関の第１気筒に燃料を噴射する燃料噴射弁の特性が、指示された燃料噴射量よりも４０％多くなった空燃比気筒間インバランス状態が発生したと仮定する。更に、この機関の全体に供給される燃料の量が４００（単位は重量）であるとき、機関の全体に供給される混合気の空燃比（機関の空燃比）の平均が理論空燃比になると仮定する。即ち、理論空燃比をＳｔ（例えば、１４．７）とすると、吸入空気量Ｇ（単位は重量）は４００・Ｓｔ（Ｓｔ＝Ｇ／４００）であると仮定する。以下、第Ｎ気筒（Ｎは自然数）に燃料を噴射する燃料噴射弁を第Ｎ気筒の燃料噴射弁とも称呼する。また、第Ｎ気筒の燃料噴射弁から噴射される燃料の量を「第Ｎ気筒の燃料噴射量」とも称呼する。
【００１０】
このとき、上述した空燃比のフィードバック制御により、機関の空燃比の平均が理論空燃比に一致したとすると、各燃料噴射弁の燃料噴射量は次のようになる。
【００１１】
第１気筒の燃料噴射弁の燃料噴射量：１２７＝４００・｛１．４／（１．４＋１．０＋１．０＋１．０）｝
第２気筒の燃料噴射弁の燃料噴射量：９１＝４００・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
第３気筒の燃料噴射弁の燃料噴射量：９１＝４００・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
第４気筒の燃料噴射弁の燃料噴射量：９１＝４００・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
機関全体に供給される合計燃料量  ：４００
【００１２】
従って、上記の例において、インバランス気筒である第１気筒の燃料噴射量と、非インバランス気筒である第２〜第４気筒のそれぞれの燃料噴射量と、の差は、「３６（＝１２７−９１）」となる。
【００１３】
これに対し、第１気筒に燃料を噴射する燃料噴射弁の特性が指示された燃料噴射量よりも４０％多くなった空燃比気筒間インバランス状態が発生していて、且つ、一つの気筒あたりに蒸発燃料ガスが「燃料噴射量の２５％」分に相当する量だけ供給されたと仮定する。即ち、蒸発燃料ガスにより燃料が機関全体に１００（単位は重量）だけ供給され、且つ、蒸発燃料ガスが各気筒に均等に吸入されたと仮定する。この場合、上述した空燃比フィードバック制御により、機関の空燃比の平均が理論空燃比に一致したとすると、各燃料噴射弁からの燃料噴射量は次のようになる。
【００１４】
第１気筒の燃料噴射弁の燃料噴射量：９６＝（４００−１００）・｛１．４／（１．４＋１．０＋１．０＋１．０）｝
第２気筒の燃料噴射弁の燃料噴射量：６８＝（４００−１００）・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
第３気筒の燃料噴射弁の燃料噴射量：６８＝（４００−１００）・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
第４気筒の燃料噴射弁の燃料噴射量：６８＝（４００−１００）・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
蒸発燃料ガスによる機関への燃料供給量：１００（１気筒あたり２５）
機関全体に供給される合計燃料量  ：４００
【００１５】
従って、各気筒に供給される燃料量は、次のようになる。
第１気筒に供給される燃料量：１２１＝９６＋２５
第２気筒に供給される燃料量：９３＝６８＋２５
第３気筒に供給される燃料量：９３＝６８＋２５
第４気筒に供給される燃料量：９３＝６８＋２５
機関全体に供給される合計燃料量  ：４００
【００１６】
従って、この場合において、インバランス気筒である第１気筒の燃料噴射弁の燃料噴射量と、非インバランス気筒である第２〜第４気筒のそれぞれの燃料噴射弁の燃料噴射量と、の差は、「２８（＝９６−６８）」となる。
【００１７】
この例からも理解されるように、ある気筒の燃料噴射弁の特性が同じ程度のインバランス状態を発生させる特性（上記例においては第１気筒の燃料噴射弁が他の気筒の燃料噴射弁よりも４０％多く燃料を噴射する状態）となっていたとしても、蒸発燃料ガスが各気筒に吸引されていない場合と、蒸発燃料ガスが各気筒に吸引されている場合と、において、インバランス気筒の燃料噴射弁の燃料噴射量と非インバランス気筒の燃料噴射弁の燃料噴射量との差が相違し、インバランス気筒に供給される燃料の量と非インバランス気筒に供給される燃料の量との差が相違してしまう。即ち、蒸発燃料ガスの影響により、インバランス気筒の空燃比と非インバランス気筒の空燃比との差が変化してしまう。従って、蒸発燃料ガスの影響を考慮することなく、燃料噴射弁の特性変化に起因する空燃比気筒間インバランスが発生しているか否かを空燃比センサの出力に基づいて判定すると、その判定を誤る虞がある。
【００１８】
本発明は、上述した問題に対処するためになされたものであり、その目的の一つは、蒸発燃料ガスの影響により誤判定する可能性が低い空燃比気筒間インバランス判定装置を提供することにある。
【００１９】
本発明の空燃比気筒間インバランス判定装置（以下、単に「本判定装置」とも称呼する。）は、複数の気筒を有する多気筒内燃機関に適用される。
【００２０】
本判定装置は、空燃比センサ、複数の燃料噴射弁、パージ通路部、パージ量制御手段、インバランス判定用パラメータ取得手段、インバランス判定手段、及び、インバランス判定実行可否決定手段、を備える。
【００２１】
前記空燃比センサは、「前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部」又は「その排気通路であって前記排気集合部よりも下流側の部位」に配設される。前記空燃比センサは、その空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する。
【００２２】
前記複数の燃料噴射弁は、前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに、その２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する。即ち、燃料噴射弁は、一つの気筒に対して一つ以上設けられている。各燃料噴射弁は、その燃料噴射弁に対応する気筒に対して燃料を噴射する。
【００２３】
前記パージ通路部は、前記複数の燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料ガスを前記機関の吸気通路に導入するための通路を構成する。
前記パージ量制御手段は、前記パージ通路部を通して前記機関の吸気通路に流入する前記蒸発燃料ガスの量である蒸発燃料ガスパージ量を制御する。
【００２４】
前記インバランス判定用パラメータ取得手段は、「前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比」である気筒別空燃比の間の差が大きいほど「大きくなるか又は小さくなるインバランス判定用パラメータ」を、前記空燃比センサの出力値に基づいて取得する。
【００２５】
例えば、前記インバランス判定用パラメータは、「前記空燃比センサの出力値又は同出力値により表される空燃比（検出空燃比）」の軌跡長、「前記空燃比センサの出力値又は前記検出空燃比」の変化率（時間についての微分値、検出空燃比変化率）に応じた値、「前記空燃比センサの出力値又は前記検出空燃比」の変化率の変化率（時間についての二階微分値、検出空燃比変化率の変化率）に応じた値、等であってもよい。これらの値は、上記気筒別空燃比の間の差が大きくなるほど大きくなる値である。更に、インバランス判定用パラメータは、これらの値の逆数であってもよい。この場合、インバランス判定用パラメータは、上記気筒別空燃比の間の差が大きくなるほど小さくなる値となる。更に、インバランス判定用パラメータは、例えば、単位燃焼サイクル期間における「前記空燃比センサの出力値又は前記検出空燃比」の最大値又は最小値であってもよい。この最大値は、一般に、上記気筒別空燃比の間の差が大きくなるほど大きくなる値である。この最小値は、一般に、上記気筒別空燃比の間の差が大きくなるほど小さくなる値である。なお、単位燃焼サイクル期間とは、「前記空燃比センサに到達する排ガスを排出している総ての気筒（即ち、前記少なくとも２以上の気筒）において各一回の燃焼行程が終了するのに要するクランク角が経過する期間」のことである。
【００２６】
前記インバランス判定手段は、前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較し、その比較の結果に基づいて「空燃比気筒間インバランス状態が発生したか否か」について判定する。例えば、インバランス判定用パラメータが、上記気筒別空燃比の間の差が大きくなるほど大きくなる値であれば、前記インバランス判定手段は、そのインバランス判定用パラメータがインバランス判定用閾値よりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。或いは、インバランス判定用パラメータが、上記気筒別空燃比の間の差が大きくなるほど小さくなる値であれば、前記インバランス判定手段は、そのインバランス判定用パラメータがインバランス判定用閾値よりも小さいとき、空燃比気筒間インバランス状態が発生したと判定する。この判定は、「インバランス判定」とも称呼される。即ち、インバランス判定手段は、インバランス判定を実行する。
【００２７】
前記インバランス判定実行可否決定手段は、前記吸気通路に流入する前記蒸発燃料ガスが「前記インバランス判定用パラメータを「所定の許容量」以上変化させるような状態」、即ち、蒸発燃料ガス影響発生状態、が発生しているか否かを判定する。更に、前記インバランス判定実行可否決定手段は、前記蒸発燃料ガス影響発生状態が発生していると判定されたとき、前記インバランス判定用パラメータの取得を禁止することにより前記インバランス判定の実行を事実上禁止するか、又は、前記インバランス判定の実行そのものを禁止する。前記インバランス判定の実行を禁止することには、前記インバランス判定の結果を無効化すること（正式なインバランス判定の結果として採用しないこと）が含まれる。更に、前記「所定の許容量」は、必ずしも一定値である必要はない。
【００２８】
これによれば、「前記インバランス判定用パラメータを前記所定の許容量以上変化させるような状態」において、インバランス判定用パラメータが取得されないか又はインバランス判定が実行されない。従って、特定の気筒の燃料噴射弁の噴射特性が他の気筒の燃料噴射弁の噴射特性と大きく相違している状態であるにもかかわらず、蒸発燃料ガスの影響により空燃比気筒間インバランス状態が発生していないと判定してしまう可能性を低減することができる。
【００２９】
この場合、本判定装置は、前記空燃比センサの出力値により表される空燃比が所定の目標空燃比に一致するように「前記複数の燃料噴射弁のそれぞれから噴射される燃料の量」である燃料噴射量を「同空燃比センサの出力値と同目標空燃比とに基づいて算出される空燃比フィードバック量」により補正するフィードバック制御手段を備えていることが望ましい。
【００３０】
これによれば、インバランス判定を実行している場合において、エミッションが悪化することを回避することができる。
【００３１】
更に、前記フィードバック制御手段は、
「前記空燃比フィードバック量の一部をなす補正量」であって、前記蒸発燃料ガスが前記吸気通路に流入することによる「前記２以上の気筒のそれぞれの燃焼室に供給される混合気の空燃比」の変化、を抑制するための補正量（即ち、「蒸発燃料ガスパージ補正量」）を、前記空燃比センサの出力値に基づいて算出するように構成され、
前記インバランス判定実行可否決定手段は、
「前記蒸発燃料ガスパージ補正量」と「その蒸発燃料ガスパージ補正量の基準値」との差、の大きさが、所定のパージ影響判定用閾値よりも大きいとき前記蒸発燃料ガス影響発生状態が発生していると判定するように構成されることが好適である。「蒸発燃料ガスパージ補正量の基準値」とは、蒸発燃料ガスパージ補正量が「燃料噴射量を増加も減少もさせない場合の値（補正しない値）」のことである。
【００３２】
これによれば、蒸発燃料ガス影響発生状態が発生しているか否かを、蒸発燃料ガスパージ補正量に基づいて精度良く判定することができる。
【００３３】
更に、前記インバランス判定用パラメータ取得手段は、
前記蒸発燃料ガスパージ補正量に基づいて前記取得したインバランス判定用パラメータを補正することにより前記インバランス判定に用いられるインバランス判定用パラメータを取得する第１パラメータ補正手段を含むことが好適である。この補正は、前記蒸発燃料ガス影響発生状態が発生していないと判定されているときになされることが効果的である。
【００３４】
各燃料噴射弁の噴射特性の間に「ある相違」が生じている場合であっても、気筒別空燃比間の差は「蒸発燃料ガスに含まれる燃料の量が大きくなるほど」小さくなる。そこで、上記構成のように、実際に取得されたインバランス判定用パラメータを実際に算出された蒸発燃料ガスパージ補正量に基づいて補正することにより、インバランス判定に用いられるインバランス判定用パラメータを、蒸発燃料による影響を受けていない値であり、従って、各燃料噴射弁の噴射特性間の相違に基づく気筒別空燃比間の差を精度良く表す値、に修正することができる。その結果、空燃比気筒間インバランス判定を精度良く行うことができる。
【００３５】
代替として、前記インバランス判定手段は、
前記蒸発燃料ガスパージ補正量に基づいて前記インバランス判定用閾値を補正する第１判定用閾値補正手段を含むことが好適である。この補正は、前記蒸発燃料ガス影響発生状態が発生していないと判定されているときになされることが効果的である。
【００３６】
このように、インバランス判定用パラメータを修正することに代え（又は、その修正に加え）、インバランス判定用閾値を実際に算出された蒸発燃料ガスパージ補正量に基づいて補正すれば、インバランス判定用パラメータが蒸発燃料による影響を受けていたとしても、インバランス判定用閾値がその蒸発燃料による影響を反映した値へと修正される。その結果、各燃料噴射弁の噴射特性間の相違に基づく気筒別空燃比間の差が所定値に達したときに、空燃比気筒間インバランス状態が発生したと精度良く判定することができる。
【００３７】
ところで、機関が冷間始動された後の所定期間のように機関の暖機状態が進行しておらず、吸気ポート及び吸気弁等の吸気通路構成部材の温度が低いとき、燃料噴射弁から噴射された燃料の一部が吸気通路構成部材に比較的多量に付着する。更に、複数の燃料噴射弁のうち「その噴射特性がより多くの量の燃料を噴射してしまう特性」となっている燃料噴射弁から噴射された燃料の方が、「その噴射特性が正常な特性」である燃料噴射弁から噴射された燃料よりも、吸気通路構成部材により多く付着する。そのため、機関の暖機状態が所定の暖機状態に到達していないと、特定の気筒の燃料噴射弁の噴射特性が他の気筒の燃料噴射弁の噴射特性と大きく相違している状態であるにもかかわらず、インバランス判定用パラメータの変化幅が小さく、燃料付着量の影響により空燃比気筒間インバランス状態が発生していないと判定してしまう可能性がある。
【００３８】
そこで、本判定装置において、
前記インバランス判定実行可否決定手段は、
前記機関の暖機状態が所定の暖機状態に到達したか否かを判定するとともに、同機関の暖機状態が同所定の暖機状態に到達していないと判定されたとき前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止するように構成されていることが好ましい。
【００３９】
これによれば、特定の気筒の燃料噴射弁の噴射特性が他の気筒の燃料噴射弁の噴射特性と大きく相違している状態であるにもかかわらず、吸気通路構成部材に付着する燃料の影響により空燃比気筒間インバランス状態が発生していないと判定してしまう可能性を低減することができる。
【００４０】
この場合、前記インバランス判定実行可否決定手段は、
「前記機関の暖機状態が進むにつれて大きくなる暖機状態パラメータ（例えば、前記機関の冷却水の温度、冷却水温）」を取得するとともに、その取得された暖機状態パラメータが所定の暖機状態閾値よりも小さいとき、前記機関の暖機状態が前記所定の暖機状態に到達していないと判定するように構成され得る。
【００４１】
更に、前記インバランス判定用パラメータ取得手段は、
前記取得された暖機状態パラメータに基づいて前記取得したインバランス判定用パラメータを補正することにより前記インバランス判定に用いられるインバランス判定用パラメータを取得する第２パラメータ補正手段を含むことが望ましい。この補正は、前記取得された暖機状態パラメータが前記暖機状態閾値よりも大きいときになされることが効果的である。
【００４２】
これによれば、インバランス判定用パラメータを、燃料付着量による影響を受けない値であり、従って、各燃料噴射弁の噴射特性間の相違に基づく気筒別空燃比間の差を精度良く表す値、に修正することができる。その結果、空燃比気筒間インバランス判定を精度良く行うことができる。
【００４３】
代替として、前記インバランス判定手段は、
前記暖機状態パラメータに基づいて前記インバランス判定用閾値を補正する第２判定用閾値補正手段を含むことが好適である。この補正は、前記取得された暖機状態パラメータが前記暖機状態閾値よりも大きいときになされることが効果的である。
【００４４】
このように、インバランス判定用パラメータを修正することに代え（又は、その修正に加え）、インバランス判定用閾値を実際に取得された暖機状態パラメータに基づいて補正すれば、インバランス判定用パラメータが燃料付着量による影響を受けていたとしても、インバランス判定用閾値がその燃料付着量による影響を反映した値へと修正される。その結果、各燃料噴射弁の噴射特性間の相違に基づく気筒別空燃比間の差が所定値に達したときに、空燃比気筒間インバランス状態が発生したと精度良く判定することができる。
【００４５】
なお、インバランス判定用パラメータの取得を禁止したりインバランス判定の実行を禁止したりすることなく、前記蒸発燃料ガスパージ補正量及び／又は前記暖機状態パラメータに基づいて「前記インバランス判定用パラメータ及び／又は前記インバランス判定用閾値」を補正してもよい。これによれば、上述した説明からも明らかなように、燃料噴射弁の噴射特性に起因する空燃比気筒間インバランス状態が発生したか否かの判定を、蒸発燃料ガス及び／又は燃料付着に拘わらず、精度よく行うことができる。
【図面の簡単な説明】
【００４６】
【図１】図１は、本発明の各実施形態に係る空燃比気筒間インバランス判定装置が適用される内燃機関の概略構成を示した図である。
【図２】図２は、図１に示した機関の概略平面図である。
【図３】図３は、図１及び図２に示した空燃比センサ（上流側空燃比センサ）の部分概略斜視図（透視図）である。
【図４】図４は、図１及び図２に示した空燃比センサの部分断面図である。
【図５】図５の（Ａ）〜（Ｃ）は、図１及び図２に示した空燃比センサが備える空燃比検出素子の概略断面図である。
【図６】図６は、排ガスの空燃比と空燃比センサの限界電流値との関係を示したグラフである。
【図７】図７は、排ガスの空燃比と空燃比センサの出力値との関係を示したグラフである。
【図８】図８は、排ガスの空燃比と図１及び図２に示した下流側空燃比センサの出力値との関係を示したグラフである。
【図９】図９は、空燃比気筒間インバランス状態が発生した場合と同状態が発生していない場合のインバランス判定用パラメータに関連する各値の挙動を示したタイムチャートである。
【図１０】図１０は、本発明の第１実施形態に係る空燃比気筒間インバランス判定装置（第１判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１１】図１１は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１２】図１２は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１３】図１３は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】図１４は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１５】図１５は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１６】図１６は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１７】図１７は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１８】図１８は、本発明の第２実施形態に係る空燃比気筒間インバランス判定装置（第２判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１９】図１９は、第２判定装置のＣＰＵが参照するテーブルである。
【図２０】図２０は、本発明の第３実施形態に係る空燃比気筒間インバランス判定装置（第３判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２１】図２１は、第３判定装置のＣＰＵが参照するルックアップテーブルである。
【図２２】図２２は、本発明の第４実施形態及び第５実施形態に係る空燃比気筒間インバランス判定装置（第４判定装置及び第５判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２３】図２３は、本発明の第６実施形態に係る空燃比気筒間インバランス判定装置（第６判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２４】図２４は、本発明の第７実施形態に係る空燃比気筒間インバランス判定装置（第７判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２５】図２５は、第７判定装置のＣＰＵが参照するルックアップテーブルである。
【図２６】図２６は、本発明の第８実施形態に係る空燃比気筒間インバランス判定装置（第８判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２７】図２７は、第８判定装置のＣＰＵが参照するルックアップテーブルである。
【図２８】図２８は、本発明の第９実施形態に係る空燃比気筒間インバランス判定装置（第９判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２９】図２９は、第９判定装置のＣＰＵが参照するルックアップテーブルである。
【発明を実施するための形態】
【００４７】
以下、本発明の各実施形態に係る内燃機関の空燃比気筒間インバランス判定装置（以下、単に「判定装置」とも称呼する。）について図面を参照しながら説明する。この判定装置は、内燃機関に供給される混合気の空燃比（機関の空燃比）を制御する空燃比制御装置の一部であり、更に、燃料噴射量を制御する燃料噴射量制御装置でもある。
【００４８】
各実施形態に係る判定装置は、空燃比センサの出力値により表される空燃比（検出空燃比）の時間微分値（検出空燃比変化率）に相当する値（空燃比変化率指示量）をインバランス判定用パラメータとして取得し、そのインバランス判定用パラメータを用いて空燃比気筒間インバランス判定を実行する。
【００４９】
但し、インバランス判定用パラメータは、空燃比センサに排ガスが到達する少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比の間の不均衡の程度が大きいほど大きくなるパラメータであって空燃比センサの出力値に基づいて算出されるパラメータであればよく、検出空燃比変化率に相当する値に限定されることはない。
【００５０】
具体的には、後に詳細な説明を加える図９から明らかなように、インバランス判定用パラメータは、空燃比センサの出力値の軌跡長、空燃比センサの出力値が空燃比に変換された値である検出空燃比の軌跡長、「空燃比センサの出力値又は検出空燃比」の変化率の変化率に応じた値（空燃比センサの出力値の時間に関する二階微分値、又は、空燃比センサの出力値により表される空燃比の時間に関する二階微分値）、単位燃焼サイクル期間における「空燃比センサの出力値又は検出空燃比」の最大値等であってもよい。また、インバランス判定用パラメータは、これらのパラメータの逆数、及び、単位燃焼サイクル期間における「空燃比センサの出力値又は検出空燃比」の最小値等、空燃比センサに排ガスが到達する少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比の間の不均衡の程度が大きいほど小さくなるパラメータであってもよい。
【００５１】
＜第１実施形態＞
（構成）
図１は、第１実施形態に係る判定装置（以下、「第１判定装置」とも称呼する。）を、４サイクル・火花点火式・多気筒（直列４気筒）・内燃機関１０に適用したシステムの概略構成を示している。なお、図１は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００５２】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０と、を含んでいる。
【００５３】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１の壁面及びピストン２２の上面は、シリンダヘッド部３０の下面とともに燃焼室２５を形成している。
【００５４】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング制御装置３３、可変吸気タイミング制御装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフトを含むとともに同エキゾーストカムシャフトの位相角を連続的に変更する可変排気タイミング制御装置３６、可変排気タイミング制御装置３６のアクチュエータ３６ａ、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射する燃料噴射弁（フューエルインジェクタ、燃料噴射手段、燃料供給手段）３９を備えている。
【００５５】
燃料噴射弁３９は、各気筒の燃焼室２５一つに対して一つずつ配設されている。燃料噴射弁３９は吸気ポート３１に設けられている。燃料噴射弁３９は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を対応する吸気ポート３１内に噴射するようになっている。このように、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁３９を備えている。
【００５６】
吸気系統４０は、インテークマニホールド４１、吸気管４２、エアフィルタ４３、及び、スロットル弁４４を備えている。インテークマニホールド４１は、複数の枝部４１ａとサージタンク４１ｂとからなる。複数の枝部４１ａのそれぞれの一端は複数の吸気ポート３１のそれぞれに接続されている。複数の枝部４１ａの他端はサージタンク４１ｂに接続されている。吸気管４２の一端はサージタンク４１ｂに接続されている。エアフィルタ４３は吸気管４２の他端に配設されている。スロットル弁４４は、吸気管４２内にあって吸気通路の開口断面積を可変とするようになっている。スロットル弁４４は、ＤＣモータからなるスロットル弁アクチュエータ４４ａにより吸気管４２内で回転駆動されるようになっている。
【００５７】
更に、内燃機関１０は、液体ガソリン燃料を貯留する燃料タンク４５、燃料タンク４５内にて発生した蒸発燃料を吸蔵可能なキャニスタ４６、前記蒸発燃料を含むガスを燃料タンク４５からキャニスタ４６へと導くためのベーパ捕集管４７、キャニスタ４６から脱離した蒸発燃料を「蒸発燃料ガス」としてサージタンク４１ｂへと導くためのパージ流路管４８、及び、パージ流路管４８に配設されたパージ制御弁４９を備えている。燃料タンク４５に貯留された燃料は、燃料ポンプ４５ａ及び燃料供給管４５ｂ等を通して燃料噴射弁３９に供給されるようになっている。ベーパ捕集管４７及びパージ流路管４８は、蒸発燃料ガスを「インテークマニホールド４１の複数の枝部４１ａの集合部（各気筒に共通の吸気通路）へ供給するためのパージ通路（パージ通路部）」を構成している。
【００５８】
パージ制御弁４９は、指示信号であるデューティ比ＤＰＧを表す駆動信号により開度（開弁期間）が調節されることにより、パージ流路管４８の通路断面積を変更するようになっている。パージ制御弁４９は、デューティ比ＤＰＧが「０」であるときにパージ流路管４８を完全に閉じるようになっている。即ち、パージ制御弁４９は、パージ通路に配設されるとともに指示信号に応答して開度が変更されるように構成されている。
【００５９】
キャニスタ４６は周知のチャコールキャニスタである。キャニスタ４６は、ベーパ捕集管４７に接続されたタンクポート４６ａと、パージ流路管４８に接続されたパージポート４６ｂと、大気に曝されている大気ポート４６ｃと、が形成された筐体を備える。キャニスタ４６は、その筐体内に、蒸発燃料を吸着するための吸着剤４６ｄを収納している。
【００６０】
キャニスタ４６は、パージ制御弁４９が完全に閉じられている期間において燃料タンク４５内で発生した蒸発燃料を吸蔵するようになっている。キャニスタ４６は、パージ制御弁４９が開かれている期間において、吸蔵した蒸発燃料を蒸発燃料ガスとして「パージ流路管４８を通して」サージタンク４１ｂ（スロットル弁４４よりも下流の吸気通路）に放出するようになっている。これにより、蒸発燃料ガスは機関１０の吸気通路を通して各燃焼室２５へ供給される。即ち、パージ制御弁４９が開かれることにより、蒸発燃料ガスパージ（又は、略して、エバポパージ）が行われる。
【００６１】
排気系統５０は、各気筒の排気ポート３４に一端が接続された複数の枝部を含むエキゾーストマニホールド５１、エキゾーストマニホールド５１の複数の枝部の各他端であって総ての枝部が集合している集合部（エキゾーストマニホールド５１の排気集合部）に接続されたエキゾーストパイプ５２、エキゾーストパイプ５２に配設された上流側触媒５３、及び、上流側触媒５３よりも下流のエキゾーストパイプ５２に配設された図示しない下流側触媒を備えている。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。このように、上流側触媒５３は、排気通路の「総ての燃焼室２５（少なくとも２以上の燃焼室）から排出された排ガスが集合する排気集合部よりも下流側の部位」に配設されている。
【００６２】
上流側触媒５３及び下流側触媒のそれぞれは、所謂、白金等の貴金属からなる活性成分を担持する三元触媒装置（排気浄化触媒）である。各触媒は、各触媒に流入するガスの空燃比が理論空燃比であるとき、ＨＣ，ＣＯ，Ｈ２などの未燃成分を酸化するとともに窒素酸化物（ＮＯｘ）を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵（貯蔵）する酸素吸蔵機能を有し、この酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。この酸素吸蔵機能は、触媒に担持されているセリア（ＣｅＯ２）によってもたらされる。
【００６３】
更に、機関１０は、排気還流システムを備えている。排気還流システムは、外部ＥＧＲ通路を構成する排気還流管５４、及び、ＥＧＲ弁５５を含んでいる。
【００６４】
排気還流管５４の一端はエキゾーストマニホールド５１の集合部に接続されている。排気還流管５４の他端はサージタンク４１ｂに接続されている。
【００６５】
ＥＧＲ弁５５は排気還流管５４に配設されている。ＥＧＲ弁５５は、ＤＣモータを駆動源として内蔵している。ＥＧＲ弁５５は、そのＤＣモータへの指示信号であるデューティ比ＤＥＧＲに応答して弁開度を変更し、それにより排気還流管５４の通路断面積を変更するようになっている。
【００６６】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、水温センサ６３、クランクポジションセンサ６４、インテークカムポジションセンサ６５、エキゾーストカムポジションセンサ６６、上流側空燃比センサ６７、下流側空燃比センサ６８、及び、アクセル開度センサ６９を備えている。
【００６７】
エアフローメータ６１は、吸気管４２内を流れる吸入空気の質量流量（吸入空気流量）Ｇａに応じた信号を出力するようになっている。
スロットルポジションセンサ６２は、スロットル弁４４の開度（スロットル弁開度）を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。
水温センサ６３は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。
【００６８】
クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置７０によって機関回転速度ＮＥに変換される。
インテークカムポジションセンサ６５は、インテークカムシャフトが所定角度から９０度、次いで９０度、更に１８０度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置７０は、クランクポジションセンサ６４及びインテークカムポジションセンサ６５からの信号に基づいて、基準気筒（例えば第１気筒）の圧縮上死点を基準とした絶対クランク角ＣＡを取得するようになっている。この絶対クランク角ＣＡは、基準気筒の圧縮上死点において「０°クランク角」に設定され、クランク角の回転角度に応じて７２０°クランク角まで増大し、その時点にて再び０°クランク角に設定される。
エキゾーストカムポジションセンサ６６は、エキゾーストカムシャフトが所定角度から９０度、次いで９０度、更に１８０度回転する毎に一つのパルスを出力するようになっている。
【００６９】
上流側空燃比センサ６７（本発明における空燃比センサ）は、機関１０の概略図である図２にも示したように、エキゾーストマニホールド５１の集合部ＨＫ（排気集合部）と上流側触媒５３との間の位置において「エキゾーストマニホールド５１及びエキゾーストパイプ５２の何れか（即ち、排気通路）」に配設されている。上流側空燃比センサ６７は、例えば、特開平１１−７２４７３号公報、特開２０００−６５７８２号公報及び特開２００４−６９５４７号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
【００７０】
上流側空燃比センサ６７は、図３及び図４に示したように、空燃比検出素子６７ａと、外側保護カバー６７ｂと、内側保護カバー６７ｃと、を有している。
【００７１】
外側保護カバー６７ｂは金属からなる中空円筒体である。外側保護カバー６７ｂは内側保護カバー６７ｃを覆うように、内側保護カバー６７ｃを内部に収容している。外側保護カバー６７ｂは、流入孔６７ｂ１をその側面に複数備えている。流入孔６７ｂ１は、排気通路を流れる排ガス（外側保護カバー６７ｂの外部の排ガス）ＥＸを外側保護カバー６７ｂの内部に流入させるための貫通孔である。更に、外側保護カバー６７ｂは、外側保護カバー６７ｂの内部の排ガスを外部（排気通路）に流出させるための流出孔６７ｂ２をその底面に有している。
【００７２】
内側保護カバー６７ｃは、金属からなり、外側保護カバー６７ｂの直径よりも小さい直径を有する中空円筒体である。内側保護カバー６７ｃは、空燃比検出素子６７ａを覆うように空燃比検出素子６７ａを内部に収容している。内側保護カバー６７ｃは流入孔６７ｃ１をその側面に複数備えている。この流入孔６７ｃ１は、外側保護カバー６７ｂの流入孔６７ｂ１を通して「外側保護カバー６７ｂと内側保護カバー６７ｃとの間の空間」に流入した排ガスを、内側保護カバー６７ｃの内部に流入させるため貫通孔である。更に、内側保護カバー６７ｃは、内側保護カバー６７ｃの内部の排ガスを外部に流出させるための流出孔６７ｃ２をその底面に有している。
【００７３】
図５の（Ａ）〜（Ｃ）に示したように、空燃比検出素子６７ａは、固体電解質層６７１と、排ガス側電極層６７２と、大気側電極層６７３と、拡散抵抗層６７４と、隔壁部６７５と、を含んでいる。
【００７４】
固体電解質層６７１は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層６７１は、ＺｒＯ２（ジルコニア）にＣａＯを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層６７１は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
【００７５】
排ガス側電極層６７２は、白金（Ｐｔ）等の触媒活性の高い貴金属からなる。排ガス側電極層６７２は、固体電解質層６７１の一つの面上に形成されている。排ガス側電極層６７２は、化学メッキ等により浸透性を十分に有するように（即ち、多孔質状に）形成されている。
【００７６】
大気側電極層６７３は、白金（Ｐｔ）等の触媒活性の高い貴金属からなる。大気側電極層６７３は、固体電解質層６７１の他の面上であって、固体電解質層６７１を挟んで排ガス側電極層６７２に対向するように形成されている。大気側電極層６７３は、化学メッキ等により浸透性を十分に有するように（即ち、多孔質状に）形成されている。
【００７７】
拡散抵抗層（拡散律速層）６７４は、多孔質セラミック（耐熱性無機物質）からなる。拡散抵抗層６７４は、排ガス側電極層６７２の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
【００７８】
隔壁部６７５は、緻密であってガスを透過させないアルミナセラミックスからなる。隔壁部６７５は大気側電極層６７３を収容する空間である「大気室６７６」を形成するように構成されている。大気室６７６には大気が導入されている。
【００７９】
上流側空燃比センサ６７には電源６７７が接続されている。電源６７７は、大気側電極層６７３側が高電位となり、排ガス側電極層６７２が低電位となるように、電圧Ｖを印加する。
【００８０】
このような構造を有する上流側空燃比センサ６７は、図５の（Ｂ）に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層６７４を通って排ガス側電極層６７２に到達した酸素をイオン化して大気側電極層６７３へと通過させる。この結果、電源６７７の正極から負極へと電流Ｉが流れる。この電流Ｉの大きさは、図６に示したように、電圧Ｖを所定値Ｖｐ以上に設定すると、排ガス側電極層６７２に到達した酸素の濃度（酸素分圧、排ガスの空燃比）に比例した一定値となる。上流側空燃比センサ６７は、この電流（即ち、限界電流Ｉｐ）を電圧に変換した値を出力値Ｖａｂｙｆｓとして出力する。
【００８１】
これに対し、図５の（Ｃ）に示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ６７は、大気室６７６に存在する酸素をイオン化して排ガス側電極層６７２へと導き、拡散抵抗層６７４を通って排ガス側電極層６７２に到達する未燃物（ＨＣ，ＣＯ及びＨ２等）を酸化する。この結果、電源６７７の負極から正極へと電流Ｉが流れる。この電流Ｉの大きさも、図６に示したように、電圧Ｖを所定値Ｖｐ以上に設定すると、排ガス側電極層６７２に到達した未燃物の濃度（即ち、排ガスの空燃比）に比例した一定値となる。上流側空燃比センサ６７は、この電流（即ち、限界電流Ｉｐ）を電圧に変換した値を出力値Ｖａｂｙｆｓとして出力する。
【００８２】
即ち、空燃比検出素子６７ａは、図７に示したように、上流側空燃比センサ６７の配設位置を流れ、且つ、外側保護カバー６７ｂの流入孔６７ｂ１及び内側保護カバー６７ｃの流入孔６７ｃ１を通って空燃比検出素子６７ａに到達しているガスの空燃比（上流側空燃比ａｂｙｆｓ、検出空燃比ａｂｙｆｓ）に応じた出力値Ｖａｂｙｆｓを「空燃比センサ出力」として出力する。出力値Ｖａｂｙｆｓは、空燃比検出素子６７ａに到達しているガスの空燃比が大きくなるほど（リーンとなるほど）増大する。即ち、出力値Ｖａｂｙｆｓは、空燃比検出素子６７ａに到達している排ガスの空燃比に実質的に比例する。
【００８３】
電気制御装置７０は、図７に示した空燃比変換テーブル（マップ）Ｍａｐａｂｙｆｓを記憶していて、空燃比センサ６７の出力値Ｖａｂｙｆｓを空燃比変換テーブルＭａｐａｂｙｆｓに適用することにより、実際の上流側空燃比ａｂｙｆｓを検出する（即ち、検出空燃比ａｂｙｆｓを取得する）。
【００８４】
ところで、上流側空燃比センサ６７は、エキゾーストマニホールド５１の複数の枝部の集合部（排気集合部ＨＫ）と上流側触媒５３との間の位置においてエキゾーストマニホールド５１及びエキゾーストパイプ５２の何れかに外側保護カバー６７ｂが露呈するように配設される。
【００８５】
より具体的には、空燃比センサ６７は、図３及び図４に示したように、保護カバー（６７ｂ、６７ｃ）の底面が排ガスＥＸの流れと平行であり、保護カバー（６７ｂ、６７ｃ）の中心軸線ＣＣが排ガスＥＸの流れと直交するように排気通路内に配設される。これにより、外側保護カバー６７ｂの流入孔６７ｂ１に到達した排気通路内の排ガスＥＸは、外側保護カバー６７ｂの流出孔６７ｂ２近傍を流れる排気通路内の排ガスＥＸの流れにより、外側保護カバー６７ｂ及び内側保護カバー６７ｃの内部へと吸い込まれる。
【００８６】
従って、排気通路を流れる排ガスＥＸは、図３及び図４において矢印Ａｒ１により示したように外側の保護カバー６７ｂの流入孔６７ｂ１を通って外側の保護カバー６７ｂと内側の保護カバー６７ｃとの間に流入する。次いで、その排ガスは、矢印Ａｒ２に示したように「内側の保護カバー６７ｃの流入孔６７ｃ１」を通って「内側の保護カバー６７ｃの内部」に流入した後に、空燃比検出素子６７ａに到達する。その後、その排ガスは、矢印Ａｒ３に示したように「内側の保護カバー６７ｃの流出孔６７ｃ２及び外側の保護カバー６７ｂの流出孔６７ｂ２」を通って排気通路に流出する。
【００８７】
このため、「外側保護カバー６７ｂ及び内側保護カバー６７ｃ」の内部における排ガスの流速は、外側保護カバー６７ｂの流出孔６７ｂ２近傍を流れる排ガスＥＸの流速（従って、単位時間あたりの吸入空気量である吸入空気流量Ｇａ）に応じて変化する。換言すると、「ある空燃比の排ガス（第１排ガス）が流入孔６７ｂ１に到達した時点」から「その第１排ガスが空燃比検出素子６７ａに到達する時点」までの時間は、吸入空気流量Ｇａに依存するが機関回転速度ＮＥには依存しない。このことは、上流側空燃比センサ６７が内側保護カバー６７ｃのみを有する場合にも成立する。
【００８８】
再び、図１を参照すると、下流側空燃比センサ６８は、エギゾーストパイプ５２であって上流側触媒５３よりも下流側であり且つ下流側触媒よりも上流側（即ち、上流側触媒５３と下流側触媒との間の排気通路）に配設されている。下流側空燃比センサ６８は、周知の起電力式の酸素濃度センサ（安定化ジルコニアを用いた周知の濃淡電池型の酸素濃度センサ）である。下流側空燃比センサ６８は、排気通路であって下流側空燃比センサ６８が配設されている部位を流れるガスである被検出ガスの空燃比（即ち、上流側触媒５３から流出し且つ下流側触媒に流入するガスの空燃比、従って、機関に供給される混合気の空燃比の時間的平均値）に応じた出力値Ｖｏｘｓを発生するようになっている。
【００８９】
この出力値Ｖｏｘｓは、図８に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値ｍａｘ（例えば、約０．９Ｖ）となり、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値ｍｉｎ（例えば、約０．１Ｖ）となり、被検出ガスの空燃比が理論空燃比であるとき最大出力値ｍａｘと最小出力値ｍｉｎの略中間の電圧Ｖｓｔ（中間電圧Ｖｓｔ、例えば、約０．５Ｖ）となる。更に、この出力値Ｖｏｘｓは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値ｍａｘから最小出力値ｍｉｎへと急変し、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値ｍｉｎから最大出力値ｍａｘへと急変する。
【００９０】
図１に示したアクセル開度センサ６９は、運転者によって操作されるアクセルペダル８１の操作量Ａｃｃｐを表す信号を出力するようになっている。
【００９１】
電気制御装置７０は、互いにバスで接続された「ＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（マップ、関数）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、及び、バックアップＲＡＭ７４並びにＡＤコンバータを含むインターフェース７５等」からなる周知のマイクロコンピュータである。
【００９２】
バックアップＲＡＭ７４は、機関１０を搭載した車両の図示しないイグニッション・キー・スイッチの位置（オフ位置、始動位置及びオン位置等の何れか）に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップＲＡＭ７４は、バッテリから電力の供給を受けている場合、ＣＰＵ７１の指示に応じてデータを格納する（データが書き込まれる）とともに、そのデータを読み出し可能となるように保持（記憶）する。バックアップＲＡＭ７４は、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、ＣＰＵ７１は、バックアップＲＡＭ７４への電力供給が再開されたとき、バックアップＲＡＭ７４に保持されるべきデータを初期化（デフォルト値に設定）するようになっている。
【００９３】
インターフェース７５は、センサ６１〜６９と接続され、ＣＰＵ７１にそれらのセンサからの信号を供給するようになっている。更に、インターフェース７５は、ＣＰＵ７１の指示に応じて可変吸気タイミング制御装置３３のアクチュエータ３３ａ、可変排気タイミング制御装置３６のアクチュエータ３６ａ、各気筒のイグナイタ３８、各気筒に対応して設けられた燃料噴射弁３９、スロットル弁アクチュエータ４４ａ、パージ制御弁４９、及び、ＥＧＲ弁５５等に駆動信号（指示信号）を送出するようになっている。なお、電気制御装置７０は、取得されたアクセルペダルの操作量Ａｃｃｐが大きくなるほどスロットル弁開度ＴＡが大きくなるように、スロットル弁アクチュエータ４４ａに指示信号を送出するようになっている。
【００９４】
（空燃比気筒間インバランス判定の原理）
次に、第１判定装置及び他の実施形態に係る判定装置（以下、「第１判定装置等」とも称呼する。）が採用した「空燃比気筒間インバランス判定」の原理について説明する。本発明における空燃比気筒間インバランス判定は、燃料噴射弁３９の特性が変化することに起因して気筒間における空燃比の不均一性が警告必要値以上となったか否かを判定する。換言すると、第１判定装置等は、燃料噴射弁３９の特性が変化することに起因して気筒別空燃比の間に「エミッション上許容できない程度の不均衡」が生じているか否か、即ち、空燃比気筒間インバランスが生じているか否かを判定する。
【００９５】
第１判定装置等は、空燃比気筒間インバランス判定を行うために、「空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される空燃比（即ち、出力値Ｖａｂｙｆｓと図７に示した空燃比変換テーブルＭａｐａｂｙｆｓとから得られる検出空燃比ａｂｙｆｓ）」の「単位時間（一定のサンプリング時間ｔｓ）当たりの変化量」を取得する。この「検出空燃比ａｂｙｆｓの単位時間当たりの変化量」は、その単位時間が例えば４ｍ秒程度の極めて短い時間であるとき、検出空燃比ａｂｙｆｓの時間微分値ｄ（ａｂｙｆｓ）／ｄｔであると言うこともできる。従って、「検出空燃比ａｂｙｆｓの単位時間当たりの変化量」は「検出空燃比変化率ΔＡＦ」とも称呼される。
【００９６】
以下の説明において、残りの気筒に供給される混合気の空燃比（略理論空燃比）から乖離した空燃比の混合気が供給される気筒は「インバランス気筒」とも称呼される。インバランス気筒に供給される混合気の空燃比は「インバランス気筒の空燃比」とも称呼される。更に、残りの気筒（インバランス気筒以外の気筒）は「非インバランス気筒」又は「正常気筒」とも称呼される。非インバランス気筒に供給される混合気の空燃比は「非インバランス気筒の空燃比」又は「正常気筒の空燃比」とも称呼される。
【００９７】
空燃比センサ６７には、各気筒からの排ガスが点火順（故に、排気順）に到達する。空燃比気筒間インバランス状態が発生していない場合、各気筒から排出され且つ空燃比センサ６７に到達する排ガスの空燃比は互いに略同一である。従って、空燃比気筒間インバランス状態が発生していない場合の空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される検出空燃比ａｂｙｆｓは、例えば、図９の（Ｂ）において破線Ｃ１により示したように変化する。即ち、空燃比気筒間インバランス状態が発生していない場合、空燃比センサ６７の出力値Ｖａｂｙｆｓの波形は略平坦である。このため、図９の（Ｃ）において破線Ｃ３により示したように、空燃比気筒間インバランス状態が発生していない場合、検出空燃比変化率ΔＡＦの絶対値は小さい。
【００９８】
一方、「特定気筒（例えば、第１気筒）に対して燃料を噴射する燃料噴射弁３９」の特性が「指示された燃料噴射量（指示噴射量）よりも多い燃料を噴射する特性」となり、その特定気筒の空燃比のみが理論空燃比よりもリッチ側に大きく偏移した空燃比気筒間インバランス状態（リッチずれインバランス状態）」が発生している場合、その特定気筒の排ガスの空燃比（インバランス気筒の空燃比）と、その特定気筒以外の気筒の排ガスの空燃比（非インバランス気筒の空燃比）と、は大きく相違する。
【００９９】
従って、リッチずれインバランス状態が発生している場合の検出空燃比ａｂｙｆｓは、例えば図９の（Ｂ）の実線Ｃ２により示したように、４気筒・４サイクル・エンジンの場合に７２０°クランク角（一つの空燃比センサ６７に到達する排ガスを排出している総ての気筒において各一回の燃焼行程が終了するのに要するクランク角）毎に大きく変動する。このため、図９の（Ｃ）において実線Ｃ４により示したように、空燃比気筒間インバランス状態が発生している場合、検出空燃比変化率ΔＡＦの絶対値は大きくなる。
【０１００】
しかも、検出空燃比ａｂｙｆｓは、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第１の値であるときの検出空燃比ａｂｙｆｓが図９（Ｂ）の実線Ｃ２のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第１の値の値よりも大きい第２の値」であるときの検出空燃比ａｂｙｆｓは図９（Ｂ）の一点鎖線Ｃ２ａのように変化する。従って、検出空燃比変化率ΔＡＦの絶対値は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きくなる。なお、「一つの空燃比センサ６７に到達する排ガスを排出している総ての気筒において各一回の燃焼行程が終了するのに要するクランク角が経過する期間」は、本明細書において「単位燃焼サイクル期間」とも称呼される。
【０１０１】
そこで、第１判定装置等は、「検出空燃比変化率ΔＡＦに応じて変化する空燃比変化率指示量（例えば、サンプリング時間ｔｓが経過する毎に得られる検出空燃比変化率ΔＡＦの絶対値そのもの、複数の検出空燃比変化率ΔＡＦの絶対値の平均値及び複数の検出空燃比変化率ΔＡＦの絶対値のうちの最大値等）」を取得し、その空燃比変化率指示量とインバランス判定用閾値とを比較することにより、空燃比気筒間インバランス判定を実行する。なお、検出空燃比変化率ΔＡＦのように「出力値Ｖａｂｙｆｓ又は検出空燃比ａｂｙｆｓの変動を表す値」は、空燃比変動指標量ＡＦＤとも称呼される。
【０１０２】
加えて、検出空燃比変化率ΔＡＦは、検出空燃比ａｂｙｆｓの軌跡長に比較して、機関回転速度ＮＥの影響を受け難い。以下、この理由について説明する。なお、以下の説明においては、便宜上、インバランス気筒の空燃比が非インバランス気筒の空燃比よりもリッチであると仮定している。
【０１０３】
空燃比検出素子６７ａに接触する排ガスの空燃比は、「空燃比検出素子６７ａに新たに到達した排ガス」と「空燃比検出素子６７ａの近傍に既に存在していた排ガス」とが混合された排ガスの空燃比となる。一方、上述したように、「外側保護カバー６７ｂ及び内側保護カバー６７ｃ」の内部における排ガスの流速は、外側保護カバー６７ｂの流出孔６７ｂ２近傍を流れる排ガスＥＸの流速（即ち、吸入空気流量Ｇａ）に応じて変化するが、機関回転速度ＮＥに応じては変化しない。
【０１０４】
従って、非インバランス気筒からの排ガスが空燃比検出素子６７ａの周囲に存在しているときに、インバランス気筒からの排ガスが空燃比検出素子６７ａに到達し始めると、その後、空燃比検出素子６７ａに接触（到達）する排ガスの空燃比は「吸入空気流量Ｇａが大きいほど大きくなる変化率」にて減少する。従って、検出空燃比変化率ΔＡＦはその絶対値が大きな負の値になる。
【０１０５】
更に、インバランス気筒からの排ガスが空燃比検出素子６７ａの周囲に存在しているときに、非インバランス気筒からの排ガスが空燃比検出素子６７ａに到達し始めると、その後、空燃比検出素子６７ａに接触する排ガスの空燃比は「吸入空気流量Ｇａが大きいほど大きくなる変化率」にて増大する。従って、検出空燃比変化率ΔＡＦはその絶対値が大きな正の値になる。
【０１０６】
一方、機関回転速度ＮＥが大きいほど、インバランス気筒からの排ガスが流入孔６７ｂ１に到達を始める時間間隔（即ち、空燃比変動周期）は小さくなる。しかしながら、上述したように、外側保護カバー６７ｂ及び内側保護カバー６７ｃの内部を流れる排ガスの流速は、排気通路を流れる排ガスＥＸの流速により決定されるが、機関回転速度ＮＥの影響を受けない。従って、機関回転速度ＮＥが変化しても、吸入空気流量Ｇａが変化しなければ、検出空燃比変化率ΔＡＦは変化しない。
【０１０７】
以上のことから、第１判定装置等は、検出空燃比変化率ΔＡＦに応じて変化する空燃比変化率指示量を「インバランス判定用パラメータ」の一つとして取得し、その空燃比変化率指示量の大きさが「機関回転速度ＮＥに依存しないインバランス判定用閾値」以上であるか否かを判定し、空燃比変化率指示量の大きさがインバランス判定用閾値以上であるとき、空燃比気筒間インバランス状態が発生と判定する。従って、第１判定装置等は、機関回転速度ＮＥ毎にインバランス判定用閾値を精度良く定めることなく、「精度の良い空燃比気筒間インバランス判定」を実行することができる。なお、第１判定装置等は、後述するように、他のインバランス判定用パラメータも取得することができる。
【０１０８】
（蒸発燃料ガスによる空燃比気筒間インバランス誤判定の回避）
ところで、燃料タンク４５内には蒸発燃料が発生する。その蒸発燃料はキャニスタ４６の吸着剤４６ｄに吸着される。しかし、吸着剤４６ｄの吸着可能量にも限界がある。そこで、電気制御装置７０は、所定のパージ条件が成立したときにパージ制御弁４９を開弁させ、吸着剤４６ｄに吸着されている蒸発燃料を蒸発燃料ガスとして機関１０の吸気通路に流入させる。即ち、蒸発燃料ガスを総ての燃焼室２５に供給する制御（所謂、「エバポパージ」）を実行する。
【０１０９】
しかしながら、発明者は、蒸発燃料ガスが吸気通路に流入させられている場合（エバポパージ中）、その蒸発燃料ガスの影響が検出空燃比ａｂｙｆｓ（従って、検出空燃比変化率ΔＡＦ及び空燃比変化率指示量）に現れる場合があり、その場合インバランス判定用パラメータ（空燃比変化率指示量）が「燃料噴射弁３９の特性変化に起因する空燃比気筒間インバランスの程度」を精度良く表さなくなる虞があるとの知見を得た。
【０１１０】
例えば、炎天下における駐車の後に機関１０を始動させた直後等のように、蒸発燃料ガスの濃度が非常に高い場合において蒸発燃料ガスパージが実行されると、その影響が気筒別空燃比に現れる。
【０１１１】
より具体的に述べると、いま、第１気筒の燃料噴射弁３９の特性が、指示された燃料噴射量よりも４０％多い量の燃料を噴射する特性となった空燃比気筒間インバランス状態が発生したと仮定する。更に、４気筒機関１０の全体に供給される燃料の量が４００（単位は重量）であるとき、機関１０の全体に供給される混合気の空燃比（機関の空燃比）の平均が理論空燃比になると仮定する。この仮定を「仮定１」とも称呼する。
【０１１２】
従って、理論空燃比を１４．７とすると、吸入空気量Ｇ（単位は重量）は４００・１４．７であり、各気筒の筒内吸入空気量は１４７０（単位は重量）である。
【０１１３】
一方、第１判定装置等は、空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される検出空燃比ａｂｙｆｓ（実際には、後述する制御用空燃比ａｂｙｆｓｃ）が目標空燃比である理論空燃比に一致するように、空燃比フィードバック量を算出し、その空燃比フィードバック量によって各気筒の燃料噴射弁に与える指示燃料噴射量を修正する。その結果、機関１０の全体に供給される合計燃料量は４００となる。この場合、各燃料噴射弁の燃料噴射量は次のようになる。
【０１１４】
第１気筒の燃料噴射弁の燃料噴射量：１２７＝４００・｛１．４／（１．４＋１．０＋１．０＋１．０）｝
第２気筒の燃料噴射弁の燃料噴射量：９１＝４００・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
第３気筒の燃料噴射弁の燃料噴射量：９１＝４００・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
第４気筒の燃料噴射弁の燃料噴射量：９１＝４００・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
機関全体に供給される合計燃料量  ：４００
【０１１５】
従って、上記の例において、インバランス気筒である第１気筒の燃料噴射量と、非インバランス気筒である第２〜第４気筒のそれぞれの燃料噴射量と、の差は、「３６（＝１２７−９１）」となる。更に、インバランス気筒である第１気筒の空燃比は１１．６（＝１４７０／１２７）であり、非インバランス気筒である第２〜第４気筒の空燃比は１６．２（＝１４７０／９１）である。
【０１１６】
これに対し、上記と同じインバランス状況において、１００（単位は重量）の燃料が蒸発燃料ガスにより機関１０に供給され、且つ、蒸発燃料ガスが各気筒に均等に分配されたたと仮定する。この仮定を「仮定２」とも称呼する。
【０１１７】
この場合、蒸発燃料ガスによって各気筒あたりに２５＝１００／４（単位は重量）の燃料が供給される。即ち、一つの気筒あたりに蒸発燃料ガスが「燃料噴射量の２５％」分に相当する量だけ供給される。このような状況において、上述した空燃比フィードバック制御により、機関１０の空燃比の平均が理論空燃比に一致した（機関１０の全体に供給される合計燃料量が４００となる）とすると、各燃料噴射弁の燃料噴射量は次のようになる。
【０１１８】
第１気筒の燃料噴射弁の燃料噴射量：９６＝（４００−１００）・｛１．４／（１．４＋１．０＋１．０＋１．０）｝
第２気筒の燃料噴射弁の燃料噴射量：６８＝（４００−１００）・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
第３気筒の燃料噴射弁の燃料噴射量：６８＝（４００−１００）・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
第４気筒の燃料噴射弁の燃料噴射量：６８＝（４００−１００）・｛１．０／（１．４＋１．０＋１．０＋１．０）｝
蒸発燃料ガスによる機関への燃料供給量：１００
機関全体に供給される合計燃料量  ：４００
【０１１９】
従って、仮定２の下で各気筒に供給される燃料量は、次のようになる。
第１気筒に供給される燃料量：１２１＝９６＋２５
第２気筒に供給される燃料量：９３＝６８＋２５
第３気筒に供給される燃料量：９３＝６８＋２５
第４気筒に供給される燃料量：９３＝６８＋２５
機関全体に供給される合計燃料量  ：４００
【０１２０】
仮定２の下において、インバランス気筒である第１気筒の燃料噴射量と、非インバランス気筒である第２〜第４気筒のそれぞれの燃料噴射量と、の差は、「２８（＝９６−６８）」となる。更に、仮定２の下において、蒸発燃料ガスに含まれる空気量を無視すれば、インバランス気筒である第１気筒の空燃比は１２．１（＝１４７０／１２１）であり、非インバランス気筒である第２〜第４気筒の空燃比は１５．８（＝１４７０／９３）である。
【０１２１】
以上から明らかなように、仮定１及び仮定２において、インバランス気筒である第１気筒の燃料噴射量と、非インバランス気筒である第２〜第４気筒のそれぞれの燃料噴射量と、の差は、蒸発燃料ガスがパージされていないとき「３６」であるのに対し、蒸発燃料ガスがパージされると「２８」となる。また、仮定１及び仮定２において、インバランス気筒である第１気筒の空燃比と、非インバランス気筒である第２〜第４気筒のそれぞれの気筒の空燃比と、の差は、蒸発燃料ガスがパージされていないとき「空燃比差４．６（＝１６．２−１１．６）」であるのに対し、蒸発燃料ガスがパージされているとき「空燃比差３．７（＝１５．８−１２．１）」である。
【０１２２】
この例からも理解されるように、ある気筒の燃料噴射弁の特性が同じ程度のインバランス状態を発生させる特性（上記例においては第１気筒の燃料噴射弁が他の気筒の燃料噴射弁よりも４０％多く燃料を噴射する状態）となっていたとしても、蒸発燃料ガスが各気筒に吸引されていない場合と、蒸発燃料ガスが各気筒に吸引されている場合と、において、インバランス気筒の燃料噴射弁の燃料噴射量と非インバランス気筒の燃料噴射弁の燃料噴射量との差が相違し、インバランス気筒に供給される燃料の量と非インバランス気筒に供給される燃料の量との差が相違してしまう。即ち、蒸発燃料ガスの影響により、インバランス気筒の空燃比と非インバランス気筒の空燃比との差が変化してしまう。従って、蒸発燃料ガスの影響を考慮することなく、燃料噴射弁の特性変化に起因する空燃比気筒間インバランスが発生しているか否かを空燃比センサの出力に基づいて判定すると、その判定を誤る虞がある。
【０１２３】
そこで、第１判定装置は、「吸気通路に流入する蒸発燃料ガスがインバランス判定用パラメータを所定の許容量以上変化させるような状態（蒸発燃料ガス影響発生状態）」が発生しているか否かを判定する。換言すると、第１判定装置は、吸気通路に流入する蒸発燃料ガスに含まれる燃料の量が所定の閾値よりも大きいか否かを判定し、吸気通路に流入する蒸発燃料ガスに含まれる燃料の量が所定の閾値量よりも大きいとき、前記蒸発燃料ガス影響発生状態が発生していると判定する。そして、第１判定装置は、蒸発燃料ガス影響発生状態が発生していると判定したとき、インバランス判定用パラメータの取得を禁止するか空燃比気筒間インバランス判定そのものの実行を禁止することにより、空燃比気筒間インバランス判定の実行を実質的に禁止する。反対に、第１判定装置は、蒸発燃料ガス影響発生状態が発生していないと判定しているとき、インバランス判定用パラメータの取得及び空燃比気筒間インバランス判定の実行を許容する。
【０１２４】
より具体的に述べると、第１判定装置は、空燃比センサ６７の出力値Ｖａｂｙｆｓに基づいてパージ補正量を算出する。このパージ補正量は、空燃比センサ６７の出力値Ｖａｂｙｆｓに基づいて算出される空燃比を目標空燃比（この場合、理論空燃比）に一致させるためのフィードバック補正量の一部であり、蒸発燃料ガスパージによる機関の空燃比の変化を補償する（抑制する）ように求められる量である。そして、第１判定装置は、このパージ補正量と蒸発燃料ガスパージ補正量の基準値との差の大きさが所定のパージ影響判定用閾値よりも大きいとき「前記蒸発燃料ガス影響発生状態が発生している」と判定するように構成されている。
【０１２５】
（実際の作動）
以下、第１判定装置の実際の作動について説明する。
＜燃料噴射量制御＞
ＣＰＵ７１は、図１０に示した指示燃料噴射量Ｆｉの計算及び燃料噴射の指示を行うルーチンを、任意の気筒のクランク角が吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、その気筒（以下、「燃料噴射気筒」とも称呼する。）に対して繰り返し実行するようになっている。
【０１２６】
従って、所定のタイミングになると、ＣＰＵ７１はステップ１０００から処理を開始し、以下に述べるステップ１０１０乃至ステップ１０３０の処理を順に行い、ステップ１０４０に進む。
【０１２７】
ステップ１０１０：ＣＰＵ７１は「エアフローメータ６１により計測された吸入空気流量Ｇａ、及び、機関回転速度ＮＥ」をルックアップテーブルＭａｐＭｃに適用することにより現時点の筒内吸入空気量Ｍｃ（ｋ）を求める。テーブルＭａｐＭｃは、「吸入空気流量Ｇａ及び機関回転速度ＮＥ」と「筒内吸入空気量Ｍｃ」との関係を予め規定したテーブルである。即ち、ステップ１０１０は、筒内吸入空気量取得手段を構成している。
【０１２８】
ステップ１０２０：ＣＰＵ７１は、メインフィードバック学習値（メインＦＢ学習値）ＫＧをバックアップＲＡＭ７４から読み出す。メインＦＢ学習値ＫＧは、後述する図１２に示した「メインフィードバック学習ルーチン」により別途求められ、バックアップＲＡＭ７４内に格納されている。
【０１２９】
ステップ１０３０：ＣＰＵ７１は下記（１）式に従って基本燃料噴射量Ｆｂ（ｋ）を求める。即ち、ＣＰＵ７１は、筒内吸入空気量Ｍｃ（ｋ）を現時点における上流側目標空燃比ａｂｙｆｒによって除すことにより基本燃料噴射量Ｆｂ（ｋ）を求める。上流側目標空燃比ａｂｙｆｒは理論空燃比ｓｔｏｉｃｈに設定されている。基本燃料噴射量Ｆｂ（ｋ）は、各吸気行程に対応されながらＲＡＭ７３内に記憶される。なお、上流側目標空燃比ａｂｙｆｒは、機関暖機中、フューエルカット復帰後増量中及び触媒過熱防止増量中等の特殊な場合において理論空燃比ｓｔｏｉｃｈよりもリッチ側の空燃比に設定されてもよい。
Ｆｂ（ｋ）＝Ｍｃ（ｋ）／ａｂｙｆｒ    …（１）
【０１３０】
次に、ＣＰＵ７１はステップ１０４０に進み、パージ制御弁４９への指示信号（駆動信号）を定めるデューティ比ＤＰＧが「０」であるか否かを判定する。デューティ比ＤＰＧは後述するルーチンにより決定される。
【０１３１】
いま、デューティ比ＤＰＧが「０」であると仮定する。即ち、蒸発燃料ガスパージが実行されていないと仮定する。この場合、ＣＰＵ７１はステップ１０４０にて「Ｙｅｓ」と判定し、以下に述べるステップ１０５０乃至ステップ１０７０の処理を順に行い、ステップ１０９５に進んで本ルーチンを一旦終了する。
【０１３２】
ステップ１０５０：ＣＰＵ７１はパージ補正係数（パージ補正量）ＦＰＧの値を「１」に設定する。
【０１３３】
ステップ１０６０：ＣＰＵ７１は、基本燃料噴射量Ｆｂ（ｋ）を下記（２）式に従って補正することにより、最終的な燃料噴射量（指示燃料噴射量、指令噴射量）Ｆｉを求める。なお、（２）式に使用されるメインフィードバック係数ＦＡＦは、後述する図１１に示した「メインフィードバック制御ルーチン」により求められている。
Ｆｉ＝ＫＧ・ＦＰＧ・ＦＡＦ・Ｆｂ（ｋ）    …（２）
【０１３４】
（２）式から明らかなように、メインフィードバック量としてのメインフィードバック係数ＦＡＦが「１」であると、メインフィードバック係数ＦＡＦは基本燃料噴射量（Ｆｂ（ｋ））を補正しない。即ち、メインフィードバック係数ＦＡＦの基準値は「１」である。同様に、パージ補正量としてのパージ補正係数ＦＰＧが「１」であると、パージ補正係数ＦＰＧは基本燃料噴射量（Ｆｂ（ｋ））を補正しない。即ち、パージ補正係数ＦＰＧの基準値は「１」である
【０１３５】
ステップ１０７０：ＣＰＵ７１は、指示燃料噴射量Ｆｉの燃料を燃料噴射気筒に対応して設けられている燃料噴射弁３９から噴射するように、その燃料噴射弁３９に指示信号を送出する。
【０１３６】
以上により、基本燃料噴射量Ｆｂがメインフィードバック係数ＦＡＦ及びパージ補正係数ＦＰＧ等により補正されることによって指示燃料噴射量Ｆｉが算出され、燃料噴射弁３９が正常であれば、その指示燃料噴射量Ｆｉの燃料が燃料噴射気筒に対して噴射される。
【０１３７】
一方、ＣＰＵ７１がステップ１０４０の処理を実行する時点において、デューティ比ＤＰＧが「０」でないと、ＣＰＵ７１はステップ１０４０にて「Ｎｏ」と判定してステップ１０８０に進み、パージ補正係数ＦＰＧを下記の（３）式に従って求める。
ＦＰＧ＝１＋ＰＧＴ（ＦＧＰＧ−１）  …（３）
【０１３８】
（３）式において、ＰＧＴは目標パージ率である。目標パージ率ＰＧＴは、後述する図１３のステップ１３３０において、「機関１０の運転状態を表すパラメータ」及び後述する「蒸発燃料ガス濃度学習値ＦＧＰＧの更新機会回数（濃度学習値更新機会回数）ＣＦＧＰＧ」に基いて求められている。蒸発燃料ガス濃度学習値ＦＧＰＧは、後述する図１４に示したルーチンにより求められている。
【０１３９】
その後、ＣＰＵ７１はステップ１０６０及びステップ１０７０の処理を実行する。従って、デューティ比ＤＰＧが「０」でない場合（即ち、蒸発燃料ガスパージが実行されている場合）、基本燃料噴射量（Ｆｂ（ｋ））はパージ補正係数ＦＰＧによって補正される。なお、（２）式から明らかなように、基本燃料噴射量（Ｆｂ（ｋ））は、メインフィードバック係数ＦＡＦ及びパージ補正係数ＦＰＧにより補正される。メインフィードバック係数ＦＡＦ及びパージ補正係数ＦＰＧは、何れも、上流側空燃比センサ６７の出力値Ｖａｂｙｆｓに基づいて「機関１０に供給される混合気の空燃比の平均を理論空燃比（目標空燃比）に一致させるように求められるフィードバック量」である。換言すると、パージ補正係数ＦＰＧは、「機関１０に供給される混合気の空燃比の平均を理論空燃比（目標空燃比）に一致させるように、検出空燃比ａｂｙｆｓに基づいて求められる空燃比のフィードバック量」の一部を構成している。
【０１４０】
＜メインフィードバック制御＞
ＣＰＵ７１は図１１にフローチャートにより示したメインフィードバック量算出ルーチン（メインフィードバック制御ルーチン）を所定時間の経過毎に（又は図１０のルーチンの処理に続いて）繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ１１００から処理を開始し、ステップ１１０５に進んでメインフィードバック制御条件（上流側空燃比フィードバック制御条件）が成立しているか否かを判定する。メインフィードバック制御条件は、例えば、フューエルカット中でなく、機関の冷却水温ＴＨＷが第１所定温度以上であり、負荷ＫＬが所定値以下であり、且つ、上流側空燃比センサ６７が活性化しているときに成立する。
【０１４１】
なお、負荷ＫＬは、本例において負荷率（充填率）ＫＬであり、下記の（４）式に基いて算出される。この（４）式において、ρは空気密度（単位は（ｇ／ｌ））、Ｌは機関１０の排気量（単位は（ｌ））、４は機関１０の気筒数である。但し、負荷ＫＬは、筒内吸入空気量Ｍｃ、スロットル弁開度ＴＡ及びアクセルペダル操作量Ａｃｃｐ等であってもよい。
ＫＬ＝｛Ｍｃ（ｋ）／（ρ・Ｌ／４）｝・１００（％）…（４）
【０１４２】
いま、メインフィードバック制御条件が成立しているものとして説明を続けると、ＣＰＵ７１はステップ１１０５にて「Ｙｅｓ」と判定して以下に述べるステップ１１１０乃至ステップ１１５０の処理を順に行い、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１４３】
ステップ１１１０：ＣＰＵ７１は、下記（５）式に従ってフィードバック制御用出力値Ｖａｂｙｆｃを取得する。（５）式において、Ｖａｂｙｆｓは上流側空燃比センサ６７の出力値、Ｖａｆｓｆｂは下流側空燃比センサ６８の出力値Ｖｏｘｓに基づいて算出されるサブフィードバック量、Ｖａｆｓｆｂｇはサブフィードバック量の学習値（サブＦＢ学習値）である。これらの値は、何れも現時点において得られている値である。サブフィードバック量Ｖａｆｓｆｂ及びサブＦＢ学習値Ｖａｆｓｆｂｇの算出方法については、後述する。
Ｖａｂｙｆｃ＝Ｖａｂｙｆｓ＋（Ｖａｆｓｆｂ＋Ｖａｆｓｆｂｇ）    …（５）
【０１４４】
ステップ１１１５：ＣＰＵ７１は、下記（６）式に示したように、上記フィードバック制御用出力値Ｖａｂｙｆｃを図７に示した空燃比変換テーブルＭａｐａｂｙｆｓに適用することにより、フィードバック制御用空燃比ａｂｙｆｓｃを得る。
ａｂｙｆｓｃ＝Ｍａｐａｂｙｆｓ（Ｖａｂｙｆｃ）    …（６）
【０１４５】
ステップ１１２０：ＣＰＵ７１は、下記（７）式に従って、「現時点よりもＮサイクル前の時点において燃焼室２５に実際に供給された燃料の量」である「筒内燃料供給量Ｆｃ（ｋ−Ｎ）」を求める。即ち、ＣＰＵ７１は、「現時点よりもＮサイクル（即ち、Ｎ・７２０°クランク角）前の時点における筒内吸入空気量Ｍｃ（ｋ−Ｎ）」を「上記フィードバック制御用空燃比ａｂｙｆｓｃ」により除すことにより、筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求める。
Ｆｃ（ｋ−Ｎ）＝Ｍｃ（ｋ−Ｎ）／ａｂｙｆｓｃ    …（７）
【０１４６】
このように、筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求めるために、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）をフィードバック制御用空燃比ａｂｙｆｓｃで除す理由は、「燃焼室２５内での混合気の燃焼により生成された排ガス」が上流側空燃比センサ６７に到達するまでに「Ｎストロークに相当する時間」を要しているからである。但し、実際には、上流側空燃比センサ６７には各気筒から排出された排ガスがある程度混合された後に到達する。
【０１４７】
ステップ１１２５：ＣＰＵ７１は、下記（８）式に従って、「現時点よりもＮサイクル前の時点において燃焼室２５に供給されるべきであった燃料の量」である「目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）」を求める。即ち、ＣＰＵ７１は、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）を上流側目標空燃比ａｂｙｆｒ（即ち、理論空燃比）で除すことにより、目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）を求める。
Ｆｃｒ＝Ｍｃ（ｋ−Ｎ）／ａｂｙｆｒ    …（８）
【０１４８】
ステップ１１３０：ＣＰＵ７１は、下記（９）式に従って、筒内燃料供給量偏差ＤＦｃを取得する。即ち、ＣＰＵ７１は、目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）から筒内燃料供給量Ｆｃ（ｋ−Ｎ）を減じることにより、筒内燃料供給量偏差ＤＦｃを求める。この筒内燃料供給量偏差ＤＦｃは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
ＤＦｃ＝Ｆｃｒ（ｋ−Ｎ）−Ｆｃ（ｋ−Ｎ）    …（９）
【０１４９】
ステップ１１３５：ＣＰＵ７１は、下記（１０）式に従って、メインフィードバック値ＤＦｉを求める。この（１０）式において、Ｇｐは予め設定された比例ゲイン、Ｇｉは予め設定された積分ゲインである。更に、（１０）式の「値ＳＤＦｃ」は「筒内燃料供給量偏差ＤＦｃの時間積分値」である。つまり、ＣＰＵ７１は、フィードバック制御用空燃比ａｂｙｆｓｃを上流側目標空燃比ａｂｙｆｒに一致させるための比例積分制御により「メインフィードバック値ＤＦｉ」を算出する。筒内燃料供給量偏差ＤＦｃの積分値ＳＤＦｃは次のステップ１１４０にて求められる。
ＤＦｉ＝Ｇｐ・ＤＦｃ＋Ｇｉ・ＳＤＦｃ    …（１０）
【０１５０】
ところで、上記（５）式の右辺の「サブフィードバック量ＶａｆｓｆｂとサブＦＢ学習値Ｖａｆｓｆｂｇとの和」は、上流側空燃比センサ６７の出力値Ｖａｂｙｆｓに比較して小さい値となり、且つ、小さい値となるように制限されている。従って、「サブフィードバック量ＶａｆｓｆｂとサブＦＢ学習値Ｖａｆｓｆｂｇとの和」は、後述するように、「下流側空燃比センサ６８の出力値Ｖｏｘｓ」を「理論空燃比に相当する値である下流側目標値Ｖｏｘｓｒｅｆ」に一致させるための「補助的な補正量」と考えることができる。この結果、フィードバック制御用空燃比ａｂｙｆｓｃは上流側空燃比センサ６７の出力値Ｖａｂｙｆｓに実質的に基づく値であると言うことができる。即ち、メインフィードバック値ＤＦｉは「上流側空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される機関の空燃比」を「上流側目標空燃比ａｂｙｆｒ（理論空燃比）」に一致させるための補正量であると言うことができる。
【０１５１】
ステップ１１４０：ＣＰＵ７１は、その時点における筒内燃料供給量偏差ＤＦｃの積分値ＳＤＦｃに上記ステップ１１３０にて求められた筒内燃料供給量偏差ＤＦｃを加えることにより、新たな筒内燃料供給量偏差の積分値ＳＤＦｃを取得する。
【０１５２】
ステップ１１４５：ＣＰＵ７１は、メインフィードバック値ＤＦｉ及び基本燃料噴射量Ｆｂ（ｋ−Ｎ）を下記（１１）式に適用することによりメインフィードバック係数ＦＡＦを算出する。即ち、メインフィードバック係数ＦＡＦは、現時点からＮストローク前の基本燃料噴射量Ｆｂ（ｋ−Ｎ）にメインフィードバック値ＤＦｉを加えた値を基本燃料噴射量Ｆｂ（ｋ−Ｎ）で除すことにより求められる。
ＦＡＦ＝（Ｆｂ（ｋ−Ｎ）＋ＤＦｉ）／Ｆｂ（ｋ−Ｎ）…（１１）
【０１５３】
ステップ１１５０：ＣＰＵ７１は、下記（１２）式に従ってメインフィードバック係数ＦＡＦの加重平均値をメインフィードバック係数平均ＦＡＦＡＶ（以下、「補正係数平均ＦＡＦＡＶ」とも称呼する。）として求める。（１２）式においてＦＡＦＡＶｎｅｗは更新後の補正係数平均ＦＡＦＡＶであり、そのＦＡＦＡＶｎｅｗが新たな補正係数平均ＦＡＦＡＶとして格納される。（１２）式において、値ｑは０より大きく１より小さい定数である。この補正係数平均ＦＡＦＡＶは、後述する「メインＦＢ学習値ＫＧ及び蒸発燃料ガス濃度学習値ＦＧＰＧ」を求める際に用いられる。なお、メインフィードバック係数平均ＦＡＦＡＶは、所定期間におけるメインフィードバック係数ＦＡＦの平均値であってもよい。
ＦＡＦＡＶｎｅｗ＝ｑ・ＦＡＦ＋（１−ｑ）・ＦＡＦＡＶ…（１２）
【０１５４】
以上により、メインフィードバック値ＤＦｉが比例積分制御により求められ、このメインフィードバック値ＤＦｉがメインフィードバック係数ＦＡＦへと変換された上で「前述した図１０のステップ１０６０」において指示燃料噴射量Ｆｉに反映される。この結果、燃料供給量の過不足が補償されるので、機関の空燃比（従って、上流側触媒５３に流入するガスの空燃比）の平均値が上流側目標空燃比ａｂｙｆｒ（特殊な場合を除き、理論空燃比）と略一致させられる。
【０１５５】
一方、ステップ１１０５の判定時において、メインフィードバック制御条件が不成立であると、ＣＰＵ７１はそのステップ１１０５にて「Ｎｏ」と判定してステップ１１５５に進み、メインフィードバック値ＤＦｉの値を「０」に設定する。次いで、ＣＰＵ７１は、ステップ１１６０にて筒内燃料供給量偏差の積分値ＳＤＦｃを「０」に設定し、ステップ１１６５にてメインフィードバック係数ＦＡＦの値を「１」に設定し、ステップ１１７０にて補正係数平均ＦＡＦＡＶの値を「１」に設定する。その後、ＣＰＵ７１は、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１５６】
このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック値ＤＦｉの値は「０」に設定され、メインフィードバック係数ＦＡＦの値は「１」に設定される。従って、基本燃料噴射量Ｆｂのメインフィードバック係数ＦＡＦによる補正は行われない。但し、このような場合であっても、基本燃料噴射量ＦｂはメインＦＢ学習値ＫＧによって補正される。
【０１５７】
＜メインフィードバック学習（ベース空燃比学習）＞
第１判定装置はパージ制御弁４９を完全に閉じた状態に維持する指示信号が同パージ制御弁４９に送出されている「パージ制御弁閉弁指示期間（デューティ比ＤＰＧが「０」である期間）」において、メインフィードバック係数ＦＡＦを基準値（基本値）「１」に近づけるように、補正係数平均ＦＡＦＡＶに基いてメインフィードバック係数ＦＡＦの学習値ＫＧを更新する。この学習値は、「メインＦＢ学習値ＫＧ」とも称呼される。
【０１５８】
このメインＦＢ学習値ＫＧの更新を行うために、ＣＰＵ７１は図１２に示したメインフィードバック学習ルーチンを所定時間が経過する毎に実行するようになっている。従って、ＣＰＵ７１は所定のタイミングになるとステップ１２００から処理を開始し、ステップ１２０５に進んでメインフィードバック制御が実行中であるか否か（即ち、メインフィードバック制御条件が成立しているか否か）を判定する。このとき、メインフィードバック制御が実行されていなければ、ＣＰＵ７１はそのステップ１２０５にて「Ｎｏ」と判定し、ステップ１２９５に直接進んで本ルーチンを一旦終了する。この結果、メインＦＢ学習値ＫＧの更新は行われない。
【０１５９】
一方、メインフィードバック制御が実行中であるとき、ＣＰＵ７１はステップ１２０５にて「Ｙｅｓ」と判定してステップ１２１０に進み、「蒸発燃料ガスパージが行われていないか否か（具体的には、後述する図１３のルーチンにより求められる目標パージ率ＰＧＴ又はデューティ比ＤＰＧが「０」であるか否か）」を判定する。このとき、蒸発燃料ガスパージが行われていると、ＣＰＵ７１はそのステップ１２１０にて「Ｎｏ」と判定し、ステップ１２９５に直接進んで本ルーチンを一旦終了する。この結果、蒸発燃料ガスパージが行われている場合、メインＦＢ学習値ＫＧの更新は行われない。
【０１６０】
他方、ＣＰＵ７１がステップ１２１０に進んだ際に蒸発燃料ガスパージが行われていなければ、ＣＰＵ７１はステップ１２１０にて「Ｙｅｓ」と判定してステップ１２１５に進み、補正係数平均ＦＡＦＡＶの値が値１＋α（αは０より大きく１より小さい微小な所定値であり、例えば、０．０２）以上であるか否かを判定する。このとき、補正係数平均ＦＡＦＡＶの値が値１＋α以上であると、ＣＰＵ７１はステップ１２２０に進んでメインＦＢ学習値ＫＧを正の所定値ΔＫＧだけ増大させる。その後、ＣＰＵ７１はステップ１２３５に進む。
【０１６１】
これに対し、ＣＰＵ７１がステップ１２１５に進んだ際、補正係数平均ＦＡＦＡＶの値が値１＋αよりも小さいと、ＣＰＵ７１はステップ１２２５に進んで補正係数平均ＦＡＦＡＶの値が値１−α以下であるか否かを判定する。このとき、補正係数平均ＦＡＦＡＶの値が値１−α以下であると、ＣＰＵ７１はステップ１２３０に進んでメインＦＢ学習値ＫＧを正の所定値ΔＫＧだけ減少させる。その後、ＣＰＵ７１はステップ１２３５に進む。
【０１６２】
更に、ＣＰＵ７１はステップ１２３５に進んだとき、そのステップ１２３５にてメインフィードバック学習完了フラグ（メインＦＢ学習完了フラグ）ＸＫＧの値を「０」に設定する。メインＦＢ学習完了フラグＸＫＧは、その値が「１」であるときにメインフィードバック学習が完了しており、その値が「０」であるときにメインフィードバック学習が完了していないことを示す。
【０１６３】
次いで、ＣＰＵ７１はステップ１２４０に進み、メイン学習カウンタＣＫＧの値を「０」に設定する。なお、メイン学習カウンタＣＫＧの値は、機関１０が搭載された車両の図示しないイグニッション・キー・スイッチがオフ位置からオン位置へと変更された際に実行されるイニシャルルーチンにても「０」に設定されるようになっている。その後、ＣＰＵ７１はステップ１２９５に進み、本ルーチンを一旦終了する。
【０１６４】
加えて、ＣＰＵ７１がステップ１２２５に進んだ際、補正係数平均ＦＡＦＡＶの値が値１−αよりも大きいと（即ち、補正係数平均ＦＡＦＡＶの値が値１−αと値１＋αの間の値であると）、ＣＰＵ７１はステップ１２４５に進んでメイン学習カウンタＣＫＧの値を「１」だけ増大する。
【０１６５】
次に、ＣＰＵ７１はステップ１２５０に進み、メイン学習カウンタＣＫＧの値が所定のメイン学習カウンタ閾値ＣＫＧｔｈ以上であるか否かを判定する。そして、メイン学習カウンタＣＫＧの値が所定のメイン学習カウンタ閾値ＣＫＧｔｈ以上であれば、ＣＰＵ７１はステップ１２５５に進んでメインＦＢ学習完了フラグＸＫＧの値を「１」に設定する。
【０１６６】
即ち、機関１０の始動後において、図１２のルーチンにより、「補正係数平均ＦＡＦＡＶの値が値１−αと値１＋αの間の値である」と判断された回数（カウンタＣＫＧの値）がメイン学習カウンタ閾値ＣＫＧｔｈ以上となると、メインＦＢ学習値ＫＧの学習は完了したと見做され、メインＦＢ学習完了フラグＸＫＧの値が「１」に設定される。その後、ＣＰＵ７１はステップ１２９５に進んで、本ルーチンを一旦終了する。
【０１６７】
また、ＣＰＵ７１は、ステップ１２５０に進んだとき、メイン学習カウンタＣＫＧの値が所定のメイン学習カウンタ閾値ＣＫＧｔｈよりも小さければ、ＣＰＵ７１はそのステップ１２５０からステップ１２９５に直接進んで本ルーチンを一旦終了する。
【０１６８】
なお、メイン学習カウンタＣＫＧの値は、ステップ１２０５及びステップ１２１０の何れかにおいて「Ｎｏ」と判定された際にも「０」に設定されてもよい。これによれば、ＣＰＵ７１が「ステップ１２１５以降に進む状態（即ち、今回のメインフィードバック学習が実行される状態）において、補正係数平均ＦＡＦＡＶの値が値１−αと値１＋αの間の値であるケース」の連続発生回数がメイン学習カウンタ閾値ＣＫＧｔｈ以上となったとき、メインＦＢ学習値ＫＧの学習は完了したと見做される。
【０１６９】
以上により、メインフィードバック制御中であって蒸発燃料ガスパージが行われていない間にメインＦＢ学習値ＫＧが更新される。
【０１７０】
＜パージ制御弁駆動＞
一方、ＣＰＵ７１は図１３に示したパージ制御弁駆動ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになるとＣＰＵ７１はステップ１３００から処理を開始し、ステップ１３１０に進んでパージ条件が成立しているか否かを判定する。このパージ条件は、例えば、メインフィードバック制御条件が成立していて、且つ、機関１０が定常運転されているとき（例えば、機関の負荷を表すスロットル弁開度ＴＡの単位時間あたりの変化量が所定値以下のとき）に成立する。
【０１７１】
いま、パージ条件が成立していると仮定する。この場合、ＣＰＵ７１は図１３のステップ１３１０にて「Ｙｅｓ」と判定してステップ１３２０に進み、メインＦＢ学習完了フラグＸＫＧの値が「１」であるか否か（即ち、メインフィードバック学習が完了しているか否か）を判定する。このとき、メインＦＢ学習完了フラグＸＫＧの値が「１」であると、ＣＰＵ７１はステップ１３２０にて「Ｙｅｓ」と判定し、以下に述べるステップ１３３０乃至ステップ１３６０の処理を順に行い、ステップ１３９５に進んで本ルーチンを一旦終了する。
【０１７２】
ステップ１３３０：ＣＰＵ７１は、目標パージ率ＰＧＴを機関１０の運転状態を示すパラメータ（例えば、機関の負荷ＫＬ）に基いて設定する。より具体的に述べると、ＣＰＵ７１は後述する図１４のルーチンにおいて求められる「蒸発燃料ガス濃度学習値ＦＧＰＧの濃度学習値更新機会回数ＣＦＧＰＧ（濃度学習値更新機会回数）」が「第１機会回数閾値ＣＦＧＰＧｔｈ」以上である場合、図１３のステップ１３３０のブロック内の実線Ｃ１により示されたデータを有する第１パージ率テーブルＭａｐＰＧＴ１（ＫＬ）を用いる。即ち、ＣＰＵ７１は、現時点の負荷ＫＬを第１パージ率テーブルＭａｐＰＧＴ１（ＫＬ）に適用することにより、目標パージ率ＰＧＴを求める。この場合、目標パージ率ＰＧＴは負荷ＫＬが大きいほど大きくなるように決定される。
【０１７３】
これに対し、ＣＰＵ７１は、「濃度学習値更新機会回数ＣＦＧＰＧ」が「１」以上であり且つ「第１機会回数閾値ＣＦＧＰＧｔｈ」よりも小さい場合、破線Ｃ２により示されたデータを有する第２パージ率テーブルＭａｐＰＧＴ２（ＫＬ）を用いる。即ち、ＣＰＵ７１は、現時点の負荷ＫＬを第２パージ率テーブルＭａｐＰＧＴ２（ＫＬ）に適用することにより、目標パージ率ＰＧＴを求める。この場合、目標パージ率ＰＧＴは負荷ＫＬが大きいほど大きくなるように決定される。
【０１７４】
更に、ＣＰＵ７１は、「濃度学習値更新機会回数ＣＦＧＰＧ」が「０」である場合、即ち、機関１０の始動後に蒸発燃料ガス濃度学習値ＦＧＰＧの更新機会（更新履歴）がない場合、一点鎖線Ｃ３により示されたデータを有する第３パージ率テーブルＭａｐＰＧＴ３（ＫＬ）を用いる。即ち、ＣＰＵ７１は、現時点の負荷ＫＬを第３パージ率テーブルＭａｐＰＧＴ３（ＫＬ）に適用することにより、目標パージ率ＰＧＴを求める。この場合、目標パージ率ＰＧＴは負荷ＫＬに依らず、一定であるように決定される。
【０１７５】
この第１パージ率テーブルＭａｐＰＧＴ１（ＫＬ）によれば、目標パージ率ＰＧＴは最も大きくなるように求められる。第３パージ率テーブルＭａｐＰＧＴ３（ＫＬ）によれば、目標パージ率ＰＧＴは最も小さくなる（極めて小さくなる）ように求められる。第３パージ率テーブルＭａｐＰＧＴ３（ＫＬ）により求められる目標パージ率ＰＧＴは「０」であってもよい。第２パージ率テーブルＭａｐＰＧＴ２（ＫＬ）によれば、目標パージ率ＰＧＴは、第１パージ率テーブルＭａｐＰＧＴ１（ＫＬ）によって求められる目標パージ率ＰＧＴと第３パージ率テーブルＭａｐＰＧＴ３（ＫＬ）によって求められる目標パージ率ＰＧＴとの間の大きさになるように求められる。
【０１７６】
なお、パージ率は、吸入空気流量Ｇａに対する蒸発燃料ガスパージ流量ＫＰの比として定義される。或いは、パージ率は、「吸入空気流量Ｇａと蒸発燃料ガスパージ流量ＫＰとの和（Ｇａ＋ＫＰ）」に対する「蒸発燃料ガスパージ流量ＫＰ」の比として定義されてもよい。
【０１７７】
ステップ１３４０：ＣＰＵ７１は、回転速度ＮＥ及び負荷ＫＬをマップＭａｐＰＧＲＭＸに適用することにより、全開パージ率ＰＧＲＭＸを求める。この全開パージ率ＰＧＲＭＸは、パージ制御弁４９を全開にしたときのパージ率である。マップＭａｐＰＧＲＭＸは実験又はシミュレーションの結果に基づき予め取得され、ＲＯＭ７２内に格納されている。マップＭａｐＰＧＲＭＸによれば、全開パージ率ＰＧＲＭＸは回転速度ＮＥが大きくなるほど、又は、負荷ＫＬが大きくなるほど、小さくなる。
【０１７８】
ステップ１３５０：ＣＰＵ７１は、下記（１３）式に、ステップ１３４０にて求めた全開パージ率ＰＧＲＭＸ及びステップ１３３０にて求めた目標パージ率ＰＧＴを適用することにより、デューティ比ＤＰＧを算出する。
ＤＰＧ＝（ＰＧＴ／ＰＧＲＭＸ）・１００（％）  …（１３）
【０１７９】
ステップ１３６０：ＣＰＵ７１は、パージ制御弁４９をデューティ比ＤＰＧに基いて開閉制御する。この結果、目標パージ率ＰＧＴに等しいパージ率にて蒸発燃料ガスが吸気通路に導入される。即ち、ＣＰＵ７１は、一定のパージ制御弁駆動周期Ｔに対して、Ｔ・ＤＰＧ／１００の時間だけパージ制御弁４９を開弁し、Ｔ・（１−ＤＰＧ／１００）の時間だけパージ制御弁４９を閉弁する。
【０１８０】
これに対し、ＣＰＵ７１は、パージ条件が成立していていない場合にはステップ１３１０にて「Ｎｏ」と判定して１３７０に進む。また、ＣＰＵ７１は、メインＦＢ学習完了フラグＸＫＧが「０」である場合にはステップ１３２０にて「Ｎｏ」と判定して１３７０に進む。そして、ＣＰＵ７１はステップ１３７０にてデューティ比ＤＰＧを「０」に設定した後、ステップ１３６０へと進む。このとき、デューティ比ＤＰＧは「０」に設定されているからパージ制御弁４９は完全に閉じられた状態となる。その後、ＣＰＵ７１はステップ１３９５に進んで本ルーチンを一旦終了する。
【０１８１】
＜蒸発燃料ガス濃度学習＞
更に、ＣＰＵ７１は、所定時間が経過する毎に図１４に示した蒸発燃料ガス濃度学習ルーチンを実行するようになっている。この蒸発燃料ガス濃度学習ルーチンの実行によって、蒸発燃料ガスパージが行われている間に蒸発燃料ガス濃度学習値ＦＧＰＧの更新が行われる。
【０１８２】
即ち、ＣＰＵ７１は所定のタイミングになるとステップ１４００から処理を開始してステップ１４０５に進み、メインフィードバック制御が実行中であるか否か（メインフィードバック制御条件が成立しているか否か）を判定する。このとき、メインフィードバック制御が実行されていなければ、ＣＰＵ７１はそのステップ１４０５にて「Ｎｏ」と判定し、ステップ１４９５に直接進んで本ルーチンを一旦終了する。この結果、蒸発燃料ガス濃度学習値ＦＧＰＧの更新は行われない。
【０１８３】
一方、メインフィードバック制御が実行中であるとき、ＣＰＵ７１はステップ１４１０に進んで「蒸発燃料ガスパージが行われているか否か（具体的には、図１３のルーチンにより求められる目標パージ率ＰＧＴ又はデューティ比ＤＰＧが「０」でないか否か）」を判定する。このとき、蒸発燃料ガスパージが行われていないと、ＣＰＵ７１はそのステップ１４１０にて「Ｎｏ」と判定し、ステップ１４９５に直接進んで本ルーチンを一旦終了する。この結果、蒸発燃料ガス濃度学習値ＦＧＰＧの更新は行われない。
【０１８４】
他方、ＣＰＵ７１がステップ１４１０に進んだ際に蒸発燃料ガスパージが行われていると、ＣＰＵ７１はステップ１４１０にて「Ｙｅｓ」と判定してステップ１４１５に進み、補正係数平均ＦＡＦＡＶから「１」を減じた値の絶対値｜ＦＡＦＡＶ−１｜が所定値β以上であるか否かを判定する。ここで、βは０より大きく１より小さい微小な所定値であり、例えば、０．０２である。
【０１８５】
ところで、蒸発燃料ガスは、図１３のステップ１３２０に示されているように、メインＦＢ学習完了フラグＸＫＧが「１」であるとき（即ち、メインフィードバック学習が完了しているとき）に吸気通路に導入される。加えて、メインフィードバック学習は、図１２のステップ１２１０に示されているように、蒸発燃料ガスが吸気通路に導入されていない場合に行われる。従って、メインＦＢ学習完了フラグＸＫＧが「１」であるとき、機関の空燃比を理論空燃比から偏移させる蒸発燃料ガス以外の要因（正確には、補正係数平均ＦＡＦＡＶの絶対値を所定値β以上「１」から乖離させる蒸発燃料ガス以外の要因）は、メインＦＢ学習値ＫＧによって補償されている。
【０１８６】
このことから、図１４のステップ１４１５において、補正係数平均ＦＡＦＡＶから「１」を減じた値の絶対値｜ＦＡＦＡＶ−１｜が所定値β以上である場合、蒸発燃料ガス濃度学習値ＦＧＰＧの値が不正確であって、その結果、図１０のステップ１０８０において上記（３）式に従って算出されるパージ補正係数ＦＰＧの値が適正値から乖離していると考えられる。
【０１８７】
そこで、ＣＰＵ７１は、絶対値｜ＦＡＦＡＶ−１｜がβよりも大きいとき、ステップ１４１５にて「Ｙｅｓ」と判定し、以下に述べるステップ１４２０及びステップ１４２５の処理を実行することにより、蒸発燃料ガス濃度学習値ＦＧＰＧを変更する。即ち、ＣＰＵ７１は、ステップ１４２０及びステップ１４２５にて蒸発燃料ガス濃度学習値ＦＧＰＧの学習を行う。
【０１８８】
ステップ１４２０：ＣＰＵ７１は、下記（１４）式に従って更新値ｔＦＧを求める。（１４）式における目標パージ率ＰＧＴは、図１３のステップ１３３０にて設定されている。（１４）式から明らかなように、更新値ｔＦＧは目標パージ率１％当たりの「ＦＡＦＡＶの１からの差（＝ＦＡＦＡＶ−１）」である。その後、ＣＰＵ７１はステップ１４２５に進む。
ｔＦＧ＝（ＦＡＦＡＶ−１）／ＰＧＴ  …（１４）
【０１８９】
蒸発燃料ガスに含まれる蒸発燃料ガスの濃度が高いほど、上流側空燃比ａｂｙｆｓは理論空燃比よりもより小さい空燃比（理論空燃比よりもリッチ側の空燃比）となる。従って、メインフィードバック係数ＦＡＦは燃料噴射量を減量するために「１よりもより小さい値」になるので、補正係数平均ＦＡＦＡＶも「１よりもより小さい値」となる。その結果、ＦＡＦＡＶ−１は負の値となるので、更新値ｔＦＧは負の値となる。更に、更新値ｔＦＧの絶対値は、ＦＡＦＡＶが小さいほど（「１」から乖離するほど）大きな値となる。つまり、蒸発燃料ガスの濃度が高いほど、更新値ｔＦＧはその絶対値の大きい負の値となる。
【０１９０】
ステップ１４２５：ＣＰＵ７１は、下記（１５）式に従って蒸発燃料ガス濃度学習値ＦＧＰＧを更新する。（１５）式においてＦＧＰＧｎｅｗは更新後の蒸発燃料ガス濃度学習値ＦＧＰＧであり、ＣＰＵ７１はこの更新後の蒸発燃料ガス濃度学習値ＦＧＰＧｎｅｗを蒸発燃料ガス濃度学習値ＦＧＰＧとしてバックアップＲＡＭ７４に格納する。この結果、蒸発燃料ガス濃度学習値ＦＧＰＧは、蒸発燃料ガスの濃度が高いほど小さい値になる。なお、蒸発燃料ガス濃度学習値ＦＧＰＧの初期値は「１」に設定されている。
ＦＧＰＧｎｅｗ＝ＦＧＰＧ＋ｔＦＧ  …（１５）
【０１９１】
ステップ１４３０：ＣＰＵ７１は、「蒸発燃料ガス濃度学習値ＦＧＰＧの濃度学習値更新機会回数ＣＦＧＰＧ（濃度学習値更新機会回数ＣＦＧＰＧ）」を「１」だけ増大する。濃度学習値更新機会回数ＣＦＧＰＧは上述したイニシャルルーチンにおいて「０」に設定されるようになっている。その後、ＣＰＵ７１はステップ１４９５に進み、本ルーチンを一旦終了する。
【０１９２】
これに対し、ＣＰＵ７１がステップ１４１５に進んだとき、絶対値｜ＦＡＦＡＶ−１｜が値β以下であれば、ＣＰＵ７１はステップ１４１５にて「Ｎｏ」と判定してステップ１４３５に進み、更新値ｔＦＧを「０」に設定する。その後、ＣＰＵ７１はステップ１４２５に進む。従って、この場合、蒸発燃料ガス濃度学習値ＦＧＰＧの値は変化しない。次いで、ＣＰＵ７１はステップ１４３０に進む。従って、蒸発燃料ガス濃度学習値ＦＧＰＧの値が変化しない場合であっても、ステップ１４１５の処理を実行した場合、濃度学習値更新機会回数ＣＦＧＰＧの値は「１」だけ増大される。
【０１９３】
＜サブフィードバック量及びサブＦＢ学習値算出＞
ＣＰＵ７１は、サブフィードバック量Ｖａｆｓｆｂ及びサブフィードバック量Ｖａｆｓｆｂの学習値Ｖａｆｓｆｂｇを算出するために、図１５に示したルーチンを所定時間の経過毎に実行している。
【０１９４】
従って、所定のタイミングになると、ＣＰＵ７１はステップ１５００から処理を開始し、ステップ１５０５に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述した図１１のステップ１１０５におけるメインフィードバック制御条件が成立し、上流側目標空燃比ａｂｙｆｒが理論空燃比に設定され、機関の冷却水温ＴＨＷが前記第１所定温度よりも高い第２所定温度以上であり、且つ、下流側空燃比センサ６８が活性化しているときに成立する。
【０１９５】
いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、ＣＰＵ７１はステップ１５０５にて「Ｙｅｓ」と判定し、以下に述べるステップ１５１０乃至ステップ１５３０の処理を順に行い、サブフィードバック量Ｖａｆｓｆｂを更新する。
【０１９６】
ステップ１５１０：ＣＰＵ７１は、下記（１６）式に従って下流側目標値Ｖｏｘｓｒｅｆと下流側空燃比センサ６８の出力値Ｖｏｘｓ（即ち、理論空燃比相当値Ｖｓｔ）との差である出力偏差量ＤＶｏｘｓを取得する。出力偏差量ＤＶｏｘｓは「第１偏差」とも称呼される。
ＤＶｏｘｓ＝Ｖｏｘｓｒｅｆ−Ｖｏｘｓ    …（１６）
【０１９７】
ステップ１５１５：ＣＰＵ７１は、下記（１７）式に従ってサブフィードバック量Ｖａｆｓｆｂを求める。この（１７）式において、Ｋｐは予め設定された比例ゲイン（比例定数）、Ｋｉは予め設定された積分ゲイン（積分定数）、Ｋｄは予め設定された微分ゲイン（微分定数）である。また、ＳＤＶｏｘｓは出力偏差量ＤＶｏｘｓの積分値（時間積分値）、ＤＤＶｏｘｓは出力偏差量ＤＶｏｘｓの微分値（時間微分値）である。
Ｖａｆｓｆｂ＝Ｋｐ・ＤＶｏｘｓ＋Ｋｉ・ＳＤＶｏｘｓ＋Ｋｄ・ＤＤＶｏｘｓ    …（１７）
【０１９８】
ステップ１５２０：ＣＰＵ７１は、「その時点における出力偏差量の積分値ＳＤＶｏｘｓ」に「上記ステップ１５１０にて求めた出力偏差量ＤＶｏｘｓ」を加えることにより、新たな出力偏差量の積分値ＳＤＶｏｘｓを取得する。
【０１９９】
ステップ１５２５：ＣＰＵ７１は、「上記ステップ１５１０にて算出した出力偏差量ＤＶｏｘｓ」から「本ルーチンを前回実行した際に算出された出力偏差量である前回出力偏差量ＤＶｏｘｓｏｌｄ」を減じることにより、新たな出力偏差量の微分値ＤＤＶｏｘｓを求める。
【０２００】
ステップ１５３０：ＣＰＵ７１は、「上記ステップ１５１０にて算出した出力偏差量ＤＶｏｘｓ」を「前回出力偏差量ＤＶｏｘｓｏｌｄ」として格納する。
【０２０１】
このように、ＣＰＵ７１は、下流側空燃比センサ６８の出力値Ｖｏｘｓを下流側目標値Ｖｏｘｓｒｅｆに一致させるための比例・積分・微分（ＰＩＤ）制御により「サブフィードバック量Ｖａｆｓｆｂ」を算出する。このサブフィードバック量Ｖａｆｓｆｂは、上述した（５）式に示したように、フィードバック制御用出力値Ｖａｂｙｆｃを算出するために使用される。
【０２０２】
次いで、ＣＰＵ７１は、以下に述べるステップ１５３５乃至ステップ１５５５の処理を順に行うことにより「サブＦＢ学習値Ｖａｆｓｆｂｇ」を算出し、その後、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０２０３】
ステップ１５３５：ＣＰＵ７１は、その時点のサブＦＢ学習値Ｖａｆｓｆｂｇを更新前学習値Ｖａｆｓｆｂｇ０として格納する。
【０２０４】
ステップ１５４０：ＣＰＵ７１は、下記（１８）式に従ってサブＦＢ学習値Ｖａｆｓｆｂｇを更新する。更新されたサブＦＢ学習値Ｖａｆｓｆｂｇ（＝Ｖａｆｓｆｂｇｎｅｗ）はバックアップＲＡＭ７４に格納される。（１８）式において、値ｐは０より大きく１より小さい定数である。
Ｖａｆｓｆｂｇｎｅｗ＝（１−ｐ）・Ｖａｆｓｆｂｇ＋ｐ・Ｋｉ・ＳＤＶｏｘｓ  …（１８）
【０２０５】
上記（１８）式から明らかなように、サブＦＢ学習値Ｖａｆｓｆｂｇは「サブフィードバック量Ｖａｆｓｆｂの積分項Ｋｉ・ＳＤＶｏｘｓ」に「ノイズ除去のためのフィルタ処理」を施した値である。換言すると、サブＦＢ学習値Ｖａｆｓｆｂｇは、積分項Ｋｉ・ＳＤＶｏｘｓの一次遅れ量（なまし値）であり、サブフィードバック量Ｖａｆｓｆｂの定常成分（積分項Ｋｉ・ＳＤＶｏｘｓ）に応じた値である。このように、サブＦＢ学習値Ｖａｆｓｆｂｇは、サブフィードバック量Ｖａｆｓｆｂの定常成分に接近するように更新される。
【０２０６】
なお、ＣＰＵ７１は、下記（１９）式に従ってサブＦＢ学習値Ｖａｆｓｆｂｇを更新してもよい。この場合、（１９）式から明らかなように、サブＦＢ学習値Ｖａｆｓｆｂｇは「サブフィードバック量Ｖａｆｓｆｂ」に「ノイズ除去のためのフィルタ処理」を施した値となる。換言すると、サブＦＢ学習値Ｖａｆｓｆｂｇは、サブフィードバック量Ｖａｆｓｆｂの一次遅れ量（なまし値）であってもよい。（１９）式において、値ｐは０より大きく１より小さい定数である。
Ｖａｆｓｆｂｇｎｅｗ＝（１−ｐ）・Ｖａｆｓｆｂｇ＋ｐ・Ｖａｆｓｆｂ  …（１９）
【０２０７】
何れにしても、サブＦＢ学習値Ｖａｆｓｆｂｇは、サブフィードバック量Ｖａｆｓｆｂの定常成分に接近するように更新される。即ち、サブＦＢ学習値Ｖａｆｓｆｂｇは、サブフィードバック量Ｖａｆｓｆｂの定常成分を結果的に取り込むように更新される。
【０２０８】
ステップ１５４５：ＣＰＵ７１は、下記（２０）式に従ってサブＦＢ学習値Ｖａｆｓｆｂｇの変更量（更新量）ΔＧを算出する。（２０）式において、Ｖａｆｓｆｂｇ０は上記ステップ１５３５にて取り込んだ「更新直前の学習値Ｖａｆｓｆｂｇ」である。従って、変更量ΔＧは正の値及び負の値の何れともなる。
ΔＧ＝Ｖａｆｓｆｂｇ−Ｖａｆｓｆｂｇ０    …（２０）
【０２０９】
ステップ１５５０：ＣＰＵ７１は、下記（２１）式に従ってサブフィードバック量Ｖａｆｓｆｂを変更量ΔＧにより補正する。即ち、ＣＰＵ７１は、学習値Ｖａｆｓｆｂｇを変更量ΔＧだけ増加するように更新したとき、サブフィードバック量Ｖａｆｓｆｂを変更量ΔＧだけ減少させる修正を行う。（２１）式において、Ｖａｆｓｆｂｎｅｗは修正後のサブフィードバック量Ｖａｆｓｆｂである。
Ｖａｆｓｆｂｎｅｗ＝Ｖａｆｓｆｂ−ΔＧ    …（２１）
【０２１０】
ステップ１５５５：ＣＰＵ７１は、上記（１８）式によりサブＦＢ学習値Ｖａｆｓｆｂｇを変更量ΔＧだけ増加するように更新したとき、出力偏差量ＤＶｏｘｓの積分値を下記（２２）式のように修正する。（２２）式においてＳＤＶｏｘｓｎｅｗは、修正後の出力偏差量ＤＶｏｘｓの積分値ＳＤＶｏｘである。
ＳＤＶｏｘｓｎｅｗ＝ＳＤＶｏｘｓ−ΔＧ／Ｋｉ    …（２２）
【０２１１】
なお、ステップ１５５５を省略してもよい。また、ステップ１５４５乃至ステップ１５５５を省略してもよい。更に、ステップ１５３５乃至ステップ１５５５を省略してもよい。この場合、サブＦＢ学習値Ｖａｆｓｆｂｇには「０」が設定される。即ち、サブフィードバックの学習制御は実行されない。
【０２１２】
以上の処理により、所定時間の経過毎にサブフィードバック量ＶａｆｓｆｂとサブＦＢ学習値Ｖａｆｓｆｂｇとが更新される。
【０２１３】
一方、サブフィードバック制御条件が成立していない場合、ＣＰＵ７１は図１５のステップ１５０５にて「Ｎｏ」と判定し、以下に述べるステップ１５６５及びステップ１５７０の処理を順に行い、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０２１４】
ステップ１５６５：ＣＰＵ７１はサブフィードバック量Ｖａｆｓｆｂの値を「０」に設定する。
ステップ１５７０：ＣＰＵ７１は出力偏差量の積分値ＳＤＶｏｘｓの値を「０」に設定する。
【０２１５】
これにより、上記（５）式から明らかなように、フィードバック制御用出力値Ｖａｂｙｆｃは、上流側空燃比センサ６７の出力値ＶａｂｙｆｓとサブＦＢ学習値Ｖａｆｓｆｂｇとの和となる。即ち、この場合、「サブフィードバック量Ｖａｆｓｆｂの更新」及び「サブフィードバック量Ｖａｆｓｆｂの指示燃料噴射量Ｆｉへの反映」は停止される。但し、少なくとも、サブフィードバック量Ｖａｆｓｆｂの積分項に対応するサブＦＢ学習値Ｖａｆｓｆｂｇは指示燃料噴射量Ｆｉに反映される。
【０２１６】
＜判定許可フラグＸｋｙｏｋａの設定＞
次に、「インバランス判定許可フラグ設定ルーチン」を実行するための処理について説明する。ＣＰＵ７１は、判定許可フラグＸｋｙｏｋａの値に基づいて、後述する空燃比気筒間インバランス判定を実行するか否かを決定するようになっている。この判定許可フラグＸｋｙｏｋａは、ＣＰＵ７１が図１６にフローチャートにより示した「判定許可フラグ設定ルーチン」を所定時間（４ｍｓ）が経過する毎に実行することにより設定される。なお、判定許可フラグＸｋｙｏｋａの値は、上述したイニシャルルーチンにおいて「０」に設定されるようになっている。
【０２１７】
所定のタイミングになると、ＣＰＵ７１は図１６のステップ１６００から処理を開始してステップ１６１０に進み、絶対クランク角ＣＡが０°クランク角（＝７２０°クランク角）であるか否かを判定する。
【０２１８】
ＣＰＵ７１がステップ１６１０の処理を行う時点において、絶対クランク角ＣＡが０°クランク角でなければ、ＣＰＵ７１はそのステップ１６１０にて「Ｎｏ」と判定してステップ１６４０に直接進む。
【０２１９】
これに対し、ＣＰＵ７１がステップ１６１０の処理を行う時点において、絶対クランク角ＣＡが０°クランク角であると、ＣＰＵ７１はそのステップ１６１０にて「Ｙｅｓ」と判定してステップ１６２０に進み、判定実行条件が成立しているか否かを判定する。
【０２２０】
この判定実行条件は、以下の総ての条件（条件Ｃ１乃至条件Ｃ６）が成立したときに成立する。なお、判定実行条件は、条件Ｃ１、条件Ｃ３及び条件Ｃ６が成立したとき、成立する条件であってもよい。また、判定実行条件は、条件Ｃ３及び条件Ｃ６が成立しているときに成立する条件であってもよい。もちろん、判定実行条件は、他の条件が更に成立しているときに成立する条件であってもよい。
【０２２１】
（条件Ｃ１）吸入空気流量Ｇａが、低側吸入空気流量閾値（第１閾値空気流量）Ｇａ１ｔｈよりも大きく、且つ、高側吸入空気流量閾値（第２閾値空気流量）Ｇａ２ｔｈよりも小さい。なお、高側吸入空気流量閾値Ｇａ２ｔｈは低側吸入空気流量閾値Ｇａ１ｔｈよりも大きい値である。
【０２２２】
（条件Ｃ２）機関回転速度ＮＥが、低側機関回転速度閾値ＮＥ１ｔｈよりも大きく、且つ、高側機関回転速度閾値ＮＥ２ｔｈよりも小さい。なお、高側機関回転速度閾値ＮＥ２ｔｈは低側機関回転速度閾値ＮＥ１ｔｈよりも大きい値である。
【０２２３】
（条件Ｃ３）フューエルカット中でない。
（条件Ｃ４）メインフィードバック制御条件が成立していて、メインフィードバック制御中である。
（条件Ｃ５）サブフィードバック制御条件が成立していて、サブフィードバック制御中である。
【０２２４】
（条件Ｃ６）パージ補正係数ＦＰＧが所定の閾値パージ補正係数ＦＰＧｔｈ（但し、閾値パージ補正係数ＦＰＧｔｈは「０」より大きく「１」より小さい値である。）以上であるか、又は、デューティ比ＤＰＧが「０」である。即ち、蒸発燃料ガス影響発生状態が発生していない。
【０２２５】
条件６の閾値パージ補正係数ＦＰＧｔｈ（閾値補正量）は、パージ補正係数ＦＰＧが閾値パージ補正係数ＦＰＧｔｈよりも小さいとき、蒸発燃料ガスのパージが「後述するインバランス判定用パラメータ」に大きな変化をもたらすようになる値、即ち、蒸発燃料ガス影響発生状態（インバランス判定用パラメータを所定の許容量以上変化させるような状態）が発生していると判定できる値、となるように設定されている。
【０２２６】
なお、条件Ｃ６の「パージ補正係数ＦＰＧが所定の閾値パージ補正係数ＦＰＧｔｈ以上である」との条件は、「パージ補正係数ＦＰＧとパージ補正係数ＦＰＧの基準値である「１」との差の絶対値｜１−ＦＰＧ｜が正のパージ影響判定用閾値Ｂｔｈ（但し、Ｂは「０」よりも大きく「１」よりも小さい値）よりも小さい」という条件に置換することができる。更に、条件Ｃ６の「デューティ比ＤＰＧが「０」である」との条件は、「デューティ比ＤＰＧが閾値デューティ比ＤＰＧｔｈよりも小さい」という条件に置換することもできる。
【０２２７】
ＣＰＵ７１がステップ１６２０の処理を行う時点において、判定実行条件が成立していなければ、ＣＰＵ７１はそのステップ１６２０にて「Ｎｏ」と判定し、ステップ１６４０に直接進む。
【０２２８】
これに対し、ＣＰＵ７１がステップ１６２０の処理を行う時点において、判定実行条件が成立していると、ＣＰＵ７１はそのステップ１６２０にて「Ｙｅｓ」と判定してステップ１６３０に進み、判定許可フラグＸｋｙｏｋａの値を「１」に設定する。その後、ＣＰＵ７１はステップ１６４０に進む。
【０２２９】
ＣＰＵ７１はステップ１６４０にて、上記判定実行条件が不成立であるか否かを判定する。即ち、上記条件Ｃ１乃至上記条件Ｃ６のうちの何れか一つでも成立していないか否かを判定する。そして、判定実行条件が不成立であると、ＣＰＵ７１はそのステップ１６４０からステップ１６５０に進み、判定許可フラグＸｋｙｏｋａの値を「０」に設定し、ステップ１６９５に進んで本ルーチンを一旦終了する。これに対し、ＣＰＵ７１がステップ１６４０の処理を行う時点において、判定実行条件が成立していれば、ＣＰＵ７１はそのステップ１６４０からステップ１６９５へと直接進んで本ルーチンを一旦終了する。
【０２３０】
このように、判定許可フラグＸｋｙｏｋａは、絶対クランク角が０°クランク角になった時点において判定実行条件が成立しているときに「１」に設定され、判定実行条件が不成立になった時点において「０」に設定される。
【０２３１】
＜空燃比気筒間インバランス判定＞
次に、「空燃比気筒間インバランス判定」を実行するための処理について説明する。ＣＰＵ７１は、４ｍｓ（４ミリ秒＝所定の一定サンプリング時間ｔｓ）が経過する毎に、図１７にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を実行するようになっている。
【０２３２】
従って、所定のタイミングになると、ＣＰＵ７１はステップ１７００から処理を開始してステップ１７０５に進み、判定許可フラグＸｋｙｏｋａの値が「１」であるか否かを判定する。このとき、判定許可フラグＸｋｙｏｋａの値が「１」であると、ＣＰＵ７１はステップ１７０５にて「Ｙｅｓ」と判定し、ステップ１７１０に進んで「その時点の空燃比センサ６７の出力値Ｖａｂｙｆｓ」をＡＤ変換することにより取得する。
【０２３３】
次に、ＣＰＵ７１はステップ１７１５に進み、空燃比センサ５５の出力値Ｖａｂｙｆｓを空燃比変換テーブルＭａｐａｂｙｆｓに適用することにより、今回の検出空燃比ａｂｙｆｓを取得する。なお、ＣＰＵ７１は、ステップ１７１５の処理の前に、本ルーチンを前回実行したときに得た検出空燃比ａｂｙｆｓ（上流側空燃比ａｂｙｆｓ）を前回の検出空燃比ａｂｙｆｓｏｌｄとして記憶する。即ち、前回の検出空燃比ａｂｙｆｓｏｌｄは、現時点から４ｍｓ（サンプリング時間ｔｓ）前の時点における検出空燃比ａｂｙｆｓである。
【０２３４】
次に、ＣＰＵ７１はステップ１７２０に進んで、
（Ａ）空燃比変動指標量ＡＦＤ、
（Ｂ）空燃比変動指標量ＡＦＤの絶対値｜ＡＦＤ｜の積算値ＳＡＦＤ、
（Ｃ）空燃比変動指標量ＡＦＤの絶対値の、積算値ＳＡＦＤへの積算回数カウンタＣｎ、及び、
（Ｄ）検出空燃比ａｂｙｆｓの最小値ＭＩＮＺ、
を更新する。以下、これらの更新方法について具体的に説明する。
【０２３５】
（Ａ）空燃比変動指標量ＡＦＤの更新。
空燃比変動指標量ＡＦＤは、本例において、検出空燃比変化率ΔＡＦである。ＣＰＵ７１は、この検出空燃比変化率ΔＡＦを、今回の検出空燃比ａｂｙｆｓから前回の検出空燃比ａｂｙｆｓｏｌｄを減じることによって取得する。即ち、今回の検出空燃比ａｂｙｆｓをａｂｙｆｓ（ｎ）、前回の検出空燃比ａｂｙｆｓをａｂｙｆｓ（ｎ−１）と表記すると、ＣＰＵ７１はステップ１７２０にて「今回の空燃比変動指標量ＡＦＤである今回の検出空燃比変化率ΔＡＦ（ｎ）」を下記の（２３）式に従って求める。
ΔＡＦ（ｎ）＝ａｂｙｆｓ（ｎ）−ａｂｙｆｓ（ｎ−１）    …（２３）
【０２３６】
（Ｂ）空燃比変動指標量ＡＦＤの絶対値｜ＡＦＤ｜の積算値ＳＡＦＤの更新。
ＣＰＵ７１は今回の積算値ＳＡＦＤ（ｎ）を下記の（２４）式に従って求める。即ち、ＣＰＵ７１は、ステップ１７２０に進んだ時点における前回の積算値ＳＡＦＤ（ｎ−１）に上記算出した今回の検出空燃比変化率ΔＡＦ（ｎ）の絶対値｜ΔＡＦ（ｎ）（＝ＡＦＤ（ｎ））｜を加えることにより、積算値ＳＡＦＤを更新する。
ＳＡＦＤ（ｎ）＝ＡＳＦＤ（ｎ−１）＋｜ΔＡＦ（ｎ）｜…（２４）
【０２３７】
積算値ＳＡＦＤに「今回の検出空燃比変化率の絶対値｜ΔＡＦ（ｎ）｜」を積算する理由は、図９の（Ｂ）及び（Ｃ）からも理解されるように、検出空燃比変化率ΔＡＦ（ｎ）は正の値にも負の値にもなるからである。なお、積算値ＳＡＦＤも、上述したイニシャルルーチンにおいて「０」に設定されるようになっている。
【０２３８】
（Ｃ）空燃比変動指標量ＡＦＤの絶対値の、積算値ＳＡＦＤへの積算回数カウンタＣｎの更新。
ＣＰＵ７１は、カウンタＣｎの値を「１」だけ増大する。このカウンタＣｎの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１７６０にても「０」に設定される。従って、カウンタＣｎの値は、積算値ＳＡＦＤに積算された空燃比変動指標量ＡＦＤの絶対値のデータ数を示す。
【０２３９】
（Ｄ）検出空燃比ａｂｙｆｓの最小値ＭＩＮＺの更新。
ＣＰＵ７１は、ステップ１７１５にて取得された今回の検出空燃比ａｂｙｆｓが、現時点にて保持している最小値ＭＩＮＺよりも小さければ、その今回の検出空燃比ａｂｙｆｓを最小値ＭＩＮＺとして保存する。
【０２４０】
次に、ＣＰＵ７１はステップ１７２５に進み、基準気筒（本例では第１気筒）の圧縮上死点を基準としたクランク角ＣＡ（絶対クランク角ＣＡ）が７２０°クランク角になっているか否かを判定する。このとき、絶対クランク角ＣＡが７２０°クランク角未満であると、ＣＰＵ７１はステップ１７２５にて「Ｎｏ」と判定してステップ１７９５に直接進み、本ルーチンを一旦終了する。
【０２４１】
なお、ステップ１７２５は、検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値を求めるための最小単位の期間（単位燃焼サイクル期間）を定めるステップであり、ここでは７２０°クランク角がその最小期間に相当する。７２０°クランク角は、一つの空燃比センサ５５に到達する排ガスを排出している総ての気筒（本例における第１〜第４気筒）において各一回の燃焼行程が終了するのに要するクランク角である。もちろん、この最小期間は７２０°クランク角よりも短くてもよいが、サンプリング時間ｔｓの複数倍の長さ以上の期間であることが望ましい。即ち、最小単位の期間内に複数個の検出空燃比変化率ΔＡＦが取得されるように、その最小単位の期間が定められていることが望ましい。
【０２４２】
一方、ＣＰＵ７１がステップ１７２５の処理を行う時点において、絶対クランク角ＣＡが７２０°クランク角になっていると、ＣＰＵ７１はそのステップ１７２５にて「Ｙｅｓ」と判定し、ステップ１７３０に進んで、
（Ｅ）空燃比変動指標量ＡＦＤの絶対値の平均値ＡｖｅＡＦＤの算出、
（Ｆ）平均値ＡｖｅＡＦＤの積算値Ｓａｖｅの算出、
（Ｇ）最小値ＭＩＮＺの積算値ＳＭＩＮＺの算出、及び、
（Ｈ）積算回数カウンタＣｓインクリメント、
を行う。以下、これらの更新方法について具体的に説明する。
【０２４３】
（Ｅ）空燃比変動指標量ＡＦＤの絶対値の平均値ＡｖｅＡＦＤの算出。
ＣＰＵ７１は、積算値ＳＡＦＤをカウンタＣｎの値により除することにより、空燃比変動指標量ＡＦＤの絶対値｜ＡＦＤ｜の平均値ＡｖｅＡＦＤを算出する。
【０２４４】
（Ｆ）平均値ＡｖｅＡＦＤの積算値Ｓａｖｅの算出。
ＣＰＵ７１は今回の積算値Ｓａｖｅ（ｎ）を下記の（２５）式に従って求める。即ち、ＣＰＵ７１は、ステップ１７３０に進んだ時点における前回の積算値Ｓａｖｅ（ｎ−１）に上記算出した今回の平均値ＡｖｅＡＦＤを加えることにより、積算値Ｓａｖｅを更新する。この積算値Ｓａｖｅの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１７６０にても「０」に設定される。
Ｓａｖｅ（ｎ）＝Ｓａｖｅ（ｎ−１）＋ＡｖｅＡＦＤ  …（２５）
【０２４５】
（Ｇ）最小値ＭＩＮＺの積算値ＳＭＩＮＺの算出。
ＣＰＵ７１は、今回の積算値ＳＭＩＮＺ（ｎ）を下記の（２６）式に従って求める。即ち、ＣＰＵ７１は、ステップ１７３０に進んだ時点における前回の積算値ＳＭＩＮＺ（ｎ−１）に上記保存した今回の単位燃焼サイクル期間における最小値ＭＩＮＺを加えることにより、積算値ＳＭＩＮＺを更新する。この積算値ＳＭＩＮＺの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１７６０にても「０」に設定される。更に、ＣＰＵ７１は、最小値ＭＩＮＺを所定の大きなデフォルト値に設定しておく。
ＳＭＩＮＺ（ｎ）＝ＳＭＩＮＺ（ｎ−１）＋ＭＩＮＺ  …（２６）
【０２４６】
（Ｈ）積算回数カウンタＣｓインクリメント。
ＣＰＵ７１は、下記の（２７）式に従って、カウンタＣｓの値を「１」だけ増大する。Ｃｓ（ｎ）は更新後のカウンタＣｓであり、Ｃｓ（ｎ−１）は更新前のカウンタＣｓである。このカウンタＣｓの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１７６０にても「０」に設定される。従って、カウンタＣｓの値は、積算値Ｓａｖｅに積算された平均値ＡｖｅＡＦＤのデータ数、及び、積算値ＳＭＩＮＺに積算された最小値ＭＩＮＺのデータ数を示す。
Ｃｓ（ｎ）＝Ｃｓ（ｎ−１）＋１  …（２７）
【０２４７】
次に、ＣＰＵ７１はステップ１７３５に進み、カウンタＣｓの値が閾値Ｃｓｔｈ以上であるか否かを判定する。このとき、カウンタＣｓの値が閾値Ｃｓｔｈ未満であると、ＣＰＵ７１はそのステップ１７３５にて「Ｎｏ」と判定し、ステップ１７９５に直接進んで本ルーチンを一旦終了する。なお、閾値Ｃｓｔｈは自然数であり、２以上であることが望ましい。
【０２４８】
一方、ＣＰＵ７１がステップ１７３５の処理を行う時点において、カウンタＣｓの値が閾値Ｃｓｔｈ以上であると、ＣＰＵ７１はそのステップ１７３５にて「Ｙｅｓ」と判定してステップ１７４０に進み、インバランス判定用パラメータＸ（第１インバランス判定用パラメータＸ１及び第２インバランス判定用パラメータＸ２）を算出する。
【０２４９】
より具体的に述べると、ＣＰＵ７１は下記（２８）式に従って積算値ＳａｖｅをカウンタＣｓの値（＝Ｃｓｔｈ）によって除することにより、第１インバランス判定用パラメータＸ１を算出する。この第１インバランス判定用パラメータＸ１は、検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の一つの単位燃焼サイクル期間における平均値を、複数（Ｃｓｔｈ回分）の単位燃焼サイクル期間について平均した値である。従って、第１インバランス判定用パラメータＸ１は、気筒別空燃比の間の差が大きいほど大きくなるインバランス判定用パラメータである。
Ｘ１＝Ｓａｖｅ／Ｃｓｔｈ    …（２８）
【０２５０】
或いは、ＣＰＵ７１は、下記（２９）式に従って積算値ＳＭＩＮＺをカウンタＣｓの値（＝Ｃｓｔｈ）によって除することにより、第２インバランス判定用パラメータＸ２を算出する。この第２インバランス判定用パラメータＸ２は、一つの単位燃焼サイクル期間における検出空燃比ａｂｙｆｓの最小値ＭＩＮＺを、複数（Ｃｓｔｈ回分）の単位燃焼サイクル期間について平均した値である。従って、第２インバランス判定用パラメータＸ２は、気筒別空燃比の間の差が大きいほど小さくなるインバランス判定用パラメータである。
Ｘ２＝ＳＭＩＮＺ／Ｃｓｔｈ    …（２９）
【０２５１】
次いで、ＣＰＵ７１はステップ１７４５に進み、第１インバランス判定用パラメータＸ１が第１のインバランス判定用閾値Ｘ１ｔｈよりも大きいか否かを判定する。この第１のインバランス判定用閾値Ｘ１ｔｈは、吸入空気流量Ｇａが大きいほど大きくなるように設定されることが望ましい。
【０２５２】
このとき、第１インバランス判定用パラメータＸ１が第１のインバランス判定用閾値Ｘ１ｔｈよりも大きいと、ＣＰＵ７１はステップ１７４５にて「Ｙｅｓ」と判定してステップ１７５０に進み、インバランス発生フラグＸＩＮＢの値を「１」に設定する。即ち、ＣＰＵ７１は空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、ＣＰＵ７１は図示しない警告ランプを点灯してもよい。なお、インバランス発生フラグＸＩＮＢの値はバックアップＲＡＭ７４に格納される。その後、ＣＰＵ７１はステップ１７９５に進んで本ルーチンを一旦終了する。
【０２５３】
これに対し、ＣＰＵ７１がステップ１７４５の処理を行う時点において、第１インバランス判定用パラメータＸ１が第１のインバランス判定用閾値Ｘ１ｔｈ以下であると、ＣＰＵ７１はステップ１７４５にて「Ｎｏ」と判定してステップ１７５５に進み、インバランス発生フラグＸＩＮＢの値を「２」に設定する。即ち、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、ＣＰＵ７１はステップ１７９５に進んで本ルーチンを一旦終了する。なお、ステップ１７５５は省略されてもよい。
【０２５４】
一方、ＣＰＵ７１がステップ１７０５に進んだ際に判定許可フラグＸｋｙｏｋａの値が「１」でなければ、ＣＰＵ７１はそのステップ１７０５にて「Ｎｏ」と判定してステップ１７６０に進む。そして、ＣＰＵ７１はステップ１７６０にて各値（例えば、ＡＦＤ，ＳＡＦＤ，Ｃｎ，ＭＩＮＺ等）を「０」に設定（クリア）し、その後、ステップ１７９５に直接進んで本ルーチンを一旦終了する。
【０２５５】
以上により、燃料噴射弁３９の特性変化に起因する空燃比気筒間インバランス判定が実行される。なお、第１判定装置は、ステップ１７４５の処理において第２のインバランス判定用パラメータＸ２（複数の単位燃焼サイクル期間に対する検出空燃比ａｂｙｆｓの最小値ＭＩＮＺの平均値）を用いて空燃比気筒間インバランス判定を行ってもよい。
【０２５６】
この場合、ＣＰＵ７１がステップ１７４５に進んだ際、ＣＰＵ７１は第２のインバランス判定用パラメータＸ２が第２のインバランス判定用閾値Ｘ２ｔｈよりも小さいか否かを判定する。
【０２５７】
このとき、第２のインバランス判定用パラメータＸ２が第２のインバランス判定用閾値Ｘ２ｔｈよりも小さいと、ＣＰＵ７１はステップ１７４５にて「Ｙｅｓ」と判定してステップ１７５０に進み、インバランス発生フラグＸＩＮＢの値を「１」に設定する。即ち、ＣＰＵ７１は空燃比気筒間インバランス状態が発生していると判定する。その後、ＣＰＵ７１はステップ１７９５に進んで本ルーチンを一旦終了する。
【０２５８】
これに対し、ＣＰＵ７１がステップ１７４５の処理を行う時点において、第２インバランス判定用パラメータＸ２が第２のインバランス判定用閾値Ｘ２ｔｈ以上であると、ＣＰＵ７１はステップ１７４５にて「Ｎｏ」と判定してステップ１７５５に進み、インバランス発生フラグＸＩＮＢの値を「２」に設定する。即ち、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、ＣＰＵ７１はステップ１７９５に進んで本ルーチンを一旦終了する。なお、ステップ１７５５は省略されてもよい。
【０２５９】
以上、説明したように、第１判定装置は、
複数の気筒を有する多気筒内燃機関（１０）に適用される空燃比気筒間インバランス判定装置であって、
前記複数の気筒のうちの少なくとも２以上の気筒（第１〜第４気筒）から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設される空燃比センサであって同空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する空燃比センサ（６７）と、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する複数の燃料噴射弁（３９）と、
前記複数の燃料噴射弁に供給される燃料を貯蔵する燃料タンク（４５）内に発生した蒸発燃料ガスを前記機関の吸気通路に導入するための通路を構成するパージ通路部（ベーパ捕集管４７及びパージ流路管４８等）と、
前記パージ通路部を通して前記機関の吸気通路に流入する前記蒸発燃料ガスの量である蒸発燃料ガスパージ量を制御するパージ量制御手段（４９、図１３のルーチン）と、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータ（インバランス判定用パラメータＸ１、インバランス判定用パラメータＸ２）を前記空燃比センサの出力値に基づいて取得するインバランス判定用パラメータ取得手段（図１７のステップ１７０５乃至１７４０）と、
前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較するとともにその比較の結果に基づいて空燃比気筒間インバランス状態が発生したか否かについて判定するインバランス判定を実行するインバランス判定手段（図１７のステップ１７４５乃至ステップ１７５５）と、
前記吸気通路に流入する前記蒸発燃料ガスが前記インバランス判定用パラメータを所定の許容量以上変化させるような状態である蒸発燃料ガス影響発生状態が発生しているか否かを判定する（上記条件Ｃ６が成立しないか否かを判定する）とともに（図１６のステップ１６２０）、前記蒸発燃料ガス影響発生状態が発生していると判定されたとき、前記インバランス判定用パラメータの取得を禁止するか、及び／又は、前記インバランス判定の実行を禁止する、インバランス判定実行可否決定手段（図１６のステップ１６２０における「Ｎｏ」との判定、ステップ１６４０における「Ｙｅｓ」との判定、及び、図１７のステップ１７０５における「Ｎｏ」との判定を参照。）、
を備えた空燃比気筒間インバランス判定装置である。
【０２６０】
なお、ＣＰＵ７１は、前記蒸発燃料ガス影響発生状態が発生していると判定されたときであっても、図１７のステップ１７１０乃至ステップ１７４５の処理を実行するが、ステップ１７４５の結果に拘わらずインバランス発生フラグＸＩＮＢの値を「０」にすることにより、前記インバランス判定の結果を無効化してもよい。
【０２６１】
これによれば、「前記インバランス判定用パラメータを前記所定の許容量以上変化させるような状態」において、インバランス判定用パラメータが取得されないか又はインバランス判定が実行されない。従って、特定の気筒の燃料噴射弁３９の噴射特性が他の気筒の燃料噴射弁３９の噴射特性と大きく相違している状態であるにもかかわらず、蒸発燃料ガスの影響により空燃比気筒間インバランス状態が発生していないと判定（誤判定）してしまう可能性を低減することができる。
【０２６２】
更に、第１判定装置は、前記空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される空燃比（ａｂｙｆｓ、ａｂｙｆｓｃ）が所定の目標空燃比（理論空燃比）に一致するように「前記複数の燃料噴射弁のそれぞれから噴射される燃料の量」である燃料噴射量（指示燃料噴射量）を「同空燃比センサの出力値と同目標空燃比とに基づいて算出される空燃比フィードバック量（ＦＰＧ・ＦＡＦ、又は、ＫＧ・ＦＰＧ・ＦＡＦ）」により補正するフィードバック制御手段（図１０のステップ１０６０、図１１、必要に応じて更に図１２、図１４、図１５のルーチンを参照。）を備えている。
【０２６３】
これによれば、インバランス判定を実行している場合において、エミッションが悪化することを回避することができる。
【０２６４】
更に、前記フィードバック制御手段は、
「前記空燃比フィードバック量（ＦＰＧ・ＦＡＦ、又は、ＫＧ・ＦＰＧ・ＦＡＦ）の一部をなす補正量」であって、前記蒸発燃料ガスパージによる「前記２以上の気筒のそれぞれの燃焼室に供給される混合気の空燃比」の変化を抑制するための補正量（即ち、「蒸発燃料ガスパージ補正量ＦＰＧ」）を、前記空燃比センサの出力値Ｖａｂｙｆｓに基づいて算出するように構成され（図１０のステップ１０８０、及び、図１４を参照。）、
前記インバランス判定実行可否決定手段は、
「前記蒸発燃料ガスパージ補正量ＦＰＧ」と「その蒸発燃料ガスパージ補正量の基準値（「１」）」との差、の大きさ｜１−ＦＰＧ｜が、所定のパージ影響判定用閾値（Ｂｔｈ）よりも大きいとき、「前記蒸発燃料ガス影響発生状態が発生している」と判定するように構成されている（上記条件Ｃ６、図１６のステップ１６２０における「Ｎｏ」との判定、及び、ステップ１６４０における「Ｙｅｓ」との判定を参照。）。
【０２６５】
従って、蒸発燃料ガス影響発生状態が発生しているか否かを、蒸発燃料ガスパージ補正量ＦＰＧに基づいて精度良く判定することができる。
【０２６６】
＜第２実施形態＞
次に、本発明の第２実施形態に係る判定装置（以下、単に「第２判定装置」と称呼する。）について説明する。
【０２６７】
第２判定装置は、そのＣＰＵ７１が、空燃比気筒間インバランス判定を行うにあたり、図１７に代わる図１８に示した空燃比気筒間インバランス判定ルーチンを４ｍｓ（一定サンプリング時間ｔｓ）が経過する毎に実行するようになっている点のみにおいて、第１判定装置と相違する。従って、以下、この相違点を中心として説明する。
【０２６８】
図１８に示したルーチンは、図１７のルーチンのステップ１７３０をステップ１８１０に置換する点のみにおいて、図１７のルーチンと相違している。そこで、ステップ１８１０の処理について説明する。
【０２６９】
ＣＰＵ７１はステップ１８１０に進むと、
（Ｈ）空燃比変動指標量ＡＦＤの絶対値の平均値ＡｖｅＡＦＤの算出、
（Ｉ）平均値ＡｖｅＡＦＤ及び最小値ＭＩＮＺのパージ補正係数ＦＰＧ（パージ補正量）に基づく補正、
（Ｊ）補正後平均値ＡｖｅＡＦＤＨの積算値Ｓａｖｅの算出
（Ｋ）補正後最小値ＭＩＮＺＨの積算値ＳＭＩＮＺの算出、及び、
（Ｌ）積算回数カウンタＣｓインクリメント、
を行う。以下、これらの処理について具体的に説明する。
【０２７０】
（Ｈ）空燃比変動指標量ＡＦＤの絶対値の平均値ＡｖｅＡＦＤの算出。
この処理は、第１判定装置のＣＰＵ７１によるステップ１７３０における（Ｅ）の処理と同じである。即ち、ＣＰＵ７１は、積算値ＳＡＦＤをカウンタＣｎの値により除することにより、空燃比変動指標量ＡＦＤの絶対値｜ＡＦＤ｜＝｜ΔＡＦ｜の平均値ＡｖｅＡＦＤを算出する。
【０２７１】
（Ｉ）平均値ＡｖｅＡＦＤ及び最小値ＭＩＮＺのパージ補正係数ＦＰＧに基づく補正。
ＣＰＵ７１は、図１９に示したテーブルＭａｐＫＨＸ１（ＦＰＧ）と現時点におけるパージ補正係数ＦＰＧとから補正係数（第１インバランス判定用パラメータ蒸発燃料ガス補正値）ＫＨＸ１を読み出す。
【０２７２】
このテーブルＭａｐＫＨＸ１（ＦＰＧ）によれば、パージ補正係数ＦＰＧによる燃料の補正率（即ち、パージ補正係数ＦＰＧとパージ補正係数ＦＰＧの基準値である「１」との差の大きさ｜１−ＦＰＧ｜）が大きくなるほど、補正係数ＫＨＸ１は「１」よりも大きい範囲において次第に大きくなるように求められる。
【０２７３】
そして、ＣＰＵ７１は、その補正係数ＫＨＸ１を下記の（３０）式に示したように、平均値ＡｖｅＡＦＤに乗じることによって、蒸発燃料ガス影響分補正後平均値ＡｖｅＡＦＤＨを取得する。これにより、蒸発燃料ガスの「インバランス判定用パラメータ（第１インバランス判定用パラメータＸ１）」に及ぼす影響が除去される。換言すると、蒸発燃料ガス影響分補正後平均値ＡｖｅＡＦＤＨは、蒸発燃料ガスがパージされていない場合に得られる「空燃比変動指標量ＡＦＤの絶対値｜ＡＦＤ｜の平均値ＡｖｅＡＦＤ」となる。
ＡｖｅＡＦＤＨ＝ＫＨＸ１・ＡｖｅＡＦＤ  …（３０）
【０２７４】
同様に、ＣＰＵ７１は、図１９に示したテーブルＭａｐＫＨＸ２（ＦＰＧ）と現時点におけるパージ補正係数ＦＰＧとから補正係数（第２インバランス判定用パラメータ蒸発燃料ガス補正値）ＫＨＸ２を読み出す。このテーブル／ＭａｐＫＨＸ２（ＦＰＧ）によれば、パージ補正係数ＦＰＧによる燃料の補正率｜１−ＦＰＧ｜が「０」から大きくなるにつれて、補正係数ＫＨＸ２は「１」から次第に小さくなるように求められる。
【０２７５】
そして、ＣＰＵ７１は、下記の（３１）式に示したように、その補正係数ＫＨＸ２を最小値ＭＩＮＺに乗じることによって、蒸発燃料ガス影響分補正後最小値ＭＩＮＺＨを取得する。これにより、蒸発燃料ガスの「インバランス判定用パラメータ（第２インバランス判定用パラメータＸ２）」に及ぼす影響が除去される。換言すると、蒸発燃料ガス影響分補正後最小値ＭＩＮＺＨは、蒸発燃料ガスがパージされていない場合に得られる「単位燃焼サイクル期間における最小値ＭＩＮＺ」となる。
ＭＩＮＺＨ＝ＫＨＸ２・ＭＩＮＺ  …（３１）
【０２７６】
（Ｊ）補正後平均値ＡｖｅＡＦＤＨの積算値Ｓａｖｅの算出
ＣＰＵ７１は今回の積算値Ｓａｖｅ（ｎ）を下記の（３２）式に従って求める。即ち、ＣＰＵ７１は、ステップ１８１０に進んだ時点における前回の積算値Ｓａｖｅ（ｎ−１）に上記算出した補正後平均値ＡｖｅＡＦＤＨを加えることにより、積算値Ｓａｖｅを更新する。この積算値Ｓａｖｅの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、ステップ１７６０にても「０」に設定される。更に、ＣＰＵ７１は、最小値ＭＩＮＺを所定の大きなデフォルト値に設定しておく。
Ｓａｖｅ（ｎ）＝Ｓａｖｅ（ｎ−１）＋ＡｖｅＡＦＤＨ  …（３２）
【０２７７】
（Ｋ）補正後最小値ＭＩＮＺＨの積算値ＳＭＩＮＺの算出。
ＣＰＵ７１は、今回の積算値ＳＭＩＮＺ（ｎ）を下記の（３３）式に従って求める。即ち、ＣＰＵ７１は、ステップ１８１０に進んだ時点における前回の積算値ＳＭＩＮＺ（ｎ−１）に上記補正した補正後最小値ＭＩＮＺＨを加えることにより、積算値ＳＭＩＮＺを更新する。この積算値ＳＭＩＮＺの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、ステップ１７６０にても「０」に設定される。
ＳＭＩＮＺ（ｎ）＝ＳＭＩＮＺ（ｎ−１）＋ＭＩＮＺＨ  …（３３）
【０２７８】
（Ｌ）積算回数カウンタＣｓインクリメント。
ＣＰＵ７１は、カウンタＣｓの値を「１」だけ増大する。このカウンタＣｓの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、ステップ１７６０にても「０」に設定される。従って、カウンタＣｓの値は、積算値Ｓａｖｅに積算された補正後平均値ＡｖｅＡＦＤＨのデータ数、及び、積算値ＳＭＩＮＺに積算された補正後最小値ＭＩＮＺＨのデータ数を示す。
【０２７９】
次に、ＣＰＵ７１はステップ１７３５に進み、カウンタＣｓの値が閾値Ｃｓｔｈ以上であるか否かを判定する。このとき、カウンタＣｓの値が閾値Ｃｓｔｈ未満であると、ＣＰＵ７１はそのステップ１７３５にて「Ｎｏ」と判定し、ステップ１８９５に直接進んで本ルーチンを一旦終了する。
【０２８０】
一方、ＣＰＵ７１がステップ１７３５の処理を行う時点において、カウンタＣｓの値が閾値Ｃｓｔｈ以上であると、ＣＰＵ７１はそのステップ１７３５にて「Ｙｅｓ」と判定してステップ１７４０に進み、インバランス判定用パラメータＸ（第１インバランス判定用パラメータＸ１及び第２インバランス判定用パラメータＸ２）を算出する。
【０２８１】
より具体的に述べると、ＣＰＵ７１は上記（２８）式に従って積算値ＳａｖｅをカウンタＣｓの値（＝Ｃｓｔｈ）によって除することにより、第１インバランス判定用パラメータＸ１を算出する。この第１インバランス判定用パラメータＸ１は、気筒別空燃比の間の差が大きいほど「大きくなるインバランス判定用パラメータ」である。
【０２８２】
或いは、ＣＰＵ７１は、上記（２９）式に従って積算値ＳＭＩＮＺをカウンタＣｓの値（＝Ｃｓｔｈ）によって除することにより、第２インバランス判定用パラメータＸ２を算出する。この第２インバランス判定用パラメータＸ２は、気筒別空燃比の間の差が大きいほど「小さくなるインバランス判定用パラメータ」である。
【０２８３】
次いで、ＣＰＵ７１はステップ１７４５に進み、第１インバランス判定用パラメータＸ１と第１のインバランス判定用閾値Ｘ１ｔｈとの比較、又は、第２インバランス判定用パラメータＸ２と第２のインバランス判定用閾値Ｘ２ｔｈとの比較、に基づいて、空燃比気筒間インバランス判定を実行する。
【０２８４】
以上、説明したように、第２判定装置は、第１判定装置と同様、前記蒸発燃料ガス影響発生状態が発生していると判定されたとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止する、インバランス判定実行可否決定手段（上記条件Ｃ６、図１６のステップ１６２０における「Ｎｏ」との判定、ステップ１６４０における「Ｙｅｓ」との判定、及び、図１８のステップ１７０５における「Ｎｏ」との判定を参照。）を備える。
【０２８５】
加えて、第２判定装置が備えるインバランス判定用パラメータ取得手段は、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得するとともに、（前記蒸発燃料ガスパージ補正量と同蒸発燃料ガスパージ補正量の基準値との差の大きさ｜１−ＦＰＧ｜が前記パージ影響判定用閾値（Ｂｔｈ）よりも小さいとき（上記条件Ｃ６、図１６のステップ１６２０における「Ｎｏ」との判定、ステップ１６４０における「Ｙｅｓ」との判定、及び、図１８のステップ１７０５における「Ｙｅｓ」との判定を参照。））、蒸発燃料ガスパージ補正量（パージ補正係数ＦＰＧ）に基づいて前記インバランス判定用パラメータを補正する第１パラメータ補正手段（ステップ１８１０における上記処理（Ｉ）を参照。）を含む。
【０２８６】
上述したように、蒸発燃料ガスに含まれる燃料の量が大きくなるほど、各燃料噴射弁３９の噴射特性間の相違に基づく気筒別空燃比間の差は小さくなる。そこで、第２判定装置のように、実際に取得されたインバランス判定用パラメータ（第２判定装置においては、インバランス判定用パラメータを求めるための元データである平均値ＡｖｅＡＦＤ及び最小値ＭＩＮＺ）を「実際に算出された蒸発燃料ガスパージ補正量（パージ補正係数ＦＰＧ）」に基づいて補正することにより、インバランス判定用パラメータを、蒸発燃料による影響を受けない値であり、従って、各燃料噴射弁３９の噴射特性間の相違に基づく気筒別空燃比間の差を精度良く表す値、に修正することができる。その結果、第２判定装置は、空燃比気筒間インバランス判定を精度良く行うことができる。
【０２８７】
また、図１８のステップ１７３５における閾値Ｃｓｔｈが「１」であるとき、第２判定装置は、取得したインバランス判定用パラメータを蒸発燃料ガスパージ補正量に基づいて定まる補正値（ＫＨＸ１，ＫＨＸ２）により補正して最終的なインバランス判定用パラメータを取得していると言うこともできる。
【０２８８】
なお、第２判定装置は、第１インバランス判定用パラメータＸ１を求めるための元データである平均値ＡｖｅＡＦＤをパージ補正係数ＦＰＧに基づく補正値ＫＨＸ１により補正して補正後平均値ＡｖｅＡＦＤＨを求め、その補正後平均値ＡｖｅＡＦＤＨの平均を第１インバランス判定用パラメータＸ１として取得していた。これに対し、第２判定装置は、第１インバランス判定用パラメータＸ１を求めるための元データである平均値ＡｖｅＡＦＤの平均値ＡＡｖｅＡＦＤ（第１判定装置における第１インバランス判定用パラメータＸ１）を先に求め、その平均値ＡＡｖｅＡＦＤを上記（３０）式と同様にパージ補正係数ＦＰＧに基づく補正値ＫＨＸ１より補正することによって、最終的な第１インバランス判定用パラメータＸ１を取得してもよい。
【０２８９】
同様に、第２判定装置は、第２インバランス判定用パラメータＸ２を求めるための元データである最小値ＭＩＮＺをパージ補正係数ＦＰＧに基づくＫＨＸ２より補正して補正後最小値ＭＩＮＺＨを求め、その補正後最小値ＭＩＮＺＨの平均を第２インバランス判定用パラメータＸ２として取得していた。これに対し、第２判定装置は、第２インバランス判定用パラメータＸ２を求めるための元データである最小値ＭＩＮＺの平均値ＡＡｖｅＭＩＮＺ（第１判定装置における第２インバランス判定用パラメータＸ２）を先に求め、その平均値ＡＡｖｅＭＩＮＺを上記（３１）式と同様にパージ補正係数ＦＰＧに基づくＫＨＸ２より補正することによって、最終的な第２インバランス判定用パラメータＸ２を取得してもよい。
【０２９０】
＜第３実施形態＞
次に、本発明の第３実施形態に係る判定装置（以下、単に「第３判定装置」と称呼する。）について説明する。
【０２９１】
第３判定装置は、そのＣＰＵ７１が、空燃比気筒間インバランス判定を行うにあたり、図１７に代わる図２０に示した空燃比気筒間インバランス判定ルーチンを４ｍｓ（一定サンプリング時間ｔｓ）が経過する毎に実行するようになっている点のみにおいて、第１判定装置と相違する。従って、以下、この相違点を中心として説明する。
【０２９２】
ところで、上述した第２判定装置においては、インバランス判定用パラメータがパージ補正値により（より詳細には、パージ補正係数ＦＰＧに基づいて定まる補正係数ＫＨＸ１，ＫＨＸ２により）補正されていた。これに対し、第３判定装置は、インバランス判定用パラメータは補正せず、その代わりに、インバランス判定用閾値をパージ補正値により補正する。
【０２９３】
図２０に示したルーチンは、図１７のルーチンのステップ１７４０とステップ１７４５との間にステップ２０１０を挿入した点のみにおいて、図１７のルーチンと相違している。そこで、ステップ２０１０の処理を中心に説明する。
【０２９４】
ＣＰＵ７１は、ステップ１７４０にて、第１インバランス判定用パラメータＸ１及び／又は第２インバランス判定用パラメータＸ２を算出する。第１インバランス判定用パラメータＸ１は、検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の一つの単位燃焼サイクル期間における平均値を、複数（Ｃｓｔｈ回分）の単位燃焼サイクル期間について平均した値である。第２インバランス判定用パラメータＸ２は、一つの単位燃焼サイクル期間における検出空燃比ａｂｙｆｓの最小値ＭＩＮＺを、複数（Ｃｓｔｈ回分）の単位燃焼サイクル期間について平均した値である。
【０２９５】
次に、ＣＰＵ７１はステップ２０１０に進み、図２１に示したテーブルＭａｐＫｉ１（ＦＰＧ）と現時点におけるパージ補正係数ＦＰＧとから補正係数Ｋｉ１（第１インバランス判定用閾値蒸発燃料補正値）を読み出す。
【０２９６】
このテーブルＭａｐＫｉ１（ＦＰＧ）によれば、パージ補正係数ＦＰＧによる燃料の補正率（｜１−ＦＰＧ｜）が「０」から大きくなるにつれて、補正係数Ｋｉ１は「１」から次第に小さくなるように求められる。
【０２９７】
そして、ＣＰＵ７１は、その補正係数Ｋｉ１を下記の（３４）式に示したように、一定の基準閾値（第１インバランス判定用基準閾値）Ｘ１ｔｈ０に乗じることによって、補正後の第１インバランス判定用閾値Ｘ１ｔｈを取得する。この一定の基準閾値Ｘ１ｔｈ０は、蒸発燃料ガスのパージが行われていない状態において「第１インバランス判定用パラメータＸ１が基準閾値Ｘ１ｔｈ０よりも大きければ、燃料噴射弁の特性変化に起因する空燃比気筒間インバランス判定が発生している」と判定できるように適合された値である。これにより、蒸発燃料ガスの影響が「インバランス判定用パラメータ（第１インバランス判定用パラメータＸ１）」に現れているとしても、その影響の程度に関わらない空燃比気筒間インバランス判定が行われ得る。
Ｘ１ｔｈ＝Ｋｉ１・Ｘ１ｔｈ０  …（３４）
【０２９８】
同様に、ＣＰＵ７１はステップ２０１０にて、図２１に示したテーブルＭａｐＫｉ２（ＦＰＧ）と現時点におけるパージ補正係数ＦＰＧとから補正係数Ｋｉ２（第２インバランス判定用閾値蒸発燃料補正値）を読み出す。
【０２９９】
このテーブルＭａｐＫｉ２（ＦＰＧ）によれば、パージ補正係数ＦＰＧによる燃料の補正率（｜１−ＦＰＧ｜）が大きくなるほど、補正係数Ｋｉ２は「１」よりも大きい範囲において「１」から次第に大きくなるように求められる。そして、ＣＰＵ７１は、その補正係数Ｋｉ２を下記の（３５）式に示したように、一定の基準閾値（第２インバランス判定用基準閾値）Ｘ２ｔｈ０に乗じることによって、補正後の第２インバランス判定用閾値Ｘ２ｔｈを取得する。この一定の基準閾値Ｘ２ｔｈ０は、蒸発燃料ガスのパージが行われていない状態において「第２インバランス判定用パラメータＸ２が基準閾値Ｘ２ｔｈ０よりも小さければ、空燃比気筒間インバランス判定が発生している」と判定できるように適合された値である。これにより、蒸発燃料ガスの影響が「インバランス判定用パラメータ（第２インバランス判定用パラメータＸ２）」に現れているとしても、その影響の程度に関わらない空燃比気筒間インバランス判定が行われる。
Ｘ２ｔｈ＝Ｋｉ２・Ｘ２ｔｈ０  …（３５）
【０３００】
次いで、ＣＰＵ７１はステップ１７４５に進み、補正がなされていない第１インバランス判定用パラメータＸ１と上記蒸発燃料ガス影響分補正後の第１インバランス判定用閾値Ｘ１ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。或いは、ＣＰＵ７１は、補正がなされていない第２インバランス判定用パラメータＸ２と上記蒸発燃料ガス影響分補正後の第２インバランス判定用閾値Ｘ２ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。
【０３０１】
即ち、ＣＰＵ７１は、第１インバランス判定用パラメータＸ１が蒸発燃料ガス影響分補正後の第１インバランス判定用閾値Ｘ１ｔｈよりも大きいとき、燃料噴射弁３９の特性変化に起因する空燃比気筒間インバランス状態が発生したと判定する。或いは、ＣＰＵ７１は、第２インバランス判定用パラメータＸ２が蒸発燃料ガス影響分補正後の第２インバランス判定用閾値Ｘ２ｔｈよりも小さいとき、燃料噴射弁３９の特性変化に起因する空燃比気筒間インバランス状態が発生したと判定する。
【０３０２】
以上、説明したように、第３判定装置は、第１判定装置と同様、前記蒸発燃料ガス影響発生状態が発生していると判定されたとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止する、インバランス判定実行可否決定手段（上記条件Ｃ６、図１６のステップ１６２０における「Ｎｏ」との判定、ステップ１６４０における「Ｙｅｓ」との判定、及び、図２０のステップ１７０５における「Ｎｏ」との判定を参照。）を備える。
【０３０３】
更に、第３判定装置が備えるインバランス判定手段は、
前記蒸発燃料ガスパージ補正量と同蒸発燃料ガスパージ補正量の基準値との差の大きさ｜１−ＦＰＧ｜が前記パージ影響判定用閾値（Ｂｔｈ）よりも小さいとき（上記条件Ｃ６、図１７のステップ１６２０における「Ｎｏ」との判定、ステップ１６４０における「Ｙｅｓ」との判定、及び、図２０のステップ１７０５における「Ｙｅｓ」との判定を参照。）、前記蒸発燃料ガスパージ補正量に基づいて前記インバランス判定用閾値を補正する第１判定用閾値補正手段（図２０のステップ２０１０）を含む。即ち、第１判定用閾値補正手段は、基準閾値Ｘ１ｔｈ０を補正して第１インバランス判定用閾値Ｘ１ｔｈを得る、或いは、基準閾値Ｘ２ｔｈ０を補正して第２インバランス判定用閾値Ｘ２ｔｈを得る。
【０３０４】
このように、インバランス判定用パラメータを修正することに代え、インバランス判定用閾値（Ｘ１ｔｈ、Ｘ２ｔｈ）を実際に算出された蒸発燃料ガスパージ補正量（パージ補正係数ＦＰＧ）に基づいて補正すれば、インバランス判定用パラメータ（Ｘ１，Ｘ２）が蒸発燃料による影響を受けていたとしても、インバランス判定用閾値がその蒸発燃料による影響を反映した値へと修正される。その結果、各燃料噴射弁３９の噴射特性間の相違に基づく気筒別空燃比間の差が所定値に達したときに、空燃比気筒間インバランス状態が発生したと精度良く判定することができる。
【０３０５】
＜第４実施形態＞
次に、本発明の第４実施形態に係る判定装置（以下、単に「第４判定装置」と称呼する。）について説明する。
【０３０６】
第４判定装置は、そのＣＰＵ７１が図１６に示したルーチンに代わる図２２に示したルーチンを実行する点のみにおいて、第２判定装置と相違している。即ち、第４判定装置は、図１０乃至図１５と、図１８と、図２２と、に示したルーチンを実行する。このうち、図１０乃至図１５と、図１８と、に示したルーチンについては説明済みである。従って、以下、図２２のルーチンを中心として説明する。
【０３０７】
図２２のルーチンは、図１６のルーチンのステップ１６２０及びステップ１６４０をステップ２２１０及びステップ２２２０にそれぞれ置換した点のみにおいて、図１６のルーチンと相違している。ＣＰＵ７１は、このステップ２２１０において、上記条件Ｃ１乃至条件Ｃ５（又は、上記条件Ｃ１乃至条件Ｃ３）が成立したときに判定実行条件が成立したと判定する。換言すると、第４判定装置は、パージ補正係数ＦＰＧが所定の閾値パージ補正係数ＦＰＧｔｈ以上であるか否かに拘わらず、空燃比気筒間インバランス判定の実行を許容する。つまり、パージ補正係数ＦＰＧとパージ補正係数ＦＰＧの基準値である「１」との差の絶対値｜１−ＦＰＧ｜が正のパージ影響判定用閾値Ｂｔｈよりも小さいか否かにより判定される「蒸発燃料ガス影響発生状態が発生していないこと」は、判定実行条件の一つではない。
【０３０８】
但し、第４判定装置は、第２判定装置と同様、「テーブルＭａｐＫＨＸ１（ＦＰＧ）と現時点におけるパージ補正係数ＦＰＧとから定められる補正係数ＫＨＸ１」を平均値ＡｖｅＡＦＤに乗じることによって補正後平均値ＡｖｅＡＦＤＨを取得し、その補正後平均値ＡｖｅＡＦＤＨの平均値（Ｓａｖｅ／Ｃｓｔｈ）を第１インバランス判定用パラメータＸ１として取得する。
【０３０９】
更に、第４判定装置は、第２判定装置と同様、「テーブルＭａｐＫＨＸ２（ＦＰＧ）と現時点におけるパージ補正係数ＦＰＧとから定められる補正係数ＫＨＸ２」を最小値ＭＩＮＺに乗じることによって補正後最小値ＭＩＮＺＨを取得し、その補正後最小値ＭＩＮＺＨの平均値（ＳＭＩＮＺ／Ｃｓｔｈ）を第２インバランス判定用パラメータＸ２として取得する。
【０３１０】
そして、第４判定装置は、第２判定装置と同様、第１インバランス判定用パラメータＸ１と第１のインバランス判定用閾値Ｘ１ｔｈとの比較、又は、第２インバランス判定用パラメータＸ２と第２のインバランス判定用閾値Ｘ２ｔｈとの比較、に基づいて、空燃比気筒間インバランス判定を実行する。
【０３１１】
以上、説明したように、第４判定装置は、パージ補正係数ＦＰＧが所定の閾値パージ補正係数ＦＰＧｔｈ以上であるか否かに拘わらず、蒸発燃料ガスの影響を除去した「第１インバランス判定用パラメータＸ１及び／又は第２インバランス判定用パラメータＸ２」を用いて空燃比気筒間インバランス判定を実行する。従って、第４判定装置は、第１〜第３判定装置に比較して、空燃比気筒間インバランス判定をより頻繁に実行することができる。
【０３１２】
＜第５実施形態＞
次に、本発明の第５実施形態に係る判定装置（以下、単に「第５判定装置」と称呼する。）について説明する。
【０３１３】
第５判定装置は、そのＣＰＵ７１が図１６に示したルーチンに代わる図２２に示したルーチンを実行する点のみにおいて、第３判定装置と相違している。即ち、第５判定装置は、図１０乃至図１５と、図２０と、図２２と、に示したルーチンを実行する。従って、第５判定装置は、第４判定装置と同様、パージ補正係数ＦＰＧが所定の閾値パージ補正係数ＦＰＧｔｈ以上であるか否かに拘わらず（即ち、蒸発燃料ガス影響発生状態が発生しているか否かに拘わらず）、インバランス判定用パラメータの取得及び空燃比気筒間インバランス判定を実行する。
【０３１４】
更に、第５判定装置は、第３判定装置と同様、テーブルＭａｐＫｉ１（ＦＰＧ）と実際のパージ補正係数ＦＰＧとから求めた補正値Ｋｉ１を一定の基準閾値Ｘ１ｔｈ０に乗じることによって、補正後の第１インバランス判定用閾値Ｘ１ｔｈを取得する。そして、第５判定装置は、補正がなされていない第１インバランス判定用パラメータＸ１と上記補正後の第１インバランス判定用閾値Ｘ１ｔｈとを比較することにより、空燃比気筒間インバランス判定を実行する。
【０３１５】
加えて、第５判定装置は、第３判定装置と同様、テーブルＭａｐＫｉ２（ＦＰＧ）と実際のパージ補正係数ＦＰＧとから求めた補正値Ｋｉ２を一定の基準閾値Ｘ２ｔｈ０に乗じることによって、補正後の第２インバランス判定用閾値Ｘ２ｔｈを取得する。そして、第５判定装置は、補正がなされていない第２インバランス判定用パラメータＸ２と上記補正後の第２インバランス判定用閾値Ｘ２ｔｈとを比較することにより、空燃比気筒間インバランス判定を実行する。
【０３１６】
従って、第５判定装置は、第１〜第３判定装置に比較して、空燃比気筒間インバランス判定をより頻繁に実行することができる。
【０３１７】
＜第６実施形態＞
次に、本発明の第６実施形態に係る判定装置（以下、単に「第６判定装置」と称呼する。）について説明する。
【０３１８】
第６判定装置は、そのＣＰＵ７１が図１６に示したルーチンに代わる図２３に示したルーチンを実行する点のみにおいて、第１判定装置と相違している。即ち、第６判定装置は、図１０乃至図１５と、図１７と、図２３と、に示したルーチンを実行する。
【０３１９】
第６判定装置は、「機関１０の暖機状態が進むにつれて大きくなる暖機状態パラメータ」である「機関１０の冷却水温ＴＨＷ」を取得する。更に、第６判定装置は、その取得された暖機状態パラメータに基づいて機関１０の暖機状態が所定の暖機状態に到達しているか否かを判定する。そして、第６判定装置は、機関１０の暖機状態が所定の暖機状態に到達していないと判定したとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止する。なお、第６判定装置は、第１判定装置と同様、パージ補正係数ＦＰＧが所定の閾値パージ補正係数ＦＰＧｔｈ未満であると、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止する。
【０３２０】
より具体的に述べると、第６判定装置は、図２３に示したルーチンにより判定許可フラグＸｋｙｏｋａの値を設定する。図２３のルーチンは、図１６のルーチンのステップ１６２０及びステップ１６４０を、ステップ２３１０及びステップ２３２０にそれぞれ置換した点のみにおいて、図１６のルーチンと相違している。
【０３２１】
ＣＰＵ７１は、このステップ２３１０において、上記条件Ｃ１乃至条件Ｃ６と、下記の条件Ｃ７と、が成立したときに判定実行条件が成立したと判定する。或いは、ＣＰＵ７１は、条件Ｃ１、条件Ｃ３、条件Ｃ６及び条件Ｃ７が成立したときに判定実行条件が成立したと判定するように構成されてもよい。
【０３２２】
（条件Ｃ７）水温センサ６３により取得される冷却水温ＴＨＷがインバランス判定用閾値冷却水温ＴＨＷｔｈ以上である。
【０３２３】
換言すると、第６判定装置は、冷却水温ＴＨＷが閾値冷却水温ＴＨＷｔｈよりも低いとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止する。本例において、閾値冷却水温ＴＨＷｔｈは、完全暖機時の冷却水温ＴＨＷ８０（＝８０℃）に設定されている。従って、第６判定装置は、機関１０の暖機状態が完全暖機状態に到達していないとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止する。なお、閾値冷却水温ＴＨＷｔｈは、メインフィードバック制御条件の一つを定める前記第１所定温度以上であり、且つ、サブフィードバック制御条件の一つを定める第２所定温度以上であることが望ましい。
【０３２４】
機関１０が冷間始動された後の所定期間のように機関１０の暖機状態が進行しておらず、「吸気ポート３１及び吸気弁３２等の吸気通路構成部材」の温度が低いとき、燃料噴射弁３９から噴射された燃料の一部が吸気通路構成部材に比較的多量に付着する。更に、複数の燃料噴射弁３９のうち「その噴射特性が指示燃料噴射量よりも多くの量の燃料を噴射してしまう特性」となっている燃料噴射弁から噴射された燃料の方が、「その噴射特性が正常な特性」である燃料噴射弁から噴射された燃料よりも、吸気通路構成部材により多く付着する。
【０３２５】
そのため、機関１０の暖機状態が所定の暖機状態（例えば、吸気通路構成部材への燃料付着量が所定量以下となるような暖機状態）に到達していないと、特定の気筒の燃料噴射弁の噴射特性が他の気筒の燃料噴射弁の噴射特性と大きく相違している状態であるにもかかわらず、気筒別空燃比の間の差が大きくならず、その結果、「燃料噴射弁の特性変化に起因する空燃比気筒間インバランス状態」が発生していないと判定してしまう場合がある。
【０３２６】
これに対し、第６判定装置は、機関１０の暖機状態が所定の暖機状態に到達したか否かを判定するとともに、機関１０の暖機状態が同所定の暖機状態に到達していないと判定されたとき（冷却水温ＴＨＷが閾値冷却水温ＴＨＷｔｈ未満である場合）、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止するように構成されたインバランス判定実行可否決定手段（図２３のステップ２３１０における「Ｎｏ」との判定、ステップ２３２０における「Ｙｅｓ」との判定、及び、図１７のステップ１７０５における「Ｎｏ」との判定を参照。）を備える。即ち、機関１０の暖機状態が所定の暖機状態に到達していない場合、空燃比気筒間インバランス判定の実行が事実上禁止される。従って、誤った空燃比気筒間インバランス判定を行ってしまう可能性を低減することができる。
【０３２７】
＜第７実施形態＞
次に、本発明の第７実施形態に係る判定装置（以下、単に「第７判定装置」と称呼する。）について説明する。
【０３２８】
第７判定装置のＣＰＵ７１は、図１０乃至図１５と、図２３と、図２４と、に示されたルーチンを実行する。図１０乃至図１５と、図２３と、に示したルーチンについては説明済みである。従って、以下、図２４のルーチンについて説明する。但し、図２３のステップ２３１０にて使用される閾値冷却水温ＴＨＷｔｈは、完全暖機時の冷却水温ＴＨＷ８０（＝８０℃）よりも低い値に設定されている。第７判定装置は、図２４のルーチンを実行することにより、インバランス判定用パラメータを機関１０の暖機状態（吸気通路構成部材への燃料付着のし易さの程度）に基づいて補正する。
【０３２９】
図２４に示したルーチンは、図１７のルーチンのステップ１７３０をステップ２４１０に置換した点のみにおいて、図１７のルーチンと相違している。従って、以下、ステップ２４１０以降の処理を中心として説明する。
【０３３０】
ＣＰＵ７１はステップ２４１０に進むと、ステップ１７３０と同様に、（Ｅ）空燃比変動指標量ＡＦＤの絶対値の平均値ＡｖｅＡＦＤを算出する。
【０３３１】
次いで、ＣＰＵ７１は、図２５に示したテーブルＭａｐＫｔｈｗＸ１（ＴＨＷ）と現時点における冷却水温ＴＨＷとから補正係数ＫｔｈｗＸ１（水温係数、第１インバランス判定用パラメータ暖機状態補正値）を読み出す。
【０３３２】
このテーブルＭａｐＫｔｈｗＸ１（ＴＨＷ）によれば、冷却水温ＴＨＷが完全暖機時の温度ＴＨＷ８０（＝８０℃）に向けて高くなるほど、補正係数ＫｔｈｗＸ１は「１」より大きい値から「１」に向けて次第に小さくなるように求められる。更に、このテーブル／ＭａｐＫｔｈｗＸ１（ＴＨＷ）によれば、冷却水温ＴＨＷが完全暖機時の温度ＴＨＷ８０より高いとき、補正係数ＫｔｈｗＸ１は「１」となるように求められる。
【０３３３】
そして、ＣＰＵ７１は、下記の（３６）式に示したように、その補正係数ＫｔｈｗＸ１を平均値ＡｖｅＡＦＤに乗じることによって、冷却水温補正後平均値ＡｖｅＡＦＤＨを取得する。この冷却水温補正後平均値ＡｖｅＡＦＤＨは、「暖機状態補正後平均値ＡｖｅＡＦＤＨ」又は「燃料付着量補正後平均値ＡｖｅＡＦＤＨ」とも称呼される。これにより、吸気通路構成部材へ付着する燃料の「第１インバランス判定用パラメータＸ１」に及ぼす影響が除去される。換言すると、冷却水温補正後平均値ＡｖｅＡＦＤＨは、機関１０の状態が完全暖機状態にあって燃料付着量が小さい値にて安定している場合に得られる「空燃比変動指標量ＡＦＤの絶対値｜ＡＦＤ｜の平均値ＡｖｅＡＦＤ」となる。
ＡｖｅＡＦＤＨ＝ＫｔｈｗＸ１・ＡｖｅＡＦＤ  …（３６）
【０３３４】
同様に、ＣＰＵ７１は、図２５に示したテーブル／ＭａｐＫｔｈｗＸ２（ＴＨＷ）と現時点における冷却水温ＴＨＷとから補正係数ＫｔｈｗＸ２（水温係数、第２インバランス判定用パラメータ暖機状態補正値）を読み出す。このテーブルＭａｐＫｔｈｗＸ２（ＴＨＷ）によれば、冷却水温ＴＨＷが完全暖機時の温度ＴＨＷ８０（＝８０℃）に向けて高くなるほど、補正係数ＫｔｈｗＸ１は「０」より小さい値から「１」に向けて次第に大きくなるように求められる。更に、このテーブルＭａｐＫｔｈｗＸ２（ＴＨＷ）によれば、冷却水温ＴＨＷが完全暖機時の温度ＴＨＷ８０より高いとき、補正係数ＫｔｈｗＸ２は「１」となるように求められる。
【０３３５】
そして、ＣＰＵ７１は、下記の（３７）式に示したように、その補正係数ＫｔｈｗＸ２を最小値ＭＩＮＺに乗じることによって、冷却水温補正後最小値ＭＩＮＺＨを取得する。この冷却水温補正後最小値ＭＩＮＺＨは、「暖機状態補正後最小値ＭＩＮＺＨ」又は「燃料付着量補正後最小値ＭＩＮＺＨ」とも称呼される。これにより、吸気通路構成部材へ付着する燃料の「第２インバランス判定用パラメータＸ２」に及ぼす影響が除去される。換言すると、冷却水温補正後最小値ＭＩＮＺＨは、機関１０の状態が完全暖機状態にあって燃料付着量が小さい値にて安定している場合に得られる「単位燃焼サイクル期間における最小値ＭＩＮＺ」となる。
ＭＩＮＺＨ＝ＫｔｈｗＸ２・ＭＩＮＺ  …（３７）
【０３３６】
その後、ＣＰＵ７１は、図１８のステップ１８１０と同様に、冷却水温補正後平均値ＡｖｅＡＦＤＨの積算値Ｓａｖｅを算出する（上記（Ｊ）及び上記（３２）式を参照。）。更に、ＣＰＵ７１は、図１８のステップ１８１０と同様に、冷却水温補正後最小値ＭＩＮＺＨの積算値ＳＭＩＮＺを算出する（上記（Ｋ）及び上記（３３）式を参照。）。
【０３３７】
次いで、ＣＰＵ７１は、ステップ１７３０と同様に、積算回数カウンタＣｓを「１」だけ増大する（上記（Ｌ）を参照。）。
【０３３８】
次に、ＣＰＵ７１はステップ１７３５に進み、カウンタＣｓの値が閾値Ｃｓｔｈ以上であるか否かを判定する。このとき、カウンタＣｓの値が閾値Ｃｓｔｈ未満であると、ＣＰＵ７１はそのステップ１７３５にて「Ｎｏ」と判定し、ステップ２４９５に直接進んで本ルーチンを一旦終了する。
【０３３９】
一方、ＣＰＵ７１がステップ１７３５の処理を行う時点において、カウンタＣｓの値が閾値Ｃｓｔｈ以上であると、ＣＰＵ７１はそのステップ１７３５にて「Ｙｅｓ」と判定してステップ１７４０に進み、上記（２８）式及び上記（２９）式に従って、インバランス判定用パラメータＸ（第１インバランス判定用パラメータＸ１及び第２インバランス判定用パラメータＸ２）を算出する。
【０３４０】
次いで、ＣＰＵ７１はステップ１７４５に進み、第１インバランス判定用パラメータＸ１と第１インバランス判定用閾値Ｘ１ｔｈとの比較、又は、第２インバランス判定用パラメータＸ２と第２インバランス判定用閾値Ｘ２ｔｈとの比較、に基づいて、空燃比気筒間インバランス判定を実行する。
【０３４１】
以上、説明したように、第７判定装置は、前記蒸発燃料ガス影響発生状態が発生していると判定されたとき、及び、機関１０の暖機状態が所定の暖機状態（完全暖機状態よりは暖機が進んでいない状態）に到達していないと判定されたとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止するインバランス判定実行可否決定手段（上記条件Ｃ７、図２３のステップ２３１０における「Ｎｏ」との判定、ステップ２３２０における「Ｙｅｓ」との判定、及び、図２４のステップ１７０５における「Ｎｏ」との判定を参照。）を備える。
【０３４２】
更に、第７判定装置は、取得された暖機状態パラメータ（冷却水温ＴＨＷ）が前記暖機状態閾値（閾値ＴＨＷｔｈ）よりも大きいとき、暖機状態パラメータに基づいて前記インバランス判定用パラメータ（第１インバランス判定用パラメータＸ１、第２インバランス判定用パラメータＸ２）を補正する第２パラメータ補正手段（図２４のステップ２４１０における上記（３６）式及び上記（３７）式による補正を参照。）、を含む。
【０３４３】
従って、第７判定装置は、吸気通路構成部材への燃料付着量の影響を受けていない値へと補正されたインバランス判定用パラメータに基づいて空燃比気筒間インバランス判定を行うことができるので、機関１０の暖機状態が完全暖機状態に到達する前の時点においても空燃比気筒間インバランス判定を精度良く行うことができる。
【０３４４】
なお、図２４のステップ１７３５における閾値Ｃｓｔｈが「１」であるとき、第７判定装置は、取得したインバランス判定用パラメータ（平均値ＡｖｅＡＦＤ又は最小値ＭＩＮＺ）を機関の暖機状態を表すパラメータ（冷却水温ＴＨＷ）に基づいて定まる補正値（補正係数ＫｔｈｗＸ１、補正係数ＫｔｈｗＸ２）により補正して最終的なインバランス判定用パラメータを取得していると言うこともできる。
【０３４５】
また、第７判定装置は、第１インバランス判定用パラメータＸ１を求めるための元データである平均値ＡｖｅＡＦＤを冷却水温ＴＨＷに基づいて定まる補正値ＫｔｈｗＸ１により補正して補正後平均値ＡｖｅＡＦＤＨを取得し、その補正後平均値ＡｖｅＡＦＤＨの平均を第１インバランス判定用パラメータＸ１として取得していた。これに対し、第７判定装置は、第１インバランス判定用パラメータＸ１を求めるための元データである平均値ＡｖｅＡＦＤの平均値ＡＡｖｅＡＦＤを先に求め、その平均値ＡＡｖｅＡＦＤを上記（３６）式と同様な式に従って冷却水温ＴＨＷに基づいて定まる補正値ＫｔｈｗＸ１により補正することによって、最終的な第１インバランス判定用パラメータＸ１を取得してもよい。
【０３４６】
同様に、第７判定装置は、第２インバランス判定用パラメータＸ２を求めるための元データである最小値ＭＩＮＺを冷却水温ＴＨＷに基づいて定まる補正値ＫｔｈｗＸ２より補正して補正後最小値ＭＩＮＺＨを取得し、その補正後最小値ＭＩＮＺＨの平均を第２インバランス判定用パラメータＸ２として取得していた。これに対し、第２判定装置は、第２インバランス判定用パラメータＸ２を求めるための元データである最小値ＭＩＮＺの平均値ＡＡｖｅＭＩＮＺを先に求め、その平均値ＡＡｖｅＭＩＮＺを上記（３７）式と同様な式に従って冷却水温ＴＨＷに基づいて定まる補正値ＫｔｈｗＸ２により補正することによって、最終的な第２インバランス判定用パラメータＸ２を取得してもよい。
【０３４７】
＜第８実施形態＞
次に、本発明の第８実施形態に係る判定装置（以下、単に「第８判定装置」と称呼する。）について説明する。
【０３４８】
第８判定装置のＣＰＵ７１は、図１０乃至図１５と、図２３と、図２６と、に示されたルーチンを実行する。図１０乃至図１５と、図２３と、のルーチンについては説明済みである。従って、以下、図２６のルーチンについて説明する。但し、図２３のステップ２３１０にて使用される閾値冷却水温ＴＨＷｔｈは、完全暖機時の冷却水温ＴＨＷ８０（＝８０℃）よりも低い値に設定されている。第８判定装置は、図２６のルーチンを実行することにより、インバランス判定用パラメータの代わりに、インバランス判定用閾値を機関１０の暖機状態（吸気通路構成部材への燃料付着のし易さの程度）に基づいて補正する。
【０３４９】
図２６に示したルーチンは、図１７のルーチンのステップ１７４０とステップ１７４５との間にステップ２６１０を挿入した点のみにおいて、図１７のルーチンと相違している。そこで、ステップ２６１０の処理を中心に説明する。
【０３５０】
ＣＰＵ７１は、ステップ１７４０にて、第１インバランス判定用パラメータＸ１及び／又は第２インバランス判定用パラメータＸ２を算出する。次に、ＣＰＵ７１はステップ２６１０に進み、図２７に示したテーブルＭａｐＫＪ１（ＴＨＷ）と現時点における冷却水温ＴＨＷとから補正係数ＫＪ１（第１インバランス判定用閾値冷却水温補正値）を読み出す。
【０３５１】
このテーブルＭａｐＫＪ１（ＴＨＷ）によれば、冷却水温ＴＨＷが完全暖機時の温度ＴＨＷ８０（＝８０℃）に向けて高くなるほど、補正係数ＫＪ１は「０」より小さい値から「１」に向けて次第に大きくなるように求められる。更に、このテーブルＭａｐＫＪ１（ＴＨＷ）によれば、冷却水温ＴＨＷが完全暖機時の温度ＴＨＷ８０より高いとき、補正係数ＫＪ１は「１」となるように求められる。
【０３５２】
そして、ＣＰＵ７１は、その補正値ＫＪ１を下記の（３８）式に示したように、一定の基準閾値Ｘ１ｔｈ０に乗じることによって、冷却水温補正後の第１インバランス判定用閾値Ｘ１ｔｈを取得する。この一定の基準閾値Ｘ１ｔｈ０は、機関１０の暖機状態が完全暖機状態であって燃料付着量が小さい値にて安定している場合（ＴＨＷ≧ＴＨＷ８０＝８０℃）において（且つ、蒸発燃料ガスのパージが実行されていない場合において）、「第１インバランス判定用パラメータＸ１が基準閾値Ｘ１ｔｈ０よりも大きければ、燃料噴射弁の特性変化に起因する空燃比気筒間インバランス判定が発生している」と判定できるように適合された値である。これにより、燃料付着の影響が「インバランス判定用パラメータ（第１インバランス判定用パラメータＸ１）」に現れているとしても、その影響の程度に関わらない空燃比気筒間インバランス判定が行われ得る。
Ｘ１ｔｈ＝ＫＪ１・Ｘ１ｔｈ０  …（３８）
【０３５３】
同様に、ＣＰＵ７１はステップ２６１０にて、図２７に示したテーブルＭａｐＫＪ２（ＴＨＷ）と現時点における冷却水温ＴＨＷとから補正係数ＫＪ２（第２インバランス判定用閾値冷却水温補正値）を読み出す。
【０３５４】
このテーブルＭａｐＫＪ２（ＴＨＷ）によれば、冷却水温ＴＨＷが完全暖機時の温度ＴＨＷ８０（＝８０℃）に向けて高くなるほど、補正係数ＫＪ２は「１」より大きい値から「１」に向けて次第に小さくなるように求められる。更に、このテーブルＭａｐＫＪ２（ＴＨＷ）によれば、冷却水温ＴＨＷが完全暖機時の温度ＴＨＷ８０より高いとき、補正係数ＫＪ２は「１」となるように求められる。
【０３５５】
そして、ＣＰＵ７１は、その補正係数ＫＪ２を下記の（３９）式に示したように、一定の基準閾値Ｘ２ｔｈ０に乗じることによって、冷却水温補正後の第２インバランス判定用閾値Ｘ２ｔｈを取得する。この一定の基準閾値Ｘ２ｔｈ０は、機関１０の暖機状態が完全暖機状態であって燃料付着量が小さい値にて安定している場合（ＴＨＷ≧ＴＨＷ８０＝８０℃）において（且つ、蒸発燃料ガスのパージが実行されていない場合において）、「第２インバランス判定用パラメータＸ２が基準閾値Ｘ２ｔｈ０よりも小さければ、燃料噴射弁の特性変化に起因する空燃比気筒間インバランス判定が発生している」と判定できるように適合された値である。これにより、燃料付着の影響が「インバランス判定用パラメータ（第２インバランス判定用パラメータＸ２）」に現れているとしても、その影響の程度に関わらない空燃比気筒間インバランス判定が行われ得る。
Ｘ２ｔｈ＝ＫＪ２・Ｘ２ｔｈ０  …（３９）
【０３５６】
次いで、ＣＰＵ７１はステップ１７４５に進み、補正がなされていない第１インバランス判定用パラメータＸ１と上記冷却水温補正後の第１インバランス判定用閾値Ｘ１ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。或いは、ＣＰＵ７１は、補正がなされていない第２インバランス判定用パラメータＸ２と上記冷却水温補正後の第２インバランス判定用閾値Ｘ２ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。
【０３５７】
以上、説明したように、第８判定装置は、前記蒸発燃料ガス影響発生状態が発生していると判定されたとき、及び、機関１０の暖機状態が所定の暖機状態（完全暖機状態よりは暖機が進んでいない状態）に到達していないと判定されたとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止するインバランス判定実行可否決定手段（図２３のステップ２３１０における「Ｎｏ」との判定、ステップ２３２０における「Ｙｅｓ」との判定、及び、図２６のステップ１７０５における「Ｎｏ」との判定を参照。）を備える。
【０３５８】
更に、第８判定装置は、取得された暖機状態パラメータ（冷却水温ＴＨＷ）が前記暖機状態閾値（閾値ＴＨＷｔｈ）よりも大きいとき、暖機状態パラメータに基づいてインバランス判定用閾値を補正する（基準閾値Ｘ１ｔｈ０を補正して第１インバランス判定用閾値Ｘ１ｔｈを得る、或いは、基準閾値Ｘ２ｔｈ０を補正して第２インバランス判定用閾値Ｘ２ｔｈを得る）第２判定用閾値補正手段（図２６のステップ２６１０を参照。）、を含む。
【０３５９】
従って、第８判定装置は、インバランス判定用パラメータ（Ｘ１，Ｘ２）が吸気通路構成部材への燃料付着量による影響を受けていたとしても、インバランス判定用閾値がその燃料付着量による影響を反映した値へと修正される。その結果、各燃料噴射弁３９の噴射特性間の相違に基づく気筒別空燃比間の差が所定値に達したときに、空燃比気筒間インバランス状態が発生したと精度良く判定することができる。
【０３６０】
＜第９実施形態＞
次に、本発明の第９実施形態に係る判定装置（以下、単に「第９判定装置」と称呼する。）について説明する。
【０３６１】
第９判定装置のＣＰＵ７１は、図１０乃至図１５と、図２２と、図２８と、に示されたルーチンを実行する。図１０乃至図１５と、図２２と、のルーチンについては説明済みである。従って、以下、図２８のルーチンについて説明する。第９判定装置は、図２８のルーチンを実行することにより、インバランス判定用パラメータをパージ補正係数ＦＰＧと冷却水温ＴＨＷとに基づいて補正する。換言すると、第９判定装置は、蒸発燃料ガス及び燃料付着量の影響が除去されたインバランス判定用パラメータを取得し、そのインバランス判定用パラメータに基づいてインバランス判定を実行する。
【０３６２】
図２８に示したルーチンは、図１７のルーチンのステップ１７３０をステップ２８１０に置換した点のみにおいて、図１７のルーチンと相違している。従って、以下、ステップ２８１０以降の処理を中心として説明する。
【０３６３】
ＣＰＵ７１はステップ２８１０に進むと、ステップ１７３０と同様に、（Ｅ）空燃比変動指標量ＡＦＤの絶対値の平均値ＡｖｅＡＦＤを算出する。
【０３６４】
次いで、ＣＰＵ７１は、「図２９に示したテーブルＭａｐＫＦＴＸ１（ＦＰＧ，ＴＨＷ）」と現時点における「パージ補正係数ＦＰＧ及び冷却水温ＴＨＷ」とから補正係数ＫＦＴ（ｎ，ｍ）（＝ＫＦＴＸ１）を読み出す。この補正係数ＫＦＴＸ１は、第１インバランス判定用パラメータ蒸発燃料・暖機状態・補正値とも称呼される。
【０３６５】
このテーブルＭａｐＫＦＴＸ１（ＦＰＧ，ＴＨＷ）によれは、補正係数ＫＦＴＸ１は、蒸発燃料ガス及び付着燃料の第１インバランス判定用パラメータＸ１に対する影響を除去する値となるように、実験により予め定められている。より簡便には、補正係数ＫＦＴＸ１は、「パージ補正係数ＦＰＧとテーブルＭａｐＫＨＸ１（ＦＰＧ）とに基づいて得られる補正係数ＫＨＸ１」と「冷却水温ＴＨＷとテーブルＭａｐＫｔｈｗＸ１（ＴＨＷ）とに基づいて得られる補正係数ＫｔｈｗＸ１」と、の積として求めることもできる。
【０３６６】
そして、ＣＰＵ７１は、下記の（４０）式に示したように、その補正係数ＫＦＴＸ１を平均値ＡｖｅＡＦＤに乗じることによって、補正後平均値ＡｖｅＡＦＤＨを取得する。これにより、蒸発燃料ガスに含まれる燃料及び吸気通路構成部材へ付着する燃料の「第１インバランス判定用パラメータＸ１」に及ぼす影響が除去される。換言すると、補正後平均値ＡｖｅＡＦＤＨは、蒸発燃料ガスがパージされておらず、且つ、機関１０の状態が完全暖機状態にあって燃料付着量が小さい値にて安定している場合に得られる「空燃比変動指標量ＡＦＤの絶対値｜ＡＦＤ｜の平均値ＡｖｅＡＦＤ」となる。
ＡｖｅＡＦＤＨ＝ＫＦＴＸ１・ＡｖｅＡＦＤ  …（４０）
【０３６７】
同様に、ＣＰＵ７１は、「図２９と同様な形式であって図示しないテーブルＭａｐＫＦＴＸ２（ＦＰＧ，ＴＨＷ）」と現時点における「パージ補正係数ＦＰＧ及び冷却水温ＴＨＷ」とから補正係数ＫＦＴＸ２（第２インバランス判定用パラメータ蒸発燃料・暖機状態・補正値）を読み出す。
【０３６８】
このテーブル／ＭａｐＫＦＴＸ２（ＦＰＧ，ＴＨＷ）によれは、補正係数ＫＦＴＸ２は、蒸発燃料ガス及び付着燃料の第２インバランス判定用パラメータＸ２に対する影響を除去する値となるように、実験により予め定められている。より簡便には、補正係数ＫＦＴＸ２は、「パージ補正係数ＦＰＧとテーブルＭａｐＫＨＸ２（ＦＰＧ）とに基づいて得られる補正係数ＫＨＸ２」と「冷却水温ＴＨＷとテーブルＭａｐＫｔｈｗＸ２（ＴＨＷ）とに基づいて得られる補正係数ＫｔｈｗＸ２」と、の積として求めることもできる。
【０３６９】
そして、ＣＰＵ７１は、下記の（４１）式に示したように、その補正係数ＫＦＴＸ２を最小値ＭＩＮＺに乗じることによって、補正後最小値ＭＩＮＺＨを取得する。これにより、蒸発燃料ガスに含まれる燃料及び吸気通路構成部材へ付着する燃料の「第２インバランス判定用パラメータＸ２」に及ぼす影響が除去される。換言すると、補正後平均値ＡｖｅＡＦＤＨは、蒸発燃料ガスがパージされておらず、且つ、機関１０の状態が完全暖機状態にあって燃料付着量が小さい値にて安定している場合に得られる「単位燃焼サイクル期間における最小値ＭＩＮＺ」となる。
ＭＩＮＺＨ＝ＫＦＴＸ２・ＭＩＮＺ  …（４１）
【０３７０】
その後、ＣＰＵ７１は、図１８のステップ１８１０と同様に、冷却水温補正後平均値ＡｖｅＡＦＤＨの積算値Ｓａｖｅを算出する（上記（Ｊ）及び上記（３２）式を参照。）。更に、ＣＰＵ７１は、図１８のステップ１８１０と同様に、冷却水温補正後最小値ＭＩＮＺＨの積算値ＳＭＩＮＺを算出する（上記（Ｋ）及び上記（３３）式を参照。）。
【０３７１】
次いで、ＣＰＵ７１は、ステップ１７３０と同様に、積算回数カウンタＣｓを「１」だけ増大する（上記（Ｌ）を参照。）。
【０３７２】
次に、ＣＰＵ７１はステップ１７３５以降に進み、カウンタＣｓの値が閾値Ｃｓｔｈ以上となると、上記（２８）式及び上記（２９）式に従って、インバランス判定用パラメータＸ（第１インバランス判定用パラメータＸ１及び第２インバランス判定用パラメータＸ２）を算出する。
【０３７３】
次いで、ＣＰＵ７１はステップ１７４５に進み、第１インバランス判定用パラメータＸ１と第１のインバランス判定用閾値Ｘ１ｔｈとの比較、又は、第２インバランス判定用パラメータＸ２と第２のインバランス判定用閾値Ｘ２ｔｈとの比較、に基づいて、空燃比気筒間インバランス判定を実行する。
【０３７４】
以上、説明したように、第９判定装置は、蒸発燃料ガスに含まれる燃料及び吸気通路構成部材へ付着する燃料による影響が除去されたインバランス判定用パラメータに基づいてインバランス判定を実行する。更に、第９判定装置は、インバランス判定用パラメータの取得及びインバランス判定の実行を、前記蒸発燃料ガス影響発生状態が発生している可能性がある場合、及び、燃料付着量が多量となっている可能性がある場合、のいずれの場合にも禁止しない。従って、より高い頻度にて精度良く空燃比気筒間インバランス判定を実行することができる。
【０３７５】
以上、説明したように、本発明の各実施形態に係る判定装置は、蒸発燃料ガスにより多量の燃料が機関１０に供給される場合、及び／又は、機関１０の吸気通路構成部材に多量の燃料が付着する場合、においても、「空燃比気筒間インバランス状態が発生していない」と誤って判定することを回避することができる。
【０３７６】
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において以下に述べるような種々の変形例を採用することができる。
【０３７７】
（第１変形例）
第１変形例は、第９判定装置と同様、インバランス判定用パラメータの取得及びインバランス判定の実行を、前記蒸発燃料ガス影響発生状態が発生している可能性がある場合、及び、燃料付着量が多量となっている可能性がある場合、のいずれの場合にも禁止しない。
【０３７８】
但し、第１変形例は、第９判定装置のようにパージ補正係数ＦＰＧ及び冷却水温ＴＨＷに基づいて求められる補正係数（ＫＦＴＸ１、ＫＦＴＸ２）によりインバランス判定用パラメータを補正することに代え、パージ補正係数ＦＰＧ及び冷却水温ＴＨＷに基づいて求められる補正係数（ＫＦＴＸｉ１、ＫＦＴＸｉ２）を用いてインバランス判定用の基準閾値（Ｘ１ｔｈ０，Ｘ２ｔｈ０）を補正することによりインバランス判定閾値（第１インバランス判定用閾値Ｘ１ｔｈ＝ＫＦＴＸｉ１・Ｘ１ｔｈ０，第２インバランス判定用閾値Ｘ２ｔｈ＝ＫＦＴＸｉ２・Ｘ２ｔｈ０）を取得する。
【０３７９】
そして、第１変形例は、補正がなされていない第１インバランス判定用パラメータＸ１と補正後の第１インバランス判定用閾値Ｘ１ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。或いは、第１変形例は、補正がなされていない第２インバランス判定用パラメータＸ２と補正後の第２インバランス判定用閾値Ｘ２ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。
【０３８０】
これによれば、蒸発燃料ガス及び燃料付着の影響が「インバランス判定用パラメータ（Ｘ１，Ｘ２）」に現れているとしても、その影響の程度に関わらない空燃比気筒間インバランス判定が行われ得る。
【０３８１】
（第２変形例）
第２変形例は、第９判定装置と同様、インバランス判定用パラメータの取得及びインバランス判定の実行を、前記蒸発燃料ガス影響発生状態が発生している可能性がある場合、及び、燃料付着量が多量となっている可能性がある場合、のいずれの場合にも禁止しない。
【０３８２】
但し、第２変形例は、第４判定装置のように「現時点におけるパージ補正係数ＦＰＧに基づいて求められる補正係数（ＫＨＸ１，ＫＨＸ２）によりインバランス判定用パラメータ（Ｘ１，Ｘ２）を補正する。更に、第２変形例は、第８判定装置のように、現時点における冷却水温ＴＨＷに基づいて求められる補正係数（ＫＪ１，ＫＪ２）により補正されたインバランス判定用閾値（Ｘ１ｔｈ，Ｘ２ｔｈ）を取得する。
【０３８３】
そして、第２変形例は、補正後の第１インバランス判定用パラメータＸ１と補正後の第１インバランス判定用閾値Ｘ１ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。或いは、第２変形例は、補正後の第２インバランス判定用パラメータＸ２と補正後の第２インバランス判定用閾値Ｘ２ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。
【０３８４】
これによれば、蒸発燃料ガスの影響が排除された「インバランス判定用パラメータ（Ｘ１，Ｘ２）」がインバランス判定に使用される。更に、燃料付着の影響が「インバランス判定用パラメータ（Ｘ１，Ｘ２）」に現れているとしても、その影響を反映したインバランス判定用閾値がインバランス判定に使用される。従って、蒸発燃料ガス及び燃料付着の影響の程度に関わらない空燃比気筒間インバランス判定が行われ得る。
【０３８５】
（第３変形例）
第３変形例は、第９判定装置と同様、インバランス判定用パラメータの取得及びインバランス判定の実行を、前記蒸発燃料ガス影響発生状態が発生している可能性がある場合、及び、燃料付着量が多量となっている可能性がある場合、のいずれの場合にも禁止しない。
【０３８６】
但し、第３変形例は、第５判定装置のように「現時点におけるパージ補正係数ＦＰＧに基づいて求められる補正係数（Ｋｉ１，Ｋｉ２）により補正されたインバランス判定用閾値（Ｘ１ｔｈ，Ｘ２ｔｈ）を取得する。更に、第３変形例は、第７判定装置のように、現時点における冷却水温ＴＨＷに基づいて求められる補正係数（ＫｔｈｗＸ１，ＫｔｈｗＸ２）によりインバランス判定用パラメータ（Ｘ１，Ｘ２）を補正する。
【０３８７】
そして、第３変形例は、補正後の第１インバランス判定用パラメータＸ１と補正後の第１インバランス判定用閾値Ｘ１ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。或いは、第３変形例は、補正後の第２インバランス判定用パラメータＸ２と補正後の第２インバランス判定用閾値Ｘ２ｔｈとの比較に基づいて、空燃比気筒間インバランス判定を実行する。
【０３８８】
これによれば、燃料付着の影響が排除された「インバランス判定用パラメータ（Ｘ１，Ｘ２）」がインバランス判定に使用される。更に、蒸発燃料の影響が「インバランス判定用パラメータ（Ｘ１，Ｘ２）」に現れているとしても、その影響を反映したインバランス判定用閾値がインバランス判定に使用される。従って、蒸発燃料ガス及び燃料付着の影響の程度に関わらない空燃比気筒間インバランス判定が行われ得る。
【０３８９】
（その他の変形例）
なお、上記各実施形態及び上記各変形例は、矛盾の生じない範囲において組み合わせることができる。例えば、パージ補正係数ＦＰＧに基づいて求められる補正係数を用いてインバランス判定用パラメータ及びインバランス判定用閾値の何れかを補正している形態にいては、蒸発燃料ガス影響発生状態が発生しているか否かの判定に拘わらず、インバランス判定用パラメータの取得及びインバランス判定の実行は許容され得る。
【０３９０】
同様に、冷却水温ＴＨＷに基づいて求められる補正係数を用いてインバランス判定用パラメータ及びインバランス判定用閾値の何れかを補正している形態にいては、機関１０の暖機状態が上記所定の暖機状態に到達しているか否かの判定に拘わらず、インバランス判定用パラメータの取得及びインバランス判定の実行は許容され得る。更に、第６乃至第８判定装置は、蒸発燃料ガス影響発生状態が発生しているか否かに拘わらず、インバランス判定用パラメータの取得及びインバランス判定の実行を許容してもよい。
【０３９１】
更に、第９判定装置及び第１乃至第３変形例は、蒸発燃料ガス影響発生状態が発生していると判定されたとき、インバランス判定用パラメータの取得又はインバランス判定の実行を禁止してもよい。同様に、第９判定装置及び第１乃至第３変形例は、機関１０の暖機状態が上記所定の暖機状態に到達していないと判定されたとき、インバランス判定用パラメータの取得又はインバランス判定の実行を禁止してもよい。
【０３９２】
加えて、インバランス判定用パラメータは、以下に述べるパラメータであってもよい。
【０３９３】
（Ｐ１）インバランス判定用パラメータは、上流側空燃比センサ６７の出力値Ｖａｂｙｆｓの軌跡長又は検出空燃比ａｂｙｆｓの軌跡長であってもよい。例えば、検出空燃比ａｂｙｆｓの軌跡長は、一定サンプリング時間ｔｓが経過する毎に出力Ｖａｂｙｆｓを取得するとともに、その出力値Ｖａｂｙｆｓを検出空燃比ａｂｙｆｓへと変換し、その検出空燃比ａｂｙｆｓと、一定サンプリング時間ｔｓ前に取得した検出空燃比ａｂｙｆｓと、の差の絶対値を積算することによって求めることができる。この軌跡長は、単位燃焼サイクル期間毎に求められる。複数の単位燃焼サイクル期間についての軌跡長の平均値をインバランス判定用パラメータとして採用してもよい。なお、出力値Ｖａｂｙｆｓの軌跡長及び検出空燃比ａｂｙｆｓの軌跡長は、機関回転速度ＮＥが大きいほど大きくなる傾向を有するので、各判定装置は、機関回転速度ＮＥが大きいほどインバランス判定用閾値を大きくすることが好ましい。
【０３９４】
（Ｐ２）インバランス判定用パラメータは、図９の（Ｄ）に示したような「上流側空燃比センサ６７の出力値Ｖａｂｙｆｓの変化率（時間変化率）の変化率（時間変化率）に応じた値」の絶対値であってもよい。即ち、インバランス判定用パラメータは、「上流側空燃比センサ６７の出力値Ｖａｂｙｆｓの時間に関する二階微分値ｄ２（Ｖａｂｙｆｓ）／ｄｔ２」の絶対値、又は、「上流側空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される検出空燃比ａｂｙｆｓの時間に関する二階微分値ｄ２（ａｂｙｆｓ）／ｄｔ２）」の絶対値であってもよい。上流側空燃比センサ６７の出力値Ｖａｂｙｆｓ値の変化率の変化率に応じた値は、上流側空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される空燃比（検出空燃比ａｂｙｆｓ）の単位時間あたりの変化量の変化量ということもできる。
【０３９５】
例えば、検出空燃比ａｂｙｆｓの変化率の変化率は次のようにして取得することができる。
・一定サンプリング時間ｔｓが経過する毎に出力値Ｖａｂｙｆｓを取得する。
・その出力値Ｖａｂｙｆｓを検出空燃比ａｂｙｆｓへと変換する。
・その検出空燃比ａｂｙｆｓと、一定サンプリング時間ｔｓ前に取得した検出空燃比ａｂｙｆｓと、の差を検出空燃比ａｂｙｆｓの変化率として取得する。
・その検出空燃比ａｂｙｆｓの変化率と、一定サンプリング時間ｔｓ前に取得した検出空燃比ａｂｙｆｓの変化率と、の差を検出空燃比ａｂｙｆｓの変化率の変化率として取得する。
この場合、「単位燃焼サイクル期間内において複数得られた検出空燃比ａｂｙｆｓの変化率の変化率」の中から「その絶対値が最大である値」を選択し、その最大値をインバランス判定用パラメータとして採用していもよい。
【０３９６】
上述したように、空燃比気筒間インバランス状態が発生している場合、上流側空燃比センサ６７の出力値Ｖａｂｙｆｓは、上流側空燃比センサ６７に到達する排ガスが、「正常気筒からの排ガスから異常気筒からの排ガスへと変化したとき、及び、異常気筒からの排ガスから正常気筒からの排ガスへと変化したとき」急激に変化する。従って、図９の（Ｄ）に実線Ｃ４により示したように、上流側空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される検出空燃比ａｂｙｆｓの変化率の変化率は、空燃比気筒間インバランス状態が発生すると、その絶対値が大きくなり、インバランス判定用閾値を超える。更に、検出空燃比ａｂｙｆｓの変化率の変化率の絶対値は、気筒別空燃比の間の不均衡の程度が大きいほど大きくなる。
【０３９７】
（Ｐ４）インバランス判定用パラメータは、「上流側空燃比センサ６７の出力値Ｖａｂｙｆｓを機関回転速度ＮＥ、機関１０の絶対クランク角ＣＡ及び吸入空気流量Ｇａ等に基づいて分析することによって推定される気筒別空燃比」の間の差の大きさ（例えば、気筒別空燃比のうちの最大値と最小値との差の絶対値等）であってもよい（例えば、特開２０００−２２０４８９号公報を参照。）。
【０３９８】
（Ｐ５）インバランス判定用パラメータは、単位燃焼サイクル期間における検出空燃比ａｂｙｆｓ（又は上流側空燃比センサ６７の出力値Ｖａｂｙｆｓ）の最大値と最小値との差であってもよい。
【０３９９】
更に、上記各判定装置のサブフィードバック制御は、下流側空燃比センサ５８の出力値Ｖｏｘｓが下流側目標値Ｖｏｘｓｒｅｆに一致するように、上流側空燃比センサ６７の出力値Ｖａｂｙｆｓに基づく空燃比ａｂｙｆｓを見かけ上補正するような態様であった（上記（５）式を参照。）。これに対し、サブフィードバック制御は、特開平６−０１０７３８号公報に開示されているように、上流側空燃比センサ６７の出力値に基いて作成される空燃比補正係数を「下流側空燃比センサ５８の出力値Ｖｏｘｓを積分して求めたサブフィードバック量」に基いて変更する態様であってもよい。
【０４００】
また、上記各判定装置は、特開２００７−７７８６９号公報、特開２００７−１４６６６１号公報及び特開２００７−１６２５６５号公報等に開示されているように、上流側空燃比センサ６７の出力値Ｖａｂｙｆｓに基いて得られる上流側空燃比ａｂｙｆｓと上流側目標空燃比ａｂｙｆｒとの差をハイパスフィルタ処理してメインフィードバック量ＫＦｍａｉｎを算出するとともに、下流側空燃比センサ５８の出力値Ｖｏｘｓと下流側目標値Ｖｏｘｓｒｅｆとの偏差に対してローパスフィルタ処理を施した値を比例積分処理することによりサブフィードバック量Ｆｉｓｕｂを求めるように構成されていてもよい。また、上記各判定装置は、サブフィードバック制御を行わなくてもよい。更に、上記インバランス判定は、メインフィードバック制御の実施中でないときに実行されてもよい。
【０４０１】
加えて、上記各判定装置は、例えば、Ｖ型エンジンにも適用することができる。その場合、Ｖ型エンジンは右バンクに属する２以上の気筒の排気集合部よりも下流に右バンク上流側触媒（前記機関の排気通路であって前記複数の気筒のうちの少なくとも２以上の気筒の燃焼室から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒）を備え、左バンクに属する２以上の気筒の排気集合部よりも下流に左バンク上流側触媒（前記機関の排気通路であって前記複数の気筒のうちの少なくとも２以上の気筒以外の残りの２以上の気筒の燃焼室から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒）、を備えることができる。
【０４０２】
更に、Ｖ型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側空燃比センサを備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側空燃比センサを備えることができる。各上流側空燃比センサは、上記空燃比センサ６７と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
【０４０３】
また、上記判定装置のいくつかは、蒸発燃料ガスパージ補正量（パージ補正係数ＦＰＧ）と蒸発燃料ガスパージ補正量の基準値「１」との差の大きさ｜１−ＦＰＧ｜が所定のパージ影響判定用閾値よりも大きいとき前記蒸発燃料ガス影響発生状態が発生していると判定するように構成されていた。これに代え、パージ流路管４８に燃料濃度センサ（空燃比センサでよい。）を設けるとともに、パージ流路管４８を流れる蒸発燃料ガスの流量を測定する蒸発燃料ガス流量センサを設け、これらのセンサに基づいて吸気通路に流入する蒸発燃料ガスに含まれる燃料量を求め、その燃料量が所定値以上であるときに前記蒸発燃料ガス影響発生状態が発生していると判定するように構成されてもよい。
【０４０４】
更に、上記判定装置のいくつかは、機関１０の暖機状態を表すパラメータ（機関１０の暖機状態が進行するにつれて大きくなるパラメータ）として水温センサ６３が検出する冷却水温ＴＨＷを採用した。これに代え、例えば、機関１０の始動時における冷却水温ＴＨＷ０が高いほど大きくなる初期値を有し、機関１０の始動後の吸入空気量の積算量（又は始動後走行時間）が大きくなるほど大きくなるパラメータを「機関１０の暖機状態を表すパラメータ」として採用してもよい。
【図１】
2011033688.tif 000003
【図２】
2011033688.tif 000004
【図３】
2011033688.tif 000005
【図４】
2011033688.tif 000006
【図５】
2011033688.tif 000007
【図６】
2011033688.tif 000008
【図７】
2011033688.tif 000009
【図８】
2011033688.tif 000010
【図９】
2011033688.tif 000011
【図１０】
2011033688.tif 000012
【図１１】
2011033688.tif 000013
【図１２】
2011033688.tif 000014
【図１３】
2011033688.tif 000015
【図１４】
2011033688.tif 000016
【図１５】
2011033688.tif 000017
【図１６】
2011033688.tif 000018
【図１７】
2011033688.tif 000019
【図１８】
2011033688.tif 000020
【図１９】
2011033688.tif 000021
【図２０】
2011033688.tif 000022
【図２１】
2011033688.tif 000023
【図２２】
2011033688.tif 000024
【図２３】
2011033688.tif 000025
【図２４】
2011033688.tif 000026
【図２５】
2011033688.tif 000027
【図２６】
2011033688.tif 000028
【図２７】
2011033688.tif 000029
【図２８】
2011033688.tif 000030
【図２９】
2011033688.tif 000031
【手続補正書】
【提出日】平成24年12月3日(2012.12.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の気筒を有する多気筒内燃機関に適用される空燃比気筒間インバランス判定装置であって、
前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設される空燃比センサであって同空燃比センサに到達した排ガスの空燃比に応じた出力値を空燃比センサ出力として発生する空燃比センサと、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料をそれぞれ噴射する複数の燃料噴射弁と、
前記複数の燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料ガスを前記機関の吸気通路に導入するための通路を構成するパージ通路部と、
前記パージ通路部を通して前記機関の吸気通路に流入する前記蒸発燃料ガスの量である蒸発燃料ガスパージ量を制御するパージ量制御手段と、
前記少なくとも２以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の差が大きいほど大きくなるか又は小さくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得するインバランス判定用パラメータ取得手段と、
前記取得されたインバランス判定用パラメータと所定のインバランス判定用閾値とを比較するとともにその比較の結果に基づいて空燃比気筒間インバランス状態が発生したか否かについて判定するインバランス判定を実行するインバランス判定手段と、
前記吸気通路に流入する前記蒸発燃料ガスが前記インバランス判定用パラメータを所定の許容量以上変化させるような状態である蒸発燃料ガス影響発生状態が発生しているか否かを判定するとともに、前記蒸発燃料ガス影響発生状態が発生していると判定されたとき、前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止するインバランス判定実行可否決定手段と、
を備えた空燃比気筒間インバランス判定装置。
【請求項２】
請求項１に記載の空燃比気筒間インバランス判定装置であって、
前記空燃比センサの出力値により表される空燃比が所定の目標空燃比に一致するように前記複数の燃料噴射弁のそれぞれから噴射される燃料の量である燃料噴射量を同空燃比センサの出力値と同目標空燃比とに基づいて算出される空燃比フィードバック量により補正するフィードバック制御手段を備えた空燃比気筒間インバランス判定装置。
【請求項３】
請求項２に記載の空燃比気筒間インバランス判定装置において、
前記フィードバック制御手段は、
前記空燃比フィードバック量の一部をなす補正量であって、前記蒸発燃料ガスが前記吸気通路に流入することによる前記２以上の気筒のそれぞれの燃焼室に供給される混合気の空燃比の変化、を抑制するための補正量、である蒸発燃料ガスパージ補正量を前記空燃比センサの出力値に基づいて算出するように構成され、
前記インバランス判定実行可否決定手段は、
前記蒸発燃料ガスパージ補正量と同蒸発燃料ガスパージ補正量の基準値との差の大きさが所定のパージ影響判定用閾値よりも大きいとき前記蒸発燃料ガス影響発生状態が発生していると判定するように構成された空燃比気筒間インバランス判定装置。
【請求項４】
請求項３に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定用パラメータ取得手段は、
前記蒸発燃料ガスパージ補正量に基づいて前記取得したインバランス判定用パラメータを補正することにより前記インバランス判定に用いられるインバランス判定用パラメータを取得する第１パラメータ補正手段を含む空燃比気筒間インバランス判定装置。
【請求項５】
請求項３に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定手段は、
前記蒸発燃料ガスパージ補正量に基づいて前記インバランス判定用閾値を補正する第１判定用閾値補正手段を含む空燃比気筒間インバランス判定装置。
【請求項６】
請求項１乃至請求項５の何れか一項に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定実行可否決定手段は、
前記機関の暖機状態が所定の暖機状態に到達したか否かを判定するとともに、同機関の暖機状態が同所定の暖機状態に到達していないと判定されたとき前記インバランス判定用パラメータの取得を禁止するか、又は、前記インバランス判定の実行を禁止するように構成された空燃比気筒間インバランス判定装置。
【請求項７】
請求項６に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定実行可否決定手段は、
前記機関の暖機状態が進むにつれて大きくなる暖機状態パラメータを取得するとともに同取得された暖機状態パラメータが所定の暖機状態閾値よりも小さいとき同機関の暖機状態が前記所定の暖機状態に到達していないと判定するように構成された空燃比気筒間インバランス判定装置。
【請求項８】
請求項７に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定実行可否決定手段は、
前記暖機状態パラメータとして前記機関の冷却水の温度を取得するように構成された空燃比気筒間インバランス判定装置。
【請求項９】
請求項７又は請求項８に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定用パラメータ取得手段は、
前記取得された暖機状態パラメータに基づいて前記取得したインバランス判定用パラメータを補正することにより前記インバランス判定に用いられるインバランス判定用パラメータを取得する第２パラメータ補正手段を含む空燃比気筒間インバランス判定装置。
【請求項１０】
請求項７又は請求項８に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定手段は、
前記取得された暖機状態パラメータに基づいて前記インバランス判定用閾値を補正する第２判定用閾値補正手段を含む空燃比気筒間インバランス判定装置。
【国際調査報告】
2011033688.tif 000032
2011033688.tif 000033
2011033688.tif 000034
2011033688.tif 000035
2011033688.tif 000036