(57)【特許請求の範囲】
【請求項１】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
前記吸気通路にパージガスが供給されている状況化で空燃比のずれを検出する空燃比ずれ検出手段と、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記空燃比のずれが縮小するように所定の更新幅で前記補正係数を更新する補正係数更新手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障が検出された際に空燃比のずれの有無とそのずれの方向を判断するずれ状態判断手段と、
前記ずれ状態判断手段により空燃比のずれが認められた場合に、そのずれの方向に応じて、前記補正係数にリッチ側初期値或いはリーン側初期値を与える初期値設定手段とを備え、
前記補正係数の基準値と前記リッチ側初期値との差、および当該基準値と前記リーン側初期値との差は、何れも前記補正係数更新手段による前記補正係数の更新幅に比して大きいことを特徴とする蒸発燃料処理装置。
【請求項２】
前記補正係数更新手段は、前記空燃比に第１の条件を満たすずれが認められた場合に、前記空燃比にずれが生じていると判断して、そのずれを縮小すべく前記補正係数を更新し、
前記ずれ状態判断手段は、前記空燃比に第２の条件を満たすずれが認められた場合に、前記空燃比にずれが生じていると判断し、
前記第２の条件は、前記第１の条件に比して、高い感度で成立する条件であることを特徴とする請求項１記載の蒸発燃料処理装置。
【請求項３】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
所定のフューエルカット条件の成立下で、内燃機関に対する燃料噴射を停止するフューエルカットを実行するフューエルカット手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合には前記フューエルカットの実行を制限するフューエルカット制限手段と、
を備えることを特徴とする蒸発燃料処理装置。
【請求項４】
パージガスの燃料濃度が濃い状況と薄い状況とを区別する状況区別手段を備え、
前記フューエルカット制限手段は、前記パージ制御弁の開故障に伴って流通するパージガスの燃料濃度が濃い状況下でのみ前記フューエルカットの実行を制限することを特徴とする請求項３記載の蒸発燃焼処理装置。
【請求項５】
前記フューエルカット条件は、機関回転数が所定のフューエルカット回転数より高いとの条件を含み、
前記フューエルカット制限手段は、前記開故障の発生が認められる場合に、前記フューエルカット回転数を通常値に比して高い値に変更するフューエルカット回転数変更手段を含むことを特徴とする請求項３または４記載の蒸発燃料処理装置。
【請求項６】
前記制限とは禁止であることを特徴とする請求項３または４記載の蒸発燃料処理装置。
【請求項７】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関の冷間時に燃料噴射量に冷間増量補正を施す冷間増量補正手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障が検出された際に前記冷間増量補正による増量分を減量する補正分減量手段と、
を備えることを特徴とする蒸発燃料処理装置。
【請求項８】
空燃比が所定の過剰リッチ状態になっているか否かを判断する過剰リッチ判定手段を備え、
前記補正分減量手段は、前記パージ制御弁の開故障が認められ、かつ、前記過剰リッチ状態の発生が認められる場合にのみ前記冷間増量補正による増量分を減量することを特徴とする請求項７記載の蒸発燃焼処理装置。
【請求項９】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関のアイドリング時に、所望のアイドル空気量を流通させるアイドル空気量流通手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合に、前記アイドル空気量を増量させるためのアイドル空気量増量手段と、
を備えることを特徴とする蒸発燃料処理装置。
【請求項１０】
パージガスの燃料濃度を検出または推定する燃料濃度取得手段を備え、
前記アイドル空気量増量手段は、前記パージガスの燃料濃度が濃いほど前記アイドル空気量を多量に増量させることを特徴とする請求項９記載の蒸発燃焼処理装置。
【請求項１１】
前記アイドル空気量流通手段は、アイドル回転数が目標アイドル回転数となるように前記アイドル空気量を制御する手段を含み、
前記アイドル空気量増量手段は、前記開故障の発生が認められる場合に、前記目標アイドル回転数を通常の回転数より高い回転数に変更する目標回転数変更手段を含むことを特徴とする請求項９または１０記載の蒸発燃料処理装置。
【請求項１２】
前記アイドル空気量流通手段は、アイドル回転数が目標アイドル回転数となるように前記アイドル空気量を制御する手段を含み、
前記アイドル空気量増量手段は、前記開故障の発生が認められる場合に、内燃機関の点火時期を通常の点火時期に対して遅角する点火時期遅角手段を含むことを特徴とする請求項９乃至１１の何れか１項記載の蒸発燃料処理装置。
【請求項１３】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタは、前記燃料タンクに通じるベーパ孔と、内燃機関の吸気通路に通じるパージ孔と、当該キャニスタの内部空間を挟んで前記ベーパ孔および前記パージ孔とは反対側に位置する大気孔とを備え、
前記パージ孔と前記吸気通路との導通状態を制御するパージ制御弁と、
前記大気孔を開閉するキャニスタ開閉弁と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合に前記キャニスタ開閉弁を閉弁状態とする大気孔閉塞手段と、
パージガスの燃料濃度が濃い状況と薄い状況とを区別する状況区別手段とを備え、
前記大気孔閉塞手段は、前記パージ制御弁の開故障に伴って流通するパージガスの燃料濃度が濃い状況下において、前記キャニスタ開閉弁を閉弁状態とすることを特徴とする蒸発燃料処理装置。
【請求項１４】
前記燃料タンクおよび前記キャニスタを含む系内の圧力が所定の負圧に達することで開弁し、当該系内に大気を流入させるチェック弁を備えることを特徴とする請求項１３記載の蒸発燃料処理装置。
【請求項１５】
前記チェック弁は、前記燃料タンクに設けられていることを特徴とする請求項１４記載の蒸発燃料処理装置。
【請求項１６】
前記吸気通路にパージガスが供給されている状況化で空燃比のずれを検出する空燃比ずれ検出手段と、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記空燃比のずれが縮小するように所定の更新幅で前記補正係数を更新する補正係数更新手段と、
前記開故障が検出されることにより前記キャニスタ開閉弁が閉弁状態とされた際に、前記補正係数に初期値を与える初期値設定手段とを備え、
前記補正係数の基準値と前記初期値との差は、前記補正係数更新手段による前記補正係数の更新幅に比して大きいことを特徴とする請求項１５記載の蒸発燃料処理装置。
【請求項１７】
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記補正係数を、パージガスの燃料濃度に基づいて算出する補正係数算出手段と、
パージガス流量を検出するパージガス流量検出手段と、
前記開故障の発生が認められる場合に、前記パージガス流量が、所定のタンクベーパ発生量より少ないか否かを判断するガス流量判断手段と、
前記開故障の発生が認められる状況下でのパージガス流量が前記タンクベーパ発生量より少ないと判断される場合に、所定のタンクベーパ相当濃度を前記パージガスの燃料濃度に設定する第１の濃度設定手段と、
前記開故障の発生が認められる状況下でのパージガス流量が前記タンクベーパ発生量以上であると判断される場合に、前記タンクベーパ相当濃度と、前記タンクベーパ発生量と、前記パージガス流量とに基づいて希釈化燃料濃度を算出し、当該希釈化燃料濃度を前記パージガスの燃料濃度に設定する第２の濃度設定手段と、
を備えることを特徴とする請求項１５または１６記載の蒸発燃焼処理装置。
【請求項１８】
前記開故障検出手段は、内燃機関の始動直後に前記開故障を検出するための処理を行う始動時検出手段を含むことを特徴とする請求項１、２、７、８および１６の何れか１項記載の蒸発燃料処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、蒸発燃料処理装置に係り、特に、キャニスタに吸着された蒸発燃料を内燃機関の吸気通路に吸入させることにより処理する蒸発燃料処理装置に関する。
【０００２】
【従来の技術】
従来、例えば特開平６−５８１９７号公報に開示されるように、燃料タンクの内部で発生した蒸発燃料を吸着するためのキャニスタと、そのキャニスタを必要に応じて内燃機関の吸気通路に導通させるためのパージ制御弁とを備える蒸発燃料処理装置が知られている。このシステムにおいて、パージ制御弁が開弁されると、吸気負圧がキャニスタに導かれ、キャニスタに吸着されている燃料が空気と共に吸気通路に吸入される。このため、上記従来のシステムによれば、燃料タンクの内部で発生する蒸発燃料を大気に放出させることなく処理することができる。
【０００３】
また、上記の公報には、パージ制御弁の開故障（開状態で固着する故障）を検出し、その発生が認められる場合には、空燃比の学習を中止したうえで空燃比の補正制御を行う手法が開示されている。また、上記の補正制御の内容としては、機関回転数等からパージガスの流量を推定し、その推定流量に基づいて空燃比を補正する手法が開示されている。このような従来の制御手法によれば、パージ制御弁の開故障時に生ずるパージガスの影響をある程度補正することができ、開故障時における空燃比荒れを抑制することができる。
【０００４】
【特許文献１】
特開平６−５８１９７号公報
【特許文献２】
特開平５−１８０１０１号公報
【特許文献３】
特開平１１−１４１４１３号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、パージ制御弁の開故障時には、常に多量のパージガスが内燃機関の吸気通路に流入する。一方、内燃機関の運転状態は、時々刻々変化し、吸入空気量を多量に発生させる状況や、吸入空気量を僅かにしか発生させない状況、或いは、燃料噴射を停止すべき状況や、燃料噴射量を増量させるべき状況など、様々な状況を生じさせる。そして、上記従来の装置のように、パージガスの流量を推定し、その推定流量に基づいて空燃比を補正するだけでは、これらの様々な状況下で、常に適正な空燃比制御を維持することはできない。
【０００６】
本発明は、上記の点に鑑みてなされたものであり、パージ制御弁に開故障が生じた場合に、内燃機関の状況に応じた適切な処理を行うって高精度な空燃比制御を実現することのできる蒸発燃料処理装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
第１の発明は、上記の目的を達成するため、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
前記吸気通路にパージガスが供給されている状況化で空燃比のずれを検出する空燃比ずれ検出手段と、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記空燃比のずれが縮小するように所定の更新幅で前記補正係数を更新する補正係数更新手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障が検出された際に空燃比のずれの有無とそのずれの方向を判断するずれ状態判断手段と、
前記ずれ状態判断手段により空燃比のずれが認められた場合に、そのずれの方向に応じて、前記補正係数にリッチ側初期値或いはリーン側初期値を与える初期値設定手段とを備え、
前記補正係数の基準値と前記リッチ側初期値との差、および当該基準値と前記リーン側初期値との差は、何れも前記補正係数更新手段による前記補正係数の更新幅に比して大きいことを特徴とする。
【０００８】
また、第２の発明は、第１の発明において、
前記補正係数更新手段は、前記空燃比に第１の条件を満たすずれが認められた場合に、前記空燃比にずれが生じていると判断して、そのずれを縮小すべく前記補正係数を更新し、
前記ずれ状態判断手段は、前記空燃比に第２の条件を満たすずれが認められた場合に、前記空燃比にずれが生じていると判断し、
前記第２の条件は、前記第１の条件に比して、高い感度で成立する条件であることを特徴とする。
【０００９】
また、第３の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
所定のフューエルカット条件の成立下で、内燃機関に対する燃料噴射を停止するフューエルカットを実行するフューエルカット手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合には前記フューエルカットの実行を制限するフューエルカット制限手段と、
を備えることを特徴とする。
【００１０】
また、第４の発明は、第３の発明において、
パージガスの燃料濃度が濃い状況と薄い状況とを区別する状況区別手段を備え、
前記フューエルカット制限手段は、前記パージ制御弁の開故障に伴って流通するパージガスの燃料濃度が濃い状況下でのみ前記フューエルカットの実行を制限することを特徴とする。
【００１１】
また、第５の発明は、第３または第４の発明において、
前記フューエルカット条件は、機関回転数が所定のフューエルカット回転数より高いとの条件を含み、
前記フューエルカット制限手段は、前記開故障の発生が認められる場合に、前記フューエルカット回転数を通常値に比して高い値に変更するフューエルカット回転数変更手段を含むことを特徴とする。
【００１２】
また、第６の発明は、第３または第４の発明において、前記制限とは禁止であることを特徴とする。
【００１３】
また、第７の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関の冷間時に燃料噴射量に冷間増量補正を施す冷間増量補正手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障が検出された際に前記冷間増量補正による増量分を減量する補正分減量手段と、
を備えることを特徴とする。
【００１４】
また、第８の発明は、第７の発明において、
空燃比が所定の過剰リッチ状態になっているか否かを判断する過剰リッチ判定手段を備え、
前記補正分減量手段は、前記パージ制御弁の開故障が認められ、かつ、前記過剰リッチ状態の発生が認められる場合にのみ前記冷間増量補正による増量分を減量することを特徴とする。
【００１５】
また、第９の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関のアイドリング時に、所望のアイドル空気量を流通させるアイドル空気量流通手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合に、前記アイドル空気量を増量させるためのアイドル空気量増量手段と、
を備えることを特徴とする。
【００１６】
また、第１０の発明は、第９の発明において、
パージガスの燃料濃度を検出または推定する燃料濃度取得手段を備え、
前記アイドル空気量増量手段は、前記パージガスの燃料濃度が濃いほど前記アイドル空気量を多量に増量させることを特徴とする。
【００１７】
また、第１１の発明は、第９または第１０の発明において、
前記アイドル空気量流通手段は、アイドル回転数が目標アイドル回転数となるように前記アイドル空気量を制御する手段を含み、
前記アイドル空気量増量手段は、前記開故障の発生が認められる場合に、前記目標アイドル回転数を通常の回転数より高い回転数に変更する目標回転数変更手段を含むことを特徴とする。
【００１８】
また、第１２の発明は、第９乃至第１１の発明の何れかにおいて、
前記アイドル空気量流通手段は、アイドル回転数が目標アイドル回転数となるように前記アイドル空気量を制御する手段を含み、
前記アイドル空気量増量手段は、前記開故障の発生が認められる場合に、内燃機関の点火時期を通常の点火時期に対して遅角する点火時期遅角手段を含むことを特徴とする。
【００１９】
また、第１３の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタは、前記燃料タンクに通じるベーパ孔と、内燃機関の吸気通路に通じるパージ孔と、当該キャニスタの内部空間を挟んで前記ベーパ孔および前記パージ孔とは反対側に位置する大気孔とを備え、
前記パージ孔と前記吸気通路との導通状態を制御するパージ制御弁と、
前記大気孔を開閉するキャニスタ開閉弁と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合に前記キャニスタ開閉弁を閉弁状態とする大気孔閉塞手段と、
パージガスの燃料濃度が濃い状況と薄い状況とを区別する状況区別手段とを備え、
前記大気孔閉塞手段は、前記パージ制御弁の開故障に伴って流通するパージガスの燃料濃度が濃い状況下において、前記キャニスタ開閉弁を閉弁状態とすることを特徴とする。
【００２１】
また、第１４の発明は、第１３の発明において、前記燃料タンクおよび前記キャニスタを含む系内の圧力が所定の負圧に達することで開弁し、当該系内に大気を流入させるチェック弁を備えることを特徴とする。
【００２２】
また、第１５の発明は、第１４の発明において、前記チェック弁は、前記燃料タンクに設けられていることを特徴とする。
【００２３】
また、第１６の発明は、第１５の発明において、
前記吸気通路にパージガスが供給されている状況化で空燃比のずれを検出する空燃比ずれ検出手段と、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記空燃比のずれが縮小するように所定の更新幅で前記補正係数を更新する補正係数更新手段と、
前記開故障が検出されることにより前記キャニスタ開閉弁が閉弁状態とされた際に、前記補正係数に初期値を与える初期値設定手段とを備え、
前記補正係数の基準値と前記初期値との差は、前記補正係数更新手段による前記補正係数の更新幅に比して大きいことを特徴とする。
【００２４】
また、第１７の発明は、第１５または第１６の発明において、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記補正係数を、パージガスの燃料濃度に基づいて算出する補正係数算出手段と、
パージガス流量を検出するパージガス流量検出手段と、
前記開故障の発生が認められる場合に、前記パージガス流量が、所定のタンクベーパ発生量より少ないか否かを判断するガス流量判断手段と、
前記開故障の発生が認められる状況下でのパージガス流量が前記タンクベーパ発生量より少ないと判断される場合に、所定のタンクベーパ相当濃度を前記パージガスの燃料濃度に設定する第１の濃度設定手段と、
前記開故障の発生が認められる状況下でのパージガス流量が前記タンクベーパ発生量以上であると判断される場合に、前記タンクベーパ相当濃度と、前記タンクベーパ発生量と、前記パージガス流量とに基づいて希釈化燃料濃度を算出し、当該希釈化燃料濃度を前記パージガスの燃料濃度に設定する第２の濃度設定手段と、
を備えることを特徴とする。
【００２５】
また、第１８の発明は、第１、第２、第７、第８および第１６の発明の何れかにおいて、前記開故障検出手段は、内燃機関の始動直後に前記開故障を検出するための処理を行う始動時検出手段を含むことを特徴とする。
【００２６】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００２７】
実施の形態１．
［システム構成の説明］
図１は、本発明の実施の形態１の蒸発燃料処理装置の構成を説明するための図である。本実施形態の蒸発燃料処理装置は、燃料タンク１０を備えている。燃料タンク１０には、タンク内圧PTNKを測定するためのタンク内圧センサ１２が設けられている。また、燃料タンク１０の給油孔を塞ぐキャップには、燃料タンク１０の外部から内部へ向かうガスの流れのみを許容するチェック弁１３が設けられている。更に、燃料タンク１０には、ROV(Roll Over Valve)１４，１６を介してベーパ通路１８の一端が接続されている。
【００２８】
ベーパ通路１８の他端はキャニスタ２０に接続されている。キャニスタ２０は、その内部に活性炭を備えており、ベーパ通路１８から流入してくる蒸発燃料を吸着することができる。キャニスタ２０には大気孔が設けられており、その大気孔にはCCV(Canister Closed Valve)２２とチェック弁２４が配置されている。CCV２２は、駆動信号の供給を受けることにより開状態となる常時閉タイプの電磁弁である。また、チェック弁２４は、大気側からキャニスタ２０内部へ向かう流体の流れのみを許容する一方向弁である。
【００２９】
チェック弁２４の開弁圧は、燃料タンク１０のキャップに配されているチェック弁１３の開弁圧より大きな値に設定されている。このため、本実施形態のシステムでは、キャニスタ２０および燃料タンク１０を含む系に負圧が供給された場合、チェック弁２４より先にチェック弁１３が開弁し、その系内には、原則として燃料タンク１０側から大気が流入することとなる。
【００３０】
キャニスタ２０には、パージ通路２６の一端が接続されている。パージ通路２６の途中には、その内部を流れるガスの流量を制御するためのパージVSV(Vacuum Switching Valve)２８が設けられている。パージVSV２８は、デューティ駆動されることにより、実質的にそのデューティ比に応じた開度を実現する制御弁である。
【００３１】
パージ通路２６の他端は、内燃機関の吸気通路３０に接続されている。吸気通路３０の端部にはエアクリーナ３２が設けられている。エアクリーナ３２の下流側には吸入空気量GAに応じた出力を発するエアフロメータ３４が配置されている。更に、エアフロメータ３４の下流には、吸入空気量GAを制御するための電子スロットル弁３６が配置されている。電子スロットル弁３６の近傍には、スロットル開度TAに応じた出力を発するスロットルセンサ３８が配置されている。上述したパージ通路２６は、スロットル弁３６の下流において吸気通路３０に連通している。
【００３２】
吸気通路３０は、吸気マニホールド４０を介して内燃機関（図示せず）に導通している。吸気マニホールド４０には、内燃機関に対して燃料を噴射するための燃料噴射弁４２が配置されている。燃料噴射弁４２には、燃料タンク１０の内部に配置されている燃料フィードポンプ４４から、所定の圧力で燃料が供給されている。燃料噴射弁４２は、開弁信号を受けることにより開弁し、その開弁時間に応じた量だけ燃料を噴射する。従って、内燃機関に対する燃料噴射量は、燃料噴射弁４２の開弁時間、つまり、燃料噴射時間TAUを変化させることにより制御することができる。
【００３３】
内燃機関には、回転数センサ４６、水温センサ４８、吸気温センサ５０、および酸素センサ５２等のセンサが組み込まれている。回転数センサ４６は、機関回転数NEに応じた出力を発するセンサである。水温センサ４８は、内燃機関の冷却水温THWに応じた出力を発するセンサである。吸気温センサ５０は、吸気通路３０の内部を流れる吸入空気の温度に応じた出力を発するセンサである。また、酸素センサ５２は、内燃機関の排気通路に配置され、触媒（図示せず）に流入する排気ガスがリーンであるか（酸素を含んでいるか）、或いはリッチであるか（酸素を含んでいないか）に応じた出力を発するセンサである。
【００３４】
本実施形態のシステムは、ECU(Electronic Control Unit)６０を備えている。ECU６０には、上述した各種のセンサおよびアクチュエータが接続されている。ECU６０は、それらのセンサの出力に基づいて種々の演算処理を行い、CCV２２やパージVSV２８、或いは、燃料噴射弁４２などの制御を実行することができる。
【００３５】
［システムの動作説明］
（基本動作）
本実施形態のシステムは、内燃機関の停止中や給油中は、CCV２２を開弁状態とし、パージVSV２８を閉弁状態とする。この状態によれば、燃料タンク１０から流出する蒸発燃料をキャニスタ２０に吸着することができる。また、このシステムは、内燃機関の運転中に、CCV２２を開いた状態でパージVSV２８を適宜デューティ駆動する。このような制御によれば、CCV２２から空気を取り込んでキャニスタ２０をパージし、パージVSV２８の駆動デューティ比に応じた流量のパージガスを内燃機関の吸気通路３０に吸入させることができる。このように、本実施形態のシステムは、燃料タンク１０から流出する蒸発燃料を大気に放出させることなく、燃料として燃焼させることにより処理することができる。
【００３６】
（パージVSVの開故障判定）
ところで、本実施形態のシステムは、パージVSV２８に開故障が生ずると、上述した基本動作を実現し得ない状態となる。このため、パージVSV２８の開故障は、その発生の後、速やかに検知できることが望ましい。そこで、本実施形態のシステムは、内燃機関の始動直後にパージVSV２８に開故障が生じていないかを診断することとしている。そして、その発生が認められる場合には、その後速やかに開故障の影響を抑制するための措置を講ずることとしている。
【００３７】
図２は、本実施形態のシステムがパージVSV２８の開故障の診断のために実行するルーチンのフローチャートである。このルーチンは、車両のIGスイッチがオンとされると同時に起動され、その後、所定時間毎に繰り返し実行されるものとする。
【００３８】
図２に示すルーチンでは、先ず、第１OBDカウンタの計数値COBD1が、ジャンプ判定値KC11に達したか否かが判別される（ステップ１００）。第１OBDカウンタは、車両のIGスイッチのオン時にイニシャル処理によりクリアされるカウンタである。従って、車両の始動直後は、本ステップ１００において、COBD1≧KC11が成立しないとの判定がなされる。
【００３９】
上記ステップ１００において、COBD1≧KC11が成立しないとの判定が下されると、次に、計数値COBD1がインクリメントされる（ステップ１０２）。次いで、その計数値COBD1が、診断判定値KC1に達したか否かが判別される（ステップ１０４）。診断判定値KC1は、パージVSV２８に開故障が生じているか否かを判断するタイミングに対応する値であり、上述したジャンプ判定値KC11に比して「１」だけ小さな値である。車両の始動直後は、本ステップ１０４において、COBD1≧KC1が成立しないとの判定がなされる。
【００４０】
上記ステップ１０４において、COBD1≧KC1が成立しないとの判定が下されると、次に、機関回転数NEが３５０rpmを超えたか否かが判別される（ステップ１０６）。ここで、３５０rpmは、内燃機関が完爆したか否かを判断するための判定値である。内燃機関のクランキング期間等、その始動が開始された直後は、NE＞３５０rpmの条件が成立しない。この場合は、次に、その時点におけるタンク内圧PTNKが基準圧P0として記憶される（ステップ１０８）。以後、その時点における冷却水温THWおよび吸気温THAが、それぞれ開始時冷却水温THWSTおよび開始時吸気温THASTとして記憶され（ステップ１１０、１１２）、今回の処理サイクルが終了される。
【００４１】
内燃機関の始動が開始された後、機関回転数NEが３５０rpmに達するまでは、図２に示すルーチンが起動される毎に、上述したステップ１００〜１１２の処理が繰り返し実行される。その結果、ECU６０は、最終的には、機関回転数NEが３５０rpmに達した時点でのタンク内圧PTNKを基準圧P0として記憶することができ、また、その時点の冷却水温THWおよび吸気温THAを、それぞれ始動時冷却水温THWSTおよび始動時吸気温THASTとして記憶することができる。
【００４２】
機関回転数NEが３５０rpmに達した後（内燃機関の完爆後）に図２に示すルーチンが起動されると、今度は、上記ステップ１０６において、NE＞３５０rpmが成立すると判断される。この場合、次に、その時点におけるタンク内圧PTNKと基準圧P0との差圧ΔP＝PTNK−P0が算出される（ステップ１１４）。この差圧ΔPは、内燃機関の完爆後にタンク内圧PTNKに有意な低下が生じない場合は０近傍の値として算出され、一方、PTNKに有意な低下が認められる場合は負の値として算出される。
【００４３】
図２に示すルーチンでは、次に、CCV２２の閉弁処理が実行される（ステップ１１６）。次いで、上記の差圧ΔPが開故障判定値KPより小さいか否かが判別される（ステップ１１８）。つまり、内燃機関の完爆後に、タンク内圧PTNKに有意な低下が生じているか否かが判別される。その結果、ΔP＜KPが成立しないと判別される場合は、吸気負圧の影響がタンク内圧PTNKに及んでいないと判断することができる。この場合は、現時点でパージVSV２８の開故障が認められないことを表すべく、開故障判定仮フラグtXVSV開に「０」がセットされる（ステップ１２０）。一方、上記ステップ１１８において、ΔP＜KPが成立すると判別される場合は、吸気負圧の影響がタンク内圧PTNKに及んでいる、つまり、パージVSV２８が開いていると判断することができる。この場合は、パージVSV２８の開故障が認められることを表すべく、開故障判定仮フラグtXVSV開に「１」がセットされる。
【００４４】
内燃機関が完爆した後、パージVSV２８に開故障が生じているか否かを判断すべきタイミングが到来するまでの間は、つまり、第１OBDカウンタの計数値COBD1が診断判定値KC1に達するまでの間は、図２に示すルーチンが起動される毎に、上述したステップ１００〜１０６およびステップ１１４〜１２２の処理が繰り返される。その結果、開故障判定仮フラグtXVSV開の最終値は、COBD1がKC1に達する直前の処理サイクルにおいて設定されることになる。
【００４５】
図２に示すルーチンが起動された後、上記ステップ１０４において、COBD1≧KC1の成立が判定された場合は、開故障の有無を判断すべき時期が到来したと判断できる。この場合、CCV２２の開弁処理が行われた後（ステップ１２４）、開始時冷却水温THWSTが、冷間判定値KTHWより低いか否かが判別される（ステップ１２６）。
【００４６】
冷間判定値KTHWは、燃料タンク１０の内部で蒸発燃料が多量に発生する可能性が有るか否かを判断するため判定値である。従って、開始時冷却水温THWSTがKTHWより低くないと判別される場合は、内燃機関の始動時に、燃料タンク１０の内部で蒸発燃料が多量に発生していた可能性があると判断できる。このような状況下では、差圧ΔPが蒸発燃料の影響を受けるため、差圧ΔPを基礎とする判定に誤りが生じ易い。そこで、図２に示すルーチンでは、上記ステップ１２６においてTHWST＜KTHWが成立しないと判別された場合は、開故障に関する最終的な判定を下すことなく今回の処理サイクルを終了することとした。このような処理によれば、温暖な状態での内燃機関の再始動時などに、パージVSV２８の開故障の有無が誤って判断されるのを防ぐことができる。
【００４７】
上記ステップ１２６において、THWST＜KTHWが成立すると判別された場合は、差圧ΔPがさほど蒸発燃料の影響を受けていないと判断することができる。この場合、以後、開故障判定仮フラグtXVSV開の値が、開故障判定フラグXVSV開の値としてセットされる（ステップ１２８）。以後、ECU６０は、XVSV開に１がセットされている場合には、パージVSV２８に開故障が生じていると判断し、一方、XVSV開に０がセットされている場合は、パージVSV２８に開故障が生じていないと判断する。
【００４８】
上述した一連の処理が終了した後、図２に示すルーチンが再び起動された際には、上記ステップ１００において、COBD１≧KC11（＝KC1＋１）が成立すると判断される。この場合、以後ステップ１０２以降の処理がジャンプされ、実質的な処理が何ら行われることなく図２に示すルーチンが終了される。本実施形態において、ECU６０は、以上の通り説明した図２に示すルーチンを実行することにより、内燃機関の始動直後に、パージVSV２８に開故障が生じているか否かを正確に判定することができる。
【００４９】
本実施形態のシステムにおいて、パージVSV２８に開故障が生ずると、パージVSV２８の開度を制御することができなくなり、内燃機関の運転中に生ずるパージガス流量QPGが制御できない状態となる。以下、パージガス流量QPGが制御できなくなることで生ずる現象と、その現象に対処すべく本実施形態のシステムが講ずる措置の内容とを順に説明する。
【００５０】
（パージVSVの開故障に伴う現象）
図３は、本実施形態においてECU６０が燃料噴射時間TAUを算出する手法を説明するためのフローチャートである。この図に示すように、ECU６０は、燃料噴射時間TAUを演算するにあたり、先ず、次式に従ってパージ補正係数FPGを算出する（ステップ１３０）。
FPG＝tFGPG×PGR                        ・・・（１）
ここで、PGRは、パージガス流量QPGと吸入空気量GAとの比「（QPG／GA）×１００」を意味するパージ率である。一方、tFGPGは、パージ率１％当たりのTAU補正割合を意味するベーパ濃度学習値FGPGのRAMであり、物理的にはパージガスの燃料濃度としての意味を有している。
【００５１】
次に、ECU６０は、次式に従って燃料噴射時間TAUを算出する（ステップ１３２）。
TAU＝TP×（FW＋FAF＋KGX＋FPG）      ・・・（２）
ここで、TPは、吸入空気量GAに対して目標空燃比を実現するための基本の燃料噴射時間である。FWは、冷間時の増量補正を実現するための水温増量係数である。FAFは、酸素センサ５２の出力に基づいて、排気空燃比が目標空燃比に近づくように増減される空燃比フィードバック係数である。また、KGXは、内燃機関の経時変化の影響等を吸収するための学習値である。学習値KGXは、吸入空気量GAの大きさにより区分される複数の運転領域のそれぞれに対応して学習される係数であり、KGに付された「X」はその運転領域を意味している。そして、（２）式に含まれるFPGは、上記ステップ１３０において算出されたパージ補正係数である。
【００５２】
パージ補正係数FPGは、（１）式を参照して説明したように、パージ率PGRとベーパ濃度学習値FGPGとにより決まる値である。そして、パージ率PGRは、上記の如く吸入空気量GAとパージガス流量QPGにより決まる値である。吸入空気量GAは、内燃機関の運転状態に応じて刻々と変化する値であり、その値はエアフロメータ３４により検知することができる。一方、パージガス流量QPGは、パージVSV２８を通過して吸気通路３０に流入するガスの流量であるから、パージVSV２８の開度と吸気管圧力PMにより決定される。吸気管圧力PMは内燃機関の運転状態に応じて刻々と変化する値であり、その値は、吸入空気量GAやスロットル開度TAなどに基づいて推定することができる。これに対して、パージVSV２８の開度は、パージVSV２８が正常である場合は、パージVSV２８の駆動デューティDPGにより決まる値である。従って、パージ率PGRは、パージVSV２８の駆動デューティDPGを制御することにより適宜制御することのできる値である。上記ステップ１３０では、そのようにして制御されたPGRに基づいて上記（１）式の演算が行われる。
【００５３】
ECU６０は、パージガスが流通している状況下では、常にベーパ濃度学習値FGPGの学習処理を行っている。上記ステップ１３０では、そのベーパ濃度学習値FGPGが上記（１）式に代入されることにより、パージ補正係数FPGが算出される。以下、ECU６０が、ベーパ濃度学習値FGPGを学習する手法について説明する。
【００５４】
ECU６０は、上記（２）式に示すように、燃料噴射時間TAUを算出するにあたり、基本の燃料噴射時間TPに空燃比フィードバック係数FAFを反映させている。空燃比フィードバック係数FAFは、排気空燃比がリッチである場合は減少側に更新され、一方、排気空燃比がリーンである場合は増加側に更新される係数である。従って、パージガスの影響がパージ補正係数FPGにより十分に吸収されていない場合は、空燃比フィードバック係数FAFがその基準の値よりリッチ側或いはリーン側にシフトする事態が生ずる。
【００５５】
ECU６０は、パージガスの流通中に、空燃比フィードバック係数FAFに有意なシフトが認められると、そのシフトをパージガスの影響によるものと捕らえ、ベーパ濃度学習値FGPGの更新を行う。具体的には、空燃比フィードバック係数FAFがリッチ側（TPを縮小する方向）に有意なシフトを示している場合は、現在のベーパ濃度学習値FGPGに対して現実のパージガス濃度がより高濃度であると判断して、その値FGPGを高濃度側に更新する。一方、空燃比フィードバック係数FAFがリーン側（TPを伸張する方向）に有意なシフトを示している場合は、現在のベーパ濃度学習値FGPGに対して現実のパージガス濃度がより低濃度であると判断して、その値FGPGを低濃度側に更新する。このような学習処理によれば、ベーパ濃度学習値FGPGを現実のパージガス濃度に整合させることができ、最終的には、パージガスの影響をパージ補正係数FPGのみで吸収することが可能である。
【００５６】
既述した通り、本実施形態のシステムは、パージガスが流通する状況下では、その流通の影響で排気空燃比がリッチ側或いはリーン側にシフトし、その結果、空燃比フィードバック係数FAFが基準の値からシフトするのを利用して、ベーパ濃度学習値FGPGの学習を進めることとしている。そして、ベーパ濃度学習値FGPGの値が現実のパージガス濃度に合致するまでの間は、空燃比フィードバック制御の機能により排気空燃比を目標空燃比の近傍に維持することとしている。
【００５７】
ところで、空燃比フィードバック係数FAFの更新は、基本的には、排気空燃比がリッチであるかリーンであるかのみに基づいて、一定のステップ幅で進められる。つまり、空燃比フィードバック係数FAFの更新速度は、現実の空燃比と目標空燃比との乖離幅によらず一定である。このため、ベーパ濃度学習値FGPGの学習は、現実の空燃比を目標空燃比から大きく乖離させずに進行させることが望ましい。そして、この要求を満たすためには、FGPGの学習が十分に進んでいない状況下では、パージガスの影響による空燃比の乖離幅を抑えるために、パージガス流量QPGを少量に制御することが必要である。そこで、本実施形態のシステムは、原則として、内燃機関の始動直後のようにベーパ濃度学習値FGPGが十分に学習されていない可能性がある状況下ではパージガス流量QPGを十分に少量に抑え、その後、FGPGの学習が進むにつれてパージガス流量QPGを増やすこととしている。
【００５８】
しかしながら、パージVSV２８に開故障が生じている場合は、パージガス流量QPGを制御することができず、内燃機関の始動直後から、パージガスが多量に流通する事態が生ずる。この場合、ベーパ濃度学習値FGPGの学習を通常の手法で進めたのでは、大きな空燃比ずれが長期に渡って継続する事態が生じ得る。そこで、本実施形態のシステムは、パージVSV２８の開故障が認められる場合は、パージガスの流通が開始された後、空燃比ずれの方向だけを確認して、その方向に応じた大きな変化をベーパ濃度学習値FGPGに与えることとした。このような処理によれば、ベーパ濃度学習値FGPGの学習速度を速めることができ、結果的に空燃比制御の精度を改善することが可能である。
【００５９】
図４は、本実施形態において、ECU６０が、ベーパ濃度学習値FGPGの学習を進めるために実行する学習制御ルーチンのフローチャートを示す。ECU６０は、このルーチンを実行することにより上述した機能を実現することができる。図４に示すルーチンでは、先ず、開故障判定フラグXVSV開に１がセットされているか否かが判別される（ステップ１４０）。その結果、XVSV開＝１が成立しないと判別された場合は、パージVSV２８に開故障が生じていないと判断することができる。この場合は、以後、通常の手法でベーパ濃度学習値FGPGの学習が進められる（ステップ１４２）。尚、ここで行われる処理は、実質的には後述するステップ１６０〜１６６の処理と実質的に同じである。
【００６０】
一方、上記ステップ１４０において、XVSV開＝１が成立すると判別された場合は、パージVSV２８に開故障が生じていると判断できる。この場合は、次に、パージカウンタの計数値CPGRが判定値KCFGより小さいか否かが判別される（ステップ１４４）。パージカウンタは、パージガスの流通期間を計数するためのカウンタである。パージVSV２８に開故障が生じている場合は、内燃機関が始動されることによりパージガスの流通が開始される。従って、この場合は、CPGRとして内燃機関の始動後の期間が計数されることになる。判定値KCFGは、パージVSV２８の開故障に起因して空燃比に有意なずれが生じたか否かを判断するための期間に対応する値である。ここでCPGRが既に判定値KCFGより小さくないと判断された場合は、以後、ステップ１４６〜１５８の処理がジャンプされ、速やかにステップ１６０以降の処理が実行される。
【００６１】
一方、CPGR＜KCFGが成立すると判別された場合は、次に、初期値設定フラグXFGPG0が０であるか否かが判別される（ステップ１４６）。XFGPG0＝０が成立しないと判別された場合は、パージVSV２８の開故障に伴う初期値がベーパ濃度学習値FGPGに既に設定されていると判断することができる。この場合は、もはやステップ１４８〜１５８の処理を行う必要が無いため、以後速やかにステップ１６０以降の処理が実行される。一方、XFGPG0＝０が成立すると判別された場合は、次に、空燃比フィードバック係数FAFが、有意リッチ判定値KFAFRより小さいか否かが判別される（ステップ１４８）。
【００６２】
有意リッチ判定値KFAFRは、空燃比のリッチ側へのシフトを認めるか否かを判断するための判定値である。本実施形態では、パージカウンタの計数値CPGRが判定値KCFGに達するまでに、空燃比フィードバック係数FAFが有意リッチ判定値KFAFRを下回る値にまで更新された場合は、燃料濃度の濃いパージガスが流通しており、ベーパ濃度学習値FGPGをリッチ側に迅速に更新する必要があると判断すべき設定が施されている。そして、上記ステップ１４８において、FAF＜KFAFRが成立しないと判別された場合は、その必要が未だ認められていないと判断することができる。この場合は、次に、空燃比フィードバック係数FAFが、有意リーン判定値KFAFLより大きいか否かが判別される（ステップ１５０）。
【００６３】
有意リーン判定値KFAFLは、空燃比のリーン側へのシフトを認めるか否かを判断するための判定値である。本実施形態では、パージカウンタの計数値CPGRが判定値KCFGに達するまでに、空燃比フィードバック係数FAFが有意リーン判定値KFAFLを上回る値にまで更新された場合は、燃料濃度の薄いパージガスが流通しており、ベーパ濃度学習値FGPGをリーン側に迅速に更新する必要があると判断すべき設定が施されている。そして、上記ステップ１５０において、FAF＞KFAFLが成立しないと判別された場合は、その必要が未だ認められていないと判断することができる。この場合は、以後速やかにステップ１６０以降の処理が実行される。
【００６４】
これに対して、上記ステップ１４８において、FAF＜KFAFRが成立すると判別された場合は、ベーパ濃度学習値FGPGをリッチ側に迅速に更新する必要があると判断され、FGPGに初期値としてリッチ側初期値KFGPGRが設定される（ステップ１５２）。また、上記ステップ１５０において、FAF＞KFAFLが成立すると判別された場合は、ベーパ濃度学習値FGPGをリーン側に迅速に更新する必要があると判断され、FGPGに初期値としてリーン側初期値KFGPGLが設定される（ステップ１５４）。
【００６５】
リッチ側初期値KFGPGRおよびリーン側初期値KFGPGLは、空燃比フィードバック係数FAFに生じていたシフト分KFAFRまたはKFAFLを吸収する値に設定されている。このため、ベーパ濃度学習値FGPGにそれらの初期値KFGPGRまたはKFGPGLを設定した際には、空燃比フィードバック係数FAFのシフト分をクリアする必要がある。そこで、図４に示すルーチンでは、上記ステップ１５２または１５４の処理に次いで、FAFを基本の値KSETに戻す処理が行われる（ステップ１５６）。これらの処理が終了すると、ベーパ濃度学習値FGPGの初期値設定が終了したことを表すべく、初期値設定フラグXFGPG0に１がセットされる（ステップ１５８）。
【００６６】
図４に示すルーチンにおいて、上記ステップ１４４の条件（CPGR＜KCFG）、上記ステップ１４６の条件（XFGPG0＝０）、或いは上記ステップ１４６の条件（FAF＞KFAFL）が成立しないと判別された場合、並びに上記ステップ１５８の処理の終了後は、通常の学習処理と同様の処理が実行される。ここでは、先ず、空燃比フィードバック係数FAFが通常リッチ判定値KF1より小さいか否かが判別される（ステップ１６０）。そして、FAF＜KF1が成立しないと判別された場合は、FAFが通常リーン判定値KF2より大きいか否かが判別される（ステップ１６２）。
【００６７】
FAF＞KF2が成立しないと判別された場合は、空燃比フィードバック係数FAFが基準値近傍に維持されていると判断できる。そして、この場合は、現在のベーパ濃度学習値FGPGが現実のパージガス濃度と整合しており、その結果、パージ補正係数FPGによる補正が適正に機能していると判断できる。ECU６０は、この場合、FGPGの更新処理を行うことなく速やかに今回の処理サイクルを終了させる。
【００６８】
これに対して、上記ステップ１６０において、FAF＜KF1の成立が認められる場合は、空燃比がリッチ側にシフトしており、ベーパ濃度学習値FGPGをリッチ側に更新する必要があると判断することができる。ECU６０は、この場合、FGPGを所定の更新幅kFAだけ減少させた後、今回の処理サイクルを終了させる（ステップ１６４）。また、上記ステップ１６２において、FAF＞KF2が成立すると判別された場合は、ベーパ濃度学習値FGPGをリーン側に更新する必要があると判断することができる。この場合、ECU６０は、FGPGを所定の更新幅kFBだけ増加させた後、今回の処理サイクルを終了させる（ステップ１６６）。
【００６９】
上述したステップ１５２または１５４で用いられるリッチ側初期値KFGPGRおよびリーン側初期値KFGPGLは、何れも、それらの設定処理が行われることにより、通常の学習処理で用いられる更新幅（kFAまたはkFBと同じ）より大きな変化をFGPGに与えることのできる値である。また、それらのリッチ側初期値KFGPGRおよびリーン側初期値KFGPGLは、何れも内燃機関の始動直後に発生する可能性の高いパージガスの濃度を想定して設定された値である。このため、上記ステップ１５２または１５４の処理によれば、通常の学習処理に比して高速で、FGPGを現実のパージガス濃度に適合する値に近づけることができる。
【００７０】
また、上述した初期値設定の処理において、上記ステップ１４８および１５０の処理、つまり、空燃比にリッチ側或いはリーン側へのシフトが生じているか否かを判断するための処理は、そのシフトの発生が通常の学習時に比して高い感度で認定されるように設定されている。具体的には、上記ステップ１４８で用いられる有意リッチ判定値KFAFRは、通常の学習処理においてリッチ側へのFAFのシフトを判断するための判定値（通常リッチ判定値KF1と同じ）に比して大きな値に設定されている。一方、上記ステップ１４８で用いられる有意リーン判定値KFAFLは、通常の学習処理においてリーン側へのFAFのシフトを判断するための判定値（通常リーン判定値KF2と同じ）に比して小さな値に設定されている。このため、図４に示すルーチンによれば、パージVSV２８の開故障に起因するパージが開始された後、空燃比に何れの方向へのシフトが生じているかを迅速に判断することができ、更に、その方向に応じた適正な初期値KFGPGRまたはKFGPGLをFGPGに迅速に設定することができる。
【００７１】
以上説明した通り、図４に示すルーチンによれば、パージVSV２８の開故障時には、通常の学習処理の場合に比して感度良く空燃比のシフトを判定して、ベーパ濃度学習値FGPGに迅速に初期値KFGPGRまたはKFGPGLを設定することができる。このため、図４に示すルーチンによれば、通常の学習処理が行われる場合に比して十分に早い速度で、FGPGを現実のパージガス濃度に適合する値に近づけることができる。FGPGが現実のパージガス濃度に適合している場合は、パージ補正係数FPGによる補正が適正に機能するため、パージガス流量QPGの多少に関わらずパージガスの影響による空燃比荒れが抑制される。従って、本実施形態のシステムによれば、パージVSV２８の開故障に起因して多量のパージガス流量QPGが発生する状況下においても高精度な空燃比制御を実現することができる。
【００７２】
尚、上述した実施の形態１においては、パージVSV２８が前記第１の発明における「パージ制御弁」に、ベーパ濃度学習値FGPGが前記第１の発明における「補正係数」に、それぞれ相当していると共に、ECU６０が、パージガスの流通している状況下で空燃比フィードバック係数FAFを更新することにより前記第１の発明における「空燃比ずれ検出手段」が、図３に示す手法で燃料噴射時間TAUを算出することにより前記第１の発明における「燃料噴射量演算手段」が、それぞれ実現されている。また、ここでは、ECU６０が、上記ステップ１６０〜１６６の処理、並びに通常の学習処理において上記ステップ１６０〜１６６の処理と同様の処理を行うことにより、前記第１の発明における「補正係数更新手段」が、上記ステップ１４０の処理を実行することにより前記第１の発明における「開故障検出手段」が、上記ステップ１４８および１５０の処理を実行することにより前記第１の発明における「ずれ状態判断手段」が、上記ステップ１５２および１５４の処理を実行することにより前記第１の発明における「初期値設定手段」が、それぞれ実現されている。また、上述した実施の形態１においては、上記ステップ１６０および１６２で用いられる条件が前記第２の発明における「第１の条件」に、また、上記ステップ１４８および１５０において用いられる条件が前記第２の発明における「第２の条件」に、それぞれ相当している。更に、実施の形態１では、ECU６０が、図２に示す処理を実行することにより前記第１８の発明における「始動時検出手段」が実現されている。
【００７３】
実施の形態２．
次に、図５を参照して本発明の実施の形態２について説明する。本実施形態の装置は、実施の形態１の装置において、ECU６０に、上記図４に示すルーチンと共に、或いはそのルーチンに代えて、後述する図５に示すルーチンを実行させることにより実現することができる。
【００７４】
内燃機関においては、アクセルペダルが解放されており、かつ、機関回転数NEが十分に高い場合などに、燃料噴射を停止するフューエルカット（F/C）が行われる。ECU６０は、キャニスタ２０をパージするにあたっては、F/Cの実行状態を見て、F/Cが行われていない場合に限りパージVSV２８のデューティ駆動を行う。従って、パージVSV２８が正常である場合は、F/Cの実行中にパージガスが流通することはなく、従って、内燃機関の筒内にパージによる燃料のみが供給されるような事態が生ずることはない。
【００７５】
ところが、パージVSV２８に開故障が生じている場合は、パージガスの流通を制御することができないため、F/C中であっても吸気通路３０にはパージガスが流入する。この場合、内燃機関に吸入される混合気は極めて燃料濃度の薄いものとなり、筒内では失火現象が生ずる。そして、筒内で正常に燃焼しなかったガスは、未燃成分を多量に含んだまま触媒に流入し、そこで燃焼に付されることにより触媒にダメージを与える。本実施形態の装置は、このようにして触媒がダメージを受けるのを防ぐため、パージVSV２８の開故障時には、F/Cの実行を制限することとした。
【００７６】
図５は、上記の機能を実現するために本実施形態においてECU６０が実行するF/C制御ルーチンのフローチャートを示す。図５に示すルーチンでは、先ず、アイドルフラグXIDLに１がセットされているか否かが判別される（ステップ１７０）。アイドルフラグXIDLは、内燃機関の運転中にアクセルペダルが解放されることにより１とされるフラグである。ここでXIDL＝１が成立しないと判別された場合は、車両の運転者によってアクセルペダルが踏み込まれていると判断できる。この場合、燃料噴射を伴う通常状態への復帰（F/C中でなければ通常状態の維持）が図られた後（ステップ１７２）、今回の処理サイクルが終了される。
【００７７】
一方、上記ステップ１７０において、XIDL＝１が成立すると判別された場合は、次に、機関回転数NEが、通常時フューエルカット回転数KNFCより高いか否かが判別される（ステップ１７４）。通常時フューエルカット回転数KNFCは、パージVSV２８が正常であることを前提として設定されたF/Cの実行判定回転数である（例えば１０００rpm）。NE＞KNFCが成立しないと判別された場合は、機関回転数NEが、F/Cの実行を要求するほど高くないと判断することができる。この場合、ECU６０は、以後ステップ１７２の処理を実行して今回の処理サイクルを終了させる。
【００７８】
これに対して、上記ステップ１７４においてNE＞KNFCが成立すると判別された場合は、次に、開故障判定フラグXVSV開に１がセットされているか否かが判別される（ステップ１７６）。XVSV開＝１が成立しないと判別された場合は、パージVSV２８に開故障は生じていないと判断できる。この場合、ECU６０は、F/Cの実行を制限する必要はないと判断し、以後速やかにステップ１８２の処理、つまり、F/Cのための処理を実行する。
【００７９】
上記ステップ１７６においてXVSV開＝１の成立が認められた場合は、次に、ベーパ濃度学習値FGPGが、所定の判定値KFGより小さいか否かが判別される（ステップ１７８）。パージガスの燃料濃度が十分に薄い場合は、パージガスが流通している状況下でF/Cが行われても触媒には何らダメージは及ばない。従って、その場合は、必ずしもF/Cの実行を制限する必要はない。FGPG＜KFGの正否は、物理的には、パージガスの濃度がF/Cの制限を要求するほど濃いか否かに対応している。このため、ECU６０は、FGPG＜KFGが成立しないと判別される場合には、以後速やかにステップ１８２の処理を実行する。
【００８０】
これに対して、FGPG＜KFGが成立すると判別された場合は、F/Cの実行を制限すべき状況が生じていると判断できる。ECU６０は、この場合、次に機関回転数NEが、異常時フューエルカット回転数KNFC1より大きいか否かを判断する（ステップ１８０）。そして、NE＞KNFC1が成立しないと判別された場合は、以後ステップ１７２の処理が実行され、F/Cの実行が禁止される。一方、一方、NE＞KNFC1の成立が認められた場合は、以後F/Cを行うべくステップ１８２の処理が実行される。
【００８１】
上記ステップ１８０において用いられる異常時フューエルカット回転数KNFC1は、通常時フューエルカット回転数KNFCより大きな値（例えば２０００rpm）である。従って、図５に示すルーチンによれば、パージVSV２８に開故障が生じており、かつ、パージガスの濃度が十分に高い場合には、パージVSV２８が正常である場合に比して、F/Cの実行領域をより高回転域に限定することができる。このため、本実施形態のシステムによれば、F/Cを行うことで無駄な燃料消費を抑える効果を維持しつつ、パージVSV２８の開故障に伴う触媒のダメージを十分に抑えることができる。
【００８２】
ところで、上述した実施の形態２においては、パージVSV２８の開故障時に、通常時に比して高いフューエルカット回転数を用いることにより、F/Cの実行を制限することとしているが、その実行を制限する手法はこれに限定されるものではない。すなわち、パージVSV２８に開故障が生じており、かつ、パージガスの濃度が十分に高いような場合には、機関回転数NEとフューエルカット回転数の高低を見ることなく、常にF/Cの実行を禁止することとしてもよい。この場合、未燃成分を含むガスの触媒への流入をより確実に防ぐことが可能となり、触媒の受けるダメージをより軽減することができる。
【００８３】
尚、上述した実施の形態２においては、パージVSV２８が前記第３の発明における「パージ制御弁」に相当していると共に、ECU６０が、上記ステップ１８２の処理を実行することにより前記第３の発明における「フューエルカット手段」が、上記ステップ１７６の処理を実行することにより前記第３の発明における「開故障検出手段」が、上記ステップ１８０の処理を実行することにより前記第３の発明における「フューエルカット制限手段」が、それぞれ実現されている。また、上述した実施の形態２においては、ECU６０が、上記ステップ１７８の処理を実行することにより前記第４の発明における「状況区別手段」が、上記ステップ１８０の処理を実行することにより前記第５の発明における「フューエルカット回転数変更手段」が、それぞれ実現されている。
【００８４】
実施の形態３．
次に、図６および図７を参照して本発明の実施の形態３について説明する。本実施形態の装置は、実施の形態１または２の装置において、ECU６０に、上記ステップ１３２の処理（図３参照）に代えて、後述する図７に示すルーチンを実行させることにより実現することができる。
【００８５】
本実施形態においても、ECU６０は、上記（２）式に従って燃料噴射時間TAU ＝TP×（FW＋FAF＋KGX＋FPG）を算出する。この式に含まれる水温増量係数FWは、冷間時の燃料を増量して、内燃機関の運転状態を安定化させるための係数である。図６は、この水温増量係数FWと、冷却水温THWとの関係の一例を示すマップである。この図に示すように、FWは、冷却水温THWの関数として設定され、内燃機関が十分に暖機された領域（例えばTHW≧７０℃の領域）ではゼロとされる。
【００８６】
ところで、パージVSV２８に開故障が生じている場合は、内燃機関の始動が開始されると同時にキャニスタ２０のパージが開始される。そして、キャニスタ２０に燃料が多量に吸着されている場合は、内燃機関の始動直後において、燃料濃度の濃いパージガスが吸気通路３０に流入する。このような状況下では、水温増量係数FWを用いた燃料の増量補正を行わなくても、筒内に吸入される混合気は十分に燃料リッチなものとなる。むしろ、FWによる燃料増量が行われると、混合気が過剰リッチとなり、エミッションの悪化等の事態が生じ得る。そこで、本実施形態では、パージVSV２８の開故障が認められる場合には、水温増量係数FWを用いた燃料の増量補正を制限することとした。
【００８７】
図７は、上記の機能を実現するために本実施形態においてECU６０が実行するTAU算出ルーチンのフローチャートを示す。尚、ECU６０は、このルーチンを実行する前提として、上記図３に示すステップ１３０の処理、つまり、パージ補正係数FPGを算出する処理を実行しているものとする。また、図７における最終ステップは、上記図３に示すステップ１３２と処理の内容が同じであるため、ここでは共通する符号１３２を付している。
【００８８】
図７に示すルーチンでは、先ず、開故障判定フラグXVSV開に１がセットされているか否かが判別される（ステップ１９０）。XVSV開＝１が成立しないと判別された場合は、パージVSV２８に開故障は生じていないと判断できる。この場合、ECU６０は、通常の手法で燃料噴射時間TAUを算出すべく、以後、ステップ１３２の処理を実行して、今回の処理サイクルを終了させる。一方、XVSV開＝１が成立すると判別された場合は、次に、冷却水温THWが判定温度KTMPより高いか否かが判別される（ステップ１９２）。
【００８９】
燃料噴射時間TAUは、冷却水温THWが極めて低温となる極低温の環境下では、パージガスの影響を考慮する実益がない程度に大きな値に算出される。このような状況下では、パージVSV２８に開故障が生じていても、水温増量係数FWを用いた燃料の増量補正を制限するべきではない。上記の判定温度KTMPは、冷却水温THWが極低温であるか否かを判断するための判定値である。従って、THW＞KTMPが成立しないと判別された場合は、内燃機関が極低温の環境に置かれており、FWを用いた燃料増量を制限すべきでないとの判断を下すことができる。ECU６０は、この場合、通常の手法で燃料噴射時間TAUを算出すべく、以後速やかにステップ１３２の処理を実行する。
【００９０】
一方、上記ステップ１９２において、THW＞KTMPが成立すると判別された場合は、必要に応じてFWによる燃料増量を制限することが妥当であると判断できる。この場合、ECU６０は、次に、リッチフラグXRに１がセットされているか否かを判断する（ステップ１９４）。その結果、XR＝１が成立しないと判別された場合は、空燃比フィードバック係数FAFが過剰リッチ判定値KF10より小さいか否かが判別される（ステップ１９６）。そして、FAF＜KF10が成立すると判別された場合は、リッチフラグXRに１がセットされる（ステップ１９８）。
【００９１】
リッチフラグXRは、上記の如く、空燃比フィードバック係数FAFが過剰リッチ判定値KF10を下回ることにより１とされるフラグである。ここで、過剰リッチ判定値KF10は、水温増量係数FWを用いた増量補正が正常に行われている場合には、FAFが到達することのない値である。従って、リッチフラグXRは、燃料リッチなパージガスが多量に流通している環境下でFWを用いた増量補正が併せて行われた場合に１となるフラグ、つまり、FWを用いた増量補正を制限することが望ましい場合にのみ１となるフラグである。
【００９２】
上記ステップ１９６において、FAF＜KF10の成立が認められない場合は、水温増量係数FWを用いた燃料の増量を制限する必要が認められないと判断できる。従って、ECU６０は、この場合、以後通常の手法で燃料噴射時間TAUを算出すべく速やかにステップ１３２の処理を実行する。これに対して、上記ステップ１９８の処理が実行された場合、および上記ステップ１９４においてXR＝１の成立が認められた場合は、FWを用いた燃料の増量を制限すべきことが判断できる。ECU６０は、この場合、ゼロを下限として水温増量係数FWを減量する処理を行う（ステップ２００）。具体的には、ここでは、冷却水温THWとの関係で算出された水温増量係数FWを所定数x（例えば２）で除することにより、或いは、そのFWから所定値KWを減ずることにより、燃料噴射時間TAUの基礎とする水温増量係数FWを算出する処理が行われる。そして、上記ステップ２００の処理が実行された場合は、そこで算出されたFWを用いてステップ１３２の処理、すなわち、TAUの算出処理が実行される。
【００９３】
以上説明した通り、図７に示すルーチンによれば、パージVSV２８の開故障時に、空燃比フィードバック係数FAFが現実にリッチ側に過剰に更新されたことを条件に、水温増量係数FWによる燃料の増量分を減量することができる。このため、本実施形態の装置によれば、パージVSV２８の開故障時に、無駄に燃料の増量補正が行われるのを防ぐことができると共に、パージガスの濃度が薄い場合には、その補正の実行を継続させて内燃機関に対して良好な冷間始動特性を付与することができる。
【００９４】
本実施形態において、ECU６０は、パージVSV２８に開故障が生じている場合は、実施の形態１の場合と同様に、図４に示すステップ１６０〜１６６の処理によりベーパ濃度学習値FGPGの学習を進める。このような手法でFGPGが学習される課程において、FWによる燃料増量補正が実行されていると、その増量補正の影響でFGPGが不適切な値に更新される事態が生ずる。これに対して、FWを用いた燃料の増量補正が制限されれば、その補正の実行中にFGPGに反映される誤差分を小さくすることができる。本実施形態の装置は、この点においても、パージVSV２８の開故障時に空燃比を精度良く制御するうえで望ましい特性を有している。
【００９５】
尚、上述した実施の形態３においては、パージVSV２８が前記第７の発明における「パージ制御弁」に相当していると共に、ECU６０が、上記ステップ１３２の処理を実行することにより前記第７の発明における「冷間増量補正手段」が、上記ステップ１９０の処理を実行することにより前記第７の発明における「開故障検出手段」が、上記ステップ２００の処理を実行することにより前記第７の発明における「補正分減量手段」が、それぞれ実現されている。また、上述した実施の形態３においては、空燃比フィードバック係数FAFが過剰リッチ判定値KF10を下回る値にまで更新されることが前記第８の発明における「過剰リッチ状態」に相当していると共に、ECU６０が、上記ステップ１９６の処理を実行することにより前記第８の発明における「過剰リッチ判定手段」が実現されている。更に、実施の形態３では、ECU６０が、図２に示す処理を実行することにより前記第１８の発明における「始動時検出手段」が実現されている。
【００９６】
実施の形態４．
次に、図８および図９を参照して本発明の実施の形態４について説明する。本実施形態の装置は、実施の形態１乃至３の何れかの装置において、ECU６０に、上記図４、図５または図７に示すルーチンと共に、或いはそれらのルーチンに代えて、後述する図８および図９に示すルーチンを実行させることにより実現することができる。
【００９７】
本実施形態の装置において、パージVSV２８に開故障が生ずると、内燃機関の運転中に吸気通路３０に流入するパージガスの流量QPGが制御できない事態が生ずる。この際、パージガスが空燃比に与える影響は、吸入空気量GAが少なく、かつ、吸気管圧力PMが大きく負圧化する（従って、パージガス流量QPGが多量となる）アイドル運転時において特に顕著となる。換言すると、パージVSV２８に開故障が生じた場合は、制御不能なパージガスが流通することに起因して、特にアイドル運転時において内燃機関の状態が不安定になり易い。
【００９８】
パージガスが空燃比に与える影響は、吸入空気量GAが多量であるほど小さなものとなる。従って、アイドル時の内燃機関の状態はアイドル空気量（以下、「ISC流量QCAL」と称す）が多量であるほど安定したものとなる。更に、ISC流量QCALは、アイドル回転数を高めることにより増やすことができる。そこで、本実施形態の装置は、パージVSV２８の開故障時には、目標のアイドル回転数を通常の目標値より高く設定して、ISC流量QCALの増量を図ることとした。
【００９９】
図８は、上記の機能を実現するためにECU６０が実行するISC流量制御ルーチンのフローチャートを示す。このルーチンでは、先ず、車速SPDが０であるか（ステップ２１０）、およびアイドルフラグXIDLに１がセットされているかが順次判別される（ステップ２１２）。どちらかの条件が成立しない場合は、アイドル運転が要求されていないと判断され、以後速やかに後述するステップ２２８の処理が実行される。一方、何れの条件も成立する場合は、次に開故障判定フラグXVSV開に１がセットされているか否かが判別される（ステップ２１４）。
【０１００】
XVSV開＝１の成立が認められない場合は、パージVSV２８に開故障が生じていないと判断できる。この場合、以後、通常の手法で機関回転数NEを目標アイドル回転数NEIに制御するための処理が行われる。具体的には、先ず、機関回転数NEが目標下限値NEI-より低いか否かが判別される（ステップ２１６）。NE＜NEI-が成立しないと判別された場合は、次に機関回転数NEが目標上限値NEI+より大きいか否かが判別される（ステップ２１８）。その結果、NE＞NEI+が成立しないと判別された場合は、機関回転数NEがアイドル回転数の目標範囲に収まっていると判断できる。この場合、ECU６０は、現在のISC流量QCALが適正量であると判断して、ISC流量学習値QGを更新することなく後述するステップ２２４へ進む。
【０１０１】
これに対して、上記ステップ２１６において、NE＜NEI-が成立すると判別された場合は、現在のISC流量QCALが過小であり、機関回転数NEが目標範囲に達していないと判断できる。ECU６０は、この場合、ISC流量学習値QGを所定値KQ1だけ増量する（ステップ２２０）。一方、上記ステップ２２２において、NE＞NEI+が成立すると判別された場合は、現在のISC流量QCALが過剰であり、機関回転数NEが目標範囲を逸脱していると判断できる。この場合、ECU６０は、ISC流量学習値QGを所定値KQ1だけ減量する（ステップ２２２）。
【０１０２】
図８に示すルーチンでは、上述した一連の処理に次いで、点火遅角量AVが０とされ（ステップ２２４）、ISC流量増量値QVが０とされた後（ステップ２２６）、次式に従ってISC流量QCALが算出される（ステップ２２８）。
QCAL＝QG＋QTWH＋QV                ・・・（３）
ISC流量増量値QVは、パージVSV２８の開故障時にISC流量QCALを増やすための補正項である。ここでは、パージVSV２８に開故障が生じていないため、QVには０が設定される。その結果、ISC流量QCALは、QG＋QTHWとして算出される。QTHWは、ISC流量の水温補正値である。ECU６０は、冷却水温THWとの関係で水温補正値QTHWを定めたマップを記憶しており、ここでは、そのマップから読み出されたQTHWを用いてISC流量QCALが算出される。以上説明した通り、図８に示すルーチンによれば、パージVSV２８の正常時には、ISC流量学習値QGを適当に増減させることにより、機関回転数NEが目標のアイドル回転数NEIとなるように、ISC流量QCALを制御することができる。
【０１０３】
図８に示すルーチンにおいて、開故障判定フラグXVSV開に１がセットされていることが認められた場合は、上記ステップ２１４の処理に次いで、パージVSV２８の開故障に対処するための処理が実行される。ここでは、先ず、ISC流量増量値QVに０がセットされているか否かが判別される（ステップ２３０）。その結果、QV＝０であることが認められた場合は、QVに初期値KQVがセットされる（ステップ２３０）。一方、QV＝０の成立が認められない場合は、ISC流量増量値QVへの初期値設定は既に行われていると判断され、上記ステップ２３０の処理がジャンプされる。
【０１０４】
図８に示すルーチンでは、次に、キャニスタパージカウンタの計数値CCANが判定値KT1より小さいか否かが判別される（ステップ２３４）。キャニスタパージカウンタは、内燃機関が始動された後、キャニスタ２０がパージされた時間の累計を計数するためのカウンタである。キャニスタ２０のパージが開始された直後は、キャニスタ２０に燃料が多量に吸着されていることがあるため、燃料濃度の濃いパージガスが流通することがある。一方、キャニスタ２０のパージ時間がある程度経過した後は、燃料の吸着量が減ることにより、パージガスの燃料濃度が低下する。上記の判定値KT1は、パージガスの燃料濃度が有意な低下を見せ始める通常の時間に対応している。このため、本ステップ２３４の処理によれば、実質的には、パージガスの燃料濃度が維持されているのか（濃いままなのか）、或いは低下し始めているのか（薄くなっているのか）を判断することができる。
【０１０５】
上記ステップ２３４において、CCAN＜KT1の成立が認められた場合、ECU６０は、パージVSV２８の開故障に起因して燃料濃度の濃いパージガスが多量に流通している可能性があると判断する。この場合、ECU６０は、アイドル回転数の一時的目標下限値tNEV-に第１設定値TNE1を設定し、更に、アイドル回転数の一時的目標上限値tNEV+に第２設定値TNE2を設定する（ステップ２３６）。第１設定値TNE1および第２設定値TNE2は、それぞれ、通常の目標下限値NEI-または目標上限値NEI+より所定値だけ大きな値である。従って、本ステップ２３６の処理によれば、パージVSV２８の開故障時におけるアイドル回転数NEIの目標範囲を、通常時の目標範囲に比して高回転側にシフトさせることができる。以下、ここで設定される目標範囲を「異常時初期目標範囲」と称す。
【０１０６】
図８に示すルーチンでは、次に、上限値KAV3を越えない範囲で、点火遅角量AVが所定値KA2だけ増量される（ステップ２３８）。点火遅角量AVは、パージVSV２８の正常時には０とされる（上記ステップ２２４参照）。これらの処理によれば、パージVSV２８の開故障時に、内燃機関の点火時期を正常時のタイミングから遅角側にシフトさせることができる。尚、点火時期の遅角に伴う効果については、後に図９を参照して説明する。
【０１０７】
図８に示すルーチン中、上記ステップ２３４において、CCAN＜KT1が成立しないと判別された場合は、パージガスの燃料濃度が低下し始めていると判断できる。この場合は、次に、アイドル回転数の一時的目標下限値tNEV-に第３設定値TNE3が設定され、更に、アイドル回転数の一時的目標上限値tNEV+に第４設定値TNE4が設定される（ステップ２４０）。第３設定値TNE3は通常の目標下限値NEI-より高く、かつ、第１設定値TNE1より低い値である。同様に、第４設定値TNE4も、通常の目標上限値NEI+より高く、かつ、第２設定値TNE21より低い値である。従って、本ステップ２４０の処理によれば、アイドル回転数NEIの目標範囲を、通常時の目標範囲と、上記ステップ２３６において設定される異常時初期目標範囲との間に設定することができる。以下、ここで設定される目標範囲を「異常時後期目標範囲」と称す。
【０１０８】
図８に示すルーチンでは、次に、下限値を０として、点火遅角量AVが所定値KA3だけ減量される（ステップ２４２）。本ステップ２４２の処理によれば、CCANがKT1に達するまでに徐々に増やされた点火遅角量AVを（上記ステップ２３８参照）、CCANがKT1に達した後に徐々に減らすことができる。
【０１０９】
上記の処理が終了すると、次に、機関回転数NEが一時的目標下限値NEV-より低いか否かが判別される（ステップ２４４）。NE＜NEV-が成立しないと判別された場合は、次に機関回転数NEが一時的目標上限値NEV+より大きいか否かが判別される（ステップ２４６）。その結果、NE＞NEVI+が成立しないと判別された場合は、機関回転数NEが、上記ステップ２３６または２４０において設定された異常時初期目標範囲、或いは異常時後期目標範囲に収まっていると判断できる（以下、それらを総称して「異常時目標範囲」と称す）。この場合、ECU６０は、現在のISC流量増量値QVが適正量であると判断して、その値QVを更新することなくステップ２２８へ進む。
【０１１０】
これに対して、上記ステップ２４４において、NE＜NEV-が成立すると判別された場合は、現在のISC流量増量値QVが過小であり、機関回転数NEが異常時目標範囲に達していないと判断できる。ECU６０は、この場合、ISC流量増量値QVを所定値KQ2だけ増量する（ステップ２４８）。一方、上記ステップ２４６において、NE＞NEV+が成立すると判別された場合は、現在のISC流量QCALが過剰であり、機関回転数NEが異常時目標範囲を越えていると判断できる。この場合、ECU６０は、ISC流量増量値QVを所定値KQ2だけ減量する（ステップ２５０）。
【０１１１】
ECU６０は、次に、ステップ２２８において、ISC流量QCAL＝QG＋QTWH＋QVを算出する。ここで、ISC流量学習値QGにはパージVSV２８の正常時に学習されていた値が代入される。また、水温補正値QTHWには、正常時と同様に、マップから得られた値が代入される。そして、ISC流量増量値QVには、上記ステップ２３０〜２５０の処理により設定された値が代入される。
【０１１２】
パージVSV２８の開故障時には、通常の目標範囲より高い回転域に属する異常時目標範囲が用いられるため、ISC流量増量値QVがゼロでない値に設定される。そして、その増量値QVは、異常時初期目標範囲が用いられるパージ初期の段階において、異常時後期目標範囲が用いられるパージ後期の段階に比して大きな値となる。このため、図８に示すルーチンによれば、パージVSV２８の開故障時には、正常時に比して多量のISC流量QCALを発生させることができ、かつ、そのISC流量QCALを、パージガス濃度の低下に併せて減量することができる。
【０１１３】
パージVSV２８の開故障時に、上記の如く多量のISC流量QCALを流通させることができると、パージガスの流通に起因する空燃比荒れを抑制することができる。また、パージの進行に併せてISC流量QCALを減量することができれば、空燃比に対するパージガスの影響が小さくなった状況下で不必要に多量のISC流量が流通するのを避けることができる。このため、本実施形態の装置によれば、パージVSV２８の開故障時に、必要最小限の範囲でISC流量を増量することで、内燃機関の運転状態を効率的に安定化させることができる。
【０１１４】
また、図８に示すルーチンによれば、パージVSV２８の開故障時には、ISC流量学習値QGを更新することなく、ISC流量増量値QVに適当な値を入れることによりISC流量QCALを増量させることができる。ISC流量増量値QVは、ステップ２２６に示すように、パージVSV２８の正常時には０とされる値である。つまり、ISC流量増量値QVは、パージVSV２８に開故障が生じた後、その修理が完了して開故障判定フラグXVSV開が０にリセットされれば、自ずと０となる値である。このため、本実施形態の装置によれば、パージVSV２８の開故障時にISC流量QCALを適正に増量しつつ、パージVSV２８の修理後に、その増量の影響が残存するのを確実に回避することができる。
【０１１５】
図８に示すルーチンでは、既述した通り、パージVSV２８の状態やキャニスタパージの累積時間などに基づいて、点火遅角量AVを変更する処理が行われている。以下、図９を参照して、このようにして点火遅角量AVを変更する理由、およびその変更により得られる効果について説明する。
【０１１６】
図９は、本実施形態においてECU６０が実行する点火時期算出ルーチンのフローチャートを示す。図９に示すように、このルーチンでは、先ず、点火時期の水温補正値ATHWが算出される（ステップ２６０）。ECU６０は、ステップ２６０の枠内に示すように、水温補正値ATHWと冷却水温THWとの関係を定めたマップを記憶している。ここでは、そのマップを参照して、冷却水温THWに対応する水温補正値ATHWが算出される。
【０１１７】
次に、アイドルフラグXIDLに１がセットされているか否かが判別される（ステップ２６２）。その結果、XIDL＝１が成立しないと判別された場合は、内燃機関がアイドル状態ではないと判断され、以後、内燃機関の運転状態に応じた点火時期を決定するための処理が進められる。具体的には、ここでは先ず、機関回転数NEおよびスロットル開度TAに応じたベース点火時期ACALの算出処理が行われる（ステップ２６４）。ステップ２６４の枠内に示すように、ECU６０は、ベース点火時期ACALを、NEとTAとの関係で定めた２軸マップを記憶している。本ステップ２６４では、そのマップを参照して、現在のNEおよびTAに対応するベース点火時期が決定される。尚、図示されたマップに描かれている３本の曲線は、何れも等ACAL曲線のイメージを表したものである。
【０１１８】
ベース点火時期ACALの算出処理が終了すると、次に、次式に従って最終点火時期AOPが算出される（ステップ２６６）。
AOP＝ACAL＋ATHW                      ・・・（４）
このような処理によれば、内燃機関の非アイドル時において、機関回転数NE、スロットル開度TA、および冷却水温THWに応じた適切な最終点火時期AOPを算出することができる。以後、ECU６０は、ここで得られる最終点火時期AOPが実現されるように、内燃機関における点火処理を実行する。
【０１１９】
図９に示すルーチンにおいて、XIDL＝１の成立が認められる場合は（上記ステップ２６２参照）、内燃機関がアイドル運転中であると判断できる。この場合、以後、アイドル時における最適な点火時期を決定するための処理が進められる。具体的には、ここでは先ず、ベース点火時期ACALを、固定値KAIDLとする処理が実行される（ステップ２６８）。
【０１２０】
次に、次式に従ってアイドル時の最終点火時期AOPが算出される（ステップ２７０）。
AOP＝ACAL＋ATHW−AV                      ・・・（５）
上記（５）式に含まれるAVは、図８に示すルーチン中で設定される点火遅角量である。既述した通り、図８に示すルーチンによれば、パージVSV２８の正常時にはAVに０が設定される（上記ステップ２２４）。そして、パージVSV２８の開故障時には、キャニスタパージの進行に合わせてAVの増量と減量とが行われる（上記ステップ２３８および２４２参照）。本実施形態において、点火時期は、上死点前のクランク角の大きさ（BTDC の値）で定義することとしている。このため、上記（５）式は、点火遅角量AVが大きいほど最終点火時期AOPが遅角側（ATDC側）に変化することを表している。
【０１２１】
本実施形態の内燃機関には、基本的には、点火遅角量AVによる点火遅角が施されるほど、アイドル時における出力トルクが低下するような設定が施されている。このため、パージVSV２８の開故障時に点火遅角量AVが増量される段階では、単位空気量に対する出力トルクが徐々に低下する現象が生ずる。本実施形態の装置は、機関回転数NEを目標範囲に納めるためのフィードバック制御を実行しているため、上記のような出力低下が生じれば、その低下分を補うべく、ISC流量QCALの増量が図られる。そして、キャニスタパージの進行に伴い、点火遅角量AVが減量される段階になると、今度は、過大な出力トルクが生じないように、ISC流量QCALの減量が図られる。
【０１２２】
このため、図８および図９に示すルーチンによれば、パージVSV２８の開故障時には、最終点火時期AOPの変更による効果としても、パージガス濃度の濃い状況下で多量のISC流量QCALを発生させることができ、また、その濃度が薄くなるに従い、ISC流量QCALを適当に減量させることができる。従って、本実施形態の装置によれば、パージVSV２８に開故障が生じている場合にも、アイドル時における内燃機関の状態を十分に安定化させることができる。
【０１２３】
ところで、上述した実施の形態４においては、アイドル運転時に機関回転数NEをフィードバック制御することが前提とされているが、そのようなフィードバック制御は必ずしも必須な事項ではない。図１０は、機関回転数NEのフィードバック制御を行わずにISC流量QCALを適当に変化させるためのフローチャートの一例である。
【０１２４】
図１０に示すルーチンでは、先ず、XIDL＝１の成立性が判定される（ステップ２８０）。その結果、XIDL＝１の成立が認められない場合は、以後速やかに今回の処理サイクルが終了される。一方、上記の条件が成立すると判別された場合は、次にXVSV開＝１の成立性が判定される（ステップ２８２）。ここでXVSV開＝１が成立していないと判別された場合は、以後、パージVSV２８が正常であることを前提として、ISC流量QCALの算出（ステップ２８４）、および最終点火時期AOPの算出が行われる（ステップ２８６）。
【０１２５】
この場合において、上記ステップ２８４では、ISC流量QCALが固定値QIDLに設定される。また、上記ステップ２８６では、最終点火時期AOPが固定値ACALに設定される。以後、ECU６０は、このようにして設定されたISC流量QCAlが実現されるように電子スロットル弁３６を制御し、また、上記の最終点火時期AOPが実現されるように点火処理を実行する。
【０１２６】
図１０に示すルーチンにおいて、XVSV開＝１の成立が認められた場合は（上記ステップ２８２参照）、次にCCAN＜KT1が成立しているか否かが判断される（ステップ２８８）。その結果、CCAN＜KT1が成立すると判別された場合は、パージガスの燃料濃度が濃い可能性があると判断できるため、以後、その状況を前提としたISC流量QCALの補正（ステップ２９０）、および最終点火時期AOPの補正（ステップ２９２）が行われる。
【０１２７】
この場合において、上記ステップ２９０では、ISC流量QCALが固定値QIDLに増量補正値KVを加えた値（QIDL＋KV）に設定される。また、上記ステップ２９２では、最終点火時期AOPが固定値ACALから点火遅角量AVを減じた値に設定される。以後、ECU６０は、このようにして設定されたISC流量QCALが実現されるように電子スロットル弁３６を制御し、また、上記の最終点火時期AOPが実現されるように点火処理を実行する。
【０１２８】
パージVSV２８に開故障が生じている状況下で十分なキャニスタパージが実行されると、上記ステップ２８８においてCCAN＜KT1の不成立が判定される事態が生ずる。図１０に示すルーチンによれば、この場合、パージVSV２８が正常である場合と同様に、以後ステップ２８４および２８６の処理が実行される。これらの処理によれば、パージガスの燃料濃度が薄くなった後に、ISC流量を通常の値に戻すことができ、ISC流量QCALが不必要に長期に渡って多大な値とされるのを防ぐことができる。
【０１２９】
以上説明したように、図１０に示すルーチンによれば、パージVSV２８の開故障時には、燃料濃度の濃いパージガスが流通する可能性のある期間に限り、ISC流量QCALを増やし、かつ、最終点火時期AOPを遅角させることができる。ISC流量QCALが増えると、空燃比に対するパージガスの影響が小さくなるため、内燃機関の運転状態が安定化する。一方、最終点火時期AOPが遅角されると、単位空気量あたりの出力トルクが低下するため、ISC流量QCALの増量に伴う回転数上昇が抑えられる。このため、図１０に示すルーチンによれば、パージVSV２８の開故障時に、アイドル回転数を大きく上昇させることなくISC流量QCALを増やすことができる。つまり、図１０に示すルーチンによれば、より簡単な処理により、図８および図９に示すルーチンが実行される場合と同様の効果を実現することができる。
【０１３０】
尚、上述した実施の形態４においては、パージVSV２８が前記第９の発明におけるパージ制御弁、電子スロットル弁３６が前記第９の発明における「アイドル空気量流通手段」に、それぞれ相当していると共に、ECU６０が、上記ステップ２１４または２８２の処理を実行することにより前記第９の発明における「開故障検出手段」が、上記ステップ２３０〜２４８の処理、或いは上記ステップ２９０および２９２の処理を実行することにより前記第９の発明における「アイドル空気量増量手段」が、それぞれ実現されている。また、上述した実施の形態４においては、ECU６０が、上記ステップ２３４の処理を実行することにより、前記第１０の発明における「燃料濃度取得手段」が実現されている。また、上述した実施の形態４においては、ECU６０が、上記ステップ２１６〜２２２および２４４〜２５０の処理を実行することにより前記第１１の発明または前記第１２の発明における「アイドル空気量を制御する手段」が、上記ステップ２３６および２４０の処理を実行することにより前記第１１の発明における「目標回転数変更手段」が、上記ステップ２３８および２４２の処理を実行することにより前記第１２の発明における「点火時期遅角手段」が、それぞれ実現されている。
【０１３１】
実施の形態５．
次に、図１１を参照して本発明の実施の形態５について説明する。本実施形態の装置は、実施の形態１乃至４の何れかの装置において、ECU６０に、上記図４、図５、図７乃至図１０に示すルーチンと共に、或いはそれらのルーチンに代えて、後述する図１１に示すルーチンを実行させることにより実現することができる。
【０１３２】
本実施形態の装置において、パージVSV２８に開故障が生じた場合は、キャニスタ２０と吸気通路３０とが常に導通状態となる。この際、キャニスタ２０の大気孔が解放されていると、多量の空気がキャニスタ２０内部を流通し、燃料濃度の高いパージガスが多量に発生する事態が生じ得る。これに対して、このような状況下でも、キャニスタ２０の大気孔を閉じれば、キャニスタ２０の内部を流通するガスの流れを遮断し、パージガスの流量を少量とすることができる。そこで、本実施形態の装置は、パージＶＳＶ２８の開故障時には、給油の実行中を除いてCCV２２を閉じてキャニスタ２０の大気孔を閉塞することとした。
【０１３３】
図１１は、上記の機能を実現すべく本実施形態においてECU６０が実行するCCV制御ルーチンのフローチャートを示す。このルーチンでは、先ず、XVSV開＝１が成立するか否かが判別される（ステップ３００）。その結果、XVSV開＝１が成立しないと判別された場合は、以後速やかに今回の処理サイクルが終了される。一方、その条件の成立が認められる場合は、パージVSV２８の開故障に対処するため、以下の処理が行われる。
【０１３４】
すなわち、この場合は、次に、パージ率PGRが所定値KPGより大きいか否かが判別される（ステップ３０２）。パージ率PGRは、パージVSV２８が全開状態ものとして算出される。つまり、パージVSV２８が全開であるものとして、吸気管圧力PMに基づいてパージガス流量QPGを推定したうえで、そのQPGと吸入空気量GAとの比をとることでパージ率PGR＝（QPG／GA）×１００が算出される。
【０１３５】
パージVSV２８に開故障が生じていても、パージ率PGRが十分に小さい場合は空燃比に大きな荒れは生じない。この場合、必ずしもパージガス流量QPGを抑制する必要はなく、むしろキャニスタ２０のパージを進めるうえでは、適量のパージガス流量QPGを発生させることが望ましい。上記ステップ３０２において用いられるKPGは、現在のパージ率PGRが、QPGの抑制を要する程度に大きなものであるか否かを判断するための判定値である。このため、PGR＞KPGの成立が認められない場合は、現時点ではパージガス流量QPGを抑制する必要がないと判断できる。図１１に示すルーチンにおいてこのような判断がなされた場合は、以後、CCV２２が開かれ（ステップ３０４）、次に、キャニスタパージ時間を計数するカウンタCCANがインクリメントされた後（ステップ３０６）、今回の処理サイクルが終了される。
【０１３６】
上記ステップ３０２において、PGR＞KPGの成立が認められた場合は、次に、CCAN＜KT1が成立するか否かが判別される（ステップ３０８）。この条件が成立しない場合は、既に十分なキャニスタパージが実行済みであり、パージガスの濃度が十分に低下していると予測することができる。パージガスの濃度が十分に低下している状況下では、パージガス流量QPGを抑制する必要はない。むしろ、燃料タンク１０が負圧化し、その影響で燃料ベーパの発生が促進されることがないように、CCV２２は開かれることが望ましい。このため、図１１に示すルーチンでは、CCAN＜KT1の不成立が判定された場合も、以後ステップ３０４および３０６の処理が実行される。
【０１３７】
上記ステップ３０８において、CCAN＜KT1が成立すると判断された場合は、パージガスの燃料濃度が高い可能性があると判断できる。この場合、次に、給油の実行状態を判断するため、タンク内圧PTNKが判定値kP4より低いか否かが判別される（ステップ３１０）。判定値kP4は、給油が行われることにより到達する圧力値である。このため、PTNK＜kP4が成立しないと判別された場合は、給油中である可能性が高いと判断することができる。図１１においてこのような判別がなされた場合、CCV２２を開いて良好な給油性を確保するため、以後上記ステップ３０４以降の処理が実行される。
【０１３８】
上記ステップ３１０において、PTNK＜kP4の成立が認められた場合は、給油が実行されていないと判断することができる。この場合、図１１に示すルーチンでは、以後、CCV２２が閉じられた後（ステップ３１２）、今回の処理サイクルが終了される。以上の処理によれば、パージVSV２８の開故障時に、燃料濃度の高いパージガスが多量に流通する可能性がある状況下では、給油が行われていないことを条件にCCV２２を閉じることができる。
【０１３９】
本実施形態のシステムにおいて、CCV２２が閉じられると、キャニスタ２０への大気孔からの空気の流入が遮断される。この場合、キャニスタ２０および燃料タンク１０の内圧（つまりタンク内圧PTNK）は、チェック弁１３または２４の開弁圧を下限として負圧化される。ここで、図１に示すシステムは、チェック弁１３がチェック弁２４に先だって開弁するように構成されているため、CCV２２が閉じられると、タンク内圧PTNKは、厳密にはチェック弁１３の開弁圧を下限として負圧化されることになる。そして、吸気通路３０に流入するパージガスは、燃料タンク１０の内部で発生した燃料ベーパのみに、或いは、その燃料ベーパと、チェック弁１３を通過して流入した空気との混合気のみに限定される。
【０１４０】
以上説明したように、本実施形態の装置によれば、パージVSV２８の開故障時に、CCV２２を閉じることによりパージガス流量QPGを十分に少量に制限することができる。また、この装置によれば、チェック弁１３からの空気の流入が許容されることから、CCV２２の閉弁時にタンク内圧PTNKが不当に低圧化するのを防ぐことができる。そして、そのような空気の流入を燃料タンク１０側に設けたチェック弁１３により許容することとしているため、この装置によれば、CCV２２の閉弁中は吸気通路３０に流入する燃料を燃料タンク１０内で発生したベーパのみに限ることができる。つまり、この装置によれば、CCV２２の閉弁中は、キャニスタ２０から蒸発燃料がパージされるのを禁止して、パージガスの燃料濃度を低く抑えることができる。このため、本実施形態の装置によれば、パージVSV２８の開故障時に伴う空燃比荒れを十分に抑制することができ、そのような状況下で内燃機関の状態が不安定になるのを有効に防ぐことができる。
【０１４１】
ところで、上述した実施の形態５においては、CCV２２の閉弁時にキャニスタ２０内の蒸発燃料がパージされるのを避けるべく、チェック弁１３をチェック弁２４に先立って開弁させることとしているが、本発明の構成はこれに限定されるものではない。すなわち、パージVSV２８の開故障時に生ずるパージガス流量QPGを少量とし、かつ、タンク内圧PTNKが不当に低くなるのを防ぐ機能は、チェック弁２４により空気の流入を許容させることによっても実現することができる。このため、CCV２２の閉弁時には、キャニスタ２０および燃料タンク１０を含む系内に、チェック弁２４から空気を流入させることとしてもよい。
【０１４２】
尚、上述した実施の形態５においては、パージVSV２８が前記第１３の発明における「パージ制御弁」に、CCV２２が前記第１３の発明における「キャニスタ開閉弁」に、それぞれ相当していると共に、ECU６０が、上記ステップ３００の処理を実行することにより前記第１３の発明における「開故障検出手段」が、上記ステップ３１２の処理を実行することにより前記第１３の発明における「大気孔閉塞手段」が、それぞれ実現されている。また、上述した実施の形態５においては、ECU６０が、上記ステップ３０８の処理を実行することにより前記第１３の発明における「状況区別手段」が実現されている。
【０１４３】
実施の形態６．
次に、図１２を参照して、本発明の実施の形態６について説明する。本実施形態の装置は、実施の形態５の装置において、ECU６０に、後述する図１２に示すルーチンを実行させることにより実現することができる。尚、図１２に示すルーチンは、図４に示すルーチンと同様に、ベーパ濃度学習値FGPGの学習を進めるためのルーチンである。既述した実施の形態５の装置においては、ECU６０に図４に示すルーチンを実行させるか否かは選択事項であるが、本実施形態では、図１２に示すルーチンが実行されることから、ECU６０は、図４に示すルーチンは実行しないものとする。また、本実施形態において、ECU６０は、実施の形態１の装置と同様に、図３に示す手法でパージ補正係数FPGおよび燃料噴射時間TAUを算出するものとする。
【０１４４】
本実施形態の装置は、既述した実施の形態５の装置と同様に、パージVSV２８の開故障時に、必要に応じてCCV２２を閉じる機能を有している。この装置においてCCV２２が閉じられると、キャニスタ２０への空気の流入が遮断されるため、吸気通路３０に吸入されるパージガスは、燃料タンク１０の内部で発生したベーパのみ、或いは、そのベーパとチェック弁１３から流入した空気の混合気のみとなる。尚、既述した実施の形態５では、チェック弁２４から空気が流入する構成も採用し得るが、本実施形態では、空気の流入を許容する機構は必ずチェック弁１３であるものとする。
【０１４５】
キャニスタ２０を通過したパージガスの燃料濃度は、キャニスタ２０における燃料の吸着状態に左右される。この場合、パージガスの燃料濃度を固定化して取り扱うことはできない。これに対して、パージガスの内訳が燃料タンク１０の内部で発生するベーパと、チェック弁１３から取り込まれる空気のみに限られている場合は、その燃料濃度をある程度固定化して取り扱うことが可能である。
【０１４６】
既述した実施の形態１においては、パージVSV２８の開故障に伴うパージガスが燃料リッチとも燃料リーンともなり得ることから、パージVSV２８の開故障が検知された後に、空燃比フィードバック係数FAFの動向を見て、ベーパ濃度学趣致FGPGにリッチ側初期値KFGPGRまたはリーン側初期値KFGPGLを設定することとしている（図４中上記ステップ１４８〜１５４参照）。これに対して、本実施形態の装置では、CCV２２が閉じられていれば、FAFの動向を見るまでもなく、パージガスの空燃比を固定化されたものとして取り扱うことが可能である。このため、本実施形態では、パージVSV２８の開故障が検知されることによりCCV２２が閉じられ場合には、その後、即座にベーパ濃度学習値FGPGの初期値設定を行うこととした。
【０１４７】
図１２は、上記の機能を実現するためにECU６０が実行する学習制御ルーチンのフローチャートを示す。尚、図１２において、上記図４に示すステップと同様のステップについては、同一の符号を付してその説明を省略または簡略する。このルーチンでは、ステップ１４０においてXVSV開＝１の成立が認められた場合、次に、CCV２２が閉じられているか否かが判別される（ステップ３２０）。
【０１４８】
CCV２２は、パージVSV２８の開故障時であっても、パージ率PGRが小さい場合、キャニスタパージが十分に行われている場合、或いは給油中である可能性が高い場合などには開弁状態とされる（図１１参照）。このような状況下では、ベーパ濃度学習値FGPGに初期値を設定すべき状態が形成されていないと判断され、以後ステップ１６０以降の処理が実行される。一方、上記ステップ３２０において、CCV２２の閉弁が認められる場合は、次に、初期値設定フラグXFGPG1が０であるか否かが判別される（ステップ３２２）。
【０１４９】
その結果、XFGPG1＝０が成立しないと判別された場合は、ベーパ濃度学習値FGPGに既に初期値が設定されていると判断することができる。この場合は、初期値を設定するための処理がジャンプされ、以後ステップ１６０以降の処理が実行される。一方、XFGPG1＝０が成立すると判別された場合は、空燃比フィードバックFAFの動向を確認することなく、即座にベーパ濃度学習値FGPGに初期値KFGPGTが設定され（ステップ３２４）、次いでその設定が終了したことを表すべく初期値設定フラグXFGPG1に１がセットされる（ステップ３２６）。これらの処理が終了すると、以後、ベーパ濃度学習値FGPGの学習を進めるべく、ステップ１６０以降の処理が実行される。
【０１５０】
上記ステップ３２４で設定される初期値KFGPGTは、既述した通り、パージガスの内訳が、燃料タンク１０内で発生するベーパと、チェック弁１３から吸入される空気のみであることを前提とした値である。このように、図１２に示すルーチンによれば、パージVSV２８の開故障が検知された後に、CCV２２が閉じていることを条件に、ベーパ濃度学習値FGPGに即座に初期値KFGPGTを設定することができる。このため、本実施形態の装置によれば、パージVSV２８の開故障が検知された後に、実施の形態１の装置に比して更に短期間で、ベーパ濃度学習値FGPGを現実のパージガス濃度に合致する値に収束させることができる。
【０１５１】
尚、上述した実施の形態６においては、ベーパ濃度学習値FGPGが前記第１６の発明における「補正係数」に相当していると共に、ECU６０が、パージガスの流通している状況下で空燃比フィードバック係数FAFを更新することにより前記第１６の発明における「空燃比ずれ検出手段」が、図３に示す手法で燃料噴射時間TAUを算出することにより前記第１６の発明における「燃料噴射量演算手段」が、それぞれ実現されている。また、ここでは、ECU６０が、図１２に示すステップ１６０〜１６６の処理、並びに通常の学習処理において上記ステップ１６０〜１６６の処理と同様の処理を行うことにより、前記第１６の発明における「補正係数更新手段」が、上記ステップ３２４の処理を実行することにより前記第１６の発明における「初期値設定手段」が、それぞれ実現されている。
【０１５２】
実施の形態７．
次に、図１３および図１４を参照して本発明の実施の形態７について説明する。本実施形態の装置は、実施の形態６の装置において、ECU６０に、後述する図１４に示すルーチンを実行させることにより実現することができる。本実施形態の装置は、実施の形態６の装置と同様に、パージVSV２８の開故障時に、必要に応じてCCV２２を閉じる機能を有している。この装置においてCCV２２が閉じられると、キャニスタ２０への空気の流入が遮断されるため、吸気通路３０に吸入されるパージガスは、燃料タンク１０の内部で発生したベーパのみ、或いは、そのベーパとチェック弁１３から流入した空気の混合気のみとなる。
【０１５３】
図１３は、CCV２２が閉じられた状態で生ずるパージガスの流量QPG（縦軸）と吸気管圧力PMとの関係、並びにパージガスの流量QPGとそのガスの内訳との関係を示す。図１３に示すように、パージガス流量QPGは、吸気管圧力PMの関数であり、PMが高圧になる（大気圧に近づく）に連れて少量となる。図１３中に符号KQTを付して示す直線は、燃料タンク１０の内部で発生するベーパ（以下、「タンクベーパ」と称す）の量を表している。この図に示すように、タンクベーパの発生量KQTは、吸気管圧力PMに関わらずほぼ一定である。このため、パージガスは、QPGがKQTより少量である場合はほぼ１００％タンクベーパとなり、QPGがKQTを越える場合には、タンクベーパに、その差分（QPG−KQT）だけ空気が混じったものとなる。
【０１５４】
ECU６０は、パージガスの流通する状況下では、パージ補正係数FPGを用いて燃料噴射時間TAUを補正する（図３参照）。そして、そのパージ補正係数FPG（＝PGR×tFGPG）を求める前提として、ベーパ濃度学習値FGPGの学習を行っている。パージガスがキャニスタ２０から流出したものである場合は、キャニスタ２０の状態に応じてパージガスの燃料濃度が変化することはあるものの、パージガス流量QPGの多少によってその濃度が大きく変化することはない。このため、このような状況下では、QPGの多少を考慮することなくベーパ濃度学習値FGPGの学習を進めることができ、また、そのような手法で学習されたFGPGが現実のパージガス濃度から突然乖離するような事態は生じない。
【０１５５】
これに対して、CCV２２が閉じられている状況下では、パージガス流量QPGが増減することによりパージガスの燃料濃度に大きな変化が生じ得る。つまり、このような状況下では、QPGがタンクベーパ発生量KQTより少ない場合には、パージガスの燃料濃度が常にタンクベーパの燃料濃度（仮にαとする）となる一方、QPGがKQTを越える場合には、パージガスの燃料濃度がα×KQT／QPGで表される値、つまり、QPGの関数値となる。
【０１５６】
パージガスの燃料濃度がQPGの関数値となる状況下では、その濃度の変化に追従するような応答性でベーパ濃度学習値FGPGを学習することはできない。このため、本実施形態の装置においてCCV２２が閉じられている場合は、通常の手法でパージ補正係数FPGを算出したのでは、パージガスの影響を精度良く排除することができない。そこで、本実施形態では、CCV２２が閉じられた状態でパージが行われている場合は、QPGがタンクベーパ発生量KQTを越えているか否かに応じてパージ補正係数FPGの算出手法を切り替えることとした。より具体的には、QPGがKQTより少ない状況下では、パージガスの濃度が急変しないことを前提として通常の手法でFPGを算出し、一方、QPGがKQTを越える状況下では、FGPGにパージガス中の燃料割合KQT／QPGを掛け合わせることによりtFGPG＝FGPG×KQT／QPGを求め、そのtFGPGを用いてパージ補正係数FPGを算出することとした。
【０１５７】
図１４は、上記の機能を実現するために本実施形態においてECU６０が実行するA/F補正制御ルーチンのフローチャートである。図１４に示すルーチンでは、先ず、XVSV開＝１が成立しているか否かが判別される（ステップ１７０）。XVSV開＝１の成立が認められない場合は、パージVSV２８の開故障に対処するための処理が不要であると判断できる。この場合、パージ補正係数FPGの基礎となるRAM値tFGPGには、他のルーチン（図１２参照）において学習されたベーパ濃度学習値FGPGがそのまま代入され（ステップ１７２）、次いで、そのRAM値tFGPGを用いてパージ補正係数FPG（＝PGR×tFGPG）が算出される（ステップ１７４）。
【０１５８】
上記ステップ１７０において、XVSV開＝１の成立が認められた場合は、次に、CCV２２が閉じられているか否かが判別される（ステップ１７６）。その結果、CCV２２の閉弁が認められない場合は、キャニスタ２０からのパージガスの流出が阻止されておらず、パージガスの濃度にQPGに応じた急変は生じないと判断できる。この場合、通常の手法でFPGを算出すれば足りるため、以後ステップ１７２以降の処理が行われる。
【０１５９】
上記ステップ１７６においてCCV２２の閉弁が認められた場合は、パージガス流量QPGに応じてパージガスの燃料濃度が急変する可能性があると判断できる。この場合、図１４に示すルーチンでは、先ず、タンクベーパ発生量KQTよりパージガス流量QPGが少ないか否かが判別される（ステップ１７８）。その結果、KQT＞QPGが成立するとの判断が得られた場合は、パージガスの内訳がほぼ１００％タンクベーパであり、その濃度がQPGに応じて大きく変化することがないと判断できる。そして、この場合は、通常の手法でFPGを算出すれば足りると判断され、以後ステップ１７２以降の処理が行われる。
【０１６０】
一方、上記ステップ１７８において、KQT＞QPGが成立しないと判断された場合は、パージガスの燃料濃度がQPGの関数値であることが認識される。そして、この場合は、現実のパージガス濃度に適合したRAM値tFGPGを算出するべくtFGPG＝FGPG×KQT／QPGなる演算が行われ（ステップ１８０）、その結果得られたRAM値tFGPGに基づいてパージ補正係数FPGが算出される（ステップ１７４）。尚、FPGがこのようにして算出される場合も、FGPGは、結局は、KQT＞QPGが成立する場合と同様に、タンクベーパのみで構成されたパージガスの濃度に適合するように更新されることになる（FPGの過不足がFAFにフィードバックされ、FAFの動向がFGPGに反映されるため）。
【０１６１】
以上説明した通り、図１２に示すルーチンによれば、パージガスの燃料濃度がパージガス流量QPGに影響されない状況下では通常の手法でFPGを算出し、その一方、パージガスの燃料濃度がQPGの関数値となる状況下では、ベーパ濃度学習値FGPGに急激な変化を要求せずに、RAM値tFGPGのみをその変化に追従させることにより、適正なパージ補正係数FPGを算出することができる。このため、本実施形態の装置によれば、CCV２２が閉じられることにより、パージガスの燃料濃度が頻繁に変化する状況が形成されても、その変化に影響されることなく、常に高精度な空燃比制御を継続することができる。
【０１６２】
尚、上述した実施の形態７においては、ECU６０が、図３に示す手法で燃料噴射時間TAUを算出することにより前記第１７の発明における「燃料噴射量演算手段」が、図１２に示すステップ１６０〜１６６の処理、並びに通常の学習処理において上記ステップ１６０〜１６６の処理と同様の処理を行うことにより、前記第１７の発明における「補正係数算出手段」が、上記ステップ１７８の前提としてQPGを算出することにより前記第１７の発明における「パージガス流量検出手段」が、上記ステップ１７８の処理を実行することにより前記第１７の発明における「ガス流量判断手段」が、上記ステップ１７２の処理を実行することにより前記第１７の発明における「第１の濃度設定手段」が、上記ステップ１８０の処理を実行することにより前記第１７の発明における「第２の濃度設定手段」が、それぞれ実現されている。更に、上述した実施の形態７では、ECU６０が、図２に示す処理を実行することにより前記第１８の発明における「始動時検出手段」が実現されている。
【０１６３】
【発明の効果】
この発明は以上説明したように構成されているので、以下に示すような効果を奏する。
第１の発明によれば、パージ制御弁の開故障が検出された際に空燃比のずれの有無とそのずれの方向とが判断される。その結果、空燃比のずれが認められた場合は、パージガスの影響を相殺するための補正係数にリッチ側初期値或いはリーン側初期値を与えることができる。これらの初期値は、通常用いられる更新幅に比して補正係数に大きな変化を与えるものである。このため、本発明によれば、パージ制御弁の開故障時に、上記の補正係数を迅速に適正値に収束させることが可能であり、その結果、優れた空燃比制御を実現することが可能である。
【０１６４】
第２の発明によれば、パージ制御弁の開故障時には、高い感度で空燃比ずれの発生を認識して補正係数に初期値を入れることができる。このため、本発明によれば、開故障の検出後、速やかに補正係数を適正値に向けて大きく変化させることができる。一方、本発明によれば、通常の更新時には、低い感度で空燃比ずれの発生を認識することができる。このため、本発明によれば、空燃比に僅かな振れを受けて補正係数が不適切に更新されるのを避けることができる。
【０１６５】
第３の発明によれば、パージ制御弁の開故障時には、フューエルカットの実行を制限することができる。このため、本発明によれば、内燃機関の吸気通路にパージガスが流通している状況下でフューエルカットが実行される事態、つまり、燃料成分を含むパージガスが筒内で燃焼に付されることなく触媒に流入するような事態の発生を抑制することができ、有効に触媒を保護することができる。
【０１６６】
第４の発明によれば、パージガスの燃料濃度が濃い状況下に限ってフューエルカットの実行を制限することができる。パージガスの燃料濃度が薄い場合には、フューエルカットの実行を制限する必要がない。本発明によれば、そのような状況下で不必要にフューエルカットの実行が制限されるのを避けることができる。
【０１６７】
第５の発明によれば、パージ制御弁の開故障時には、フューエルカット回転数を高い値にすることにより、フューエルカットの実行を制限することができる。このような手法によれば、触媒の保護を図りながら、フューエルカットによる燃費改善効果を享受することができる。
【０１６８】
第６の発明によれば、パージ制御弁の開故障時には、フューエルカットの実行を禁止して、未燃成分を含むガスが触媒に流入するのを完全に阻止することができる。このため、本発明によれば、パージ制御弁の開故障時に、優れた触媒保護機能を実現することができる。
【０１６９】
第７の発明によれば、パージ制御弁の開故障に起因してベーパが多量に流通している状況下で、併せて冷間増量補正が行われることにより、空燃比が過剰リッチになるのを避けることができる。
【０１７０】
第８の発明によれば、冷間増量補正の実行に伴って現実に空燃比が過剰リッチになっている場合に限ってその増量分を減量することができる。このため、本発明によれば、不必要に増量補正分が減量されるのを避けることができる。
【０１７１】
第９の発明によれば、パージ制御弁の開故障が認められる場合に、アイドル空気量を増やすことができる。アイドル空気量が増えると、アイドル時における空燃比に対するパージガスの影響を小さくすることができる。このため、本発明によれば、パージ制御弁に開故障が生じた場合に、安定したアイドル運転状態を実現することができる。
【０１７２】
第１０の発明によれば、パージガスの燃料濃度が濃いほどアイドル空気量を多量にすることができる。アイドル時における空燃比は、パージガスの燃料濃度が高いほどリッチ化し易い。本発明によれば、その燃料濃度に応じてアイドル空気量を適量に設定することができるため、不必要にアイドル空気量を増やすことなく、安定したアイドル運転状態を実現することができる。
【０１７３】
第１１の発明によれば、パージ制御弁の開故障時に、達成すべき目標アイドル回転数を高めることにより、アイドル空気量を増量させることができる。
【０１７４】
第１２の発明によれば、パージ制御弁の開故障時に、点火時期を遅角して単位空気量当たりの出力トルクを低下させることにより、アイドル空気量を増量させることができる。
【０１７５】
第１３の発明によれば、パージ制御弁の開故障時に、キャニスタ開閉弁を閉じることにより、キャニスタへの大気の流入を制限することができる。キャニスタへの大気の流入が制限されると、キャニスタに吸着されている蒸発燃料のパージが抑制されると共に、吸気通路に流入するパージガス流量を少量とすることができる。このため、本発明によれば、パージ制御弁の開故障時に、パージガスの影響を十分に抑制して、優れた空燃比制御を実現することができる。
【０１７６】
また、この発明によれば、パージガスの燃料濃度が濃い場合に限ってキャニスタ開閉弁を閉じることができる。キャニスタ開閉弁が閉じられると、キャニスタへの大気の流入が阻止されるため、燃料タンク内のガスが吸気通路に吸入され易くなる。キャニスタから流出するパージガスの燃料濃度が低いときは、燃料タンク内のガスが吸気通路に吸入されるより、濃度の薄いパージガスがキャニスタから吸気通路に流通する方が望ましい。本発明によれば、このような要求を満たすことが可能であり、パージガスの燃料濃度に応じた最適な状態を実現することができる。
【０１７７】
第１４の発明によれば、チェック弁の機能により、燃料タンクおよびキャニスタを含む系内への大気の流入を許容することができるため、キャニスタ開閉弁が閉じられていても、その系内が不当に大きく負圧化するのを避けることができる。このため、本発明によれば、キャニスタ開閉弁を閉じることによりパージガス流量を抑制しつつ、燃料タンクやキャニスタに過剰な圧力応力が加わるのを確実に防ぐことができる。
【０１７８】
第１５の発明によれば、チェック弁が燃料タンクに設けられているため、キャニスタ開閉弁の閉弁時に、系内に大きな負圧が生じた場合は、燃料タンク側から大気を吸い込ませることができる。この場合、吸気通路には、主として、キャニスタから流出するパージガスではなく、燃料タンクから流出したパージガスが流入する。キャニスタから流出するパージガスは、キャニスタに多量に燃料が吸着されている場合には高濃度となることがある。一方、燃料タンクから流出するガスは、燃料タンクの内部で発生したベーパを大気で希釈したものとなる。本発明によれば、吸気通路に流入するガスを後者のガスとすることができるため、不当に燃料濃度の高いパージガスが吸気通路に流入する事態の発生を避けることができる。
【０１７９】
第１６の発明によれば、パージ制御弁の開故障に伴ってキャニスタ開閉弁が閉じられた状況下では、パージガスの影響を排除するための補正係数に、速やかに初期値を設定することができる。上記の状況下では、燃料タンクから流出するガスがパージガスとして吸気通路に吸入される。このようなパージガスの燃料濃度はある程度固定化して取り扱うことができる。本発明では、その燃料濃度に対応する初期値が上記の補正係数に設定される。このため、本発明によれば、パージ制御弁の開故障が認められた後に、極めて迅速に補正係数を適正値に収束させることができ、その結果、優れた空燃比制御を実現することができる。
【０１８０】
第１７の発明によれば、キャニスタ開閉弁が閉じられることにより、吸気通路に流入するパージガスが燃料タンクから流出したガスに限られている状況下では、そのガスがタンク内のベーパのみを含むものであるか、或いは、ベーパと大気の混合気であるかに応じて、パージガスの燃料濃度を適切に設定することができる。そして、本発明によれば、そのようにして設定された適切な燃料濃度に基づいて燃料噴射量が算出されるため、高精度な空燃比制御を実現することができる。
【０１８１】
第１８の発明によれば、内燃機関の始動直後にパージ制御弁の開故障を検出することができるため、初期値の設定や、冷間増量補正の減量補正を、開故障に起因する不当なパージの開始直後において実行することができる。このため、本発明によれば、開故障に伴う異常状態が発生した直後から、その異常に対処して、高い精度での空燃比制御を実現することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１の構成を説明するための図である。
【図２】  本発明の実施の形態１において、パージVSVに開故障が生じているか否かを判断すべく実行される処理の内容を説明するためのフローチャートである。
【図３】  本発明の実施の形態１で用いられる燃料噴射時間の演算手法を説明するためのフローチャートである。
【図４】  本発明の実施の形態１において実行される学習制御ルーチンのフローチャートである。
【図５】  本発明の実施の形態２において実行されるF/C制御ルーチンのフローチャートである。
【図６】  本発明の実施の形態３において用いられる水温増量係数FWのマップである。
【図７】  本発明の実施の形態３において実行されるTAU算出ルーチンのフローチャートである。
【図８】  本発明の実施の形態４において実行されるISC流量制御ルーチンのフローチャートである。
【図９】  本発明の実施の形態４において実行される点火時期算出ルーチンのフローチャートである。
【図１０】  本発明の実施の形態４の変形例において実行されるISC流量制御ルーチンフローチャートである。
【図１１】  本発明の実施の形態５において実行されるCCV制御ルーチンフローチャートである。
【図１２】  本発明の実施の形態６において実行される学習制御ルーチンのフローチャートである。
【図１３】  本発明の実施の形態７においてCCVが閉じられた状態で生ずるパージガスの流量QPG（縦軸）と吸気管圧力PMとの関係、並びにパージガスの流量QPGとそのガスの内訳との関係を示す図である。
【図１４】  本発明の実施の形態７において実行されるA/F補正制御ルーチンのフローチャートである。
【符号の説明】
１０  燃料タンク
２０  キャニスタ
２２  CCV(Canister Closed Valve)
２８  パージVSV(Vacuum Switching Valve)
３０  吸気通路
６０  ECU(Electronic Control Unit)
XVSV開  開故障判定フラグ
FPG  パージ補正係数
PGR  パージ率
FGPG  ベーパ濃度学習値
tFGPG  FGPGのRAM値
TAU  燃料噴射時間
FW  水温増量係数
FAF  空燃比フィードバック係数
KFGPGR  リッチ側初期値
KFGPGL  リーン側初期値
tNEV-  アイドル回転数の一時的目標下限値
tNEV+  アイドル回転数の一時的目標上限値
AV  点火遅角量
KFGPGT  初期値
KQT  タンクベーパ発生量
【図１】
0004161819.tif 000002
【図２】
0004161819.tif 000003
【図３】
0004161819.tif 000004
【図４】
0004161819.tif 000005
【図５】
0004161819.tif 000006
【図６】
0004161819.tif 000007
【図７】
0004161819.tif 000008
【図８】
0004161819.tif 000009
【図９】
0004161819.tif 000010
【図１０】
0004161819.tif 000011
【図１１】
0004161819.tif 000012
【図１２】
0004161819.tif 000013
【図１３】
0004161819.tif 000014
【図１４】
0004161819.tif 000015