【手続補正書】
【提出日】平成19年8月9日(2007.8.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【発明の名称】エバポガスパージシステムのリーク診断装置
【技術分野】
【０００１】
本発明は、燃料タンク内の燃料が蒸発して生じたエバポガス（燃料蒸発ガス）を内燃機関の吸気系にパージ（放出）するエバポガスパージシステムのリーク診断を行うエバポガスパージシステムのリーク診断装置に関するものである。
【背景技術】
【０００２】
従来より、エバポガスパージシステムにおいては、燃料タンク内から発生するエバポガスが大気中に漏れ出すことを防止するため、燃料タンク内のエバポガスをエバポ通路を通してキャニスタ内に吸着すると共に、このキャニスタ内に吸着されているエバポガスを内燃機関の吸気系へパージするパージ通路の途中にパージ制御弁を設け、内燃機関の運転状態に応じてパージ制御弁の開閉を制御することによって、キャニスタから吸気系へパージするエバポガスのパージ流量を制御するようになっている。このエバポガスパージシステムから大気中にエバポガスが漏れる状態が長期間放置されるのを防止するために、エバポガスの漏れを早期に検出する必要がある。
【０００３】
そこで、燃料タンク内の圧力（以下「タンク内圧力」という）を検出する圧力センサを設け、内燃機関の運転中にパージ制御弁を開弁して吸気系から燃料タンク内に負圧を導入した後、パージ制御弁を閉弁して、パージ制御弁から燃料タンクまでのエバポ系を密閉した状態で、タンク内圧の変化量を測定して、このタンク内圧の変化量をリーク判定値と比較することで、エバポ系のリーク（漏れ）の有無を診断するようにしたものがある。この場合、エバポ系にリークが無ければ、タンク内圧変化量は、エバポガスの発生量に応じた値となり、リーク判定値よりも小さくなるが、リークが発生していれば、タンク内圧変化量がリーク分だけ大きくなり、リーク判定値以上となる。
【０００４】
一般に、リーク診断は、内燃機関の運転条件の変化の影響を受けないようにアイドル運転時や低速走行時等の安定した運転条件下で行われるため、リーク検出精度を高めるために、タンク内圧変化量の測定時間を長い時間に設定すると、内燃機関の運転中にリーク診断を開始しても、そのリーク診断の途中で、内燃機関の運転条件が変化したり、内燃機関の運転が停止されたりして、リーク診断が中止される回数が大幅に増えてしまい、内燃機関の運転中にリーク診断が最後まで行われる回数が極端に少なくなってしまう。
【０００５】
そこで、特許文献１に示すように、内燃機関の運転停止後に、エバポ系の圧力（タンク内圧力）を検出し、その圧力に基づいてエバポ系のリークの有無を診断することが提案されている。
【特許文献１】米国特許第５２６３４６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、内燃機関の運転停止中には、燃料タンクの給油口キャップを開放して燃料を補給することがあり、給油口キャップが開放されると、給油口キャップから燃料タンク内（エバポ系内）に大気圧が一気に導入される。このため、内燃機関の運転停止中にタンク内圧（エバポ系の圧力）に基づいてリークの有無を診断する場合、給油口キャップが開放されると、エバポ系に大量のリークが発生している場合と同じように、タンク内圧が大気圧付近に低下するため、リーク有りと誤診断されてしまう可能性がある。
【０００７】
そこで、本願発明の目的は、給油口キャップの開放によってリーク有りと誤診断してしまうことを防止することができ、内燃機関運転停止中のリーク診断の信頼性を向上することができるエバポガスパージシステムのリーク診断装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の請求項１のエバポガスパージシステムのリーク診断装置は、内燃機関運転停止中に、内圧検出手段で検出したエバポ系の圧力に基づいてエバポ系のリークの有無をリーク診断手段で診断する。そして、内燃機関始動時に、それ以前の内燃機関運転停止中に燃料タンクの給油口キャップが開放されたか否かを給油口開放判定手段で判定し、内燃機関運転停止中に給油口キャップが開放されたと判定された場合には、当該内燃機関運転停止中に診断されたリーク診断結果をリーク診断結果無効手段によって無効にする。
【０００９】
つまり、内燃機関始動時に、それ以前の内燃機関運転停止中に燃料タンクの給油口キャップが開放されたと判定された場合は、給油口キャップの開放による大気圧導入の影響を受けたエバポ系の圧力に基づいてリークの有無を診断した可能性があると判断して、リーク診断結果を無効にする。これにより、給油口キャップの開放によってリーク有りと誤診断してしまうことを防止することができ、内燃機関運転停止中のリーク診断の信頼性を向上することができる。
【００１０】
この場合、給油口キャップの開閉は、スイッチ又はセンサで検出しても良いが、本発明の請求項１の発明では、燃料残量検出手段で前回の内燃機関運転停止時に検出した燃料残量と内燃機関始動時に検出した燃料残量とに基づいて内燃機関運転停止中に給油口キャップが開放されたか否かを判定するようにする。通常、燃料タンクの給油口キャップは、燃料を補給するときのみに開放され、給油口キャップを開放して燃料を補給すると、燃料タンク内の燃料残量が増加する。従って、前回の内燃機関運転停止時に検出した燃料残量よりも内燃機関運転始動時に検出した燃料残量が所定量以上（検出誤差を越えて）増加していれば、内燃機関運転停止中に給油口キャップが開放されたと判定することができる。この判定方法では、内燃機関運転停止中に燃料残量検出手段で燃料残量を監視する必要がないので、本発明の請求項１の発明では、内燃機関運転停止中に燃料残量検出手段への電源供給を停止する。これにより、内燃機関運転停止中のバッテリ消費電力を少なくすることができる。しかも、給油口キャップの開閉を検出するスイッチ（又はセンサ）が不要であるため、製造コスト低減の要求も満たすことができる。
【００１１】
また、請求項２に係る発明のように、内燃機関停止時に燃料残量が所定量以上増加しているときには、内燃機関運転停止中に給油口キャップが開放されたと判定すると良い。また、請求項３に係る発明のように、燃料残量検出手段は、電源により電源供給されるときに、燃料タンク内の燃料残量を検出すると良い。
【発明を実施するための最良の形態】
【００１２】
［実施形態（１）］
以下、本発明の実施形態（１）を図１乃至図５に基づいて説明する。まず、図１に基づいてエバポガスパージシステムの構成を説明する。燃料タンク１１には、エバポ通路１２を介してキャニスタ１３が接続されている。このキャニスタ１３内には、エバポガス（燃料蒸発ガス）を吸着する活性炭等の吸着体（図示せず）が収容されている。また、キャニスタ１３の底面部の大気連通孔には、大気開閉弁１４が取り付けられている。
【００１３】
この大気開閉弁１４は、常開型の電磁弁により構成され、通電がオフ（ＯＦＦ）されている状態では、開弁状態に保持されて、キャニスタ１３の大気連通孔が大気に開放された状態に保たれる。この大気開閉弁１４は、通電すると閉弁し、キャニスタ１３の大気連通孔が閉塞された状態になる。
【００１４】
一方、キャニスタ１３とエンジン吸気系との間には、キャニスタ１３内の吸着体に吸着されているエバポガスをエンジン吸気系にパージ（放出）するためのパージ通路１５が設けられ、このパージ通路１５の途中に、パージ流量を制御するパージ制御弁１６が設けられている。このパージ制御弁１６は、常閉型の電磁弁により構成され、通電をデューティ制御することで、キャニスタ１３からエンジン吸気系へのエバポガスのパージ流量を制御するようになっている。
【００１５】
また、燃料タンク１１には、その内圧を検出するタンク内圧センサ１７（内圧検出手段）が設けられている。燃料タンク１１内からパージ制御弁１６までのエバポ系が密閉されている時には、燃料タンク１１の内圧とエバポ系の他の部位の内圧が一致するため、タンク内圧センサ１７により燃料タンク１１の内圧（以下「タンク内圧」という）を検出することで、エバポ系の圧力を検出することができる。
【００１６】
燃料タンク１１には、燃料残量を検出する燃料レベルセンサ１８（燃料残量検出手段）と燃料温度を検出する燃料温度センサ２６が設けられている。その他、エンジン冷却水温を検出する水温センサ１９、吸気温を検出する吸気温センサ２０等の各種のセンサが設けられている。
【００１７】
これら各種のセンサの出力は、制御回路２１に入力される。この制御回路２１の電源端子には、メインリレー２２を介して車載バッテリ（図示せず）から電源電圧が供給される。この他、大気開閉弁１４、パージ制御弁１６及びタンク内圧センサ１７に対しても、メインリレー２２を介して電源電圧が供給される。メインリレー２２のリレー接点２２ａを駆動するリレー駆動コイル２２ｂは、制御回路２１のメインリレーコントロール端子に接続され、このリレー駆動コイル２２ｂに通電することで、リレー接点２２ａがオン（ＯＮ）して、制御回路２１、大気開閉弁１４、パージ制御弁１６及びタンク内圧センサ１７に電源電圧が供給される。そして、リレー駆動コイル２２ｂへの通電をオフ（ＯＦＦ）することで、リレー接点２２ａがＯＦＦして、制御回路２１等への電源供給がＯＦＦされる。制御回路２１のキーＳＷ端子には、イグニッションスイッチ（以下「ＩＧスイッチ」と表記する）２３のＯＮ／ＯＦＦ信号が入力される。また、制御回路２１には、バックアップ電源２４と、このバックアップ電源２４を電源として計時動作するソークタイマ２５が内蔵されている。このソークタイマ２５は、エンジン停止後（ＩＧスイッチ２３のＯＦＦ後）に計時動作を開始してエンジン停止後の経過時間を計測する。
【００１８】
制御回路２１は、マイクロコンピュータを主体として構成され、そのＲＯＭ（記憶媒体）に記憶された燃料噴射制御ルーチン、点火制御ルーチン及びパージ制御ルーチンを実行することで、燃料噴射制御、点火制御及びパージ制御を行う。更に、この制御回路２１は、ＲＯＭに記憶された図２及び図３に示すリーク診断用の各ルーチンを実行することで、エンジン停止後（ＩＧスイッチ２３のＯＦＦ後）に、タンク内圧（エバポ系の圧力）に基づいてリークの有無を診断する。そして、次のエンジン始動時（ＩＧスイッチ２３のＯＮ時）に、エンジン停止中に燃料タンク１１の給油口キャップ（図示せず）が開放されたか否かを判定し、エンジン停止中に給油口キャップが開放されたと判定された場合には、リーク診断結果を無効にする。また、制御回路２１はＲＯＭに記憶された図４に示すメインリレー制御ルーチンを実行することで、エンジン運転停止後にリーク診断を実行する際に必要な部品（制御回路２１、大気開閉弁１４等）に電源を供給する。
【００１９】
ここで、本実施形態（１）のリーク診断について詳しく説明する。エンジン停止後（ＩＧスイッチ２３のＯＦＦ後）に、直ちにパージ制御弁１６を閉弁し、且つ大気開閉弁１４を閉弁してエバポ系を密閉する。エンジン停止直後は、排気系の温度が高いため、その熱で燃料タンク１１内の燃料温度がエバポガスの発生しやすい温度に保たれてエバポガスの発生量が多くなるため、エンジン停止直後にエバポ系を密閉すれば、リーク無しの場合にエバポガスの発生によるタンク内圧上昇量（エバポ系の圧力上昇量）が大きくなる（図５の実線参照）。
【００２０】
一方、リーク有りの場合は、エバポ系を密閉しても、エバポ系のリーク孔からエバポガスが大気中に漏れるため、エバポ系密閉後のタンク内圧（エバポ系の圧力）の上昇が少なくなり、比較的短い時間でタンク内圧が大気圧付近にまで低下する（図５の点線参照）。
【００２１】
本実施形態（１）では、リーク診断期間中のタンク内圧の挙動を数値化するために、リーク診断期間中にタンク内圧センサ１７によりゲージ圧（大気圧基準）で検出したタンク内圧（ゲージ圧＝絶対圧−大気圧）を所定の演算周期で積算し、リーク診断終了時に、このタンク内圧積算値をリーク判定値と比較してリークの有無を診断する。
【００２２】
ところで、エンジン停止中に、燃料タンク１１の給油口キャップ（図示せず）を開放して燃料を補給することがあり、給油口キャップが開放されると、給油口キャップから燃料タンク１１内（エバポ系内）に大気圧が一気に導入されるため、タンク内圧（エバポ系の圧力）が大気圧付近まで急低下する（図５の二点鎖線参照）。このため、エンジン停止中にタンク内圧（エバポ系の圧力）に基づいてリークの有無を診断する場合、給油口キャップが開放されると、エバポ系に大量のリークが発生している場合と同じように、タンク内圧が大気圧付近に低下するため、リーク有りと誤診断されてしまう可能性がある。
【００２３】
通常、燃料タンク１１の給油口キャップは、燃料を補給するときのみに開放され、給油口キャップを開放して燃料を補給すると、燃料タンク１１内の燃料残量が増加する。そこで、本実施形態（１）では、エンジン始動時に、前回のエンジン停止時の燃料残量とエンジン始動時の燃料残量とを比較して、エンジン停止中に燃料タンク１１の給油口キャップが開放されたか否かを判定する。そして、エンジン停止中に給油口キャップが開放されと判定された場合には、給油口キャップの開放による大気圧導入の影響を受けたエバポ系の圧力に基づいてリークの有無を診断した可能性があると判断して、リーク診断結果を無効にして、給油口キャップの開放によるリークの誤診断を防止する。
【００２４】
以上説明したリーク診断は、図２及び図３の各ルーチンに従って実行される。図２のリーク診断制御ベースルーチンは、制御回路２１の電源供給中（メインリレー２２のＯＮ中）に周期的に実行される。本ルーチンが起動されると、まず、ステップ１００で、ＩＧスイッチ２３がＯＮからＯＦＦに切り換えられた直後であるか否か（つまりエンジン停止直後であるか否か）を判定し、ＩＧスイッチ２３がＯＦＦされた直後であれば、ステップ１０２に進み、リーク診断実行条件が成立しているか否かを判定する。このリーク診断実行条件としては、例えば、燃料温度センサ２６で検出した燃料温度がエバポガスの発生しやすい所定温度以上であることであり、燃料温度が所定温度以上であれば、リーク診断実行条件が成立する。
【００２５】
尚、このリーク診断実行条件の判定は、燃料温度の代わりに、燃料温度に相関するパラメータ、例えば、エンジン停止前の走行履歴（走行時間、走行距離）、エンジン運転状態（冷却水温等）を用いても良い。例えば、走行時間が所定時間以上、又は走行距離が所定値以上であるときに、リーク診断実行条件が成立するようにしても良い。
【００２６】
上記ステップ１０２で、燃料温度が所定温度未満で、リーク診断実行条件が成立しないと判定されれば、以降の処理を行うことなく、本ルーチンを終了する。一方、燃料温度が所定温度以上で、リーク診断実行条件が成立していると判定されれば、ステップ１０３に進み、ＩＧスイッチ２３のＯＦＦによって燃料レベルセンサ１８への供給電圧が正常動作電圧以下に低下する前に、燃料レベルセンサ１８の出力信号を読み込んで、エンジン停止時の燃料タンク１１内の燃料残量Ｌｏｆｆ  を検出する。この後、ステップ１０４に進み、後述する図３のリーク診断ルーチンを実行することで、エンジン停止中にエバポ系のリーク診断を実施して、暫定的にリーク無し（正常）かリーク有り（異常）かを判定する。
【００２７】
その後、ステップ１０５に進み、後述する図４のメインリレー制御ルーチンによるリーク診断終了に伴うメインリレー２２のＯＦＦによって制御回路２１への供給電圧が正常動作電圧以下に低下する前に、リーク診断結果（正常コード又は異常コード）を制御回路２１のバックアップＲＡＭ（図示せず）に記憶すると共に、リーク診断実施フラグＬＣをリーク診断の実施済みを意味する「１」にセットして制御回路２１のバックアップＲＡＭに記憶する。これにより、制御回路２１への電源供給遮断後も、リーク診断結果及びリーク診断実施フラグＬＣ＝１を記憶し続ける。
【００２８】
その後、ＩＧスイッチ２３がＯＦＦからＯＮに切り換えられてエンジンが始動されたときに、本ルーチンが起動されると、ステップ１００で「Ｎｏ」、ステップ１０１で「Ｙｅｓ」と判定されてステップ１０６に進み、リーク診断実施フラグＬＣがリーク診断の実施済みを意味する「１」にセットされているか否かを判定する。
【００２９】
このステップ１０６で、リーク診断実施フラグＬＣ＝０（リーク診断の未実施）と判定されれば、以降の処理を行うことなく、本ルーチンを終了する。一方、リーク診断実施フラグＬＣ＝１（リーク診断の実施済み）と判定されれば、ステップ１０７に進み、その時点の燃料レベルセンサ１８の出力信号を読み込んで、エンジン始動時の燃料タンク１１内の燃料残量Ｌｏｎを検出する。この後、ステップ１０８に進み、エンジン始動時の燃料残量Ｌｏｎと前回のエンジン停止時の燃料残量Ｌｏｆｆ  との差（エンジン停止中の燃料残量の増加量）が燃料レベルセンサ１８の検出誤差よりも少し大きい所定量Ｋよりも大きいか否かによって、エンジン停止中に燃料が補給されたか否か、つまり、エンジン停止中に燃料タンク１１の給油口キャップが開放されたか否かを判定する。このステップ１０８の処理が特許請求の範囲でいう給油口開放判定手段としての役割を果たす。
【００３０】
このステップ１０８で「Ｙｅｓ」と判定された場合（エンジン停止中に給油口キャップが開放されたと判定された場合）には、給油口キャップの開放による大気圧導入の影響を受けたエバポ系の圧力に基づいてリークの有無を診断した可能性があると判断して、ステップ１０９に進み、バックアップＲＡＭに記憶されている暫定的なリーク診断結果をクリアしてリーク診断結果を無効にする。このステップ１０９の処理が特許請求の範囲でいうリーク診断結果無効手段としての役割を果たす。
【００３１】
これに対して、上記ステップ１０８で「Ｎｏ」と判定された場合（エンジン停止中に給油口キャップが開放されなかったと判定された場合）には、ステップ１１０に進み、バックアップＲＡＭに記憶されている暫定的なリーク診断結果をそのまま最終的なリーク診断結果として確定し、リーク有り（異常）の場合には、警告ランプ２７を点灯して運転者に警告する。その後、ステップ１０９又は１１０からステップ１１１に進み、リーク診断実施フラグＬＣを「０」にリセットして、本ルーチンを終了する。
【００３２】
一方、図２のステップ１０４で実行される図３のリーク診断ルーチンは、次のようにしてエンジン停止後（イグニッションスイッチ２３のＯＦＦ後）にエバポ系のリーク診断を実行することで、特許請求の範囲でいうリーク診断手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ２０１で、パージ制御弁１６を閉弁し、次のステップ２０２で、大気開閉弁１４を閉弁してエバポ系を密閉する。
【００３３】
この後、ステップ２０３に進み、リーク診断開始後（エバポ系の密閉後）の経過時間を計測するタイマＴｉｍｅｒをリセットする。この後、ステップ２０４に進み、タンク内圧センサ１７の出力信号を読み込んで今回のタンク内圧Ｐａを検出し、次のステップ２０５で、前回までのタンク内圧積算値Ｐｔｏｔａｌに今回のタンク内圧Ｐａを加算してタンク内圧積算値Ｐｔｏｔａｌを更新する。この際、タンク内圧Ｐａは、大気圧を基準にして検出したゲージ圧（＝絶対圧−大気圧）が用いられる。この後、ステップ２０６に進み、前回のタイマＴｉｍｅｒの値に演算周期Ａを加算して、タイマＴｉｍｅｒのカウント値を更新する。
【００３４】
そして、次のステップ２０７で、タイマＴｉｍｅｒの値（リーク診断開始後の経過時間）が所定値αを越えたか否かを判定する。この所定値αは、演算処理の簡略化のために固定値（例えば５ｍｉｎ）としても良いが、エンジン停止前の走行履歴（走行時間、走行距離）、エンジン運転状態（冷却水温等）に応じて補正するようにしても良い。
【００３５】
タイマＴｉｍｅｒの値が所定値αを越えていなければ、ステップ２０４に戻る。これにより、タイマＴｉｍｅｒの値が所定値αを越えるまで、所定の演算周期Ａでタンク内圧Ｐａ  を積算してタンク内圧積算値Ｐｔｏｔａｌを更新する処理を繰り返す。
【００３６】
その後、タイマＴｉｍｅｒの値が所定値αを越えた時点で、ステップ２０８に進み、エンジン停止時の燃料残量Ｌｏｆｆに応じたリーク判定値ｆ（Ｌ）を、燃料残量Ｌｏｆｆをパラメータとするリーク判定値マップから読み込む（又は数式により算出する）。この後、ステップ２０９に進み、タンク内圧積算値Ｐｔｏｔａｌをリーク判定値ｆ（Ｌ）と比較し、タンク内圧積算値Ｐｔｏｔａｌがリーク判定値ｆ（Ｌ）よりも大きければ、ステップ２１０に進み、暫定的にリーク無し（正常）と判定し、次のステップ２１２で、大気開閉弁１４を開弁してリーク診断を終了する。
【００３７】
これに対し、上記ステップ２０９で、タンク内圧積算値Ｐｔｏｔａｌがリーク判定値ｆ（Ｌ）以下と判定されれば、ステップ２１１に進み、暫定的にリーク有り（異常）と判定し、次のステップ２１２で、大気開閉弁１４を開弁してリーク診断を終了する。
【００３８】
また、図４のメインリレー制御ルーチンは、所定時間毎に実行され、次のようにしてメインリレー２２のＯＮ／ＯＦＦを制御する。本ルーチンが起動されると、まずステップ３０１で、ＩＧスイッチ２３がＯＮされているか否か、つまりエンジン運転中であるか否かを判定し、ＩＧスイッチ２３がＯＮ状態（エンジン運転中）であれば、ステップ３０５に進み、メインリレー２２をＯＮ状態に維持して、制御回路２１、大気開閉弁１４、パージ制御弁１６及びタンク内圧センサ１７に電源電圧を供給する。
【００３９】
その後、ＩＧスイッチ２３がＯＮからＯＦＦに切り換えられた時点で、ステップ３０１で「Ｎｏ」と判定されてステップ３０２に進み、前記図３のリーク診断ルーチンによってリーク診断を実行している途中であるか否かを判定し、リーク診断を実行していなければ、ステップ３０４に進み、メインリレー２２をＯＦＦして、制御回路２１、大気開閉弁１４、パージ制御弁１６及びタンク内圧センサ１７への電源供給を遮断する。
【００４０】
これに対し、上記ステップ３０２で、リーク診断実行中であると判定された場合は、ステップ３０３に進み、電源電圧がエンジン始動性を確保できる所定電圧よりも高いか否かを判定し、電源電圧が所定電圧以下であれば、ステップ３０４に進み、リーク診断の途中であっても、メインリレー２２をＯＦＦして、制御回路２１、大気開閉弁１４等への電源供給を遮断してリーク診断を中止し、バッテリの消耗を防ぐ。
【００４１】
一方、電源電圧が所定電圧よりも高ければ、ステップ３０５に進み、ＩＧスイッチ２３のＯＦＦ後（エンジン停止後）であっても、メインリレー２２をＯＮ状態に維持して、リーク診断の継続に必要な部品（制御回路２１、大気開閉弁１４等）への電源供給を継続する。そして、このリーク診断が終了した時点で、ステップ３０２で「Ｎｏ」と判定されて、ステップ３０４に進み、メインリレー２２をＯＦＦして、制御回路２１、大気開閉弁１４等への電源供給を遮断する。
【００４２】
以上説明した本実施形態（１）では、エンジン停止後に、タンク内圧（エバポ系の圧力）に基づいてエバポ系のリークの有無を診断し、次のエンジン始動時に燃料タンク１１の給油口キャップがエンジン停止中に開放されたか否かを判定して、エンジン停止中に給油口キャップが開放されたと判定された場合には、給油口キャップの開放による大気圧導入の影響を受けたタンク内圧に基づいてリークの有無を診断した可能性があると判断して、リーク診断結果を無効にする。これにより、リークが無いにも拘らず、給油口キャップの開放によってリーク有りと誤診断してしまうことを未然に防止することができ、エンジン停止中のリーク診断の信頼性を向上させることができる。
【００４３】
また、本実施形態では、エンジン始動時に、前回のエンジン停止時の燃料残量Ｌｏｆｆとエンジン始動時の燃料残量Ｌｏｎとを比較して、エンジン停止中に燃料タンク１１の給油口キャップが開放されたか否かを判定するようにしたので、エンジン停止中に、燃料レベルセンサ１８で燃料残量を監視する必要がなく、燃料レベルセンサ１８への電源供給を停止することができて、エンジン停止中のバッテリ消費電力を少なくすることができる。しかも、給油口キャップの開閉を検出するスイッチ（又はセンサ）が不要であるため、製造コスト低減の要求も満たすことができる。
【００４４】
尚、本実施形態（１）では、エンジン始動時に、給油口キャップがエンジン停止中に開放されたと判定された場合、リーク診断結果の正常、異常を問わず、そのリーク診断結果を全て無効にするようにしたが、異常（リーク有り）の判定結果のみを無効とし、正常（リーク無し）の判定結果はそのまま最終的な判定結果として確定するようにしても良い。
【００４５】
［実施形態（２）］
ところで、エンジン停止中に給油口キャップが開放された場合のうち、リーク診断開始前やリーク診断中に給油口キャップが開放された場合は、給油口キャップの開放による大気圧導入の影響を受けたエバポ系の圧力に基づいてリーク診断してしまうため、リークの有無を誤診断する可能性が高い。しかし、エンジン停止中に給油口キャップが開放された場合でも、リーク診断終了後に給油口キャップが開放された場合は、給油口キャップの開放による大気圧導入の前にリーク診断を終了しているので、リーク診断結果が給油口キャップの開放の影響を受けることはない。
【００４６】
このような事情を考慮して、図６及び図７に示す本発明の実施形態（２）では、エンジン停止中に燃料タンク１１の給油口キャップが開放されたか否かを判定し、リーク診断が終了する前に給油口キャップが開放されたと判定されれば、その時点で、リーク診断を中止するようにしている。
【００４７】
以下、本実施形態（２）で用いる図６に示すリーク診断制御ベースルーチンと図７に示すメインリレー制御ルーチンの処理内容を説明する。図６のリーク診断制御ベースルーチンでは、ＩＧスイッチ２３がＯＦＦされた直後（エンジン停止直後）に、リーク診断実行条件が成立しているか否かを判定し（ステップ４０１、４０２）、リーク診断実行条件が成立していれば、前記実施形態（１）で説明した図３のリーク診断ルーチンを実行することで、エバポ系のリーク診断を実施して、エバポ系のリークの有無を判定し（ステップ４０３）、そのリーク診断結果（正常コード又は異常コード）を制御回路２１のバックアップＲＡＭに記憶する（ステップ４０４）。
【００４８】
一方、図７のメインリレー制御ルーチンは、前記実施形態（１）で説明した図４のステップ３０１とステップ３０２の処理の間にステップ３０１ａの処理を追加したものであり、それ以外の各ステップの処理は前記図４のメインリレー制御ルーチンと同じである。
【００４９】
図７のメインリレー制御ルーチンでは、ＩＧスイッチ２３がＯＦＦされてエンジンが停止された後（ステップ３０１）、ステップ３０１ａに進み、燃料タンク１１の給油口キャップが開放されたか否かを、タンク内圧が急変したか否かによって判定する。燃料タンク１１の給油口キャップが開放されると、給油口キャップから燃料タンク１１内（エバポ系内）に大気圧が一気に導入されて、タンク内圧（エバポ系の圧力）が急変する。従って、タンク内圧が急変したときには、燃料タンク１１の給油口キャップが開放されたと判定する。
【００５０】
上記ステップ３０１ａで、燃料タンク１１の給油口キャップが開放されたと判定されたときは、リークの有無を誤診断する可能があると判断して、ステップ３０４に進み、リーク診断中であっても、メインリレー２２をＯＦＦして、制御回路２１、大気開閉弁１４等への電源供給を遮断してリーク診断を中止する。
【００５１】
以上説明した本実施形態（２）では、リーク診断終了前に給油口キャップが開放されたときには、リークの有無を誤診断する可能があると判断して、リーク診断を中止することができる。一方、リーク診断終了後に給油口キャップが開放されたときは、それ以前に行われたリーク診断の結果に給油口キャップの開放が何ら影響を及ぼさないため、そのリーク診断結果をそのまま採用する。これにより、給油口キャップの開放によるリークの誤診断を防止しながら、エンジン停止中に給油口キャップが開放されたときに、常にリーク診断結果を無効にしてしまう場合に比べてリーク診断の頻度を多くすることができる。
【００５２】
また、本実施形態（２）では、エンジン停止中にタンク内圧が急変したときに、給油口キャップが開放されたと判定するようにしたが、エンジン停止中（リーク診断中）に、電源電圧がメインリレー２２を介して燃料レベルセンサ１８に供給される構成とし、エンジン停止中に燃料レベルセンサ１８で検出した燃料残量が検出誤差を越えて増加したときに、給油口キャップが開放されたと判定するようにしても良い。
【００５３】
或は、給油口キャップの開閉を検出するスイッチ又はセンサを設けるようにしても良い。このようにすれば、タンク内圧が大気圧付近のときに給油口キャップが開放された場合や、給油量（燃料残量の増加量）が少ない場合でも、給油口キャップの開閉を正確且つ即座に検出することができる。
【００５４】
また、車両の運転席に給油口キャップの開放を遠隔操作する操作スイッチが装備されている場合は、この操作スイッチの操作信号によって給油口キャップの開放を検出するようにしても良い。
【００５５】
［実施形態（３）］
次に、図８乃至図１０を用いて本発明の実施形態（３）を説明する。図１０のタイムチャートに二点鎖線で示すように、エンジン停止後のリーク診断期間中に燃料タンク１１の給油口キャップが開放されると、タンク内圧は、大気圧付近まで急低下した後、大気圧に維持され、その後、給油口に給油ノズルが差し込まれて給油が開始されると、タンク内圧がゆっくりと上昇する。
【００５６】
そこで、本実施形態（３）では、エンジン停止後のリーク診断期間中に、所定の演算周期でタンク内圧変化率ΔＰａ（ΔＰａ＝今回のタンク内圧Ｐａ−前回のタンク内圧Ｐａ）を算出し、このタンク内圧変化率ΔＰａが所定値β（＜０）よりも小さいとき（つまり、タンク内圧が急低下したとき）、又は、エンジン停止後にタンク内圧が大気圧状態になっている時間ｔが所定時間γ以上継続した後、タンク内圧変化率ΔＰａが０以上になるとき（つまり、タンク内圧が変化しない状態が所定時間γ以上継続した後、タンク内圧が通常よりもゆっくりと上昇するとき）には、燃料タンク１１の給油口キャップが開放されていると判定してリーク診断を中止する。
【００５７】
以下、本実施形態（３）で実行する図８及び図９に示すリーク診断ルーチンの処理内容を説明する。エンジン停止後（イグニッションスイッチ２３のオフ後）に、前記実施形態（１）と同様のリーク診断実行条件が成立すると（ステップ５０１〜５０２）、ステップ５０３に進み、パージ制御弁１６を閉弁し、次のステップ５０４で、燃料残量Ｌを検出すると共にタイマＴｉｍｅｒ１をリセットし、次のステップ５０５で、大気開閉弁１４を閉弁してエバポ系を密閉してリーク診断を開始する。
【００５８】
この後、ステップ５０６に進み、タンク内圧Ｐａを検出した後、ステップ５０７に進み、タンク内圧Ｐａが負圧（Ｐａ＜０）であるか否かを判定し、負圧であれば、ステップ５０６に戻り、再びタンク内圧Ｐａを検出する。
【００５９】
その後、タンク内圧Ｐａが大気圧又は正圧（Ｐａ≧０）になった時点（エバポ系の密閉によってタンク内圧Ｐａが上昇し始めた時点）で、ステップ５０８に進み、燃料タンク１１の給油口キャップが開放されたか否かを判定するために、タンク内圧変化率ΔＰａ（ΔＰａ＝今回のタンク内圧Ｐａ−前回のタンク内圧Ｐａ）を算出し、このタンク内圧変化率ΔＰａが所定値β（＜０）よりも小さいか否か、又は、エンジン停止後にタンク内圧が大気圧状態になっている時間ｔが所定時間γ以上継続した後、タンク内圧変化率ΔＰａが０以上になったか否かを判定する。ここで、所定値βは、通常のリーク診断期間中（図１０の実線で示す場合）に発生するタンク内圧低下率よりも小さい値に設定され、また、所定時間γは、通常のリーク診断期間中の大気圧状態の継続時間よりも長い時間に設定されている。
【００６０】
このステップ５０８で、タンク内圧変化率ΔＰａが所定値βよりも小さいとき（つまり、タンク内圧Ｐａが通常よりも急低下したとき）、又は、タンク内圧Ｐａが大気圧状態になっている時間ｔが所定時間γ以上継続した後、タンク内圧変化率ΔＰａが０以上になったとき（つまり、タンク内圧Ｐａが変化しない状態が所定時間γ以上継続した後、タンク内圧Ｐａが通常よりもゆっくりと上昇するとき）には、燃料タンク１１の給油口キャップが開放されて給油されていると判定する（給油フラグをＯＮにセットする）。このステップ５０８の処理が特許請求の範囲でいう給油口開放判定手段としての役割を果たす。上記ステップ５０８で、燃料タンク１１の給油口キャップが開放されたと判定されれば、リーク診断処理を中止して、本ルーチンを終了する。
【００６１】
一方、燃料タンク１１の給油口キャップが開放されていないと判定されれば、タイマＴｉｍｅｒ１の値が所定値αを越えるまで、所定の演算周期Ａでタンク内圧Ｐａを積算してタンク内圧積算値Ｐｔｏｔａｌを更新する処理を繰り返す（ステップ５０９〜５１１）。
【００６２】
その後、タイマＴｉｍｅｒ１の値が所定値αを越えた時点で、図９のステップ５１２に進み、現在の燃料残量Ｌに応じたリーク判定値ｆ（Ｌ）を読み込み、次のステップ５１３で、タンク内圧積算値Ｐｔｏｔａｌをリーク判定値ｆ（Ｌ）と比較し、タンク内圧積算値Ｐｔｏｔａｌがリーク判定値ｆ（Ｌ）よりも大きければ、ステップ５１４に進み、リーク無し（正常）と判定し、次のステップ５１７で、大気開閉弁１４を開弁してリーク診断を終了する。
【００６３】
これに対し、上記ステップ５１３で、タンク内圧積算値Ｐｔｏｔａｌがリーク判定値ｆ（Ｌ）以下と判定されれば、ステップ５１５に進み、リーク有り（異常）と判定して、次のステップ５１６で、警告ランプ２７を点灯して運転者に警告すると共に、異常コードを制御回路２１のバックアップＲＡＭ（図示せず）に記憶し、次のステップ５１７で、大気開閉弁１４を開弁してリーク診断を終了する。
【００６４】
以上説明した本実施形態（３）のようにしても、給油口キャップの開放によるリークの誤診断を防止しながら、エンジン停止中に給油口キャップが開放されたときに、常にリーク診断結果を無効にしてしまう場合に比べてリーク診断の頻度を多くすることができる。
【００６５】
尚、上記各実施形態（２），（３）では、リーク診断終了前に給油口キャップが開放されたときに、直ちにリーク診断を中止するようにしたが、リーク診断の終了後にそのリーク診断結果を無効にするようにしても良い。この場合、リーク診断結果の正常、異常を問わず、そのリーク診断結果を全て無効にするようにしても良いが、異常（リーク有り）の判定結果のみを無効とし、正常（リーク無し）の判定結果はそのまま最終的な判定結果として確定するようにしても良い。
【００６６】
また、上記各実施形態（１）〜（３）では、リーク診断期間中にタンク内圧を所定の演算周期で積算して求めたタンク内圧積算値をリーク判定値と比較してリークの有無を診断するようにしたが、リーク診断の方法は、適宜変更しても良いことは言うまでもない。
【００６７】
例えば、リーク診断期間中にタンク内圧の最大値を検出し、このタンク内圧最大値をリーク判定値と比較してリークの有無を診断するようにしても良い。或は、リーク診断開始（エバポ系の密閉）から所定時間経過後に検出したタンク内圧をリーク判定値と比較してリークの有無を診断するようにしても良い。
【００６８】
或は、リーク診断開始後にタンク内圧の変化を監視し、タンク内圧の上昇率が所定値以下（例えばほぼ０）になるまでの時間を測定し、その時間がリーク判定値よりも短いか否かで、リークの有無を判定するようにしても良い。
【００６９】
或は、リーク診断開始から所定時間経過する前にタンク内圧が所定圧以下（例えば大気圧付近）に低下したか否かで、リークの有無を診断するようにしても良い。
【００７０】
尚、前記実施形態（１）〜（３）では、エンジン停止直後にエバポ系を密閉して直ちにタンク内圧の検出（リーク診断）を開始するようにしたが、エバポ系の密閉後、リーク有りとリーク無しの場合のタンク内圧の違いが明瞭に現れるまでの暫くの時間が経過してからタンク内圧の検出（リーク診断）を開始するようにしても良い。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施形態（１）におけるエバポガスパージシステムの構成を示す図
【図２】実施形態（１）のリーク診断制御ベースルーチンの処理の流れを示すフローチャート
【図３】実施形態（１）のリーク診断ルーチンの処理の流れを示すフローチャート
【図４】実施形態（１）のメインリレー制御ルーチンの処理の流れを示すフローチャート
【図５】エンジン停止後のタンク内圧の挙動を示すタイムチャート
【図６】実施形態（２）のリーク診断制御ベースルーチンの処理の流れを示すフローチャート
【図７】実施形態（２）のメインリレー制御ルーチンの処理の流れを示すフローチャート
【図８】実施形態（３）のリーク診断ルーチンの処理の流れを示すフローチャート（その１）
【図９】実施形態（３）のリーク診断ルーチンの処理の流れを示すフローチャート（その２）
【図１０】実施形態（３）の給油口開放判定方法を説明するためのタイムチャート
【符号の説明】
【００７２】
１１  燃料タンク
１２  エバポ通路
１３  キャニスタ
１４  大気開閉弁
１５  パージ通路
１６  パージ制御弁
１７  タンク内圧センサ（内圧検出手段）
１８  燃料レベルセンサ（燃料残量検出手段）
１９  水温センサ
２０  吸気温センサ
２１  制御回路（リーク診断手段，給油口開放判定手段，リーク診断結果無効手段，リーク診断中止手段）
２２  メインリレー
２３  イグニッションスイッチ
２４  バックアップ電源
２５  ソークタイマ
２６  燃料温度センサ
２７  警告ランプ