(57)【要約】【課題】本発明はキャニスタを備える蒸発燃料処理装置に関し、パージ制御弁に開故障が生じた場合に、内燃機関の状況に応じた適切な処理を行って高精度な空燃比制御を実現することを目的とする。【解決手段】パージＶＳＶの開故障が認められたら（ステップ１４０）、空燃比フィードバック係数ＦＡＦに有意なシフトが生じているか否かを判断する（ステップ１４８，１５０）。ＦＡＦがリッチ側にシフトしていたらベーパ濃度学習値ＦＧＰＧにリッチ側初期値ＦＧＰＧＲをセットする（ステップ１５２）。ＦＡＦがリーン側にシフトしていたらＦＧＰＧにリーン側初期値ＦＧＰＧＬをセットする（ステップ１５４）。ＫＦＧＰＧＲおよびＫＦＧＰＧＬは、ベーパ濃度学習値ＦＧＰＧに、通常の更新幅ｋＦＡ、ｋＦＢ（ステップ１６４，１６６）に比して大きな変化を与えるものとする。【選択図】        図４
2005016484.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
前記吸気通路にパージガスが供給されている状況化で空燃比のずれを検出する空燃比ずれ検出手段と、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記空燃比のずれが縮小するように前記補正係数を更新する補正係数更新手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障が検出された際に空燃比のずれの有無とそのずれの方向を判断するずれ状態判断手段と、
前記ずれ状態判断手段により空燃比のずれが認められた場合に、そのずれの方向に応じて、前記補正係数にリッチ側初期値或いはリーン側初期値を与える初期値設定手段とを備え、
前記補正係数の基準値と前記リッチ側初期値との差、および当該基準値と前記リーン側初期値との差は、何れも前記補正係数更新手段による前記補正係数の更新幅に比して大きいことを特徴とする蒸発燃料処理装置。
【請求項２】
前記補正係数更新手段は、前記空燃比に第１の条件を満たすずれが認められた場合に、前記空燃比にずれが生じていると判断して、そのずれを縮小すべく前記補正係数を更新し、
前記ずれ状態判断手段は、前記空燃比に第２の条件を満たすずれが認められた場合に、前記空燃比にずれが生じていると判断し、
前記第２の条件は、前記第１の条件に比して、高い感度で成立する条件であることを特徴とする請求項１記載の蒸発燃料処理装置。
【請求項３】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
所定のフューエルカット条件の成立下で、内燃機関に対する燃料噴射を停止するフューエルカットを実行するフューエルカット手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合には前記フューエルカットの実行を制限するフューエルカット制限手段と、
を備えることを特徴とする蒸発燃料処理装置。
【請求項４】
パージガスの燃料濃度が濃い状況と薄い状況とを区別する状況区別手段を備え、
前記フューエルカット制限手段は、前記パージ制御弁の開故障に伴って流通するパージガスの燃料濃度が濃い状況下でのみ前記フューエルカットの実行を制限することを特徴とする請求項３記載の蒸発燃焼処理装置。
【請求項５】
前記フューエルカット条件は、機関回転数が所定のフューエルカット回転数より高いとの条件を含み、
前記フューエルカット制限手段は、前記開故障の発生が認められる場合に、前記フューエルカット回転数を通常値に比して高い値に変更するフューエルカット回転数変更手段を含むことを特徴とする請求項３または４記載の蒸発燃料処理装置。
【請求項６】
前記制限とは禁止であることを特徴とする請求項３または４記載の蒸発燃料処理装置。
【請求項７】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関の冷間時に燃料噴射量に冷間増量補正を施す冷間増量補正手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障が検出された際に前記冷間増量補正による増量分を減量する補正分減量手段と、
を備えることを特徴とする蒸発燃料処理装置。
【請求項８】
空燃比が所定の過剰リッチ状態になっているか否かを判断する過剰リッチ判定手段を備え、
前記補正分減量手段は、前記パージ制御弁の開故障が認められ、かつ、前記過剰リッチ状態の発生が認められる場合にのみ前記冷間増量補正による増量分を減量することを特徴とする請求項７記載の蒸発燃焼処理装置。
【請求項９】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関のアイドリング時に、所望のアイドル空気量を流通させるアイドル空気量流通手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合に、前記アイドル空気量を増量させるためのアイドル空気量増量手段と、
を備えることを特徴とする蒸発燃料処理装置。
【請求項１０】
パージガスの燃料濃度を検出または推定する燃料濃度取得手段を備え、
前記アイドル空気量増量手段は、前記パージガスの燃料濃度が濃いほど前記アイドル空気量を多量に増量させることを特徴とする請求項９記載の蒸発燃焼処理装置。
【請求項１１】
前記アイドル空気量流通手段は、アイドル回転数が目標アイドル回転数となるように前記アイドル空気量を制御する手段を含み、
前記アイドル空気量増量手段は、前記開故障の発生が認められる場合に、前記目標アイドル回転数を通常の回転数より高い回転数に変更する目標回転数変更手段を含むことを特徴とする請求項９または１０記載の蒸発燃料処理装置。
【請求項１２】
前記アイドル空気量流通手段は、アイドル回転数が目標アイドル回転数となるように前記アイドル空気量を制御する手段を含み、
前記アイドル空気量増量手段は、前記開故障の発生が認められる場合に、内燃機関の点火時期を通常の点火時期に対して遅角する点火時期遅角手段を含むことを特徴とする請求項９乃至１１の何れか１項記載の蒸発燃料処理装置。
【請求項１３】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタは、前記燃料タンクに通じるベーパ孔と、内燃機関の吸気通路に通じるパージ孔と、当該キャニスタの内部空間を挟んで前記ベーパ孔および前記パージ孔とは反対側に位置する大気孔とを備え、
前記パージ孔と前記吸気通路との導通状態を制御するパージ制御弁と、
前記大気孔を開閉するキャニスタ開閉弁と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合に前記キャニスタ開閉弁を閉弁状態とする大気孔閉塞手段と、
を備えることを特徴とする蒸発燃料処理装置。
【請求項１４】
パージガスの燃料濃度が濃い状況と薄い状況とを区別する状況区別手段を備え、
前記大気孔閉塞手段は、前記パージ制御弁の開故障に伴って流通するパージガスの燃料濃度が濃い状況下において、前記キャニスタ開閉弁を閉弁状態とすることを特徴とする請求項１３記載の蒸発燃焼処理装置。
【請求項１５】
前記燃料タンクおよび前記キャニスタを含む系内の圧力が所定の負圧に達することで開弁し、当該系内に大気を流入させるチェック弁を備えることを特徴とする請求項１３または１４記載の蒸発燃料処理装置。
【請求項１６】
前記チェック弁は、前記燃料タンクに設けられていることを特徴とする請求項１５記載の蒸発燃料処理装置。
【請求項１７】
前記吸気通路にパージガスが供給されている状況化で空燃比のずれを検出する空燃比ずれ検出手段と、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記空燃比のずれが縮小するように前記補正係数を更新する補正係数更新手段と、
前記開故障が検出されることにより前記キャニスタ開閉弁が閉弁状態とされた際に、前記補正係数に初期値を与える初期値設定手段とを備え、
前記補正係数の基準値と前記初期値との差は、前記補正係数更新手段による前記補正係数の更新幅に比して大きいことを特徴とする請求項１６記載の蒸発燃料処理装置。
【請求項１８】
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記補正係数を、パージガスの燃料濃度に基づいて算出する補正係数算出手段と、
パージガス流量を検出するパージガス流量検出手段と、
前記開故障の発生が認められる場合に、前記パージガス流量が、所定のタンクベーパ発生量より少ないか否かを判断するガス流量判断手段と、
前記開故障の発生が認められる状況下でのパージガス流量が前記タンクベーパ発生量より少ないと判断される場合に、所定のタンクベーパ相当濃度を前記パージガスの燃料濃度に設定する第１の濃度設定手段と、
前記開故障の発生が認められる状況下でのパージガス流量が前記タンクベーパ発生量以上であると判断される場合に、前記タンクベーパ相当濃度と、前記タンクベーパ発生量と、前記パージガス流量とに基づいて希釈化燃料濃度を算出し、当該希釈化燃料濃度を前記パージガスの燃料濃度に設定する第２の濃度設定手段と、
を備えることを特徴とする請求項１６または１７記載の蒸発燃焼処理装置。
【請求項１９】
前記開故障検出手段は、内燃機関の始動直後に前記開故障を検出するための処理を行う始動時検出手段を含むことを特徴とする請求項１、２、７、８および１７の何れか１項記載の蒸発燃料処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、蒸発燃料処理装置に係り、特に、キャニスタに吸着された蒸発燃料を内燃機関の吸気通路に吸入させることにより処理する蒸発燃料処理装置に関する。
【０００２】
【従来の技術】
従来、例えば特開平６−５８１９７号公報に開示されるように、燃料タンクの内部で発生した蒸発燃料を吸着するためのキャニスタと、そのキャニスタを必要に応じて内燃機関の吸気通路に導通させるためのパージ制御弁とを備える蒸発燃料処理装置が知られている。このシステムにおいて、パージ制御弁が開弁されると、吸気負圧がキャニスタに導かれ、キャニスタに吸着されている燃料が空気と共に吸気通路に吸入される。このため、上記従来のシステムによれば、燃料タンクの内部で発生する蒸発燃料を大気に放出させることなく処理することができる。
【０００３】
また、上記の公報には、パージ制御弁の開故障（開状態で固着する故障）を検出し、その発生が認められる場合には、空燃比の学習を中止したうえで空燃比の補正制御を行う手法が開示されている。また、上記の補正制御の内容としては、機関回転数等からパージガスの流量を推定し、その推定流量に基づいて空燃比を補正する手法が開示されている。このような従来の制御手法によれば、パージ制御弁の開故障時に生ずるパージガスの影響をある程度補正することができ、開故障時における空燃比荒れを抑制することができる。
【０００４】
【特許文献１】
特開平６−５８１９７号公報
【特許文献２】
特開平５−１８０１０１号公報
【特許文献３】
特開平１１−１４１４１３号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、パージ制御弁の開故障時には、常に多量のパージガスが内燃機関の吸気通路に流入する。一方、内燃機関の運転状態は、時々刻々変化し、吸入空気量を多量に発生させる状況や、吸入空気量を僅かにしか発生させない状況、或いは、燃料噴射を停止すべき状況や、燃料噴射量を増量させるべき状況など、様々な状況を生じさせる。そして、上記従来の装置のように、パージガスの流量を推定し、その推定流量に基づいて空燃比を補正するだけでは、これらの様々な状況下で、常に適正な空燃比制御を維持することはできない。
【０００６】
本発明は、上記の点に鑑みてなされたものであり、パージ制御弁に開故障が生じた場合に、内燃機関の状況に応じた適切な処理を行うって高精度な空燃比制御を実現することのできる蒸発燃料処理装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
第１の発明は、上記の目的を達成するため、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
前記吸気通路にパージガスが供給されている状況化で空燃比のずれを検出する空燃比ずれ検出手段と、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記空燃比のずれが縮小するように前記補正係数を更新する補正係数更新手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障が検出された際に空燃比のずれの有無とそのずれの方向を判断するずれ状態判断手段と、
前記ずれ状態判断手段により空燃比のずれが認められた場合に、そのずれの方向に応じて、前記補正係数にリッチ側初期値或いはリーン側初期値を与える初期値設定手段とを備え、
前記補正係数の基準値と前記リッチ側初期値との差、および当該基準値と前記リーン側初期値との差は、何れも前記補正係数更新手段による前記補正係数の更新幅に比して大きいことを特徴とする。
【０００８】
また、第２の発明は、第１の発明において、
前記補正係数更新手段は、前記空燃比に第１の条件を満たすずれが認められた場合に、前記空燃比にずれが生じていると判断して、そのずれを縮小すべく前記補正係数を更新し、
前記ずれ状態判断手段は、前記空燃比に第２の条件を満たすずれが認められた場合に、前記空燃比にずれが生じていると判断し、
前記第２の条件は、前記第１の条件に比して、高い感度で成立する条件であることを特徴とする。
【０００９】
また、第３の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
所定のフューエルカット条件の成立下で、内燃機関に対する燃料噴射を停止するフューエルカットを実行するフューエルカット手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合には前記フューエルカットの実行を制限するフューエルカット制限手段と、
を備えることを特徴とする。
【００１０】
また、第４の発明は、第３の発明において、
パージガスの燃料濃度が濃い状況と薄い状況とを区別する状況区別手段を備え、
前記フューエルカット制限手段は、前記パージ制御弁の開故障に伴って流通するパージガスの燃料濃度が濃い状況下でのみ前記フューエルカットの実行を制限することを特徴とする。
【００１１】
また、第５の発明は、第３または第４の発明において、
前記フューエルカット条件は、機関回転数が所定のフューエルカット回転数より高いとの条件を含み、
前記フューエルカット制限手段は、前記開故障の発生が認められる場合に、前記フューエルカット回転数を通常値に比して高い値に変更するフューエルカット回転数変更手段を含むことを特徴とする。
【００１２】
また、第６の発明は、第３または第４の発明において、前記制限とは禁止であることを特徴とする。
【００１３】
また、第７の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関の冷間時に燃料噴射量に冷間増量補正を施す冷間増量補正手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障が検出された際に前記冷間増量補正による増量分を減量する補正分減量手段と、
を備えることを特徴とする。
【００１４】
また、第８の発明は、第７の発明において、
空燃比が所定の過剰リッチ状態になっているか否かを判断する過剰リッチ判定手段を備え、
前記補正分減量手段は、前記パージ制御弁の開故障が認められ、かつ、前記過剰リッチ状態の発生が認められる場合にのみ前記冷間増量補正による増量分を減量することを特徴とする。
【００１５】
また、第９の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関のアイドリング時に、所望のアイドル空気量を流通させるアイドル空気量流通手段と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合に、前記アイドル空気量を増量させるためのアイドル空気量増量手段と、
を備えることを特徴とする。
【００１６】
また、第１０の発明は、第９の発明において、
パージガスの燃料濃度を検出または推定する燃料濃度取得手段を備え、
前記アイドル空気量増量手段は、前記パージガスの燃料濃度が濃いほど前記アイドル空気量を多量に増量させることを特徴とする。
【００１７】
また、第１１の発明は、第９または第１０の発明において、
前記アイドル空気量流通手段は、アイドル回転数が目標アイドル回転数となるように前記アイドル空気量を制御する手段を含み、
前記アイドル空気量増量手段は、前記開故障の発生が認められる場合に、前記目標アイドル回転数を通常の回転数より高い回転数に変更する目標回転数変更手段を含むことを特徴とする。
【００１８】
また、第１２の発明は、第９乃至第１１の発明の何れかにおいて、
前記アイドル空気量流通手段は、アイドル回転数が目標アイドル回転数となるように前記アイドル空気量を制御する手段を含み、
前記アイドル空気量増量手段は、前記開故障の発生が認められる場合に、内燃機関の点火時期を通常の点火時期に対して遅角する点火時期遅角手段を含むことを特徴とする。
【００１９】
また、第１３の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理装置であって、
前記キャニスタは、前記燃料タンクに通じるベーパ孔と、内燃機関の吸気通路に通じるパージ孔と、当該キャニスタの内部空間を挟んで前記ベーパ孔および前記パージ孔とは反対側に位置する大気孔とを備え、
前記パージ孔と前記吸気通路との導通状態を制御するパージ制御弁と、
前記大気孔を開閉するキャニスタ開閉弁と、
前記パージ制御弁の開故障を検出する開故障検出手段と、
前記開故障の発生が認められる場合に前記キャニスタ開閉弁を閉弁状態とする大気孔閉塞手段と、
を備えることを特徴とする。
【００２０】
また、第１４の発明は、第１３の発明において、パージガスの燃料濃度が濃い状況と薄い状況とを区別する状況区別手段を備え、
前記大気孔閉塞手段は、前記パージ制御弁の開故障に伴って流通するパージガスの燃料濃度が濃い状況下において、前記キャニスタ開閉弁を閉弁状態とすることを特徴とする。
【００２１】
また、第１５の発明は、第１３または第１４の発明において、前記燃料タンクおよび前記キャニスタを含む系内の圧力が所定の負圧に達することで開弁し、当該系内に大気を流入させるチェック弁を備えることを特徴とする。
【００２２】
また、第１６の発明は、第１５の発明において、前記チェック弁は、前記燃料タンクに設けられていることを特徴とする。
【００２３】
また、第１７の発明は、第１６の発明において、
前記吸気通路にパージガスが供給されている状況化で空燃比のずれを検出する空燃比ずれ検出手段と、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記空燃比のずれが縮小するように前記補正係数を更新する補正係数更新手段と、
前記開故障が検出されることにより前記キャニスタ開閉弁が閉弁状態とされた際に、前記補正係数に初期値を与える初期値設定手段とを備え、
前記補正係数の基準値と前記初期値との差は、前記補正係数更新手段による前記補正係数の更新幅に比して大きいことを特徴とする。
【００２４】
また、第１８の発明は、第１６または第１７の発明において、
パージガスの影響を相殺するための補正係数を含む演算式により燃料噴射量を演算する燃料噴射量演算手段と、
前記補正係数を、パージガスの燃料濃度に基づいて算出する補正係数算出手段と、
パージガス流量を検出するパージガス流量検出手段と、
前記開故障の発生が認められる場合に、前記パージガス流量が、所定のタンクベーパ発生量より少ないか否かを判断するガス流量判断手段と、
前記開故障の発生が認められる状況下でのパージガス流量が前記タンクベーパ発生量より少ないと判断される場合に、所定のタンクベーパ相当濃度を前記パージガスの燃料濃度に設定する第１の濃度設定手段と、
前記開故障の発生が認められる状況下でのパージガス流量が前記タンクベーパ発生量以上であると判断される場合に、前記タンクベーパ相当濃度と、前記タンクベーパ発生量と、前記パージガス流量とに基づいて希釈化燃料濃度を算出し、当該希釈化燃料濃度を前記パージガスの燃料濃度に設定する第２の濃度設定手段と、
を備えることを特徴とする。
【００２５】
また、第１９の発明は、第１、第２、第７、第８および第１７の発明の何れかにおいて、前記開故障検出手段は、内燃機関の始動直後に前記開故障を検出するための処理を行う始動時検出手段を含むことを特徴とする。
【００２６】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００２７】
実施の形態１．
［システム構成の説明］
図１は、本発明の実施の形態１の蒸発燃料処理装置の構成を説明するための図である。本実施形態の蒸発燃料処理装置は、燃料タンク１０を備えている。燃料タンク１０には、タンク内圧ＰＴＮＫを測定するためのタンク内圧センサ１２が設けられている。また、燃料タンク１０の給油孔を塞ぐキャップには、燃料タンク１０の外部から内部へ向かうガスの流れのみを許容するチェック弁１３が設けられている。更に、燃料タンク１０には、ＲＯＶ（Ｒｏｌｌ  Ｏｖｅｒ  Ｖａｌｖｅ）１４，１６を介してベーパ通路１８の一端が接続されている。
【００２８】
ベーパ通路１８の他端はキャニスタ２０に接続されている。キャニスタ２０は、その内部に活性炭を備えており、ベーパ通路１８から流入してくる蒸発燃料を吸着することができる。キャニスタ２０には大気孔が設けられており、その大気孔にはＣＣＶ（Ｃａｎｉｓｔｅｒ  Ｃｌｏｓｅｄ  Ｖａｌｖｅ）２２とチェック弁２４が配置されている。ＣＣＶ２２は、駆動信号の供給を受けることにより開状態となる常時閉タイプの電磁弁である。また、チェック弁２４は、大気側からキャニスタ２０内部へ向かう流体の流れのみを許容する一方向弁である。
【００２９】
チェック弁２４の開弁圧は、燃料タンク１０のキャップに配されているチェック弁１３の開弁圧より大きな値に設定されている。このため、本実施形態のシステムでは、キャニスタ２０および燃料タンク１０を含む系に負圧が供給された場合、チェック弁２４より先にチェック弁１３が開弁し、その系内には、原則として燃料タンク１０側から大気が流入することとなる。
【００３０】
キャニスタ２０には、パージ通路２６の一端が接続されている。パージ通路２６の途中には、その内部を流れるガスの流量を制御するためのパージＶＳＶ（Ｖａｃｕｕｍ  Ｓｗｉｔｃｈｉｎｇ  Ｖａｌｖｅ）２８が設けられている。パージＶＳＶ２８は、デューティ駆動されることにより、実質的にそのデューティ比に応じた開度を実現する制御弁である。
【００３１】
パージ通路２６の他端は、内燃機関の吸気通路３０に接続されている。吸気通路３０の端部にはエアクリーナ３２が設けられている。エアクリーナ３２の下流側には吸入空気量ＧＡに応じた出力を発するエアフロメータ３４が配置されている。更に、エアフロメータ３４の下流には、吸入空気量ＧＡを制御するための電子スロットル弁３６が配置されている。電子スロットル弁３６の近傍には、スロットル開度ＴＡに応じた出力を発するスロットルセンサ３８が配置されている。上述したパージ通路２６は、スロットル弁３６の下流において吸気通路３０に連通している。
【００３２】
吸気通路３０は、吸気マニホールド４０を介して内燃機関（図示せず）に導通している。吸気マニホールド４０には、内燃機関に対して燃料を噴射するための燃料噴射弁４２が配置されている。燃料噴射弁４２には、燃料タンク１０の内部に配置されている燃料フィードポンプ４４から、所定の圧力で燃料が供給されている。燃料噴射弁４２は、開弁信号を受けることにより開弁し、その開弁時間に応じた量だけ燃料を噴射する。従って、内燃機関に対する燃料噴射量は、燃料噴射弁４２の開弁時間、つまり、燃料噴射時間ＴＡＵを変化させることにより制御することができる。
【００３３】
内燃機関には、回転数センサ４６、水温センサ４８、吸気温センサ５０、および酸素センサ５２等のセンサが組み込まれている。回転数センサ４６は、機関回転数ＮＥに応じた出力を発するセンサである。水温センサ４８は、内燃機関の冷却水温ＴＨＷに応じた出力を発するセンサである。吸気温センサ５０は、吸気通路３０の内部を流れる吸入空気の温度に応じた出力を発するセンサである。また、酸素センサ５２は、内燃機関の排気通路に配置され、触媒（図示せず）に流入する排気ガスがリーンであるか（酸素を含んでいるか）、或いはリッチであるか（酸素を含んでいないか）に応じた出力を発するセンサである。
【００３４】
本実施形態のシステムは、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）６０を備えている。ＥＣＵ６０には、上述した各種のセンサおよびアクチュエータが接続されている。ＥＣＵ６０は、それらのセンサの出力に基づいて種々の演算処理を行い、ＣＣＶ２２やパージＶＳＶ２８、或いは、燃料噴射弁４２などの制御を実行することができる。
【００３５】
［システムの動作説明］
（基本動作）
本実施形態のシステムは、内燃機関の停止中や給油中は、ＣＣＶ２２を開弁状態とし、パージＶＳＶ２８を閉弁状態とする。この状態によれば、燃料タンク１０から流出する蒸発燃料をキャニスタ２０に吸着することができる。また、このシステムは、内燃機関の運転中に、ＣＣＶ２２を開いた状態でパージＶＳＶ２８を適宜デューティ駆動する。このような制御によれば、ＣＣＶ２２から空気を取り込んでキャニスタ２０をパージし、パージＶＳＶ２８の駆動デューティ比に応じた流量のパージガスを内燃機関の吸気通路３０に吸入させることができる。このように、本実施形態のシステムは、燃料タンク１０から流出する蒸発燃料を大気に放出させることなく、燃料として燃焼させることにより処理することができる。
【００３６】
（パージＶＳＶの開故障判定）
ところで、本実施形態のシステムは、パージＶＳＶ２８に開故障が生ずると、上述した基本動作を実現し得ない状態となる。このため、パージＶＳＶ２８の開故障は、その発生の後、速やかに検知できることが望ましい。そこで、本実施形態のシステムは、内燃機関の始動直後にパージＶＳＶ２８に開故障が生じていないかを診断することとしている。そして、その発生が認められる場合には、その後速やかに開故障の影響を抑制するための措置を講ずることとしている。
【００３７】
図２は、本実施形態のシステムがパージＶＳＶ２８の開故障の診断のために実行するルーチンのフローチャートである。このルーチンは、車両のＩＧスイッチがオンとされると同時に起動され、その後、所定時間毎に繰り返し実行されるものとする。
【００３８】
図２に示すルーチンでは、先ず、第１ＯＢＤカウンタの計数値ＣＯＢＤ１が、ジャンプ判定値ＫＣ１１に達したか否かが判別される（ステップ１００）。第１ＯＢＤカウンタは、車両のＩＧスイッチのオン時にイニシャル処理によりクリアされるカウンタである。従って、車両の始動直後は、本ステップ１００において、ＣＯＢＤ１≧ＫＣ１１が成立しないとの判定がなされる。
【００３９】
上記ステップ１００において、ＣＯＢＤ１≧ＫＣ１１が成立しないとの判定が下されると、次に、計数値ＣＯＢＤ１がインクリメントされる（ステップ１０２）。次いで、その計数値ＣＯＢＤ１が、診断判定値ＫＣ１に達したか否かが判別される（ステップ１０４）。診断判定値ＫＣ１は、パージＶＳＶ２８に開故障が生じているか否かを判断するタイミングに対応する値であり、上述したジャンプ判定値ＫＣ１１に比して「１」だけ小さな値である。車両の始動直後は、本ステップ１０４において、ＣＯＢＤ１≧ＫＣ１が成立しないとの判定がなされる。
【００４０】
上記ステップ１０４において、ＣＯＢＤ１≧ＫＣ１が成立しないとの判定が下されると、次に、機関回転数ＮＥが３５０ｒｐｍを超えたか否かが判別される（ステップ１０６）。ここで、３５０ｒｐｍは、内燃機関が完爆したか否かを判断するための判定値である。内燃機関のクランキング期間等、その始動が開始された直後は、ＮＥ＞３５０ｒｐｍの条件が成立しない。この場合は、次に、その時点におけるタンク内圧ＰＴＮＫが基準圧Ｐ０として記憶される（ステップ１０８）。以後、その時点における冷却水温ＴＨＷおよび吸気温ＴＨＡが、それぞれ開始時冷却水温ＴＨＷＳＴおよび開始時吸気温ＴＨＡＳＴとして記憶され（ステップ１１０、１１２）、今回の処理サイクルが終了される。
【００４１】
内燃機関の始動が開始された後、機関回転数ＮＥが３５０ｒｐｍに達するまでは、図２に示すルーチンが起動される毎に、上述したステップ１００〜１１２の処理が繰り返し実行される。その結果、ＥＣＵ６０は、最終的には、機関回転数ＮＥが３５０ｒｐｍに達した時点でのタンク内圧ＰＴＮＫを基準圧Ｐ０として記憶することができ、また、その時点の冷却水温ＴＨＷおよび吸気温ＴＨＡを、それぞれ始動時冷却水温ＴＨＷＳＴおよび始動時吸気温ＴＨＡＳＴとして記憶することができる。
【００４２】
機関回転数ＮＥが３５０ｒｐｍに達した後（内燃機関の完爆後）に図２に示すルーチンが起動されると、今度は、上記ステップ１０６において、ＮＥ＞３５０ｒｐｍが成立すると判断される。この場合、次に、その時点におけるタンク内圧ＰＴＮＫと基準圧Ｐ０との差圧ΔＰ＝ＰＴＮＫ−Ｐ０が算出される（ステップ１１４）。この差圧ΔＰは、内燃機関の完爆後にタンク内圧ＰＴＮＫに有意な低下が生じない場合は０近傍の値として算出され、一方、ＰＴＮＫに有意な低下が認められる場合は負の値として算出される。
【００４３】
図２に示すルーチンでは、次に、ＣＣＶ２２の閉弁処理が実行される（ステップ１１６）。次いで、上記の差圧ΔＰが開故障判定値ＫＰより小さいか否かが判別される（ステップ１１８）。つまり、内燃機関の完爆後に、タンク内圧ＰＴＮＫに有意な低下が生じているか否かが判別される。その結果、ΔＰ＜ＫＰが成立しないと判別される場合は、吸気負圧の影響がタンク内圧ＰＴＮＫに及んでいないと判断することができる。この場合は、現時点でパージＶＳＶ２８の開故障が認められないことを表すべく、開故障判定仮フラグｔＸＶＳＶ開に「０」がセットされる（ステップ１２０）。一方、上記ステップ１１８において、ΔＰ＜ＫＰが成立すると判別される場合は、吸気負圧の影響がタンク内圧ＰＴＮＫに及んでいる、つまり、パージＶＳＶ２８が開いていると判断することができる。この場合は、パージＶＳＶ２８の開故障が認められることを表すべく、開故障判定仮フラグｔＸＶＳＶ開に「１」がセットされる。
【００４４】
内燃機関が完爆した後、パージＶＳＶ２８に開故障が生じているか否かを判断すべきタイミングが到来するまでの間は、つまり、第１ＯＢＤカウンタの計数値ＣＯＢＤ１が診断判定値ＫＣ１に達するまでの間は、図２に示すルーチンが起動される毎に、上述したステップ１００〜１０６およびステップ１１４〜１２２の処理が繰り返される。その結果、開故障判定仮フラグｔＸＶＳＶ開の最終値は、ＣＯＢＤ１がＫＣ１に達する直前の処理サイクルにおいて設定されることになる。
【００４５】
図２に示すルーチンが起動された後、上記ステップ１０４において、ＣＯＢＤ１≧ＫＣ１の成立が判定された場合は、開故障の有無を判断すべき時期が到来したと判断できる。この場合、ＣＣＶ２２の開弁処理が行われた後（ステップ１２４）、開始時冷却水温ＴＨＷＳＴが、冷間判定値ＫＴＨＷより低いか否かが判別される（ステップ１２６）。
【００４６】
冷間判定値ＫＴＨＷは、燃料タンク１０の内部で蒸発燃料が多量に発生する可能性が有るか否かを判断するため判定値である。従って、開始時冷却水温ＴＨＷＳＴがＫＴＨＷより低くないと判別される場合は、内燃機関の始動時に、燃料タンク１０の内部で蒸発燃料が多量に発生していた可能性があると判断できる。このような状況下では、差圧ΔＰが蒸発燃料の影響を受けるため、差圧ΔＰを基礎とする判定に誤りが生じ易い。そこで、図２に示すルーチンでは、上記ステップ１２６においてＴＨＷＳＴ＜ＫＴＨＷが成立しないと判別された場合は、開故障に関する最終的な判定を下すことなく今回の処理サイクルを終了することとした。このような処理によれば、温暖な状態での内燃機関の再始動時などに、パージＶＳＶ２８の開故障の有無が誤って判断されるのを防ぐことができる。
【００４７】
上記ステップ１２６において、ＴＨＷＳＴ＜ＫＴＨＷが成立すると判別された場合は、差圧ΔＰがさほど蒸発燃料の影響を受けていないと判断することができる。この場合、以後、開故障判定仮フラグｔＸＶＳＶ開の値が、開故障判定フラグＸＶＳＶ開の値としてセットされる（ステップ１２８）。以後、ＥＣＵ６０は、ＸＶＳＶ開に１がセットされている場合には、パージＶＳＶ２８に開故障が生じていると判断し、一方、ＸＶＳＶ開に０がセットされている場合は、パージＶＳＶ２８に開故障が生じていないと判断する。
【００４８】
上述した一連の処理が終了した後、図２に示すルーチンが再び起動された際には、上記ステップ１００において、ＣＯＢＤ１≧ＫＣ１１（＝ＫＣ１＋１）が成立すると判断される。この場合、以後ステップ１０２以降の処理がジャンプされ、実質的な処理が何ら行われることなく図２に示すルーチンが終了される。本実施形態において、ＥＣＵ６０は、以上の通り説明した図２に示すルーチンを実行することにより、内燃機関の始動直後に、パージＶＳＶ２８に開故障が生じているか否かを正確に判定することができる。
【００４９】
本実施形態のシステムにおいて、パージＶＳＶ２８に開故障が生ずると、パージＶＳＶ２８の開度を制御することができなくなり、内燃機関の運転中に生ずるパージガス流量ＱＰＧが制御できない状態となる。以下、パージガス流量ＱＰＧが制御できなくなることで生ずる現象と、その現象に対処すべく本実施形態のシステムが講ずる措置の内容とを順に説明する。
【００５０】
（パージＶＳＶの開故障に伴う現象）
図３は、本実施形態においてＥＣＵ６０が燃料噴射時間ＴＡＵを算出する手法を説明するためのフローチャートである。この図に示すように、ＥＣＵ６０は、燃料噴射時間ＴＡＵを演算するにあたり、先ず、次式に従ってパージ補正係数ＦＰＧを算出する（ステップ１３０）。
ＦＰＧ＝ｔＦＧＰＧ×ＰＧＲ                        ・・・（１）
ここで、ＰＧＲは、パージガス流量ＱＰＧと吸入空気量ＧＡとの比「（ＱＰＧ／ＧＡ）×１００」を意味するパージ率である。一方、ｔＦＧＰＧは、パージ率１％当たりのＴＡＵ補正割合を意味するベーパ濃度学習値ＦＧＰＧのＲＡＭであり、物理的にはパージガスの燃料濃度としての意味を有している。
【００５１】
次に、ＥＣＵ６０は、次式に従って燃料噴射時間ＴＡＵを算出する（ステップ１３２）。
ＴＡＵ＝ＴＰ×（ＦＷ＋ＦＡＦ＋ＫＧＸ＋ＦＰＧ）      ・・・（２）
ここで、ＴＰは、吸入空気量ＧＡに対して目標空燃比を実現するための基本の燃料噴射時間である。ＦＷは、冷間時の増量補正を実現するための水温増量係数である。ＦＡＦは、酸素センサ５２の出力に基づいて、排気空燃比が目標空燃比に近づくように増減される空燃比フィードバック係数である。また、ＫＧＸは、内燃機関の経時変化の影響等を吸収するための学習値である。学習値ＫＧＸは、吸入空気量ＧＡの大きさにより区分される複数の運転領域のそれぞれに対応して学習される係数であり、ＫＧに付された「Ｘ」はその運転領域を意味している。そして、（２）式に含まれるＦＰＧは、上記ステップ１３０において算出されたパージ補正係数である。
【００５２】
パージ補正係数ＦＰＧは、（１）式を参照して説明したように、パージ率ＰＧＲとベーパ濃度学習値ＦＧＰＧとにより決まる値である。そして、パージ率ＰＧＲは、上記の如く吸入空気量ＧＡとパージガス流量ＱＰＧにより決まる値である。吸入空気量ＧＡは、内燃機関の運転状態に応じて刻々と変化する値であり、その値はエアフロメータ３４により検知することができる。一方、パージガス流量ＱＰＧは、パージＶＳＶ２８を通過して吸気通路３０に流入するガスの流量であるから、パージＶＳＶ２８の開度と吸気管圧力ＰＭにより決定される。吸気管圧力ＰＭは内燃機関の運転状態に応じて刻々と変化する値であり、その値は、吸入空気量ＧＡやスロットル開度ＴＡなどに基づいて推定することができる。これに対して、パージＶＳＶ２８の開度は、パージＶＳＶ２８が正常である場合は、パージＶＳＶ２８の駆動デューティＤＰＧにより決まる値である。従って、パージ率ＰＧＲは、パージＶＳＶ２８の駆動デューティＤＰＧを制御することにより適宜制御することのできる値である。上記ステップ１３０では、そのようにして制御されたＰＧＲに基づいて上記（１）式の演算が行われる。
【００５３】
ＥＣＵ６０は、パージガスが流通している状況下では、常にベーパ濃度学習値ＦＧＰＧの学習処理を行っている。上記ステップ１３０では、そのベーパ濃度学習値ＦＧＰＧが上記（１）式に代入されることにより、パージ補正係数ＦＰＧが算出される。以下、ＥＣＵ６０が、ベーパ濃度学習値ＦＧＰＧを学習する手法について説明する。
【００５４】
ＥＣＵ６０は、上記（２）式に示すように、燃料噴射時間ＴＡＵを算出するにあたり、基本の燃料噴射時間ＴＰに空燃比フィードバック係数ＦＡＦを反映させている。空燃比フィードバック係数ＦＡＦは、排気空燃比がリッチである場合は減少側に更新され、一方、排気空燃比がリーンである場合は増加側に更新される係数である。従って、パージガスの影響がパージ補正係数ＦＰＧにより十分に吸収されていない場合は、空燃比フィードバック係数ＦＡＦがその基準の値よりリッチ側或いはリーン側にシフトする事態が生ずる。
【００５５】
ＥＣＵ６０は、パージガスの流通中に、空燃比フィードバック係数ＦＡＦに有意なシフトが認められると、そのシフトをパージガスの影響によるものと捕らえ、ベーパ濃度学習値ＦＧＰＧの更新を行う。具体的には、空燃比フィードバック係数ＦＡＦがリッチ側（ＴＰを縮小する方向）に有意なシフトを示している場合は、現在のベーパ濃度学習値ＦＧＰＧに対して現実のパージガス濃度がより高濃度であると判断して、その値ＦＧＰＧを高濃度側に更新する。一方、空燃比フィードバック係数ＦＡＦがリーン側（ＴＰを伸張する方向）に有意なシフトを示している場合は、現在のベーパ濃度学習値ＦＧＰＧに対して現実のパージガス濃度がより低濃度であると判断して、その値ＦＧＰＧを低濃度側に更新する。このような学習処理によれば、ベーパ濃度学習値ＦＧＰＧを現実のパージガス濃度に整合させることができ、最終的には、パージガスの影響をパージ補正係数ＦＰＧのみで吸収することが可能である。
【００５６】
既述した通り、本実施形態のシステムは、パージガスが流通する状況下では、その流通の影響で排気空燃比がリッチ側或いはリーン側にシフトし、その結果、空燃比フィードバック係数ＦＡＦが基準の値からシフトするのを利用して、ベーパ濃度学習値ＦＧＰＧの学習を進めることとしている。そして、ベーパ濃度学習値ＦＧＰＧの値が現実のパージガス濃度に合致するまでの間は、空燃比フィードバック制御の機能により排気空燃比を目標空燃比の近傍に維持することとしている。
【００５７】
ところで、空燃比フィードバック係数ＦＡＦの更新は、基本的には、排気空燃比がリッチであるかリーンであるかのみに基づいて、一定のステップ幅で進められる。つまり、空燃比フィードバック係数ＦＡＦの更新速度は、現実の空燃比と目標空燃比との乖離幅によらず一定である。このため、ベーパ濃度学習値ＦＧＰＧの学習は、現実の空燃比を目標空燃比から大きく乖離させずに進行させることが望ましい。そして、この要求を満たすためには、ＦＧＰＧの学習が十分に進んでいない状況下では、パージガスの影響による空燃比の乖離幅を抑えるために、パージガス流量ＱＰＧを少量に制御することが必要である。そこで、本実施形態のシステムは、原則として、内燃機関の始動直後のようにベーパ濃度学習値ＦＧＰＧが十分に学習されていない可能性がある状況下ではパージガス流量ＱＰＧを十分に少量に抑え、その後、ＦＧＰＧの学習が進むにつれてパージガス流量ＱＰＧを増やすこととしている。
【００５８】
しかしながら、パージＶＳＶ２８に開故障が生じている場合は、パージガス流量ＱＰＧを制御することができず、内燃機関の始動直後から、パージガスが多量に流通する事態が生ずる。この場合、ベーパ濃度学習値ＦＧＰＧの学習を通常の手法で進めたのでは、大きな空燃比ずれが長期に渡って継続する事態が生じ得る。そこで、本実施形態のシステムは、パージＶＳＶ２８の開故障が認められる場合は、パージガスの流通が開始された後、空燃比ずれの方向だけを確認して、その方向に応じた大きな変化をベーパ濃度学習値ＦＧＰＧに与えることとした。このような処理によれば、ベーパ濃度学習値ＦＧＰＧの学習速度を速めることができ、結果的に空燃比制御の精度を改善することが可能である。
【００５９】
図４は、本実施形態において、ＥＣＵ６０が、ベーパ濃度学習値ＦＧＰＧの学習を進めるために実行する学習制御ルーチンのフローチャートを示す。ＥＣＵ６０は、このルーチンを実行することにより上述した機能を実現することができる。図４に示すルーチンでは、先ず、開故障判定フラグＸＶＳＶ開に１がセットされているか否かが判別される（ステップ１４０）。その結果、ＸＶＳＶ開＝１が成立しないと判別された場合は、パージＶＳＶ２８に開故障が生じていないと判断することができる。この場合は、以後、通常の手法でベーパ濃度学習値ＦＧＰＧの学習が進められる（ステップ１４２）。尚、ここで行われる処理は、実質的には後述するステップ１６０〜１６６の処理と実質的に同じである。
【００６０】
一方、上記ステップ１４０において、ＸＶＳＶ開＝１が成立すると判別された場合は、パージＶＳＶ２８に開故障が生じていると判断できる。この場合は、次に、パージカウンタの計数値ＣＰＧＲが判定値ＫＣＦＧより小さいか否かが判別される（ステップ１４４）。パージカウンタは、パージガスの流通期間を計数するためのカウンタである。パージＶＳＶ２８に開故障が生じている場合は、内燃機関が始動されることによりパージガスの流通が開始される。従って、この場合は、ＣＰＧＲとして内燃機関の始動後の期間が計数されることになる。判定値ＫＣＦＧは、パージＶＳＶ２８の開故障に起因して空燃比に有意なずれが生じたか否かを判断するための期間に対応する値である。ここでＣＰＧＲが既に判定値ＫＣＦＧより小さくないと判断された場合は、以後、ステップ１４６〜１５８の処理がジャンプされ、速やかにステップ１６０以降の処理が実行される。
【００６１】
一方、ＣＰＧＲ＜ＫＣＦＧが成立すると判別された場合は、次に、初期値設定フラグＸＦＧＰＧ０が０であるか否かが判別される（ステップ１４６）。ＸＦＧＰＧ０＝０が成立しないと判別された場合は、パージＶＳＶ２８の開故障に伴う初期値がベーパ濃度学習値ＦＧＰＧに既に設定されていると判断することができる。この場合は、もはやステップ１４８〜１５８の処理を行う必要が無いため、以後速やかにステップ１６０以降の処理が実行される。一方、ＸＦＧＰＧ０＝０が成立すると判別された場合は、次に、空燃比フィードバック係数ＦＡＦが、有意リッチ判定値ＫＦＡＦＲより小さいか否かが判別される（ステップ１４８）。
【００６２】
有意リッチ判定値ＫＦＡＦＲは、空燃比のリッチ側へのシフトを認めるか否かを判断するための判定値である。本実施形態では、パージカウンタの計数値ＣＰＧＲが判定値ＫＣＦＧに達するまでに、空燃比フィードバック係数ＦＡＦが有意リッチ判定値ＫＦＡＦＲを下回る値にまで更新された場合は、燃料濃度の濃いパージガスが流通しており、ベーパ濃度学習値ＦＧＰＧをリッチ側に迅速に更新する必要があると判断すべき設定が施されている。そして、上記ステップ１４８において、ＦＡＦ＜ＫＦＡＦＲが成立しないと判別された場合は、その必要が未だ認められていないと判断することができる。この場合は、次に、空燃比フィードバック係数ＦＡＦが、有意リーン判定値ＫＦＡＦＬより大きいか否かが判別される（ステップ１５０）。
【００６３】
有意リーン判定値ＫＦＡＦＬは、空燃比のリーン側へのシフトを認めるか否かを判断するための判定値である。本実施形態では、パージカウンタの計数値ＣＰＧＲが判定値ＫＣＦＧに達するまでに、空燃比フィードバック係数ＦＡＦが有意リーン判定値ＫＦＡＦＬを上回る値にまで更新された場合は、燃料濃度の薄いパージガスが流通しており、ベーパ濃度学習値ＦＧＰＧをリーン側に迅速に更新する必要があると判断すべき設定が施されている。そして、上記ステップ１５０において、ＦＡＦ＞ＫＦＡＦＬが成立しないと判別された場合は、その必要が未だ認められていないと判断することができる。この場合は、以後速やかにステップ１６０以降の処理が実行される。
【００６４】
これに対して、上記ステップ１４８において、ＦＡＦ＜ＫＦＡＦＲが成立すると判別された場合は、ベーパ濃度学習値ＦＧＰＧをリッチ側に迅速に更新する必要があると判断され、ＦＧＰＧに初期値としてリッチ側初期値ＫＦＧＰＧＲが設定される（ステップ１５２）。また、上記ステップ１５０において、ＦＡＦ＞ＫＦＡＦＬが成立すると判別された場合は、ベーパ濃度学習値ＦＧＰＧをリーン側に迅速に更新する必要があると判断され、ＦＧＰＧに初期値としてリーン側初期値ＫＦＧＰＧＬが設定される（ステップ１５４）。
【００６５】
リッチ側初期値ＫＦＧＰＧＲおよびリーン側初期値ＫＦＧＰＧＬは、空燃比フィードバック係数ＦＡＦに生じていたシフト分ＫＦＡＦＲまたはＫＦＡＦＬを吸収する値に設定されている。このため、ベーパ濃度学習値ＦＧＰＧにそれらの初期値ＫＦＧＰＧＲまたはＫＦＧＰＧＬを設定した際には、空燃比フィードバック係数ＦＡＦのシフト分をクリアする必要がある。そこで、図４に示すルーチンでは、上記ステップ１５２または１５４の処理に次いで、ＦＡＦを基本の値ＫＳＥＴに戻す処理が行われる（ステップ１５６）。これらの処理が終了すると、ベーパ濃度学習値ＦＧＰＧの初期値設定が終了したことを表すべく、初期値設定フラグＸＦＧＰＧ０に１がセットされる（ステップ１５８）。
【００６６】
図４に示すルーチンにおいて、上記ステップ１４４の条件（ＣＰＧＲ＜ＫＣＦＧ）、上記ステップ１４６の条件（ＸＦＧＰＧ０＝０）、或いは上記ステップ１４６の条件（ＦＡＦ＞ＫＦＡＦＬ）が成立しないと判別された場合、並びに上記ステップ１５８の処理の終了後は、通常の学習処理と同様の処理が実行される。ここでは、先ず、空燃比フィードバック係数ＦＡＦが通常リッチ判定値ＫＦ１より小さいか否かが判別される（ステップ１６０）。そして、ＦＡＦ＜ＫＦ１が成立しないと判別された場合は、ＦＡＦが通常リーン判定値ＫＦ２より大きいか否かが判別される（ステップ１６２）。
【００６７】
ＦＡＦ＞ＫＦ２が成立しないと判別された場合は、空燃比フィードバック係数ＦＡＦが基準値近傍に維持されていると判断できる。そして、この場合は、現在のベーパ濃度学習値ＦＧＰＧが現実のパージガス濃度と整合しており、その結果、パージ補正係数ＦＰＧによる補正が適正に機能していると判断できる。ＥＣＵ６０は、この場合、ＦＧＰＧの更新処理を行うことなく速やかに今回の処理サイクルを終了させる。
【００６８】
これに対して、上記ステップ１６０において、ＦＡＦ＜ＫＦ１の成立が認められる場合は、空燃比がリッチ側にシフトしており、ベーパ濃度学習値ＦＧＰＧをリッチ側に更新する必要があると判断することができる。ＥＣＵ６０は、この場合、ＦＧＰＧを所定の更新幅ｋＦＡだけ減少させた後、今回の処理サイクルを終了させる（ステップ１６４）。また、上記ステップ１６２において、ＦＡＦ＞ＫＦ２が成立すると判別された場合は、ベーパ濃度学習値ＦＧＰＧをリーン側に更新する必要があると判断することができる。この場合、ＥＣＵ６０は、ＦＧＰＧを所定の更新幅ｋＦＢだけ増加させた後、今回の処理サイクルを終了させる（ステップ１５４）。
【００６９】
上述したステップ１５２または１５４で用いられるリッチ側初期値ＫＦＧＰＧＲおよびリーン側初期値ＫＦＧＰＧＬは、何れも、それらの設定処理が行われることにより、通常の学習処理で用いられる更新幅（ｋＦＡまたはｋＦＢと同じ）より大きな変化をＦＧＰＧに与えることのできる値である。また、それらのリッチ側初期値ＫＦＧＰＧＲおよびリーン側初期値ＫＦＧＰＧＬは、何れも内燃機関の始動直後に発生する可能性の高いパージガスの濃度を想定して設定された値である。このため、上記ステップ１５２または１５４の処理によれば、通常の学習処理に比して高速で、ＦＧＰＧを現実のパージガス濃度に適合する値に近づけることができる。
【００７０】
また、上述した初期値設定の処理において、上記ステップ１４８および１５０の処理、つまり、空燃比にリッチ側或いはリーン側へのシフトが生じているか否かを判断するための処理は、そのシフトの発生が通常の学習時に比して高い感度で認定されるように設定されている。具体的には、上記ステップ１４８で用いられる有意リッチ判定値ＫＦＡＦＲは、通常の学習処理においてリッチ側へのＦＡＦのシフトを判断するための判定値（通常リッチ判定値ＫＦ１と同じ）に比して大きな値に設定されている。一方、上記ステップ１４８で用いられる有意リーン判定値ＫＦＡＦＬは、通常の学習処理においてリーン側へのＦＡＦのシフトを判断するための判定値（通常リーン判定値ＫＦ２と同じ）に比して小さな値に設定されている。このため、図４に示すルーチンによれば、パージＶＳＶ２８の開故障に起因するパージが開始された後、空燃比に何れの方向へのシフトが生じているかを迅速に判断することができ、更に、その方向に応じた適正な初期値ＫＦＧＰＧＲまたはＫＦＧＰＧＬをＦＧＰＧに迅速に設定することができる。
【００７１】
以上説明した通り、図４に示すルーチンによれば、パージＶＳＶ２８の開故障時には、通常の学習処理の場合に比して感度良く空燃比のシフトを判定して、ベーパ濃度学習値ＦＧＰＧに迅速に初期値ＫＦＧＰＧＲまたはＫＦＧＰＧＬを設定することができる。このため、図４に示すルーチンによれば、通常の学習処理が行われる場合に比して十分に早い速度で、ＦＧＰＧを現実のパージガス濃度に適合する値に近づけることができる。ＦＧＰＧが現実のパージガス濃度に適合している場合は、パージ補正係数ＦＰＧによる補正が適正に機能するため、パージガス流量ＱＰＧの多少に関わらずパージガスの影響による空燃比荒れが抑制される。従って、本実施形態のシステムによれば、パージＶＳＶ２８の開故障に起因して多量のパージガス流量ＱＰＧが発生する状況下においても高精度な空燃比制御を実現することができる。
【００７２】
尚、上述した実施の形態１においては、パージＶＳＶ２８が前記第１の発明における「パージ制御弁」に、ベーパ濃度学習値ＦＧＰＧが前記第１の発明における「補正係数」に、それぞれ相当していると共に、ＥＣＵ６０が、パージガスの流通している状況下で空燃比フィードバック係数ＦＡＦを更新することにより前記第１の発明における「空燃比ずれ検出手段」が、図３に示す手法で燃料噴射時間ＴＡＵを算出することにより前記第１の発明における「燃料噴射量演算手段」が、それぞれ実現されている。また、ここでは、ＥＣＵ６０が、上記ステップ１６０〜１６６の処理、並びに通常の学習処理において上記ステップ１６０〜１６６の処理と同様の処理を行うことにより、前記第１の発明における「補正係数更新手段」が、上記ステップ１４０の処理を実行することにより前記第１の発明における「開故障検出手段」が、上記ステップ１４８および１５０の処理を実行することにより前記第１の発明における「ずれ状態判断手段」が、上記ステップ１５２および１５４の処理を実行することにより前記第１の発明における「初期値設定手段」が、それぞれ実現されている。また、上述した実施の形態１においては、上記ステップ１６０および１６２で用いられる条件が前記第２の発明における「第１の条件」に、また、上記ステップ１４８および１５０において用いられる条件が前記第２の発明における「第２の条件」に、それぞれ相当している。更に、実施の形態１では、ＥＣＵ６０が、図２に示す処理を実行することにより前記第１９の発明における「始動時検出手段」が実現されている。
【００７３】
実施の形態２．
次に、図５を参照して本発明の実施の形態２について説明する。本実施形態の装置は、実施の形態１の装置において、ＥＣＵ６０に、上記図４に示すルーチンと共に、或いはそのルーチンに代えて、後述する図５に示すルーチンを実行させることにより実現することができる。
【００７４】
内燃機関においては、アクセルペダルが解放されており、かつ、機関回転数ＮＥが十分に高い場合などに、燃料噴射を停止するフューエルカット（Ｆ／Ｃ）が行われる。ＥＣＵ６０は、キャニスタ２０をパージするにあたっては、Ｆ／Ｃの実行状態を見て、Ｆ／Ｃが行われていない場合に限りパージＶＳＶ２８のデューティ駆動を行う。従って、パージＶＳＶ２８が正常である場合は、Ｆ／Ｃの実行中にパージガスが流通することはなく、従って、内燃機関の筒内にパージによる燃料のみが供給されるような事態が生ずることはない。
【００７５】
ところが、パージＶＳＶ２８に開故障が生じている場合は、パージガスの流通を制御することができないため、Ｆ／Ｃ中であっても吸気通路３０にはパージガスが流入する。この場合、内燃機関に吸入される混合気は極めて燃料濃度の薄いものとなり、筒内では失火現象が生ずる。そして、筒内で正常に燃焼しなかったガスは、未燃成分を多量に含んだまま触媒に流入し、そこで燃焼に付されることにより触媒にダメージを与える。本実施形態の装置は、このようにして触媒がダメージを受けるのを防ぐため、パージＶＳＶ２８の開故障時には、Ｆ／Ｃの実行を制限することとした。
【００７６】
図５は、上記の機能を実現するために本実施形態においてＥＣＵ６０が実行するＦ／Ｃ制御ルーチンのフローチャートを示す。図５に示すルーチンでは、先ず、アイドルフラグＸＩＤＬに１がセットされているか否かが判別される（ステップ１７０）。アイドルフラグＸＩＤＬは、内燃機関の運転中にアクセルペダルが解放されることにより１とされるフラグである。ここでＸＩＤＬ＝１が成立しないと判別された場合は、車両の運転者によってアクセルペダルが踏み込まれていると判断できる。この場合、燃料噴射を伴う通常状態への復帰（Ｆ／Ｃ中でなければ通常状態の維持）が図られた後（ステップ１７２）、今回の処理サイクルが終了される。
【００７７】
一方、上記ステップ１７０において、ＸＩＤＬ＝１が成立すると判別された場合は、次に、機関回転数ＮＥが、通常時フューエルカット回転数ＫＮＦＣより高いか否かが判別される（ステップ１７４）。通常時フューエルカット回転数ＫＮＦＣは、パージＶＳＶ２８が正常であることを前提として設定されたＦ／Ｃの実行判定回転数である（例えば１０００ｒｐｍ）。ＮＥ＞ＫＮＦＣが成立しないと判別された場合は、機関回転数ＮＥが、Ｆ／Ｃの実行を要求するほど高くないと判断することができる。この場合、ＥＣＵ６０は、以後ステップ１７２の処理を実行して今回の処理サイクルを終了させる。
【００７８】
これに対して、上記ステップ１７４においてＮＥ＞ＫＮＦＣが成立すると判別された場合は、次に、開故障判定フラグＸＶＳＶ開に１がセットされているか否かが判別される（ステップ１７６）。ＸＶＳＶ開＝１が成立しないと判別された場合は、パージＶＳＶ２８に開故障は生じていないと判断できる。この場合、ＥＣＵ６０は、Ｆ／Ｃの実行を制限する必要はないと判断し、以後速やかにステップ１８２の処理、つまり、Ｆ／Ｃのための処理を実行する。
【００７９】
上記ステップ１７６においてＸＶＳＶ開＝１の成立が認められた場合は、次に、ベーパ濃度学習値ＦＧＰＧが、所定の判定値ＫＦＧより小さいか否かが判別される（ステップ１７８）。パージガスの燃料濃度が十分に薄い場合は、パージガスが流通している状況下でＦ／Ｃが行われても触媒には何らダメージは及ばない。従って、その場合は、必ずしもＦ／Ｃの実行を制限する必要はない。ＦＧＰＧ＜ＫＦＧの正否は、物理的には、パージガスの濃度がＦ／Ｃの制限を要求するほど濃いか否かに対応している。このため、ＥＣＵ６０は、ＦＧＰＧ＜ＫＦＧが成立しないと判別される場合には、以後速やかにステップ１８２の処理を実行する。
【００８０】
これに対して、ＦＧＰＧ＜ＫＦＧが成立すると判別された場合は、Ｆ／Ｃの実行を制限すべき状況が生じていると判断できる。ＥＣＵ６０は、この場合、次に機関回転数ＮＥが、異常時フューエルカット回転数ＫＮＦＣ１より大きいか否かを判断する（ステップ１８０）。そして、ＮＥ＞ＫＮＦＣ１が成立しないと判別された場合は、以後ステップ１７２の処理が実行され、Ｆ／Ｃの実行が禁止される。一方、一方、ＮＥ＞ＫＮＦＣ１の成立が認められた場合は、以後Ｆ／Ｃを行うべくステップ１８２の処理が実行される。
【００８１】
上記ステップ１８０において用いられる異常時フューエルカット回転数ＫＮＦＣ１は、通常時フューエルカット回転数ＫＮＦＣより大きな値（例えば２０００ｒｐｍ）である。従って、図５に示すルーチンによれば、パージＶＳＶ２８に開故障が生じており、かつ、パージガスの濃度が十分に高い場合には、パージＶＳＶ２８が正常である場合に比して、Ｆ／Ｃの実行領域をより高回転域に限定することができる。このため、本実施形態のシステムによれば、Ｆ／Ｃを行うことで無駄な燃料消費を抑える効果を維持しつつ、パージＶＳＶ２８の開故障に伴う触媒のダメージを十分に抑えることができる。
【００８２】
ところで、上述した実施の形態２においては、パージＶＳＶ２８の開故障時に、通常時に比して高いフューエルカット回転数を用いることにより、Ｆ／Ｃの実行を制限することとしているが、その実行を制限する手法はこれに限定されるものではない。すなわち、パージＶＳＶ２８に開故障が生じており、かつ、パージガスの濃度が十分に高いような場合には、機関回転数ＮＥとフューエルカット回転数の高低を見ることなく、常にＦ／Ｃの実行を禁止することとしてもよい。この場合、未燃成分を含むガスの触媒への流入をより確実に防ぐことが可能となり、触媒の受けるダメージをより軽減することができる。
【００８３】
尚、上述した実施の形態２においては、パージＶＳＶ２８が前記第３の発明における「パージ制御弁」に相当していると共に、ＥＣＵ６０が、上記ステップ１８２の処理を実行することにより前記第３の発明における「フューエルカット手段」が、上記ステップ１７６の処理を実行することにより前記第３の発明における「開故障検出手段」が、上記ステップ１８０の処理を実行することにより前記第３の発明における「フューエルカット制限手段」が、それぞれ実現されている。また、上述した実施の形態２においては、ＥＣＵ６０が、上記ステップ１７８の処理を実行することにより前記第４の発明における「状況区別手段」が、上記ステップ１８０の処理を実行することにより前記第５の発明における「フューエルカット回転数変更手段」が、それぞれ実現されている。
【００８４】
実施の形態３．
次に、図６および図７を参照して本発明の実施の形態３について説明する。本実施形態の装置は、実施の形態１または２の装置において、ＥＣＵ６０に、上記ステップ１３２の処理（図３参照）に代えて、後述する図７に示すルーチンを実行させることにより実現することができる。
【００８５】
本実施形態においても、ＥＣＵ６０は、上記（２）式に従って燃料噴射時間ＴＡＵ  ＝ＴＰ×（ＦＷ＋ＦＡＦ＋ＫＧＸ＋ＦＰＧ）を算出する。この式に含まれる水温増量係数ＦＷは、冷間時の燃料を増量して、内燃機関の運転状態を安定化させるための係数である。図６は、この水温増量係数ＦＷと、冷却水温ＴＨＷとの関係の一例を示すマップである。この図に示すように、ＦＷは、冷却水温ＴＨＷの関数として設定され、内燃機関が十分に暖機された領域（例えばＴＨＷ≧７０℃の領域）ではゼロとされる。
【００８６】
ところで、パージＶＳＶ２８に開故障が生じている場合は、内燃機関の始動が開始されると同時にキャニスタ２０のパージが開始される。そして、キャニスタ２０に燃料が多量に吸着されている場合は、内燃機関の始動直後において、燃料濃度の濃いパージガスが吸気通路３０に流入する。このような状況下では、水温増量係数ＦＷを用いた燃料の増量補正を行わなくても、筒内に吸入される混合気は十分に燃料リッチなものとなる。むしろ、ＦＷによる燃料増量が行われると、混合気が過剰リッチとなり、エミッションの悪化等の事態が生じ得る。そこで、本実施形態では、パージＶＳＶ２８の開故障が認められる場合には、水温増量係数ＦＷを用いた燃料の増量補正を制限することとした。
【００８７】
図７は、上記の機能を実現するために本実施形態においてＥＣＵ６０が実行するＴＡＵ算出ルーチンのフローチャートを示す。尚、ＥＣＵ６０は、このルーチンを実行する前提として、上記図３に示すステップ１３０の処理、つまり、パージ補正係数ＦＰＧを算出する処理を実行しているものとする。また、図７における最終ステップは、上記図３に示すステップ１３２と処理の内容が同じであるため、ここでは共通する符号１３２を付している。
【００８８】
図７に示すルーチンでは、先ず、開故障判定フラグＸＶＳＶ開に１がセットされているか否かが判別される（ステップ１９０）。ＸＶＳＶ開＝１が成立しないと判別された場合は、パージＶＳＶ２８に開故障は生じていないと判断できる。この場合、ＥＣＵ６０は、通常の手法で燃料噴射時間ＴＡＵを算出すべく、以後、ステップ１３２の処理を実行して、今回の処理サイクルを終了させる。一方、ＸＶＳＶ開＝１が成立すると判別された場合は、次に、冷却水温ＴＨＷが判定温度ＫＴＭＰより高いか否かが判別される（ステップ１９２）。
【００８９】
燃料噴射時間ＴＡＵは、冷却水温ＴＨＷが極めて低温となる極低温の環境下では、パージガスの影響を考慮する実益がない程度に大きな値に算出される。このような状況下では、パージＶＳＶ２８に開故障が生じていても、水温増量係数ＦＷを用いた燃料の増量補正を制限するべきではない。上記の判定温度ＫＴＭＰは、冷却水温ＴＨＷが極低温であるか否かを判断するための判定値である。従って、ＴＨＷ＞ＫＴＭＰが成立しないと判別された場合は、内燃機関が極低温の環境に置かれており、ＦＷを用いた燃料増量を制限すべきでないとの判断を下すことができる。ＥＣＵ６０は、この場合、通常の手法で燃料噴射時間ＴＡＵを算出すべく、以後速やかにステップ１３２の処理を実行する。
【００９０】
一方、上記ステップ１９２において、ＴＨＷ＞ＫＴＭＰが成立すると判別された場合は、必要に応じてＦＷによる燃料増量を制限することが妥当であると判断できる。この場合、ＥＣＵ６０は、次に、リッチフラグＸＲに１がセットされているか否かを判断する（ステップ１９４）。その結果、ＸＲ＝１が成立しないと判別された場合は、空燃比フィードバック係数ＦＡＦが過剰リッチ判定値ＫＦ１０より小さいか否かが判別される（ステップ１９６）。そして、ＦＡＦ＜ＫＦ１０が成立すると判別された場合は、リッチフラグＸＲに１がセットされる（ステップ１９８）。
【００９１】
リッチフラグＸＲは、上記の如く、空燃比フィードバック係数ＦＡＦが過剰リッチ判定値ＫＦ１０を下回ることにより１とされるフラグである。ここで、過剰リッチ判定値ＫＦ１０は、水温増量係数ＦＷを用いた増量補正が正常に行われている場合には、ＦＡＦが到達することのない値である。従って、リッチフラグＸＲは、燃料リッチなパージガスが多量に流通している環境下でＦＷを用いた増量補正が併せて行われた場合に１となるフラグ、つまり、ＦＷを用いた増量補正を制限することが望ましい場合にのみ１となるフラグである。
【００９２】
上記ステップ１９６において、ＦＡＦ＜ＫＦ１０の成立が認められない場合は、水温増量係数ＦＷを用いた燃料の増量を制限する必要が認められないと判断できる。従って、ＥＣＵ６０は、この場合、以後通常の手法で燃料噴射時間ＴＡＵを算出すべく速やかにステップ１３２の処理を実行する。これに対して、上記ステップ１９８の処理が実行された場合、および上記ステップ１９４においてＸＲ＝１の成立が認められた場合は、ＦＷを用いた燃料の増量を制限すべきことが判断できる。ＥＣＵ６０は、この場合、ゼロを下限として水温増量係数ＦＷを減量する処理を行う（ステップ２００）。具体的には、ここでは、冷却水温ＴＨＷとの関係で算出された水温増量係数ＦＷを所定数ｘ（例えば２）で除することにより、或いは、そのＦＷから所定値ＫＷを減ずることにより、燃料噴射時間ＴＡＵの基礎とする水温増量係数ＦＷを算出する処理が行われる。そして、上記ステップ２００の処理が実行された場合は、そこで算出されたＦＷを用いてステップ１３２の処理、すなわち、ＴＡＵの算出処理が実行される。
【００９３】
以上説明した通り、図７に示すルーチンによれば、パージＶＳＶ２８の開故障時に、空燃比フィードバック係数ＦＡＦが現実にリッチ側に過剰に更新されたことを条件に、水温増量係数ＦＷによる燃料の増量分を減量することができる。このため、本実施形態の装置によれば、パージＶＳＶ２８の開故障時に、無駄に燃料の増量補正が行われるのを防ぐことができると共に、パージガスの濃度が薄い場合には、その補正の実行を継続させて内燃機関に対して良好な冷間始動特性を付与することができる。
【００９４】
本実施形態において、ＥＣＵ６０は、パージＶＳＶ２８に開故障が生じている場合は、実施の形態１の場合と同様に、図４に示すステップ１６０〜１６６の処理によりベーパ濃度学習値ＦＧＰＧの学習を進める。このような手法でＦＧＰＧが学習される課程において、ＦＷによる燃料増量補正が実行されていると、その増量補正の影響でＦＧＰＧが不適切な値に更新される事態が生ずる。これに対して、ＦＷを用いた燃料の増量補正が制限されれば、その補正の実行中にＦＧＰＧに反映される誤差分を小さくすることができる。本実施形態の装置は、この点においても、パージＶＳＶ２８の開故障時に空燃比を精度良く制御するうえで望ましい特性を有している。
【００９５】
尚、上述した実施の形態３においては、パージＶＳＶ２８が前記第７の発明における「パージ制御弁」に相当していると共に、ＥＣＵ６０が、上記ステップ１３２の処理を実行することにより前記第７の発明における「冷間増量補正手段」が、上記ステップ１９０の処理を実行することにより前記第７の発明における「開故障検出手段」が、上記ステップ２００の処理を実行することにより前記第７の発明における「補正分減量手段」が、それぞれ実現されている。また、上述した実施の形態３においては、空燃比フィードバック係数ＦＡＦが過剰リッチ判定値ＫＦ１０を下回る値にまで更新されることが前記第８の発明における「過剰リッチ状態」に相当していると共に、ＥＣＵ６０が、上記ステップ１９６の処理を実行することにより前記第８の発明における「過剰リッチ判定手段」が実現されている。更に、実施の形態３では、ＥＣＵ６０が、図２に示す処理を実行することにより前記第１９の発明における「始動時検出手段」が実現されている。
【００９６】
実施の形態４．
次に、図８および図９を参照して本発明の実施の形態４について説明する。本実施形態の装置は、実施の形態１乃至３の何れかの装置において、ＥＣＵ６０に、上記図４、図５または図７に示すルーチンと共に、或いはそれらのルーチンに代えて、後述する図８および図９に示すルーチンを実行させることにより実現することができる。
【００９７】
本実施形態の装置において、パージＶＳＶ２８に開故障が生ずると、内燃機関の運転中に吸気通路３０に流入するパージガスの流量ＱＰＧが制御できない事態が生ずる。この際、パージガスが空燃比に与える影響は、吸入空気量ＧＡが少なく、かつ、吸気管圧力ＰＭが大きく負圧化する（従って、パージガス流量ＱＰＧが多量となる）アイドル運転時において特に顕著となる。換言すると、パージＶＳＶ２８に開故障が生じた場合は、制御不能なパージガスが流通することに起因して、特にアイドル運転時において内燃機関の状態が不安定になり易い。
【００９８】
パージガスが空燃比に与える影響は、吸入空気量ＧＡが多量であるほど小さなものとなる。従って、アイドル時の内燃機関の状態はアイドル空気量（以下、「ＩＳＣ流量ＱＣＡＬ」と称す）が多量であるほど安定したものとなる。更に、ＩＳＣ流量ＱＣＡＬは、アイドル回転数を高めることにより増やすことができる。そこで、本実施形態の装置は、パージＶＳＶ２８の開故障時には、目標のアイドル回転数を通常の目標値より高く設定して、ＩＳＣ流量ＱＣＡＬの増量を図ることとした。
【００９９】
図８は、上記の機能を実現するためにＥＣＵ６０が実行するＩＳＣ流量制御ルーチンのフローチャートを示す。このルーチンでは、先ず、車速ＳＰＤが０であるか（ステップ２１０）、およびアイドルフラグＸＩＤＬに１がセットされているかが順次判別される（ステップ２１２）。どちらかの条件が成立しない場合は、アイドル運転が要求されていないと判断され、以後速やかに後述するステップ２２８の処理が実行される。一方、何れの条件も成立する場合は、次に開故障判定フラグＸＶＳＶ開に１がセットされているか否かが判別される（ステップ２１４）。
【０１００】
ＸＶＳＶ開＝１の成立が認められない場合は、パージＶＳＶ２８に開故障が生じていないと判断できる。この場合、以後、通常の手法で機関回転数ＮＥを目標アイドル回転数ＮＥＩに制御するための処理が行われる。具体的には、先ず、機関回転数ＮＥが目標下限値ＮＥＩ−より低いか否かが判別される（ステップ２１６）。ＮＥ＜ＮＥＩ−が成立しないと判別された場合は、次に機関回転数ＮＥが目標上限値ＮＥＩ＋より大きいか否かが判別される（ステップ２１８）。その結果、ＮＥ＞ＮＥＩ＋が成立しないと判別された場合は、機関回転数ＮＥがアイドル回転数の目標範囲に収まっていると判断できる。この場合、ＥＣＵ６０は、現在のＩＳＣ流量ＱＣＡＬが適正量であると判断して、ＩＳＣ流量学習値ＱＧを更新することなく後述するステップ２２４へ進む。
【０１０１】
これに対して、上記ステップ２１６において、ＮＥ＜ＮＥＩ−が成立すると判別された場合は、現在のＩＳＣ流量ＱＣＡＬが過小であり、機関回転数ＮＥが目標範囲に達していないと判断できる。ＥＣＵ６０は、この場合、ＩＳＣ流量学習値ＱＧを所定値ＫＱ１だけ増量する（ステップ２２０）。一方、上記ステップ２２２において、ＮＥ＞ＮＥＩ＋が成立すると判別された場合は、現在のＩＳＣ流量ＱＣＡＬが過剰であり、機関回転数ＮＥが目標範囲を逸脱していると判断できる。この場合、ＥＣＵ６０は、ＩＳＣ流量学習値ＱＧを所定値ＫＱ１だけ減量する（ステップ２２２）。
【０１０２】
図８に示すルーチンでは、上述した一連の処理に次いで、点火遅角量ＡＶが０とされ（ステップ２２４）、ＩＳＣ流量増量値ＱＶが０とされた後（ステップ２２６）、次式に従ってＩＳＣ流量ＱＣＡＬが算出される（ステップ２２８）。
ＱＣＡＬ＝ＱＧ＋ＱＴＷＨ＋ＱＶ                ・・・（３）
ＩＳＣ流量増量値ＱＶは、パージＶＳＶ２８の開故障時にＩＳＣ流量ＱＣＡＬを増やすための補正項である。ここでは、パージＶＳＶ２８に開故障が生じていないため、ＱＶには０が設定される。その結果、ＩＳＣ流量ＱＣＡＬは、ＱＧ＋ＱＴＨＷとして算出される。ＱＴＨＷは、ＩＳＣ流量の水温補正値である。ＥＣＵ６０は、冷却水温ＴＨＷとの関係で水温補正値ＱＴＨＷを定めたマップを記憶しており、ここでは、そのマップから読み出されたＱＴＨＷを用いてＩＳＣ流量ＱＣＡＬが算出される。以上説明した通り、図８に示すルーチンによれば、パージＶＳＶ２８の正常時には、ＩＳＣ流量学習値ＱＧを適当に増減させることにより、機関回転数ＮＥが目標のアイドル回転数ＮＥＩとなるように、ＩＳＣ流量ＱＣＡＬを制御することができる。
【０１０３】
図８に示すルーチンにおいて、開故障判定フラグＸＶＳＶ開に１がセットされていることが認められた場合は、上記ステップ２１４の処理に次いで、パージＶＳＶ２８の開故障に対処するための処理が実行される。ここでは、先ず、ＩＳＣ流量増量値ＱＶに０がセットされているか否かが判別される（ステップ２３０）。その結果、ＱＶ＝０であることが認められた場合は、ＱＶに初期値ＫＱＶがセットされる（ステップ２３０）。一方、ＱＶ＝０の成立が認められない場合は、ＩＳＣ流量増量値ＱＶへの初期値設定は既に行われていると判断され、上記ステップ２３０の処理がジャンプされる。
【０１０４】
図８に示すルーチンでは、次に、キャニスタパージカウンタの計数値ＣＣＡＮが判定値ＫＴ１より小さいか否かが判別される（ステップ２３４）。キャニスタパージカウンタは、内燃機関が始動された後、キャニスタ２０がパージされた時間の累計を計数するためのカウンタである。キャニスタ２０のパージが開始された直後は、キャニスタ２０に燃料が多量に吸着されていることがあるため、燃料濃度の濃いパージガスが流通することがある。一方、キャニスタ２０のパージ時間がある程度経過した後は、燃料の吸着量が減ることにより、パージガスの燃料濃度が低下する。上記の判定値ＫＴ１は、パージガスの燃料濃度が有意な低下を見せ始める通常の時間に対応している。このため、本ステップ２３４の処理によれば、実質的には、パージガスの燃料濃度が維持されているのか（濃いままなのか）、或いは低下し始めているのか（薄くなっているのか）を判断することができる。
【０１０５】
上記ステップ２３４において、ＣＣＡＮ＜ＫＴ１の成立が認められた場合、ＥＣＵ６０は、パージＶＳＶ２８の開故障に起因して燃料濃度の濃いパージガスが多量に流通している可能性があると判断する。この場合、ＥＣＵ６０は、アイドル回転数の一時的目標下限値ｔＮＥＶ−に第１設定値ＴＮＥ１を設定し、更に、アイドル回転数の一時的目標上限値ｔＮＥＶ＋に第２設定値ＴＮＥ２を設定する（ステップ２３６）。第１設定値ＴＮＥ１および第２設定値ＴＮＥ２は、それぞれ、通常の目標下限値ＮＥＩ−または目標上限値ＮＥＩ＋より所定値だけ大きな値である。従って、本ステップ２３６の処理によれば、パージＶＳＶ２８の開故障時におけるアイドル回転数ＮＥＩの目標範囲を、通常時の目標範囲に比して高回転側にシフトさせることができる。以下、ここで設定される目標範囲を「異常時初期目標範囲」と称す。
【０１０６】
図８に示すルーチンでは、次に、上限値ＫＡＶ３を越えない範囲で、点火遅角量ＡＶが所定値ＫＡ２だけ増量される（ステップ２３８）。点火遅角量ＡＶは、パージＶＳＶ２８の正常時には０とされる（上記ステップ２２４参照）。これらの処理によれば、パージＶＳＶ２８の開故障時に、内燃機関の点火時期を正常時のタイミングから遅角側にシフトさせることができる。尚、点火時期の遅角に伴う効果については、後に図９を参照して説明する。
【０１０７】
図８に示すルーチン中、上記ステップ２３４において、ＣＣＡＮ＜ＫＴ１が成立しないと判別された場合は、パージガスの燃料濃度が低下し始めていると判断できる。この場合は、次に、アイドル回転数の一時的目標下限値ｔＮＥＶ−に第３設定値ＴＮＥ３が設定され、更に、アイドル回転数の一時的目標上限値ｔＮＥＶ＋に第４設定値ＴＮＥ４が設定される（ステップ２４０）。第３設定値ＴＮＥ３は通常の目標下限値ＮＥＩ−より高く、かつ、第１設定値ＴＮＥ１より低い値である。同様に、第４設定値ＴＮＥ４も、通常の目標上限値ＮＥＩ＋より高く、かつ、第２設定値ＴＮＥ２１より低い値である。従って、本ステップ２４０の処理によれば、アイドル回転数ＮＥＩの目標範囲を、通常時の目標範囲と、上記ステップ２３６において設定される異常時初期目標範囲との間に設定することができる。以下、ここで設定される目標範囲を「異常時後期目標範囲」と称す。
【０１０８】
図８に示すルーチンでは、次に、下限値を０として、点火遅角量ＡＶが所定値ＫＡ３だけ減量される（ステップ２４２）。本ステップ２４２の処理によれば、ＣＣＡＮがＫＴ１に達するまでに徐々に増やされた点火遅角量ＡＶを（上記ステップ２３８参照）、ＣＣＡＮがＫＴ１に達した後に徐々に減らすことができる。
【０１０９】
上記の処理が終了すると、次に、機関回転数ＮＥが一時的目標下限値ＮＥＶ−より低いか否かが判別される（ステップ２４４）。ＮＥ＜ＮＥＶ−が成立しないと判別された場合は、次に機関回転数ＮＥが一時的目標上限値ＮＥＶ＋より大きいか否かが判別される（ステップ２４６）。その結果、ＮＥ＞ＮＥＶＩ＋が成立しないと判別された場合は、機関回転数ＮＥが、上記ステップ２３６または２４０において設定された異常時初期目標範囲、或いは異常時後期目標範囲に収まっていると判断できる（以下、それらを総称して「異常時目標範囲」と称す）。この場合、ＥＣＵ６０は、現在のＩＳＣ流量増量値ＱＶが適正量であると判断して、その値ＱＶを更新することなくステップ２２８へ進む。
【０１１０】
これに対して、上記ステップ２４４において、ＮＥ＜ＮＥＶ−が成立すると判別された場合は、現在のＩＳＣ流量増量値ＱＶが過小であり、機関回転数ＮＥが異常時目標範囲に達していないと判断できる。ＥＣＵ６０は、この場合、ＩＳＣ流量増量値ＱＶを所定値ＫＱ２だけ増量する（ステップ２４８）。一方、上記ステップ２４６において、ＮＥ＞ＮＥＶ＋が成立すると判別された場合は、現在のＩＳＣ流量ＱＣＡＬが過剰であり、機関回転数ＮＥが異常時目標範囲を越えていると判断できる。この場合、ＥＣＵ６０は、ＩＳＣ流量増量値ＱＶを所定値ＫＱ２だけ減量する（ステップ２５０）。
【０１１１】
ＥＣＵ６０は、次に、ステップ２２８において、ＩＳＣ流量ＱＣＡＬ＝ＱＧ＋ＱＴＷＨ＋ＱＶを算出する。ここで、ＩＳＣ流量学習値ＱＧにはパージＶＳＶ２８の正常時に学習されていた値が代入される。また、水温補正値ＱＴＨＷには、正常時と同様に、マップから得られた値が代入される。そして、ＩＳＣ流量増量値ＱＶには、上記ステップ２３０〜２５０の処理により設定された値が代入される。
【０１１２】
パージＶＳＶ２８の開故障時には、通常の目標範囲より高い回転域に属する異常時目標範囲が用いられるため、ＩＳＣ流量増量値ＱＶがゼロでない値に設定される。そして、その増量値ＱＶは、異常時初期目標範囲が用いられるパージ初期の段階において、異常時後期目標範囲が用いられるパージ後期の段階に比して大きな値となる。このため、図８に示すルーチンによれば、パージＶＳＶ２８の開故障時には、正常時に比して多量のＩＳＣ流量ＱＣＡＬを発生させることができ、かつ、そのＩＳＣ流量ＱＣＡＬを、パージガス濃度の低下に併せて減量することができる。
【０１１３】
パージＶＳＶ２８の開故障時に、上記の如く多量のＩＳＣ流量ＱＣＡＬを流通させることができると、パージガスの流通に起因する空燃比荒れを抑制することができる。また、パージの進行に併せてＩＳＣ流量ＱＣＡＬを減量することができれば、空燃比に対するパージガスの影響が小さくなった状況下で不必要に多量のＩＳＣ流量が流通するのを避けることができる。このため、本実施形態の装置によれば、パージＶＳＶ２８の開故障時に、必要最小限の範囲でＩＳＣ流量を増量することで、内燃機関の運転状態を効率的に安定化させることができる。
【０１１４】
また、図８に示すルーチンによれば、パージＶＳＶ２８の開故障時には、ＩＳＣ流量学習値ＱＧを更新することなく、ＩＳＣ流量増量値ＱＶに適当な値を入れることによりＩＳＣ流量ＱＣＡＬを増量させることができる。ＩＳＣ流量増量値ＱＶは、ステップ２２６に示すように、パージＶＳＶ２８の正常時には０とされる値である。つまり、ＩＳＣ流量増量値ＱＶは、パージＶＳＶ２８に開故障が生じた後、その修理が完了して開故障判定フラグＸＶＳＶ開が０にリセットされれば、自ずと０となる値である。このため、本実施形態の装置によれば、パージＶＳＶ２８の開故障時にＩＳＣ流量ＱＣＡＬを適正に増量しつつ、パージＶＳＶ２８の修理後に、その増量の影響が残存するのを確実に回避することができる。
【０１１５】
図８に示すルーチンでは、既述した通り、パージＶＳＶ２８の状態やキャニスタパージの累積時間などに基づいて、点火遅角量ＡＶを変更する処理が行われている。以下、図９を参照して、このようにして点火遅角量ＡＶを変更する理由、およびその変更により得られる効果について説明する。
【０１１６】
図９は、本実施形態においてＥＣＵ６０が実行する点火時期算出ルーチンのフローチャートを示す。図９に示すように、このルーチンでは、先ず、点火時期の水温補正値ＡＴＨＷが算出される（ステップ２６０）。ＥＣＵ６０は、ステップ２６０の枠内に示すように、水温補正値ＡＴＨＷと冷却水温ＴＨＷとの関係を定めたマップを記憶している。ここでは、そのマップを参照して、冷却水温ＴＨＷに対応する水温補正値ＡＴＨＷが算出される。
【０１１７】
次に、アイドルフラグＸＩＤＬに１がセットされているか否かが判別される（ステップ２６２）。その結果、ＸＩＤＬ＝１が成立しないと判別された場合は、内燃機関がアイドル状態ではないと判断され、以後、内燃機関の運転状態に応じた点火時期を決定するための処理が進められる。具体的には、ここでは先ず、機関回転数ＮＥおよびスロットル開度ＴＡに応じたベース点火時期ＡＣＡＬの算出処理が行われる（ステップ２６４）。ステップ２６４の枠内に示すように、ＥＣＵ６０は、ベース点火時期ＡＣＡＬを、ＮＥとＴＡとの関係で定めた２軸マップを記憶している。本ステップ２６４では、そのマップを参照して、現在のＮＥおよびＴＡに対応するベース点火時期が決定される。尚、図示されたマップに描かれている３本の曲線は、何れも等ＡＣＡＬ曲線のイメージを表したものである。
【０１１８】
ベース点火時期ＡＣＡＬの算出処理が終了すると、次に、次式に従って最終点火時期ＡＯＰが算出される（ステップ２６６）。
ＡＯＰ＝ＡＣＡＬ＋ＡＴＨＷ                      ・・・（４）
このような処理によれば、内燃機関の非アイドル時において、機関回転数ＮＥ、スロットル開度ＴＡ、および冷却水温ＴＨＷに応じた適切な最終点火時期ＡＯＰを算出することができる。以後、ＥＣＵ６０は、ここで得られる最終点火時期ＡＯＰが実現されるように、内燃機関における点火処理を実行する。
【０１１９】
図９に示すルーチンにおいて、ＸＩＤＬ＝１の成立が認められる場合は（上記ステップ２６２参照）、内燃機関がアイドル運転中であると判断できる。この場合、以後、アイドル時における最適な点火時期を決定するための処理が進められる。具体的には、ここでは先ず、ベース点火時期ＡＣＡＬを、固定値ＫＡＩＤＬとする処理が実行される（ステップ２６８）。
【０１２０】
次に、次式に従ってアイドル時の最終点火時期ＡＯＰが算出される（ステップ２７０）。
ＡＯＰ＝ＡＣＡＬ＋ＡＴＨＷ−ＡＶ                      ・・・（５）
上記（５）式に含まれるＡＶは、図８に示すルーチン中で設定される点火遅角量である。既述した通り、図８に示すルーチンによれば、パージＶＳＶ２８の正常時にはＡＶに０が設定される（上記ステップ２２４）。そして、パージＶＳＶ２８の開故障時には、キャニスタパージの進行に合わせてＡＶの増量と減量とが行われる（上記ステップ２３８および２４２参照）。本実施形態において、点火時期は、上死点前のクランク角の大きさ（ＢＴＤＣ  の値）で定義することとしている。このため、上記（５）式は、点火遅角量ＡＶが大きいほど最終点火時期ＡＯＰが遅角側（ＡＴＤＣ側）に変化することを表している。
【０１２１】
本実施形態の内燃機関には、基本的には、点火遅角量ＡＶによる点火遅角が施されるほど、アイドル時における出力トルクが低下するような設定が施されている。このため、パージＶＳＶ２８の開故障時に点火遅角量ＡＶが増量される段階では、単位空気量に対する出力トルクが徐々に低下する現象が生ずる。本実施形態の装置は、機関回転数ＮＥを目標範囲に納めるためのフィードバック制御を実行しているため、上記のような出力低下が生じれば、その低下分を補うべく、ＩＳＣ流量ＱＣＡＬの増量が図られる。そして、キャニスタパージの進行に伴い、点火遅角量ＡＶが減量される段階になると、今度は、過大な出力トルクが生じないように、ＩＳＣ流量ＱＣＡＬの減量が図られる。
【０１２２】
このため、図８および図９に示すルーチンによれば、パージＶＳＶ２８の開故障時には、最終点火時期ＡＯＰの変更による効果としても、パージガス濃度の濃い状況下で多量のＩＳＣ流量ＱＣＡＬを発生させることができ、また、その濃度が薄くなるに従い、ＩＳＣ流量ＱＣＡＬを適当に減量させることができる。従って、本実施形態の装置によれば、パージＶＳＶ２８に開故障が生じている場合にも、アイドル時における内燃機関の状態を十分に安定化させることができる。
【０１２３】
ところで、上述した実施の形態４においては、アイドル運転時に機関回転数ＮＥをフィードバック制御することが前提とされているが、そのようなフィードバック制御は必ずしも必須な事項ではない。図１０は、機関回転数ＮＥのフィードバック制御を行わずにＩＳＣ流量ＱＣＡＬを適当に変化させるためのフローチャートの一例である。
【０１２４】
図１０に示すルーチンでは、先ず、ＸＩＤＬ＝１の成立性が判定される（ステップ２８０）。その結果、ＸＩＤＬ＝１の成立が認められない場合は、以後速やかに今回の処理サイクルが終了される。一方、上記の条件が成立すると判別された場合は、次にＸＶＳＶ開＝１の成立性が判定される（ステップ２８２）。ここでＸＶＳＶ開＝１が成立していないと判別された場合は、以後、パージＶＳＶ２８が正常であることを前提として、ＩＳＣ流量ＱＣＡＬの算出（ステップ２８４）、および最終点火時期ＡＯＰの算出が行われる（ステップ２８６）。
【０１２５】
この場合において、上記ステップ２８４では、ＩＳＣ流量ＱＣＡＬが固定値ＱＩＤＬに設定される。また、上記ステップ２８６では、最終点火時期ＡＯＰが固定値ＡＣＡＬに設定される。以後、ＥＣＵ６０は、このようにして設定されたＩＳＣ流量ＱＣＡｌが実現されるように電子スロットル弁３６を制御し、また、上記の最終点火時期ＡＯＰが実現されるように点火処理を実行する。
【０１２６】
図１０に示すルーチンにおいて、ＸＶＳＶ開＝１の成立が認められた場合は（上記ステップ２８２参照）、次にＣＣＡＮ＜ＫＴ１が成立しているか否かが判断される（ステップ２８８）。その結果、ＣＣＡＮ＜ＫＴ１が成立すると判別された場合は、パージガスの燃料濃度が濃い可能性があると判断できるため、以後、その状況を前提としたＩＳＣ流量ＱＣＡＬの補正（ステップ２９０）、および最終点火時期ＡＯＰの補正（ステップ２９２）が行われる。
【０１２７】
この場合において、上記ステップ２９０では、ＩＳＣ流量ＱＣＡＬが固定値ＱＩＤＬに増量補正値ＫＶを加えた値（ＱＩＤＬ＋ＫＶ）に設定される。また、上記ステップ２９２では、最終点火時期ＡＯＰが固定値ＡＣＡＬから点火遅角量ＡＶを減じた値に設定される。以後、ＥＣＵ６０は、このようにして設定されたＩＳＣ流量ＱＣＡＬが実現されるように電子スロットル弁３６を制御し、また、上記の最終点火時期ＡＯＰが実現されるように点火処理を実行する。
【０１２８】
パージＶＳＶ２８に開故障が生じている状況下で十分なキャニスタパージが実行されると、上記ステップ２８８においてＣＣＡＮ＜ＫＴ１の不成立が判定される事態が生ずる。図１０に示すルーチンによれば、この場合、パージＶＳＶ２８が正常である場合と同様に、以後ステップ２８４および２８６の処理が実行される。これらの処理によれば、パージガスの燃料濃度が薄くなった後に、ＩＳＣ流量を通常の値に戻すことができ、ＩＳＣ流量ＱＣＡＬが不必要に長期に渡って多大な値とされるのを防ぐことができる。
【０１２９】
以上説明したように、図１０に示すルーチンによれば、パージＶＳＶ２８の開故障時には、燃料濃度の濃いパージガスが流通する可能性のある期間に限り、ＩＳＣ流量ＱＣＡＬを増やし、かつ、最終点火時期ＡＯＰを遅角させることができる。ＩＳＣ流量ＱＣＡＬが増えると、空燃比に対するパージガスの影響が小さくなるため、内燃機関の運転状態が安定化する。一方、最終点火時期ＡＯＰが遅角されると、単位空気量あたりの出力トルクが低下するため、ＩＳＣ流量ＱＣＡＬの増量に伴う回転数上昇が抑えられる。このため、図１０に示すルーチンによれば、パージＶＳＶ２８の開故障時に、アイドル回転数を大きく上昇させることなくＩＳＣ流量ＱＣＡＬを増やすことができる。つまり、図１０に示すルーチンによれば、より簡単な処理により、図８および図９に示すルーチンが実行される場合と同様の効果を実現することができる。
【０１３０】
尚、上述した実施の形態４においては、パージＶＳＶ２８が前記第９の発明におけるパージ制御弁、電子スロットル弁３６が前記第９の発明における「アイドル空気量流通手段」に、それぞれ相当していると共に、ＥＣＵ６０が、上記ステップ２１４または２８２の処理を実行することにより前記第９の発明における「開故障検出手段」が、上記ステップ２３０〜２４８の処理、或いは上記ステップ２９０および２９２の処理を実行することにより前記第９の発明における「アイドル空気量増量手段」が、それぞれ実現されている。また、上述した実施の形態４においては、ＥＣＵ６０が、上記ステップ２３４の処理を実行することにより、前記第１０の発明における「燃料濃度取得手段」が実現されている。また、上述した実施の形態４においては、ＥＣＵ６０が、上記ステップ２１６〜２２２および２４４〜２５０の処理を実行することにより前記第１１の発明または前記第１２の発明における「アイドル空気量を制御する手段」が、上記ステップ２３６および２４０の処理を実行することにより前記第１１の発明における「目標回転数変更手段」が、上記ステップ２３８および２４２の処理を実行することにより前記第１２の発明における「点火時期遅角手段」が、それぞれ実現されている。
【０１３１】
実施の形態５．
次に、図１１を参照して本発明の実施の形態５について説明する。本実施形態の装置は、実施の形態１乃至４の何れかの装置において、ＥＣＵ６０に、上記図４、図５、図７乃至図１０に示すルーチンと共に、或いはそれらのルーチンに代えて、後述する図１１に示すルーチンを実行させることにより実現することができる。
【０１３２】
本実施形態の装置において、パージＶＳＶ２８に開故障が生じた場合は、キャニスタ２０と吸気通路３０とが常に導通状態となる。この際、キャニスタ２０の大気孔が解放されていると、多量の空気がキャニスタ２０内部を流通し、燃料濃度の高いパージガスが多量に発生する事態が生じ得る。これに対して、このような状況下でも、キャニスタ２０の大気孔を閉じれば、キャニスタ２０の内部を流通するガスの流れを遮断し、パージガスの流量を少量とすることができる。そこで、本実施形態の装置は、パージＶＳＶ２８の開故障時には、給油の実行中を除いてＣＣＶ２２を閉じてキャニスタ２０の大気孔を閉塞することとした。
【０１３３】
図１１は、上記の機能を実現すべく本実施形態においてＥＣＵ６０が実行するＣＣＶ制御ルーチンのフローチャートを示す。このルーチンでは、先ず、ＸＶＳＶ開＝１が成立するか否かが判別される（ステップ３００）。その結果、ＸＶＳＶ開＝１が成立しないと判別された場合は、以後速やかに今回の処理サイクルが終了される。一方、その条件の成立が認められる場合は、パージＶＳＶ２８の開故障に対処するため、以下の処理が行われる。
【０１３４】
すなわち、この場合は、次に、パージ率ＰＧＲが所定値ＫＰＧより大きいか否かが判別される（ステップ３０２）。パージ率ＰＧＲは、パージＶＳＶ２８が全開状態ものとして算出される。つまり、パージＶＳＶ２８が全開であるものとして、吸気管圧力ＰＭに基づいてパージガス流量ＱＰＧを推定したうえで、そのＱＰＧと吸入空気量ＧＡとの比をとることでパージ率ＰＧＲ＝（ＱＰＧ／ＧＡ）×１００が算出される。
【０１３５】
パージＶＳＶ２８に開故障が生じていても、パージ率ＰＧＲが十分に小さい場合は空燃比に大きな荒れは生じない。この場合、必ずしもパージガス流量ＱＰＧを抑制する必要はなく、むしろキャニスタ２０のパージを進めるうえでは、適量のパージガス流量ＱＰＧを発生させることが望ましい。上記ステップ３０２において用いられるＫＰＧは、現在のパージ率ＰＧＲが、ＱＰＧの抑制を要する程度に大きなものであるか否かを判断するための判定値である。このため、ＰＧＲ＞ＫＰＧの成立が認められない場合は、現時点ではパージガス流量ＱＰＧを抑制する必要がないと判断できる。図１１に示すルーチンにおいてこのような判断がなされた場合は、以後、ＣＣＶ２２が開かれ（ステップ３０４）、次に、キャニスタパージ時間を計数するカウンタＣＣＡＮがインクリメントされた後（ステップ３０６）、今回の処理サイクルが終了される。
【０１３６】
上記ステップ３０２において、ＰＧＲ＞ＫＰＧの成立が認められた場合は、次に、ＣＣＡＮ＜ＫＴ１が成立するか否かが判別される（ステップ３０８）。この条件が成立しない場合は、既に十分なキャニスタパージが実行済みであり、パージガスの濃度が十分に低下していると予測することができる。パージガスの濃度が十分に低下している状況下では、パージガス流量ＱＰＧを抑制する必要はない。むしろ、燃料タンク１０が負圧化し、その影響で燃料ベーパの発生が促進されることがないように、ＣＣＶ２２は開かれることが望ましい。このため、図１１に示すルーチンでは、ＣＣＡＮ＜ＫＴ１の不成立が判定された場合も、以後ステップ３０４および３０６の処理が実行される。
【０１３７】
上記ステップ３０８において、ＣＣＡＮ＜ＫＴ１が成立すると判断された場合は、パージガスの燃料濃度が高い可能性があると判断できる。この場合、次に、給油の実行状態を判断するため、タンク内圧ＰＴＮＫが判定値ｋＰ４より低いか否かが判別される（ステップ３１０）。判定値ｋＰ４は、給油が行われることにより到達する圧力値である。このため、ＰＴＮＫ＜ｋＰ４が成立しないと判別された場合は、給油中である可能性が高いと判断することができる。図１１においてこのような判別がなされた場合、ＣＣＶ２２を開いて良好な給油性を確保するため、以後上記ステップ３０４以降の処理が実行される。
【０１３８】
上記ステップ３１０において、ＰＴＮＫ＜ｋＰ４の成立が認められた場合は、給油が実行されていないと判断することができる。この場合、図１１に示すルーチンでは、以後、ＣＣＶ２２が閉じられた後（ステップ３１２）、今回の処理サイクルが終了される。以上の処理によれば、パージＶＳＶ２８の開故障時に、燃料濃度の高いパージガスが多量に流通する可能性がある状況下では、給油が行われていないことを条件にＣＣＶ２２を閉じることができる。
【０１３９】
本実施形態のシステムにおいて、ＣＣＶ２２が閉じられると、キャニスタ２０への大気孔からの空気の流入が遮断される。この場合、キャニスタ２０および燃料タンク１０の内圧（つまりタンク内圧ＰＴＮＫ）は、チェック弁１３または２４の開弁圧を下限として負圧化される。ここで、図１に示すシステムは、チェック弁１３がチェック弁２４に先だって開弁するように構成されているため、ＣＣＶ２２が閉じられると、タンク内圧ＰＴＮＫは、厳密にはチェック弁１３の開弁圧を下限として負圧化されることになる。そして、吸気通路３０に流入するパージガスは、燃料タンク１０の内部で発生した燃料ベーパのみに、或いは、その燃料ベーパと、チェック弁１３を通過して流入した空気との混合気のみに限定される。
【０１４０】
以上説明したように、本実施形態の装置によれば、パージＶＳＶ２８の開故障時に、ＣＣＶ２２を閉じることによりパージガス流量ＱＰＧを十分に少量に制限することができる。また、この装置によれば、チェック弁１３からの空気の流入が許容されることから、ＣＣＶ２２の閉弁時にタンク内圧ＰＴＮＫが不当に低圧化するのを防ぐことができる。そして、そのような空気の流入を燃料タンク１０側に設けたチェック弁１３により許容することとしているため、この装置によれば、ＣＣＶ２２の閉弁中は吸気通路３０に流入する燃料を燃料タンク１０内で発生したベーパのみに限ることができる。つまり、この装置によれば、ＣＣＶ２２の閉弁中は、キャニスタ２０から蒸発燃料がパージされるのを禁止して、パージガスの燃料濃度を低く抑えることができる。このため、本実施形態の装置によれば、パージＶＳＶ２８の開故障時に伴う空燃比荒れを十分に抑制することができ、そのような状況下で内燃機関の状態が不安定になるのを有効に防ぐことができる。
【０１４１】
ところで、上述した実施の形態５においては、ＣＣＶ２２の閉弁時にキャニスタ２０内の蒸発燃料がパージされるのを避けるべく、チェック弁１３をチェック弁２４に先立って開弁させることとしているが、本発明の構成はこれに限定されるものではない。すなわち、パージＶＳＶ２８の開故障時に生ずるパージガス流量ＱＰＧを少量とし、かつ、タンク内圧ＰＴＮＫが不当に低くなるのを防ぐ機能は、チェック弁２４により空気の流入を許容させることによっても実現することができる。このため、ＣＣＶ２２の閉弁時には、キャニスタ２０および燃料タンク１０を含む系内に、チェック弁２４から空気を流入させることとしてもよい。
【０１４２】
尚、上述した実施の形態５においては、パージＶＳＶ２８が前記第１３の発明における「パージ制御弁」に、ＣＣＶ２２が前記第１３の発明における「キャニスタ開閉弁」に、それぞれ相当していると共に、ＥＣＵ６０が、上記ステップ３００の処理を実行することにより前記第１３の発明における「開故障検出手段」が、上記ステップ３１２の処理を実行することにより前記第１３の発明における「大気孔閉塞手段」が、それぞれ実現されている。また、上述した実施の形態５においては、ＥＣＵ６０が、上記ステップ３０８の処理を実行することにより前記第１４の発明における「状況区別手段」が実現されている。
【０１４３】
実施の形態６．
次に、図１２を参照して、本発明の実施の形態６について説明する。本実施形態の装置は、実施の形態５の装置において、ＥＣＵ６０に、後述する図１２に示すルーチンを実行させることにより実現することができる。尚、図１２に示すルーチンは、図４に示すルーチンと同様に、ベーパ濃度学習値ＦＧＰＧの学習を進めるためのルーチンである。既述した実施の形態５の装置においては、ＥＣＵ６０に図４に示すルーチンを実行させるか否かは選択事項であるが、本実施形態では、図１２に示すルーチンが実行されることから、ＥＣＵ６０は、図４に示すルーチンは実行しないものとする。また、本実施形態において、ＥＣＵ６０は、実施の形態１の装置と同様に、図３に示す手法でパージ補正係数ＦＰＧおよび燃料噴射時間ＴＡＵを算出するものとする。
【０１４４】
本実施形態の装置は、既述した実施の形態５の装置と同様に、パージＶＳＶ２８の開故障時に、必要に応じてＣＣＶ２２を閉じる機能を有している。この装置においてＣＣＶ２２が閉じられると、キャニスタ２０への空気の流入が遮断されるため、吸気通路３０に吸入されるパージガスは、燃料タンク１０の内部で発生したベーパのみ、或いは、そのベーパとチェック弁１３から流入した空気の混合気のみとなる。尚、既述した実施の形態５では、チェック弁２４から空気が流入する構成も採用し得るが、本実施形態では、空気の流入を許容する機構は必ずチェック弁１３であるものとする。
【０１４５】
キャニスタ２０を通過したパージガスの燃料濃度は、キャニスタ２０における燃料の吸着状態に左右される。この場合、パージガスの燃料濃度を固定化して取り扱うことはできない。これに対して、パージガスの内訳が燃料タンク１０の内部で発生するベーパと、チェック弁１３から取り込まれる空気のみに限られている場合は、その燃料濃度をある程度固定化して取り扱うことが可能である。
【０１４６】
既述した実施の形態１においては、パージＶＳＶ２８の開故障に伴うパージガスが燃料リッチとも燃料リーンともなり得ることから、パージＶＳＶ２８の開故障が検知された後に、空燃比フィードバック係数ＦＡＦの動向を見て、ベーパ濃度学趣致ＦＧＰＧにリッチ側初期値ＫＦＧＰＧＲまたはリーン側初期値ＫＦＧＰＧＬを設定することとしている（図４中上記ステップ１４８〜１５４参照）。これに対して、本実施形態の装置では、ＣＣＶ２２が閉じられていれば、ＦＡＦの動向を見るまでもなく、パージガスの空燃比を固定化されたものとして取り扱うことが可能である。このため、本実施形態では、パージＶＳＶ２８の開故障が検知されることによりＣＣＶ２２が閉じられ場合には、その後、即座にベーパ濃度学習値ＦＧＰＧの初期値設定を行うこととした。
【０１４７】
図１２は、上記の機能を実現するためにＥＣＵ６０が実行する学習制御ルーチンのフローチャートを示す。尚、図１２において、上記図４に示すステップと同様のステップについては、同一の符号を付してその説明を省略または簡略する。このルーチンでは、ステップ１４０においてＸＶＳＶ開＝１の成立が認められた場合、次に、ＣＣＶ２２が閉じられているか否かが判別される（ステップ３２０）。
【０１４８】
ＣＣＶ２２は、パージＶＳＶ２８の開故障時であっても、パージ率ＰＧＲが小さい場合、キャニスタパージが十分に行われている場合、或いは給油中である可能性が高い場合などには開弁状態とされる（図１１参照）。このような状況下では、ベーパ濃度学習値ＦＧＰＧに初期値を設定すべき状態が形成されていないと判断され、以後ステップ１６０以降の処理が実行される。一方、上記ステップ３２０において、ＣＣＶ２２の閉弁が認められる場合は、次に、初期値設定フラグＸＦＧＰＧ１が０であるか否かが判別される（ステップ３２２）。
【０１４９】
その結果、ＸＦＧＰＧ１＝０が成立しないと判別された場合は、ベーパ濃度学習値ＦＧＰＧに既に初期値が設定されていると判断することができる。この場合は、初期値を設定するための処理がジャンプされ、以後ステップ１６０以降の処理が実行される。一方、ＸＦＧＰＧ１＝０が成立すると判別された場合は、空燃比フィードバックＦＡＦの動向を確認することなく、即座にベーパ濃度学習値ＦＧＰＧに初期値ＫＦＧＰＧＴが設定され（ステップ３２４）、次いでその設定が終了したことを表すべく初期値設定フラグＸＦＧＰＧ１に１がセットされる（ステップ３２６）。これらの処理が終了すると、以後、ベーパ濃度学習値ＦＧＰＧの学習を進めるべく、ステップ１６０以降の処理が実行される。
【０１５０】
上記ステップ３２４で設定される初期値ＫＦＧＰＧＴは、既述した通り、パージガスの内訳が、燃料タンク１０内で発生するベーパと、チェック弁１３から吸入される空気のみであることを前提とした値である。このように、図１２に示すルーチンによれば、パージＶＳＶ２８の開故障が検知された後に、ＣＣＶ２２が閉じていることを条件に、ベーパ濃度学習値ＦＧＰＧに即座に初期値ＫＦＧＰＧＴを設定することができる。このため、本実施形態の装置によれば、パージＶＳＶ２８の開故障が検知された後に、実施の形態１の装置に比して更に短期間で、ベーパ濃度学習値ＦＧＰＧを現実のパージガス濃度に合致する値に収束させることができる。
【０１５１】
尚、上述した実施の形態６においては、ベーパ濃度学習値ＦＧＰＧが前記第１７の発明における「補正係数」に相当していると共に、ＥＣＵ６０が、パージガスの流通している状況下で空燃比フィードバック係数ＦＡＦを更新することにより前記第１７の発明における「空燃比ずれ検出手段」が、図３に示す手法で燃料噴射時間ＴＡＵを算出することにより前記第１７の発明における「燃料噴射量演算手段」が、それぞれ実現されている。また、ここでは、ＥＣＵ６０が、図１２に示すステップ１６０〜１６６の処理、並びに通常の学習処理において上記ステップ１６０〜１６６の処理と同様の処理を行うことにより、前記第１７の発明における「補正係数更新手段」が、上記ステップ３２４の処理を実行することにより前記第１７の発明における「初期値設定手段」が、それぞれ実現されている。
【０１５２】
実施の形態７．
次に、図１３および図１４を参照して本発明の実施の形態７について説明する。本実施形態の装置は、実施の形態６の装置において、ＥＣＵ６０に、後述する図１４に示すルーチンを実行させることにより実現することができる。本実施形態の装置は、実施の形態６の装置と同様に、パージＶＳＶ２８の開故障時に、必要に応じてＣＣＶ２２を閉じる機能を有している。この装置においてＣＣＶ２２が閉じられると、キャニスタ２０への空気の流入が遮断されるため、吸気通路３０に吸入されるパージガスは、燃料タンク１０の内部で発生したベーパのみ、或いは、そのベーパとチェック弁１３から流入した空気の混合気のみとなる。
【０１５３】
図１３は、ＣＣＶ２２が閉じられた状態で生ずるパージガスの流量ＱＰＧ（縦軸）と吸気管圧力ＰＭとの関係、並びにパージガスの流量ＱＰＧとそのガスの内訳との関係を示す。図１３に示すように、パージガス流量ＱＰＧは、吸気管圧力ＰＭの関数であり、ＰＭが高圧になる（大気圧に近づく）に連れて少量となる。図１３中に符号ＫＱＴを付して示す直線は、燃料タンク１０の内部で発生するベーパ（以下、「タンクベーパ」と称す）の量を表している。この図に示すように、タンクベーパの発生量ＫＱＴは、吸気管圧力ＰＭに関わらずほぼ一定である。このため、パージガスは、ＱＰＧがＫＱＴより少量である場合はほぼ１００％タンクベーパとなり、ＱＰＧがＫＱＴを越える場合には、タンクベーパに、その差分（ＱＰＧ−ＫＱＴ）だけ空気が混じったものとなる。
【０１５４】
ＥＣＵ６０は、パージガスの流通する状況下では、パージ補正係数ＦＰＧを用いて燃料噴射時間ＴＡＵを補正する（図３参照）。そして、そのパージ補正係数ＦＰＧ（＝ＰＧＲ×ｔＦＧＰＧ）を求める前提として、ベーパ濃度学習値ＦＧＰＧの学習を行っている。パージガスがキャニスタ２０から流出したものである場合は、キャニスタ２０の状態に応じてパージガスの燃料濃度が変化することはあるものの、パージガス流量ＱＰＧの多少によってその濃度が大きく変化することはない。このため、このような状況下では、ＱＰＧの多少を考慮することなくベーパ濃度学習値ＦＧＰＧの学習を進めることができ、また、そのような手法で学習されたＦＧＰＧが現実のパージガス濃度から突然乖離するような事態は生じない。
【０１５５】
これに対して、ＣＣＶ２２が閉じられている状況下では、パージガス流量ＱＰＧが増減することによりパージガスの燃料濃度に大きな変化が生じ得る。つまり、このような状況下では、ＱＰＧがタンクベーパ発生量ＫＱＴより少ない場合には、パージガスの燃料濃度が常にタンクベーパの燃料濃度（仮にαとする）となる一方、ＱＰＧがＫＱＴを越える場合には、パージガスの燃料濃度がα×ＫＱＴ／ＱＰＧで表される値、つまり、ＱＰＧの関数値となる。
【０１５６】
パージガスの燃料濃度がＱＰＧの関数値となる状況下では、その濃度の変化に追従するような応答性でベーパ濃度学習値ＦＧＰＧを学習することはできない。このため、本実施形態の装置においてＣＣＶ２２が閉じられている場合は、通常の手法でパージ補正係数ＦＰＧを算出したのでは、パージガスの影響を精度良く排除することができない。そこで、本実施形態では、ＣＣＶ２２が閉じられた状態でパージが行われている場合は、ＱＰＧがタンクベーパ発生量ＫＱＴを越えているか否かに応じてパージ補正係数ＦＰＧの算出手法を切り替えることとした。より具体的には、ＱＰＧがＫＱＴより少ない状況下では、パージガスの濃度が急変しないことを前提として通常の手法でＦＰＧを算出し、一方、ＱＰＧがＫＱＴを越える状況下では、ＦＧＰＧにパージガス中の燃料割合ＫＱＴ／ＱＰＧを掛け合わせることによりｔＦＧＰＧ＝ＦＧＰＧ×ＫＱＴ／ＱＰＧを求め、そのｔＦＧＰＧを用いてパージ補正係数ＦＰＧを算出することとした。
【０１５７】
図１４は、上記の機能を実現するために本実施形態においてＥＣＵ６０が実行するＡ／Ｆ補正制御ルーチンのフローチャートである。図１４に示すルーチンでは、先ず、ＸＶＳＶ開＝１が成立しているか否かが判別される（ステップ１７０）。ＸＶＳＶ開＝１の成立が認められない場合は、パージＶＳＶ２８の開故障に対処するための処理が不要であると判断できる。この場合、パージ補正係数ＦＰＧの基礎となるＲＡＭ値ｔＦＧＰＧには、他のルーチン（図１２参照）において学習されたベーパ濃度学習値ＦＧＰＧがそのまま代入され（ステップ１７２）、次いで、そのＲＡＭ値ｔＦＧＰＧを用いてパージ補正係数ＦＰＧ（＝ＰＧＲ×ｔＦＧＰＧ）が算出される（ステップ１７４）。
【０１５８】
上記ステップ１７０において、ＸＶＳＶ開＝１の成立が認められた場合は、次に、ＣＣＶ２２が閉じられているか否かが判別される（ステップ１７６）。その結果、ＣＣＶ２２の閉弁が認められない場合は、キャニスタ２０からのパージガスの流出が阻止されておらず、パージガスの濃度にＱＰＧに応じた急変は生じないと判断できる。この場合、通常の手法でＦＰＧを算出すれば足りるため、以後ステップ１７２以降の処理が行われる。
【０１５９】
上記ステップ１７６においてＣＣＶ２２の閉弁が認められた場合は、パージガス流量ＱＰＧに応じてパージガスの燃料濃度が急変する可能性があると判断できる。この場合、図１４に示すルーチンでは、先ず、タンクベーパ発生量ＫＱＴよりパージガス流量ＱＰＧが少ないか否かが判別される（ステップ１７８）。その結果、ＫＱＴ＞ＱＰＧが成立するとの判断が得られた場合は、パージガスの内訳がほぼ１００％タンクベーパであり、その濃度がＱＰＧに応じて大きく変化することがないと判断できる。そして、この場合は、通常の手法でＦＰＧを算出すれば足りると判断され、以後ステップ１７２以降の処理が行われる。
【０１６０】
一方、上記ステップ１７８において、ＫＱＴ＞ＱＰＧが成立しないと判断された場合は、パージガスの燃料濃度がＱＰＧの関数値であることが認識される。そして、この場合は、現実のパージガス濃度に適合したＲＡＭ値ｔＦＧＰＧを算出するべくｔＦＧＰＧ＝ＦＧＰＧ×ＫＱＴ／ＱＰＧなる演算が行われ（ステップ１８０）、その結果得られたＲＡＭ値ｔＦＧＰＧに基づいてパージ補正係数ＦＰＧが算出される（ステップ１７４）。尚、ＦＰＧがこのようにして算出される場合も、ＦＧＰＧは、結局は、ＫＱＴ＞ＱＰＧが成立する場合と同様に、タンクベーパのみで構成されたパージガスの濃度に適合するように更新されることになる（ＦＰＧの過不足がＦＡＦにフィードバックされ、ＦＡＦの動向がＦＧＰＧに反映されるため）。
【０１６１】
以上説明した通り、図１２に示すルーチンによれば、パージガスの燃料濃度がパージガス流量ＱＰＧに影響されない状況下では通常の手法でＦＰＧを算出し、その一方、パージガスの燃料濃度がＱＰＧの関数値となる状況下では、ベーパ濃度学習値ＦＧＰＧに急激な変化を要求せずに、ＲＡＭ値ｔＦＧＰＧのみをその変化に追従させることにより、適正なパージ補正係数ＦＰＧを算出することができる。このため、本実施形態の装置によれば、ＣＣＶ２２が閉じられることにより、パージガスの燃料濃度が頻繁に変化する状況が形成されても、その変化に影響されることなく、常に高精度な空燃比制御を継続することができる。
【０１６２】
尚、上述した実施の形態７においては、ＥＣＵ６０が、図３に示す手法で燃料噴射時間ＴＡＵを算出することにより前記第１８の発明における「燃料噴射量演算手段」が、図１２に示すステップ１６０〜１６６の処理、並びに通常の学習処理において上記ステップ１６０〜１６６の処理と同様の処理を行うことにより、前記第１８の発明における「補正係数算出手段」が、上記ステップ１７８の前提としてＱＰＧを算出することにより前記第１８の発明における「パージガス流量検出手段」が、上記ステップ１７８の処理を実行することにより前記第１８の発明における「ガス流量判断手段」が、上記ステップ１７２の処理を実行することにより前記第１８の発明における「第１の濃度設定手段」が、上記ステップ１８０の処理を実行することにより前記第１８の発明における「第２の濃度設定手段」が、それぞれ実現されている。更に、上述した実施の形態７では、ＥＣＵ６０が、図２に示す処理を実行することにより前記第１９の発明における「始動時検出手段」が実現されている。
【０１６３】
【発明の効果】
この発明は以上説明したように構成されているので、以下に示すような効果を奏する。
第１の発明によれば、パージ制御弁の開故障が検出された際に空燃比のずれの有無とそのずれの方向とが判断される。その結果、空燃比のずれが認められた場合は、パージガスの影響を相殺するための補正係数にリッチ側初期値或いはリーン側初期値を与えることができる。これらの初期値は、通常用いられる更新幅に比して補正係数に大きな変化を与えるものである。このため、本発明によれば、パージ制御弁の開故障時に、上記の補正係数を迅速に適正値に収束させることが可能であり、その結果、優れた空燃比制御を実現することが可能である。
【０１６４】
第２の発明によれば、パージ制御弁の開故障時には、高い感度で空燃比ずれの発生を認識して補正係数に初期値を入れることができる。このため、本発明によれば、開故障の検出後、速やかに補正係数を適正値に向けて大きく変化させることができる。一方、本発明によれば、通常の更新時には、低い感度で空燃比ずれの発生を認識することができる。このため、本発明によれば、空燃比に僅かな振れを受けて補正係数が不適切に更新されるのを避けることができる。
【０１６５】
第３の発明によれば、パージ制御弁の開故障時には、フューエルカットの実行を制限することができる。このため、本発明によれば、内燃機関の吸気通路にパージガスが流通している状況下でフューエルカットが実行される事態、つまり、燃料成分を含むパージガスが筒内で燃焼に付されることなく触媒に流入するような事態の発生を抑制することができ、有効に触媒を保護することができる。
【０１６６】
第４の発明によれば、パージガスの燃料濃度が濃い状況下に限ってフューエルカットの実行を制限することができる。パージガスの燃料濃度が薄い場合には、フューエルカットの実行を制限する必要がない。本発明によれば、そのような状況下で不必要にフューエルカットの実行が制限されるのを避けることができる。
【０１６７】
第５の発明によれば、パージ制御弁の開故障時には、フューエルカット回転数を高い値にすることにより、フューエルカットの実行を制限することができる。このような手法によれば、触媒の保護を図りながら、フューエルカットによる燃費改善効果を享受することができる。
【０１６８】
第６の発明によれば、パージ制御弁の開故障時には、フューエルカットの実行を禁止して、未燃成分を含むガスが触媒に流入するのを完全に阻止することができる。このため、本発明によれば、パージ制御弁の開故障時に、優れた触媒保護機能を実現することができる。
【０１６９】
第７の発明によれば、パージ制御弁の開故障に起因してベーパが多量に流通している状況下で、併せて冷間増量補正が行われることにより、空燃比が過剰リッチになるのを避けることができる。
【０１７０】
第８の発明によれば、冷間増量補正の実行に伴って現実に空燃比が過剰リッチになっている場合に限ってその増量分を減量することができる。このため、本発明によれば、不必要に増量補正分が減量されるのを避けることができる。
【０１７１】
第９の発明によれば、パージ制御弁の開故障が認められる場合に、アイドル空気量を増やすことができる。アイドル空気量が増えると、アイドル時における空燃比に対するパージガスの影響を小さくすることができる。このため、本発明によれば、パージ制御弁に開故障が生じた場合に、安定したアイドル運転状態を実現することができる。
【０１７２】
第１０の発明によれば、パージガスの燃料濃度が濃いほどアイドル空気量を多量にすることができる。アイドル時における空燃比は、パージガスの燃料濃度が高いほどリッチ化し易い。本発明によれば、その燃料濃度に応じてアイドル空気量を適量に設定することができるため、不必要にアイドル空気量を増やすことなく、安定したアイドル運転状態を実現することができる。
【０１７３】
第１１の発明によれば、パージ制御弁の開故障時に、達成すべき目標アイドル回転数を高めることにより、アイドル空気量を増量させることができる。
【０１７４】
第１２の発明によれば、パージ制御弁の開故障時に、点火時期を遅角して単位空気量当たりの出力トルクを低下させることにより、アイドル空気量を増量させることができる。
【０１７５】
第１３の発明によれば、パージ制御弁の開故障時に、キャニスタ開閉弁を閉じることにより、キャニスタへの大気の流入を制限することができる。キャニスタへの大気の流入が制限されると、キャニスタに吸着されている蒸発燃料のパージが抑制されると共に、吸気通路に流入するパージガス流量を少量とすることができる。このため、本発明によれば、パージ制御弁の開故障時に、パージガスの影響を十分に抑制して、優れた空燃比制御を実現することができる。
【０１７６】
第１４の発明によれば、パージガスの燃料濃度が濃い場合に限ってキャニスタ開閉弁を閉じることができる。キャニスタ開閉弁が閉じられると、キャニスタへの大気の流入が阻止されるため、燃料タンク内のガスが吸気通路に吸入され易くなる。キャニスタから流出するパージガスの燃料濃度が低いときは、燃料タンク内のガスが吸気通路に吸入されるより、濃度の薄いパージガスがキャニスタから吸気通路に流通する方が望ましい。本発明によれば、このような要求を満たすことが可能であり、パージガスの燃料濃度に応じた最適な状態を実現することができる。
【０１７７】
第１５の発明によれば、チェック弁の機能により、燃料タンクおよびキャニスタを含む系内への大気の流入を許容することができるため、キャニスタ開閉弁が閉じられていても、その系内が不当に大きく負圧化するのを避けることができる。このため、本発明によれば、キャニスタ開閉弁を閉じることによりパージガス流量を抑制しつつ、燃料タンクやキャニスタに過剰な圧力応力が加わるのを確実に防ぐことができる。
【０１７８】
第１６の発明によれば、チェック弁が燃料タンクに設けられているため、キャニスタ開閉弁の閉弁時に、系内に大きな負圧が生じた場合は、燃料タンク側から大気を吸い込ませることができる。この場合、吸気通路には、主として、キャニスタから流出するパージガスではなく、燃料タンクから流出したパージガスが流入する。キャニスタから流出するパージガスは、キャニスタに多量に燃料が吸着されている場合には高濃度となることがある。一方、燃料タンクから流出するガスは、燃料タンクの内部で発生したベーパを大気で希釈したものとなる。本発明によれば、吸気通路に流入するガスを後者のガスとすることができるため、不当に燃料濃度の高いパージガスが吸気通路に流入する事態の発生を避けることができる。
【０１７９】
第１７の発明によれば、パージ制御弁の開故障に伴ってキャニスタ開閉弁が閉じられた状況下では、パージガスの影響を排除するための補正係数に、速やかに初期値を設定することができる。上記の状況下では、燃料タンクから流出するガスがパージガスとして吸気通路に吸入される。このようなパージガスの燃料濃度はある程度固定化して取り扱うことができる。本発明では、その燃料濃度に対応する初期値が上記の補正係数に設定される。このため、本発明によれば、パージ制御弁の開故障が認められた後に、極めて迅速に補正係数を適正値に収束させることができ、その結果、優れた空燃比制御を実現することができる。
【０１８０】
第１８の発明によれば、キャニスタ開閉弁が閉じられることにより、吸気通路に流入するパージガスが燃料タンクから流出したガスに限られている状況下では、そのガスがタンク内のベーパのみを含むものであるか、或いは、ベーパと大気の混合気であるかに応じて、パージガスの燃料濃度を適切に設定することができる。そして、本発明によれば、そのようにして設定された適切な燃料濃度に基づいて燃料噴射量が算出されるため、高精度な空燃比制御を実現することができる。
【０１８１】
第１９の発明によれば、内燃機関の始動直後にパージ制御弁の開故障を検出することができるため、初期値の設定や、冷間増量補正の減量補正を、開故障に起因する不当なパージの開始直後において実行することができる。このため、本発明によれば、開故障に伴う異常状態が発生した直後から、その異常に対処して、高い精度での空燃比制御を実現することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１の構成を説明するための図である。
【図２】本発明の実施の形態１において、パージＶＳＶに開故障が生じているか否かを判断すべく実行される処理の内容を説明するためのフローチャートである。
【図３】本発明の実施の形態１で用いられる燃料噴射時間の演算手法を説明するためのフローチャートである。
【図４】本発明の実施の形態１において実行される学習制御ルーチンのフローチャートである。
【図５】本発明の実施の形態２において実行されるＦ／Ｃ制御ルーチンのフローチャートである。
【図６】本発明の実施の形態３において用いられる水温増量係数ＦＷのマップである。
【図７】本発明の実施の形態３において実行されるＴＡＵ算出ルーチンのフローチャートである。
【図８】本発明の実施の形態４において実行されるＩＳＣ流量制御ルーチンのフローチャートである。
【図９】本発明の実施の形態４において実行される点火時期算出ルーチンのフローチャートである。
【図１０】本発明の実施の形態４の変形例において実行されるＩＳＣ流量制御ルーチンフローチャートである。
【図１１】本発明の実施の形態５において実行されるＣＣＶ制御ルーチンフローチャートである。
【図１２】本発明の実施の形態６において実行される学習制御ルーチンのフローチャートである。
【図１３】本発明の実施の形態７においてＣＣＶが閉じられた状態で生ずるパージガスの流量ＱＰＧ（縦軸）と吸気管圧力ＰＭとの関係、並びにパージガスの流量ＱＰＧとそのガスの内訳との関係を示す図である。
【図１４】本発明の実施の形態７において実行されるＡ／Ｆ補正制御ルーチンのフローチャートである。
【符号の説明】
１０  燃料タンク
２０  キャニスタ
２２  ＣＣＶ（Ｃａｎｉｓｔｅｒ  Ｃｌｏｓｅｄ  Ｖａｌｖｅ）
２８  パージＶＳＶ（Ｖａｃｕｕｍ  Ｓｗｉｔｃｈｉｎｇ  Ｖａｌｖｅ）
３０  吸気通路
６０  ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）
ＸＶＳＶ開  開故障判定フラグ
ＦＰＧ  パージ補正係数
ＰＧＲ  パージ率
ＦＧＰＧ  ベーパ濃度学習値
ｔＦＧＰＧ  ＦＧＰＧのＲＡＭ値
ＴＡＵ  燃料噴射時間
ＦＷ  水温増量係数
ＦＡＦ  空燃比フィードバック係数
ＫＦＧＰＧＲ  リッチ側初期値
ＫＦＧＰＧＬ  リーン側初期値
ｔＮＥＶ−  アイドル回転数の一時的目標下限値
ｔＮＥＶ＋  アイドル回転数の一時的目標上限値
ＡＶ  点火遅角量
ＫＦＧＰＧＴ  初期値
ＫＱＴ  タンクベーパ発生量
【図１】
2005016484.tif 000003
【図２】
2005016484.tif 000004
【図３】
2005016484.tif 000005
【図４】
2005016484.tif 000006
【図５】
2005016484.tif 000007
【図６】
2005016484.tif 000008
【図７】
2005016484.tif 000009
【図８】
2005016484.tif 000010
【図９】
2005016484.tif 000011
【図１０】
2005016484.tif 000012
【図１１】
2005016484.tif 000013
【図１２】
2005016484.tif 000014
【図１３】
2005016484.tif 000015
【図１４】
2005016484.tif 000016