(57)【要約】【課題】比較的短時間で正確な故障診断を行うことができる燃料レベル検出器の故障診断装置を提供する。【解決手段】燃料レベルセンサ出力ＦＬＥＶＥＬのなまし値である第２燃料レベルＦＬＥＶＥＬＲ及び燃料タンク内圧ＰＴＡＮＫのなまし値ＰＥＯＮＶＡＶＥに基づいて、給油判定が行われる（Ｓ１３４，Ｓ１３９）。給油中と判定されると（Ｓ１４５）、第２燃料レベルＦＬＥＶＥＬＲの増加速度ＤＦＬＥＶＥＬに基づいて、燃料レベルセンサ４０の異常診断が行われる。【選択図】  図８
2004205306.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関に燃料を供給する燃料タンク内の燃料レベルを検出する燃料レベル検出器の出力の変化度合に基づいて、該燃料レベル検出器の異常診断を行う異常診断手段を備えた、燃料レベル検出器の異常診断装置において、
前記燃料タンク内の圧力を検出する圧力検出手段と、
前記燃料レベル検出器の出力及び前記圧力検出手段の出力に基づいて前記燃料タンクへの給油を判定する給油判定手段とを備え、
前記異常診断手段は、前記給油判定手段により給油中と判定されたときに、前記燃料レベル検出器の出力の変化度合に基づいて、前記燃料レベル検出器の異常を診断することを特徴とする燃料レベル検出器の異常診断装置。
【請求項２】
前記異常診断手段は、前記機関が停止している期間において、前記異常診断を実行することを特徴とする請求項１に記載の燃料レベル検出器の異常診断装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関に燃料を供給する燃料タンク内の燃料レベルを検出する燃料レベル検出器の異常診断装置に関する。
【０００２】
【従来の技術】
内燃機関に燃料を供給する燃料タンク内の燃料レベルを検出する燃料レベル検出器の異常診断装置は、例えば特許文献１に示されている。この装置では、燃料タンクから燃料噴射弁を介して内燃機関に供給される燃料量を積算し、その燃料量積算値と、燃料レベル検出器の出力とを比較することにより、燃料レベル検出器の異常が判定される。
【０００３】
【特許文献１】
特開平１０−１８４４７９号公報
【０００４】
【発明が解決しようとする課題】
燃料噴射弁から噴射される燃料量は、燃料レベル検出器の感度に比べて小さい。したがって、上記従来の装置では、燃料レベル検出器の出力の変化が正確に検出できる程度に燃料量積算値が達するまでにかなりの時間を要し、異常判定に時間がかかるという課題があった。
【０００５】
本発明はこの点に着目してなされたものであり、比較的短時間で正確な故障診断を行うことができる燃料レベル検出器の故障診断装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため請求項１に記載の発明は、内燃機関に燃料を供給する燃料タンク内の燃料レベルを検出する燃料レベル検出器の出力（ＦＬＥＶＥＬ）の変化度合に基づいて、該燃料レベル検出器の異常診断を行う異常診断手段を備えた、燃料レベル検出器の異常診断装置において、前記燃料タンク内の圧力（ＰＴＡＮＫ）を検出する圧力検出手段と、前記燃料レベル検出器の出力（ＦＬＥＶＥＬ）及び前記圧力検出手段の出力（ＰＴＡＮＫ）に基づいて前記燃料タンクへの給油を判定する給油判定手段とを備え、前記異常診断手段は、前記給油判定手段により給油中と判定されたときに、前記燃料レベル検出器の出力（ＦＬＥＶＥＬ）の変化度合に基づいて、前記燃料レベル検出器の異常を診断することを特徴とする。
【０００７】
この構成によれば、燃料レベル検出器の出力及び圧力検出手段の出力に基づいて燃料タンクへの給油が判定され、給油中と判定されたときに、燃料レベル検出器の出力の変化度合に基づいて、燃料レベル検出器の異常が診断される。燃料レベル検出器の出力及び圧力検出手段の出力に基づいて燃料タンクへの給油を判定することにより、正確な給油判定が可能となり、また給油中に異常診断を行うことにより、迅速に診断することが可能となる。
【０００８】
請求項２に記載の発明は、請求項１に記載の燃料レベル検出器の異常診断装置において、前記異常診断手段は、前記機関が停止している期間において、前記異常診断を実行することを特徴とする。
この構成によれば、機関が停止しているときに異常診断が実行されるので、燃料タンク内の燃料レベルの変動の影響を排除し、正確な判定を行うことができる。
【０００９】
より具体的には、給油時における燃料レベル検出器出力の増加速度（ＤＦＬＥＶＥＬ）が、所定上限速度（ＤＦＬＲＦＬＨ）より高い状態、または所定下限速度（ＤＦＬＲＦＬＬ）より低い状態が所定判定時間（ＣＴＲＦＷＡＩＴ）より長く継続したとき、燃料レベル検出器が異常である判定することが望ましい。
【００１０】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
図１は、本発明の一実施形態に係る内燃機関の制御装置の構成を示す図である。同図において、１は例えば４気筒を有する内燃機関（以下単に「エンジン」という）であり、エンジン１の吸気管２の途中にはスロットル弁３が配されている。また、スロットル弁３にはスロットル弁開度（ＴＨＡ）センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力して電子コントロールユニット（以下「ＥＣＵ」という）５に供給する。
【００１１】
燃料噴射弁６は、吸気管２の途中であってエンジン１とスロットル弁３との間の図示しない吸気弁の少し上流側に各気筒毎に設けられている。また、各燃料噴射弁６は燃料供給管７を介して燃料タンク９に接続されており、燃料供給管７の途中には燃料ポンプ８が設けられている。燃料タンク９は給油のための給油口１０を有しており、給油口１０にはフィラーキャップ１１が取付けられている。
【００１２】
燃料噴射弁６はＥＣＵ５に電気的に接続され、該ＥＣＵ５からの信号によりその開弁時間が制御される。吸気管２のスロットル弁３の下流側には吸気管内絶対圧ＰＢＡを検出する吸気管内絶対圧（ＰＢＡ）センサ１３、及び吸気温ＴＡを検出する吸気温（ＴＡ）センサ１４が装着されている。
【００１３】
エンジン１の図示しないカム軸周囲又はクランク軸周囲にはエンジン回転数を検出するエンジン回転数（ＮＥ）センサ１７が取付けられている。エンジン回転数センサ１７はエンジン１のクランク軸の１８０度回転毎に所定のクランク角度位置でパルス（ＴＤＣ信号パルス）を出力する。エンジン１の冷却水温ＴＷを検出するエンジン水温センサ１８及びエンジン１の排気中の酸素濃度を検出する酸素濃度センサ（以下「ＬＡＦセンサ」という）１９が設けれられており、これらのセンサ１３〜１９の検出信号はＥＣＵ５に供給される。ＬＡＦセンサ１９は、排気中の酸素濃度（エンジン１に供給される混合気の空燃比）にほぼ比例する信号を出力する広域空燃比センサとして機能するものである。
【００１４】
ＥＣＵ５にはさらに、外気温ＴＡＴを検出する外気温センサ４２、エンジン１により駆動される車両の車速ＶＰを検出する車速センサ４３、各種センサ、電磁弁、及び当該ＥＣＵ５に電源を供給するバッテリの出力電圧ＶＢを検出するバッテリ電圧センサ４４、及びイグニッションスイッチ４５が接続されており、これらのセンサの検出信号及びイグニッションスイッチ４５の切替信号がＥＣＵ５に供給される。
【００１５】
燃料タンク９は、チャージ通路３１を介してキャニスタ３３に接続され、キャニスタ３３は、吸気管２のスロットル弁３の下流側にパージ通路３２を介して接続されている。
チャージ通路３１には、二方向弁３５が設けられている。二方向弁３５は、燃料タンク９内の圧力が大気圧より第１所定圧（例えば２．７ｋＰａ（２０ｍｍＨｇ））以上高いとき開弁する正圧弁と、燃料タンク９内の圧力がキャニスタ３３内の圧力より第２所定圧以上低いとき開弁する負圧弁とからなる。
【００１６】
二方向弁３５をバイパスするバイパス通路３１ａが設けられており、バイパス通路３１ａには、バイバス弁（開閉弁）３６が設けられている。バイパス弁３６は、通常は閉弁状態とされ、後述する故障診断実行中開閉される電磁弁であり、その動作はＥＣＵ５により制御される。
【００１７】
チャージ通路３１には、二方向弁３５と燃料タンク９との間に圧力センサ１５が設けられており、その検出信号はＥＣＵ５に供給される。圧力センサ１５の出力ＰＴＡＮＫは、キャニスタ３３及び燃料タンク９内の圧力が安定している定常状態では、燃料タンク内の圧力に等しくなるが、キャニスタ３３または燃料タンク９内の圧力が変化しているとき、実際のタンク内圧とは異なる圧力を示す。以下の説明では、圧力センサ１５の出力を「タンク内圧ＰＴＡＮＫ」という。
【００１８】
キャニスタ３３は、燃料タンク９内の蒸発燃料を吸着するための活性炭を内蔵する。キャニスタ３３には、空気通路３７が接続されており、キャニスタ３３は空気通路３７を介して大気に連通可能となっている。
空気通路３７の途中にはベントシャット弁（開閉弁）３８が設けられている。ベントシャット弁３８は、ＥＣＵ５によりその作動が制御される電磁弁であり、給油時またはパージ実行中に開弁される。またベントシャット弁３８は、後述する故障診断実行時に開閉される。ベントシャット弁３８は、駆動信号が供給されないときは、開弁する常開型の電磁弁である。
【００１９】
パージ通路３２のキャニスタ３３と吸気管２との間には、パージ制御弁３４が設けられている。パージ制御弁３４は、その制御信号のオン−オフデューティ比（制御弁の開度）を変更することにより流量を連続的に制御することができるように構成された電磁弁であり、その作動はＥＣＵ５により制御される。
【００２０】
燃料タンク９には、燃料タンク内の気層（空気と蒸発燃料とからなる混合気層）の温度を検出する気層温度検出手段としての気層温度センサ３９、及び燃料タンク９内の燃料量を検出する燃料レベルセンサ（燃料レベル検出器）４０が設けられている。気層温度センサ３９及び燃料レベルセンサ４０の検出信号は、ＥＣＵ５に供給される。
【００２１】
燃料タンク９、チャージ通路３１、バイパス通路３１ａ、キャニスタ３３、パージ通路３２、二方向弁３５、バイパス弁３６、パージ制御弁３４、空気通路３７、及びベントシャット弁３８により、蒸発燃料処理装置４１が構成される。
本実施形態では、イグニッションスイッチ４５がオフされても、後述する故障診断を実行する期間中は、圧力センサ１５、燃料レベルセンサ４０、ＥＣＵ５、バイパス弁３６及びベントシャット弁３８には電源が供給される。なおパージ制御弁３４は、イグニッションスイッチ４５がオフされると、電源が供給されなくなり、閉弁状態を維持する。
【００２２】
燃料タンク９の給油時に蒸発燃料が大量に発生すると、二方向弁３５が開弁し、キャニスタ３３に蒸発燃料が貯蔵される。エンジン１の所定運転状態において、パージ制御弁３４のデューティ制御が行われ、適量の蒸発燃料がキャニスタ３３から吸気管２に供給される。
【００２３】
ＥＣＵ５は各種センサ等からの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、ＣＰＵで実行される演算プログラム及び演算結果等を記憶する記憶回路のほか、燃料噴射弁６、パージ制御弁３４、バイパス弁３６及びベントシャット弁３８に駆動信号を供給する出力回路等から構成される。
【００２４】
ＥＣＵ５のＣＰＵは、エンジン回転数センサ１７、吸気管内絶対圧センサ１３、エンジン水温センサ１８などの各種センサの出力信号に応じてエンジン１に供給する燃料量制御、パージ制御弁のデューティ制御、蒸発燃料処理装置４１の故障診断、及び燃料レベルセンサ４０の異常診断を行う。
【００２５】
図２は、エンジン停止後に実行される故障診断を説明するためのタイムチャートである。なお、タンク内圧ＰＴＡＮＫは実際には絶対圧として検出されるが、図２では大気圧を基準とした差圧で示されている。
エンジンが停止すると、バイパス弁（ＢＰＶ）３６が開弁され、ベントシャット弁（ＶＳＶ）３８の開弁状態が維持される（時刻ｔ１）。これにより、蒸発燃料処理装置４１が大気に開放され、タンク内圧ＰＴＡＮＫは大気圧と等しくなる。なお、パージ制御弁３４はエンジン停止時に閉弁する。
【００２６】
時刻ｔ２から第１判定モードが開始される。すなわち、ベントシャット弁３８が閉弁され、蒸発燃料処理装置４１が閉じた状態とされる。この状態は第１判定時間ＴＰＨＡＳＥ１（例えば９００秒）に亘って維持される。タンク内圧ＰＴＡＮＫは破線Ｌ１で示すように第１所定タンク内圧ＰＴＡＮＫ１（例えば大気圧＋１．３ｋＰａ（１０ｍｍＨｇ））を越えて上昇したときは、直ちに蒸発燃料処理装置４１は正常（漏れが無い）と判定される（時刻ｔ３）。タンク内圧ＰＴＡＮＫが実線Ｌ２で示すように変化したときは、最大タンク内圧ＰＴＡＮＫＭＡＸが記憶される（時刻ｔ４）。
【００２７】
次にベントシャット弁３８が開弁され（時刻ｔ４）、蒸発燃料処理装置が大気に開放される。
時刻ｔ５から第２判定モードが開始される。すなわちベントシャット弁３８が閉弁され、この状態が第２判定時間ＴＰＨＡＳＥ２（例えば２４００秒）に亘って維持される。タンク内圧ＰＴＡＮＫが破線Ｌ３で示すように第２所定タンク内圧ＰＴＡＮＫ２（例えば大気圧−１．３ｋＰａ（１０ｍｍＨｇ））より低くなったときは（時刻ｔ６）、直ちに蒸発燃料処理装置４１は正常（漏れが無い）と判定される。タンク内圧ＰＴＡＮＫが実線Ｌ４で示すように変化したときは、最小タンク内圧ＰＴＡＮＫＭＩＮが記憶される（時刻ｔ７）。
【００２８】
時刻ｔ７においてバイパス弁３６が閉弁されるとともに、ベントシャット弁３８が開弁される。記憶した最大タンク内圧ＰＴＡＮＫＭＡＸと最小タンク内圧ＰＴＡＮＫＭＩＮとの圧力差ΔＰが判定閾値ΔＰＴＨより大きいときは、蒸発燃料処理装置４１は正常と判定され、圧力差ΔＰが判定閾値ΔＰＴＨ以下であるときは、蒸発燃料処理装置４１は故障した（漏れが有る）と判定される。漏れが有る場合には、タンク内圧ＰＴＡＮＫは大気圧からの変化量が小さくなり、圧力差ΔＰが小さくなるからである。
【００２９】
図３は、故障診断許可フラグＦＤＥＴの設定を行う処理のフローチャートである。この処理は、所定時間（例えば１００ミリ秒）毎にＥＣＵ５のＣＰＵで実行される。
ステップＳ１１では、今回イグニッションスイッチ４５がオフされたか否かを判別し、オフされたときは、異常検出フラグＦＣＳが「１」であるか否かを判別する（ステップＳ１２）。異常検出フラグＦＣＳは、図６の処理により、圧力センサ１５の断線若しくはショート、バイパス弁３６の断線若しくはショート、またはベントシャット弁３８の断線若しくはショートが検出されたとき、「１」に設定される。
【００３０】
ＦＣＳ＝１であるときは、ステップＳ１８に進み、故障診断許可フラグＦＤＥＴが「０」に設定され、故障診断が禁止される。ＦＣＳ＝０であるときは、前回（本処理の前回実行時において）エンジン１が作動していたか否かを判別する（ステップＳ１３）。この答が肯定（ＹＥＳ）であってエンジン停止直後であるときは、外気温センサ４２の検出値ＴＡＴを読み込み（ステップＳ１４）、次いで気層温度センサ３９の検出値ＴＴＧを読み込む（ステップＳ１５）。
【００３１】
続くステップＳ１６では、気層温度ＴＴＧと外気温ＴＡＴとの差（ＴＴＧ−ＴＡＴ）が所定温度差ΔＴ１（例えば５℃）より大きいか否かを判別する。この答が否定（ＮＯ）であるとき、すなわち気層温度ＴＴＧと外気温ＴＡＴとの差が小さいときは、故障診断を実行すると誤判定を起こす可能性が高いので、ステップＳ１８に進み、故障診断を禁止する。一方ステップＳ１６の答が肯定（ＹＥＳ）であるときは、故障診断許可フラグＦＤＥＴが「１」に設定され（ステップＳ１７）、故障診断が許可される。
【００３２】
ステップＳ１１またはステップＳ１３の答が否定（ＮＯ）であるときは、給油判定フラグＦＲＥＦＵＥＬが「１」であるか否かを判別する（ステップＳ１９）。給油判定フラグは、後述する図８の処理で給油中と判定されたとき「１」に設定される（ステップＳ１４５）。ＦＲＥＦＵＥＬ＝０であるときは、直ちに本処理を終了し、ＦＲＥＦＵＥＬ＝１であって給油中であるときは、前記ステップＳ１８に進み、故障診断を禁止する。
【００３３】
図３の処理により、気層温度ＴＴＧと外気温ＴＡＴとの差（ＴＴＧ−ＴＡＴ）が所定温度差ΔＴ１以下であるときは、エンジン停止後の故障診断を禁止するようにしたので、誤判定を防止し判定精度を高めることができる。
【００３４】
図４及び５は故障診断を実行する処理のフローチャートである。この処理は、所定時間（例えば１００ミリ秒）毎にＥＣＵ５のＣＰＵで実行される。
ステップＳ２１では、エンジン１が停止したか否かを判別する。エンジン１が作動中であるときは、第１アップカウントタイマＴＭ１の値を「０」にセットするとともに、大気開放フラグＦＰＲＥＳＷＴを「０」に設定し（ステップＳ２３）、本処理を終了する。大気開放フラグＦＰＲＥＳＷＴは、ベントシャット弁３８及びバイパス弁３６がともに開弁され、蒸発燃料処理装置４１が大気に開放されているとき、「１」に設定される（ステップＳ２５参照）。
【００３５】
エンジン１が停止すると、ステップＳ２１からステップＳ２２に進み、故障診断許可フラグＦＤＥＴが「１」であるか否かを判別する。ＦＤＥＴ＝０であるときは前記ステップＳ２３に進み、ＦＤＥＴ＝１であるときは、第１アップカウントタイマＴＭ１の値が第１大気開放時間ＴＯＴＡ１（例えば１２０秒）を越えたか否かを判別する（ステップＳ２４）。最初はこの答は否定（ＮＯ）であるので、バイパス弁３６を開弁し、ベントシャット弁３８の開弁状態を維持する（ステップＳ２５）（図２，時刻ｔ１）。このとき、大気開放フラグＦＰＲＥＳＷＴを「１」に設定する。次いで第２アップカウントタイマＴＭ２の値を「０」に設定し（ステップＳ２６）、本処理を終了する。
【００３６】
第１アップカウントタイマＴＭ１の値が第１大気開放時間ＴＯＴＡ１に達すると（時刻ｔ２）、ステップＳ２４からステップＳ２７に進み、第２アップカウントタイマＴＭ２の値が第１判定時間ＴＰＨＡＳＥ１より大きいか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ベントシャット弁３８を閉弁するとともに、大気開放フラグＦＰＲＥＳＷＴを「０」に戻し（ステップＳ２８）、タンク内圧ＰＴＡＮＫが第１所定タンク内圧ＰＴＡＮＫ１より高いか否かを判別する（ステップＳ２９）。最初はこの答は否定（ＮＯ）となるので、第３アップカウントタイマＴＭ３の値を「０」に設定し（ステップＳ３１）、タンク内圧ＰＴＡＮＫが最大タンク内圧ＰＴＡＮＫＭＡＸより高いか否かを判別する（ステップＳ３２）。最大タンク内圧ＰＴＡＮＫＭＡＸの初期値は、大気圧より低い値に設定されているため、最初はこの答は肯定（ＹＥＳ）となり、そのときのタンク内圧ＰＴＡＮＫが最大タンク内圧ＰＴＡＮＫＭＡＸに設定される（ステップＳ３３）。ステップＳ３２の答が否定（ＮＯ）であるときは、直ちに本処理を終了する。ステップＳ３２及びＳ３３により、第１判定モードにおける最大タンク内圧ＰＴＡＮＫＭＡＸが得られる。
【００３７】
ステップＳ２９の答が肯定（ＹＥＳ）となったときは（図２，破線Ｌ１，時刻ｔ３参照）、タンク内圧ＰＴＡＮＫの上昇が大きいので蒸発燃料処理装置４１は正常（漏れは無い）と判定し（ステップＳ３０）、故障診断を終了する。
第２アップカウントタイマＴＭ２の値が第１判定時間ＴＰＨＡＳＥ１に達すると（時刻ｔ４）、ステップＳ２７からステップＳ３４に進む。ステップＳ３４では、第３アップカウントタイマＴＭ３の値が第２大気開放時間ＴＯＴＡ２（例えば１２０秒）より大きいか否かを判別する。この答は最初は否定（ＮＯ）であるので、ベントシャット弁３８を開弁するとともに、大気開放フラグＦＰＲＥＳＷＴを「１」に設定する（ステップＳ３５）。次いで、第４アップカウントタイマＴＭ４の値を「０」に設定し（ステップＳ３６）、本処理を終了する。
【００３８】
第３アップカウントタイマＴＭ３の値が第２大気開放時間ＴＯＴＡ２に達すると（時刻ｔ５）、ステップＳ３４からステップＳ４１（図５）に進み、第４アップカウントタイマＴＭ４の値が第２判定時間ＴＰＨＡＳＥ２より大きいか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ベントシャット弁３８を閉弁するとともに、大気開放フラグＦＰＲＥＳＷＴを「０」に戻し（ステップＳ４２）、タンク内圧ＰＴＡＮＫが第２所定タンク内圧ＰＴＡＮＫ２より低いか否かを判別する（ステップＳ４３）。最初はこの答は否定（ＮＯ）となるので、タンク内圧ＰＴＡＮＫが最小タンク内圧ＰＴＡＮＫＭＩＮより低いか否かを判別する（ステップＳ４５）。最小タンク内圧ＰＴＡＮＫＭＩＮの初期値は、大気圧より高い値に設定されているため、最初はこの答は肯定（ＹＥＳ）となり、そのときのタンク内圧ＰＴＡＮＫが最小タンク内圧ＰＴＡＮＫＭＩＮに設定される（ステップＳ４６）。ステップＳ４５の答が否定（ＮＯ）であるときは、直ちに本処理を終了する。ステップＳ４５及びＳ４６により、第２判定モードにおける最小タンク内圧ＰＴＡＮＫＭＩＮが得られる。
【００３９】
ステップＳ４３の答が肯定（ＹＥＳ）となったときは（図２，破線Ｌ３，時刻ｔ６参照）、タンク内圧ＰＴＡＮＫの減少が大きいので蒸発燃料処理装置４１は正常（漏れは無い）と判定し（ステップＳ４４）、故障診断を終了する。
第４アップカウントタイマＴＭ４の値が第２判定時間ＴＰＨＡＳＥ２に達すると（時刻ｔ７）、バイパス弁３６を閉弁するとともにベントシャット弁３８を開弁する（ステップＳ４７）。次いで最大タンク内圧ＰＴＡＮＫＭＡＸと最小タンク内圧ＰＴＡＮＫＭＩＮとの圧力差ΔＰ（ＰＴＡＮＫＭＡＸ−ＰＴＡＮＫＭＩＮ）を算出し（ステップＳ４８）、圧力差ΔＰが判定閾値ΔＰＴＨより大きいか否かを判別する（ステップＳ４９）。その結果、ΔＰ＞ΔＰＴＨであるときは、蒸発燃料処理装置４１は正常と判定して故障診断を終了し（ステップＳ５０）、ΔＰ≦ΔＰＴＨであるときは、蒸発燃料処理装置４１は故障した（漏れが有る）と判定して故障診断を終了する（ステップＳ５１）。
【００４０】
図６は、異常検出フラグＦＣＳの設定を行う処理のフローチャートである。この処理は、ＥＣＵ５のＣＰＵで所定時間（例えば１００ミリ秒）毎に実行される。
ステップＳ６１では、図４及び５の故障診断処理を実行しているか否かを判別し、実行してないときは直ちに本処理を終了する。故障診断処理を実行しているときは、ステップＳ６２〜Ｓ８１の処理を実行する。
【００４１】
ステップＳ６２では、圧力センサ１５の断線・ショート検知処理を実行する。この処理では、圧力センサ１５の出力電圧及び出力電流から、断線またはショートの発生が検出される。ステップＳ６３では、バイパス弁３６の断線・ショート検知処理を実行する。この処理では、バイパス弁３６の入力電圧及び入力電流から、断線またはショートの発生が検出される。ステップＳ６４では、ベントシャット弁３８の断線・ショート検知処理を実行する。この処理では、ベントシャット弁３８の入力電圧及び入力電流から、断線またはショートの発生が検出される。
【００４２】
次いで圧力センサ１５の断線が検出されたか否かを判別し（ステップＳ６５）、検出されていないときは圧力センサ１５のショートが検出されたか否かを判別する（ステップＳ６６）。この答が否定（ＮＯ）であるときは、バイパス弁３６の断線が検出されたか否かを判別し（ステップＳ６７）、検出されていないときはバイパス弁３６のショートが検出されたか否かを判別する（ステップＳ６８）。この答が否定（ＮＯ）であるときは、ベントシャット弁３８の断線が検出されたか否かを判別し（ステップＳ６９）、検出されていないときはベントシャット弁３８のショートが検出されたか否かを判別する（ステップＳ７０）。
【００４３】
そして、ステップＳ６５〜Ｓ７０のいずれかの答が肯定（ＹＥＳ）であるときは、異常検出フラグＦＣＳを「１」に設定し（ステップＳ８１）、ステップＳ６５〜Ｓ７０の全ての答が否定（ＮＯ）であるときは、異常検出フラグＦＣＳを「０」に設定する（ステップＳ８０）。
【００４４】
このように、故障診断の実行に直接関わる圧力センサ１５、バイパス弁３６及びベントシャット弁３８の断線またはショートが検出されたときは、異常検出フラグＦＣＳが「１」に設定され、故障診断が禁止されるので、圧力センサ１５、バイパス弁３６またはベントシャット弁３８の故障によって、誤判定が発生することを防止することができる。
【００４５】
図７は、燃料レベルセンサ出力ＦＬＥＶＥＬに基づいて、センサ出力ＦＬＥＶＥＬのなまし値である第１燃料レベルＦＬＥＶＥＬＦ及び第２燃料レベルＦＬＥＶＥＬＲを算出する処理のフローチャートである。この処理は、所定時間（例えば１００ミリ秒）毎にＥＣＵ５のＣＰＵで実行される。
【００４６】
ステップＳ１１０では、イグニッションスイッチがオフか否かを判別し、オフであるときは、ステップＳ１１１をスキップしてステップＳ１１２に進む。イグニッションスイッチがオンであるときは、エンジン１が始動モードにあるか、すなわちクランキング中であるか否かを判別する（ステップＳ１１１）。例えば、エンジン回転数ＮＥが所定回転数（例えば５００ｒｐｍ）より低いとき、始動モードにあると判別される。エンジン１が始動モードにあるときは、燃料レベルの算出条件が成立していないと判定し、条件フラグＦＬＶＬＣＮＤを「０」に設定して（ステップＳ１１３）、本処理を終了する。エンジン１が始動モードにないときは、ステップＳ１１２に進む。
【００４７】
ステップＳ１１２では、バッテリ電圧ＶＢが所定電圧ＶＢＸ（例えば１０．５）以下であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、燃料レベル算出条件不成立と判定し、前記ステップＳ１１３に進む。ＶＢ＞ＶＢＸであるときは、燃料レベル算出条件が成立していると判定し、条件フラグＦＬＶＬＣＮＤを「１」に設定する（ステップＳ１１４）。ステップＳ１１５では、前記異常検出フラグＦＣＳが「１」であるか否かを判別し、ＦＣＳ＝１であるときは、初期フラグＦＬＶＬＩＮＩＴを「０」に設定するとともに、第１燃料レベルＦＬＥＶＥＬＦ及び第２燃料レベルＦＬＥＶＥＬＲを、それぞれ所定値ＦＬＥＶＥＬＤに設定する（ステップＳ１１６，Ｓ１１７，Ｓ１１８）。
【００４８】
ステップＳ１１５でＦＣＳ＝０であって、圧力センサ１５などの異常が検出されていないときは、エンジン１の始動時からの経過時間を計時するアップカウントタイマＴＧＰＯＮの値が所定時間ＴＭＦＬＶＬＤＹ（例えば２秒）以上であるか否かを判別する（ステップＳ１１９）。この答が否定（ＮＯ）であるときは、第１燃料レベルＦＬＥＶＥＬＦ及び第２燃料レベルＦＬＥＶＥＬＲをともに燃料レベルセンサ出力ＦＬＥＶＥＬに設定する（ステップＳ１２０，Ｓ１２１）。
【００４９】
ステップＳ１１９の答が肯定（ＹＥＳ）、すなわちエンジン１の始動時から所定時間ＴＭＦＬＶＬＤＹが経過したときは、初期フラグＦＬＶＬＩＮＩＴが「１」であるか否かを判別する（ステップＳ１２２）。最初はこの答は否定（ＮＯ）であるので、初期フラグＦＬＶＬＩＮＩＴを「１」に設定し（ステップＳ１２３）、前記ステップＳ１２０に進む。初期フラグＦＬＶＬＩＮＩＴが「１」に設定されると、ステップＳ１２２からステップＳ１２４に進み、下記式（１）により第１燃料レベルＦＬＥＶＥＬＦを算出する。
ＦＬＥＶＥＬＦ＝ＣＦＬＦ×ＦＬＥＶＥＬ（ｋ）
＋（１−ＣＦＬＦ）×ＦＬＥＶＥＬＦ（ｋ−１）  （１）
【００５０】
ここで、ＣＦＬＦは０から１の間の値に設定される第１なまし係数、ＦＬＥＶＥＬ（ｋ）は、燃料レベルセンサ出力の今回値、ＦＬＥＶＥＬＦ（ｋ−１）は第１燃料レベルの前回算出値である。
【００５１】
ステップＳ１２５では、下記式（２）により、第２燃料レベルＦＬＥＶＥＬＲを算出する。
ＦＬＥＶＥＬＲ＝ＣＦＬＲ×ＦＬＥＶＥＬ（ｋ）
＋（１−ＣＦＬＲ）×ＦＬＥＶＥＬＲ（ｋ−１）  （２）
ここで、ＣＦＬＲは０から１の間の値に設定され、且つ第１なまし係数ＣＦＬＦより大きな値に設定される第２なまし係数、ＦＬＥＶＥＬＲ（ｋ−１）は第２燃料レベルの前回算出値である。
【００５２】
図８及び図９は、燃料レベルセンサの異常判定処理のフローチャートである。この処理は、所定時間（例えば１００ミリ秒）毎にＥＣＵ５のＣＰＵで実行される。
【００５３】
ステップＳ１３０では、イグニッションスイッチがオフであるか否かを判別し、この答が否定（ＮＯ）、すなわちイグニッションスイッチがオンであるときは、直ちに本処理を終了する。イグニッションスイッチがオフされると、ステップＳ１３１に進み、給油判定フラグＦＲＥＦＵＥＬが「１」であるか否かを判別する。給油判定フラグＦＲＥＦＵＥＬは、本処理において給油中と判定されたとき、「１」に設定される（ステップＳ１４５）。最初はこの答は否定（ＮＯ）であるので、ステップＳ１３２に進み、タンク内圧ＰＴＡＮＫのなまし値（以下「なましタンク内圧」という）ＰＥＯＮＶＡＶＥを下記式（３）により算出する。
ＰＥＯＮＶＡＶＥ＝ＣＰＴＫ×ＰＴＡＮＫ（ｋ）
＋（１−ＣＰＴＫ）×ＰＥＯＮＶＡＶＥ（ｋ−１）  （３）
ここで、ＣＰＴＫは０から１の間の値に設定されるなまし係数、ＰＴＡＮＫ（ｋ）は、圧力センサ１５の出力の今回値、ＰＥＯＮＶＡＶＥ（ｋ−１）はなましタンク内圧の前回算出値である。
【００５４】
ステップＳ１３３では、燃料レベルセンサ４０の異常検知フラグＦＦＳＰＦＬＶＬが「１」であるか否かを判別する。この異常検知フラグＦＦＳＰＦＬＶＬは、図示しない処理により、燃料レベルセンサ４０の断線、ショートまたは可動部の固着が検出されたとき、「１」に設定される。ＦＦＳＰＦＬＶＬ＝１であるときは、ステップＳ１３４をスキップして、ステップＳ１３５に進む。
【００５５】
ＦＦＳＰＦＬＶＬ＝０であるときは、第２燃料レベルＦＬＥＶＥＬＲから初期燃料レベルＦＬＶＬＥ０を減算した値が、所定レベル変化量ＤＦＬＲＦＵＥＬ以上であるか否かを判別する（ステップＳ１３４）。ここで、初期燃料レベルＦＬＶＬＥ０は、イグニッションスイッチがオフされた時点の燃料レベルセンサ出力ＦＬＥＶＥＬに設定されている。ステップＳ１３４の答が肯定（ＹＥＳ）であって、現在の第２燃料レベルＦＬＥＶＥＬＲが初期燃料レベルＦＬＶＬＥ０から所定レベル変化量ＤＦＬＲＦＵＥＬ以上増加したときは、給油中と判定し、給油判定フラグＦＲＥＦＵＥＬを「１」に設定する。ステップＳ１３４の答が否定（ＮＯ）であって第２燃料レベルＦＬＥＶＥＬＲが大きく増加していないときは、ステップＳ１３５に進む。
【００５６】
ステップＳ１３５では、図４の処理で設定される大気開放フラグＦＰＲＥＳＷＴが「１」であるか否かを判別する。ＦＰＲＥＳＷＴ＝１であって蒸発燃料処理装置が大気に開放されているときは、第１タンク内圧記憶値ＰＴＡＮＫＲＦ１及び第２タンク内圧記憶値ＰＴＡＮＫＲＦ２をともに、その時点のなましタンク内圧ＰＥＯＮＶＡＶＥに設定する（ステップＳ１３６，Ｓ１３７）。次いでカウンタＣＲＥＦＵＥＬに所定カウント値ＣＴＲＥＦＵＥＬ（例えば１秒に相当する値）を設定し（ステップＳ１３８）、本処理を終了する。
【００５７】
ステップＳ１３５でＦＰＲＥＳＷＴ＝０であって蒸発燃料処理装置が大気に開放されていないときは、その時点のなましタンク内圧ＰＥＯＮＶＡＶＥと、第２タンク内圧記憶値ＰＴＡＮＫＲＦ２との差の絶対値が、所定圧力変化量ＤＰＲＥＦＵＥＬ以上か否かを判別する（ステップＳ１３９）。最初はこの答は否定（ＮＯ）となるので、ステップＳ１４０に進み、カウンタＣＲＥＦＵＥＬの値が、前記所定カウント値ＣＴＲＥＦＵＥＬ以上か否かを判別する。カウンタＣＲＥＦＵＥＬは、ステップＳ１３０において所定カウント値ＣＴＲＥＦＵＥＬに設定されているので、最初はこの答は肯定（ＹＥＳ）となる。したがって、ステップＳ１４１に進み、第２タンク内圧記憶値ＰＴＡＮＫＲＦ２を第１タンク内圧記憶値ＰＴＡＮＫＲＦ１に設定する。次いで、第１タンク内圧記憶値ＰＴＡＮＫＲＦ１をその時点のなましタンク内圧ＰＥＯＮＶＡＶＥに設定する（ステップＳ１４２）とともに、カウンタＣＲＥＦＵＥＬの値を「０」にリセットする（ステップＳ１４３）。
【００５８】
ステップＳ１４３が実行されると、ステップＳ１３９の答が否定（ＮＯ）である間は、ステップＳ１４０からステップＳ１４４に進み、カウンタＣＲＥＦＵＥＬを「１」だけインクリメントする。そしてその後は、カウンタＣＲＥＦＵＥＬの値が所定カウント値ＣＴＲＥＦＵＥＬに達する毎に、ステップＳ１４０からステップＳ１４１に進む。
【００５９】
ステップＳ１３９の答が肯定（ＹＥＳ）となったとき、すなわちカウンタＣＲＥＦＵＥＬの値が所定カウント値ＣＴＲＥＦＵＥＬに達するまでの期間内に、なましタンク内圧ＰＥＯＮＶＡＶＥが第２タンク内圧記憶値ＰＴＡＮＫＲＦ２から大きく変化したときは、給油中であると判定し、前記ステップＳ１４５に進む。
【００６０】
給油判定フラグＦＲＥＦＵＥＬが「１」に設定されると、ステップＳ１３１からステップＳ１５１（図９）に進み、正常判定フラグＦＲＦＲＡＴＤＮが「１」であるか否かを判別する（ステップＳ１５１）。最初はこの答は否定（ＮＯ）となるので、ステップＳ１５２に進み、経過時間カウンタＣＲＦＷＡＩＴの値がＮＧ判定値ＣＴＲＦＷＡＩＴ（例えば１８０秒に相当する値）より大きいか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ１５３に進み、下記式（４）に第２燃料レベルＦＬＥＶＥＬＲ、初期燃料レベルＦＬＶＬＥ０及び経過時間カウンタＣＲＦＷＡＩＴのカウント値を適用し、燃料レベル変化率ＤＦＬＥＶＥＬを算出する。
ＤＦＬＥＶＥＬ＝（ＦＬＥＶＥＬＲ−ＦＬＶＬＥ０）／ＣＲＦＷＡＩＴ（４）
【００６１】
ステップＳ１５４では、燃料レベル変化率ＤＦＬＥＶＥＬが、所定下限値ＤＦＬＲＦＬＬ（例えば１５．１４リットル（４ガロン）／分に相当する値）以上で、かつ所定上限値ＤＦＬＲＦＬＨ（例えば４５．４２リットル（１２ガロン）／分に相当する値）以下であるか否かを判別する。この答が否定（ＮＯ）であって燃料レベル変化率ＤＦＬＥＶＥＬが所定上下限値の範囲内にないときは、ＯＫ判定カウンタＣＲＦＲＡＴの値を「０」に設定し（ステップＳ１５５）、経過時間カウンタＣＲＦＷＡＩＴを「１」だけインクリメントして（ステップＳ１５９）、本処理を終了する。
【００６２】
ステップＳ１５４の答が肯定（ＹＥＳ）であって、燃料レベル変化率ＤＦＬＥＶＥＬが所定上下限値の範囲内にあるときは、ＯＫ判定カウンタＣＲＦＲＡＴを「１」だけインクリメントし（ステップＳ１５６）、そのＯＫ判定カウンタＣＲＦＲＡＴの値がＯＫ判定値ＣＴＲＦＲＡＴ（例えば３０秒に相当する値）より大きいか否かを判別する。最初はこの答は否定（ＮＯ）となるので、前記ステップＳ１５９に進み、経過時間カウンタＣＲＦＷＡＩＴを「１」だけインクリメントして、本処理を終了する。その後、ステップＳ１５４の答が肯定（ＹＥＳ）である状態が継続し、ＯＫ判定カウンタＣＲＦＲＡＴの値がＯＫ判定値ＣＴＲＦＲＡＴを超えると、燃料レベルセンサ４０は正常と判定し、ステップＳ１５７からステップＳ１５８に進んで正常判定フラグＦＲＦＲＡＴＤＮを「１」に設定する。正常判定フラグＦＲＦＲＡＴＤＮが「１」に設定されると、ステップＳ１５１の答が肯定（ＹＥＳ）となり、直ちに本処理を終了する。
【００６３】
一方、正常判定がなされることなく、経過時間カウンタＣＲＦＷＡＩＴの値が、ＮＧ判定値ＣＴＲＦＷＡＩＴを超えると、燃料レベルセンサ４０は異常と判定し、ステップＳ１５２からステップＳ１６０に進み、異常判定フラグＦＲＦＲＡＴＮＧを「１」に設定する。
なお、異常判定がなされたときは、例えば警告ランプを点灯させることにより、当該車両の運転者に警告が発せられる。
【００６４】
図８及び図９の処理によれば、先ず第２燃料レベルＦＬＥＶＥＬＲ及びなましタンク内圧ＰＥＯＮＶＡＶＥに基づいて給油判定が行われ、給油中と判定されたときに、燃料レベル変化率ＤＦＬＥＶＥＬに基づく燃料レベルセンサの異常判定が行われる。より具体的には、燃料レベル変化率ＤＦＬＥＶＥＬが、図１０に示すラインＬ１２に相当する所定下限値ＤＦＬＲＦＬＬ以上で、かつラインＬ１１に相当する所定上限値ＤＦＬＲＦＬＨ以下である正常範囲内に、所定正常判定時間（ＯＫ判定値ＣＴＲＦＲＡＴに対応する時間）以上留まっているとき、燃料レベルセンサ４０は正常であると判定される。また、正常判定がなされないまま、給油判定がなされた時点から所定異常判定時間（ＮＧ判定値ＣＴＲＦＷＡＩＴに対応する時間）が経過したとき、燃料レベルセンサ４０は異常と判定される。
【００６５】
なお、所定上下限値ＤＦＬＲＦＬＨ及びＤＦＬＲＦＬＬは、通常のガソリンスタンドに設けられた給油装置の給油速度に応じて、通常の給油速度、例えば１５．１４リットル／分〜４５．４２リットル／分の範囲内の給油速度で正常判定がなされるように設定されている。
給油判定を、第２燃料レベルＦＬＥＶＥＬＲだけでなく、なましタンク内圧ＰＥＯＮＶＡＶＥも用いて行うことにより、燃料レベルセンサの異常時において第２燃料レベルＦＬＥＶＥＬＲによって正確な給油判定が行えないときでも、正確な給油判定を行うことができる。また、燃料レベル変化率ＤＦＬＥＶＥＬが、正常範囲から外れるときに異常と判定するようにしたので、給油時において燃料レベルセンサ出力が変化しない異常だけでなく、燃料レベルセンサ出力が過大に変化する異常も検出することができる。なお、いずれの場合も、燃料レベルセンサは正常で、ガソリンスタンドの給油装置が異常（給油速度が遅すぎる異常または速すぎる異常）である可能性もある。
【００６６】
本実施形態では、エンジン停止直後に蒸発燃料処理装置の故障診断及び図８の処理による給油判定が行われ、給油中と判定されたときは、蒸発燃料処理装置の故障診断が中止されて（図３，ステップＳ１９参照）、燃料レベルセンサの異常診断（図９の処理）が実行される。図１１は、蒸発燃料処理装置の故障診断と、燃料レベルセンサの異常診断との関係を説明するためのタイムチャートであり、図中のＶＳＶは、ベントシャット弁３８の開閉状態を示す。
【００６７】
同図（ａ）は、給油速度が高い例を示す。この例では、時刻ｔ１１にベントシャット弁３８が閉弁され、その後給油が開始されると、タンク内圧ＰＴＡＮＫ（なましタンク内圧ＰＥＯＮＶＡＶＥ，Ｌ２１）が上昇する。なましタンク内圧ＰＥＯＮＶＡＶＥの上昇により、時刻ｔ１２に給油中であるとの判定がなされる（図８，ステップＳ１３９）。その時点で蒸発燃料処理装置の故障診断は中止され、ベントシャット弁３８が開弁される。したがって、なましタンク内圧ＰＥＯＮＶＡＶＥは低下する。燃料レベルセンサ４０が正常であれば、該センサの出力（第２燃料レベルＦＬＥＶＥＬＲ，Ｌ２２））は、実線Ｌ２２で示すように上昇する。したがって、給油中と判定された時刻ｔ１２から、所定正常判定時間（ＯＫ判定値ＣＴＲＦＲＡＴに対応する時間）経過後の時刻ｔ１３において正常判定がなされる。
【００６８】
一方、図１１（ａ）に破線Ｌ２３で示すように燃料レベルセンサ出力が変化しないときは、正常判定がなされることなく、所定異常判定時間（ＮＧ判定値ＣＴＲＦＷＡＩＴに対応する時間）が経過した時刻ｔ１４において異常判定がなされる。
【００６９】
図１１（ｂ）は、給油速度が低い例を示す。この例では、ベントシャット弁３８が開弁される時刻ｔ２１より前に給油が開始され、第２燃料レベルＦＬＥＶＥＬＲに基づいて給油中であるとの判定が時刻ｔ２２になされる（図８，ステップＳ１３４参照）。その後、実線Ｌ２４で示すように引き続いて第２燃料レベルＦＬＥＶＥＬＲが上昇を続けたときは、時刻ｔ２３に正常判定がなされる。一方、時刻ｔ２２以後において、第２燃料レベルＦＬＥＶＥＬＲが破線Ｌ２５に示すように推移するときは、時刻ｔ２４において異常判定がなされる。
【００７０】
本実施形態では、ＥＣＵ５が異常診断手段を構成する。より具体的には、図８の処理が給油判定手段に相当し、図９の処理が異常診断手段に相当する。また圧力センサ１５が圧力検出手段に相当する。
【００７１】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、図９の処理は、図１２に示す処理に代えてもよい。図１２に示す処理は、図９のステップＳ１５１及びＳ１５３を削除し、ステップＳ１５４をステップＳ１５４ａに変更したものである。
【００７２】
ステップＳ１５４ａでは、第２燃料レベルＦＬＥＶＥＬＲと、初期燃料レベルＦＬＶＬＥ０との差（ＦＬＥＶＥＬＲ−ＦＬＶＬＥ０）が、所定レベル変化量ＤＦＬＲＦＵＥＬ以上であるか否かを判別する。この答が否定（ＮＯ）であるときは、ステップＳ１５５に進み、肯定（ＹＥＳ）であるときはステップＳ１５６に進む。
【００７３】
したがって、図１２の処理によれば、第２燃料レベルＦＬＥＶＥＬＲが初期燃料レベルＦＬＶＬＥ０より、所定レベル変化量ＤＦＬＲＦＵＥＬ以上大きい状態が、ＯＫ判定値ＣＴＲＦＲＡＴに対応する時間だけ継続したとき、燃料レベルセンサ４０は正常と判定される。また正常判定がなされない状態が、ＮＧ判定値ＣＴＲＦＷＡＩＴに対応する時間継続すると、燃料レベルセンサ４０は異常と判定される。
【００７４】
また上述した実施形態では、圧力センサ１５はチャージ通路３１に設けたが、燃料タンク９に設けるようにしてもよい。また本発明は、蒸発燃料処理装置が設けられていない場合にも適用可能であり、その場合には、圧力センサ１５は燃料タンク９に設けられる。
【００７５】
【発明の効果】
以上詳述したように請求項１に記載の発明によれば、燃料レベル検出器の出力及び圧力検出手段の出力に基づいて燃料タンクへの給油が判定され、給油中と判定されたときに、燃料レベル検出器の出力の変化度合に基づいて、燃料レベル検出器の異常が診断される。燃料レベル検出器の出力及び圧力検出手段の出力に基づいて燃料タンクへの給油を判定することにより、正確な給油判定が可能となり、また給油中に異常診断を行うことにより、迅速に診断することが可能となる。
【００７６】
請求項２に記載の発明によれば、機関が停止しているときに異常診断が実行されるので、燃料タンク内の燃料の変動の影響を排除し、正確な判定を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる燃料レベル検出器を含む蒸発燃料処理装置及び内燃機関の制御装置の構成を示す図である。
【図２】蒸発燃料処理装置の故障診断の概要を説明するためのタイムチャートである。
【図３】蒸発燃料処理装置の故障診断許可フラグ（ＦＤＥＴ）の設定を行う処理のフローチャートである。
【図４】蒸発燃料処理装置の故障診断を実行する処理のフローチャートである。
【図５】蒸発燃料処理装置の故障診断を実行する処理のフローチャートである。
【図６】異常検出フラグ（ＦＣＳ）の設定を行う処理のフローチャートである。
【図７】燃料レベルセンサの出力に応じて、異常診断用の燃料レベルを算出する処理のフローチャートである。
【図８】燃料レベルセンサの異常診断を行う処理のフローチャートである。
【図９】燃料レベルセンサの異常診断を行う処理のフローチャートである。
【図１０】給油時における燃料レベルセンサ出力の増加速度の正常範囲を示す図である。
【図１１】図８及び９に示す異常診断処理を説明するためのタイムチャートである。
【図１２】図９に示す処理の変形例を示すフローチャートである。
【符号の説明】
１  内燃機関
５  電子コントロールユニット（給油判定手段、異常診断手段）
９  燃料タンク
１５  圧力センサ（圧力検出手段）
４０  燃料レベルセンサ（燃料レベル検出器）
【図１】
2004205306.tif 000003
【図２】
2004205306.tif 000004
【図３】
2004205306.tif 000005
【図４】
2004205306.tif 000006
【図５】
2004205306.tif 000007
【図６】
2004205306.tif 000008
【図７】
2004205306.tif 000009
【図８】
2004205306.tif 000010
【図９】
2004205306.tif 000011
【図１０】
2004205306.tif 000012
【図１１】
2004205306.tif 000013
【図１２】
2004205306.tif 000014