(57)【特許請求の範囲】
【請求項１】
内燃機関と、燃料タンクと、この燃料タンク内で発生した蒸発燃料を処理する蒸発燃料排出抑止装置とを備えてなる内燃機関の蒸発燃料処理装置であって、
前記内燃機関の蒸発燃料処理装置からの漏れの有無を検出する漏れ検出手段と、前記内燃機関の停止条件を判定する停止判定手段と、
前記停止判定手段により前記停止条件が成立したとき前記内燃機関を停止する停止手段と、
前記停止手段による停止後に前記内燃機関を始動する再始動手段と、
前記停止手段による前記内燃機関の停止時に前記漏れ検出手段による検出の履歴を記憶する記憶手段と、
前記内燃機関を始動させるイグニッションスイッチのオン時のみに、前記記憶手段にて記憶された前記履歴を初期化する初期化手段と、
前記再始動手段による前記内燃機関の始動時に、前記記憶手段に記憶された前記履歴を初期化することを禁止する禁止手段と
を備えたことを特徴とする内燃機関の蒸発燃料処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、燃料タンク内で発生する蒸発燃料を内燃機関の吸気系に放出する内燃機関の蒸発燃料処理装置に関し、特に、燃料タンクから内燃機関の吸気系に至る蒸発燃料排出抑止系における蒸発燃料の漏れの有無を判定する機能を有する内燃機関の蒸発燃料処理装置に関する。
【０００２】
【従来の技術】
従来から、燃料タンクと、燃料タンクで発生する蒸発燃料を吸着するキャニスタと、キャニスタと燃料タンクとを連通するチャージ通路と、キャニスタとエンジン吸気系とを接続するパージ通路等とを備えて構成された蒸発燃料処理装置の漏れの有無を判定する方法として、例えば特開平７−１２０１６号公報に開示された方法が知られている。
この方法では、通常のエンジン運転中において、検出されたタンク内圧が大気圧よりも所定値以上負圧であれば、蒸発燃料処理装置から蒸発燃料の漏れがなく、正常な条件下でパージが行われていると判定している。一方、正常であると判定されなかった場合、例えば燃料タンクの内圧が大気圧近傍で所定時間の間停滞しているような場合には、漏れの可能性があると判断して負圧診断処理を作動させている。この負圧判断処理では、蒸発燃料処理装置を含む排出抑止系を負圧状態にして、この負圧保持能力から漏れの有無を診断している。
【０００３】
また、例えば特開平９−３１７５７２号公報に開示された蒸発燃料処理装置のように、燃料タンク及びキャニスタを連通するチャージ通路の圧力調整弁をバイパスするバイパス弁を備え、このバイパス弁から燃料タンク側の燃料タンク系及びバイパス弁からキャニスタ側のキャニスタ系の漏れの有無を個別に判定する蒸発燃料処理装置が知られている。
燃料タンク系の漏れの有無の判定では、内燃機関の始動直後にバイパス弁を開弁して大気圧に向かわせる状態にして、燃料タンク内の圧力の変動が所定値より大きいならば、燃料タンク系に漏れが無く正常であると判定している。すなわち燃料タンク系に漏れがあるならば、始動前の燃料タンクの圧力は大気圧にほぼ等しいので、圧力の変動は小さくなる。
【０００４】
【発明が解決しようとする課題】
上述したような従来技術による蒸発燃料処理装置では、内燃機関の始動時に、例えばこの時点での燃料タンク内の圧力値が記憶されたり、漏れの有無を判定する処理にて参照される減算タイマーのタイマー値に所定の初期値がセットされたり、内燃機関の始動開始からの経過時間や消費燃料の積算量等の各種のパラメータが初期化される。
ところで、車両の運転時、例えばアイドル運転状態においては、内燃機関を停止させて、不要なアイドル運転を禁止して燃料の節減を図る制御、いわゆるアイドル停止が実施される場合がある。
こうしたアイドル停止と内燃機関の再始動が繰り返されると、漏れの有無を判定する処理にて参照される各種のパラメータが、内燃機関の再始動毎に初期化されてしまうという問題が生じる。すなわち、これらのパラメータの中には、例えば内燃機関の最初の始動時、つまり冷間始動時の値が必要とされるものが存在するため、漏れ判定を正確に行うことが困難になってしまう恐れがある。
本発明は上記事情に鑑みてなされたもので、内燃機関の最初の始動後に、内燃機関の停止と再始動が繰り返された場合でも、確実に漏れ判定を行うことが可能な内燃機関の蒸発燃料処理装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記課題を解決して係る目的を達成するために、本発明の内燃機関の蒸発燃料処理装置は、内燃機関（例えば、後述する実施の形態での内燃機関１１）と、燃料タンク（例えば、後述する実施の形態での燃料タンク５１）と、この燃料タンク内で発生した蒸発燃料を処理する蒸発燃料排出抑止装置（例えば、後述する実施の形態での蒸発燃料排出抑止装置１２）とを備えてなる内燃機関の蒸発燃料処理装置（例えば、後述する実施の形態での内燃機関の蒸発燃料処理装置１０）であって、前記内燃機関の蒸発燃料処理装置からの漏れの有無を検出する漏れ検出手段（例えば、後述する実施の形態でのステップＳ２１０〜ステップＳ２２３及びステップＳ３０６〜ステップＳ３１１及びステップＳ４０４〜ステップＳ４２１）と、前記内燃機関の停止条件を判定する停止判定手段（例えば、後述する実施の形態でのＥＣＵ１３）と、前記停止判定手段により前記停止条件が成立したとき前記内燃機関を停止する停止手段（例えば、後述する実施の形態でのＥＣＵ１３）と、前記停止手段による停止後に前記内燃機関を始動する再始動手段（例えば、後述する実施の形態でのＥＣＵ１３）と、前記停止手段による前記内燃機関の停止時に前記漏れ検出手段による検出の履歴を記憶する記憶手段（例えば、後述する実施の形態でのＥＣＵ１３）と、前記内燃機関を始動させるイグニッションスイッチのオン時のみに、前記記憶手段にて記憶された前記履歴を初期化する初期化手段（例えば、後述する実施の形態でのステップＳ２０６〜ステップＳ２０８及びステップＳ３０３及びステップＳ４０３）と、前記再始動手段による前記内燃機関の始動時に、前記記憶手段に記憶された前記履歴を初期化することを禁止する禁止手段（例えば、後述する実施の形態でのステップＳ２００、ステップＳ４０２）とを備えたことを特徴としている。
【０００６】
上記構成の内燃機関の蒸発燃料処理装置によれば、漏れ検出手段による検出の履歴を初期化する初期化手段は、内燃機関を始動させるイグニッションスイッチのオン時にのみ動作するので、例えば内燃機関の最初の始動後に、アイドル停止等によって内燃機関の停止と再始動が繰り返される場合であっても、再始動毎に検出の履歴を初期化することが防止され、内燃機関の蒸発燃料処理装置の漏れの有無を確実に判定することができる。
【０００７】
【発明の実施の形態】
以下、本発明の内燃機関の蒸発燃料処理装置の一実施形態について添付図面を参照しながら説明する。図１は本発明の一実施形態による内燃機関の蒸発燃料処理装置１０の構成図である。
本実施の形態による内燃機関の蒸発燃料処理装置１０は、例えば多気筒のエンジン等をなす内燃機関１１と、蒸発燃料排出抑止装置１２と、ＥＣＵ（電子制御ユニット）１３とを備えて構成されている。
【０００８】
内燃機関１１は、例えば４気筒を有するエンジンであって、内燃機関１１に連結された吸気管２１の途中にスロットル弁２２が備えられており、さらに、このスロットル弁２２にはスロットル弁開度（θＴＨ）センサ２３が備えられており、このスロットル弁開度センサ２３はスロットル弁２２の開度に応じた電気信号を出力してＥＣＵ１３に供給している。
燃料噴射弁２４は、吸気管２１の途中であって内燃機関１１とスロットル弁２２との間の吸気弁（図示略）の上流側に各気筒毎に設けられている。また、各燃料噴射弁２４は燃料供給管２５を介して燃料タンク５１に接続されており、燃料供給管２５の途中には燃料ポンプ２７が設けられている。
【０００９】
燃料噴射弁２４はＥＣＵ１３に電気的に接続されており、このＥＣＵ１３からの電気信号により燃料噴射時間、すなわち燃料噴射弁２４の開弁時間が制御されている。
また、燃料噴射弁２４と燃料ポンプ２７との間にはレギュレータ（図示略）が備えられており、吸気管２１から取り込まれる空気の圧力と燃料供給管２５を介して供給される燃料の圧力との間の差圧を一定にするように動作し、燃料の圧力が高すぎる場合には、リターン管（図示略）を介して余分な燃料を燃料タンク５１に戻すようになっている。そして、スロットル弁２２を介して取り込まれた空気は、吸気管２１を介して燃料噴射弁２４から噴射される燃料と混合されて内燃機関１１のシリンダに供給される。
【００１０】
吸気管２１内でスロットル弁２２の下流（内燃機関１１側）には、吸気管内絶対圧（ＰＢＡ）センサ２８が備えられており、この吸気管内絶対圧センサ２８により吸気管２１内の絶対圧は電気信号に変換されてＥＣＵ１３に供給されている。さらに、吸気管内絶対圧センサ２８の下流に吸気温（ＴＡ）センサ２９が備えられており、吸気温の測定値に対する電気信号がＥＣＵ１３に供給されている。内燃機関１１に備えられた水温（ＴＷ）センサ３０は、例えばサーミスタ等からなり、内燃機関１１の冷却水温度を測定して対応する電気信号をＥＣＵ１３に出力する。また、回転数（ＮＥ）センサ３１は、内燃機関１１の図示しないカム軸周囲又はクランク軸周囲に取り付けられている。ＮＥセンサ３１は内燃機関１１の各気筒の吸入行程開始時の上死点（ＴＤＣ）に関し、所定のクランク角度位置、例えば４気筒エンジンではクランク角度１８０°毎にＴＤＣ信号パルスを出力しており、この各信号パルスはＥＣＵ１３に供給されている。
【００１１】
排気管３２は内燃機関１１の各気筒に接続されて排気管集合部（図示略）を構成している。排気管３２内にはＯ2センサ３３が備えられており、このＯ2センサ３３は、例えば比例型の酸素濃度検出器をなす比例型空燃比（ＬＡＦ）センサとされており、排気ガス中の酸素濃度にほぼ比例する電気信号を出力してＥＣＵ１３に供給している。
さらに、Ｏ2センサ３３の下流には、排気ガス中のＨＣ、ＣＯ、ＮＯX等の成分を浄化する触媒、例えば三元触媒（ＴＷＣ）３４が備えられている。
【００１２】
ＥＣＵ１３は、内燃機関１１の制御を行うための演算を実行するＣＰＵ４１と、各種の演算プログラム及び演算データを格納するＲＯＭ４２と、ＣＰＵ４１による演算領域を確保すると共に、内燃機関１１から入力されるデータ及び内燃機関１１に送出する指令等を一時的に記憶するためのＲＡＭ４３と、内燃機関１１から入力されるデータを受信する入力回路４４と、内燃機関１１に制御指令を送出する出力回路４５とを備えて構成されている。
また、ＥＣＵ１３には、例えば内燃機関１１が搭載された車両の走行速度ＶＰを検出する車速センサ４６、バッテリ電圧ＶＢを検出するバッテリ電圧センサ４７、大気圧ＰＡを検出する大気圧センサ４８が接続されており、これらのセンサの検出信号はＥＣＵ１３に供給されている。
各センサからの入力信号は入力回路４４に渡され、入力回路４４は、入力信号波形を整形して電圧レベルを所定レベルに修正して、アナログ信号値をデジタル信号値に変換する。そして、ＣＰＵ４１は、変換されたデジタル信号を処理して、ＲＯＭ４２に格納されている演算プログラムに従って演算を実行し、出力回路４５を介して、例えば車両の各アクチュエータ（図示略）に送られる制御信号を発生する。
【００１３】
蒸発燃料排出抑止装置（以下、単に排出抑止系と呼ぶ）１２は、燃料タンク５１と、チャージ通路５２と、キャニスタ５３と、パージ通路５４とを備えて構成されており、燃料タンク５１からの蒸発燃料の排出を制御している。
なお、以下においては、排出抑止系１２をチャージ通路５２のバイパス弁５５を境にして便宜上２つの系に分けており、燃料タンク５１を含む側をタンク系と呼び、キャニスタ５３を含む側をキャニスタ系と呼ぶ。
【００１４】
燃料タンク５１は、チャージ通路５２を介してキャニスタ５３に接続されており、チャージ通路５２には、第１分岐部５２ａ及び第２分岐部５２ｂが備えられている。そして、両分岐部５２ａ，５２ｂと、燃料タンク５１との間のチャージ通路５２には、チャージ通路５２内の圧力と大気圧との差圧を検出する内圧センサ５６が備えられている。
なお、定常状態においてはチャージ通路５２内の圧力は燃料タンク５１内の圧力とほぼ等しいので、内圧センサ５６により検出された圧力を、燃料タンク５１内の圧力（以下、タンク内圧と呼ぶ）とみなすことができる。
【００１５】
第１分岐部５２ａにはタンク内圧を調整するための二方向弁５７が設けられており、二方向弁５７は２つの機械式の正圧弁５７ａ及び負圧弁５７ｂを備えている。
正圧弁５７ａはタンク内圧が大気圧より、例えば２ｋＰａ程度高くなったときに開弁し、この開弁状態において蒸発燃料がキャニスタ５３に吸着される。
負圧弁５７ｂは、タンク内圧がキャニスタ５３側の圧力よりも１．３ｋＰａ〜２ｋＰａ程度小さくなったときに開弁して、この開弁状態においてキャニスタ５３に吸着された蒸発燃料が燃料タンク５１に戻される。
また、第２分岐部５２ｂにはバイパス弁５５が設けられている。バイパス弁５５は、通常は閉弁状態とされ、後述するように、排出抑止系１２の漏れの有無を検出する際に、ＥＣＵ１３からの制御信号により開閉が制御される。
【００１６】
キャニスタ５３は、燃料蒸気を吸着する活性炭を内蔵し、通路５８ａを介して大気に連通する吸気口（図示略）を有している。通路５８ａの途中には、例えば電磁弁をなすベントシャット弁５８が設けられている。ベントシャット弁５８は、通常は開弁状態に保持され、後述するように、排出抑止系１２の漏れの有無を検出する際に、ＥＣＵ１３からの制御信号により開閉が制御される。
キャニスタ５３は、パージ通路５４を介して吸気管２１のスロットル弁２２の下流側（内燃機関１１側）に接続されており、パージ通路５４の途中には、例えば電磁弁をなすパージ制御弁５９が設けられている。そして、キャニスタ５３に吸着された蒸発燃料が、パージ制御弁５９を介して内燃機関１１の吸気系にパージされる。
なお、パージ制御弁５９は、ＥＣＵ１３からの制御信号に基づいてオン−オフデューディ比を変更することにより、パージ流量を連続的に制御することができるようされている。
【００１７】
本実施の形態による内燃機関の蒸発燃料処理装置１０は上記構成を備えており、次に、内燃機関の蒸発燃料処理装置１０の動作について添付図面を参照しながら説明する。
【００１８】
「タンクモニタ処理」
先ず、タンク内圧をモニターするタンクモニタ処理について説明する。ここで、図２及び図３はタンクモニタ処理を示すフローチャートである。
このタンクモニタ処理は、内燃機関１１の冷間始動時においてタンク系に漏れがあるか否かを判定するための処理であり、所定時間（例えば８０ｍｓｅｃ）毎に実行される。
【００１９】
先ず、図２に示すステップＳ２００においては、アイドル停止フラグＦ＿ＩＤＬＳＴＰのフラグ値が「１」であるか否かを判定する。
なお、アイドル停止とは、ＥＣＵ１３により内燃機関１１への燃料供給を停止して内燃機関１１を停止させて、不要なアイドル運転を禁止して燃料の節減を図る処理である。
このアイドル停止フラグＦ＿ＩＤＬＳＴＰのフラグ値に「１」がセットされる場合としては、例えば車両の減速時等に車速Ｖが所定車速（ゼロも含む）に達した後、シフトポジションがニュートラル又はＰ（駐車）ポジションにある場合、或いはシフトポジションがＤ（前進）ポジション又はＲ（後進）ポジションにあってもブレーキペダルが踏まれている場合等である。ただし、内燃機関１１を停止させてもスタータモータを作動させて内燃機関１１を再始動できるか否かを判定して、電力の余裕がない場合には内燃機関１１を停止させずにアイドル運転状態を維持する。
なお、アイドル停止状態から内燃機関１１が再始動される場合としては、例えばクラッチスイッチがＯＮ状態になってシフトポジションがインギアになった場合等であり、ＥＣＵ１３によりスタータモータが自動的に駆動されて内燃機関１１が始動する。
【００２０】
ステップＳ２００における判定結果が「ＹＥＳ」であると判定された場合、すなわち内燃機関１１がアイドル停止中又はアイドル停止後の再始動であると判定された場合には、後述するステップＳ２１０以下の処理を行う。
一方、この判定結果が「ＮＯ」であると判定された場合、すなわちイグニッションスイッチのオン時であって内燃機関１１が最初の始動時、或いは運転中であると判定された場合には、ステップＳ２０１に進む。
【００２１】
ステップＳ２０１では、内燃機関１１が始動モードであるか否かを判別する。始動モードであるか否かは、前回のＴＤＣ判別信号の発生から今回のＴＤＣ判別信号の発生までの経過時間から算出した内燃機関１１の回転数ＮＥにより判別し、回転数ＮＥが始動時回転数（例えば４００ｒｐｍ）以下であるときに始動モードであると判別する。
この判定結果が「ＮＯ」であると判定された場合、すなわち内燃機関１１が始動モードでない場合には、後述するステップＳ２１０以下の処理を行う。
【００２２】
一方、ステップＳ２０１における判定結果が「ＹＥＳ」であると判定された場合、すなわち内燃機関１１が始動モードであるときは、ステップＳ２０２に進み、内燃機関１１に何らかのフェールが発生していないことを示すフェイルセーフ（Ｆ／Ｓ）が検知済みであるか否かを判別する。
この判定結果が「ＹＥＳ」であると判定された場合、すなわちフェイルセーフが検知済みであるときは、燃料タンク５１の漏れ検出の実行可否を判別するタンクモニタ実行許可フラグＦＰＴＡＮＩＮのフラグ値に「０」をセットして（ステップＳ２０９）、一連の処理を終了する。すなわちタンクモニタ実行許可フラグＦＰＴＡＮＩＮをイニシャライズしている。
【００２３】
一方、ステップＳ２０２における判定結果が「ＮＯ」であると判定された場合、すなわちフェイルセーフが検知済みでないときは、吸気温ＴＡが所定の下限値ＴＷＡＳＴＬ及び上限値ＴＷＡＳＴＨの範囲内にあるか否かを判別する（ステップＳ２０３）。
この判定結果が「ＮＯ」であると判定された場合には、ステップＳ２０９以下の処理を行う。一方、判定結果が「ＹＥＳ」であると判定された場合、すなわち吸気温ＴＡが所定の範囲内にある場合には、水温ＴＷが所定の下限値ＴＷＡＳＴＬ及び上限値ＴＷＡＳＴＨの範囲内にあるか否かを判定する（ステップＳ２０４）。
この判定結果が「ＮＯ」であると判定された場合にはステップＳ２０９以下の処理を行う。一方、判定結果が「ＹＥＳ」であると判定された場合、すなわち水温ＴＷが所定の範囲内にあるときは、吸気温ＴＡと水温ＴＷとの差の絶対値が基準値ＤＴＷＡＳＴより小さいか否かを判別する（ステップＳ２０５）。
【００２４】
この判定結果が「ＮＯ」であると判定された場合には、ステップＳ２０９以下の処理を行う。一方、判定結果が「ＹＥＳ」であると判定された場合、すなわち吸気温ＴＡ及び水温ＴＷが、いずれも所定の下限値ＴＷＡＳＴＬ及び上限値ＴＷＡＳＴＨの範囲内にあり、且つ吸気温ＴＡと水温ＴＷとの差の絶対値が、基準値ＤＴＷＡＳＴより小さい場合、つまり冷間始動時にのみ、ステップＳ２０６に進む。
ステップＳ２０６では、タンクモニタ実行許可フラグＦＰＴＡＮＩＮのフラグ値に「１」を設定し、この時点でのタンク内圧ＰＴＡＮＫを、内燃機関１１の始動時における燃料タンク５１内の始動時初期圧ＰＴＡＮＳＴにセットとして（ステップＳ２０７）、タンク内圧監視タイマｔｍＰＴＩＮに所定時間ＴＰＴＩＮをセットして（ステップＳ２０８）、本処理を終了する。
【００２５】
また、図３に示すステップＳ２１０においては、タンクモニター処理が終了したことを「１」で示すタンクモニタ終了フラグＦＤＯＮＥ９０Ａのフラグ値が「０」に設定されているか否かを判定する。この判定の結果、タンクモニタ終了フラグＦＤＯＮＥ９０Ａのフラグ値が「１」に設定されているときは、一連の処理を終了する。
一方、タンクモニタ終了フラグＦＤＯＮＥ９０Ａのフラグ値が「０」に設定されているときは、ステップＳ２１１に進む。
【００２６】
ステップＳ２１１では、タンクモニタ実行許可フラグＦＰＴＡＮＩＮのフラグ値が「１」に設定されているか否かを判定する。
この判定の結果、タンクモニタ実行許可フラグＦＰＴＡＮＩＮのフラグ値が「０」に設定されているときは、本処理を終了する。
一方、タンクモニタ実行許可フラグＦＰＴＡＮＩＮのフラグ値が「１」に設定されているときは、ステップＳ２１２に進む。
【００２７】
ステップＳ２１２では、減算タイマであるタンク内圧監視タイマｔｍＰＴＩＮがゼロに達したか否かを判定する。
この判定の結果、タンク内圧監視タイマｔｍＰＴＩＮが減算されてゼロに達していないときは、この時点でのタンク内圧ＰＴＡＮＫを、バイパス弁５５の開弁前での燃料タンク５１内の圧力、つまり開弁前圧力ＰＴＡＮＩＮＩにセットして（ステップＳ２１３）、バイパス弁開制御タイマｔｍＰＴＣＵＲＥに所定時間ＴＰＴＣＵＲＥをセットして（ステップＳ２１４）、一連の処理を終了する。
なお、所定時間ＴＰＴＣＵＲＥは、例えばバイパス弁５５の開弁によりタンク内圧ＰＴＡＮＫが大気圧に等しくなるまでに要する時間である。
【００２８】
一方、ステップＳ２１２における判定結果が「ＹＥＳ」であると判定された場合、すなわちタンク内圧監視タイマｔｍＰＴＩＮが減算されてゼロに達している場合には、ステップＳ２１５に進み、開弁前圧力ＰＴＡＮＩＮＩと、始動時初期圧ＰＴＡＮＳＴとの差の絶対値ＡＢ１が、基準値Ｐ１よりも大きいか否かを判定する。
この判定結果が「ＹＥＳ」であると判定された場合、すなわち絶対値ＡＢ１が基準値Ｐ１よりも大きいときは、タンク系に漏れが無く正常であることを「１」で示すタンク系正常判定フラグＦＯＫ９０Ａのフラグ値に「１」を設定し（ステップＳ２１６）、タンクモニタ終了フラグＦＤＯＮＥ９０Ａのフラグ値に「１」を設定して（ステップＳ２１７）、本処理を終了する。
これにより、タンク系の正常判定が早期に得られ、後述するステップＳ２１８以下のバイパス弁５５の開弁によるタンク系の異常の有無の判定処理を実行する必要がなくなる。
【００２９】
一方、ステップＳ２１５における判定結果が「ＮＯ」であると判定された場合、すなわち絶対値ＡＢ１が基準値Ｐ１以下であるときは、ステップＳ２１８に進み、バイパス弁開制御タイマｔｍＰＴＣＵＲＥの値が減算されてゼロに達しているか否かを判定する。
この判定結果が「ＹＥＳ」の場合は、一連の処理を終了する。一方、この判定結果が「ＮＯ」の場合は、ステップＳ２１９に進む。
【００３０】
ステップＳ２１９では、バイパス弁５５を開弁し、ステップＳ２２０に進んで、この時点でのタンク内圧ＰＴＡＮＫと、開弁前圧力ＰＴＡＮＩＮＩとの差の絶対値ＡＢ２が、基準値ＤＰＴＡＮＩＮ（例えば２６６．６Ｐａ）以上であるか否かを判定する。
この判定の結果、絶対値ＡＢ２が基準値ＤＰＴＡＮＩＮ以上であるときは、タンク系正常判定フラグＦＯＫ９０Ａのフラグ値に「１」を設定して（ステップＳ２２１）、タンクモニタ終了フラグＦＤＯＮＥ９０Ａのフラグ値に「１」を設定して（ステップＳ２２３）、本処理を終了する。
一方、ステップＳ２２０における判定の結果、絶対値ＡＢ２が基準値ＤＰＴＡＮＩＮ未満であるときは、タンク系に漏れがあり異常であることを「１」で示すタンク系異常判定フラグＦＮＧ９０Ａのフラグ値に「１」にセットして（ステップＳ２２２）、ステップＳ２２３に進む。
【００３１】
本実施の形態による内燃機関の蒸発燃料処理装置１０によれば、タンクモニタ処理において、内燃機関１１の冷間始動時に、バイパス弁５５を開弁すると燃料タンク５１内の圧力が大気圧になることを利用して、内圧センサ５６の検出値の変化に基づいてタンク系の漏れの有無を判定しており、所定時間ＴＰＴＣＵＲＥが経過するまでの間に、タンク内圧ＰＴＡＮＫが所定の基準値ＤＰＴＡＮＩＮ以上に変化した場合は、タンク系に漏れがなく正常であると判定できる。
ここで、車両がアイドル停止状態に移行して、内燃機関１１の運転が一旦停止された後に再始動された場合であっても、ステップＳ２０２〜ステップＳ２０９における初期化の処理を実行することはなく、例えば始動時初期圧ＰＴＡＮＳＴやタンク内圧監視タイマｔｍＰＴＩＮ等をリセットしてしまうことが防止されている。しかもステップＳ２１０以降の診断の処理を継続することができる。
【００３２】
次に、上述した実施の形態による内燃機関の蒸発燃料処理装置１０の動作の変形例として、始動後オープン処理及び内圧監視モニター処理からなる排出抑止系１２の漏れの有無の判定処理について添付図面を参照しながら説明する。図４は始動後オープン処理を示すフローチャートであり、図５及び図６は内圧監視モニター処理を示すフローチャートであり、図７は図５に示すバイパス弁オープン判定の処理を示すフローチャートであり、図８は図６に示すキャンセル処理を示すフローチャートである。
【００３３】
「始動後オープン処理」
始動後オープン処理は、内燃機関１１の始動直後にバイパス弁５５を開弁して排出抑止系１２を大気圧に開放し、この時、タンク内圧ＰＴＡＮＫが大気開放前の値から所定値以上変動すれば、タンク系に漏れがなく正常であると判定する。
【００３４】
先ず、図４に示すステップＳ３０１においては、内燃機関始動後タイマＴ０１ＡＣＲＳＴのタイマ値が、始動後ＰＴＡＮＫセンサー安定待ちタイマＴＭＰＴＡＣＲ０（例えば１ｓ）以上であるか否かを判定する。なお、内燃機関始動後タイマＴ０１ＡＣＲＳＴは、イグニッションスイッチのオン時、すなわち内燃機関１１の最初の始動時から動作を開始して、車両がアイドル停止中であっても停止することのないタイマである。
この判定結果が「ＮＯ」であると判定された場合、すなわち内圧センサ５６がまだ安定していない場合には、ステップＳ３０２に進み、バイパス弁開弁フラグＦ＿ＢＰＳＯＰＥＮのフラグ値に「０」をセットして、冷間始動時タンク内圧ＰＴＩＮＴに、この時点のタンク内圧ＰＴＡＮＫをセットして（ステップＳ３０３）、一連の処理を終了する。
一方、ステップＳ３０１における判定結果が「ＹＥＳ」であると判定された場合、すなわち内圧センサ５６が安定状態となるまでに要する時間が経過した場合には、ステップＳ３０４に進む。
ここで、内燃機関始動後タイマＴ０１ＡＣＲＳＴは、内燃機関１１の最初の始動後から停止することのないタイマなので、始動後ＰＴＡＮＫセンサー安定待ちタイマＴＭＰＴＡＣＲ０（例えば１ｓ）以上経過した後には、冷間始動時タンク内圧ＰＴＩＮＴが更新されることは無い。
【００３５】
ステップＳ３０４においては、内燃機関始動後タイマＴ０１ＡＣＲＳＴのタイマ値が、冷間始動時タンク系正常判定タイマＴＭＰＴＩＮＴ（例えば２０ｓ）以上か否かを判定する。この判定結果が「ＹＥＳ」であると判定された場合には、バイパス弁開弁フラグＦ＿ＢＰＳＯＰＥＮのフラグ値に「０」をセットして（ステップＳ３０５）、一連の処理を終了する。
一方、ステップＳ３０４における判定結果が「ＮＯ」であると判定された場合には、バイパス弁開弁フラグＦ＿ＢＰＳＯＰＥＮのフラグ値に「１」をセットして（ステップＳ３０６）、次に、バイパス弁５５を開弁して、ベントシャット弁５８を開弁して、パージ制御弁５９を閉じる（ステップＳ３０７）。
すなわち、所定の冷間始動時タンク系正常判定タイマＴＭＰＴＩＮＴの間は、排出抑止系１２を大気圧に開放する。
【００３６】
次に、ステップＳ３０８においては、冷間始動時タンク内圧ＰＴＩＮＴと、タンク内圧ＰＴＡＮＫの平均値であるタンク内圧平均値ＰＴＡＮＫＡＶＥとの偏差の絶対値が、所定の第１判定値＃ＤＰＴＩＮＴ０２（例えば５３３．３Ｐａ）以上であるか否かを判定する。この第１判定値＃ＤＰＴＩＮＴ０２は微少な第１の穴、例えば０．５ｍｍ径の穴による漏れの有無を判定するための判定値である。また、偏差の絶対値に対して比較を行うことで、車両の運転状態に応じて冷間始動時タンク内圧ＰＴＩＮＴが正圧或いは負圧の何れの値であっても判定を行うことができる。
この判定結果が「ＹＥＳ」であると判定された場合には、０．５ｍｍ径以上の穴による漏れはないと判断して、０．５ｍｍＯＫフラグのフラグ値に「１」をセットして（ステップＳ３０９）、後述するステップＳ３１１に進む。
【００３７】
一方、ステップＳ３０８における判定結果が「ＮＯ」であると判定された場合、すなわち０．５ｍｍ径の穴による漏れがあると判定された場合には、ステップＳ３１０に進む。
ステップＳ３１０においては、冷間始動時タンク内圧ＰＴＩＮＴと、タンク内圧ＰＴＡＮＫの平均値であるタンク内圧平均値ＰＴＡＮＫＡＶＥとの偏差の絶対値が、所定の第２判定値＃ＤＰＴＩＮＴ０４（例えば２６６．６Ｐａ）以上であるか否かを判定する。この第２判定値＃ＤＰＴＩＮＴ０４は、第１の穴よりも大きな第２の穴、例えば１ｍｍ径の穴による漏れの有無を判定するための判定値である。
この判定結果が「ＮＯ」であると判定された場合、すなわち１ｍｍ径の穴による漏れがあると判定された場合には、一連の処理を終了する。
【００３８】
一方、ステップＳ３１０における判定結果が「ＹＥＳ」であると判定された場合、すなわち１ｍｍ径の穴による漏れはないと判定された場合には、１ｍｍＯＫフラグのフラグ値に「１」をセットして（ステップＳ３１１）、一連の処理を終了する。
この場合は、０．５ｍｍＯＫフラグのフラグ値が「０」であると共に１ｍｍＯＫフラグのフラグ値が「１」の状態になり、後述する内圧監視モニター処理において、第１の穴を基準とした漏れの有無の判定が行われる。
なお、この時点でのタンク内圧平均値ＰＴＡＮＫＡＶＥを内圧監視モニター処理で使用するため、タンク内圧平均値ＰＴＡＮＫＡＶＥを大気開放時タンク内圧ＰＴＢＰＳＯＰＮにセットしてＲＡＭ４３に格納しておく。
【００３９】
「内圧監視モニター処理」
次に、内圧監視モニター処理について説明する。
内圧監視モニター処理では、内圧センサ５６の出力レベルを連続的にチェックし、このレベルが大気圧付近に集中する場合は漏れがあると判定し、正圧又は負圧に大きく変動する場合は漏れがないと判定する。
【００４０】
先ず、図５に示すステップＳ４０１において、始動モードであるか否かを判定する。この判定結果が「ＮＯ」であると判定された場合には、後述するステップＳ４０４に進む。
一方、判定結果が「ＹＥＳ」であると判定された場合には、ステップＳ４０２に進み、アイドル停止フラグＦ＿ＩＤＬＳＴＰのフラグ値が「１」であるか否かを判定する。
この判定結果が「ＹＥＳ」であると判定された場合、すなわち内燃機関１１がアイドル停止中又はアイドル停止後の再始動であると判定された場合には、後述するステップＳ４０４以下の処理を行う。
一方、ステップＳ４０２における判定結果が「ＮＯ」であると判定された場合、すなわち内燃機関１１が、イグニッションスイッチがオンとなる最初の始動時或いは運転中であると判定された場合にはステップＳ４０３に進む。
【００４１】
図６に示すステップＳ４０３においては、タンク内圧最大値ＰＴＢＭＡＸ及びタンク内圧最小値ＰＴＢＭＩＮに、この時点でのタンク内圧ＰＴＡＮＫをセットし、減算カウンタＣＰＴＡＮＫに所定のカウンタ値ＣＰＴＣＨＫをセットして、燃料消費量ＵＳＥＤＧＡＳにゼロをセットして、初期化の処理を行う。そして、一連の処理を終了する。
なお、所定のカウンタ値ＣＰＴＣＨＫは、内燃機関１１の最初の始動時の水温ＴＷに応じてテーブル検索される値である。
【００４２】
図５に示すステップＳ４０４においては、完了フラグのフラグ値が「１」であるか否かを判定する。後述するように、この完了フラグのフラグ値は一連の内圧監視モニター処理の完了時に「１」とされており、この判定結果が「ＹＥＳ」であると判定された場合には、一連の処理を終了する。一方、判定結果が「ＮＯ」であると判定された場合にはステップＳ４０５に進む。
ステップＳ４０５においては、バイパス弁許可フラグのフラグ値が「１」であるか否かを判定する。
この判定結果が「ＹＥＳ」であると判定された場合には、後述するステップＳ５０４以下の処理を行う。一方、判定結果が「ＮＯ」であると判定された場合には、ステップＳ４０６に進む。
【００４３】
ステップＳ４０６においては、この時点でのタンク内圧ＰＴＡＮＫと、前回検出してＲＡＭ４３に記憶していたタンク内圧ＰＴＢＡＳＥとの差の絶対値、つまり｜ＰＴＡＮＫ−ＰＴＢＡＳＥ｜が所定値以上であるか否かを判定することによってタンク内圧ＰＴＡＮＫが急激に変化したか否かを判定する。
タンク内圧ＰＴＡＮＫの急変は、例えば車両の急発進等により燃料タンク５１内の燃料液面が揺れて、燃料がタンク壁面に触れて急激に気化する場合等に生じる。
この判定結果が「ＹＥＳ」であると判定された場合には、蒸発燃料の漏れ検出を行う状態に適さないので、一連の処理を終了する。
一方、判定結果が「ＮＯ」であると判定された場合には、ステップＳ４０７に進む。
【００４４】
ステップＳ４０７においては、燃料消費量ＵＳＥＤＧＡＳが所定の燃料判定値＃ＧＡＳＪＵＤ以上であるか否かを判定する。
この判定結果が「ＮＯ」であると判定された場合、すなわち燃料の消費量が小さい場合には、後述するステップＳ４１０以下の処理を行う。
一方、判定結果が「ＹＥＳ」であると判定された場合、すなわち燃料の消費量が大きいと判定された場合には、ステップＳ４０８に進み、減算カウンタＣＰＴＡＮＫがゼロであるか否かを判定する。
なお、燃料消費量ＵＳＥＤＧＡＳの算出は内圧監視モニターの処理とは独立に、例えばバックグラウンドで演算されており、ＣＰＵ４１は、所定期間における燃料噴射弁２４の開弁時間の積算値に所定の係数を乗算して得た値を、この所定期間における燃料消費量ＵＳＥＤＧＡＳに変換してＲＡＭ４３に記憶しており、この燃料消費量ＵＳＥＤＧＡＳの値は、所定期間ごとに更新されている。
【００４５】
ステップＳ４０８における判定結果が「ＹＥＳ」の場合、すなわち所定時間経過した後は、後述するステップＳ４０９以下のバイパス弁オープン判定処理を実施する。このような場合とは、ステップＳ４１０以下の処理を例えば複数回実行しても１ｍｍＯＫフラグのフラグ値が「１」とならず、第２の穴に対する判定基準をクリアできない状態である。
一方、ステップＳ４０８における判定結果が「ＮＯ」であると判定された場合には、ステップＳ４１０に進む。
【００４６】
図６に示すステップＳ４１０においては、１ｍｍＯＫフラグのフラグ値が「１」であるか否かを判定する。この判定結果が「ＹＥＳ」であると判定された場合には、後述するステップＳ４１６以下の処理を行う。
一方、判定結果が「ＮＯ」であると判定された場合には、ステップＳ４１１に進み、タンク内圧最大値ＰＴＢＭＡＸ及びタンク内圧最小値ＰＴＢＭＩＮを更新する。
すなわち、内圧センサー５６にて、例えば複数回測定したタンク内圧ＰＴＡＮＫに対するタンク内圧平均値ＰＴＡＮＫＡＶＥが、ＲＡＭ４３に格納されているタンク内圧最大値ＰＴＢＭＡＸよりも大きければ、このタンク内圧平均値ＰＴＡＮＫＡＶＥを、新たなタンク内圧最大値ＰＴＢＭＡＸにセットして更新する。
一方、タンク内圧平均値ＰＴＡＮＫＡＶＥが、ＲＡＭ４３に格納されているタンク内圧最小値ＰＴＢＭＩＮよりも小さければ、このタンク内圧平均値ＰＴＡＮＫＡＶＥを、新たなタンク内圧最小値ＰＴＢＭＩＮにセットして更新し、データの書き換えを行う。
【００４７】
次に、ステップＳ４１２においては、タンク内圧最大値ＰＴＢＭＡＸからタンク内圧最小値ＰＴＢＭＩＮを減算して得た値、すなわちタンク内圧ＰＴＡＮＫの変動幅が、所定の第１基準値ＰＴＰＳＩ０４以上であるか否かを判定する。なお、第１基準値ＰＴＰＳＩ０４は、内燃機関１１の始動時の水温ＴＷをパラメータとしてＲＯＭ４２に格納されているマップ等から検索される。
この判定結果が「ＹＥＳ」であると判定された場合には、ステップＳ４１３に進み、１ｍｍＯＫフラグのフラグ値に「１」をセットして、後述するステップＳ４１６以下の処理を行う。
一方、ステップＳ４１２における判定結果が「ＮＯ」であると判定された場合には、ステップＳ４１４に進み、上述した始動後オープン処理にて設定した大気開放時タンク内圧ＰＴＢＰＳＯＰＮからタンク内圧平均値ＰＴＡＮＫＡＶＥを減算して得た値が、第１の穴、例えば１ｍｍ径以上の穴による漏れの有無を検出するための判定値＃ＰＴＮＥＧＡ０４（例えば２６６．６Ｐａ）以上であるか否かを判定する。
【００４８】
この判定結果が「ＮＯ」であると判定された場合には、後述するステップＳ４１６に進み、一方、判定結果が「ＹＥＳ」であると判定された場合、すなわちタンク系が負圧を保持する能力を有しており、１ｍｍ径の穴を基準とした漏れは検出されないと判定された場合には、ステップＳ４１５に進み、１ｍｍＯＫフラグのフラグ値に「１」をセットして、ステップＳ４１６に進む。
ステップＳ４１６においては、大気開放時タンク内圧ＰＴＢＰＳＯＰＮからタンク内圧平均値ＰＴＡＮＫＡＶＥを減算して得た値が、第２の穴、例えば０．５ｍｍ径以上の穴による漏れの有無を検出するための判定値＃ＰＴＮＥＧＡ０２（例えば６６６．５Ｐａ）以上であるか否かを判定する。
この判定結果が「ＮＯ」であると判定された場合には、後述するステップＳ４２０以下の処理を行う。
一方、判定結果が「ＹＥＳ」であると判定された場合には、タンク系は大きな負圧を保持する能力を有しており、０．５ｍｍ径以上の穴による漏れがないと判断することができる。そして、後述するステップＳ４１７におけるキャンセル処理を行う。
【００４９】
なお、後述するように、ステップＳ４１７におけるキャンセル処理は、漏れの有無とは関係なしにタンク系の圧力を負圧にする他の要因があるか否かを判定する。
そして、ステップＳ４１８において、ステップＳ４１６での判定結果をキャンセルする必要があるか否かを判定する。この判定結果が「ＹＥＳ」であると判定された場合には、後述するステップＳ４２０以下の処理を行う。一方、判定結果が「ＮＯ」であると判定された場合には、０．５ｍｍＯＫフラグのフラグ値に「１」をセットしてステップＳ４２０に進む。
ステップＳ４２０においては、減算カウンタＣＰＴＡＮＫのカウンタ値がゼロであるか否かを判定し、この判定結果が「ＹＥＳ」であると判定された場合には、一連の処理を終了する。
一方、判定結果が「ＮＯ」であると判定された場合には、ステップＳ４２１に進み、減算カウンタＣＰＴＡＮＫのカウンタ値から「１」を減算して得た値を、新たな減算カウンタＣＰＴＡＮＫにセットして、一連の処理を終了する。
【００５０】
内圧監視モニター処理は、予め設定された時間間隔（例えば８０ｍｓ）毎に繰り返し実行され、減算カウンタＣＰＴＡＮＫがゼロになるまで処理が継続される。そして、減算カウンタＣＰＴＡＮＫがゼロになると、図７に示すバイパス弁オープン判定処理を実行する。このバイパス弁オープン判定処理では、後述するステップＳ５１２又はステップＳ５１３にて内圧監視モニター処理の完了フラグのフラグ値に「１」がセットされる。すると、上述したステップＳ４０４において内圧監視モニター処理が終了される。
従って、内燃機関１１の始動から停止までの１回の運転サイクルにおいては、一連の内圧監視モニター処理が終了した後に、再度同じ内圧監視モニター処理が繰り返されることはない。しかし、これをどのような頻度で実行するかは設計事項であり、必要に応じて変更することができる。
【００５１】
「バイパス弁オープン判定処理」
次に、図７を参照してバイパス弁オープン判定処理について説明する。
先ず、図７に示すステップＳ５０１では、水温ＴＷに応じた所定値をＲＯＭ４２から読み出し、タンク内圧最大値ＰＴＢＭＡＸから大気開放時タンク内圧ＰＴＢＰＳＯＰＮを減算して得た値が、所定値以上であるか否かを判定する。なお、この所定値は、内燃機関１１の始動時の水温ＴＷをパラメータとする値であり、ＥＣＵ１３のＲＯＭ４２にテーブル等の形式で格納されている。
【００５２】
ステップＳ５０１での判定結果が「ＮＯ」であると判定された場合には、バイパス弁５５を開弁するバイパス弁許可フラグのフラグ値に「１」をセットして（ステップＳ５０２）、このバイパス弁オープン判定処理に要する時間をタンク系判定タイマーにセットする（ステップＳ５０３）。
次に、ステップＳ５０４において、タンク系判定タイマーがゼロか否かを判定する。この判定結果が「ＮＯ」の場合は、ステップＳ５０５に進み、パージ制御弁５９を閉じて、ステップＳ５０６に進む。一方、判定結果が「ＹＥＳ」の場合は、後述するステップＳ５１４に進む。
ステップＳ５０６は、パージ制御弁５９の閉弁が安定するのを待つ処理であり、遅延タイマーがゼロか否かを判定する。この判定結果が「ＮＯ」の場合は、ステップＳ５０８に進み、この時点でのタンク内圧ＰＴＡＮＫの平均値Ｐ４をＲＡＭ４３に記憶して、一連の処理を終了する。一方、判定結果が「ＹＥＳ」の場合は、ステップＳ５０７に進む。
【００５３】
このバイパス弁オープン判定処理は所定の時間間隔（例えば８０ｍｓ）毎に実行される。従って、ステップＳ５０８を経て一連の処理を終了した後、再びこのバイパス弁オープン判定処理を実施した際に、遅延タイマーがゼロになっていれば、ＥＣＵ１３が制御信号を送ってバイパス弁５５及びベントシャット弁５８を開弁してタンク系を大気圧に開放する（ステップＳ５０７）。
次に、ステップＳ５０９において、この時点のタンク内圧Ｐ５が、大気開放前のタンク内圧Ｐ４から第１の所定値以上増加したか否かを判定する。
この判定結果が「ＹＥＳ」の場合、すなわちタンク系が負圧を維持する能力を有している場合には、１ｍｍ径以上の穴による漏れはない判断して、１ｍｍＯＫフラグのフラグ値に「１」をセットして（ステップＳ５１０）、内圧監視モニター処理の完了フラグのフラグ値に「１」をセットして（ステップＳ５１３）、一連の処理を終了する。
【００５４】
一方、ステップＳ５０９における判定結果が「ＮＯ」の場合、すなわち負圧から大気圧に向かう変動が所定値に達していない場合には、ステップＳ５１１に進み、タンク内圧Ｐ４からタンク内圧Ｐ５を減算して得た値が所定値以上であるか否か、すなわち大気解放後のタンク内圧Ｐ５が大気開放前のタンク内圧Ｐ４から第２の所定値以上小さくなったか（正圧から大気圧に向かって大きく変動したか）否かを判定する。
なお、第２の所定値は、ステップＳ５０９で用いた第１の所定値とは異なる値であっても良く、例えばＥＣＵ１３のＲＯＭ４２に格納されており、内燃機関１１の始動時の水温ＴＷをパラメータとするテーブルから検索して得た値であっても良い。
【００５５】
ステップＳ５１１における判定結果が「ＹＥＳ」の場合は、ステップＳ５１２に進み、一連の処理を終了する。すなわち、タンク系の圧力の変動が大きければ、タンク系は圧力を維持する機能を持っていると判断することができるが、正圧からの変動は微小な穴による漏れの有無を検出するのに適さないので、１ｍｍＯＫフラグのフラグ値に「１」をセットすることなしに、完了フラグのフラグ値に「１」をセットして（ステップＳ５１２）、一連の処理を終了する。
一方、ステップＳ５１１における判定結果が「ＮＯ」の場合、すなわち圧力の変動が大きくないと判定される場合には、さらに、このバイパス弁オープン判定処理を繰り返すため、完了フラグのフラグ値に「１」をセットすることなしに、一連の処理を終了する。
【００５６】
ステップＳ５０４における判定結果が「ＹＥＳ」の場合、すなわちバイパス弁オープン判定処理を繰り返し実行して、タンク系判定タイマーがゼロになると、ステップ５１４に進み、ステップＳ５１１と同様にタンク内圧Ｐ４からタンク内圧Ｐ５を減算して得た値が所定値以上であるか否か、すなわち大気解放後のタンク内圧Ｐ５が大気開放前のタンク内圧Ｐ４から第２の所定値以上小さくなったか（正圧から大気圧に向かって大きく変動したか）否かを判定する。
この判定結果が「ＹＥＳ」の場合、すなわち正圧から大気圧に向かっての変動が大きければ、完了フラグのフラグ値に「１」をセットして（ステップＳ５１２）、一連の処理を終了する。
一方、判定結果が「ＮＯ」の場合、すなわち圧力の変動が大きくなければＦＳＤフラグのフラグ値に「１」をセットして（ステップＳ５１５）、次に、完了フラグのフラグ値に「１」をセットして（ステップＳ５１２）、一連の処理を終了する。なお、ＦＳＤフラグは故障診断の際に利用されるフラグである。
【００５７】
「キャンセル処理」
次に、図８を参照しながら、キャンセル処理について説明する。この処理では、内圧監視モニター処理で０．５ｍｍ系の穴を基準とした漏れがないと判断して、０．５ｍｍＯＫフラグのフラグ値に「１」をセットした場合に、タンク系の漏れの有無とは関係無しに、タンク系の圧力を負圧にする他の要因があるか否かを判定し、このような要因があるときは、この０．５ｍｍＯＫフラグのフラグ値に「１」をセットする判定結果をキャンセルして、内圧監視モニター処理を継続する。
なお、タンク系の圧力を負圧にする他の要因としては、例えば車両が高負荷で運転している状態、及び車両が高地から低地へと移動する最中に大気圧が高くなる方向に大きく変化している状態等がある。
【００５８】
例えば、車両が急加速中等の高負荷で運転しているときは、急速に燃料が消費されることにより内圧センサ５６が一時的に負圧を感知するので、０．５ｍｍ径の微小な穴による漏れがあっても０．５ｍｍＯＫフラグのフラグ値に「１」がセットされる場合がある。
また、車両が高地から平地に向けて移動して大気圧が高くなると、大気圧とタンク系との差圧を感知する内圧センサ５６は、負圧方向への圧力変動を検出する。この場合も、０．５ｍｍ径程度の微小な穴による漏れがあっても０．５ｍｍＯＫフラグのフラグ値に「１」をセットしてしまう恐れがある。
【００５９】
先ず、図６におけるステップＳ６０１において、現在の大気圧が、内燃機関１１の始動時大気圧（予め、始動時にＲＡＭ４３に記憶している値）より、所定値（例えば７３３．１５Ｐａ）以上大きいか否かを判定する。
この判定結果が「ＹＥＳ」の場合には、０．５ｍｍ径の穴を基準とした漏れの有無の判定には適さないので、解除タイマーを所定の時間（例えば６０ｓ）にセットして（ステップＳ６０８）、次に、ＯＫ判定禁止フラグのフラグ値に「１」をセットして（ステップＳ６０９）、０．５ｍｍＯＫフラグのフラグ値に「１」をセットする判定結果をキャンセルする。
なお、所定値（例えば７３３．１５Ｐａ）は大気圧が高圧側へ変動した大きさであり、タンク系の内圧を４３９．８９Ｐａだけ減少させる値である。
【００６０】
一方、ステップＳ６０１における判定結果が「ＮＯ」の場合は、ステップＳ６０２に進み、例えばＥＣＵ１３がバックグラウンドで算出している単位時間当たりの燃料噴射量に、内燃機関１１の回転数ＮＥを乗算して得た値、すなわち内燃機関１１の負荷が所定値以上であるか否かを判定する。なお、負荷の所定値は、例えば実験データ及びシミュレーションデータ等に基づいて、０．５ｍｍ径の穴を基準とした漏れの有無の判定に影響を及ぼす臨界値付近の値を選択する。
ステップＳ６０２における判定結果が「ＹＥＳ」の場合は、ステップＳ６０３に進む。
【００６１】
ステップＳ６０３においては、後述するステップＳ６０４にて所定時間（例えば４ｓ）にセットされた高負荷運転判定タイマーがゼロになっているか否かを判定する。
この判定結果が「ＹＥＳ」の場合、すなわち高負荷運転が所定時間継続されていれば、０．５ｍｍ径の穴を基準とした漏れの有無の判定には適さないので、ステップＳ６０９に進み、０．５ｍｍＯＫフラグのフラグ値に「１」をセットする判定結果をキャンセルする。
一方、ステップＳ６０３における判定結果が「ＮＯ」の場合は、一連の処理を終了する。
【００６２】
一方、ステップＳ６０２の判定結果が「ＮＯ」の場合、すなわち内燃機関１１の負荷が所定値より小さい場合には、ステップＳ６０４に進み、高負荷運転判定タイマーに所定時間（例えば４ｓ）をセットしてステップＳ６０５に進む。
ステップＳ６０５においては、ＯＫ判定禁止フラグのフラグ値に「１」がセットされているか否かを判定する。
この判定結果が「ＮＯ」の場合は、一連の処理を終了する。一方、この判定結果が「ＹＥＳ」の場合は、ステップＳ６０６に進み、解除タイマーがゼロになっているか否かを判定する。
この判定結果が「ＮＯ」の場合は、一連の処理を終了する。一方、この判定結果が「ＹＥＳ」の場合は、ステップＳ６０７に進み、ＯＫ判定禁止フラグのフラグ値に「０」をセットしてＯＫ判定禁止を解除して、一連の処理を終了する。すなわち、０．５ｍｍＯＫフラグのフラグ値に「１」をセットする判定結果をキャンセルする処理は、所定の時間（例えば６０ｓ）後に解除される。
【００６３】
こうして、一連の内圧監視モニター処理を行うことによって、１ｍｍ径の穴及び０．５ｍｍ径の穴を基準とした漏れの有無を検出する。そして、１ｍｍＯＫフラグ及び０．５ｍｍＯＫフラグの双方のフラグ値に「１」がセットされると、タンク系に漏れがなく正常であると判断して、漏れの有無を検出する処理を終了する。
また、１ｍｍＯＫフラグ及び０．５ｍｍＯＫフラグの双方のフラグ値に「０」がセットされた場合、又は１ｍｍＯＫフラグのフラグ値に「１」がセットされ、０．５ｍｍＯＫフラグのフラグ値に「０」がセットされた場合には、タンク系を十分に減圧して負圧の保持機能をモニターする減圧モニター処理によって漏れの有無の検出を行う。
【００６４】
本実施の形態による内燃機関の蒸発燃料処理装置１０によれば、内燃機関１１の始動後に、アイドル停止状態に移行して一時的に内燃機関１１が停止され、再び内燃機関１１が再始動された場合であっても、内燃機関１１の最初の始動時における燃料タンク５１内の圧力の値や、燃料タンク５１内の圧力をモニターする処理や内圧監視モニター処理で必要とされるタイマー値や、始動時からの経過時間及び燃料消費量等のパラメータを更新したり初期化してしまうことが無く、アイドル停止が頻繁に繰り返される場合であっても、蒸発燃料処理装置１０の漏れの有無を確実に判定することができる。
しかも、内圧センサ５６が負圧を示し、かつ高負荷運転状態でない時に漏れの有無を判定するので、高負荷状態に基づくタンク系の負圧状態を、タンク系に漏れがない状態として誤って判定することを防止することができる。
さらに、内圧センサ５６が負圧を示し、かつ大気圧に所定値以上の変化がない時に漏れの有無を判定するので、大気圧の変化に基づくタンク系の負圧状態を、タンク系に漏れがない状態として誤って判定することを防止することができる。
【００６５】
【発明の効果】
以上説明したように、本発明の内燃機関の蒸発燃料処理装置によれば、内燃機関の最初の始動後に、例えば内燃機関の一時停止と再始動が繰り返される場合であっても、再始動毎に内燃機関の蒸発燃料処理装置の漏れの検出の履歴を初期化することが防止され、漏れの有無を確実に判定することができる。
【図面の簡単な説明】
【図１】  本発明の一実施形態による内燃機関の蒸発燃料処理装置の構成図である。
【図２】  タンクモニタ処理を示すフローチャートである。
【図３】  タンクモニタ処理を示すフローチャートである。
【図４】  始動後オープン処理を示すフローチャートである。
【図５】  内圧監視モニター処理を示すフローチャートである。
【図６】  内圧監視モニター処理を示すフローチャートである。
【図７】  図５に示すバイパス弁オープン判定の処理を示すフローチャートである。
【図８】  図６に示すキャンセル処理を示すフローチャートである。
【符号の説明】
１０  内燃機関の蒸発燃料処理装置
１１  内燃機関
１２  蒸発燃料排出抑止装置
１３  ＥＣＵ（停止判定手段、停止手段、再始動手段、記憶手段）
５１  燃料タンク
ステップＳ２０６〜ステップＳ２０８，
ステップＳ３０３，ステップＳ４０３    初期化手段
ステップＳ２１０〜ステップＳ２２３，
ステップＳ３０６〜ステップＳ３１１，
ステップＳ４０４〜ステップＳ４２１    漏れ検出手段
【図１】
0003685969.tif 000002
【図２】
0003685969.tif 000003
【図３】
0003685969.tif 000004
【図４】
0003685969.tif 000005
【図５】
0003685969.tif 000006
【図６】
0003685969.tif 000007
【図７】
0003685969.tif 000008
【図８】
0003685969.tif 000009