(57)【要約】【課題】本発明はキャニスタを用いた蒸発燃料処理システムに関し、キャニスタと吸気通路との導通を制御するパージ制御弁に故障が生じた場合でも、高精度な空燃比制御を実現することを目的とする。【解決手段】キャニスタと内燃機関の吸気通路との間にパージＶＳＶを設ける。パージＶＳＶの故障判定を行う。ＥＣＵは、パージＶＳＶを開弁させてパージ処理を実行するための手段と、パージガスの燃料濃度を学習する手段と、燃料濃度の学習値に基づいて燃料噴射量を補正する手段とを備える。パージ制御弁が正常であり、かつ、パージの実行条件が成立している場合に（ステップ１６０，１６４，１６６）、上記のパージ処理（ステップ１７０〜１８２）を行い、その結果を用いて上記の学習および補正を行う。パージ制御弁の開故障時（ＸＶＳＶ＝１）は常にそれらの処理を行う（ステップ１６４）。【選択図】        図６
2005002921.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理システムであって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
前記パージ制御弁の故障判定を行う故障判定手段と、
前記パージ制御弁を開弁させて前記キャニスタから前記吸気通路にパージガスを流通させるパージ処理を実行するためのパージ処理手段と、
前記パージガスの燃料濃度を学習する学習処理を実行するための燃料濃度学習手段と、
前記燃料濃度の学習値に基づいて内燃機関に対する燃料噴射量を補正する補正処理を実行するための燃料噴射量補正手段と、
パージ制御の実行条件が成立しているか否かを判断するパージ条件判断手段と、
前記パージ制御弁が正常であり、かつ、前記実行条件が成立している場合に、前記パージ処理、前記学習処理、および前記補正処理の実行を要求する通常処理要求手段と、
前記パージ制御弁の開故障時に、常に前記学習処理および前記補正処理の実行を要求する開故障時処理要求手段と、
を備えることを特徴とする蒸発燃料処理システム。
【請求項２】
目標空燃比と一致する空燃比が演算できるように前記燃料噴射量の演算手法を学習する演算手法学習処理を実行するための演算手法学習手段と、
前記パージ制御弁が正常であり、かつ、前記パージ制御弁が閉弁状態である場合に前記演算手法学習処理の実行を要求する通常時学習要求手段と、
前記パージ制御弁の閉故障時に、常に前記演算手法学習処理の実行を要求する閉故障時学習要求手段と、
を備えることを特徴とする請求項１記載の蒸発燃料処理システム。
【請求項３】
前記燃料噴射量補正手段は、前記パージ制御弁の開度と、前記パージガスの燃料濃度の学習値とに基づいて前記燃料噴射量の補正量を算出し、
前記燃料濃度学習手段は、前記補正量により目標空燃比が実現されるように前記燃料濃度を学習し、
前記パージ制御弁の開故障時には、当該パージ制御弁の開度をゼロでない固定値に設定する開故障時開度設定手段を備えることを特徴とする請求項１または２記載の蒸発燃料処理システム。
【請求項４】
前記固定値は、全開相当値であることを特徴とする請求項３記載の蒸発燃料処理システム。
【請求項５】
内燃機関の始動時に前記キャニスタを大気から遮断する遮断機構と、
内燃機関の始動時に前記パージ制御弁を閉弁状態に制御するパージ制御弁制御手段と、
内燃機関の始動後所定期間の間に前記キャニスタを含む系内に生じた圧力変化を検出する圧力変化検出手段と、
前記圧力変化に基づいて前記パージ制御弁の開故障を判定する開故障判定手段と、
内燃機関の始動時における燃料タンクの温度環境を検知する温度環境検知手段と、
前記温度環境が所定の低温環境である場合にのみ、前記圧力変化に基づく前記開故障の判定を許可する判定許可手段と、
を備えることを特徴とする請求項１乃至４の何れか１項記載の蒸発燃料処理システム。
【請求項６】
内燃機関の始動時に前記キャニスタを大気から遮断する遮断機構と、
内燃機関の始動時に前記パージ制御弁を開弁状態に制御するパージ制御弁制御手段と、
内燃機関の始動後所定期間の間に前記キャニスタを含む系内に生じた圧力変化を検出する圧力変化検出手段と、
前記圧力変化に基づいて前記パージ制御弁の閉故障を判定する閉故障判定手段と、
内燃機関の始動時における燃料タンクの温度環境を検知する温度環境検知手段と、
前記温度環境が所定の低温環境である場合にのみ、前記圧力変化に基づく前記閉故障の判定を許可する判定許可手段と、
を備えることを特徴とする請求項１乃至４の何れか１項記載の蒸発燃料処理システム。
【請求項７】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理システムであって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関の始動時に前記キャニスタを大気から遮断する遮断機構と、
内燃機関の始動時に前記パージ制御弁を閉弁状態に制御するパージ制御弁制御手段と、
内燃機関の始動後所定期間の間に前記キャニスタを含む系内に生じた圧力変化を検出する圧力変化検出手段と、
前記圧力変化に基づいて前記パージ制御弁の開故障を判定する開故障判定手段と、
内燃機関の始動時における燃料タンクの温度環境を検知する温度環境検知手段と、
前記温度環境が所定の低温環境である場合にのみ、前記圧力変化に基づく前記開故障の判定を許可する判定許可手段と、
を備えることを特徴とする蒸発燃料処理システム。
【請求項８】
燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理システムであって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関の始動時に前記キャニスタを大気から遮断する遮断機構と、
内燃機関の始動時に前記パージ制御弁を開弁状態に制御するパージ制御弁制御手段と、
内燃機関の始動後所定期間の間に前記キャニスタを含む系内に生じた圧力変化を検出する圧力変化検出手段と、
前記圧力変化に基づいて前記パージ制御弁の閉故障を判定する閉故障判定手段と、
内燃機関の始動時における燃料タンクの温度環境を検知する温度環境検知手段と、
前記温度環境が所定の低温環境である場合にのみ、前記圧力変化に基づく前記閉故障の判定を許可する判定許可手段と、
を備えることを特徴とする蒸発燃料処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、蒸発燃料処理システムに係り、特に、キャニスタに吸着された蒸発燃料を内燃機関の吸気通路に吸入させることにより処理する蒸発燃料処理システムに関する。
【０００２】
【従来の技術】
従来、例えば特開平６−５８１９７号公報に開示されるように、燃料タンクの内部で発生した蒸発燃料を吸着するためのキャニスタと、そのキャニスタを必要に応じて内燃機関の吸気通路に導通させるためのパージ制御弁とを備える蒸発燃料処理システムが知られている。このシステムにおいて、パージ制御弁が開弁されると、吸気負圧がキャニスタに導かれ、キャニスタに吸着されている燃料が空気と共に吸気通路に吸入される。このため、上記従来のシステムによれば、燃料タンクの内部で発生する蒸発燃料を大気に放出させることなく処理することができる。
【０００３】
また、上記の公報には、パージ制御弁の開故障（開状態で固着する故障）と閉故障（閉状態で固着する故障）とを区別して認識し、閉故障の発生が認められる場合には特別の処理を行わない一方、開故障の発生が認められる場合には、空燃比の学習を中止したうえで空燃比の補正制御を行う手法が開示されている。また、上記の補正制御の内容としては、機関回転数等からパージガスの流量を推定し、その推定流量に基づいて空燃比を補正する手法が開示されている。このような従来の制御手法によれば、パージ制御弁の開故障時に生ずるパージガスの影響をある程度補正することができ、開故障時における空燃比荒れを抑制することができる。
【０００４】
【特許文献１】
特開平６−５８１９７号公報
【特許文献２】
特開平５−１８０１０１号公報
【特許文献３】
特開平１１−１４１４１３号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来の制御手法では、パージ制御弁に開故障が生じた場合に、空燃比の学習が中止されると共に、パージガスの推定流量のみをパラメータとする空燃比補正が行われる。パージガスの推定流量のみをパラメータとする補正では、パージガスの燃料濃度の変化等に精度良く対処することができない。このため、上述した従来の制御手法によっては、パージ制御弁の故障時に高精度な空燃比制御を実現することは困難であった。
【０００６】
本発明は、上記の点に鑑みてなされたものであり、キャニスタと吸気通路との導通を制御するパージ制御弁に故障が生じた場合でも、高精度な空燃比制御を実行することのできる蒸発燃料処理システムを提供することを目的とする。
【０００７】
【課題を解決するための手段】
第１の発明は、上記の目的を達成するため、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理システムであって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
前記パージ制御弁の故障判定を行う故障判定手段と、
前記パージ制御弁を開弁させて前記キャニスタから前記吸気通路にパージガスを流通させるパージ処理を実行するためのパージ処理手段と、
前記パージガスの燃料濃度を学習する学習処理を実行するための燃料濃度学習手段と、
前記燃料濃度の学習値に基づいて内燃機関に対する燃料噴射量を補正する補正処理を実行するための燃料噴射量補正手段と、
パージ制御の実行条件が成立しているか否かを判断するパージ条件判断手段と、
前記パージ制御弁が正常であり、かつ、前記実行条件が成立している場合に、前記パージ処理、前記学習処理、および前記補正処理の実行を要求する通常処理要求手段と、
前記パージ制御弁の開故障時に、常に前記学習処理および前記補正処理の実行を要求する開故障時処理要求手段と、
を備えることを特徴とする。
【０００８】
また、第２の発明は、第１の発明において、
目標空燃比と一致する空燃比が演算できるように前記燃料噴射量の演算手法を学習する演算手法学習処理を実行するための演算手法学習手段と、
前記パージ制御弁が正常であり、かつ、前記パージ制御弁が閉弁状態である場合に前記演算手法学習処理の実行を要求する通常時学習要求手段と、
前記パージ制御弁の閉故障時に、常に前記演算手法学習処理の実行を要求する閉故障時学習要求手段と、
を備えることを特徴とする。
【０００９】
また、第３の発明は、第１または第２の発明において、
前記燃料噴射量補正手段は、前記パージ制御弁の開度と、前記パージガスの燃料濃度の学習値とに基づいて前記燃料噴射量の補正量を算出し、
前記燃料濃度学習手段は、前記補正量により目標空燃比が実現されるように前記燃料濃度を学習し、
前記パージ制御弁の開故障時には、当該パージ制御弁の開度をゼロでない固定値に設定する開故障時開度設定手段を備えることを特徴とする。
【００１０】
また、第４の発明は、第３の発明において、前記固定値は、全開相当値であることを特徴とする。
【００１１】
また、第５の発明は、第１乃至第４の発明の何れかにおいて、
内燃機関の始動時に前記キャニスタを大気から遮断する遮断機構と、
内燃機関の始動時に前記パージ制御弁を閉弁状態に制御するパージ制御弁制御手段と、
内燃機関の始動後所定期間の間に前記キャニスタを含む系内に生じた圧力変化を検出する圧力変化検出手段と、
前記圧力変化に基づいて前記パージ制御弁の開故障を判定する開故障判定手段と、
内燃機関の始動時における燃料タンクの温度環境を検知する温度環境検知手段と、
前記温度環境が所定の低温環境である場合にのみ、前記圧力変化に基づく前記開故障の判定を許可する判定許可手段と、
を備えることを特徴とする。
【００１２】
また、第６の発明は、第１乃至第４の発明の何れかにおいて、
内燃機関の始動時に前記キャニスタを大気から遮断する遮断機構と、
内燃機関の始動時に前記パージ制御弁を開弁状態に制御するパージ制御弁制御手段と、
内燃機関の始動後所定期間の間に前記キャニスタを含む系内に生じた圧力変化を検出する圧力変化検出手段と、
前記圧力変化に基づいて前記パージ制御弁の閉故障を判定する閉故障判定手段と、
内燃機関の始動時における燃料タンクの温度環境を検知する温度環境検知手段と、
前記温度環境が所定の低温環境である場合にのみ、前記圧力変化に基づく前記閉故障の判定を許可する判定許可手段と、
を備えることを特徴とする。
【００１３】
また、第７の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理システムであって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関の始動時に前記キャニスタを大気から遮断する遮断機構と、
内燃機関の始動時に前記パージ制御弁を閉弁状態に制御するパージ制御弁制御手段と、
内燃機関の始動後所定期間の間に前記キャニスタを含む系内に生じた圧力変化を検出する圧力変化検出手段と、
前記圧力変化に基づいて前記パージ制御弁の開故障を判定する開故障判定手段と、
内燃機関の始動時における燃料タンクの温度環境を検知する温度環境検知手段と、
前記温度環境が所定の低温環境である場合にのみ、前記圧力変化に基づく前記開故障の判定を許可する判定許可手段と、
を備えることを特徴とする。
【００１４】
また、第８の発明は、燃料タンクから流出する蒸発燃料を吸着するキャニスタを備える蒸発燃料処理システムであって、
前記キャニスタと内燃機関の吸気通路との導通状態を制御するパージ制御弁と、
内燃機関の始動時に前記キャニスタを大気から遮断する遮断機構と、
内燃機関の始動時に前記パージ制御弁を開弁状態に制御するパージ制御弁制御手段と、
内燃機関の始動後所定期間の間に前記キャニスタを含む系内に生じた圧力変化を検出する圧力変化検出手段と、
前記圧力変化に基づいて前記パージ制御弁の閉故障を判定する閉故障判定手段と、
内燃機関の始動時における燃料タンクの温度環境を検知する温度環境検知手段と、
前記温度環境が所定の低温環境である場合にのみ、前記圧力変化に基づく前記閉故障の判定を許可する判定許可手段と、
を備えることを特徴とする。
【００１５】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００１６】
実施の形態１．
［システム構成の説明］
図１は、本発明の実施の形態１の蒸発燃料処理システムの構成を説明するための図である。本実施形態の蒸発燃料処理システムは、燃料タンク１０を備えている。燃料タンク１０には、タンク内圧ＰＴＮＫを測定するためのタンク内圧センサ１２が設けられている。また、燃料タンク１０の給油孔を塞ぐキャップには、燃料タンク１０の外部から内部へ向かうガスの流れのみを許容する逆止弁１３が設けられている。更に、燃料タンク１０には、ＲＯＶ（Ｒｏｌｌ  Ｏｖｅｒ  Ｖａｌｖｅ）１４，１６を介してベーパ通路１８の一端が接続されている。
【００１７】
ベーパ通路１８の他端はキャニスタ２０に接続されている。キャニスタ２０は、その内部に活性炭を備えており、ベーパ通路１８から流入してくる蒸発燃料を吸着することができる。キャニスタ２０には大気孔が設けられており、その大気孔にはＣＣＶ（Ｃａｎｉｓｔｅｒ  Ｃｌｏｓｅｄ  Ｖａｌｖｅ）２２と逆止弁２４が配置されている。ＣＣＶ２２は、駆動信号の供給を受けることにより開状態となる常時閉タイプの電磁弁である。また、逆止弁２４は、大気側からキャニスタ２０内部へ向かう流体の流れのみを許容する一方向弁である。
【００１８】
キャニスタ２０には、また、パージ通路２６の一端が接続されている。パージ通路２６の途中には、その内部を流れるガスの流量を制御するためのパージＶＳＶ（Ｖａｃｕｕｍ  Ｓｗｉｔｃｈｉｎｇ  Ｖａｌｖｅ）２８が設けられている。パージＶＳＶ２８は、デューティ駆動されることにより、実質的にそのデューティ比に応じた開度を実現する制御弁である。
【００１９】
パージ通路２６の他端は、内燃機関の吸気通路３０に接続されている。吸気通路３０の端部にはエアクリーナ３２が設けられている。エアクリーナ３２の下流側には吸入空気量ＧＡに応じた出力を発するエアフロメータ３４が配置されている。更に、エアフロメータ３４の下流には、吸入空気量ＧＡを制御するためのスロットル弁３６が配置されている。スロットル弁３６の近傍には、スロットル開度ＴＡに応じた出力を発するスロットルセンサ３８が配置されている。上述したパージ通路２６は、スロットル弁３６の下流において吸気通路３０に連通している。
【００２０】
吸気通路３０は、吸気マニホールド４０を介して内燃機関（図示せず）に導通している。吸気マニホールド４０には、内燃機関に対して燃料を噴射するための燃料噴射弁４２が配置されている。燃料噴射弁４２には、燃料タンク１０の内部に配置されている燃料フィードポンプ４４から、所定の圧力で燃料が供給されている。燃料噴射弁４２は、開弁信号を受けることにより開弁し、その開弁時間に応じた量だけ燃料を噴射する。従って、内燃機関に対する燃料噴射量は、燃料噴射弁４２の開弁時間、つまり、燃料噴射時間ＴＡＵを変化させることにより制御することができる。
【００２１】
内燃機関には、回転数センサ４６、水温センサ４８、吸気温センサ５０、および酸素センサ５２等のセンサが組み込まれている。回転数センサ４６は、機関回転数ＮＥに応じた出力を発するセンサである。水温センサ４８は、内燃機関の冷却水温ＴＨＷに応じた出力を発するセンサである。吸気温センサ５０は、吸気通路３０の内部を流れる吸入空気の温度に応じた出力を発するセンサである。また、酸素センサ５２は、内燃機関の排気通路に配置され、触媒（図示せず）に流入する排気ガスがリーンであるか（酸素を含んでいるか）、或いはリッチであるか（酸素を含んでいないか）に応じた出力を発するセンサである。
【００２２】
本実施形態のシステムは、ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）６０を備えている。ＥＣＵ６０には、上述した各種のセンサおよびアクチュエータが接続されている。ＥＣＵ６０は、それらのセンサの出力に基づいて種々の演算処理を行い、ＣＣＶ２２やパージＶＳＶ２８、或いは、燃料噴射弁４２などの制御を実行することができる。
【００２３】
［システムの動作説明］
（基本動作）
本実施形態のシステムにおいて、内燃機関の停止中、および給油中は、ＣＣＶ２２が開弁状態とされる一方、パージＶＳＶ２８が閉弁状態とされる。内燃機関の停止直後等は、燃料タンク１０の内部で余熱により多量に蒸発燃料が発生することがある。この際、タンク内圧ＰＴＮＫが不当に高圧になるのを防ぐためには、蒸発燃料を含むガスを燃料タンク１０の外部に流出させることが必要である。また、給油の際には、燃料タンク１０に燃料が流入するのに伴ってタンク内の空き容積が減少する。この際、円滑な給油を可能とするためには、燃料タンク１０内のガスが外部に押し出されるのを許容することが必要である。
【００２４】
本実施形態のシステムは、これらの場面において、燃料タンク１０内のガスがキャニスタ２０を通ってＣＣＶ２２から大気に流出するのを許容することができる。この際、ガス中に含まれる蒸発燃料はキャニスタ２０内の活性炭に吸着されるため、ＣＣＶ２２の外には空気のみが流出する。このため、本実施形態のシステムによれば、内燃機関の停止中や給油時に蒸発燃料が大気に流出するのを有効に阻止することができる。
【００２５】
本実施形態のシステムにおいて、内燃機関の運転中は、原則としてＣＣＶ２２が開弁状態とされると共に、必要に応じてパージＶＳＶ２８がデューティ駆動される。内燃機関の運転中にパージＶＳＶ２８が開かれると、キャニスタ２０にパージ通路２６を介して吸気負圧が導かれる。この際、ＣＣＶ２２が開いていると、そこからキャニスタ２０の内部に空気が流入し、キャニスタ２０に吸着されている蒸発燃料が空気の流れによりパージされる。その結果生じたパージガスは、吸気通路３０に吸入され、内燃機関において燃焼に付される。このように、本実施形態のシステムによれば、内燃機関の運転中において、蒸発燃料を大気に放出させることなく、キャニスタ２０を適当にパージすることができる。
【００２６】
（パージＶＳＶの開故障判定）
図１に示すシステムは、パージＶＳＶ２８に故障が生ずると、通常の機能を果たすことができない状態となる。ここで、パージＶＳＶ２８には、弁が開いたままとなる開故障と弁が閉じたままとなる閉故障が生ずることがある。パージＶＳＶ２８の故障の影響を最小限に抑えるためには、その故障の発生を早期に検知することが望ましく、また、その故障が開故障であるのか、或いは閉故障であるのかが区別できることが望ましい。このため、本実施形態のシステムは、内燃機関の始動直後に、パージＶＳＶ２８の開故障を検知するための診断、および閉故障を検知するための診断を順次実行することとしている。
【００２７】
図２は、パージＶＳＶ２８の開故障を検知する際の処理の内容を説明するためのタイミングチャートである。より具体的には、図２（Ａ）は、内燃機関の始動直後におけるパージＶＳＶ２８の状態を示す。この図に示すように、パージＶＳＶ２８は、開故障の検出中は常に閉弁状態に制御される。また、図２（Ｂ）および図２（Ｅ）は、それぞれ内燃機関の始動直後におけるＣＣＶ２２の状態、および機関回転数ＮＥの変化を示す。これらの図に示すように、ＣＣＶ２２は、機関回転数ＮＥが３５０ｒｐｍに達するまで、つまり、内燃機関の完爆が認識されるまでは開状態に維持され、その完爆が認められた時点で閉弁状態とされる。
【００２８】
図２（Ｃ）は、内燃機関の始動直後におけるタンク内圧ＰＴＮＫの変化を示す。特に、この図中に示す波形は、パージＶＳＶ２８に開故障が生じていた場合の波形を示している。尚、図２（Ｃ）中に示すＰ０は、ＣＣＶ２２が開いている状況下でのタンク内圧ＰＴＮＫであり、実質的には大気圧を意味している。また、同図中に示すΔＰは、内燃機関の始動が開始された後、所定時間ＫＣ１（図２（Ｅ）参照）が経過した時点でＰＴＮＫとＰ０の間に生じていた差圧を意味している。そして、図２（Ｃ）中に示すＫＰは、開故障の有無を判断するための判定値である。
【００２９】
吸気通路３０の内部には、内燃機関の始動と共に吸気負圧が発生する。パージＶＳＶ２８が図２（Ａ）に示すように適正に閉じている場合は、吸気負圧の影響がタンク内圧ＰＴＮＫに及ぶことはない。従って、パージＶＳＶ２８に開故障が生じていない場合には、内燃機関の始動後、タンク内圧ＰＴＮＫは、Ｐ０の近傍に維持されるはずである。これに対して、パージＶＳＶに開故障が生じている場合には、吸気負圧がパージＶＳＶ２８を通過してキャニスタ２０に到達する。内燃機関の完爆後はＣＣＶ２２が閉じられるため、上記の吸気負圧は、キャニスタ２０を通過して燃料タンク１０にまで到達する。その結果、タンク内圧ＰＴＮＫには、図２（Ｃ）に示すような変化が生ずる。つまり、パージＶＳＶ２８に開故障が生じている場合は、内燃機関の始動後に、タンク内圧ＰＴＮＫが、逆止弁１３の開弁圧（或いは、逆止弁２４の開弁圧に対応する圧力）に達するまで低下する。従って、本実施形態のシステムによれば、原理的には、内燃機関の始動後に大きな差圧ΔＰが生ずるか否かを見ることにより、パージＶＳＶ２８の開故障の有無を判断することができる。
【００３０】
図２（Ｅ）は、パージＶＳＶ２８に開故障が生じているか否かを表すための開故障判定フラグＸＶＳＶ開の状態を示す。図２に示す例では、所定時間ＫＣ１が経過した時点でＫＰを下回る差圧ΔＰの発生が認められる。この場合、図２（Ｅ）に示すように、開故障判定フラグＸＶＳＶには、その時点で１がセットされる。
【００３１】
図３は、パージＶＳＶ２８に開故障が生じているか否かを判断すべく、ＥＣＵ６０が実行する具体的処理の内容を説明するためのフローチャートである。尚、図３に示すルーチンは、車両のＩＧスイッチがオンとされると同時に起動され、その後、所定時間毎に繰り返し実行されるものとする。
【００３２】
図３に示すルーチンでは、先ず、第１ＯＢＤカウンタの計数値ＣＯＢＤ１が、ジャンプ判定値ＫＣ１１に達したか否かが判別される（ステップ１００）。第１ＯＢＤカウンタは、車両のＩＧスイッチのオン時にイニシャル処理によりクリアされるカウンタである。従って、車両の始動直後は、本ステップ１００において、ＣＯＢＤ１≧ＫＣ１１が成立しないとの判定がなされる。
【００３３】
上記ステップ１００において、ＣＯＢＤ１≧ＫＣ１１が成立しないとの判定が下されると、次に、計数値ＣＯＢＤ１がインクリメントされる（ステップ１０２）。次いで、その計数値ＣＯＢＤ１が、診断判定値ＫＣ１に達したか否かが判別される（ステップ１０４）。診断判定値ＫＣ１は、パージＶＳＶ２８に開故障が生じているか否かを判断するタイミングに対応する値であり、上述したジャンプ判定値ＫＣ１１に比して「１」だけ小さな値である。車両の始動直後は、本ステップ１０４において、ＣＯＢＤ１≧ＫＣ１が成立しないとの判定がなされる。
【００３４】
上記ステップ１０４において、ＣＯＢＤ１≧ＫＣ１が成立しないとの判定が下されると、次に、機関回転数ＮＥが３５０ｒｐｍを超えたか否かが判別される（ステップ１０６）。ここで、３５０ｒｐｍは、内燃機関が完爆したか否かを判断するための判定値である。内燃機関のクランキング期間等、その始動が開始された直後は、ＮＥ＞３５０ｒｐｍの条件が成立しない。この場合は、次に、その時点におけるタンク内圧ＰＴＮＫが基準圧Ｐ０として記憶される（ステップ１０８）。以後、その時点における冷却水温ＴＨＷおよび吸気温ＴＨＡが、それぞれ開始時冷却水温ＴＨＷＳＴおよび開始時吸気温ＴＨＡＳＴとして記憶され（ステップ１１０、１１２）、今回の処理サイクルが終了される。
【００３５】
内燃機関の始動が開始された後、機関回転数ＮＥが３５０ｒｐｍに達するまでは、図３に示すルーチンが起動される毎に、上述したステップ１００〜１１２の処理が繰り返し実行される。その結果、ＥＣＵ６０は、機関回転数ＮＥが３５０ｒｐｍに達した時点でのタンク内圧ＰＴＮＫを基準圧Ｐ０として記憶することができ、また、その時点の冷却水温ＴＨＷおよび吸気温ＴＨＡを、それぞれ始動時冷却水温ＴＨＷＳＴおよび始動時吸気温ＴＨＡＳＴとして記憶することができる。
【００３６】
機関回転数ＮＥが３５０ｒｐｍに達した後、つまり、内燃機関の完爆後に図３に示すルーチンが起動されると、今度は、上記ステップ１０６において、ＮＥ＞３５０ｒｐｍが成立すると判断される（ステップ１０６）。この場合、次に、その時点におけるタンク内圧ＰＴＮＫと基準圧Ｐ０との差圧ΔＰ＝ＰＴＮＫ−Ｐ０が算出される（ステップ１１４）。この差圧ΔＰは、内燃機関の完爆後にタンク内圧ＰＴＮＫに有意な低下が生じない場合は０近傍の値として算出され、一方、ＰＴＮＫに有意な低下が認められる場合は負の値として算出される。
【００３７】
図３に示すルーチンでは、次に、ＣＣＶ２２の閉弁処理が実行される（ステップ１１６）。次いで、上記の差圧ΔＰが開故障判定値ＫＰより小さいか否かが判別される（ステップ１１８）。つまり、内燃機関の完爆後に、タンク内圧ＰＴＮＫに有意な低下が生じているか否かが判別される。その結果、ΔＰ＜ＫＰが成立しないと判別される場合は、吸気負圧の影響がタンク内圧ＰＴＮＫに及んでいないと判断することができる。この場合は、現時点でパージＶＳＶ２８の開故障が認められないことを表すべく、開故障判定仮フラグｔＸＶＳＶ開に「０」がセットされる（ステップ１２０）。一方、上記ステップ１１８において、ΔＰ＜ＫＰが成立すると判別される場合は、吸気負圧の影響がタンク内圧ＰＴＮＫに及んでいる、つまり、パージＶＳＶ２８が開いていると判断することができる。この場合は、パージＶＳＶ２８の開故障が認められることを表すべく、開故障判定仮フラグｔＸＶＳＶ開に「１」がセットされる。
【００３８】
内燃機関が完爆した後、パージＶＳＶ２８に開故障が生じているか否かを判断すべきタイミングが到来するまでの間は、つまり、第１ＯＢＤカウンタの計数値ＣＯＢＤ１が診断判定値ＫＣ１に達するまでの間は、図３に示すルーチンが起動される毎に、上述したステップ１００〜１０６およびステップ１１４〜１２２の処理が繰り返される。その結果、開故障判定仮フラグｔＸＶＳＶ開の最終値は、ＣＯＢＤ１がＫＣ１に達する直前の処理サイクルにおいて設定されることになる。
【００３９】
図３に示すルーチンが起動された後、上記ステップ１０４において、ＣＯＢＤ１≧ＫＣ１の成立が判定された場合は、開故障の有無を判断すべき時期が到来したと判断できる。この場合、ＣＣＶ２２の開弁処理が行われた後（ステップ１２４）、開始時冷却水温ＴＨＷＳＴが、冷間判定値ＫＴＨＷより低いか否かが判別される（ステップ１２６）。
【００４０】
冷間判定値ＫＴＨＷは、燃料タンク１０の内部で蒸発燃料が多量に発生する可能性が有るか否かを判断するため判定値である。従って、開始時冷却水温ＴＨＷＳＴがＫＴＨＷより低くないと判別される場合は、内燃機関の始動時に、燃料タンク１０の内部で蒸発燃料が多量に発生していた可能性があると判断できる。このような状況下では、差圧ΔＰが蒸発燃料の影響を受けるため、差圧ΔＰを基礎とする判定に誤りが生じ易い。そこで、図３に示すルーチンでは、上記ステップ１２６においてＴＨＷＳＴ＜ＫＴＨＷが成立しないと判別された場合は、開故障に関する最終的な判定を下すことなく今回の処理サイクルを終了することとした。このような処理によれば、温暖な状態での内燃機関の再始動時などに、パージＶＳＶ２８の開故障の有無が誤って判断されるのを防ぐことができる。
【００４１】
上記ステップ１２６において、ＴＨＷＳＴ＜ＫＴＨＷが成立すると判別された場合は、差圧ΔＰがさほど蒸発燃料の影響を受けていないと判断することができる。この場合、以後、開故障判定仮フラグｔＸＶＳＶ開の値が、開故障判定フラグＸＶＳＶ開の値としてセットされる（ステップ１２８）。以後、ＥＣＵ６０は、ＸＶＳＶ開に１がセットされている場合には、パージＶＳＶ２８に開故障が生じていると判断し、一方、ＸＶＳＶ開に０がセットされている場合は、パージＶＳＶ２８に開故障が生じていないと判断する。
【００４２】
上述した一連の処理が終了した後、図３に示すルーチンが再び起動された際には、上記ステップ１００において、ＣＯＢＤ１≧ＫＣ１１（＝ＫＣ１＋１）が成立すると判断される。この場合、以後ステップ１０２以降の処理がジャンプされ、実質的な処理が何ら行われることなく図３に示すルーチンが終了される。本実施形態において、ＥＣＵ６０は、以上の通り説明した図３に示すルーチンを実行することにより、内燃機関の始動直後に、パージＶＳＶ２８に開故障が生じているか否かを正確に判定することができる。
【００４３】
（パージＶＳＶの閉故障判定）
図４は、パージＶＳＶ２８の閉故障を検知する際の処理の内容を説明するためのタイミングチャートである。より具体的には、図４（Ａ）は、図３に示す開故障検出処理の終了後におけるパージＶＳＶ２８の状態を示す。図４に示す時刻ｔ０は、内燃機関の始動後パージＶＳＶ２８が初めて開弁された時刻である。パージＶＳＶ２８は、内燃機関の始動後、既述したジャンプ判定値ＫＣ１１（図３ステップ１００参照）に相当する時間が経過するまでは閉弁状態に制御される。従って、時刻ｔ０は、計数値ＣＯＢＤ１がジャンプ判定値ＫＣ１１に到達する以後の時刻である。
【００４４】
図４（Ｂ）は、閉故障判定処理の実行中におけるＣＣＶ２２の状態を示す。また、図４に示すＫＣ２は、パージＶＳＶ２８に閉故障が生じているか否かを判断すべき時刻、つまり、閉故障判定処理の終了時刻を意味している。図４（Ｂ）に示すように、ＣＣＶ２２は、時刻ｔ０においてパージＶＳＶ２８が開かれた後、閉故障判定処理が終了するまでの間、閉状態に制御される。
【００４５】
図４（Ｃ）は、閉故障検出処理の実行中におけるタンク内圧ＰＴＮＫの変化を示す。より詳細には、この図中に破線で示す波形は、正常時におけるタンク内圧ＰＴＮＫの波形であり、一方、図中に実線で示す波形は、パージＶＳＶ２８に閉故障が生じている場合の波形を示す。閉故障検出処理の実行中に、パージＶＳＶ２８が適正に開弁している場合は、吸気負圧がキャニスタ２０に導入される。閉故障検出処理の実行中は、既述した通りＣＣＶ２２が閉じているため、キャニスタ２０に導入された負圧は、燃料タンク１０にまで到達する。このため、パージＶＳＶ２８に閉故障が生じていなければ、タンク内圧ＰＴＮＫは、図４（Ｃ）中に破線で示すように、時刻ｔ０の後、大きく負圧側に変化するはずである。これに対して、パージＶＳＶ２８に閉故障が生じている場合は、吸気負圧の導入が妨げられるため、図４（Ｃ）中に実線で示した通り、タンク内圧ＰＴＮＫに有意な低下は生じない。従って、本実施形態のシステムによれば、原理的には、閉故障検出処理の開始後にタンク内圧ＰＴＮＫに有意な低下が生ずるか否かを見ることで、パージＶＳＶ２８の閉故障の有無を判断することができる。
【００４６】
図４（Ｄ）は、パージＶＳＶ２８に閉故障が生じているか否かを表すための閉故障判定フラグＸＶＳＶ閉の状態を示す。タンク内圧ＰＴＮＫが図４（Ｃ）中に実線で示すように変化した場合、閉故障検出処理の終了時刻（ＫＣ２の時刻）において、タンク内圧ＰＴＮＫに有意な低下が生じていないと判断される。この場合、図４（Ｄ）に示すように、閉故障判定フラグＸＶＳＶに１がセットされる。
【００４７】
図５は、パージＶＳＶ２８に閉故障が生じているか否かを判断すべく、ＥＣＵ６０が実行する具体的処理の内容を説明するためのフローチャートである。尚、図５に示すルーチンは、車両のＩＧスイッチがオンとされた後、所定時間毎に繰り返し起動されるものとする。
【００４８】
図５に示すルーチンでは、先ず、第１ＯＢＤカウンタの計数値ＣＯＢＤ１が、既述したジャンプ判定値ＫＣ１１に達しているか否かが判別される（ステップ１３０）。その結果、ＣＯＢＤ１≧ＫＣ１１が成立しないと判定される間は、以後速やかに今回の処理サイクルが終了される。従って、ステップ１３２以降の処理は、ＣＯＢＤ１≧ＫＣ１１が成立して初めて、つまり、既述した開故障検出処理（図３参照）が終了して初めて実行される。
【００４９】
上記ステップ１３０において、ＣＯＢＤ１≧ＫＣ１１の成立が認められると、次に、パージ率ＰＧＲが判定値ＫＰＧＲ以上であるか否かが判別される（ステップ１３２）。パージ率ＰＧＲは、吸入空気量ＧＡに対するパージ流量ＱＰＧの比率「（ＱＰＧ／ＧＡ）×１００」である。パージ流量ＱＰＧは、パージＶＳＶ２８を通過してキャニスタ２０から吸気通路３０に向かって流れるパージガスの流量であり、パージＶＳＶ２８の開度（駆動デューティ）と吸気負圧ＰＭとに基づいて公知の手法で演算することができる。本実施形態実施形態において、パージ制御弁２８の駆動デューティは、図５に示すルーチンとは異なるルーチンで演算され、その駆動デューティにより実現されるパージ率ＰＧＲも他のルーチンにより演算される。本ステップ１３２では、他のルーチンにおいて演算されたパージ率ＰＧＲが読み込まれ、ＰＧＲ≧ＫＰＧＲが成立しているか否かが判断される。
【００５０】
上記ステップ１３２において、ＰＧＲ≧ＫＰＧＲが成立しないと判別された場合は、閉故障の有無を判断するのに十分な負圧がパージ通路２６に導入されていないと判断することができる。この場合、以後、閉故障の判定に必要な処理が進められることなく、速やかに今回の処理サイクルが終了される。一方、ＰＧＲ≧ＫＰＧＲが成立すると判別された場合は、閉故障の有無を判断するのに足る十分な負圧導入が行われていると判断することができる。この場合、次に、第２ＯＢＤカウンタの計数値ＣＯＢＤ２が、終了判定値ＫＣ３に達しているか否かが判別される（ステップ１３４）。
【００５１】
第２ＯＢＤカウンタは、第１ＯＢＤカウンタと同様に、ＩＧスイッチのオン時にイニシャル処理によりクリアされる。従って、閉故障判定処理の開始直後は、上記ステップ１３４において、ＣＯＢＤ２≧ＫＣ２が成立しないとの判定がなされる。この場合、先ず、現時点でのタンク内圧ＰＴＮＫと既述した基準圧Ｐ０との差圧ΔＰ＝ＰＴＮＫ−Ｐ０が算出される（ステップ１３６）。次いで、第２ＯＢＤカウンタのインクリメント処理が行われる（ステップ１３８）。
【００５２】
図５に示すルーチンでは、次に、第２ＯＢＤカウンタの計数値ＣＯＢＤ２が、診断判定値ＫＣ２に達したか否かが判別される（ステップ１４０）。診断判定値ＫＣ２は、パージＶＳＶ２８に閉故障が生じているか否かを判断するタイミングに対応する値であり、上述した終了判定値ＫＣ３に比して「１」だけ小さな値である。閉故障判定処理の開始直後は、本ステップ１４０において、ＣＯＢＤ２≧ＫＣ２が成立しないとの判定がなされる。
【００５３】
上記ステップ１４０において、ＣＯＢＤ２≧ＫＣ２が成立しないとの判定が下されると、次に、ＣＣＶ２２の閉弁処理が実行される（ステップ１４２）。次いで、上記の差圧ΔＰが閉故障判定値ＫＰ１より大きいか否かが判別される（ステップ１４４）。閉故障判定値ＫＰ１は、パージＶＳＶ２８が適正に開いている場合に算出される差圧ΔＰ（負の値）に比して大きな値である。従って、ΔＰ＞ＫＰ１の成立が認められる場合は、パージＶＳＶ２８に閉故障が生じていると判断することができる。この場合、ＥＣＵ６０は、パージＶＳＶ２８に閉故障が生じていることを表すべく、閉故障判定仮フラグｔＸＶＳＶ閉に「１」をセットする。（ステップ１４６）。一方、上記ステップ１４４において、ΔＰ＞ＫＰ１が成立しないと判別された場合は、パージＶＳＶ２８の閉故障が認められないと判断できる。この場合、ＥＣＵ６０は、パージＶＳＶ２８の閉故障が認められないことを表すべく、閉故障判定仮フラグｔＸＶＳＶ閉に「０」をセットする（ステップ１４８）。
【００５４】
閉故障判定処理が開始された後、第２ＯＢＤカウンタの計数値ＣＯＢＤ２が診断判定値ＫＣ２に達するまでの間は、十分なパージ率ＰＧＲが確保されている環境下で図５に示すルーチンが起動される毎に、上述したステップ１３０〜１４８の処理が繰り返される。その結果、閉故障判定仮フラグｔＸＶＳＶ閉の最終値は、ＣＯＢＤ２がＫＣ２に達する直前の処理サイクルにおいて設定されることになる。
【００５５】
図５に示すルーチンが起動された後、上記ステップ１４０において、ＣＯＢＤ２≧ＫＣ２の成立が判定された場合は、閉故障の有無を判断すべき時期が到来したと判断できる。この場合、ＣＣＶ２２の開弁処理が実行された後（ステップ１５０）、開始時冷却水温ＴＨＷＳＴが、冷間判定値ＫＴＨＷより低いか否かが判別される（ステップ１５２）。そして、ＴＨＷＳＴ＜ＫＴＨＷが成立しないと判別された場合は、開故障判定処理の場合と同様の理由で（上記ステップ１２６参照）、閉故障に関する判定が保留されたまま今回の処理サイクルが終了される。このため、本実施形態のシステムによれば、パージＶＳＶ２８の閉故障についても、温暖な状態で内燃機関が再始動されるような場合に、その発生の有無が誤って判断されるのを防ぐことができる。
【００５６】
一方、上記ステップ１５２において、ＴＨＷＳＴ＜ＫＴＨＷの成立が認められた場合は、閉故障判定仮フラグｔＸＶＳＶ閉の値が、閉故障判定フラグＸＶＳＶ閉の値としてセットされる（ステップ１５４）。以後、ＥＣＵ６０は、ＸＶＳＶ閉に１がセットされている場合には、パージＶＳＶ２８に閉故障が生じていると判断し、一方、ＸＶＳＶ閉に０がセットされている場合は、パージＶＳＶ２８に閉故障が生じていないと判断する。
【００５７】
上述した一連の処理が終了した後、図５に示すルーチンが再び起動され、上記ステップ１３４の処理が実行される際には、第２ＯＢＤカウンタの計数値ＣＯＢＤ２が、終了判定値ＫＣ３（＝ＫＣ２＋１）に達していると判断される。この場合、以後ステップ１３６以降の処理がジャンプされ、実質的な処理が何ら行われることなく図５に示すルーチンが終了される。本実施形態において、ＥＣＵ６０は、以上の通り説明した図５に示すルーチンを実行することにより、内燃機関の始動直後に、パージＶＳＶ２８に閉故障が生じているか否かを正確に判定することができる。
【００５８】
（パージ制御の説明）
本実施形態のシステムは、パージＶＳＶ２８に故障が生ずると、通常のパージ制御を行うこと、つまり、パージ流量ＱＰＧを適当に制御することができなくなる。
具体的には、パージＶＳＶ２８に開故障が生じた場合は、内燃機関の運転中に常にパージガスが流通することとなり、その流通を止めることができない状態となる。また、パージＶＳＶ２８に閉故障が生じた場合は、パージガスを流通させることができない状態となる。
【００５９】
ＥＣＵ６０は、通常の制御手法としては、パージ制御を実行する前提として、その実行条件が成立しているか否かを判断する。この実行条件は、吸気通路３０にパージガスが流入しても、内燃機関の運転状態が悪化せず、また、空燃比に荒れが生じないような状況下でその成立が判断される。そして、通常の制御では、上記の実行条件が成立する状況下でのみ蒸発燃料のパージが行われ、また、このパージの実行中は、パージガスの影響が相殺されるように燃料噴射時間ＴＡＵの補正が行われる。
【００６０】
しかしながら、パージＶＳＶ２８に開故障が生じている場合は、ＥＣＵ６０の指令に関わらず、内燃機関の運転中は常にパージガスが吸気通路３０に流入する。つまり、パージの実行条件が成立せず、ＥＣＵ６０がパージの実行を指示していない状況下でも吸気通路３０にはパージガスが流入する。この場合、通常の制御手法に沿って、パージガスの流入がないものとして燃料噴射時間ＴＡＵが算出されると、パージガスの影響で空燃比に荒れが生ずることがある。従って、パージＶＳＶ２８に開故障が生じている場合は、そのような不都合が回避されるように、制御の手法を適当に切り替えることが望ましい。
【００６１】
また、パージＶＳＶ２８に閉故障が生じている場合は、ＥＣＵ６０の指令に関わらず、吸気通路３０にはパージガスが流入しない。この場合、通常の制御手法に沿って、パージガスの流入があるものとして燃料噴射時間ＴＡＵが算出されると、適切な空燃比が実現できない事態が生じ得る。従って、パージＶＳＶ２８に閉故障が生じている場合は、そのような事態が生じないように、制御の手法を切り替えることが適切である。
【００６２】
以上説明した通り、本実施形態のシステムでは、パージＶＳＶ２８に開故障、或いは閉故障が生じている場合は、それぞれ、パージＶＳＶ２８が正常である場合とは異なる手法で内燃機関の制御を行うことが好ましい。そこで、ＥＣＵ６０は、既述した手法によりパージＶＳＶ２８の開故障と閉故障とを区別して認識し（図２乃至図５参照）、それぞれの故障のモードに応じて、適宜最適な結果が得られるように制御の手法を切り替えることとした。
【００６３】
図６は、上記の機能を実現するためにＥＣＵ６０が実行するパージ制御ルーチンのフローチャートを示す。図６に示すルーチンでは、先ず、閉故障判定フラグＸＶＳＶ閉に１がセットされているか否かが判別される（ステップ１６０）。その結果、ＸＶＳＶ閉＝１の成立が認められる場合は、パージＶＳＶ２８に閉故障が生じていると判断できる。この場合、パージ中止処理として、パージＶＳＶ２８の駆動デューティＤＰＧが０とされ、パージ率ＰＧＲが０とされ、更に、ベーパ濃度学習値ＦＧＰＧが０とされた後（ステップ１６２）、今回の処理サイクルが終了される。
【００６４】
パージＶＳＶ２８の閉故障時には、パージガスが流通しないため、パージガスが存在しないものとして燃料噴射時間ＴＡＵを演算することにより、高精度な空燃比制御の実現を期待することができる。駆動デューティＤＰＧを０とすると、パージＶＳＶ２８を閉状態に維持することができる。パージ率ＰＧＲは、既述した通りパージ流量ＱＰＧの吸入空気量ＧＡに対する割合である。また、ベーパ濃度学習値ＦＧＰＧは、パージ率１％当たりのＴＡＵ補正割合であり、物理的にはパージガスの燃料濃度としての意味を有する係数である。パージ率ＰＧＲおよびベーパ濃度学習値ＦＧＰＧは、何れも、後述の如く、パージガスの影響を排除するために燃料噴射時間ＴＡＵの演算の基礎とされる。これらの係数ＰＧＲ、ＦＧＰＧが０とされると、燃料噴射時間ＴＡＵはパージガスが存在しないものとして演算される。このため、上記ステップ１６２の処理によれば、パージＶＳＶ２８に閉故障が生じている環境下で、その故障の影響を受けることなく高精度な空燃比制御を実現することができる。
【００６５】
図６に示すルーチン中、上記ステップ１６０において、ＸＶＳＶ閉＝１が成立しないと判別された場合は、次に、開故障判定フラグＸＶＳＶ開に１がセットされているか否かが判別される（ステップ１６４）。その結果、ＸＶＳＶ開＝１が成立しないと判別された場合は、パージＶＳＶ２８に開故障が生じていない、つまり、パージＶＳＶ２８が正常であると判断することができる。この場合は、次に、パージ条件が成立しているか否かが判別される（ステップ１６６）。ここでは、例えば、冷却水温ＴＨＷがパージの許可温度ＫＴＨＷＰＧ以上であるか、或いは酸素センサ５２の出力に基づく空燃比フィードバック制御が実行中であるか、などの条件が判断される。
【００６６】
パージ条件が成立していないと判別された場合は、パージの実行が必ずしも適切でないと判断され、パージ率ＰＧＲおよび駆動デューティＤＰＧが何れも０とされた後（ステップ１６８）、今回の処理サイクルが終了される。尚、ここでは、ベーパ濃度学習値ＦＧＰＧのリセット処理が行われない。このため、この時点でＦＧＰＧの学習が進められている場合は、パージ条件の成立後に、その学習済みのＦＧＰＧを用いた処理が開始されることになる。
【００６７】
一方、上記ステップ１６６においてパージ条件の成立が認められた場合は、以後、キャニスタ２０内の蒸発燃料をパージするための処理が実行される。具体的には、先ず、目標パージ率ｔＰＧＲが算出される。目標パージ率ｔＰＧＲは、基本的には現在のパージ率ＰＧＲにスキップ値ＰＧＲＳＫＰを加えることにより算出される。但し、目標パージ率ｔＰＧＲの上限は、最大パージ率ＰＧＲＭＸ或いは限界パージ率ＰＧＲＬＭＴによりガードされる（ステップ１７０）。尚、ここでは、ＰＧＲＭＸやＰＧＲＬＭＴについての詳細な説明は省略する。
【００６８】
次に、全開流量ＱＰＧＭＸが算出される（ステップ１７２）。ＱＰＧＭＸは、パージ制御弁２８が全開とされることにより発生すると予想されるパージ流量ＱＰＧである。ＥＣＵ６０は、ステップ１７２の枠内に示すように、吸気負圧ＰＭとの関係で定めた全開流量ＱＰＧＭＸのマップを記憶している。本ステップ１７２においては、そのマップを参照することでＱＰＧＭＸが算出される。尚、吸気負圧ＰＭは、例えば、吸入空気量ＧＡとスロットル開度ＴＡとに基づいて、公知の手法で推定することができる。
【００６９】
次いで、全開時パージ率ＰＧＲ１００＝ＱＰＧＭＸ／ＧＡが算出される（ステップ１７４）。このＰＧＲ１００は、全開流量ＱＰＧＭＸと吸入空気量ＧＡとの比である。次に、目標パージ率ｔＰＧＲを実現するための駆動デューティＤＰＧが算出される。駆動デューティＤＰＧは、基本的には目標パージ率ｔＰＧＲを全開パージ率ＰＧＲ１００で除することにより、ＤＰＧ＝ｔＰＧＲ／ＰＧＲ１００として算出される。但し、駆動デューティＤＰＧの上限は１００にガードされる（ステップ１７６）。以後、パージＶＳＶ２８は、ここで算出された駆動デューティＤＰＧによりデューティ駆動される。
【００７０】
ＥＣＵ６０は、パージ開始カウンタＣＰＧＲＳＴ（説明省略）をインクリメントした後（ステップ１７８）、最終パージ率ＰＧＲ＝ＤＰＧ×ＰＧＲ１００を算出する（ステップ１８０）。そして、パージカウンタＣＰＧＲ（説明省略）がインクリメントされた後（ステップ１８２）、今回の処理サイクルが終了される。上記ステップ１８０において算出された最終パージ率ＰＧＲは、次回の処理サイクル時に目標パージ率ｔＰＧＲの基礎とされると共に、ＥＣＵ６０が他のルーチンにおいて燃料噴射時間ＴＡＵを演算する際に、その演算の基礎とされる。
【００７１】
以上説明した通り、図６に示すルーチンによれば、パージＶＳＶ２８が正常であると認められる場合には、パージ条件の成否が判断され、その成立が認められる場合に限り、パージＶＳＶ２８のデューティ駆動、および最終パージ率ＰＧＲの算出処理が実行される。そして、パージＶＳＶ２８正常に閉弁できることが確認されている状況下でのみ、パージ条件の不成立時にパージの実行を禁止し、パージがないものとして（ＰＧＲ＝０として）燃料噴射時間ＴＡＵを演算することができる。このような処理によれば、パージＶＳＶ２８の正常時に内燃機関を最適な状態に制御することができ、また、パージＶＳＶ２８の開故障時にパージガスがないものとして燃料噴射時間ＴＡＵが演算されるのを確実に防ぐことができる。
【００７２】
図６に示すルーチン中、上記ステップ１６４において、開故障判定フラグＸＶＳＶ開に１がセットされていると判別された場合は、パージＶＳＶ２８に開故障が生じていると判断できる。ＥＣＵ６０は、この場合、パージ条件の成否を見ることなく、無条件でステップ１７０以降の処理、つまり、駆動デューティＤＰＧおよび最終パージ率ＰＧＲを算出するための処理を実行する。この場合、パージＶＳＶ２８に駆動デューティＤＰＧに対応する駆動信号が供給され、また、ＥＣＵ６０の内部では、パージ率ＰＧＲの反映された燃料噴射時間ＴＡＵが算出される。
【００７３】
パージＶＳＶ２８は、開故障時には、供給される駆動信号の通りに作動することはできない。従って、算出されるパージ率ＰＧＲは、現実の値とは異なったものとなる。しかしながら、上記の処理によれば、パージＶＳＶ２８の開故障時には、少なくともパージガスが流通していることを前提として燃料噴射時間ＴＡＵを算出することができる。そして、図６に示すルーチンによれば、パージ条件の成否とは無関係に、燃料噴射時間ＴＡＵを常にそのように演算することができる。
【００７４】
パージ率ＰＧＲの算出値が現実の値と異なっていたとしても、その算出値（ＰＧＲ）を反映させて燃料噴射時間ＴＡＵを演算する方が、パージの影響を無視して燃料噴射時間ＴＡＵを演算するより、空燃比の制御精度を高めることができる。また、パージの実行条件が成立していない状況下でも、パージガスの流通を止めることができない以上は、燃料噴射時間ＴＡＵにパージの影響（ＰＧＲ）を反映させた方が、優れた空燃比制御を実現することができる。このため、図６に示すルーチンによれば、パージＶＳＶ２８の開故障時における空燃比制御精度を良好に維持することができる。
【００７５】
以下、図７および図８を参照して、本実施形態のシステムが、パージＶＳＶ２８の開故障時、および閉故障時において、良好な空燃比制御精度を実現し得る理由について更に説明する。
【００７６】
図７は、ＥＣＵ６０が燃料噴射時間ＴＡＵを算出するために実行するルーチンのフローチャートを示す。この図に示すように、ＥＣＵ６０は、燃料噴射時間ＴＡＵの演算処理においては、先ず、次式に従ってパージ補正係数ＦＰＧを算出する（ステップ１９０）。
ＦＰＧ＝ＦＧＰＧ×ＰＧＲ                        ・・・（１）
ここで、ＦＧＰＧは、既述した通り、パージ率１％当たりの補正割合を意味するベーパ濃度学習値であり、ＰＧＲは、パージ流量ＱＰＧの吸入空気量ＧＡに対する割合を意味するパージ率である。
【００７７】
次に、ＥＣＵ６０は、次式に従って燃料噴射時間ＴＡＵを算出する（ステップ１９２）。
ＴＡＵ＝ＴＡＵＢ×（ＦＷ＋ＦＡＦ＋ＫＧＸ＋ＦＰＧ）      ・・・（２）
ここで、ＴＡＵＢは、吸入空気量ＧＡに対して目標空燃比を実現するための基本の燃料噴射時間である。ＦＷは、冷間時の増量補正を実現するための水温増量係数である。ＦＡＦは、酸素センサ５２の出力に基づいて、排気空燃比が目標空燃比に近づくように増減される空燃比フィードバック係数である。また、ＫＧＸは、内燃機関の経時変化の影響等を吸収するための学習値である。学習値ＫＧＸは、吸入空気量ＧＡの大きさにより区分される複数の運転領域のそれぞれに対応して学習される係数であり、ＫＧに付された「Ｘ」はその運転領域を意味している。そして、（２）式に含まれるＦＰＧは、上記ステップ１９０において算出されたパージ補正係数である。
【００７８】
図８は、上述した学習値ＫＧＸおよびベーパ濃度学習値ＦＧＰＧの学習を進めるべく、内燃機関の運転中においてＥＣＵ６０が実行する学習制御ルーチンのフローチャートを示す。図８に示すルーチンでは、先ず、閉故障判定フラグＸＶＳＶ閉に１がセットされているか否かが判別される（ステップ２００）。その結果、ＸＶＳＶ閉＝１が成立しないと判別された場合は、次に、開故障判定フラグＸＶＳＶ開に１がセットされているか否かが判別される（ステップ２０２）。ここでＸＶＳＶ開＝１の成立が認められない場合は、パージＶＳＶ２８が正常であると判断することができる。
【００７９】
パージＶＳＶ２８が正常であると判断できる場合は、次に、現在のパージ率ＰＧＲが０であるかが判別される（ステップ２０４）。ここでＰＧＲ＝０の成立が認められる場合は、パージＶＳＶ２８が確実に閉じており、パージガスが確実に存在していないと判断することができる。つまり、燃料噴射時間ＴＡＵと排気空燃比との間に、パージガスの影響は何ら及んでいないと判断することができる。ＥＣＵ６０は、この場合、以後、学習値ＫＧＸの学習処理を実行する。
【００８０】
学習値ＫＧＸの学習処理では、先ず、空燃比フィードバック係数ＦＡＦが、リッチ側判定値ＫＦ０１より小さいか否かが判別される（ステップ２０６）。空燃比フィードバック係数ＦＡＦは、酸素センサ５２がリッチ出力を発している間は排気空燃比をリーン側にシフトさせるべく減少方向に更新され、一方、酸素センサ５２がリーン出力を発している間は排気空燃比をリッチ側にシフトさせるべく増加方向に更新される。従って、ＦＡＦ＜ＫＦ０１が成立する場合は、現在のＴＡＵの算出論理では、排気空燃比がリッチ側に偏る傾向があると判断することができる。
【００８１】
図８に示すルーチンでは、上記ステップ２０６においてＦＡＦ＜ＫＦ０１の成立が認められた場合、ＴＡＵの算出論理を修正すべく、学習値ＫＧｊが、所定値ｋＦＣだけ小さな値に更新される（ステップ２０８）。学習値ＫＧｊは、現在の運転領域ｊに対応する学習値ＫＧＸである。上記（２）式によれば、燃料噴射時間ＴＡＵは、学習値ＫＧｊが小さな値に更新されることにより短縮される。このため、本ステップ２０８の処理によれば、排気空燃比のリッチ傾向が小さくなるように、学習値ＫＧｊを適正に更新することができる。
【００８２】
図８に示すルーチン中、上記ステップ２０６において、ＦＡＦ＜ＫＦ０１が成立しないと判別された場合は、次に、空燃比フィードバック係数ＦＡＦが、リーン側判定値ＫＦ０２より大きいか否かが判別される（ステップ２１０）。その結果、ＦＡＦ＞ＫＦ０２が成立しないと判別された場合は、現在の学習値ＫＧｊが適正な値であると判断できる。この場合は、学習値ＫＧｊを変化させることなく今回の処理サイクルが終了される。
【００８３】
一方、上記ステップ２１０において、ＦＡＦ＞ＫＦ０２が成立すると判別された場合は、現在の学習値ＫＧｊが排気空燃比をリーン側に偏らせる傾向を生みだしている、つまり、現在の学習値ＫＧｊが過小な値であると判断できる。ＥＣＵ６０は、この場合、学習値ＫＧｊを、所定値ｋＦＤだけ大きな値に更新する（ステップ２１２）。このような処理によれば、学習値ＫＧｊを適正な値に修正することができ、排気空燃比がリーン側にシフトする傾向を小さくすることができる。以上説明した通り、図８に示すルーチンによれば、パージＶＳＶ２８が正常である場合には、パージ率ＰＧＲが０であり、排気空燃比の傾向にパージガスの影響が及ばないことが保証されている状況下で、その傾向に基づいて学習値ＫＧｊを適正に更新することができる。
【００８４】
図８に示すルーチン中、上記ステップ２０４において、パージ率ＰＧＲが０でないと判別された場合は、正常なパージＶＳＶ２８に対してパージガスを流通させることが指令されていると判断できる。つまり、この場合は、ある程度のパージガスが確実に流通していると判断することができる。学習値ＫＧＸが適正な値に更新されていることを前提とすれば、このような状況下で排気空燃比に表れるシフト傾向は、パージガスの影響として把握することができる。ＥＣＵ６０は、この場合、以後、パージガスの影響を補正するための論理を修正すべく、ベーパ濃度学習値ＦＧＰＧの学習処理を実行する。
【００８５】
ベーパ濃度学習値ＦＧＰＧの学習処理では、先ず、空燃比フィードバック係数ＦＡＦが、リッチ側判定値ＫＦ１より小さいか否かが判別される（ステップ２１４）。ＦＡＦ＜ＫＦ１が成立すると判別された場合は、現在のパージ補正係数ＦＧＰが排気空燃比をリッチ側に偏らせる傾向を生みだしていると判断できる。つまり、この場合は、パージ補正係数ＦＧＰがより小さな値となるようにベーパ濃度学習値ＦＧＰＧを修正する必要があると判断できる。ＥＣＵ６０は、この場合、ベーパ濃度学習値ＦＧＰＧを所定値ｋＦＡだけ小さな値に更新する（ステップ２１６）。ベーパ濃度学習値ＦＧＰＧが減少すると、同じパージ率ＰＧＲに対するパージ補正係数ＦＧＰも小さな値となり、排気空燃比がリッチ側にシフトする傾向が小さくなる。このため、本ステップ２１６の処理によれば、排気空燃比のシフト量が減少する方向に、ベーパ濃度学習値ＦＧＰＧを適正に更新することができる。
【００８６】
図８に示すルーチン中、上記ステップ２１４において、ＦＡＦ＜ＫＦ１が成立しないと判別された場合は、次に、空燃比フィードバック係数ＦＡＦが、リーン側判定値ＫＦ２より大きいか否かが判別される（ステップ２１８）。その結果、ＦＡＦ＞ＫＦ２が成立しないと判別された場合は、現在のパージ補正係数ＦＧＰが適正な値である、つまり、現在のベーパ濃度学習値ＦＧＰＧが適正な値であると判断できる。この場合は、ベーパ濃度学習値ＦＧＰＧを変化させることなく今回の処理サイクルが終了される。
【００８７】
一方、上記ステップ２１８において、ＦＡＦ＞ＫＦ２が成立すると判別された場合は、現在のベーパ濃度学習値ＦＧＰＧが排気空燃比をリーン側に偏らせる傾向を生みだしていると判断できる。ＥＣＵ６０は、この場合、ベーパ濃度学習値ＦＧＰＧを、所定値ｋＦＢだけ大きな値に更新する（ステップ２２０）。このような処理によれば、ベーパ濃度学習値ＦＧＰＧを適正な値に修正することができ、排気空燃比がリーン側にシフトする傾向を小さくすることができる。以上説明した通り、図８に示すルーチンによれば、パージＶＳＶ２８が正常である場合には、０でないパージ率ＰＧＲが要求されている状況下で排気空燃比に表れる傾向に基づいてベーパ濃度学習値ＦＧＰＧを適正に更新することができる。
【００８８】
図８に示すルーチンでは、上記ステップ２００において、閉故障判定フラグＸＶＳＶ閉に１がセットされていると判別されると、その後無条件でステップ２０６以降の処理、すなわち、学習値ＫＧＸの更新処理が開始される。ＸＶＳＶ閉＝１が成立する場合は、パージＶＳＶ２８に閉故障が生じており、吸気通路３０に対してパージガスが流入していないと判断することができる。つまり、この場合は、正常時においてＰＧＲ＝０が要求されている場合と同様に、排気空燃比の傾向にパージガスの影響が何ら及んでいないと判断することができる。
【００８９】
図６を参照して説明した通り、ＥＣＵ６０は、パージＶＳＶ２８の閉故障時には、パージの実行を中止する（上記ステップ１６２参照）。そして、ＥＣＵ６０は、この場合、上記の如く学習値ＫＧＸの更新処理を実行しながら燃料噴射時間ＴＡＵを制御する。このような処理によれば、パージＶＳＶ２８に閉故障が生じている状況下で、正常時にパージが停止されている場合と同様の精度で空燃比を制御することができる。従って、本実施形態のシステムによれば、パージＶＳＶ２８の閉故障時に、その故障の発生に関わらず、優れた空燃比制御を実現することができる。
【００９０】
図８に示すルーチンでは、上記ステップ２０２において、開故障判定フラグＸＶＳＶ開に１がセットされていると判別されると、その後無条件でステップ２１４以降の処理、すなわち、ベーパ濃度学習値ＦＧＰＧの更新処理が開始される。ＸＶＳＶ開＝１が成立する場合は、パージＶＳＶ２８に開故障が生じており、パージガスが常に吸気通路３０に流入していると判断することができる。つまり、この場合は、排気空燃比の傾向に常にパージガスの影響が及んでいると判断することができる。
【００９１】
図６を参照して説明した通り、ＥＣＵ６０は、パージＶＳＶ２８の開故障時には、パージ条件の成否を見ることなく常にパージ率ＰＧＲを算出する。そして、ＥＣＵ６０は、この場合、上記の如くベーパ濃度学習値ＦＧＰＧの更新処理を実行しながら、その更新値が反映されるように燃料噴射時間ＴＡＵを演算する。このような処理によれば、パージＶＳＶ２８に開故障が生じている場合に、常に、パージガスの存在を前提として、パージガスの濃度が反映されるような形で、燃料噴射時間ＴＡＵを算出することができる。このため、本実施形態のシステムによれば、パージＶＳＶ２８の開故障時に、その故障の発生に関わらず、優れた空燃比制御を実現することができる。
【００９２】
尚、上述した実施の形態１においては、パージＶＳＶが前記第１の発明における「パージ制御弁」に相当していると共に、ＥＣＵ６０が、図３および図４に示すルーチンを実行することにより前記第１の発明における「故障判定手段」が、上記ステップ１７６の処理を実行することにより前記第１の発明における「パージ処理手段」が、上記ステップ２１４〜２２０の処理を実行することにより前記第１の発明における「燃料濃度学習手段」が、上記ステップ１９０〜１９２の処理を実行することにより前記第１の発明における「燃料噴射量補正手段」が、上記ステップ１６６の処理を実行することにより前記第１の発明における「パージ条件判断手段」が、パージＶＳＶ２８の正常時に上記ステップ１７６、２１４〜２２０、および１９０〜１９２の処理を要求することにより前記第１の発明における「通常処理要求手段」が、パージＶＳＶ２８の開故障時に上記ステップ２１４〜２２０、および１９０〜１９２の処理を要求することにより前記第１の発明における「開故障時処理要求手段」が、それぞれ実現されている。
【００９３】
また、上述した実施の形態１においては、ＥＣＵ６０が、上記ステップ２０６〜２１２の処理を実行することにより前記第２の発明における「演算手法学習手段」が、パージＶＳＶ２８の正常時に上記ステップ２０６〜２１２の処理を要求することにより前記第２の発明における「通常時学習要求手段」が、パージＶＳＶ２８の閉故障時に上記ステップ２０６〜２１２の処理を要求することにより前記第２の発明における「閉故障時学習要求手段」が、それぞれ実現されている。
【００９４】
また、上述した実施の形態１においては、ＣＣＶ２２が前記第５乃至第８の発明における「遮断機構」に相当していると共に、ＥＣＵ６０が、内燃機関の始動時にパージＶＳＶを閉弁状態に維持することにより前記第５または第７の発明における「パージ制御弁制御手段」が、上記ステップ１１４の処理を実行することにより前記第５または第７の発明における「圧力変化検出手段」が、上記ステップ１１８〜１２２の処理を実行することにより前記第５または第７の発明における「開故障判定手段」が、上記ステップ１１０の処理を実行することにより前記第５または第７の発明における「温度環境検知手段」が、上記ステップ１２６の処理を実行することにより前記第５または第７の発明における「判定許可手段」が、それぞれ実現されている。
【００９５】
また、上述した実施の形態１においては、ＥＣＵ６０が、図４（Ａ）に示すようにパージＶＳＶを開弁させることにより前記第６または第８の発明における「パージ制御弁制御手段」が、上記ステップ１３６の処理を実行することにより前記第６または第８の発明における「圧力変化検出手段」が、上記ステップ１４４〜１４８の処理を実行することにより前記第６または第８の発明における「閉故障判定手段」が、上記ステップ１１０の処理を実行することにより前記第６または第８の発明における「温度環境検知手段」が、上記ステップ１５２の処理を実行することにより前記第６または第８の発明における「判定許可手段」が、それぞれ実現されている。
【００９６】
実施の形態２．
次に、図９を参照して、本発明の実施の形態２について説明する。本実施形態のシステムは、図１に示すシステム構成において、ＥＣＵ６０に、上記図６に示すルーチンに代えて、図９に示すルーチンを実行させることにより実現することができる。
【００９７】
既述した通り、実施の形態１では、パージＶＳＶ２８の開故障時に、パージＶＳＶ２８の正常時と同様に駆動デューティＤＰＧが算出され、また、そのＤＰＧに基づいて最終パージ率ＰＧＲが算出される（図６参照）。そして、実施の形態１では、パージＶＳＶ２８の開故障時に、このようにして算出されたパージ率ＰＧＲを用いて燃料噴射時間ＴＡＵが算出される（図７参照）。つまり、実施の形態１においては、パージＶＳＶ２８の開故障時も、パージＶＳＶ２８の開度が駆動デューティＤＰＧに応じて変化することを前提として燃料噴射時間ＴＡＵが算出される。
【００９８】
パージＶＳＶ２８に開故障が生じている場合は、その開度が変化しないのが通常である。このため、パージＶＳＶ２８の開故障時には、多くの場合、正常時において駆動デューティＤＰＧが一定に維持された場合と同様の状況が形成される。従って、パージＶＳＶ２８の開故障時に、より現実の状態に即した制御を実現するためには、駆動デューティＤＰＧが固定されているものとして燃料噴射時間ＴＡＵを演算することが適切である。
【００９９】
図９は、パージＶＳＶ２８の開故障時に、上述した適切な制御を実現するためにＥＣＵ６０が実行するパージ制御ルーチンのフローチャートである。尚、図９において、上記図６に示すルーチンに示すステップと同様のステップについては、同一の符号を付してその説明を省略または簡略する。また、図９では、図６に示すステップ１６６〜１８２に対応するステップを、「通常制御」と簡略して示している。
【０１００】
既述した通り、図６に示すルーチンでは、パージＶＳＶ２８の開故障時に、正常時と同様にステップ１７０〜１８２の処理が実行される。図９に示すルーチンは、その場合に実行されるステップが、ステップ２３０〜２３６に置き換えられている点を除き、図６に示すステップと同様である。すなわち、図９に示すルーチンでは、ステップ１６２において開故障の発生が（ＸＶＳＶ開＝１の成立）が認められると、先ず、全開流量ＱＰＧＭＸが算出される（ステップ２３０）。次に、その全開流量ＱＰＧＭＸに基づいて全開時パージ率ＰＧＲ１００が算出される（ステップ２３２）。尚、これらの処理は、実質的に通常制御時に実行されるステップ１７２および１７４の処理と同様であるため、ここでは詳細な説明を省略する。
【０１０１】
図９に示すルーチンでは、上記ステップ２３２の処理に次いで、駆動デューティＤＰＧに固定値Ｙが代入される（ステップ２３４）。次いで、その駆動デューティＤＰＧを全開時パージ率ＰＧＲ１００に掛け合わせることにより、最終パージ率ＰＧＲ＝ＤＰＧ×ＰＧＲ１００が算出される（ステップ２３６）。パージＶＳＶ２８の開故障時には、パージＶＳＶ２８が全開状態で固着していることが多い。このため、本実施形態では、駆動デューティＤＰＧに代入される固定値Ｙを「１００」に設定している。従って、上記ステップ２３４では、パージＶＳＶ２８が全開である場合のパージ率ＰＧＲが常に算出されることになる。
【０１０２】
パージＶＳＶ２８の開故障時に、現実にパージＶＳＶ２８が全開状態で固着している場合は、内燃機関の運転中に、常に上記ステップ２３６で算出されるパージ率ＰＧＲと等しいパージ率が実現される。従って、この場合は、ベーパ濃度学習値ＦＧＰＧがパージガスの濃度を正しく表していれば、ステップ１９０および１９２の処理により、パージガスの影響を正確に相殺する適正な燃料噴射時間ＴＡＵを得ることができる。一方、このような状況下で図８に示すステップ２１４〜２２０の処理が繰り返されれば、ベーパ濃度学習値ＦＧＰＧは、パージガスの濃度を正しく表す値に更新される。このため、本実施形態のシステムによれば、パージＶＳＶが全開状態で固着している場合に、パージガスの影響を精度良く相殺して、高精度な空燃比制御を実現することができる。
【０１０３】
また、本実施形態のシステムは、パージＶＳＶ２８が全開でない状態で固着している場合にも、高精度な空燃比制御を実現することができる。以下、パージＶＳＶ２８が全開時の１／２の開度で固着している場合を例として、その理由を説明する。既述した通り、本実施形態では、パージＶＳＶ２８の開故障時には、駆動デューティＤＰＧを１００に固定する（上記ステップ２３４参照）。従って、パージＶＳＶ２８が現実には全開時の１／２の開度で固着している場合には、上記ステップ２３６において算出される最終パージ率ＰＧＲが、現実に生ずるパージ率の２倍となる。この点、ＥＣＵ６０において実行される制御は現実の状況と整合していない。
【０１０４】
しかしながら、ＥＣＵ６０が認識するパージ率ＰＧＲと、現実のパージ率との比が一定であれば、図８に示すステップ２１４〜２２０の処理が繰り返されることにより、ベーパ濃度学習値ＦＧＰＧが、その比を相殺するような値に学習される。つまり、上記の例では、ベーパ濃度学習値ＦＧＰＧが、最終的にはパージガスの濃度の２倍に対応する値に更新される。その結果、結局はパージ補正係数ＦＰＧが、パージＶＳＶ２８が全開状態で固着している場合と同じ値となり、高精度な空燃比制御が実現されることになる。
【０１０５】
つまり、図６に示すルーチンによれば、パージＶＳＶ２８が一定の開度を保った状態で固着している限り、パージガスの影響が精度良く相殺されるように燃料噴射時間ＴＡＵを補正することができる。このため、本実施形態のシステムによれば、パージＶＳＶ２８の開故障時に、実施の形態１のシステムに比して更に高精度な空燃比制御を実現することができる。
【０１０６】
ところで、上述した実施の形態２においては、パージＶＳＶ２８の開故障時に駆動デューティＤＰＧに代入する固定値Ｙが「１００」とされているが、固定値Ｙは１００に限定されるものではない。すなわち、本実施形態のシステムは、パージＶＳＶ２８が全開でない状態で固着している場合にも高精度な空燃比制御が実現できるのと同様の理由により、固定値Ｙが１００でない場合にも高精度な空燃比制御を実現することができる。つまり、固定値Ｙは、０でない限り任意の値を用いることができる。
【０１０７】
尚、上述した実施の形態２においては、ＥＣＵ６０が、上記ステップ２３４の処理を実行することにより前記第３の発明における「開故障時開度設定手段」が実現されている。また、実施の形態２においては、固定値Ｙ＝１００が、上記第４の発明における「全開相当値」に相当している。
【０１０８】
【発明の効果】
この発明は以上説明したように構成されているので、以下に示すような効果を奏する。
第１の発明によれば、パージ制御弁が正常であると認められる場合は、パージ制御の実行条件が成立している状況下でパージ処理を実行させることができる。また、パージ制御弁の開故障が認められる場合には、実行条件の成否に関わりなく、パージガス中の燃料濃度の学習処理および燃料噴射量の補正処理を常に実行させることができる。パージ制御弁の開故障時には、内燃機関が作動している限り、常に吸気通路にパージガスが流入する。本発明によれば、そのパージガス中の燃料濃度を常に学習し、その学習値に基づいて常に精度良く燃料噴射量を補正することができる。このため、本発明によれば、パージ制御弁の開故障時にも高精度な空燃比制御を実現することができる。
【０１０９】
第２の発明によれば、パージ制御弁の閉故障が認められる場合は、常に、パージガスが存在していないものとして燃料噴射量の演算手法の学習を要求することができる。このため、本発明によれば、パージ制御弁の閉故障時に高精度な空燃比制御を実現することができる。また、本発明によれば、パージ制御弁が正常であると認められ、かつ、パージ制御弁が閉弁状態に制御されている場合に、上記の学習を要求することができる。この場合、パージガスが確実に存在しない状況下でのみ燃料噴射量の演算手法を学習することができるため、誤った学習が行われることがなく、常に高精度な空燃比制御を実現することができる。
【０１１０】
第３の発明によれば、パージ制御弁の開故障時には、パージ制御弁の開度をゼロでない固定値に設定することができる。パージ制御弁の開度は、開故障時には多分に一定値となる。そして、吸気通路には、その一定の開度に応じた量のパージガスが流入する。本発明によれば、この場合に、パージ制御弁の開度が一定であるものとして燃料噴射量を補正し、その補正の結果として目標空燃比が実現されるようにパージガス中の燃料濃度を学習する。パージ制御弁の開度が固定されているにも関わらず、その開度が変動しているものとして燃料濃度が学習されると、燃料濃度の学習値は一定の値に収束できない。これに対して、本発明の手法によれば、燃料濃度の学習値は一定の値に収束することができる。このため、本発明によれば、パージ制御弁の開故障時において、常に高精度な空燃比制御を実現することができる。
【０１１１】
第４の発明によれば、パージ制御弁の開故障時には、パージ制御弁の開度が全開であるものとして燃料濃度の学習、および燃料噴射量の補正を行うことができる。パージ制御弁の開度は、開故障時には多分に全開となる。このため、本発明によれば、パージ制御弁の開故障時に、現実の状態に最も適合した手法で空燃比制御を行うことができ、優れた空燃比制御精度を実現することができる。
【０１１２】
第５または第７の発明によれば、内燃機関の始動時に、キャニスタを含む系内の圧力変化を基礎としてパージ制御弁の開故障の有無を判断することができる。そして、本発明によれば、蒸発燃料の発生に起因する圧力変化の影響の少ない低温環境でのみ上記の判断が許可されるため、その判断に対して高い信頼性を与えることができる。
【０１１３】
第６または第８の発明によれば、内燃機関の始動時に、キャニスタを含む系内の圧力変化を基礎としてパージ制御弁の閉故障の有無を判断することができる。そして、本発明によれば、蒸発燃料の発生に起因する圧力変化の影響の少ない低温環境でのみ上記の判断が許可されるため、その判断に対して高い信頼性を与えることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１の構成を説明するための図である。
【図２】本発明の実施の形態１のシステムがパージＶＳＶの開故障を検知する際の処理の内容を説明するためのタイミングチャートである。
【図３】本発明の実施の形態１において、パージＶＳＶに開故障が生じているか否かを判断すべく実行される処理の内容を説明するためのフローチャートである。
【図４】本発明の実施の形態１のシステムがパージＶＳＶの閉故障を検知する際の処理の内容を説明するためのタイミングチャートである。
【図５】本発明の実施の形態１において、パージＶＳＶに開故障が生じているか否かを判断すべく実行される処理の内容を説明するためのフローチャートである。
【図６】本発明の実施の形態１においてパージ制御のために実行されるルーチンのフローチャートである。
【図７】本発明の実施の形態１において燃料噴射時間を演算するために実行されるルーチンのフローチャートである。
【図８】本発明の実施の形態１において学習制御のために実行されるルーチンのフローチャートである。
【図９】本発明の実施の形態２においてパージ制御のために実行されるルーチンのフローチャートである。
【符号の説明】
１０  燃料タンク
２０  キャニスタ
２２  ＣＣＶ（Ｃａｎｉｓｔｅｒ  Ｃｌｏｓｅｄ  Ｖａｌｖｅ）
２８  パージＶＳＶ（Ｖａｃｕｕｍ  Ｓｗｉｔｃｈｉｎｇ  Ｖａｌｖｅ）
３０  吸気通路
６０  ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）
ＴＨＷＳＴ  開始時冷却水温
ＸＶＳＶ開  開故障判定フラグ
ＸＶＳＶ閉  閉故障判定フラグ
【図１】
2005002921.tif 000003
【図２】
2005002921.tif 000004
【図３】
2005002921.tif 000005
【図４】
2005002921.tif 000006
【図５】
2005002921.tif 000007
【図６】
2005002921.tif 000008
【図７】
2005002921.tif 000009
【図８】
2005002921.tif 000010
【図９】
2005002921.tif 000011