(57)【要約】    【課題】  内燃機関の停止中に、比較的簡単な構成で正確に、蒸発燃料処理装置の漏れの判定を行うことができる故障診断装置を提供する。    【解決手段】  機関停止後の、燃料タンク内圧ＰＴＡＮＫの２次微分値に相当するパラメータに基づく第１の判定手法と、燃料タンク内圧ＰＴＡＮＫの停滞時間に基づく第２の判定手法とを用いて、漏れの有無の判定が行われる。燃料タンク内の蒸発燃料発生量が比較的多いときは、第１の判定手法による判定結果が選択され、蒸発燃料発生量が比較的少ないときは、第２の判定手法による判定結果が選択される。蒸発燃料発生量を示すパラメータとして、燃料タンク内圧の最大値ＤＰＥＯＭＡＸが用いられる（Ｓ７２，Ｓ７７）。【選択図】  図１０
2006077595.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンクと、大気に連通する空気通路が接続され、前記燃料タンク内で発生する蒸発燃料を吸着する吸着剤を有するキャニスタと、該キャニスタと前記燃料タンクとを接続する第１の通路と、前記キャニスタと内燃機関の吸気系とを接続する第２の通路と、前記空気通路を開閉するベントシャット弁と、前記第２の通路に設けられたパージ制御弁とを備えた蒸発燃料処理装置の故障を診断する故障診断装置において、
前記蒸発燃料処理装置内の圧力を検出する圧力検出手段と、
前記機関の停止を検出する機関停止検出手段と、
該機関停止検出手段により前記機関の停止が検出されたときに、前記パージ制御弁及びベントシャット弁を閉弁し、該閉弁後において、第１所定判定期間中の前記圧力検出手段による検出圧力の２回微分値に相当する判定パラメータに基づいて、前記蒸発燃料処理装置の漏れの有無を判定する第１判定手段と、
前記パージ制御弁及びベントシャット弁を閉弁した後において、前記第１所定判定期間より長い第２所定判定期間中の前記圧力検出手段による検出圧力と、該検出圧力の停滞時間との関係に基づいて、前記蒸発燃料処理装置の漏れの有無を判定する第２判定手段と、
前記機関停止後における、前記燃料タンク内の蒸発燃料発生量を示す蒸発燃料パラメータを算出する蒸発燃料パラメータ算出手段と、
該蒸発燃料パラメータ算出手段により算出される蒸発燃料パラメータに応じて、前記第１判定手段及び第２判定手段の何れか一方の判定結果を選択する最終判定手段とを備えることを特徴とする故障診断装置。
【請求項２】
前記最終判定手段は、前記蒸発燃料パラメータが第１閾値以上であり、かつ前記第１判定手段による判定が完了したときは、前記第１判定手段による判定結果を選択することを特徴とする請求項１に記載の故障診断装置。
【請求項３】
前記最終判定手段は、前記蒸発燃料パラメータが第１閾値以上であり、かつ前記第１判定手段による判定が完了しないとき、または前記蒸発燃料パラメータが前記第１閾値より小さいときは、前記第２判定手段による判定結果を選択することを特徴とする請求項１または２に記載の故障診断装置。
【請求項４】
前記最終判定手段は、前記蒸発燃料パラメータが前記第１閾値以上であり、かつ前記第１閾値より大きい第２閾値より小さい場合において、前記検出圧力が前記第２判定期間中に所定判定圧以下とならないとき、前記第１判定手段による判定結果を選択することを特徴とする請求項２に記載の故障診断装置。
【請求項５】
前記最終判定手段は、前記蒸発燃料パラメータが前記第１閾値以上であり、かつ前記第１閾値より大きい第２閾値より小さい場合において、前記検出圧力が前記第２判定期間中に所定判定圧以下となったときは、前記第２判定手段による判定結果を選択することを特徴とする請求項２に記載の故障診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料タンク内で発生する蒸発燃料を一時的に貯蔵し、貯蔵した蒸発燃料を内燃機関に供給する蒸発燃料処理装置の故障を診断する故障診断装置に関する。
【背景技術】
【０００２】
内燃機関の停止後に蒸発燃料処理装置の漏れの有無を判定する故障診断装置は、例えば特許文献１に示されている。この装置によれば、電動ポンプにより空気を加圧して蒸発燃料処理装置内に導入し、そのときの電動ポンプの負荷電流値に基づいて漏れの有無の判定が行われる。すなわち、蒸発燃料処理装置に漏れがあるときは、電動ポンプの負荷電流値が減少するので、加圧中の負荷電流値が所定判定閾値より小さいとき、漏れがあると判定される。
【０００３】
【特許文献１】特開２００２−３５７１６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の装置では、加圧用の電動ポンプが必要であり、装置の構成が複雑化し、コストが高くなるという課題がある。また漏れがある場合には、加圧によって蒸発燃料処理装置内の蒸発燃料が大気中に放出されるという問題もある。
【０００５】
本発明はこの点に着目してなされたものであり、内燃機関の停止中に、比較的簡単な構成で正確に、蒸発燃料処理装置の漏れの判定を行うことができる故障診断装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため請求項１に記載の発明は、燃料タンク（９）と、大気に連通する空気通路（３７）が接続され、前記燃料タンク（９）内で発生する蒸発燃料を吸着する吸着剤を有するキャニスタ（３３）と、該キャニスタ（３３）と前記燃料タンク（９）とを接続する第１の通路（３１）と、前記キャニスタ（３３）と内燃機関の吸気系（２）とを接続する第２の通路（３２）と、前記空気通路（３７）を開閉するベントシャット弁（３８）と、前記第２の通路（３２）に設けられたパージ制御弁（３４）とを備えた蒸発燃料処理装置（４０）の故障を診断する故障診断装置において、前記蒸発燃料処理装置（４０）内の圧力を検出する圧力検出手段（１５）と、前記機関の停止を検出する機関停止検出手段と、該機関停止検出手段により前記機関の停止が検出されたときに、前記パージ制御弁（３４）及びベントシャット弁（３８）を閉弁し、該閉弁後において、第１所定判定期間（ＴＭＤＤＰＴＬ）中の前記圧力検出手段による検出圧力（ＰＴＡＮＫ，ＰＥＯＮＶＡＶＥ）の２回微分値に相当する判定パラメータ（ＥＤＤＰＬＳＱＡ）に基づいて、前記蒸発燃料処理装置（４０）の漏れの有無を判定する第１判定手段と、前記パージ制御弁（３４）及びベントシャット弁（３８）を閉弁した後において、前記第１所定判定期間（ＴＭＤＤＰＴＬ）より長い第２所定判定期間（ＴＭＥＯＭＡＸ）中の前記圧力検出手段による検出圧力（ＰＴＡＮＫ，ＣＤＴＭＰＣＨＧ）と、該検出圧力の停滞時間（ＴＤＴＭＳＴＹ，ＣＴＭＳＴＹ）との関係に基づいて、前記蒸発燃料処理装置（４０）の漏れの有無を判定する第２判定手段と、前記機関停止後における、前記燃料タンク内の蒸発燃料発生量を示す蒸発燃料パラメータ（ＤＰＥＯＭＡＸ）を算出する蒸発燃料パラメータ算出手段と、該蒸発燃料パラメータ算出手段により算出される蒸発燃料パラメータ（ＤＰＥＯＭＡＸ）に応じて、前記第１判定手段及び第２判定手段の何れか一方の判定結果を選択する最終判定手段とを備えることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の故障診断装置において、前記最終判定手段は、前記蒸発燃料パラメータ（ＤＰＥＯＭＡＸ）が第１閾値（ＰＤＤＰＯＫＭＩＮ）以上であり、かつ前記第１判定手段による判定が完了したときは、前記第１判定手段による判定結果を選択することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１または２に記載の故障診断装置において、前記最終判定手段は、前記蒸発燃料パラメータ（ＤＰＥＯＭＡＸ）が第１閾値（ＰＤＤＰＯＫＭＩＮ）以上であり、かつ前記第１判定手段による判定が完了しないとき、または前記蒸発燃料パラメータが前記第１閾値（ＰＤＤＰＯＫＭＩＮ）より小さいときは、前記第２判定手段による判定結果を選択することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項２に記載の故障診断装置において、前記最終判定手段は、前記蒸発燃料パラメータ（ＤＰＥＯＭＡＸ）が前記第１閾値（ＰＤＤＰＯＫＭＩＮ）以上であり、かつ前記第１閾値（ＰＤＤＰＯＫＭＩＮ）より大きい第２閾値（ＰＤＤＰＮＧＭＩＮ）より小さい場合において、前記検出圧力（ＰＴＡＮＫ，ＰＤＴＭＢＡＳＥ）が前記第２判定期間（ＴＭＥＯＭＡＸ）中に所定判定圧（ＰＤＴＭＩＮＩ）以下とならないとき、前記第１判定手段による判定結果を選択することを特徴とする。
【００１０】
請求項５に記載の発明は、請求項２に記載の故障診断装置において、前記最終判定手段は、前記蒸発燃料パラメータ（ＤＰＥＯＭＡＸ）が前記第１閾値（ＰＤＤＰＯＫＭＩＮ）以上であり、かつ前記第１閾値（ＰＤＤＰＯＫＭＩＮ）より大きい第２閾値（ＰＤＤＰＮＧＭＩＮ）より小さい場合において、前記検出圧力（ＰＴＡＮＫ，ＰＤＴＭＢＡＳＥ）が前記第２判定期間（ＴＭＥＯＭＡＸ）中に所定判定圧（ＰＤＴＭＩＮＩ）以下となったときは、前記第２判定手段による判定結果を選択することを特徴とする。
【００１１】
また前記第１判定手段は、前記検出圧力が上昇する過程において得られる判定パラメータに基づいて前記判定を行うことが望ましい。
【００１２】
また前記第１判定手段は、前記検出圧力の変化率を示す変化率パラメータ（ＤＰＥＯＮＶ）を算出し、該変化率パラメータの変化率（ＥＤＤＰＬＳＱＡ）に基づいて前記判定を行うことが望ましい。より具体的には、前記第１判定手段は、変化率パラメータ（ＤＰＥＯＮＶ）の検出値及び該検出値の検出タイミング（ＣＥＤＤＰＣＡＬ）を統計処理することにより、回帰直線を求め、その回帰直線の傾き（ＥＤＤＰＬＳＱＡ）に基づいて前記判定を行うことが望ましい。
【００１３】
また前記第２判定手段は、前記検出圧力が停滞または減少する過程における前記検出圧力（ＰＴＡＮＫ，ＣＤＴＭＰＣＨＧ）と前記停滞時間（ＴＤＴＭＳＴＹ，ＣＴＭＳＴＹ）との関係に基づいて、前記判定を行うことが望ましい。また前記第２判定手段は、前記検出圧力（ＰＴＡＮＫ，ＣＤＴＭＰＣＨＧ）及び停滞時間（ＴＤＴＭＳＴＹ，ＣＴＭＳＴＹ）を統計処理することにより、回帰直線を求め、その回帰直線の傾き（ＥＯＤＴＭＪＵＤ）に基づいて前記判定を行うことが望ましい。
【００１４】
さらに前記第２判定手段は、前記停滞時間（ＴＤＴＭＳＴＹ）が所定判定時間（ＴＤＴＭＬＫ）を超えたとき、前記蒸発燃料処理装置（４０）に漏れがあると判定することが望ましい。
【発明の効果】
【００１５】
請求項１に記載の発明によれば、検出圧力の２回微分値に相当する判定パラメータに基づく判定を行う第１判定手段、及び検出圧力の停滞時間に基づく判定を行う第２判定手段の何れか一方の判定結果が、燃料タンク内の蒸発燃料発生量を示す蒸発燃料パラメータに応じて選択される。第１判定手段による判定は、蒸発燃料発生量が多い場合に適している一方、第２判定手段による判定は、蒸発燃料の発生量が少ない場合に適している。したがって、蒸発燃料パラメータに応じて第１判定手段及び第２判定手段の何れか一方の判定結果を選択することにより、簡単な構成で正確な判定を行うことができる。
【００１６】
請求項２に記載の発明によれば、蒸発燃料パラメータが第１閾値以上であり、かつ第１判定手段による判定が完了したときは、第１判定手段による判定結果が選択される。蒸発燃料パラメータが第１閾値以上であって、蒸発燃料発生量が比較的多いときは、第１判定手段の判定結果を選択することにより、迅速な判定が可能となる。
【００１７】
請求項３に記載の発明によれば、蒸発燃料パラメータが第１閾値以上であっても、第１判定手段による判定が完了しないとき、または蒸発燃料パラメータが第１閾値より小さく、蒸発燃料発生量が比較的少ないときは、第２判定手段による判定結果が選択される。したがって、第１判定手段による判定ができないときや蒸発燃料の発生量が少ないときでも、機関停止後に漏れの有無を正確に判定することができる。
【００１８】
請求項４に記載の発明によれば、蒸発燃料パラメータが第１閾値以上であり、かつ第２閾値より小さい場合において、検出圧力が第２判定期間中に所定判定圧以下とならないとき、第１判定手段による判定結果が選択される。すなわち、蒸発燃料パラメータが第２閾値より小さく、蒸発燃料発生量がそれほど多くない場合においても、検出圧力を監視する期間を第２判定期間まで延ばすことにより、第１判定手段の判定結果に基づいて、正確な判定を行うことができる。
【００１９】
請求項５に記載の発明によれば、蒸発燃料パラメータが第１閾値以上であり、かつ第２閾値より小さい場合において、検出圧力が第２判定期間中に所定判定圧以下となったときは、第２判定手段による判定結果が選択される。蒸発燃料発生量が比較的多い場合であっても、検出圧力の監視期間を延ばして、検出圧力が十分に低下すれば、第２判定手段により正確な判定が可能となる。したがって、第２判定手段による判定結果を選択することにより正確な判定ができる。
【発明を実施するための最良の形態】
【００２０】
以下本発明の実施の形態を図面を参照して説明する。
図１は、本発明の一実施形態に係る蒸発燃料処理装置及び内燃機関の制御装置の構成を示す図である。同図において、１は例えば４気筒を有する内燃機関（以下単に「エンジン」という）であり、エンジン１の吸気管２の途中にはスロットル弁３が配されている。また、スロットル弁３にはスロットル弁開度（ＴＨＡ）センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力して電子制御ユニット（以下「ＥＣＵ」という）５に供給する。
【００２１】
燃料噴射弁６は、吸気管２の途中であってエンジン１とスロットル弁３との間の図示しない吸気弁の少し上流側に各気筒毎に設けられている。また、各燃料噴射弁６は燃料供給管７を介して燃料タンク９に接続されており、燃料供給管７の途中には燃料ポンプ８が設けられている。燃料タンク９は給油のための給油口１０を有しており、給油口１０にはフィラーキャップ１１が取付けられている。
【００２２】
燃料噴射弁６はＥＣＵ５に電気的に接続され、該ＥＣＵ５からの信号によりその開弁時間が制御される。吸気管２のスロットル弁３の下流側には吸気管内絶対圧ＰＢＡを検出する吸気管内絶対圧（ＰＢＡ）センサ１３、及び吸気温ＴＡを検出する吸気温（ＴＡ）センサ１４が装着されている。
【００２３】
エンジン１の図示しないカム軸周囲又はクランク軸周囲にはエンジン回転数を検出するエンジン回転数（ＮＥ）センサ１７が取付けられている。エンジン回転数センサ１７はエンジン１のクランク軸の１８０度回転毎に所定のクランク角度位置でパルス（ＴＤＣ信号パルス）を出力する。エンジン１の冷却水温ＴＷを検出するエンジン水温センサ１８及びエンジン１の排気中の酸素濃度を検出する酸素濃度センサ（以下「ＬＡＦセンサ」という）１９が設けれられており、これらのセンサ１３〜１９の検出信号はＥＣＵ５に供給される。ＬＡＦセンサ１９は、排気中の酸素濃度（エンジン１に供給される混合気の空燃比）にほぼ比例する信号を出力する広域空燃比センサとして機能するものである。
【００２４】
ＥＣＵ５にはさらに、イグニッションスイッチ４２及び大気圧ＰＡを検出する大気圧センサ４３が接続されており、イグニッションスイッチ４２の切替信号及び大気圧センサ４３の検出信号がＥＣＵ５に供給される。
燃料タンク９は、チャージ通路３１を介してキャニスタ３３に接続され、キャニスタ３３は、吸気管２のスロットル弁３の下流側にパージ通路３２を介して接続されている。
【００２５】
チャージ通路３１には、二方向弁３５が設けられている。二方向弁３５は、燃料タンク９内の圧力が大気圧より第１所定圧（例えば２．７ｋＰａ（２０ｍｍＨｇ））以上高いとき開弁する正圧弁と、燃料タンク９内の圧力がキャニスタ３３内の圧力より第２所定圧以上低いとき開弁する負圧弁とからなる。
【００２６】
二方向弁３５をバイパスするバイパス通路３１ａが設けられており、バイパス通路３１ａには、バイバス弁（開閉弁）３６が設けられている。バイパス弁３６は、通常は閉弁状態とされ、後述する故障診断実行中開閉される電磁弁であり、その動作はＥＣＵ５により制御される。
【００２７】
チャージ通路３１には、二方向弁３５と燃料タンク９との間に圧力センサ１５が設けられており、その検出信号はＥＣＵ５に供給される。圧力センサ１５の出力ＰＴＡＮＫは、キャニスタ３３及び燃料タンク９内の圧力が安定している定常状態では、燃料タンク内の圧力に等しくなるが、キャニスタ３３または燃料タンク９内の圧力が変化しているとき、実際のタンク内圧とは異なる圧力を示す。以下の説明では、圧力センサ１５の出力を「タンク内圧ＰＴＡＮＫ」という。
【００２８】
キャニスタ３３は、燃料タンク９内の蒸発燃料を吸着するための活性炭を内蔵する。キャニスタ３３には、空気通路３７が接続されており、キャニスタ３３は空気通路３７を介して大気に連通可能となっている。
空気通路３７の途中にはベントシャット弁（開閉弁）３８が設けられている。ベントシャット弁３８は、ＥＣＵ５によりその作動が制御される電磁弁であり、給油時またはパージ実行中に開弁される。またベントシャット弁３８は、後述する故障診断実行時に開閉される。ベントシャット弁３８は、駆動信号が供給されないときは、開弁する常開型の電磁弁である。
【００２９】
パージ通路３２のキャニスタ３３と吸気管２との間には、パージ制御弁３４が設けられている。パージ制御弁３４は、その制御信号のオン−オフデューティ比（制御弁の開度）を変更することにより流量を連続的に制御することができるように構成された電磁弁であり、その作動はＥＣＵ５により制御される。
【００３０】
燃料タンク９、チャージ通路３１、バイパス通路３１ａ、キャニスタ３３、パージ通路３２、二方向弁３５、バイパス弁３６、パージ制御弁３４、空気通路３７、及びベントシャット弁３８により、蒸発燃料処理装置４０が構成される。
本実施形態では、イグニッションスイッチ４２がオフされても、後述する故障診断を実行する期間中は、ＥＣＵ５、バイパス弁３６及びベントシャット弁３８には電源が供給される。なおパージ制御弁３４は、イグニッションスイッチ４２がオフされると、電源が供給されなくなり、閉弁状態を維持する。
【００３１】
燃料タンク９の給油時に蒸発燃料が大量に発生すると、キャニスタ３３に蒸発燃料が貯蔵される。エンジン１の所定運転状態において、パージ制御弁３４のデューティ制御が行われ、適量の蒸発燃料がキャニスタ３３から吸気管２に供給される。
【００３２】
ＥＣＵ５は、入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、記憶回路、及び出力回路を備えている。入力回路は、各種センサ等からの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する。記憶回路は、前記ＣＰＵで実行される演算プログラム及び演算結果等を記憶する。出力回路は、燃料噴射弁６、パージ制御弁３４、バイパス弁３６及びベントシャット弁３８に駆動信号を供給する。
【００３３】
ＥＣＵ５のＣＰＵは、エンジン回転数センサ１７、吸気管内絶対圧センサ１３、エンジン水温センサ１８などの各種センサの出力信号に応じてエンジン１に供給する燃料量制御、パージ制御弁のデューティ制御等を行う。ＥＣＵ５のＣＰＵは、以下に説明する蒸発燃料処理装置４０の故障診断処理を実行する。
【００３４】
本実施形態では、蒸発燃料処理装置４０の漏れの有無を判定する手法として、以下に説明する第１の判定手法、及び第２の判定手法を用いる。
【００３５】
図２は、第１の判定手法を説明するためにタンク内圧ＰＴＡＮＫの推移を示すタイムチャートである。より具体的には、図２は、エンジン１の停止後、所定時間に亘ってベントシャット弁３８及びバイパス弁３６を開弁する大気開放処理を実行し、次にベントシャット弁３８を閉弁した時刻ｔ０からのタンク内圧ＰＴＡＮＫの推移を示す。図２は、燃料タンク９で発生する蒸発燃料量が比較的多い場合に対応する。同図（ａ）は蒸発燃料処理装置４０が正常な場合に対応し、同図（ｂ）は蒸発燃料処理装置４０に漏れがある場合に対応する。これらの図から明らかなように、蒸発燃料処理装置４０が正常であるときは、タンク内圧ＰＴＡＮＫはほぼ直線的に増加する一方、漏れがあるときは、タンク内圧ＰＴＡＮＫは、最初は比較的大きな変化率（傾き）で上昇し、徐々に変化率が減少する傾向を示す。したがって、この差を検知することにより、漏れの有無を判定することができる。すなわち、タンク内圧ＰＴＡＮＫの２回微分値に相当する判定パラメータを算出すると、正常時は判定パラメータはほぼ「０」となるのに対し、漏れがあるときは判定パラメータは、負の値となる。
【００３６】
図３（ａ）は、一定時間毎にサンプリングされたタンク内圧ＰＴＡＮＫの実測データ例を示す。一定時間毎にサンプリングされるタンク内圧ＰＴＡＮＫの検出値を、ＰＴＡＮＫ（ｋ）と表すと、変化量ＤＰは下記式（１）で算出される。
ＤＰ＝ＰＴＡＮＫ（ｋ）−ＰＴＡＮＫ（ｋ−１）                （１）
【００３７】
図３（ｂ）は、この変化量ＤＰの推移を示すタイムチャートであり、ばらつきはあるものの、徐々に減少する傾向が示されている。そこで、本実施形態では、最小二乗法により、変化量ＤＰの推移を示す回帰直線Ｌ１を求め、この回帰直線Ｌ１の傾きに対応する傾きパラメータＥＤＤＰＬＳＱＡを下記式（２）に適用して、判定パラメータＥＯＤＤＰＪＵＤを算出する。
ＥＯＤＤＰＪＵＤ＝ＥＤＤＰＬＳＱＡ／ＤＰＥＯＭＡＸ          （２）
【００３８】
傾きパラメータＥＤＤＰＬＳＱＡは、図２（ｂ）に示す回帰直線Ｌ１の傾きの符号を反転させたものである。したがって、漏れがあるとき、傾きパラメータＥＤＤＰＬＳＱＡは、正の値となり、正常時は「０」近傍の値となる。
【００３９】
また、式（２）のＤＰＥＯＭＡＸは、時刻ｔ０（ベントシャット弁３８の閉弁時刻）以後におけるタンク内圧ＰＴＡＮＫの最大値である（以下「最大圧力ＤＰＥＯＭＡＸ」という）。燃料タンク内における蒸発燃料の発生量が多いほど、最大圧力ＤＰＥＯＭＡＸが増加する傾向があるので、本実施形態では、最大圧力ＤＰＥＯＭＡＸを、蒸発燃料発生量を示す蒸発燃料パラメータとして使用する。
【００４０】
最大圧力ＤＰＥＯＭＡＸが高くなるほど（蒸発燃料発生量が多くなるほど）、傾きパラメータＥＤＤＰＬＳＱＡが増加する傾向があるので、式（２）により算出される判定パラメータを用いることにより、蒸発燃料発生量が変動しても正確な判定を行うことが可能となる。
【００４１】
図４は、この判定パラメータＥＯＤＤＰＪＵＤを縦軸とし、最大圧力ＤＰＥＯＭＡＸを横軸とした座標平面に、正常な場合のデータ（黒丸）と、漏れがある場合のデータ（白丸）とをプロットしたものである。この図から明らかなように、判定閾値ＤＤＰＪＵＤを適切に設定することにより、漏れがある場合を正確に判定することができる。
【００４２】
ところで第１の判定手法では、蒸発燃料処理装置４０に比較的小さな孔があり、タンク内圧ＰＴＡＮＫの変化速度が非常に小さいときには、漏れを検出することができない。そこで、本実施形態では、第２の判定手法により、小さな孔による漏れ（以下「小孔漏れ」という）の有無を判定する。
【００４３】
図５は、第２の判定手法を説明するための図である。同図（ａ）及び（ｂ）は、それぞれ正常な場合及び小孔漏れがある場合の、タンク内圧ＰＴＡＮＫの推移を示す。ここで、検出圧力が変化しない時間を停滞時間ＴＳＴＹと定義すると、図に示すＴ１，Ｔ２，Ｔ３が、停滞時間ＴＳＴＹに相当する。この停滞時間ＴＳＴＹと、タンク内圧ＰＴＡＮＫとの関係を、プロットすると、正常な場合及び小孔漏れがある場合のそれぞれに対応して、図５（ｃ）及び（ｄ）に示す相関特性が得られる。この図の回帰直線Ｌ１１及びＬ１２の傾きに着目すると、回帰直線Ｌ１１の傾きＡＬ１１は、正の比較的小さな値となり、回帰直線Ｌ１２の傾きＡＬ１２は、絶対値が大きな負の値となることが明らかである。そこで、本実施形態では、検出タンク内圧ＰＴＡＮＫと、停滞時間ＴＳＴＹとの相関特性を示す回帰直線の傾きにより、小孔漏れを判定する。これを第２の判定手法という。
【００４４】
なお、本実施形態では、検出タンク内圧ＰＴＡＮＫそのものではなく、検出タンク内圧ＰＴＡＮＫをなまし処理（ローパスフィルタ処理）したタンク内圧パラメータＰＥＯＮＶＡＶＥを、漏れの判定に使用する。
【００４５】
図６は、上述した故障診断手法を適用した、蒸発燃料処理装置４０の故障診断処理の要部のフローチャートである。故障診断処理は、ＥＣＵ５のＣＰＵで所定時間（例えば１００ミリ秒）毎に実行される。
ステップＳ１では、エンジン１が停止しているか、すなわちイグニッションスイッチがオフされているか否かを判別する。エンジン１が作動中であるときは、直ちに、本処理を終了する。
【００４６】
その後エンジン１が停止すると、ステップＳ１からステップＳ２に進み、ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲが「１」であるか否かを判別する。ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲは、ベントシャット弁３８を閉弁させるとき、「１」に設定されるフラグである（図７、ステップＳ３１参照）。最初はＦＶＳＶＣＬＲ＝０であり、ステップＳ３に進んで、大気開放処理を実行する。すなわち、ベントシャット弁３８及びバイパス弁３６を開弁し、蒸発燃料処理装置４０内を大気に開放する。大気開放処理は、エンジン停止後所定大気開放時間（例えば９０秒）に亘って実行される。ステップＳ４では、大気開放処理が終了したか否かを判別し、終了していないときは、直ちに本処理を終了する。
【００４７】
大気開放処理が終了すると、ステップＳ４からステップＳ５に進んで、図７に示す圧力パラメータ算出処理を実行し、さらに、図８及び図９に示す第１漏れ判定処理（ステップＳ６）、図１１〜図１３に示すＦＥＯＤＴＭＥＸ設定処理（ステップＳ７）、図１４及び図１５に示す第２漏れ判定処理（ステップＳ８）、並びに図１６に示す最終判定処理（ステップＳ９）を順次実行する。図７の処理でＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲが「１」に設定されると、ステップＳ２から直ちにステップＳ５に進む。
【００４８】
図７は、図６のステップＳ５で実行される圧力パラメータ算出処理のフローチャートである。すなわち、図７の処理では、タンク内圧パラメータＰＥＯＮＶＡＶＥが算出されるとともに、ベントシャット弁３８の閉弁が行われる。
ステップＳ１１では、判定完了フラグＦＤＯＮＥ９０Ｍが「１」であるか否かを判別し、この答が否定（ＮＯ）、すなわち漏れ判定が終了していないときは、実行条件フラグＦＭＣＮＤＥＯＮＶが「１」であるか否かを判別する（ステップＳ１２）。実行条件フラグＦＭＣＮＤＥＯＮＶは、図示しない実行条件判定処理で漏れ判定の実行条件が成立するとき、「１」に設定される。なお、本実施形態では、実行条件フラグＦＭＣＮＤＥＯＮＶが「１」に設定されたとき、大気開放処理は終了しているものとする。
【００４９】
ＦＤＯＮＥ９０Ｍ＝１であって漏れ判定が終了したとき、またはＦＭＣＮＤＥＯＮＶ＝０であって漏れ判定の実行条件が成立してないときは、ダウンカウントタイマＴＥＯＤＬＹを所定時間ＴＥＯＤＬＹ０（例えば１０秒）に設定してスタートする（ステップＳ１３）。ステップＳ１４では、実行フラグＦＥＯＮＶＥＸＥ及びＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲを「０」に設定し、本処理を終了する。実行フラグＦＥＯＮＶＥＸＥは、後述するステップＳ１９で「１」に設定される。
【００５０】
ステップＳ１２で実行条件フラグＦＭＣＮＤＥＯＮＶが「１」であって実行条件が成立しているときは、実行フラグＦＥＯＮＶＥＸＥが「１」であるか否かを判別する（ステップＳ１５）。最初は、この答は否定（ＮＯ）であるので、ステップＳ１６に進み、ステップＳ１３でスタートしたタイマＴＥＯＤＬＹの値が「０」であるか否かを判別する。最初はこの答が否定（ＮＯ）であるので、ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲを「０」に設定して（ステップＳ２１）、本処理を終了する。
【００５１】
ステップＳ１６でＴＥＯＤＬＹ＝０となると、ステップＳ１７に進み、その時点のタンク内圧ＰＴＡＮＫを、開始圧ＰＥＯＴＡＮＫ０として記憶する。ステップＳ１８では、修正タンク内圧ＰＥＯＴＡＮＫ及びタンク内圧パラメータＰＥＯＮＶＡＶＥを「０」に設定する。修正タンク内圧ＰＥＯＴＡＮＫは、タンク内圧ＰＴＡＮＫから開始圧ＰＥＯＴＡＮＫ０を減算することにより算出される（ステップＳ２２参照）。タンク内圧パラメータＰＥＯＮＶＡＶＥは、修正タンク内圧ＰＥＯＴＡＮＫのなまし演算を行うことにより算出される（ステップＳ２３参照）。
【００５２】
ステップＳ１９では、実行フラグＦＥＯＮＶＥＸＥを「１」に設定する。ステップＳ２０では、アップカウントタイマＴＥＯＮＶＴＬを「０」に設定し、前記ステップＳ２１に進む。アップカウントタイマＴＥＯＮＶＴＬは、図１１のステップＳ９８及びＳ９９で参照される。
【００５３】
ステップＳ１９で実行フラグＦＥＯＮＶＥＸＥが「１」に設定された後は、ステップＳ１５の答が肯定（ＹＥＳ）となるので、ステップＳ２２に進み、タンク内圧ＰＴＡＮＫから開始圧ＰＥＯＴＡＮＫ０を減算することにより、修正タンク内圧ＰＥＯＴＡＮＫを算出する。ステップＳ２３では、下記式（３）により、タンク内圧パラメータＰＥＯＮＶＡＶＥを算出する。
ＰＥＯＮＶＡＶＥ＝ＣＰＴＡＶＥ×ＰＥＯＴＡＮＫ
＋（１−ＣＰＴＡＶＥ）×ＰＥＯＮＶＡＶＥ    （３）
ここで、ＣＰＴＡＶＥは０から１の間の値に設定されるなまし係数、右辺のＰＥＯＮＶＡＶＥは、前回算出値である。
【００５４】
ステップＳ３１では、ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲを「１」に設定し、本処理を終了する。ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲが「１」に設定されると、ベントシャット弁３８が閉弁される。
【００５５】
図７の処理によれば、漏れ判定の実行条件が成立したときに、各種パラメータの初期化が行われ（ステップＳ１７〜Ｓ２０）、次にベントシャット弁３８が閉弁される（ステップＳ３１）。漏れ判定実行中は、タンク内圧パラメータＰＥＯＮＶＡＶＥの演算が実行される。タンク内圧パラメータＰＥＯＮＶＡＶＥは、後述する処理（図８，図９，図１２）で参照される。
【００５６】
図８及び図９は、図６のステップＳ６で実行される第１漏れ判定処理のフローチャートである。
ステップＳ４１では、長時間アイドルフラグＦＥＯＬＮＧＩＤＬが「１」であるか否かを判別する。長時間アイドルフラグＦＥＯＬＮＧＩＤＬは、図示しない処理において、エンジン停止前に所定アイドル時間を超える長時間のアイドル運転が行われたとき、「１」に設定される。長時間アイドルフラグＦＥＯＬＮＧＩＤＬが「１」であるときは、本処理で使用される各種パラメータの初期化を行う。先ずステップＳ４４では、経過時間に比例する時間パラメータＣＥＤＤＰＣＡＬを「０」に設定する。ステップＳ４５では、第１傾きパラメータＥＤＤＰＬＳＱＡの算出に用いられるパラメータの初期化を行う。すなわち、時間パラメータＣＥＤＤＰＣＡＬの積算値ＥＳＩＧＭＡＸ，時間パラメータＣＥＤＤＰＣＡＬを２乗のした値の積算値ＥＳＩＧＭＡＸ２、時間パラメータＣＥＤＤＰＣＡＬと圧力変化量ＤＰＥＯＮＶの積の積算値ＥＳＩＧＭＡＸＹ、及び圧力変化量ＤＰＥＯＮＶの積算値ＥＳＩＧＭＡＹをすべて「０」に設定する。さらにステップＳ４６では、アップカウントタイマＴＤＤＰＴＬの値を「０」に設定するとともに、カウンタＣＥＯＰＳＭＰに所定値Ｎ０（例えば１０）を設定し、ステップＳ４７では、タンク内圧パラメータの前回値ＰＥＯＮＶＡＶＥＺ及び最大圧力ＤＰＥＯＭＡＸを、タンク内圧パラメータＰＥＯＮＶＡＶＥ（今回値）に設定する。ステップＳ４７実行後は、ステップＳ６４に進む。
【００５７】
ステップＳ４１でＦＥＯＬＮＧＩＤＬ＝０であるときは、ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲが「１」であるか否かを判別する（ステップＳ４２）。ＦＶＳＶＣＬＲ＝０であってベントシャット弁３８が開弁されているときは、前記ステップＳ４４に進む。ＦＶＳＶＣＬＲ＝１であってベントシャット弁３８が閉弁されているときは、急降下フラグＦＱＩＣＫＰＤＷＮが「１」であるか否かを判別する（ステップＳ４３）。急降下フラグＦＱＩＣＫＰＤＷＮは、給油時にフィラーキャップ１１をはずしたことにより、タンク内圧ＰＴＡＮＫが急激に低下したときに、ＦＥＯＤＴＭＥＸ設定処理で「１」に設定される（図１２，ステップＳ１２５参照）。
【００５８】
急降下フラグＦＱＩＣＫＰＤＷＮが「１」であって、フィラーキャップ１１がはずされたときは、漏れ判定を行うことはできないので、前記ステップＳ４４に進み、パラメータの初期化を行う。
ステップＳ４３の答が否定（ＮＯ）であるときは、タイマＴＤＤＰＴＬの値が所定時間ＴＭＤＤＰＴＬ（例えば３００秒）以下であるか否かを判別する（ステップＳ４８）。最初はこの答は肯定（ＹＥＳ）であるので、ステップＳ４９に進み、カウンタＣＥＯＰＳＭＰの値が「１」以下か否かを判別する。最初はこの答は否定（ＮＯ）であるので、このカウンタＣＥＯＰＳＭＰの値を「１」だけデクリメントして（ステップＳ５０）、ステップＳ６４に進む。
【００５９】
ステップＳ４９の答が肯定（ＹＥＳ）となると、ステップＳ５１〜Ｓ６３を実行し、第１傾きパラメータＥＤＤＰＬＳＱＡ、判定パラメータＥＯＤＤＰＪＵＤ及び最大圧力ＤＰＥＯＭＡＸを算出する。
ステップＳ５１では、時間パラメータＣＥＤＤＰＣＡＬを「１」だけインクリメントする。ステップＳ５２では、タンク内圧パラメータの今回値ＰＥＯＮＶＡＶＥから前回値ＰＥＯＮＶＡＶＥＺを減算することにより、圧力変化量ＤＰＥＯＮＶを算出する。
【００６０】
ステップＳ５４では、下記式（４）により、時間パラメータＣＥＤＤＰＣＡＬの積算値ＥＳＩＧＭＡＸを算出する。
ＥＳＩＧＭＡＸ＝ＥＳＩＧＭＡＸ＋ＣＥＤＤＰＣＡＬ            （４）
ここで右辺のＥＳＩＧＭＡＸは、前回算出値である。
【００６１】
ステップＳ５５では、下記式（５）により、時間パラメータＣＥＤＤＰＣＡＬを２乗した値の積算値ＥＳＩＧＭＡＸ２を算出する。
ＥＳＩＧＭＡＸ２＝ＥＳＩＧＭＡＸ２＋ＣＥＤＤＰＣＡＬ×ＣＥＤＤＰＣＡＬ                                                              （５）
ここで右辺のＥＳＩＧＭＡＸ２は、前回算出値である。
【００６２】
ステップＳ５６では、下記式（６）により、時間パラメータＣＥＤＤＰＣＡＬと、圧力変化量ＤＰＥＯＮＶの積の積算値ＥＳＩＧＭＡＸＹを算出する。
ＥＳＩＧＭＡＸＹ＝ＥＳＩＧＭＡＸＹ＋ＣＥＤＤＰＣＡＬ×ＤＰＥＯＮＶ
（６）
ここで右辺のＥＳＩＧＭＡＸＹは、前回算出値である。
【００６３】
ステップＳ５７では、下記式（７）により、圧力変化量ＤＰＥＯＮＶの積算値ＥＳＩＧＭＡＹを算出する。
ＥＳＩＧＭＡＹ＝ＥＳＩＧＭＡＹ＋ＤＰＥＯＮＶ                （７）
ここで右辺のＥＳＩＧＭＡＹは、前回算出値である。
【００６４】
ステップＳ５８では、下記式（８）にステップＳ５１，Ｓ５４〜Ｓ５７で算出される時間パラメータＣＥＤＤＰＣＡＬ、積算値ＥＳＩＧＭＡＸ，ＥＳＩＧＭＡＸ２，ＥＳＩＧＭＡＸＹ，及びＥＳＩＧＭＡＹを適用し、第１傾きパラメータＥＤＤＰＬＳＱＡを算出する。
【数１】
2006077595.tif 000003
【００６５】
ステップＳ５９（図９）では、下記式（９）により、最大圧力ＤＰＥＯＭＡＸと、タンク内圧パラメータＰＥＯＮＶＡＶＥの大きい方を選択し、最大圧力ＤＰＥＯＭＡＸを算出する。
ＤＰＥＯＭＡＸ＝ＭＡＸ（ＤＰＥＯＭＡＸ，ＰＥＯＮＶＡＶＥ）  （９）
【００６６】
ステップＳ６１では、前記式（２）により判定パラメータＥＯＤＤＰＪＵＤを算出する。次いでタンク内圧パラメータの前回値ＰＥＯＮＶＡＶＥＺを今回値ＰＥＯＮＶＡＶＥに設定し（ステップＳ６２）、カウンタＣＥＯＰＳＭＰの値を所定値Ｎ０に設定して（ステップＳ６３）、ステップＳ６４に進む。
【００６７】
ステップＳ６３を実行することにより、ステップＳ４９の答が否定（ＮＯ）となるので、ステップＳ５１〜Ｓ６３は、Ｎ０回に１回の割合で実行される。また、タイマＴＤＤＰＴＬの値が所定時間ＴＭＤＤＰＴＬを超えると、ステップＳ４８の答が否定（ＮＯ）となり、直ちにステップＳ６４に進む。
【００６８】
ステップＳ６４では、図１０に示すＦＤＤＰＬＫ設定処理を実行する。すなわち、判定パラメータＥＯＤＤＰＪＵＤに基づいて、漏れの有無の判定を行い、漏れが有ると判定したとき、第１漏れ判定フラグＦＤＤＰＬＫを「１」に設定する。
【００６９】
図１０のステップＳ７１では、タイマＴＤＤＰＴＬの値が所定時間ＴＭＤＤＰＴＬ以上か否かを判別する。最初はこの答は否定（ＮＯ）であるので、保留フラグＦＤＤＰＪＤＨＤ及び第１漏れ判定フラグＦＤＤＰＬＫをともに「０」に設定し（ステップＳ８３）、第１漏れ判定終了フラグＦＥＯＮＶＤＤＰＪＵＤを「０」に設定する（ステップＳ８４）。保留フラグＦＤＤＰＪＤＨＤは、判定パラメータＥＯＤＤＰＪＵＤが所定ＯＫ判定閾値ＥＯＤＤＰＪＤＯＫより大きく、かつ所定ＮＧ判定閾値ＥＯＤＤＰＪＤＮＧ以下であるときに、判定保留の決定がなされ、「１」に設定される（ステップＳ７３，Ｓ７５，Ｓ７６参照）。第１漏れ判定終了フラグＦＥＯＮＶＤＤＰＪＵＤは、正常判定、漏れがあるとの判定、または判定保留の決定がなされたとき、「１」に設定される（ステップＳ８２参照）。
【００７０】
タイマＴＤＤＰＴＬの値が所定時間ＴＭＤＤＰＴＬに達すると、ステップＳ７１からステップＳ７２に進み、最大圧力ＤＰＥＯＭＡＸが第１閾値ＰＤＤＰＯＫＭＩＮ（例えば８０Ｐａ（０．６ｍｍＨｇ））以上か否かを判別する。ＤＰＥＯＭＡＸ＜ＰＤＤＰＯＫＭＩＮであるときは、燃料タンク内の蒸発燃料発生量が少なく、第１の判定手法では正確な判定ができないため、前記ステップＳ８３に進む。
【００７１】
ステップＳ７２で、ＤＰＥＯＭＡＸ≧ＰＤＤＰＯＫＭＩＮであるときは、判定パラメータＥＯＤＤＰＪＵＤが所定ＯＫ判定閾値ＥＯＤＤＰＪＤＯＫ以下であるか否かを判別する（ステップＳ７３）。この答が肯定（ＹＥＳ）であるときは、蒸発燃料処理装置４０は正常と判定し、保留フラグＦＤＤＰＪＤＨＤ及び第１漏れ判定フラグＦＤＤＰＬＫをともに「０」に設定する（ステップＳ７４）。次いで、第１漏れ判定終了フラグＦＥＯＮＶＤＤＰＪＵＤを「１」に設定して（ステップＳ８２）、本処理を終了する。
【００７２】
ステップＳ７３で、ＥＯＤＤＰＪＵＤ＞ＥＯＤＤＰＪＤＯＫであるときは、判定パラメータＥＯＤＤＰＪＵＤが、所定ＯＫ判定閾値ＥＯＤＤＰＪＤＯＫより大きい所定ＮＧ判定閾値ＥＯＤＤＰＪＤＮＧより大きいか否かを判別する（ステップＳ７５）。この答が否定（ＮＯ）であるとき、すなわち、判定パラメータＥＯＤＤＰＪＵＤが所定ＯＫ判定閾値ＥＯＤＤＰＪＤＯＫと、所定ＮＧ判定閾値ＥＯＤＤＰＪＤＮＧの間にあるときは、漏れがあるとの判定または正常であるとの判定を行わずに、判定保留の決定を行い、保留フラグＦＤＤＰＪＤＨＤを「１」に設定するとともに、第１漏れ判定フラグＦＤＤＰＬＫを「０」に設定し（ステップＳ７６）、前記ステップＳ８２に進む。
【００７３】
ステップＳ７５で、ＥＯＤＤＰＪＵＤ＞ＥＯＤＤＰＪＤＮＧであるときは、最大圧力ＤＰＥＯＭＡＸが、第１閾値ＰＤＤＰＯＫＭＩＮより高い第２閾値ＰＤＤＰＮＧＭＩＮ（例えば４００Ｐａ（３ｍｍＨｇ））以上であるか否かを判別する（ステップＳ７７）。その答が肯定（ＹＥＳ）であるときは、蒸発燃料処理装置４０に漏れが有ると判定し、保留フラグＦＤＤＰＪＤＨＤを「０」に設定するとともに、第１漏れ判定フラグＦＤＤＰＬＫを「１」に設定し（ステップＳ７８）、前記ステップＳ８２に進む。
【００７４】
ステップＳ７７で、ＤＰＥＯＭＡＸ＜ＰＤＤＰＮＧＭＩＮであるときは、直ちに漏れが有ると判定できないため、ステップＳ７９に進み、タイマＴＤＤＰＴＬの値が、最大診断時間ＴＭＥＯＭＡＸ（例えば２０分）から所定時間ΔＴ１（例えば１秒）を減算した値以上であるか否かを判別する。この答が否定（ＮＯ）である間は、前記ステップＳ８３に進み、肯定（ＹＥＳ）となると、停滞圧力パラメータＰＤＴＭＢＡＳＥが初期圧ＰＤＴＭＩＮＩ以下であるか否かを判別する（ステップＳ８０）。停滞圧力パラメータＰＤＴＭＢＡＳＥは、タンク内圧パラメータＰＥＯＮＶＡＶＥの変化に非常に緩やかに追随する圧力パラメータであり、図１２の処理で算出される（ステップＳ１１７，Ｓ１２６参照）。また初期圧ＰＤＴＭＩＮＩは、大気開放処理終了時点（漏れ判定の開始直前）のタンク内圧パラメータＰＥＯＮＶＡＶＥの値に設定されている。
【００７５】
ステップＳ８０の答が否定（ＮＯ）、すなわち停滞圧力パラメータＰＤＴＭＢＡＳＥが初期圧ＰＤＴＭＩＮＩより大きいときは、蒸発燃料処理装置４０に漏れが有ると判定し、保留フラグＦＤＤＰＪＤＨＤを「０」に設定するとともに、第１漏れ判定フラグＦＤＤＰＬＫを「１」に設定し（ステップＳ８１）、前記ステップＳ８２に進む。一方、ステップＳ８０の答が肯定（ＹＥＳ）であるときは、第２の判定手法により正常と判定される場合があるので、漏れがあるとの判定をすることなく、前記ステップＳ８３に進む。
【００７６】
図１１〜図１３は、図６のステップＳ７で実行されるＦＥＯＤＴＭＥＸ設定処理のフローチャートである。この処理では、第２漏れ判定の実行条件を判定し、該実行条件が成立したとき、第２漏れ判定条件フラグＦＥＯＤＴＭＥＸが「１」に設定される。第２漏れ判定条件フラグＦＥＯＤＴＭＥＸは、基本的には、停滞圧力パラメータＰＤＴＭＢＡＳＥが増加しているときは、「０」に設定され、減少しているときは「１」に設定される。また、停滞圧力パラメータＰＤＴＭＢＡＳＥが大気圧近傍に停滞しているときは、第２漏れ判定条件フラグＦＥＯＤＴＭＥＸは「１」に設定される。すなわち、第２漏れ判定条件フラグＦＥＯＤＴＭＥＸは、停滞圧力パラメータＰＤＴＭＢＡＳＥが大気圧近傍に停滞しているとき、及び減少しているときに「１」に設定され、第２漏れ判定が実行される。
【００７７】
図１１のステップＳ９１では、ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲが「１」であるか否かを判別し、ＦＶＳＶＣＬＲ＝０であってベントシャット弁３８が開弁しているときは、初期化フラグＦＰＤＴＭＳＥＴを「０」に設定する（ステップＳ９２）。初期化フラグＦＰＤＴＭＳＥＴは、停滞圧力パラメータＰＤＴＭＢＡＳＥの初期化が完了すると「１」に設定される（ステップＳ９６参照）。
【００７８】
ステップＳ９３では、下記式（１０）により、ゾーンパラメータＰＤＴＭＺＯＮＥを算出する。ゾーンパラメータＰＤＴＭＺＯＮＥは、ステップＳ１１１及びＳ１１２で、タンク内圧パラメータＰＥＯＮＶＡＶＥの変化の監視に用いられる。
ＰＤＴＭＺＯＮＥ＝ＰＴＡＮＲＥＳＯ／２＋ＤＰＤＴＭＺＯＮＥ  （１０）
ここでＰＴＡＮＲＥＳＯは、圧力センサ１５の最小検出圧であり、例えば１６．３Ｐａ（０．１２２ｍｍＨｇ）程度である。ＤＰＤＴＭＺＯＮＥは、図１２の処理で算出される停滞圧力パラメータＰＤＴＭＢＡＳＥの過剰な変動を抑制する（停滞圧力パラメータＰＤＴＭＢＡＳＥの設定にヒステリシス特性を持たせる）ために加算される所定加算値であり、例えば２．７Ｐａ（０．０２ｍｍＨｇ）に設定される。
【００７９】
ステップＳ９４では、ダウンカウントタイマＴＥＯＤＴＭを所定待機時間ＴＭＥＯＤＴＭ（例えば１秒）にセットしてスタートさせるとともに、カウンタＣＤＴＭＳＭＰに所定値Ｎ０を設定する。ステップＳ１０１では、第２漏れ判定条件フラグＦＥＯＤＴＭＥＸを「０」に設定する。
【００８０】
ステップＳ９１で、ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲが「１」であってベントシャット弁３８が閉弁しているときは、初期化フラグＦＰＤＴＭＳＥＴが「１」であるか否かを判別する（ステップＳ９５）。最初は、ＦＰＤＴＭＳＥＴ＝０であるので、停滞圧力パラメータＰＤＴＭＢＡＳＥを初期圧ＰＤＴＭＩＮＩに設定し（ステップＳ９６）、初期化フラグＦＰＤＴＭＳＥＴを「１」に設定する（ステップＳ９７）。
【００８１】
初期化フラグＦＰＤＴＭＳＥＴが「１」に設定された後は、ステップＳ９５からステップＳ９８に進み、ベントシャット弁３８の閉弁時点からの経過時間を計測するアップカウントタイマＴＥＯＮＶＴＬの値が、バッテリの充放電状態に応じて設定されるバッテリ許可時間ＴＢＡＴＴＯＫより小さいか否かを判別する。ＴＥＯＮＶＴＬ＜ＴＢＡＴＴＯＫであるときは、さらに最大診断時間ＴＭＥＯＭＡＸより小さいか否かを判別する（ステップＳ９９）。ステップＳ９８またはＳ９９の答が否定（ＮＯ）であるときは、すなわちバッテリ許可時間ＴＢＡＴＴＯＫ内または最大診断時間ＴＭＥＯＭＡＸ内に判定が終了しないときは、判定不可フラグＦＤＴＭＤＩＳＢＬを「１」に設定し（ステップＳ１００）、前記ステップＳ１０１に進む。判定不可フラグＦＤＴＭＤＩＳＢＬは、図１６に最終判定処理で参照される（ステップＳ１９３）。
【００８２】
ステップＳ９９でＴＥＯＮＶＴＬ＜ＴＭＥＯＭＡＸであるときは、ステップＳ９４で初期化されるカウンタＣＤＴＭＳＭＰの値が、「１」以下であるか否かを判別する（ステップＳ１０２）。最初はこの答は否定（ＮＯ）であるので、ステップＳ１０３に進み、カウンタＣＤＴＭＳＭＰの値を「１」だけデクリメントする（ステップＳ１０３）。カウンタＣＤＴＭＳＭＰの値が「１」になると、ステップＳ１０２からＳ１１１（図１２）に進む。
【００８３】
ステップＳ１１１では、タンク内圧パラメータＰＥＯＮＶＡＶＥが、停滞圧力パラメータＰＤＴＭＢＡＳＥからゾーンパラメータＰＤＴＭＺＯＮＥを減算した値より小さいか否かを判別する。この答が否定（ＮＯ）であるとき、すなわちタンク内圧パラメータＰＥＯＮＶＡＶＥが増加または停滞しているときは、さらにタンク内圧パラメータＰＥＯＮＶＡＶＥが、停滞圧力パラメータＰＤＴＭＢＡＳＥにゾーンパラメータＰＤＴＭＺＯＮＥを加算した値より大きいか否かを判別する（ステップＳ１１２）。この答が否定（ＮＯ）であるときは、タンク内圧パラメータＰＥＯＮＶＡＶＥが停滞していると判定し、ステップＳ１１３〜Ｓ１１５を実行する。すなわち、ダウンカウントタイマＴＥＯＤＴＭを所定待機時間ＴＭＥＯＤＴＭに設定してスタートさせ（ステップＳ１１３）、急降下フラグＦＱＩＣＫＰＤＷＮ、上昇フラグＦＰＤＴＭＵＰ、及び下降フラグＦＰＤＴＭＤＮをいずれも「０」に設定する（ステップＳ１１４）。さらにステップＳ１１５では、カウンタＣＱＩＫＰＤＮを「０」に設定する。上昇フラグＦＰＤＴＭＵＰは、停滞圧力パラメータＰＤＴＭＢＡＳＥを増加させるとき、「１」に設定されるフラグであり（ステップＳ１１８参照）、下降フラグＦＰＤＴＭＤＮは、停滞圧力パラメータＰＤＴＭＢＡＳＥを減少させるとき、「１」に設定されるフラグである（ステップＳ１２７参照）。また、カウンタＣＱＩＫＰＤＮは、タンク内圧パラメータＰＥＯＮＶＡＶＥが減少していると判定されている間、インクリメントされるカウンタである（ステップＳ１２８参照）。ステップＳ１１５を実行した後は、ステップＳ１３１（図１３）に進む。
【００８４】
ステップＳ１１２で、ＰＥＯＮＶＡＶＥ＞（ＰＤＴＭＢＡＳＥ＋ＰＤＴＭＺＯＮＥ）であるときは、タイマＴＥＯＤＴＭの値が「０」であるか否かを判別する（ステップＳ１１６）。最初は、この答は否定（ＮＯ）であるので、ステップＳ１２１に進み、上昇フラグＦＰＤＴＭＵＰ及び下降フラグＦＰＤＴＭＤＮをともに「０」に設定する。次いでカウンタＣＱＩＫＰＤＮの値を「０」に設定し（ステップＳ１２２）、ステップＳ１３１に進む。
【００８５】
ステップＳ１１６で、タイマＴＯＥＤＴＭの値が「０」であるときは、タンク内圧パラメータＰＥＯＮＶＡＶＥが増加していると判定し、停滞圧力パラメータＰＤＴＭＢＡＳＥを最小検出圧ＰＴＡＮＲＥＳＯだけ増加させる（ステップＳ１１７）。次いで、上昇フラグＦＰＤＴＭＵＰを「１」に設定し、下降フラグＦＰＤＴＭＤＮを「０」に設定する（ステップＳ１１８）とともに、カウンタＣＱＩＫＰＤＮの値を「０」に設定する（ステップＳ１１９）。その後、ステップＳ１３１に進む。
【００８６】
ステップＳ１１１で、ＰＥＯＮＶＡＶＥ＜（ＰＤＴＭＢＡＳＥ−ＰＤＴＭＺＯＮＥ）であるときは、ステップＳ１２０に進み、タイマＴＥＯＤＴＭの値が「０」であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、前記ステップＳ１２１に進む。ステップＳ１２０の答が肯定（ＹＥＳ）となると、タンク内圧パラメータＰＥＯＮＶＡＶＥが減少している判定して、ステップＳ１２３に進み、停滞圧力パラメータＰＤＴＭＢＡＳＥが初期圧ＰＤＴＭＩＮＩ以下であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは直ちにステップＳ１２６に進む。ＰＤＴＭＢＡＳＥ＞ＰＤＴＭＩＮＩであるときは、カウンタＣＱＩＫＰＤＮの値が、急降下判定閾値ＣＴＱＩＫＰＤＮ（例えば２）以上であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ１２６に進む。
【００８７】
ステップＳ１２６では、停滞圧力パラメータＰＤＴＭＢＡＳＥを、最小検出圧ＰＴＡＮＲＥＳＯだけデクリメントする。次いで、上昇フラグＦＰＤＴＭＵＰを「０」に設定するとともに、下降フラグＦＰＤＴＭＤＮを「１」に設定する（ステップＳ１２７）。ステップＳ１２８では、カウンタＣＱＩＫＰＤＮを「１」だけインクリメントし、ステップＳ１３１に進む。
【００８８】
ステップＳ１２８が繰り返し実行され、カウンタＣＱＩＫＰＤＮの値が急降下判定閾値ＣＴＱＩＫＰＤＮに達すると、ステップＳ１２４からステップＳ１２５に進み、急降下フラグＦＱＩＣＫＰＤＷＮを「１」に設定する。
本実施形態では、停滞圧力パラメータＰＤＴＭＢＡＳＥが初期圧ＰＤＴＭＩＮＩより高い状態で、タンク内圧パラメータＰＥＯＮＶＡＶＥが所定期間（急降下判定閾値ＣＴＱＩＫＰＤＮに対応する期間）以上継続して減少したとき、燃料タンクのフィラーキャップ１１がはずされたと判定され、急降下フラグＦＱＩＣＫＰＤＷＮが「１」に設定される。急降下フラグＦＱＩＣＫＰＤＷＮは、図８のステップＳ４３及び図１４のステップＳ１５２で参照される。
【００８９】
ステップＳ１３１では、下記式（１１）により、停滞圧力パラメータＰＤＴＭＢＡＳＥの最大値（以下「最大停滞タンク内圧」という）ＰＤＴＭＭＡＸを算出し、ステップＳ１３２では、下記式（１２）により、停滞圧力パラメータＰＤＴＭＢＡＳＥの最小値（以下「最小停滞タンク内圧」という）ＰＤＴＭＭＩＮを算出する。
ＰＤＴＭＭＡＸ＝ＭＡＸ（ＰＤＴＭＭＡＸ，ＰＤＴＭＢＡＳＥ）  （１１）
ＰＤＴＭＭＩＮ＝ＭＩＮ（ＰＤＴＭＭＩＮ，ＰＤＴＭＢＡＳＥ）  （１２）
【００９０】
ステップＳ１３３では、最大停滞タンク内圧ＰＤＴＭＭＡＸが、初期圧ＰＤＴＭＩＮＩに最小検出圧ＰＴＡＮＲＥＳＯを加算した値より大きいか否かを判別し、その答が否定（ＮＯ）であるときは、最小停滞タンク内圧ＰＤＴＭＭＩＮが、初期圧ＰＤＴＭＩＮＩから最小検出圧ＰＴＡＮＲＥＳＯを減算した値より小さいか否かを判別する（ステップＳ１３４）。
【００９１】
ステップＳ１３３及びＳ１３４の答がともに否定（ＮＯ）であるときは、タンク内圧ＰＴＡＮＫが大気圧近傍に停滞していると判定し、下降変化フラグＦＰＤＷＮＣＨＧを「０」に設定するとともに、第２漏れ判定条件フラグＦＥＯＤＴＭＥＸを「１」に設定する（ステップＳ１３５）。下降変化フラグＦＰＤＷＮＣＨＧは、タンク内圧パラメータＰＥＯＮＶＡＶＥが下降中であるとき、「１」に設定される（ステップＳ１４１参照）。第２漏れ判定条件フラグＦＥＯＤＴＭＥＸが「１」に設定されると、第２漏れ判定の実行が許可される。続くステップＳ１４３では、カウンタＣＤＴＭＳＭＰに所定値Ｎ０を設定し、本処理を終了する。ステップＳ１４３を実行することにより、ステップＳ１０２の答が否定（ＮＯ）となるので、ステップＳ１１１〜１４３は、Ｎ０回に１回の頻度で実行される。
【００９２】
ステップＳ１３３の答が肯定（ＹＥＳ）であるときは、タンク内圧ＰＴＡＮＫが上昇したと判定し、ステップＳ１３６に進む。またステップＳ１３３の答が否定（ＮＯ）でステップＳ１３４の答が肯定（ＹＥＳ）であるときは、タンク内圧ＰＴＡＮＫが低下したと判定して、ステップＳ１３６に進む。
【００９３】
ステップＳ１３６では、下降フラグＦＰＤＴＭＤＮが「１」であるか否かを判別し、この答が否定（ＮＯ）であるときは、上昇フラグＦＰＤＴＭＵＰが「１」であるか否かを判別する（ステップＳ１３７）。ステップＳ１３７の答が否定（ＮＯ）であって、タンク内圧パラメータＰＥＯＮＶＡＶＥが増加も減少もしていないときは、下降変化フラグＦＰＤＷＮＣＨＧを「０」に設定し（ステップＳ１３８）、前記ステップＳ１４３に進む。
【００９４】
ステップＳ１３７でＦＰＤＴＭＵＰ＝１であって、タンク内圧パラメータＰＥＯＮＶＡＶＥが増加しているときは、下降変化フラグＦＰＤＷＮＣＨＧ及び第２漏れ判定条件フラグＦＥＯＤＴＭＥＸをともに「０」に設定し（ステップＳ１３９）、前記ステップＳ１４３に進む。
【００９５】
ステップＳ１３６でＦＰＤＴＭＤＮ＝１であって、タンク内圧パラメータＰＥＯＮＶＡＶＥが減少しているときは、第２漏れ判定条件フラグＦＥＯＤＴＭＥＸが「１」であるか否かを判別し（ステップＳ１４０）、その答が否定（ＮＯ）であるときは、第２漏れ判定条件フラグＦＥＯＤＴＭＥＸを「１」に設定して（ステップＳ１４２）、前記ステップＳ１４３に進む。
【００９６】
一方、ステップＳ１４０でＦＥＯＤＴＭＥＸ＝１であるときは、下降変化フラグＦＰＤＷＮＣＨＧを「１」に設定して（ステップＳ１４１）、前記ステップＳ１４２に進む。
【００９７】
図１４及び図１５は、図６のステップＳ８で実行される第２漏れ判定処理のフローチャートである。
ステップＳ１５１では、ＶＳＶ閉弁要求フラグＦＶＳＶＣＬＲが「１」であるか否かを判別し、ＦＶＳＶＣＬＲ＝０であってベントシャット弁３８が開弁しているときは、ステップＳ１７１〜Ｓ１７３を実行し、本処理で使用されるパラメータの初期化処理を行う。ステップＳ１７１では、アップカウントタイマＴＤＴＭＳＴＹの値を「０」に設定し、ステップＳ１７２では、図５に示した回帰直線Ｌ１１及びＬ１２の傾きに相当する第２傾きパラメータＥＯＤＴＭＪＵＤを算出するためのパラメータの初期化を行う。すなわち、図５のタンク内圧ＰＴＡＮＫに対応する圧力パラメータＣＤＴＭＰＣＨＧを「１」に設定し、図５の停滞時間ＴＳＴＹに対応する停滞時間パラメータＣＴＭＳＴＹを「０」に設定し、圧力パラメータＣＤＴＭＰＣＨＧの積算値ＤＴＭＳＩＧＸを「１」に設定し、停滞時間パラメータＣＴＭＳＴＹの積算値ＤＴＭＳＩＧＹを「０」に設定し、圧力パラメータＣＤＴＭＰＣＨＧと停滞時間パラメータＣＴＭＳＴＹとの積の積算値ＤＴＭＳＩＧＸＹを「０」に設定し、圧力パラメータＣＤＴＭＰＣＨＧを２乗した値の積算値ＤＴＭＳＩＧＸ２を「１」に設定し、第２傾きパラメータＥＯＤＴＭＪＵＤを「０」に設定する。
【００９８】
ステップＳ１７３では、第２漏れ判定フラグＦＤＴＭＬＫ、大孔判定フラグＦＤＴＭＬＧＬＫ、及び第２漏れ判定終了フラグＦＥＯＮＶＤＴＭＪＵＤ、及び圧力変化フラグＦＣＨＧをすべて「０」に設定する。第２漏れ判定フラグＦＤＴＭＬＫは、小孔漏れがあると判定されたとき「１」に設定される（ステップＳ１８５参照）。大孔判定フラグＦＤＴＭＬＧＬＫは、タンク内圧ＰＴＡＮＫが所定判定時間ＴＤＴＭＬＫ（例えば６００秒）より長い時間に亘って大気圧近傍に停滞したとき、大孔による漏れ（以下「大孔漏れ」という）がある判定し、「１」に設定される（ステップＳ１５７参照）。第２漏れ判定終了フラグＦＥＯＮＶＤＴＭＪＵＤは、正常であるとの判定あるいは漏れがあるとの判定がなされたとき、「１」に設定される（ステップＳ１５７，Ｓ１８６参照）。圧力変化フラグＦＣＨＧは、下降変化フラグＦＰＤＷＮＣＨＧが「１」に設定されると「１」に設定される（ステップＳ１６３参照）一方、下降変化フラグＦＰＤＷＮＣＨＧが「０」である場合において、停滞時間パラメータＣＴＭＳＴＹの積算値ＤＴＭＳＩＧＹ及び圧力パラメータＣＤＴＭＰＣＨＧと停滞時間パラメータＣＴＭＳＴＹとの積の積算値ＤＴＭＳＩＧＸＹの算出を行ったとき、「０」に戻される（ステップＳ１６２参照）。
【００９９】
ステップＳ１５１でＦＶＳＶＣＬＲ＝１であってベントシャット弁３８が閉弁しているときは、急降下フラグＦＱＩＣＫＰＤＷＮが「１」であるか否かを判別する（ステップＳ１５２）。この答が肯定（ＹＥＳ）であるときは、前記ステップＳ１７１に進み、否定（ＮＯ）であるときは、カウンタＣＤＴＭＳＭＰの値が「１」以下であるか否かを判別する（ステップＳ１５３）。この答が否定（ＮＯ）であるときは、直ちに本処理を終了する。
【０１００】
ステップＳ１５３でカウンタＣＤＴＭＳＭＰの値が「１」以下であるときは、ステップＳ１５４に進み、第２漏れ判定条件フラグＦＥＯＤＴＭＥＸが「１」であるか否かを判別する。この答が否定（ＮＯ）であるときは、前記ステップＳ１７１に進む。ステップＳ１５４でＦＥＯＤＴＭＥＸ＝１であって、第２漏れ判定の実行条件が成立しているときは、下降変化フラグＦＰＤＷＮＣＨＧが「１」であるか否かを判別する（ステップＳ１５５）。第２漏れ判定条件フラグＦＥＯＤＴＭＥＸが「１」であり、かつ下降変化フラグＦＰＤＷＮＣＨＧが「０」であるときは、タンク内圧パラメータＰＥＯＮＶＡＶＥが停滞していること示す。このときは、ステップＳ１７１またはＳ１６７で「０」に設定されるアップカウントタイマＴＤＴＭＳＴＹの値が所定判定時間ＴＤＴＭＬＫより大きいか否かを判別する（ステップＳ１５６）。最初は、この答は否定（ＮＯ）であるので、ステップＳ１５８に進み、停滞時間パラメータＣＴＭＳＴＹを「１」だけインクリメントする。次いで、圧力変化フラグＦＣＨＧが「１」であるか否かを判別する（ステップＳ１５９）。最初は、この答は否定（ＮＯ）となるので直ちにステップＳ１７５（図１５）に進む。
【０１０１】
一方、ステップＳ１５６でタイマＴＤＴＭＳＴＹの値が所定判定時間ＴＤＴＭＬＫより大きいときは、大孔漏れがあると判定し、大孔判定フラグＦＤＴＭＬＧＬＫ及び第２漏れ判定終了フラグＦＥＯＮＶＤＴＭＪＵＤを「１」に設定する（ステップＳ１５７）。
【０１０２】
ステップＳ１５５で、ＦＰＤＷＮＣＨＧ＝１であって停滞圧力パラメータＰＤＴＭＢＡＳＥが減少しているときは、ステップＳ１６３に進み、圧力変化フラグＦＣＨＧを「１」に設定する。ステップＳ１６４では、圧力パラメータＣＤＴＭＰＣＨＧを「１」だけインクリメントする。圧力パラメータＣＤＴＭＰＣＨＧは、図５（ｃ）または（ｄ）の横軸に示すタンク内圧ＰＴＡＮＫに対応するパラメータであるが、タンク内圧ＰＴＡＮＫが低下するほど、圧力パラメータＣＤＴＭＰＣＨＧは増加する。したがって、本処理で算出される第２傾きパラメータＥＯＤＴＭＪＵＤは、図５（ｃ）の直線Ｌ１１（正常）に対応する値は、負の値となり、同図（ｄ）に示す直線Ｌ１２（小孔漏れ）に対応する値は、正の値となる。
【０１０３】
ステップＳ１６５では、下記式（１３）により、圧力パラメータＣＤＴＭＰＣＨＧの積算値ＤＴＭＳＩＧＸを算出する。
ＤＴＭＳＩＧＸ＝ＤＴＭＳＩＧＸ＋ＣＤＴＭＰＣＨＧ            （１３）
ここで右辺のＤＴＭＳＩＧＸは、前回算出値である。
【０１０４】
ステップＳ１６６では、下記式（１４）により、圧力パラメータＣＤＴＭＰＣＨＧを２乗した値の積算値ＤＴＭＳＩＧＸ２を算出する。
ＤＴＭＳＩＧＸ２＝ＤＴＭＳＩＧＸ２
＋ＣＤＴＭＰＣＨＧ×ＣＤＴＭＰＣＨＧ      （１４）
ここで右辺のＤＴＭＳＩＧＸ２は、前回算出値である。
【０１０５】
ステップＳ１６７では、タイマＴＤＴＭＳＴＹの値を「０」に戻す。その後ステップＳ１７５に進む。
圧力変化フラグＦＣＨＧが「１」に設定された後に、ステップＳ１５５の答が否定（ＮＯ）となり、ステップＳ１５９に進むと、ステップＳ１５９の答が肯定（ＹＥＳ）となるので、ステップＳ１６０に進み、下記式（１５）により、停滞時間パラメータＣＴＭＳＴＹの積算値ＤＴＭＳＩＧＹを算出する。
ＤＴＭＳＩＧＹ＝ＤＴＭＳＩＧＹ＋ＣＴＭＳＴＹ                （１５）
ここで右辺のＤＴＭＳＩＧＹは、前回算出値である。
【０１０６】
ステップＳ１６１では、下記式（１６）により、圧力パラメータＣＤＴＭＰＣＨＧと停滞時間パラメータＣＴＭＳＴＹとの積の積算値ＤＴＭＳＩＧＸＹを算出する。
ＤＴＭＳＩＧＸＹ＝ＤＴＭＳＩＧＸＹ
＋ＣＤＴＭＰＣＨＧ×ＣＴＭＳＴＹ          （１６）
ここで右辺のＤＴＭＳＩＧＸＹは、前回算出値である。
ステップＳ１６２では、圧力変化フラグＦＣＨＧを「０」に戻すとともに、停滞時間パラメータＣＴＭＳＴＹを「０」に戻す。その後ステップＳ１７５に進む。
【０１０７】
ステップＳ１７５では、圧力パラメータＣＤＴＭＰＣＨＧが「１」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、回帰直線の傾きを求めることはできないので、直ちに本処理を終了する。ＣＤＴＭＰＣＨＧ＞１であるときは、下記式（１７）に圧力パラメータＣＤＴＭＰＣＨＧ、及び積算値ＤＴＭＳＩＧＸ，ＤＴＭＳＩＧＸ２，ＤＴＭＳＩＧＹ，及びＤＴＭＳＩＧＸＹを適用し、第２傾きパラメータＥＯＤＴＭＪＵＤを算出する（ステップＳ１７６）。本実施形態では、停滞圧力パラメータＰＤＴＭＢＡＳＥが低下する毎に圧力パラメータＣＤＴＭＰＣＨＧが「１」だけインクリメントされるので、圧力パラメータＣＤＴＭＰＣＨＧはサンプリングデータ数を示すパラメータでもあるため、式（１７）に適用される。
【数２】
2006077595.tif 000004
【０１０８】
ステップＳ１７７では、第２傾きパラメータＥＯＤＴＭＪＵＤが、判定閾値ＥＯＤＴＭＪＤＯＫより大きいか否かを判別し、その答が肯定（ＹＥＳ）であるときは、停滞圧力パラメータＰＤＴＭＢＡＳＥが初期圧ＰＤＴＭＩＮＩ以下であるか否かを判別する（ステップＳ１８３）。ステップＳ１８３の答が肯定（ＹＥＳ）であるときは、タイマＴＥＯＮＶＴＬの値が最大診断時間ＴＭＥＯＭＡＸから所定時間ΔＴ２（例えば５秒）を減算した値以上であるか否かを判別する（ステップＳ１８４）。ステップＳ１８３またはＳ１８４の答が否定（ＮＯ）である間は直ちに本処理を終了し、ステップＳ１８３及びＳ１８４の答がともに肯定（ＹＥＳ）となると、小孔漏れがあると判定して、第２漏れ判定フラグＦＤＴＭＬＫを「１」に設定する（ステップＳ１８５）とともに、第２漏れ判定終了フラグＦＥＯＮＶＤＴＭＪＵＤを「１」に設定する（ステップＳ１８６）。
【０１０９】
ステップＳ１７７で、ＥＯＤＴＭＪＵＤ≦ＥＯＤＴＭＪＤＯＫであるときは、停滞圧力パラメータＰＤＴＭＢＡＳＥが初期圧ＰＤＴＭＩＮＩより小さいか否かを判別する（ステップＳ１７８）。この答が否定（ＮＯ）であるときは直ちに本処理を終了する。ＰＤＴＭＢＡＳＥ＜ＰＤＴＭＩＮＩであるときは、圧力パラメータＣＤＴＭＰＣＨＧの値（判定に使われたデータ数に対応する）が第１所定データ数ＤＴＭＥＮＢＩＴ（例えば３０）以上であるか否かを判別する（ステップＳ１７９）。この答が肯定（ＹＥＳ）であるときは、蒸発燃料処理装置４０は正常と判定し、第２漏れ判定フラグＦＤＴＭＬＫを「０」に設定する（ステップＳ１８２）。その後、前記ステップＳ１８６に進む。
【０１１０】
ステップＳ１７９で、ＣＤＴＭＰＣＨＧ＜ＤＴＭＥＮＢＩＴであるときは、タイマＴＥＯＮＶＴＬの値が、最大診断時間ＴＭＥＯＭＡＸから所定時間ΔＴ２を減算した値以上であるか否かを判別する（ステップＳ１８０）。この答が否定（ＮＯ）である間は、直ちに本処理を終了し、肯定（ＹＥＳ）となると、圧力パラメータＣＤＴＭＰＣＨＧの値が第１所定データ数ＤＴＭＥＮＢＩＴより小さい第２所定データ数ＤＴＭＥＮＩＮＩ（例えば５）以上であるか否かを判別する（ステップＳ１８１）。この答が否定（ＮＯ）であるときは、直ちに本処理を終了し、肯定（ＹＥＳ）であるときは、蒸発燃料処理装置４０は正常と判定し、前記ステップＳ１８２に進む。
【０１１１】
図１６は、図６のステップＳ９で実行される最終判定処理のフローチャートである。
ステップＳ１９１では、判定完了フラグＦＤＯＮＥ９０Ｍが「１」であるか否かを判別し、この答が肯定（ＹＥＳ）であるときは直ちに本処理を終了する。ＦＤＯＮＥ９０Ｍ＝０であるときは、実行条件フラグＦＭＣＮＤＥＯＮＶが「１」であるか否かを判別する（ステップＳ１９２）。この答が肯定（ＹＥＳ）であるときは、判定不可フラグＦＤＴＭＤＩＳＢＬが「１」であるか否かを判別する（ステップＳ１９３）。ＦＭＣＮＤＥＯＮＶ＝０またはＦＤＴＭＤＩＳＢＬ＝１であるときは、中断フラグＦＥＯＮＶＡＢＯＴ及び判定完了フラグＦＤＯＮＥ９０Ｍを「１」に設定して（ステップＳ１９４）、本処理を終了する。
【０１１２】
ステップＳ１９３でＦＤＴＭＤＩＳＢＬ＝０であるときは、第１漏れ判定終了フラグＦＥＯＮＶＤＤＰＪＵＤが「１」であるか否かを判別する。ＦＥＯＮＶＤＤＰＪＵＤ＝１であって第１漏れ判定が完了しているときは、保留フラグＦＤＤＰＪＤＨＤが「１」であるか否かを判別する（ステップＳ１９６）。保留フラグＦＤＤＰＪＤＨＤが「１」であるときは、中断フラグＦＥＯＮＶＡＢＯＴを「０」に設定するとともに、判定完了フラグＦＤＯＮＥ９０Ｍを「１」に設定する（ステップＳ２０５）。
【０１１３】
ステップＳ１９６で保留フラグＦＤＤＰＪＤＨＤが「０」であるときは、ステップＳ１９７に進み、第１漏れ判定フラグＦＤＤＰＬＫが「１」であるか否かを判別する。ＦＤＤＰＬＫ＝１であるときは、故障フラグＦＦＳＤ９０Ｈを「１」に設定し（ステップＳ１９８）、ＦＤＤＰＬＫ＝０であるときは、正常フラグＦＯＫ９０Ｈを「１」に設定する（ステップＳ１９９）。その後前記ステップＳ２０５に進む。
【０１１４】
第１漏れ判定が完了していないときは、ステップＳ１９５からステップＳ２００に進み、第２漏れ判定終了フラグＦＥＯＮＶＤＴＭＪＵＤが「１」であるか否かを判別する。この答が否定（ＮＯ）であるときは直ちに本処理を終了する。第２漏れ判定が完了しているときは、ステップＳ２００からステップＳ２０１に進み、第２漏れ判定フラグＦＤＴＭＬＫが「１」であるか否かを判別する。ＦＤＴＭＬＫ＝１であるときは、故障フラグＦＦＳＤ９０Ｈを「１」に設定し（ステップＳ２０４）、ＦＤＴＭＬＫ＝０であるときは、大孔判定フラグＦＤＴＭＬＧＬＫが「１」であるか否かを判別する（ステップＳ２０２）。ＦＤＴＭＬＧＬＫ＝１であるときは、前記ステップＳ２０４に進み、ＦＤＴＭＬＧＬＫ＝０であるときは、正常フラグＦＯＫ９０Ｈを「１」に設定する（ステップＳ２０３）。その後、前記ステップＳ２０５に進む。
【０１１５】
図１７は、燃料タンクのフィラーキャップ１１がはずされた場合の処理を説明するためのタイムチャートであり、時刻ｔ１にフィラーキャップ１１がはずされた例が示されている。フィラーキャップ１１がはずされるとタンク内圧ＰＴＡＮＫが急激に低下するので、図１７（ａ）に示すように、タンク内圧パラメータＰＥＯＮＶＡＶＥが急激に低下し、それに伴って停滞圧力パラメータＰＤＴＭＢＡＳＥも低下する。その結果、時刻ｔ２においてフィラーキャップ１１がはずされたことが検出され、急降下フラグＦＱＩＣＫＰＤＷＮが「１」に設定される（図１２，ステップＳ１２５参照）。急降下フラグＦＱＩＣＫＰＤＷＮが「１」に設定されると、第１漏れ判定処理及び第２漏れ判定処理のいずれにおいても、判定に用いられるパラメータの初期化が行われる（図８，ステップＳ４４〜Ｓ４７，及び図１５，ステップＳ１７１〜Ｓ１７３参照）。したがって、例えば図１７（ｃ），（ｄ）に示すように、判定パラメータＥＯＤＤＰＪＵＤは「０」となり、タイマＴＤＤＰＴＬの値も「０」となる。
【０１１６】
急降下フラグＦＱＩＣＫＰＤＷＮは、タンク内圧パラメータＰＥＯＮＶＡＶＥが大気圧近傍に停滞するとすぐにリセットされるので（図１７，時刻ｔ３）、直ぐに、漏れ判定が再開される。
【０１１７】
このように本実施形態では、漏れ判定実行中に給油のためにフィラーキャップ１１がはずされると、それによるタンク内圧ＰＴＡＮＫの急激な低下が検出され、判定に用いられる各種パラメータが初期化されるので、誤判定を防止することができる。また、判定用パラメータの初期化後、タンク内圧パラメータＰＥＯＮＶＡＶＥが大気圧近傍に停滞すると、直ちに漏れ判定が再開されるので、例えば検出圧力の急激な低下が検出されたときに判定を禁止してしまう場合に比べて、漏れ判定の実行頻度の低下を防止することができる。
【０１１８】
図１８は、上述した漏れ判定処理を説明するためのタイムチャートであり、
ベントシャット弁閉弁後のタンク内圧ＰＴＡＮＫの推移を示す。以下、最大圧力ＤＰＥＯＭＡＸに対応して、場合を分けて説明する。
１）最大圧ＤＰＥＯＭＡＸが第２閾値ＰＤＤＰＮＧＭＩＮ以上となった場合
タンク内圧ＰＴＡＮＫ（最大圧力ＤＰＥＯＭＡＸ）が、実線Ｌ２１で示すように、第２閾値ＰＤＤＰＮＧＭＩＮを超え（蒸発燃料発生量が非常に多く）、かつ直線的に増加する場合には、判定パラメータＥＯＤＤＰＪＵＤは「０」に近い値となるため、第１漏れ判定処理において正常と判定される（図１０，ステップＳ７２，Ｓ７３，Ｓ７４参照）。
一方、タンク内圧ＰＴＡＮＫが、破線Ｌ２３で示すように、第２閾値ＰＤＤＰＮＧＭＩＮを超え、かつ傾きが徐々に減少する場合には、判定パラメータＥＯＤＤＰＪＵＤは、比較的大きな値となるため、第１漏れ判定処理において、漏れがあると判定される（図１０，ステップＳ７５，Ｓ７７，Ｓ７８参照）。
【０１１９】
２）最大圧力ＤＰＥＯＭＡＸが第１閾値ＰＤＤＰＯＫＭＩＮ以上で、第２閾値ＰＤＤＰＮＧＭＩＮより低い場合
タンク内圧ＰＴＡＮＫが、実線Ｌ２２で示すように、第１閾値ＰＤＤＰＯＫＭＩＮを超え（蒸発燃料発生量が比較的多く）、かつ直線的に増加する場合には、判定パラメータＥＯＤＤＰＪＵＤは「０」に近い値となるため、第１漏れ判定処理において正常と判定される（図１０，ステップＳ７２，Ｓ７３，Ｓ７４参照）。
【０１２０】
また、タンク内圧ＰＴＡＮＫが、破線Ｌ２４または実線Ｌ２５で示すように、第１閾値ＰＤＤＰＯＫＭＩＮを超え、第２閾値ＰＤＤＰＮＧＭＩＮに達しない場合には、所定時間ＴＭＤＤＰＴＬ内では、判定ができないので、その後のタンク内圧ＰＴＡＮＫの推移を監視する。そして、破線Ｌ２５で示す例では、判定実行時間が最大診断時間ＴＭＥＯＭＡＸに達する直前までタンク内圧ＰＴＡＮＫが低下しないため、第１漏れ判定処理で漏れが有ると判定される（図１０，ステップＳ７７，Ｓ７９〜８１参照）。一方実線Ｌ２５で示す例では、判定実行時間が最大診断時間ＴＭＥＯＭＡＸに達する前に、タンク内圧ＰＴＡＮＫが初期圧ＰＤＴＭＩＮＩより低くなるので、図１０のステップＳ８０の答が肯定（ＹＥＳ）となる。すなわち、第１漏れ判定処理では漏れの有無の判定がなされず、第２漏れ判定処理で第２傾きパラメータＥＯＤＴＭＪＵＤが判定閾値ＥＯＤＴＭＪＤＯＫ以下となり、正常と判定される（ステップＳ１７７〜Ｓ１８２）。
【０１２１】
３）最大圧力ＤＰＥＯＭＡＸが第１閾値ＰＤＤＰＮＧＭＩＮに達しない場合
タンク内圧ＰＴＡＮＫが、実線Ｌ２６及び破線Ｌ２７，Ｌ２８で示すように、第１閾値ＰＤＤＰＯＫＭＩＮに達しない場合（蒸発燃料発生量が比較的少ない場合）には、図１０のステップＳ７２の答が肯定（ＹＥＳ）とならないため、第１漏れ判定処理では漏れの有無の判定がなされない。第２の漏れ判定処理において、実線Ｌ２６で示す例では正常と判定され（図１５，ステップＳ１７７〜Ｓ１８２）、破線Ｌ２７で示す例では漏れが有ると判定される（図１５，ステップＳ１７７，Ｓ１８３〜Ｓ１８５）。
またタンク内圧ＰＴＡＮＫが破線Ｌ２８で示すように、大気圧近傍に停滞して全く増減しない場合は、大孔漏れがあると判定される（図１４，ステップＳ１５５〜Ｓ１５７）。
【０１２２】
以上のように本実施形態では、燃料タンク９内での蒸発燃料発生量を示す蒸発燃料パラメータとして、最大圧力ＤＰＥＯＭＡＸを採用し、最大圧力ＤＰＥＯＭＡＸに応じて、第１漏れ判定処理または第２漏れ判定処理の何れかの判定結果を選択するようにしたので、燃料タンク内の蒸発燃料発生量に拘わらず、正確な判定を行うことができる。
【０１２３】
また、蒸発燃料発生量が比較的多く、最大圧力ＤＰＥＯＭＡＸが第１閾値ＰＤＤＰＯＫＭＩＮに達し（図１０，ステップＳ７２の答が肯定（ＹＥＳ）となり）、かつ第１漏れ判定処理で判定が完了したとき、すなわち正常判定、漏れが有るとの判定、または保留の決定がなされたとき（ステップＳ７４，Ｓ７８，Ｓ８１，Ｓ７６）には、その判定結果が最終判定として採用される（図１０，ステップＳ８２，図１６，ステップＳ１９５〜Ｓ１９９）ので、迅速な判定が可能となる。
【０１２４】
また、蒸発燃料発生量が比較的多く、最大圧力ＤＰＥＯＭＡＸが第１閾値ＰＤＤＰＯＫＭＩＮに達した場合でも、第１漏れ判定処理で判定が完了しないとき（ステップＳ８０の答が肯定（ＹＥＳ）のとき）、または蒸発燃料発生量が比較的少なく、最大圧力ＤＰＥＯＭＡＸが第１閾値ＰＤＤＰＯＫＭＩＮに達しないときは、第２漏れ判定処理の判定結果が選択されるので、蒸発燃料発生量が比較的多くても第１漏れ判定処理で判定できないとき、あるいは蒸発燃料発生量が少ないときでも、エンジン停止後に漏れの有無の判定を行うことが可能となる。
【０１２５】
より具体的には、最大圧力ＤＰＥＯＭＡＸが第１閾値ＰＤＤＰＯＫＭＩＮ以上で、第２閾値ＰＤＤＰＮＧＭＩＮより低いときは、第１漏れ判定処理により漏れが有ると判定される場合と、第２漏れ判定処理により正常と判定される場合とがある。すなわち、タンク内圧ＰＴＡＮＫの監視を継続し、判定期間中に停滞圧力パラメータＰＤＴＭＢＡＳＥが初期圧ＰＤＴＭＩＮＩ以下に低下しないときは、判定パラメータＥＯＤＤＰＪＵＤによる判定結果、すなわち漏れがあると判定結果が最終判定とされる（図１０，ステップＳ８０，Ｓ８１）。一方、判定期間中に停滞圧力パラメータＰＤＴＭＢＡＳＥが初期圧ＰＤＴＭＩＮＩ以下に低下したときは、第１漏れ判定処理で判定を完了できないので、第２漏れ判定処理による判定結果が最終判定とされる（図１０，ステップＳ８０の答が肯定（ＹＥＳ）となる）。これにより、蒸発燃料発生量が比較的多いが非常に多くはない場合のおける判定精度を向上させることができる。
【０１２６】
本実施形態においては、圧力センサ１５が圧力検出手段に対応し、イグニッションスイッチ４２がエンジン停止検出手段に対応する。またＥＣＵ５が第１判定手段、第２判定手段、蒸発燃料パラメータ算出手段及び最終判定手段を構成する。より具体的には、図８及び図９に示す処理、図１０のステップＳ７１，Ｓ７３〜Ｓ７６，Ｓ７８，及びＳ８２が第１判定手段に相当し、図１４及び図１５に示す処理が第２判定手段に相当し、図１０のステップＳ７２，Ｓ７７，Ｓ７９〜Ｓ８１、及び図１６の処理が最終判定手段に相当する。
【０１２７】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、圧力センサ１５は、チャージ通路３１に設けられているが、これに限るものではなく、例えば燃料タンク９やキャニスタ３３に設けるようにしてもよい。
【０１２８】
また上述した実施形態では、検出タンク内圧ＰＴＡＮＫをなまし処理して得られるタンク内圧パラメータＰＥＯＮＶＡＶＥ及び停滞圧力パラメータＰＤＴＭＢＡＳＥを用いて、漏れ判定を行うようにしたが、検出タンク内圧ＰＴＡＮＫそのものを用いてもよい。
【０１２９】
また図１４及び図１５の処理では、圧力パラメータＣＤＴＭＰＣＨＧ及び停滞時間パラメータＣＴＭＳＴＹについて最小二乗法を適用して、第２傾きパラメータＥＯＤＴＭＪＵＤを算出するようにしたが、検出タンク内圧ＰＴＡＮＫ及びアップカウントタイマＴＤＴＭＳＴＹの値について最小二乗法を適用して、第２傾きパラメータＥＯＤＴＭＪＵＤを算出するようにしてもよい。
【０１３０】
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンに燃料を供給する燃料タンクを含む蒸発燃料処理装置の故障診断にも適用が可能である。
【図面の簡単な説明】
【０１３１】
【図１】本発明の一実施形態にかかる蒸発燃料処理装置及び内燃機関の制御装置を示す図である。
【図２】図２は、蒸発燃料処理装置の故障診断を実行しているときのタンク内圧（ＰＴＡＮＫ）の推移を示すタイムチャートである。
【図３】タンク内圧（ＰＴＡＮＫ）の実測データを示すタイムチャート、及びその実測データに基づいて算出される回帰直線（Ｌ１）を示す図である。
【図４】第１の判定手法を説明するための図である。
【図５】第２の判定手法を説明するための図である。
【図６】蒸発燃料処理装置の故障診断処理のフローチャートである。
【図７】圧力パラメータ算出処理のフローチャートである。
【図８】第１の判定手法に基づく漏れ判定（第１漏れ判定）を実行する処理のフローチャートである。
【図９】第１漏れ判定を実行する処理のフローチャートである。
【図１０】第１漏れ判定フラグ（ＦＤＤＰＬＫ）の設定を行う処理のフローチャートである。
【図１１】第２の判定手法による漏れ判定（第２漏れ判定）の実行条件を判定する処理のフローチャートである。
【図１２】第２漏れ判定の実行条件を判定する処理のフローチャートである。
【図１３】第２漏れ判定の実行条件を判定する処理のフローチャートである。
【図１４】第２漏れ判定を実行する処理のフローチャートである。
【図１５】第２漏れ判定を実行する処理のフローチャートである。
【図１６】第１漏れ判定及び第２漏れ判定の結果に基づく最終判定を行う処理のフローチャートである。
【図１７】フィラーキャップがはずされた場合の処理を説明するためのタイムチャートである。
【図１８】第１漏れ判定及び第２漏れ判定を説明するためのタイムチャートである。
【符号の説明】
【０１３２】
１  内燃機関
２  吸気管
５  電子制御ユニット（第１判定手段、第２判定手段、蒸発燃料パラメータ算出手段、最終判定手段）
９  燃料タンク
１５  圧力センサ（圧力検出手段）
３１  チャージ通路（第１の通路）
３２  パージ通路（第２の通路）
３３  キャニスタ
３４  パージ制御弁
３６  バイパス弁
３７  空気通路
３８  ベントシャット弁
４０  蒸発燃料処理装置
４２  イグニッションスイッチ（機関停止検出手段）
【図１】
2006077595.tif 000005
【図２】
2006077595.tif 000006
【図３】
2006077595.tif 000007
【図４】
2006077595.tif 000008
【図５】
2006077595.tif 000009
【図６】
2006077595.tif 000010
【図７】
2006077595.tif 000011
【図８】
2006077595.tif 000012
【図９】
2006077595.tif 000013
【図１０】
2006077595.tif 000014
【図１１】
2006077595.tif 000015
【図１２】
2006077595.tif 000016
【図１３】
2006077595.tif 000017
【図１４】
2006077595.tif 000018
【図１５】
2006077595.tif 000019
【図１６】
2006077595.tif 000020
【図１７】
2006077595.tif 000021
【図１８】
2006077595.tif 000022