(57)【特許請求の範囲】
【請求項１】
燃料タンクと内燃機関の吸気管とを連通する連通管の途中にキャニスタを設け、前記燃料タンク内の燃料が蒸発して生じた燃料蒸発ガスを前記キャニスタ内に吸着し、内燃機関の運転状態に応じて前記キャニスタの下流側のパージ制御弁を開閉して前記キャニスタから前記吸気管への燃料蒸発ガスのパージ量を制御すると共に、前記キャニスタの大気連通管をキャニスタ閉塞弁で開閉するようにしたエバポガスパージシステムにおいて、
内燃機関の運転中に、前記エバポガスパージシステム系内の漏れを診断する走行時診断手段と、
内燃機関の停止中に、前記エバポガスパージシステム系内の漏れを診断する停止時診断手段とを備え、
前記停止時診断手段は、前記走行時診断手段によって前記エバポガスパージシステム系内の漏れが診断されたときに、前記エバポガスパージシステム系内の漏れを判定することを特徴とする内燃機関のエバポパージシステムの異常診断装置。
【請求項２】
前記走行時診断手段は、前記エバポガスパージシステム内の蒸発燃料の漏れ度合として、度合の大きい漏れと度合の小さい漏れを検出するリーク度合検出手段を備え、前記リーク度合検出手段によりリーク度合の大きい漏れを検出したときには、前記エバポパージシステム内の異常とし、前記度合の小さい漏れを検出したときには、前記エバポガスパージシステム内の仮異常とし、
前記停止時診断手段は、前記走行時診断手段により前記エバポガスパージシステム系内の漏れとして仮異常が診断されたときに、前記エバポガスパージシステム内の漏れを診断することを特徴とする請求項１に記載の内燃機関のエバポガスパージシステムの異常診断装置。
【請求項３】
内燃機関の運転中において、前記走行時診断手段を実行するための実行条件を判定する走行時実行条件判定手段と、
前記エバポガスパージシステム内の圧力を検出する圧力検出手段と、
前記パージ制御弁を開弁することにより前記エバポガスパージシステム内に負圧を導入する負圧導入手段と、
前記負圧導入手段により前記エバポガスパージシステム内に負圧が導入された後、前記キャニスタ閉塞弁と前記パージ制御弁とを閉弁して、前記エバポガスパージシステムを密閉する走行時密閉手段とを備え、
前記走行時診断手段は、前記走行時実行条件判定手段により実行条件が成立すると判定されると、前記負圧導入手段により前記エバポガスパージシステムに負圧を導入した後に、前記走行時密閉手段により前記キャニスタ閉塞弁と前記パージ制御弁とを閉弁して前記エバポガスパージシステムを密閉し、前記エバポガスパージシステム内が密閉されている期間内の圧力と走行時用判定値とに基づいて前記エバポガスパージシステム内の漏れを診断することを特徴とする請求項１または請求項２のいずれか一方に記載の内燃機関のエバポガスパージシステムの異常診断装置。
【請求項４】
内燃機関の停止中において、前記停止時診断手段を実行するための実行条件を判定する停止時実行条件判定手段と、
前記エバポガスパージシステム内の圧力を検出する圧力検出手段と、
前記キャニスタ閉塞弁と前記パージ制御弁を閉弁して、前記エバポガスパージシステム内を密閉する停止時密閉手段とを備え、
前記停止時診断手段は、前記密閉手段により前記エバポガスパージシステム内が密閉されている期間の圧力と停止時用判定値とに基づいて前記エバポガスパージシステムの異常を診断することを特徴とする請求項３に記載の内燃機関のエバポガスパージシステムの異常診断装置。
【請求項５】
前記燃料タンク内の燃料残量を検出する燃料残量検出手段を備え、
前記燃料残量に基づいて前記走行時用判定値および／または前記停止時用判定値を補正することを特徴とする請求項４に記載の内燃機関のエバポガスパージシステムの異常診断装置。
【請求項６】
燃料ポンプにより圧送された燃料の余剰分を再び燃料タンクに戻すリターン管を備え、
前記燃料タンク内の燃料温度を検出する燃料温度検出手段を備え、
前記燃料温度に基づいて前記走行時用判定値および／または前記停止時用判定値を補正することを特徴とする請求項４または請求項５のいずれか一方に記載の内燃機関のエバポガスパージシステムの異常診断装置。
【請求項７】
第１の所定期間をカウントする第１の診断許可タイマを備え、
前回の前記停止時診断手段、若しくは前回の前記走行時診断手段により燃料蒸発ガスの漏れが診断されてから、前記第１の診断許可タイマにより第１の所定期間がカウントされたときに実行されることを特徴とする請求項１乃至請求項６のいずれか一つに記載の内燃機関のエバポガスパージシステムの異常診断装置。
【請求項８】
前回の前記停止時診断手段、若しくは前回の前記走行時診断手段により燃料蒸発ガスの漏れが診断されてから第２の所定期間をカウントする第２の診断許可タイマを備え、
前記停止時診断手段は、前回の前記停止時診断手段、若しくは前回の前記走行時診断手段により燃料蒸発ガスの漏れが診断されてからの期間に、一度も前記走行時診断手段、若しくは前記停止時診断手段による漏れの診断が行われず、前記診断許可タイマにより第２の所定期間がカウントされたときに前記停止時診断条件判定手段により判定される実行条件を緩和することを特徴とする請求項４に記載の内燃機関のエバポガスパージシステムの異常診断装置。
【請求項９】
燃料タンクと内燃機関の吸気管とを連通する連通管の途中にキャニスタを設け、前記燃料タンク内の燃料が蒸発して生じた蒸発ガスを前記キャニスタ内に吸着し、内燃機関の運転状態に応じて前記キャニスタの下流側のパージ制御弁を開閉して前記キャニスタから前記吸気管へのエバポガスのパージ量を制御すると共に、前記キャニスタの大気連通管をキャニスタ閉塞弁で開閉するようにしたエバポガスパージシステムにおいて、
内燃機関の運転中に、前記エバポガスパージシステム内の漏れを診断する走行時診断手段と、
前記走行時診断手段は、前記エバポガスパージシステムを正常判定するための手段を備え、
内燃機関の停止中に、前記エバポガスパージシステム内の漏れを診断する停止時診断手段と、
前記停止時診断手段は、前記エバポガスパージシステムを正常判定するための手段を備え、
内燃機関の停止時において、前記停止時診断手段により前記エバポガスパージシステム内の異常が診断されたときのみ、前記走行時診断手段のみによりエバポガスパージシステム内の正常判定を実施することを特徴とする内燃機関のエバポパージシステムの異常診断装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は燃料タンク内の燃料が蒸発して生じたエバポガス（燃料蒸発ガス）を内燃機関の吸気管にパージ（放出）するエバポガスパージシステム系の異常として、特に小径の穴によるリークの有無を診断するエバポガスパージシステムの異常診断装置に関するものである。
【０００２】
【従来技術】
エバポパージシステム系の異常を診断する技術として、従来より、特開平１１−１０１１６２号公報と特許第２７４５９９１号とに開示されている技術が知られている。
【０００３】
特開平１１−１０１１６２号公報に開示される技術は、内燃機関の運転中に異常診断を実行する技術であり、この技術では、エンジンの状態が安定しているか否かを示す診断実行条件が成立するとキャニスタ閉塞弁を閉塞する。そして、キャニスタ閉塞弁の閉塞後にエバポガスパージシステム内に負圧が導入された状態でパージ制御弁を密閉状態に維持し、この状態を異常診断の終了まで継続する。異常診断の手法としては、次の通りである。まず、この異常診断の期間を３つに分類し、それぞれの期間を、１回目の圧力変化判定期間、待機期間、２回目の圧力変化判定期間と分類する。そして、１回目の圧力変化判定期間でのエバポガスパージシステム内の圧力変化と、２回目の圧力変化判定期間でのエバポガスパージシステム内の圧力変化とを比較することによってエバポガスパージシステムのリークの有無を診断するものである。
【０００４】
また、特許第２７４５９９１号に開示される技術は、エンジンの停止中に異常診断を実行する技術であり、この技術では、エンジンの停止後にキャニスタ閉塞弁とパージ制御弁とを閉塞する。そして、密閉されたエバポガスパージシステム系の温度と圧力に基づいてエバポガスパージシステム系のリークの有無を診断するものである。
【０００５】
【発明が解決しようとする課題】
ところが、特開平１１−１０１１６２号公報の技術では、エバポガスパージシステム系のリークの原因となる穴が小径である場合、エバポガスの発生による圧力変化であるか、それともリークによる圧力変化であるかの判定が難しい。さらに、エンジンの運転中であることを考慮すると、燃料の揺れや気圧の変化等のタンク内圧への影響を考慮する必要があり、高い診断精度を要求することが困難となる。
【０００６】
一方、特許第２７４５９９１号に開示される技術では、エンジン停止中に診断を行うため、燃料の揺れや気圧の変化等、タンク内圧に影響する変化が生じないために精度良い診断を実施することができる。しかしながら、この技術では、エンジン停止後に、タンク内圧をモニタする必要があり、この間はエンジンコントロールユニット（以下、ＥＣＵと称する）を起動しなければならない。検出頻度を向上しようとすると、エンジン停止中にＥＣＵの消費電力が大きくなるという不都合が生じてしまう。
【０００７】
本発明では、上述の２つの課題に鑑みてなされたものであり、エンジン停止中の消費電力を低減し、検出精度を向上することができる内燃機関のエバポガスパージシステムの異常診断装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
そこで、本発明では、請求項１に記載の発明のように、燃料タンクと内燃機関の吸気管とを連通する連通管の途中にキャニスタを設け、前記燃料タンク内の燃料が蒸発して生じた燃料蒸発ガスを前記キャニスタ内に吸着し、内燃機関の運転状態に応じて前記キャニスタの下流側のパージ制御弁を開閉して前記キャニスタから前記吸気管への燃料蒸発ガスのパージ量を制御すると共に、前記キャニスタの大気連通管をキャニスタ閉塞弁で開閉するようにしたエバポガスパージシステムにおいて、内燃機関の運転中に、前記エバポガスパージシステム系内の漏れを診断する走行時診断手段と、内燃機関の停止中に、前記エバポガスパージシステム系内の漏れを診断する停止時診断手段とを備え、前記停止時診断手段は、前記走行時診断手段によって前記エバポガスパージシステム系内の漏れが診断されたときに、前記エバポガスパージシステム系内の漏れを判定する。
【０００９】
これにより、走行時異常診断機能により仮異常判定が成された場合に、停止時異常診断機能が実行されるので、停止時にエンジンコントロールユニットの電力を消費して行う停止時異常診断機能の実行が抑制され、精度良いエバポガスパージシステムの異常検出ができると共に、停止時の停止時異常診断機能の実施が抑制されるので、内燃機関停止中の消費電力を低減することができる。
【００１０】
また、漏れ度合の大きいエバポガスパージシステム内の異常である場合、運転中に行われる走行時異常診断機能によっても判定が容易である。このため、請求項２の発明のように、前記走行時診断手段は、前記エバポガスパージシステム内の蒸発燃料の漏れ度合として、度合の大きい漏れと度合の小さい漏れを検出するリーク度合検出手段を備え、前記リーク度合検出手段によりリーク度合の大きい漏れを検出したときには、前記エバポパージシステム内の異常とし、前記度合の小さい漏れを検出したときには、前記エバポガスパージシステム内の仮異常とし、前記停止時診断手段は、前記走行時診断手段により前記エバポガスパージシステム系内の漏れとして仮異常が診断されたときに、前記エバポガスパージシステム内の漏れを診断しても良い。
【００１１】
請求項３の発明によれば、内燃機関の運転中において、前記走行時診断手段を実行するための実行条件を判定する走行時実行条件判定手段と、前記エバポガスパージシステム内の圧力を検出する圧力検出手段と、前記パージ制御弁を開弁することにより前記エバポガスパージシステム内に負圧を導入する負圧導入手段と、前記負圧導入手段により前記エバポガスパージシステム内に負圧が導入された後、前記キャニスタ閉塞弁と前記パージ制御弁とを閉弁して、前記エバポガスパージシステムを密閉する走行時密閉手段とを備え、前記走行時診断手段は、前記走行時実行条件判定手段により実行条件が成立すると判定されると、前記負圧導入手段により前記エバポガスパージシステムに負圧を導入した後に、前記走行時密閉手段により前記キャニスタ閉塞弁と前記パージ制御弁とを閉弁して前記エバポガスパージシステムを密閉し、前記エバポガスパージシステム内が密閉されている期間内の圧力と走行時用判定値とに基づいて前記エバポガスパージシステム内の漏れを診断しても良い。
【００１２】
また、同様に、請求項４の発明では、内燃機関の停止中において、前記停止時診断手段を実行するための実行条件を判定する停止時実行条件判定手段と、前記エバポガスパージシステム内の圧力を検出する圧力検出手段と、前記キャニスタ閉塞弁と前記パージ制御弁を閉弁して、前記エバポガスパージシステム内を密閉する停止時密閉手段とを備え、前記停止時診断手段は、前記密閉手段により前記エバポガスパージシステム内が密閉されている期間の圧力と停止時用判定値とに基づいて前記エバポガスパージシステムの漏れを診断しても良い。
【００１３】
ところで、エバポガスパージシステム内を密閉した場合、圧力上昇の要因の一つに蒸発燃料の発生が挙げられる。この蒸発燃料の発生は、タンク内の燃料残量、すなわち、タンク内の空間容積に応じて発生量が変化するという特性が知られている。そこで、請求項５の発明のように、前記燃料タンク内の燃料残量を検出する燃料残量検出手段を備え、前記燃料残量に基づいて前記走行時用判定値および／または前記停止時用判定値、若しくは前記圧力検出手段による圧力値を補正することで、蒸発燃料の発生を考慮して、精度良い異常診断を実施することができる。
【００１４】
さらに、蒸発燃料の発生量は、燃料温度に依存することが知られているため、請求項６の発明のように、前記燃料タンク内の燃料温度を検出する燃料温度検出手段を備え、前記燃料温度に基づいて前記走行時用判定値および／または前記停止時用判定値、若しくは前記圧力検出手段により検出される圧力値を補正することで精度良い異常診断を実行することができる。
【００１５】
また、燃料温度による蒸発燃料量への影響と、燃料残量による蒸発燃料量への影響は、走行時と運転時とで異なるため、走行時と運転時とで異なる補正を行うのが好ましい。
【００１６】
ところで、内燃機関の停止時に行われるエバポガスパージシステムの異常診断では、車両が停止しているためにバッテリの電力を消費することが避けられない。このため、請求項７の発明のように、第１の所定期間をカウントする第１の診断許可タイマを備え、前回の前記停止時診断手段、若しくは前回の前記走行時診断手段により燃料蒸発ガスの漏れが診断されてから、前記第１の診断許可タイマにより第１の所定期間がカウントされたときに実行されるのが好ましい。
【００１７】
これにより、第１の所定期間は、停止時診断手段と走行時診断手段とが実施されないことで、よりバッテリの消費電力を低減することができる。
【００１８】
また、請求項８の発明のように、前回の前記停止時診断手段、若しくは前回の前記走行時診断手段により燃料蒸発ガスの漏れが診断されてから第２の所定期間をカウントする第２の診断許可タイマを備え、前記停止時診断手段は、前回の前記停止時診断手段、若しくは前回の前記走行時診断手段により燃料蒸発ガスの漏れが診断されてからの期間に、一度も前記走行時診断手段、若しくは前記停止時診断手段による漏れの診断が行われず、前記診断許可タイマにより第２の所定期間がカウントされたときに前記停止時診断条件判定手段により判定される実行条件を緩和する。
【００１９】
これにより、前回の燃料蒸発ガスの漏れの診断が実行されてから、第２の所定期間が経過した後は、停止時診断手段、若しくは走行時診断手段の実行条件が緩和されるので停止時診断手段を実行し易くなる。
【００２０】
請求項９の発明によれば、燃料タンクと内燃機関の吸気管とを連通する連通管の途中にキャニスタを設け、前記燃料タンク内の燃料が蒸発して生じた蒸発ガスを前記キャニスタ内に吸着し、内燃機関の運転状態に応じて前記キャニスタの下流側のパージ制御弁を開閉して前記キャニスタから前記吸気管へのエバポガスのパージ量を制御すると共に、前記キャニスタの大気連通管をキャニスタ閉塞弁で開閉するようにしたエバポガスパージシステムにおいて、内燃機関の運転中に、前記エバポガスパージシステム内の漏れを診断する走行時診断手段と、前記走行時診断手段は、前記エバポガスパージシステムを正常判定するための手段を備え、内燃機関の停止中に、前記エバポガスパージシステム内の漏れを診断する停止時診断手段と、前記停止時診断手段は、前記エバポガスパージシステムを正常判定するための手段を備え、内燃機関の停止時において、前記停止時診断手段により前記エバポガスパージシステム内の異常が診断されたときのみ、前記走行時診断手段のみによりエバポガスパージシステム内の正常判定を実施する。
【００２１】
これにより、一旦エバポガスパージシステム内に異常が判定された後は、走行時診断手段のみによって、エバポガスパージシステム内の異常診断を実行するので、内燃機関の停止時にＥＣＵによって消費される電力を低減することができる。
【００２２】
【実施の形態】
＜第１の実施の形態＞
以下に、本実施の形態に係るシステム全体の概略構成図を図１を用いて説明する。内燃機関であるエンジン１１の吸気管１２の上流側にはエアクリーナ１３が設けられ、このエアクリーナ１３を通過した空気がスロットルバルブ１４を通してサージタンク１５に流入し、吸気マニホールド１６からエンジン１１の各気筒に吸入される。各気筒の吸気マニホールド１６には、燃料噴射弁１７が設けられている。各燃料噴射弁１７には、燃料タンク１８内の燃料が燃料ポンプ３２により燃料配管３３を介して送られてくる。このとき、図示しないデリバリパイプには、プレッシャレギュレータ（図示せず）が設けられており、このプレッシャレギュレータにより規定される圧力以上の燃料は、リターン配管３４を介して燃料タンク１８に戻される。
【００２３】
次に、エバポガスパージシステム２０の構成を説明する。燃料タンク１８には、エバポ通路２１を介してキャニスタ２２が接続されている。このキャニスタ２２内には、エバポガス（蒸発燃料）を吸着する活性炭等の吸着体（図示せず）が収容されている。また、キャニスタ２２の底面部の大気連通孔には、大気に連通する大気連通管２３が設けられ、この大気連通管２３にはキャニスタ閉塞弁２４が取り付けられている。
【００２４】
このキャニスタ閉塞弁２４は、電磁弁により構成され、通電がオフされている状態では、開弁状態に保持されて、キャニスタ２２の大気連通管２３が大気に開放された状態に保たれる。このキャニスタ閉塞弁２４は、通電すると、閉弁し、大気連通管２３が閉塞された状態になる。
【００２５】
一方、キャニスタ２２とサージタンク１５との間には、キャニスタ２２内の吸着体に吸着されているエバポガスを吸気管１２にパージ（放出）するためのパージ通路２５が設けられ、このパージ通路２５の途中に、パージ流量を調整するパージ制御弁２６が設けられている。このパージ制御弁２６は、電磁弁により構成され、デューティ制御されることで、キャニスタ２２から吸気管１２へのエバポガスのパージ流量が制御されるようになっている。
【００２６】
また、樹脂材料によって構成される燃料タンク１８には、その内圧を検出するためのタンク内圧センサ２７が設けられている。燃料タンク１８内からパージ制御弁２６までのエバポガスパージシステムが密閉されている時には、燃料タンク１８の内圧とエバポガスパージシステムの他の部位の内圧が一致するため、タンク内圧センサ２７により燃料タンク１８の内圧を検出することで、エバポガスパージシステムの内圧を検出することができる。
【００２７】
このタンク内圧センサ２７の出力信号は、エンジン制御回路２８（以下、ＥＣＵと称する）に読み込まれる。このＥＣＵ２８は、マイクロコンピュータを主体として構成され、そのＲＯＭ（図示せず）に記憶された燃料噴射制御プログラム、点火制御プログラム及びパージ制御プログラム等を実行することで、燃料噴射制御、点火制御及びパージ制御等を行う。更に、ＥＣＵ２８は、ＲＯＭに記憶された図３乃至図５に示すエバポガスパージシステム異常診断プログラムを実行することで、エバポガスパージシステムの漏れ（以下、リークと称する）の有無を診断すると共に、リークを検出した時には、警告ランプ２９を点灯して運転者に警告する。なお、ＥＣＵ２８は後述するようにエンジン１１の停止後にエバポガスパージシステムの異常診断プログラムを実施するため、ドライバによりキースイッチ３５がオフされたときにＥＣＵ２８をバッテリ３７と連通することで起動し続ける。そして、エバポガスパージシステムの異常診断プログラムが終了したときに、メインリレー３６をバッテリ３７と切り離すようにするセルフ電源カット機能３８を備える。
【００２８】
以下に、図２を用いて本実施の形態に係るエバポガスパージシステム異常診断プログラムの概要を説明する。１２８のエンジン停止中判定部では、エンジンが停止しているか否かを判定する。このとき、エンジンが停止していないと判定されると、２２８の走行時診断実行条件判定手段部にて、走行時のエバポガスパージシステム異常診断プログラムの実行条件が成立しているかを判定する。そして、実行条件が成立している場合、３２８の走行時診断手段部では、エンジンの運転中にエバポガスパージシステム内にリークが発生しているかを判定するための異常診断プログラムが実施され、リークが発生しているか否かが判定される。このリークの発生としては、リーク度合の大きい異常を判定する大リーク判定と、リーク度合の小さい小リーク判定とがある。
【００２９】
６２８の正常・異常判定部では、走行時診断手段による判定結果を受けて、この判定結果が大リークによる異常であるときには図１の警告ランプ２９を点灯させる。また、この判定結果として、小リークであるときには、仮異常であるとして警告ランプ２９を点灯させずに、４２８の停止時診断実施許可機能部にこの判定結果が送られる。
【００３０】
一方、エンジン停止中判定部１２８において、エンジンが停止していると判定されると、４２８の停止時診断実行条件判定手段部にて、エンジン停止時において、エバポガスパージシステムの異常診断プログラムを実行するための実行条件が成立しているかと、走行時診断実施機能部３２８の仮異常判定の結果とに基づいて、エンジン停止時のエバポガスパージシステムの異常判定プログラムを実施するかを判定する。そして、５２８の停止時診断手段部では、停止中にエバポガスパージシステム内にリークが発生しているか否かを判定して、その結果を正常・異常判定部６２８に送る。この結果が正常である場合は、正常・異常判定機能部６２８にて警告ランプ２９が点灯されている場合には警告ランプ２９を消灯し、警告ランプ２９が消灯されている場合には、警告ランプ２９をそのままにする。一方、判定結果が異常である場合は、警告ランプ２９が消灯していれば、警告ランプ２９を点灯し、警告ランプ２９が点灯していれば、警告ランプ２９をそのままにする。
【００３１】
以上のように、本実施の形態では、停止中のエバポガスパージシステムの異常診断プログラムと運転中のエバポガスパージシステムの異常診断プログラムとを実施することで、停止中の消費電力の低減と小リーク異常時の検出精度を向上することができる。以下では、停止中のエバポガスパージシステム異常診断プログラムを内圧モニタプログラム、運転中のエバポガスパージシステム異常診断プログラムを負圧モニタプログラムと称して、本実施の形態を詳細に説明する。
【００３２】
まず、図３と図４とのフローチャートを用いて、特にエンジン停止中の負圧モニタプログラムの処理について説明する。ステップＳ１０１にて、エンジン回転速度Ｎｅが０ｒｐｍ以上であるか否かが判定される。この判定は、図２のエンジン停止中判定機能部１２８に該当する。ここでは、エンジン回転速度Ｎｅを判定に用いたがキースイッチの状態を判定することによって、エンジンの停止中、若しくは運転中を判定しても良い。ここで、エンジンが停止中であると判定されると、Ｄに進み、図５にて後述するように、エンジン１１が停止しているときにエバポガスパージシステム内の異常を検出する内圧モニタプログラムの処理へと進む。
【００３３】
一方、エンジンが運転中であると判定されると、ステップＳ１０２に進む。ステップＳ１０２では、負圧モニタプログラムによる異常診断が終了したことを示すフラグＦＬＧ１が０であるかを判定する。このフラグＦＬＧ１に１が設定されているときは、負圧モニタプログラムによる異常診断が終了していることを示し、このまま本ルーチンを終了する。また、フラグＦＬＧ１に０が設定されている場合には、ステップＳ１０３へ進み、診断実行条件が成立しているか否かを判定する。この診断実行条件はエンジン運転状態が安定しているときに成立し、例えば吸入空気量、吸気温、始動後の経過時間、空燃比フィードバック中であるか否か等によって判定する。もし、診断実行条件が成立していなければ、以降の異常診断処理を行うことなく、本プログラムを終了する。
【００３４】
一方、診断実行条件が成立している場合は、ステップＳ１０４に進み、キャニスタ閉塞弁２４を閉じた後、ステップＳ１０５，Ｓ１０６で、パージ制御弁２６を徐々に開放して、パージ制御弁２６を所定開度まで開き、エバポガスパージシステムに負圧を導入する。この際、パージ制御弁２６を徐々に開放する理由は、ドライバビリティへの影響を少なくするためと、負圧導入時のエバポガスパージシステム内の空気の流れを緩やかにするためである。
【００３５】
パージ制御弁２６を所定開度まで開いた状態で、タンク内圧センサ２７で検出したエバポガスパージシステムの圧力が所定圧力以下になるまで待機し（ステップＳ１０７）、所定圧力以下になった時点で、パージ制御弁２６を閉じ（ステップＳ１０８）、エバポガスパージシステムを密閉する。そして、次のステップＳ１０９で、現在のエバポガスパージシステム圧力Ｐ１ａを読み込んでＲＡＭ（図示せず）に記憶し、次のステップＳ１１０で、このエバポガスパージシステム圧力Ｐ１ａが許容下限圧力以下であるか否かを判定し、許容下限圧力以下の場合（導入負圧が大きすぎる場合）には、精度の良い異常診断を行えないため、以降の異常診断処理を行うことなく、図４のステップ１３２に進み、キャニスタ閉塞弁２４を開弁して、エバポガスパージシステムの密閉状態を解除する。
【００３６】
エバポガスパージシステムの圧力Ｐ１ａが許容下限圧力より高い場合は、図３のステップＳ１１１に進み、１回目の圧力変化判定期間開始後の経過時間をタイマＡを用いてカウントする。以後、１回目の圧力変化判定期間として、予め設定された所定時間１が経過するまで、タイマＡを一定時間毎にインクリメントする処理を繰り返し（ステップＳ１１１，Ｓ１１２）、このタイマＡによる計時時間が所定時間１に達した時点で、ステップＳ１１３に進んで、１回目の圧力変化判定期間終了時のエバポガスパージシステムの圧力Ｐ１ｂと開始時のエバポガスパージシステムの圧力Ｐ１ａとの差分ＤＰＴ１、つまり１回目の圧力変化判定期間におけるエバポガスパージシステムの圧力変化量ＤＰＴ１を算出してＲＡＭ（図示せず）に記憶する。
【００３７】
この後、ステップＳ１１４で、１回目の圧力変化判定期間におけるエバポガスパージシステムの圧力変化量ＤＰＴ１を、予め設定された判定値Ｌと比較する。ここで、判定値Ｌは１回目の圧力変化判定期間中のエバポガスの発生による圧力変化量又はそれ以下の値に設定されている。従って、圧力変化量ＤＰＴ１が判定値Ｌより小さい時は、エバポガスパージシステム内に漏れが無いと判断できるため、図４のステップＳ１３５に進み、正常と判定する。そして、図４のステップＳ１３６にて、正常判定カウンタをインクリメントし、図４のステップＳ１３７にて、この正常判定カウンタが所定値αを越えたかいなかを判定する。このとき、正常判定カウンタが所定値αを越えていれば、図４のステップＳ１３８にて警告ランプ２７を消灯して図４のステップＳ１３８へ進む。一方、正常判定カウンタが所定値αを越えていない場合には、図４のステップＳ１３８をバイパスして、図４のステップＳ１３１へ進む。図４のステップＳ１３１では、診断終了を示すフラグＦＬＧ１に１を設定して、図４のステップＳ１３２にて、キャニスタ閉塞弁２４を開弁して、通常のパージ制御に復帰する。
【００３８】
一方、図３のステップＳ１１４にて、圧力変化量ＤＰＴ１が判定値Ｌ以上であると判定されると、エバポガスパージシステムの漏れが発生している可能性があるので、１回目の圧力変化判定期間終了後も、引き続きエバポガスパージシステムを密閉状態に維持し、１回目の圧力変化判定期間終了後の経過時間をタイマＢでカウントし、所定の待機時間が経過するまで待機する（ステップＳ１１５，Ｓ１１６）。
【００３９】
その後、所定の待機時間が経過した時点で、２回目の圧力変化判定期間に移行し、図４のステップＳ１１７で、エバポガスパージシステム圧力の最小値Ｐｍｉｎを記憶する。このエバポガスパージシステム圧力の最小値Ｐｍｉｎは、２回目の圧力変化判定期間中に随時更新される。そして、次のステップＳ１１８で、エバポガスパージシステム圧力の最大値Ｐｍａｘを記憶する。このエバポガスパージシステム圧力の最大値Ｐｍａｘについても、２回目の圧力変化判定期間中に随時更新される。
【００４０】
２回目の圧力変化判定期間中は、ステップＳ１１９にて、エバポガスパージシステム圧力の最小値Ｐｍｉｎが所定圧力範囲（エバポガスパージシステムの漏れの可能性のある範囲）内であるか否かを判定し、所定圧力範囲から外れている時には、正常と判定し（ステップ１３５）、ステップＳ１３６以降の処理（前述したので、詳細は省略する）を経由して、通常のパージ制御に復帰する。このような処理により、２回目の圧力変化判定期間の開始時に、エバポガスパージシステムの圧力が所定圧力範囲から外れている時には、正常と判定して、２回目の圧力変化の判定を終了する。
【００４１】
更に、２回目の圧力変化判定期間中は、ステップＳ１２０で、エバポガスパージシステム圧力の最大値Ｐｍａｘが所定圧力範囲（エバポガスパージシステムの漏れの可能性のある範囲）内であるか否かを判定し、所定圧力範囲から外れている時には、正常と判定し（ステップ１３５）、ステップＳ１３６以降の処理（前述したので、詳細は省略する）を経由して、通常のパージ制御に復帰する。
【００４２】
２回目の圧力変化判定期間開始後の経過時間をタイマＣでカウントし（ステップＳ１２１）、２回目の圧力変化判定期間として、予め設定された所定時間２が経過した時点で、ステップＳ１２３に進み、エバポガスパージシステム圧力の最大値Ｐｍａｘと最小値Ｐｍｉｎとの差分ＤＰＴ２を算出してＲＡＭに記憶する。この後、ステップＳ１２４で、タンク内温度Ｔａと燃料レベルＬとを、タンク内圧センサ２７と燃料レベルセンサ３１とにより検出し、検出した値を図示しないＲＡＭに記憶する。そして、ステップＳ１２５へ進む。ステップＳ１２５以降の処理では、リークを検出するための処理が示してあり、リークの形態として、エバポガスパージシステムのいずれかの箇所にφ０．５、若しくはφ１．０の穴が存在した場合のリークを検出するための処理が示してある。ステップＳ１２５では、１回目の圧力変化量ＤＰＴ１と２回目の圧力変化量ＤＰＴ２との差分を算出して、この差分（ＤＰＴ１−ＤＰＴ２）が予め設定された判定値Ｋ１以上であるか否かを判定する。
【００４３】
この判定値Ｋ１は、φ１．０を判定するための値であり、後述するφ０．５を判定するための判定値Ｋ２よりも大きな値が設定されている。すなわち、φ１．０のリークでは、φ０．５に比して大きな径の穴であるので、燃料タンク１８内の圧力が、φ０．５に比して大気になるのが早くなる。このために、φ１．０のリークではタンク内圧の差分（ＤＰＴ１−ＤＰＴ２）が大きくなる。判定値Ｋ１は、この状態を判定するための値であるため、φ０．５のリークを判定するための判定値Ｋ２よりも大きな値となる。
【００４４】
なお、図６（ａ）は、燃料温度に応じて補正係数Ｍｆｔを設定するマップであり、図６（ｂ）は、燃料レベルに応じて補正係数Ｍｆｌを設定するためのマップである。判定値Ｋ１は、このマップによって設定されるそれぞれの補正係数Ｍｆｔ，Ｍｆｌを乗じることで、燃料温度Ｔａと燃料レベルＬに応じた値が設定される。つぎに、図６（ａ），（ｂ）について更に説明する。図６（ａ）では、負圧モニタプログラム用の補正係数Ｍｆｔと、内圧モニタプログラム用の補正係数Ｍｆｔとを設定することができる。さらに、負圧モニタプログラムでは、リークの判定をエンジンの運転中に実施するために燃料温度の影響がエンジン停止時に比して大きくなる。このため、内圧モニタプログラム用の補正係数Ｍｆｔよりも、負圧モニタプログラム用の補正係数Ｍｆｔのほうが、同一の燃料温度Ｔａで比較すると大きな値に設定される。ちなみに、何れの補正係数Ｍｆｔも、燃料温度Ｔａが大きくなるほど、大きな補正係数Ｍｆｔが設定される。図６（ｂ）についても同様の理由であり、内圧モニタプログラム用の補正係数Ｍｆｌよりも負圧モニタプログラム用の補正係数Ｍｆｌのほうが、同一の燃料レベルで比較すると大きな値が設定される。ちなみに、燃料レベルＬが小さい（燃料タンク内の空間容積が大きい）ほど補正係数Ｍｆｌは大きな値が設定される。
【００４５】
このようにして判定値Ｋ１が設定されると、タンク内圧の差分（ＤＰＴ１−ＤＰＴ２）が判定値Ｋ１より大きい場合は、ステップＳ１２６に進みφ１．０の異常であると判定する。すなわち、１回目の圧力変化判定期間と２回目の圧力変化判定期間で、エバポガスパージシステムの圧力が、１回目の圧力判定期間では、圧力が大気圧に向けて急変し、その後、２回目の圧力判定期間ではエバポガスパージシステムの圧力が大気圧付近に維持されるためである。そして、φ１．０異常であると判定されると、ステップＳ１２７に進み、φ１．０異常カウンタをインクリメントする。このφ１．０異常カウンタは、初期値として０が設定されるカウンタであり、何回異常が発生したかをカウントする。
【００４６】
つぎに、ステップＳ１２８では、このφ１．０異常カウンタが所定値βを越えたか否かを判定する。この所定値βを越えた場合は、ステップＳ１２９に進み警告ランプ２７を点灯させてステップＳ１３０に進む。一方、φ１．０異常カウンタが所定値β以下である場合は、ステップＳ１３０に進み、正常判定カウンタをクリアしてステップＳ１３１へ進む。ステップＳ１３１では、診断終了フラグＦＬＧ１に１を設定し、ステップＳ１３２にてキャニスタ閉塞弁を開き、通常制御に復帰する。
【００４７】
これに対し、タンク内圧の差分（ＤＰＴ１−ＤＰＴ２）が判定値Ｋ１以下である時は、ステップＳ１３３へ進む。ステップＳ１３３では、φ０．５のリークを判定するために、タンク内圧の差分（ＤＰＴ１−ＤＰＴ２）が判定値Ｋ２よりも大きいか否かを判定する。ちなみに判定値Ｋ２も、図６（ａ），（ｂ）に示すマップにより補正係数Ｍｆｔ，Ｍｆｌを乗じて算出される。タンク内圧の差分（ＤＰＴ１−ＤＰＴ２）が判定値Ｋ２よりも小さい場合には、エバポガスパージシステムにリークが発生していないとして、ステップＳ１３５にて、エバポガスパージシステムは正常であると判定する。以降の処理については前述したので、説明を省略する。
【００４８】
一方、ステップＳ１３３にてタンク内圧の差分（ＤＰＴ１−ＤＰＴ２）が判定値Ｋ２よりも大きい場合には、ステップＳ１３４に進み、φ０．５仮異常と判定し、この仮判定結果を図示しないＲＡＭに記憶する。そして、ステップＳ１３１にて、診断終了フラグＦＬＧ１に１を設定し、ステップＳ１３２にて、キャニスタ閉塞弁２４を開いて通常制御に復帰する。
【００４９】
尚、上記ステップＳ１２５，Ｓ１３３では、１回目の圧力変化量ＤＰＴ１と２回目の圧力変化量ＤＰＴ２との差分からエバポガスパージシステムの漏れの有無を判定するようにしたが、１回目の圧力変化量ＤＰＴ１と２回目の圧力変化量ＤＰＴ２との比からエバポガスパージシステムの漏れの有無を判定するようにしても良い。
【００５０】
以上説明したエバポガスパージシステム異常診断プログラムでは、１回目の圧力変化の判定から２回目の圧力変化の判定までエバポガスパージシステムを密閉状態に維持するため、２回の圧力変化の判定を同じエバポ条件で行うことができる。これにより、２回の圧力変化の判定結果から、エバポガスの発生による圧力変化の影響をキャンセルすることができ、エバポガスパージシステムの漏れを精度良く診断することができる。
【００５１】
しかも、２回目の圧力変化判定期間の開始時やその期間中に、エバポガスパージシステムの圧力が所定圧力範囲（エバポガスパージシステムの漏れの可能性のある範囲）内であるか否かを判定し、エバポガスパージシステムの圧力が所定圧力範囲から外れた時に、直ちに圧力変化の判定を終了するようにしたので、正常時には、無駄な圧力変化の判定を行わずに済み、迅速な異常診断が可能となる。
【００５２】
尚、２回目の圧力変化判定期間に代えて、エバポガスパージシステムの圧力を１時点で検出する圧力判定時期を設定しても良い。また、エバポガスパージシステムの密閉期間中に、２回の圧力変化判定期間を設定したが、３回以上の圧力変化判定期間を設定しても良い。
【００５３】
また、本実施の形態では、各圧力変化判定期間のエバポガスパージシステム内の圧力変化量ＤＰＴ１，ＤＰＴ２を判定するようにしたが、圧力変化率を判定しても良い。或は、各圧力変化判定期間において、予め設定された圧力変化量に達するまでの時間をタイマで計測して、この時間を圧力変化の指標として用いるようにしても良い。また、待機期間を設定せずに、複数回の圧力変化判定期間を連続して設定するようにしても良い。
【００５４】
尚、図１のシステム構成例では、圧力センサ２７で燃料タンク１８の内圧を検出するようにしたが、例えばエバポ通路２１の圧力を検出するようにしても良く、要は、燃料タンク１８からパージ制御弁２６までのエバポガスパージシステムのいずれかの箇所の圧力を検出するようにすれば良い。
【００５５】
つぎに、図５のフローチャートを用いて、内圧モニタプログラムによる異常診断について説明する。このプログラムは、図３のステップＳ１０１にて判定されたように、エンジン回転速度Ｎｅが０であった場合に実行される処理ルーチンであり、エンジン停止中のエバポガスパージシステム異常診断を実施する。まず、ステップＳ２０１では、キースイッチ３５がオフであるか否かを判定する。ここで、キースイッチ３５がオフでなければ、負圧モニタプログラムを実行せずにそのまま本ルーチンを終了する。一方、キースイッチ３５がオフされていれば、ステップＳ２０２に進む。ステップＳ２０２では、負圧モニタプログラムにてφ０．５仮異常判定をしたか否かが判定される。そして、この仮異常判定が行われていない場合には、負圧モニタプログラムを実行せずに本ルーチンを終了することで、エンジン停止中にＥＣＵ２８により消費される電力を保護することができる。
【００５６】
一方、仮異常判定が行われていれば、ステップＳ２０３へ進む。パージ制御弁２６を閉じ、ステップＳ２０４にてキャニスタ閉塞弁２４を閉じることで、エバポガスパージシステムを密閉する。そして、ステップＳ２０５にて、タンク内温Ｔａと燃料レベルＬとを、燃温センサ３０と燃料レベルセンサ３１とにより検出し、図示しないＲＡＭに記憶する。また、タイマＴｉｍｅｒ１をセットする。タイマＴｉｍｅｒ１は、内圧モニタプログラムが実施してからの時間をカウントするタイマである。ステップＳ２０６にて、タンク内圧センサ２７にてエバポガスパージシステムの圧力Ｐａを検出する。そして、ステップＳ２０７では、エバポガスパージシステムが密閉されてから発生した蒸発燃料量を演算する。蒸発燃料量は、タンク内圧Ｐａの積算値Ｐｔｏｔａｌとして演算される。また、このとき、タイマＴｉｍｅｒ１をインクリメントする。ステップＳ２０８では、タイマＴｉｍｅｒ１が所定値γを越えたかを判定する。すなわち、この判定で、タイマＴｉｍｅｒ１が所定値γ経過していない場合には、ステップＳ２０６，ステップＳ２０７の処理を繰り返し実行する。そして、タイマＴｉｍｅｒ１が所定値γとして、例えば、５分を経過したらステップＳ２０９へ進む。
【００５７】
つぎに、ステップＳ２０９では、リークを判定するための判定値Ｋ３を読み込む。この判定値Ｋ３は、図６（ａ），（ｂ）のマップにより補正係数Ｍｆｔ，Ｍｆｌを乗じて算出される（詳細は、前述したので省略する）。そして、ステップＳ２１０にて、Ｐｔｏｔａｌが判定値Ｋ３を越えたか否かが判定される。ここで、判定値Ｋ３を越えていなければ、ステップＳ２１２にてφ０．５異常であると判定して、ステップＳ２１３にて、警告ランプ２９を点灯させ、ステップＳ２１４へ進む。一方、Ｐｔｏｔａｌが判定値Ｋ３を越えていれば、ステップＳ２１１に進み、正常判定をしてステップＳ２１４へ進む。ステップＳ２１４では、φ０．５仮異常判定をクリアする。そして、ステップＳ２１５にて、キャニスタ閉塞弁２４を開いて、セルフ電源カット機能３８によりメインリレー３６を切り換えてＥＣＵ２８とバッテリ３７との接続をオフする。
【００５８】
以上のように、本実施の形態では負圧モニタプログラムによってφ０．５仮異常判定が判定されたときのみ、内圧モニタプログラムを起動させることでエンジン停止中に消費される電力を低減することができる。また、負圧モニタプログラムによるφ１．０異常判定では、φ１．０異常カウンタが所定値βを越えたときにのみ警告ランプ２９を点灯させるようにしているので、精度良い検出が可能となる。さらに、負圧モニタプログラムのφ０．５異常判定では、φ０．５リークが発生していると判定すると、φ０．５仮異常判定とし、内圧モニタプログラムによるφ０．５プログラムによる異常診断を実施することで精度良いφ０．５異常を判定することができる。
【００５９】
このように、内圧モニタプログラムと負圧モニタプログラムとを併用することで検出頻度と、エンジン停止中の消費電力を低減することができる。
【００６０】
つぎに、本実施の形態を適用した例を図７に示すタイムチャートを用いて説明する。まず、図７（ｅ）は、キャニスタ閉塞弁２４の開閉状態を示しており、負圧モニタプログラムの診断条件が成立すると、キャニスタ閉塞弁２４を閉じる。そして、実行条件の成立を受けて、図７（ｆ）に示すように、パージ制御弁２６を徐々に開弁することで、エバポガスパージシステム内に所定負圧を導入し、所定負圧となったところでパージ制御弁２６を閉弁してエバポガスパージシステムを密閉する。そして、１回目の圧力変化判定期間では、図７（ｇ）に示すようにこの期間での、タンク内圧の最小値Ｐｌａとタンク内圧の最大値Ｐｌｂを記憶する。そして、１回目の圧力変化判定期間終了時に、タンク内圧の変化値として、ＤＰＴ１（＝Ｐｌｂ−Ｐｌａ）を演算する。この演算により得られるＤＰＴ１が判定値Ｌ以上であると待機期間に移る。そして、待機期間が終了すると、２回目の圧力変化判定期間が終了するまで、タンク内圧の最大値Ｐｍａｘと最小値Ｐｍｉｎを更新する。そして、この期間が終了すると、この期間での圧力変化値として、ＤＰＴ２（Ｐｍａｘ−Ｐｍｉｎ）を演算するとともに、圧力変化値の偏差（ＤＰＴ１−ＤＰＴ２）を演算する。
【００６１】
このとき、偏差（ＤＰＴ１−ＤＰＴ２）が判定値Ｋ２を越えていれば、図７（ｃ）に示すように、φ０．５仮異常判定がされ、同時に負圧モニタプログラムの異常診断が終了したことを示すために、図７（ｄ）に示すようにＦＬＧ１を１にセットして、負圧モニタプログラムを終了する。このとき、キャニスタ閉塞弁２４を開放して、通常の運転時に復帰する。
【００６２】
このように、負圧プログラムでのφ０．５仮異常判定が行われると、図７（ａ）に示すキースイッチ３５がオフされたときに、内圧モニタプログラムによるφ０．５異常診断が実施される。エンジン停止時の異常診断では、キャニスタ閉塞弁２４とパージ制御弁２６とを閉塞し、エバポガスパージシステムを密閉する。図７（ｇ）に示すように、このときのタンク内圧の上昇をモニタし、エバポガスパージシステムの異常を判定する。図中実線は、φ０．５リークなしのときのタンク内圧の変化であり、φ０．５リーク有りのときには、点線で示す圧力変化となる。
【００６３】
本実施の形態において、走行時診断手段は図３，図４のフローチャートに、停止時診断手段は図５のフローチャートに、リーク度合検出手段は図５のフローチャートのステップＳ１２５，Ｓ１３３に、走行時実行条件判定手段は図３のフローチャートのステップＳ１０３に、負圧導入手段は図３のフローチャートのステップＳ１０５に、走行時密閉手段は図３のフローチャートのステップＳ１０８に、停止時実行条件判定手段は図５のフローチャートのステップＳ２０１に、圧力検出手段はタンク内圧センサ２７に、停止時密閉手段はステップＳ２０３，ステップＳ２０４に、燃料残量検出手段と燃料温度検出手段は図５のフローチャートのステップＳ２０５に、それぞれ相当し、機能する。
【００６４】
＜第２の実施の形態＞
第１の実施の形態では、バッテリの消費電力を低減することを目的として、内燃機関の運転中に行われる負圧モニタプログラムによるエバポガスパージシステム系の異常診断により、φ０．５仮異常判定が行われたときにのみ、内圧モニタプログラムを実施して、φ０．５異常判定を行った。本実施の形態では、エンジン停止期間中にバッテリ３７の電力が消費されることを考慮して、エンジン停止時異常診断プログラムの実施頻度を制御するものである。
【００６５】
図８は、本実施の形態に係るシステム全体の概略構成図である。図１の概略構成図と同一の構成には同一の符号を付して説明を省略する。本実施の形態に係る図８の全体構成図では、エンジン停止時異常診断プログラムの実施状況を確認するための診断未経験タイマ４０が追加されている。この診断未経験タイマ４０は、ＥＣＵ２８のようにバッテリ３７の電力を用いて駆動するものとは異なり、バッテリ３７の電力以外の電力にて駆動される低消費電力タイマである。図９に示すフローチャートは、この診断未経験タイマ４０のカウント処理が示してある。このフローチャートは、例えば、一分毎に起動されて、ステップＳ３００の処理として、前回のタイマ値ＥＮＤＴｉｍｅｒに１を加えた値を今回のタイマ値ＥＮＤＴｉｍｅｒに設定し、このフローチャートの処理を終了する。
【００６６】
つぎに、この診断未経験タイマ４０を用いて行われる走行時診断プログラムと停止時異常診断プログラムとを、図１０乃至図１２とに示すフローチャートを用いて、説明する。第１の実施の形態と同一の処理には同一の符号を付して説明を省略し、異なる部分について説明する。図１０のフローチャートでは、まず、ステップＳ３０１にて、タイマ値ＥＮＤＴｉｍｅｒが所定値Ｔ以上であるか否かが判定される。この所定値Ｔは、例えば、２４時間でも良いし、１週間でも良く、目的に応じて設定すれば良い。タイマ値ＥＮＤＴｉｍｅｒが所定値Ｔを越えていなければ、走行時診断プログラムとしての負圧モニタプログラムを実行せずに本ルーチンを終了する。一方、タイマ値ＥＮＤＴｉｍｅｒが所定値Ｔを越えた場合には、ステップＳ１０１にて、エンジン回転速度Ｎｅが０ｒｐｍ以上であるかを判定する。これにより、エンジン１が運転中であると判定されると、ステップＳ１０２以降に示す負圧モニタプログラムを実行する。
【００６７】
本実施の形態の負圧モニタプログラムは、第１の実施の形態と同様であるが、図１１のステップＳ１３１にて、診断終了を示すフラグＦＬＧ１に１を設定し、ステップＳ１３２にて、キャニスタ閉塞弁２４を開弁すると、ステップＳ３０２にて、タイマ値ＥＮＤＴｉｍｅｒをリセットするために０を入力して、負圧モニタプログラムを終了する。
【００６８】
一方、エンジン回転速度Ｎｅが０ｒｐｍである、すなわち、エンジン１が停止中であると判定されると、図１２に示すフローチャートの処理を実行する。このフローチャートの処理では、内圧モニタプログラムが示してある。このプログラムも第１の実施の形態と同様であるが、内圧モニタプログラムによりφ０．５異常診断を実施し、ステップＳ２１５にてキャニスタ閉塞弁２４を開弁すると、ステップＳ３０３にてタイマ値ＥＮＤＴｉｍｅｒをリセットするために０を入力して内圧モニタプログラムを終了する。
【００６９】
以上のように、本実施の形態では、エンジン停止時にＥＣＵ２８を使用することによって消費される電力を低減するために、診断未経験タイマ４０を用いて内圧モニタプログラムの実行頻度を規制した。これにより、エンジンが停止される毎に内圧モニタプログラムが起動されることを防止することができるので、エンジン停止時に消費する電力を低減することができる。
【００７０】
本実施の形態において、第１の診断許可タイマは図９のフローチャートに相当し、機能する。
【００７１】
＜第３の実施の形態＞
第１，第２の実施の形態において、内圧モニタプログラムによる異常診断は、負圧モニタプログラムによる異常診断によってφ０．５仮異常判定がなされたときにのみ実施された。そして、この２つの実施の形態では、警告ランプ２９が点灯しているときに、正常復帰するためにも内圧モニタプログラムが実施されてしまうことがある。このため、エンジン１１の停止時に正常復帰をさせようと、内圧モニタプログラムが起動されてしまうことで、ＥＣＵ２８がバッテリ３７の電力を消費してしまう虞がある。
【００７２】
そこで、本実施の形態では、負圧法、内圧モニタ、いずれかの異常診断プログラムによってφ０．５異常を示す警告ランプ２９が点灯しているときは、正常復帰のための異常診断プログラムとして負圧モニタプログラムのみを実施することで、エンジン１１の停止中に電力が消費されることを低減することを目的とする。
【００７３】
まず、図１３のフローチャートを用いて、本実施の形態に係る内圧モニタプログラムによる異常診断について説明する。この異常診断プログラムは、第１の実施の形態と同様のため、同一の処理ステップには、同一の符号を付して説明を省略する。まず、ステップＳ２０１にて、キースイッチ３５のオフされているか否かが判定され、ステップＳ２０２にて、走行時異常診断にてφ０．５仮異常であると判定されたか否が判定される。この２つの条件を満たすと、ステップＳ４００に進む。ステップＳ４００では、φ０．５異常、若しくはφ１．０異常によって警告ランプ２９が点灯しているか否かが判定され、点灯していればＥＣＵ２９の消費電力を考慮して、内圧モニタプログラムを実施せずに本ルーチンを終了する。一方、警告ランプ２９が点灯していなければ、ステップＳ２０３以降の処理にて内圧モニタプログラムによる異常診断を実施する。
【００７４】
内圧モニタプログラムによる異常診断は、第１の実施の形態と略同様であり、ステップＳ２１１以降の処理が若干異なる。この異なる部分について以下に説明する。タンク内圧の積算値Ｐｔｏｔａｌと判定値ｋとに基づいてエバポガスパージシステム内に異常がないと判定されると、ステップＳ２１１にて、正常判定が実施され、ステップＳ４０１へ進む。ステップＳ４０１では、φ０．５異常をカウントするためのφ０．５異常カウンタに０にセットし、ステップＳ２１５にてキャニスタ閉塞弁２４を開弁して、本ルーチンを終了する。
【００７５】
一方、タンク内圧の積算値Ｐｔｏｔａｌと判定値ｋとに基づいてエバポガスパージシステム内に異常があると判定されると、ステップＳ２１２にて、異常判定が実施され、ステップＳ４０２へ進む。ステップＳ４０２では、φ０．５異常カウンタをインクリメントしてステップＳ４０３へ進む。ステップＳ４０３では、このφ０．５異常カウンタが所定値βを越えたか否かを判定し、越えない場合にはステップＳ２１３をバイパスして、ステップＳ２１５へ進む。また、所定値βを越えた場合には、ステップＳ４０４へ進み、φ０．５仮異常の判定を無効にしてステップＳ２１３へ進む。ステップＳ２１３では、警告ランプ２９を点灯し、ステップＳ２１５にてキャニスタ閉塞弁２４を開弁して本ルーチンを終了する。
【００７６】
以上のように、本実施の形態では、ステップＳ４００にて、警告ランプ２９が点灯しているか否かを判定することによって、内圧モニタプログラムを実施するか否かを決定しているので、正常復帰のための異常診断は走行時異常診断機能によって実施される。これにより、本実施の形態では、停止時にＥＣＵ２８が起動されることによって消費される電力を低減することができる。
【００７７】
本実施の形態において、図１３のフローチャートのステップＳ４００の処理は、内燃機関の停止時において、前記停止時診断手段により前記エバポガスパージシステム内の異常が診断されたときは、前記走行時診断手段のみによりエバポガスパージシステム内の正常判定を実施するための判定処理である。
【００７８】
＜第４の実施の形態＞
第１，第２の実施の形態において、エバポガスパージシステム内の異常をエンジン１１の停止時に検出する内圧モニタプログラムは、φ０．５仮異常判定が成立しない限り実行されない。このため、第２の実施の形態において、タイマＥＮＤＴｉｍｅｒが所定値Ｔを越えても、負圧モニタプログラムによりφ０．５仮異常の判定がなされない限り、内圧モニタプログラムを実行しないために、φ０．５異常の判定を実施することができない可能性がある。そこで、本実施の形態では、この問題に着眼して、タイマＥＮＤＴｉｍｅｒが第２の実施の形態で用いた所定値Ｔよりも大きな所定値Ｔ１を越えた場合に、実行条件を緩和して異常診断プログラムの実行し易くすることに特徴を有する。
【００７９】
以下に、図１４乃至図１６を用いて詳細に説明する。図１４は、内圧モニタプログラムの実行条件を判定し、判定結果に基づいて内圧モニタプログラムを実行するか否かを示すフラグＦＬＧ２を設定するためのフローチャートである。まず、ステップＳ５００乃至ステップＳ５０３にて、図示しない車速センサ等から検出される車両の速度が所定値Ａ以上、エンジン回転速度Ｎｅが所定値Ｂ以上、冷却水温Ｔｈｗが所定値Ｃ以上、タンク内温度が所定値Ｄ以上などの条件が全て満たされた場合に、ステップＳ５０４へ進む。
【００８０】
ステップＳ５０４では、ステップＳ５００乃至ステップＳ５０３の運転条件が満たされた期間をカウントするための継続タイマＴｒｕｎをインクリメントし、ステップＳ５０５へ進む。ステップＳ５０５では、継続タイマＴｒｕｎが所定値α１を越えたか否かが判定されて、継続タイマＴｒｕｎが所定値α１を越えた場合に、内圧モニタプログラムの実行を許可するための診断許可フラグＦＬＧ２に１をセットして、本ルーチンを終了する。一方、ステップＳ５００乃至ステップＳ５０３の運転条件が満たされない場合、若しくはステップＳ５０５にて、継続タイマＴｒｕｎが所定値α１を越えない場合には、ステップＳ５０７にて診断許可フラグＦＬＧ２に０をセットして本ルーチンを終了する。
【００８１】
以上のようにして、図１４のフローチャートでは、エンジン１１の走行時の履歴から、内圧モニタプログラムによる異常診断プログラムの実行条件を成立させる。
【００８２】
また、図１５のフローチャートでは、内圧モニタプログラムによる異常診断を終了させるための診断断終了後タイマＳＴＯＰＴｉｍｅｒを設定する処理が示してある。図１５のステップＳ５０８にて、キースイッチ３５がオフされているか否かが判定され、図１４のステップＳ５０６，若しくはステップＳ５０７にて設定された診断許可フラグＦＬＧ２が１か否かを判定する。ここで、フラグＦＬＧ２が１である場合には、ステップＳ５１０にて、診断終了後タイマＳＴＯＰＴｉｍｅｒをリセットするために０を入力して、ステップＳ５１１へ進む。一方、キースイッチ３５がオフされていない、若しくはフラグＦＬＧ２が１ではない場合には、ステップＳ５１１へ進み、診断終了後タイマＳＴＯＰＴｉｍｅｒをインクリメントし、本ルーチンを終了する。
【００８３】
図１６は、内圧モニタプログラムを説明するフローチャートである。このフローチャートにおいて、第１の実施の形態と同一の処理ステップには、同一の符号を付して説明を省略する。まず、ステップＳ５１２にて、キースイッチ３５がオフされ、かつ、診断許可フラグＦＬＧ２が１であるかが判定される。そして、ステップＳ２０２にて、走行時異常診断機能によりφ０．５仮異常の判定が実施されているか否かが判定される。φ０．５仮異常が判定されていればステップＳ２０３以降の処理に進み、内圧モニタプログラムを実行して本ルーチンを終了する。一方、走行時異常診断によるφ０．５仮異常が判定されていなければステップＳ５１３へ進む。
【００８４】
ステップＳ５１３では、第２の実施の形態の図９により処理されるタイマＥＮＤＴｉｍｅｒが所定値Ｔ１よりも大きいか否かが判定される。この所定値Ｔ１は、第２の実施の形態にて用いられる所定値Ｔよりも大きな値である。この所定値Ｔ１を越えたと判定すると、ステップＳ５１４へ進む。ステップＳ５１４では、図１５のフローチャートにて設定されるタイマＳＴＯＰＴｉｍｅｒが所定値Ｔ２以下であるか否かが判定される。所定値Ｔ２以下である場合は、ステップＳ２０３に進み、内圧モニタプログラムを実施して本ルーチンを終了する。一方、ステップＳ５１３，Ｓ５１４の条件を満たさない場合には、内圧モニタプログラムを実施せずに本ルーチンを終了する。
【００８５】
以上のようにして、エンジン１１の走行時の運転履歴として、ステップＳ５００乃至ステップＳ５０３の条件と、タイマ値ＥＮＤＴｉｍｅｒが所定値Ｔ１以上である条件を満たすときは、走行時異常診断プログラムによってφ０．５仮異常の判定が実施されない場合でも、内圧モニタプログラムを実施する。これにより、所定期間（所定値Ｔ１）を経過してもエバポガスパージシステム内の異常診断が実施されていない場合に、強制的に内圧モニタプログラムを実施することができる。
【００８６】
本実施の形態において、第２の診断許可タイマは、図１４のフローチャートに相当し、機能する。
【００８７】
（その他の実施例１）
第１乃至第４の実施の形態では、内圧モニタプログラムとして、図５，１２，１３，１６に示すフローチャートを挙げた。これらの内圧モニタプログラムでは、エンジン１１の停止後に発生する燃料蒸発ガス（エバポガス）によって上昇する圧力に基づいてリークの有無を判定した。
【００８８】
これに対して、本実施例では、内圧モニタプログラムの別実施例として、エンジン１１の停止後の温度と圧力とに基づいてエバポガスパージシステム系内のリークを判定する。以下に、図１７に示すフローチャートを用いて、本実施例の内圧モニタプログラムについて説明する。まず、ステップＳ６０１では、内圧モニタプログラムの実行条件が成立するか否かを判定する。この実行条件としては、燃料温度が所定温度以上であることや外気温が所定温度以下であること等の条件でも良いし、走行履歴として、走行時間が所定時間以上であることやエンジン回転速度Ｎｅの積算値が所定値以上であること等の条件でも良い。このような内圧モニタプログラムを実行するための実行条件を満たさない場合には、そのまま本ルーチンを終了する。
【００８９】
一方、上述の実行条件を満足するときには、ステップＳ６０２以降の処理へと進み、本実施例の内圧モニタプログラムの処理を実施する。まず、ステップＳ６０２では、燃料タンク１８内の燃料温度Ｔａが所定温度以上となったか否かが判定される。燃料温度Ｔａが所定温度以下の場合には、温度スイッチはセットされていないため、このまま本ルーチンを終了する。
【００９０】
一方、燃料温度Ｔａが所定温度以上となり、温度スイッチが設定されている場合には、ステップＳ６０３へ進む。ステップＳ６０３では圧力スイッチがセットされているか否かを判定する。ここで、タンク内圧センサ２７により検出されるタンク内圧Ｐａが所定圧力を越えていれば圧力スイッチがセットされる。そして、この圧力スイッチがセットされていれば、エバポガスパージシステム系内にリークが発生していないとして、ステップＳ６０５にて、警告ランプ２９が点灯されている場合には警告ランプ２９を消灯し、警告ランプ２９が消灯している場合には警告ランプ２９をそのままにし、本ルーチンを終了する。一方、圧力スイッチがセットされていなければ、エバポガスパージシステム系内にリークが発生しているとして、警告ランプ２９が点灯していない場合には、警告ランプ２９を点灯させ、警告ランプ２９が点灯している場合には警告ランプ２９をそのままにして本ルーチンを終了する。
【００９１】
以上のように、本実施例のタンク内圧モニタプログラムでは温度と圧力とによって、エバポガスパージシステム系内のリークを診断する。第１乃至第４の実施の形態では、このような内圧モニタプログラムを用いても良い。
【００９２】
（その他の実施例２）
また、その他の実施例１の内圧モニタプログラムに代えて、本実施例では図１８のフローチャートに示す内圧モニタプログラムを第１乃至第４の実施の形態に適用しても良い。本実施例では、図１８のフローチャートを用いて、本実施例に係る内圧モニタプログラムについて説明する。
【００９３】
まず、ステップＳ６１１では、内圧モニタプログラムの実行するか否かを示す実行条件を判定する。この実行条件としては、燃料温度が所定温度以上であることや外気温が所定温度以下であること等の条件でも良いし、走行履歴として、走行時間が所定時間以上であることやエンジン回転速度Ｎｅの積算値が所定値以上であること等の条件でも良い。このような内圧モニタプログラムを実行するための実行条件を満たさない場合には、そのまま本ルーチンを終了する。
【００９４】
一方、上述の実行条件を満足するときには、ステップＳ６１２以降の処理へと進み、本実施例の内圧モニタプログラムの処理を実施する。ステップＳ６１２では、エンジン１１の水温を示す冷却水温Ｔｈｗが所定温度より小さいか否かを判定する。このとき、冷却水温Ｔｈｗが所定温度より小さければそのまま本ルーチンを終了する。これに対して所定温度より大きい場合には、ステップＳ６１３へ進む。ステップＳ６０３では圧力スイッチがセットされているか否かを判定する。ここで、タンク内圧センサ２７により検出されるタンク内圧Ｐａが所定圧力を越えていれば圧力スイッチがセットされる。そして、この圧力スイッチがセットされていれば、エバポガスパージシステム系内にリークが発生していないとして、ステップＳ６０５にて、警告ランプ２９が点灯されている場合には警告ランプ２９を消灯し、警告ランプ２９が消灯している場合には警告ランプ２９をそのままにし、本ルーチンを終了する。一方、圧力スイッチがセットされていなければ、エバポガスパージシステム系内にリークが発生しているとして、警告ランプ２９が点灯していない場合には、警告ランプ２９を点灯させ、警告ランプ２９が点灯している場合には警告ランプ２９をそのままにして本ルーチンを終了する。
【００９５】
以上のように、本実施例では、その他の実施例１のタンク内温度Ｔａに代えてエンジン１１の冷却水温Ｔｈｗを用いても良い。
【００９６】
なお、その他の実施例１，２では、タンク内圧の自然な上昇（下降でも良い）をモニタすることによりエバポガスパージシステム系内のリークを診断しているが、加圧ポンプを用いてタンク内圧を所定圧力まで上昇させて、そのときのタンク内圧をモニタし、モニタした圧力に基づいてエバポガスパージシステム系内のリークを診断しても良い。
【図面の簡単な説明】
【図１】第１の実施の形態に係るシステム全体の概略構成図である
【図２】第１の実施の形態に係る異常診断プログラムの概略構成図である
【図３】第１の実施の形態に係る異常診断プログラムのうち、特に運転中の異常診断を示すフローチャートである
【図４】第１の実施の形態に係る異常診断プログラムのうち、特に運転中の異常診断を示すフローチャートである
【図５】第１の実施の形態に係る異常診断プログラムのうち、特に停止中の異常診断を示すフローチャートである
【図６】第１の実施の形態に係るリーク判定のための判定値Ｋ１，Ｋ２に対する補正値を設定するためのマップである
【図７】第１の実施の形態を適用した場合のタイムチャートである
【図８】第２の実施の形態に係る診断未経験タイマの処理ルーチンを示すフローチャートである
【図９】第２の実施の形態に係るタイマＥＮＤＴｉｍｅｒの処理ルーチンを示すフローチャートである
【図１０】第２の実施の形態に係る異常診断プログラムのうち、特に運転中の異常診断を示すフローチャートである
【図１１】第２の実施の形態に係る異常診断プログラムのうち、特に運転中の異常診断を示すフローチャートである
【図１２】第２の実施の形態に係る異常診断プログラムのうち、特に停止中の異常診断を示すフローチャートである
【図１３】第３の実施の形態に係る異常診断プログラムのうち、特に停止中の異常診断を示すフローチャートである
【図１４】第４の実施の形態に係る実行条件緩和を示すフローチャートである
【図１５】第４の実施の形態に係る診断終了後タイマの処理を示すフローチャートである
【図１６】第４の実施の形態に係る異常診断プログラムのうち、特に停止中の異常診断を示すフローチャートである
【図１７】その他の実施例に係る内圧モニタプログラムを示すフローチャートである
【図１８】その他の実施例に係る内圧モニタプログラムを示すフローチャートである
【符号の説明】
１１…内燃機関としてのエンジン、
２４…パージ制御弁、
２５…パージ通路、
２６…パージ制御弁、
２７…タンク内圧センサ、
２８…エンジン制御回路としてのＥＣＵ、
２９…警告ランプ、
３０…燃温センサ、
３１…燃料レベルセンサ、
３３…燃料配管、
３４…リターン管、
３８…セルフ電源カット機能、
３５…キー、
３６…メインリレー、
３７…バッテリ、
４０…診断未経験タイマ。
【図１】
0004427936.tif 000002
【図２】
0004427936.tif 000003
【図３】
0004427936.tif 000004
【図４】
0004427936.tif 000005
【図５】
0004427936.tif 000006
【図６】
0004427936.tif 000007
【図７】
0004427936.tif 000008
【図８】
0004427936.tif 000009
【図９】
0004427936.tif 000010
【図１０】
0004427936.tif 000011
【図１１】
0004427936.tif 000012
【図１２】
0004427936.tif 000013
【図１３】
0004427936.tif 000014
【図１４】
0004427936.tif 000015
【図１５】
0004427936.tif 000016
【図１６】
0004427936.tif 000017
【図１７】
0004427936.tif 000018
【図１８】
0004427936.tif 000019