(57)【要約】    【課題】  燃料レベルセンサの故障判定の実行頻度を高め、故障を迅速に検知することができる燃料レベルセンサの故障診断装置を提供する。    【解決手段】  車速ＶＰの変化量の絶対値｜ＶＰ−ＶＰＦＬＳＴＺ｜が、車速変動判定値ＤＶＰＦＬＳＴ以上である場合において（Ｓ７１）、燃料レベルセンサ１１により検出される燃料レベルＦＬＦＬＭの変化量の絶対値｜ＦＬＦＬＭ−ＦＬＶＬＳＴＣ０｜が所定燃料レベル変化量ＦＬＶＬＳＴＣＷＤ以上であるとき、ＯＫカウンタＣＯＫＦＬＳＴをインクリメントする（Ｓ７３〜Ｓ７５）。判定実行回数ＣＴＦＬＦＴＤＶに対するＯＫカウンタＣＯＫＦＬＳＴの値の比率が判定比率ＦＬＳＴＪＵＤより小さいとき、燃料レベルセンサ１１が故障していると判定する（Ｓ７６，Ｓ７９）。【選択図】  図５
2006220109.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関により駆動される車両に搭載され、前記機関に供給する燃料を貯蔵する燃料タンク内の燃料残量を検出する燃料レベルセンサの故障診断装置において、
前記車両の走行状態の変動を示す車両変動パラメータの値が変動判定値より大きく、かつ前記燃料レベルセンサ出力の変化量が固着判定閾値より小さいとき、前記燃料レベルセンサの固着故障が発生したと判定する固着故障判定手段を備えることを特徴とする燃料レベルセンサの故障診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用内燃機関に燃料を供給する燃料タンク内の燃料残量を検出する燃料レベルセンサの故障診断装置に関する。
【背景技術】
【０００２】
燃料レベルセンサの故障診断装置は、例えば特許文献１に示されている。この故障診断装置では、内燃機関における燃料噴射量の積算値が算出され、該燃料噴射量積算値が、所定積算値に達したときの燃料レベルセンサ出力の変化量と、燃料噴射積算値との差が所定正常範囲外にあるとき、燃料レベルセンサが故障していると判定される。
【０００３】
【特許文献１】特開平１０−１８４４７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
一般的に燃料タンク内の燃料が減少する速度は低く、燃料レベルセンサが検出する燃料液面のレベルの低下速度は非常に低い。したがって、上記故障判定を正確に行うためには、所定積算値を比較的大きな値に設定し、燃料噴射量積算値が比較的大きな値となった時点で、燃料レベルセンサ出力の変化量が所定正常範囲内にあるか否かの判定を行う必要がある。したがって、故障判定の実行頻度が低いという課題がある。
【０００５】
本発明はこの点に着目してなされたものであり、燃料レベルセンサの故障判定の実行頻度を高め、故障を迅速に検知することができる故障診断装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため請求項１に記載の発明は、内燃機関（１）により駆動される車両に搭載され、前記機関（１）に供給する燃料を貯蔵する燃料タンク（））内の燃料残量を検出する燃料レベルセンサ（１１）の故障診断装置において、前記車両の走行状態変動を示す車両変動パラメータ（｜ＶＰ−ＶＰＦＬＳＴＺ｜）の値が変動判定値（ＤＶＰＦＬＳＴ）より大きく、かつ前記燃料レベルセンサ出力の変化量（｜ＦＬＦＬＭ−ＦＬＶＬＳＴＣ０｜）が、固着判定閾値（ＦＬＶＬＳＴＣＷＤ）より小さいとき、前記燃料レベルセンサ（１１）の固着故障が発生したと判定する固着故障判定手段を備えることを特徴とする。
【０００７】
前記車両変動パラメータ（ＤＶＨＬＣＨ）としては、前記車両の車速（ＶＰ）の変化量（｜ＶＰ−ＶＰＦＬＳＴＺ｜）、前記車両のステアリングの操舵角（ＳＡ）の変化量（｜ＤＳＡ｜）、あるいは前記車両を駆動する内燃機関の回転速度（ＮＥ）の変化量（｜ＤＮＥ｜）、または加速度センサにより検出される前記車両の加速度の絶対値（｜α｜）を用いることが望ましい。これらの車両変動パラメータの値が大きいときは、燃料タンク内の燃料液面が大きく変動するからである。また、車両変動パラメータとして、ステアリングの操舵角（ＳＡ）の変化量（｜ＤＳＡ｜）を用いるときは、変動判定値（ＤＶＨＬＣＨＸ）を車速ＶＰに応じて設定することが望ましい。
【０００８】
前記固着判定手段は、前記燃料レベルセンサ出力の変化量（｜ＦＬＦＬＭ−ＦＬＶＬＳＴＣ０｜）が、前記固着判定閾値（ＦＬＶＬＳＴＣＷＤ）より小さいか否かの判定を一定時間毎に実行し、前記燃料レベルセンサ出力の変化量（｜ＦＬＦＬＭ−ＦＬＶＬＳＴＣ０｜）が、前記固着判定閾値（ＦＬＶＬＳＴＣＷＤ）以上であると判定した回数（ＣＯＫＦＬＳＴ）の、判定実行回数（ＣＴＦＬＳＴＤＶ）に対する比率（ＣＯＫＦＬＳＴ／ＣＴＦＬＳＴＤＶ）が所定正常判定比率（ＦＬＳＴＪＵＤ）より小さいとき、または前記燃料レベルセンサ出力の変化量（｜ＦＬＦＬＭ−ＦＬＶＬＳＴＣ０｜）が、前記固着判定閾値（ＦＬＶＬＳＴＣＷＤ）より小さいと判定した回数の、判定実行回数（ＣＴＦＬＳＴＤＶ）に対する比率が所定故障判定比率（１−ＦＬＳＴＪＵＤ）より大きいとき、前記固着故障が発生したと判定することが望ましい。
【０００９】
また前記故障診断装置は、前記車両の走行距離（ＤＩＳＴＦＬＭＫ）を計測する走行距離計測手段と、前記燃料レベルセンサ（１１）により検出される燃料レベル（ＦＬＦＬＭ）に応じて判定閾値（ＦＬＶＬＪＵＤＦＬＭ）を設定する判定閾値設定手段と、前記走行距離（ＤＩＳＴＦＬＭＫ）が判定距離（ＤＩＳＴＪＵＤＦＬＭ）以上変化した場合において、前記燃料レベルセンサ（１１）により検出される燃料レベル（ＦＬＦＬＭ）の変化量（ＦＬＦＬＭＡＸ−ＦＬＦＬＭＩＮ）が前記判定閾値（ＦＬＶＬＪＵＤＦＬＭ）より小さいとき、前記燃料レベルセンサ（１１）が故障していると判定する故障判定手段とをさらに備えることが望ましい。
【発明の効果】
【００１０】
請求項１に記載の発明によれば、車両変動パラメータの値が変動判定値より大きく、かつ燃料レベルセンサ出力の変化量が固着判定閾値より小さいとき、燃料レベルセンサの固着故障が発生したと判定される。車両に搭載された燃料タンクでは、車両の加速、減速、あるいは旋回による車両走行状態の変動にともなって、燃料液面のレベルが変動するので、そのような車両走行状態の変動を示す車両変動パラメータの値が変動判定値より大きいときは、燃料液面の変動も大きくなる。したががって、車両変動パラメータが変動判定値より大きい状態で、燃料レベルセンサ出力の変化量が固着判定閾値より小さいときは、燃料レベルセンサの可動部分が燃料液面の変動に対応して動いていないと判定する、すなわち固着故障が発生したと判定することができる。この判定は、燃料レベルが満タンに近い状態、あるいはゼロに近い状態では、正確に行うことは難しいが、燃料レベルがそれ以外の中間的な状態にあるときは、常に実行することができる。したがって、故障判定の実行頻度を高め、固着故障を迅速に検知することができる。
【発明を実施するための最良の形態】
【００１１】
以下本発明の実施の形態を図面を参照して説明する。
図１は本発明の一実施形態にかかる内燃機関及びこの内燃機関の燃料供給系の構成を示す図である。内燃機関（以下単に「エンジン」という）１は、吸気管２を有し、吸気管２の、図示しない吸気弁の少し上流側に燃料噴射弁６が各気筒毎に設けられている。各燃料噴射弁６は燃料供給管７を介して燃料タンク９に接続されており、燃料供給管７の途中には燃料ポンプ８が設けられている。燃料タンク９には、燃料タンク内の燃料残量（以下「燃料レベル」という）ＦＬＥＶＥＬを検出する燃料レベルセンサ１１が設けられている。燃料レベルセンサ１１は、電子制御ユニット（以下「ＥＣＵ」という）５に接続されており、その検出信号はＥＣＵ５に供給される。
【００１２】
燃料噴射弁６はＥＣＵ５に電気的に接続され、該ＥＣＵ５からの信号によりその開弁時間が制御される。
エンジン１により駆動される車両の車速ＶＰを検出する車速センサ１２、及びイグニッションスイッチ１３が接続されており、さらに図示しないエンジン回転数センサ、スロットル弁開度センサ、吸気圧センサ、エンジン冷却水温センサなどがＥＣＵ５に接続されている。これらセンサの検出信号及びイグニッションスイッチ１３の切替信号がＥＣＵ５に供給される。
【００１３】
ＥＣＵ５は各種センサ等からの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、ＣＰＵで実行される演算プログラム及び演算結果等を記憶する記憶回路、燃料噴射弁６に駆動信号を供給する出力回路等から構成される。
【００１４】
ＥＣＵ５のＣＰＵは、エンジン回転数センサ、吸気圧センサ、エンジン冷却水温センサなどの各種センサの出力信号に応じて燃料噴射弁６の開弁時間の制御、すなわちエンジン１に供給する燃料量制御を行うとともに、燃料レベルセンサ１１の故障診断を行う。
【００１５】
本実施形態の燃料レベルセンサ１１は、燃料レベルが所定上限値ＦＬＶＬＲＴＹＨ以上の範囲及び所定下限値ＦＬＶＬＲＴＹＬ以下の範囲では、燃料レベルセンサ１１の出力特性が非線形（燃料タンク内の燃料残量の変化に対する燃料レベルセンサ出力の変化が直線的でなく、かつ燃料残量の変化に対する燃料レベルセンサ出力の変化率が比較的小さい特性）であり、燃料レベルが所定上下限値の範囲内にあるときは、燃料レベルセンサの出力特性がほぼ線形（燃料タンク内の燃料残量の変化に対する燃料レベルセンサ出力の変化が直線的で、かつ燃料残量の変化に対する燃料レベルセンサ出力の変化率が比較的大きい特性）となるように構成されている。そこで本実施形態では、この点に着目して改良された故障診断が実行され、故障診断の精度を維持しつつ実行頻度を高めるようにしている。
【００１６】
さらに本実施形態では、車両変動パラメータ、具体的には車速ＶＰの変化量が大きい場合において、燃料レベルセンサ出力の変化量が固着判定閾値より小さいときは、燃料レベルセンサ１１の固着故障と判定する。車速ＶＰの変化量が大きいときは、燃料タンク９内の燃料液面のレベルが変動するので、このとき燃料レベルセンサ出力の変化量が小さければ、燃料レベルセンサ１１が故障していると判定できる。この固着故障判定を併用することにより、故障診断の実行頻度をさらに高め、迅速な故障検知が可能となる。
【００１７】
図２は、燃料レベルセンサ１１の故障診断に用いる判定パラメータの設定を行う処理のフローチャートである。この処理は、ＥＣＵ５のＣＰＵで所定時間（例えば２００ミリ秒）毎に実行される。判定パラメータは、具体的には、判定を実行するのに必要な車両走行距離（以下「判定距離」という）ＤＩＳＴＪＵＤＦＬＭ、及び判定距離ＤＩＳＴＪＵＤＦＬＭを走行したときの燃料レベルセンサ出力の変化量が正常範囲内に有るか否かを判定するための判定閾値ＦＬＶＬＪＵＤＦＬＭである。
【００１８】
ステップＳ１１では、診断終了フラグＦＤＯＮＥＦ１２１Ｂが「１」であって、故障診断が終了したか否かを判別する。最初はこの答が否定（ＮＯ）であるので、ステップＳ１３に進み、診断許可フラグＦＦＬＶＬＣＮＤが「１」であるか否かを判別する。エンジン１の始動直後は、ＦＦＬＶＬＣＮＤ＝０であるので、直ちに本処理を終了する。エンジン始動後所定時間（例えば１０秒）経過すると、診断許可フラグＦＦＬＶＬＣＮＤが「１」に設定される。その後は、ステップＳ１３からステップＳ１４に進み、初期化完了フラグＦＦ１２１ＢＩＮＩが「１」であるか否かを判別する。
【００１９】
最初は、ＦＦ１２１ＢＩＮＩ＝０であるので、ステップＳ１５に進み、初期燃料レベルＦＬＦＬＭ０及びその前回値ＦＬＦＬＭ０Ｚを、ともにその時点の燃料レベルＦＬＦＬＭに設定する。なお、燃料レベルＦＬＦＬＭは、燃料レベルセンサ１１の出力ＦＬＥＶＥＬに対して、短い周期の変動を除くなまし処理を施すことにより算出される。続くステップＳ１６では、リセット要求フラグＦＲＥＳＥＴ１２１及び初期化完了フラグＦＦ１２１ＢＩＮＩをともに「１」に設定し、本処理を終了する。リセット要求フラグＦＲＥＳＥＴ１２１が「１」に設定されると、図３の処理で、走行距離ＤＩＳＴＦＬＭＫ、及び燃料レベルＦＬＦＬＭの最大値ＦＬＦＬＭＡＸ及び最小値ＦＬＦＬＭＩＮのリセットが行われる（ステップＳ４４，Ｓ５６，Ｓ５７参照）。
【００２０】
ステップＳ１６の実行後は、ステップＳ１４の答が肯定（ＹＥＳ）となるので、ステップＳ１７に進む。ステップＳ１７では、設定完了フラグＦＦ１２１ＢＳＥＴが「１」であるか否かを判別する。設定完了フラグＦＦ１２１ＢＳＥＴは、判定パラメータの設定が完了すると、ステップＳ３０で「１」に設定される。したがって、最初はＦＦ１２１ＢＳＥＴ＝０であり、ステップＳ１８に進む。
【００２１】
ステップＳ１８では、初期燃料レベルの前回値ＦＬＦＬＭ０Ｚを、今回値ＦＬＦＬＭ０に設定し、ステップＳ１９では、初期燃料レベルＦＬＦＬＭ０を、その時点の燃料レベルＦＬＦＬＭに設定する。ステップＳ２０では、初期燃料レベルＦＬＦＬＭ０が、所定下限値ＦＬＶＬＲＴＹＬ（例えば燃料タンク容量の１５％に相当する値）以上であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、さらに初期燃料レベルＦＬＦＬＭ０が所定上限値ＦＬＶＬＲＴＹＨ（例えば、燃料タンク容量の８５％に相当する値）以下であるか否かを判別する（ステップＳ２１）。
【００２２】
ステップＳ２０及びＳ２１の答がともに肯定（ＹＥＳ）であるとき、すなわち、初期燃料レベルＦＬＦＬＭ０が所定上下限値の範囲内にあるときは、初期燃料レベルの前回値ＦＬＦＬＭ０Ｚが所定上限値ＦＬＶＬＲＴＹＨ以下であるか否かを判別する（ステップＳ２２）。この答が肯定（ＹＥＳ）であるときは、さらに初期燃料レベルの前回値ＦＬＦＬＭ０Ｚが所定下限値ＦＬＶＬＲＴＹＬ以上であるか否かを判別する（ステップＳ２３）。
【００２３】
ステップＳ２２またはＳ２３の答が否定（ＮＯ）であって、前回のエンジン運転開始時における初期燃料レベルが所定上限値ＦＬＶＬＲＴＹＨより高かったとき、または所定下限値ＦＬＶＬＲＴＹＬより低かったとき、すなわち初期燃料レベルが所定上下限値の範囲外から範囲内へ移行したときは、リセット要求フラグＦＲＥＳＥＴ１２１を「１」に設定し（ステップＳ２４）、その後ステップＳ２５に進む。一方、ステップＳ２２及びＳ２３の答がともに肯定（ＹＥＳ）であって、前回のエンジン運転開始時及び今回のエンジン運転開始時において、初期燃料レベルが所定上下限値の範囲内に有るときは、直ちにステップＳ２５に進む。
【００２４】
ステップＳ２５では、判定閾値ＦＬＶＬＪＵＤＦＬＭを、第１の所定値ＦＬＶＬＪＵＤＦＬＭＲに設定する。ステップＳ２６では、判定距離ＤＩＳＴＪＵＤＦＬＭを、第１の所定距離値ＤＩＳＴＪＵＤＦＬＭＲ（例えば３０ｋｍ）に設定する。次いで、設定完了フラグＦＦ１２１ＢＳＥＴを「１」に設定して（ステップＳ３０）、本処理を終了する。
【００２５】
ステップＳ２０またはＳ２１の答が否定（ＮＯ）であって、今回の初期燃料レベルＦＬＦＬＭ０が所定上下限値の範囲内にないときは、判定閾値ＦＬＶＬＪＵＤＦＬＭを、第１の所定値ＦＬＶＬＪＵＤＦＬＭＲより大きい第２の所定値ＦＬＶＬＪＵＤＦＬＭＮに設定し（ステップＳ２８）、判定距離ＤＩＳＴＪＵＤＦＬＭを、第１の所定距離ＤＩＳＴＪＵＤＦＬＭＲより大きい第２の所定距離値ＤＩＳＴＪＵＤＦＬＭＮ（例えば２００ｋｍ）に設定する（ステップＳ２９）。その後、前記ステップＳ３０に進む。
【００２６】
設定完了フラグＦＦ１２１ＢＳＥＴが「１」に設定された後は、ステップＳ１７の答が肯定（ＹＥＳ）となり、ステップＳ２７に進む。ステップＳ２７では、燃料レベルＦＬＦＬＭが所定下限値ＦＬＶＬＲＴＹＬより低いか否かを判別する。その答が肯定（ＹＥＳ）であるときは、前記ステップＳ２８に進み、ＦＬＦＬＭ≧ＦＬＶＬＲＴＹＬであるときは、直ちに本処理を終了する。すなわち、判定パラメータの設定後において、燃料レベルＦＬＦＬＭが低下して所定下限値ＦＬＶＬＲＴＹＬより低くなったときは、判定閾値ＦＬＶＬＪＵＤＦＬＭを、第２の所定値ＦＬＶＬＪＵＤＦＬＭＮに変更し、判定距離ＤＩＳＴＪＵＤＦＬＭを、第２の所定距離値ＤＩＳＴＪＵＤＦＬＭＮに変更する。
【００２７】
後述する図３で燃料レベルセンサ１１が故障していると判定され、診断終了フラグＦＤＯＮＥＦ１２１Ｂが「１」に設定されると（ステップＳ５４）、ステップＳ１１からステップＳ１２に進み、初期化完了フラグＦＦ１２１ＢＩＮＩ及び設定完了フラグＦＦ１２１ＢＳＥＴをともに「０」に設定する。
【００２８】
図３は、燃料レベルセンサ１１の故障判定を行う処理のフローチャートである。この処理は、ＥＣＵ５のＣＰＵで所定時間（例えば２００ミリ秒）毎に実行される。
ステップＳ４１では、診断終了フラグＦＤＯＮＥＦ１２１Ｂが「１」であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、設定完了フラグＦＦ１２１ＢＳＥＴが「１」であるか否かを判別する（ステップＳ４２）。この答が否定（ＮＯ）である間は直ちに本処理を終了する。設定完了フラグＦＦ１２１ＢＳＥＴが「１」に設定されると、ステップＳ４３に進み、リセット完了フラグＦＲＥＳＥＴ１２１ＤＮが「１」であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ４４に進み、リセット要求フラグＦＲＥＳＥＴ１２１が「１」であるか否かを判別する。
【００２９】
ＦＲＥＳＥＴ１２１＝０であってリセット要求がなされていないときは、当該車両の走行距離ＤＩＳＴＦＬＭＫが判定距離ＤＩＳＴＪＵＤＦＬＭ以上であるか否かを判別する（ステップＳ４５）。この答が否定（ＮＯ）であるときは、フュエルカットフラグＦＦＣが「１」であるか否かを判別する（ステップＳ４６）。フュエルカットフラグＦＦＣは、エンジン１への燃料供給を遮断するとき「１」に設定される。
【００３０】
ステップＳ４６でＦＦＣ＝０であって、燃料を供給しているときは、下記式（１）により、車速ＶＰに本処理の実行周期ＤＴを乗算することにより、実行周期ＤＴの間に走行する距離ＤＩＳＴＤＴを算出する（ステップＳ４７）。
ＤＩＳＴＤＴ＝ＶＰ×ＤＴ                              （１）
ステップＳ４８では、下記式（２）により距離ＤＩＳＴＤＴを積算することにより、走行距離ＤＩＳＴＦＬＭＫを算出する。
ＤＩＳＴＦＬＭＫ＝ＤＩＳＴＦＬＭＫ＋ＤＩＳＤＴ        （２）
【００３１】
一方ステップＳ４６でＦＦＣ＝１であってフュエルカット運転中であるときは、直ちにステップＳ４９に進む。
ステップＳ４９では、下記式（３）により、燃料レベルＦＬＦＬＭ及び最大値ＦＬＦＬＭＡＸのうちの大きい方を選択して、燃料レベルＦＬＦＬＭの最大値ＦＬＦＬＭＡＸを更新する。ステップＳ５０では下記式（４）により、燃料レベルＦＬＦＬＭ及び最小値ＦＬＦＬＭＩＮのうちの小さい方を選択して、燃料レベルＦＬＦＬＭの最小値ＦＬＦＬＭＩＮを更新する。その後、本処理を終了する。
ＦＬＦＬＭＡＸ＝ＭＡＸ（ＦＬＦＬＭＡＸ，ＦＬＦＬＭ）      （３）
ＦＬＦＬＭＩＮ＝ＭＩＮ（ＦＬＦＬＭＩＮ，ＦＬＦＬＭ）      （４）
【００３２】
走行距離ＤＩＳＴＦＬＭＫが増加し、判定距離ＤＩＳＴＪＵＤＦＬＭに達すると、ステップＳ４５からステップＳ５２に進み、最大値ＦＬＦＬＭＡＸから最小値ＦＬＦＬＭＩＮを減算した値が、判定閾値ＦＬＶＬＪＵＤＦＬＭ以上であるか否かを判別する。この答が否定（ＮＯ）であって、燃料レベルセンサ出力の変化量が判定閾値ＦＬＶＬＪＵＤＦＬＭより小さいときは、燃料レベルセンサ１１が故障していると判定し、正常フラグＦＯＫＦ１２１Ｂを「０」に設定するとともに、故障フラグＦＦＳＤＦ１２１Ｂを「１」に設定する（ステップＳ５３）。次いで診断終了フラグＦＤＯＮＥＦ１２１Ｂを「１」に設定し（ステップＳ５４）、本処理を終了する。診断終了フラグＦＤＯＮＥＦ１２１Ｂが「１」に設定された後は、ステップＳ４１の答が肯定（ＹＥＳ）となり、直ちに本処理を終了する。
【００３３】
ステップＳ５２で（ＦＬＦＬＭＡＸ−ＦＬＦＬＭＩＮ）が、判定閾値ＦＬＶＬＪＵＤＦＬＭ以上であるときは、燃料レベルセンサ１１は正常と判定し、正常フラグＦＯＫＦ１２１Ｂを「１」に設定する（ステップＳ５５）。さらに走行距離ＤＩＳＴＦＬＭＫを「０」にリセットする（ステップＳ５６）とともに、最大値ＦＬＦＬＭＡＸ及び最小値ＦＬＦＬＭＩＮをともにその時点の燃料レベルＦＬＦＬＭに設定する（ステップＳ５７）。その後本処理を終了する。このように正常判定がなされたときは、診断終了フラグＦＤＯＮＥＦ１２１Ｂは「１」に設定されず、走行距離ＤＩＳＴＦＬＭＫ並びに最大値ＦＬＦＬＭＡＸ及び最小値ＦＬＦＬＭＩＮがリセットされて、走行距離ＤＩＳＴＦＬＭＫが判定距離ＤＩＳＴＪＵＤＦＬＭに達する毎に故障判定が行われる。
【００３４】
図２のステップＳ１６またはＳ２４でリセット要求フラグＦＲＥＳＥＴ１２１が「１」に設定されると、ステップＳ４４の答が肯定（ＹＥＳ）となり、ステップＳ５１に進んで、リセット完了フラグＦＲＥＳＥＴ１２１ＤＮを「１」に設定し、前記ステップＳ５６に進む。すなわち、リセット要求に応じて、走行距離ＤＩＳＴＦＬＭＫ及び燃料レベルの最大値ＦＬＦＬＭＡＸ及び最小値ＦＬＦＬＭＩＮのリセットが行われる。リセット完了フラグＦＲＥＳＥＴ１２１ＤＮが「１」に設定された後は、ステップＳ４３の答が肯定（ＹＥＳ）となり、ステップＳ４３から直ちにステップＳ４５に進む。
【００３５】
以上のように図２及び図３に示す処理によれば、燃料レベルを示すパラメータ（ＦＬＦＬＭ０，ＦＬＦＬＭ０Ｚ，ＦＬＦＬＭ）に応じて、燃料レベルが所定上下限値に範囲内では、判定閾値ＦＬＶＬＪＵＤＦＬＭが第１の所定値ＦＬＶＬＪＵＤＦＬＭＲに設定され、判定距離ＤＩＳＴＪＵＤＦＬＭが第１の所定距離値ＤＩＳＴＪＵＤＦＬＭＲに設定される。一方、燃料レベルが所定上下限値の範囲外にあるときは、判定閾値ＦＬＶＬＪＵＤＦＬＭが第１の所定値ＦＬＶＬＪＵＤＦＬＭＲより大きい第２の所定値ＦＬＶＬＪＵＤＦＬＭＮに設定され、判定距離ＤＩＳＴＪＵＤＦＬＭが第１の所定距離値ＤＩＳＴＪＵＤＦＬＭＲより大きい第２の所定距離値ＤＩＳＴＪＵＤＦＬＭＮに設定される。そして、車両が判定距離ＤＩＳＴＪＵＤＦＬＭを走行したときの検出燃料レベルの変化量、具体的には最大値ＦＬＦＬＭＡＸと最小値ＦＬＦＬＭＩＮの差（ＦＬＦＬＭＡＸ−ＦＬＦＬＭＩＮ）が、判定閾値ＦＬＶＬＪＵＤＦＬＭ以上であるか否か応じて、燃料レベルセンサの故障が判定される。これは、燃料レベルが所定上下限値の範囲内にあるときは、燃料レベルセンサ１１の特性がほぼ線形であり、燃料残量の変化に対するセンサ出力の変化量が比較的大きいので、判定距離ＤＩＳＴＪＵＤＦＬＭが短くても正確な判定が可能であることに着目したものである。したがって、図２及び図３に示す処理によれば、故障診断の精度を低下させることなく、故障診断の実行頻度を高めることができる。
【００３６】
図４及び図５は、燃料レベルセンサ１１の固着故障判定を行う処理のフローチャートである。この処理は、ＥＣＵ５のＣＰＵで所定時間（例えば２００ミリ秒）毎に実行される。
ステップＳ６１では、診断終了フラグＦＤＯＮＥＦ１２１Ｂが「１」であるか否かを判別し、この答が肯定（ＹＥＳ）であるときは直ちに本処理を終了する。ＦＤＯＮＥＦ１２１Ｂ＝０であるときは、診断許可フラグＦＦＬＶＬＣＮＤが「１」であるか否かを判別する（ステップＳ６２）。ＦＦＬＶＬＣＮＤ＝０である間は、直ちにステップＳ８１に進む。診断許可フラグが「１」に設定されると、ステップＳ６３に進み、基準値記憶フラグＦＦＬＶＬＳＴＣ０が「１」であるか否かを判別する。最初は、この答は否定（ＮＯ）であるので、基準燃料レベルＦＬＶＬＳＴＣ０にその時点の燃料レベルＦＬＦＬＭを設定し（ステップＳ６４）、次いで基準値記憶フラグＦＦＬＶＬＳＴＣ０を「１」に設定する（ステップＳ６５）。基準値記憶フラグＦＦＬＶＬＳＴＣ０が「１」に設定された後は、ステップＳ６３から直ちにステップＳ６６（図５）に進む。
【００３７】
ステップＳ６６（図５）では、基準燃料レベルＦＬＶＬＳＴＣ０が所定下限値ＦＬＶＬＳＴＣＬ（例えば燃料タンク容量の１５％に相当する値）以上であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、さらに基準燃料レベルＦＬＶＬＳＴＣ０が所定上限値ＦＬＶＬＳＴＣＨ（例えば、燃料タンク容量の８５％に相当する値）以下であるか否かを判別する（ステップＳ６７）。なお本実施形態では、所定上下限値ＦＬＶＬＳＴＣＨ，ＦＬＶＬＳＴＣＬは、それぞれ図２の処理で使用される所定上下限値ＦＬＶＬＲＴＹＨ，ＦＬＶＬＲＴＹＬと同一の値に設定されている。
【００３８】
ステップＳ６６またはＳ６７の答が否定（ＮＯ）、すなわち、基準燃料レベルＦＬＶＬＳＴＣ０が所定上下限値ＦＬＶＬＳＴＣＨ，ＦＬＶＬＳＴＣＬの範囲外にあるときは、直ちにステップＳ８１に進む。
ステップＳ６６及びＳ６７の答がともに肯定（ＹＥＳ）であるとき、すなわち、基準燃料レベルＦＬＶＬＳＴＣ０が所定上下限値ＦＬＶＬＳＴＣＨ，ＦＬＶＬＳＴＣＬの範囲内にあるときは、判定回数カウンタＣＯＫＦＬＳＴＤＶの値が所定判定回数ＣＴＦＬＳＴＤＶ（例えば５００）以上であるか否かを判別する（ステップＳ６８）。最初はこの答が否定（ＮＯ）となり、ステップＳ６９に進んで、間引きカウンタＣＯＦＬＶＬＳＴＣの値が「０」であるか否かを判別する（ステップＳ６８）。最初はこの答は肯定（ＹＥＳ）となり、ステップＳ７１に進む。
【００３９】
ステップＳ７１では、車速ＶＰと、前回車速ＶＰＦＬＳＴＺ（本処理の前回実行時に検出された車速ＶＰ）との差（以下「車速変化量」という）の絶対値が、車速変動判定値ＤＶＰＦＬＳＴ（例えば０．５ｋｍ／ｈ）以上であるか否かを判別する。この答が否定（ＮＯ）であるときは直ちにステップＳ８０に進む。
【００４０】
車速変化量の絶対値｜ＶＰ−ＶＰＦＬＳＴＺ｜が、車速変動判定値ＤＶＰＦＬＳＴ以上であるときは、判定回数カウンタＣＯＫＦＬＳＴＤＶの値を「１」だけインクリメントし（ステップＳ７２）、燃料レベルＦＬＦＬＭが、基準燃料レベルＦＬＶＬＳＴＣ０に所定燃料レベル変化量ＦＬＶＬＳＴＣＷＤを加算した値以上であるか否かを判別する（ステップＳ７３）。この答が否定（ＮＯ）であるときは、さらに燃料レベルＦＬＦＬＭが、基準燃料レベルＦＬＶＬＳＴＣ０から所定燃料レベル変化量ＦＬＶＬＳＴＣＷＤを減算した値以下であるか否かを判別する（ステップＳ７４）。
【００４１】
ステップＳ７３またはＳ７４の答が肯定（ＹＥＳ）であって、燃料レベルＦＬＦＬＭが所定燃料レベル変化量ＦＬＶＬＳＴＣＷＤ以上変化したときは、ＯＫカウンタＣＯＫＦＬＳＴの値を「１」だけインクリメントし（ステップＳ７５）、ステップＳ８０に進む。すなわち、車速ＶＰが大きく変化し、燃料レベルＦＬＦＬＭが所定燃料レベル変化量ＦＬＶＬＳＴＣＷＤ以上変化したときは、燃料レベルセンサ１１は正常である可能性が高いと判定し、ＯＫカウンタＣＯＫＦＬＳＴの値をインクリメントする。
【００４２】
一方ステップＳ７３及びＳ７４の答がともに否定（ＮＯ）であって、燃料レベル変化量の絶対値｜ＦＬＦＬＭ−ＦＬＶＬＳＴＣＷＤ｜が所定燃料レベル変化量ＦＬＶＬＳＴＣＷＤより小さいときは、ＯＫカウンタＣＯＫＦＬＳＴの値をインクリメントすることなく、直ちにステップＳ８０に進む。
ステップＳ８０では、間引きカウンタＣＯＦＬＶＬＳＴＣを所定回数ＣＴＯＦＬＶＬＳＴＣ（例えば４）に設定する。その後、ステップＳ８１に進んで、前回車速ＶＰＦＬＳＴＺをその時点の車速ＶＰに設定して、本処理を終了する。
【００４３】
ステップＳ８０を実行した後は、ステップＳ６９の答が否定（ＮＯ）となり、間引きカウンタＣＯＦＬＶＬＳＴＣの値が「１」だけデクリメントされる（ステップＳ７０）。その後本処理を終了する。ステップＳ７０を繰り返し実行し、間引きカウンタＣＯＦＬＶＬＳＴＣの値が「０」となると、ステップＳ６９からステップＳ７１に進む。したがって、ステップＳ６９，Ｓ７０，及びＳ８０により、ステップＳ７１〜Ｓ７５は、本処理を（ＣＴＯＦＬＶＬＳＴＣ＋１）回実行する毎に１回の割合で実行される。
【００４４】
判定回数カウンタＣＯＫＦＬＳＴＤＶの値（ステップＳ７２〜Ｓ７４の実行回数）が、所定判定回数ＣＴＦＬＳＴＤＶに達すると、ステップＳ６８からステップＳ７６に進み、所定判定回数ＣＴＦＬＳＴＤＶに対するＯＫカウンタＣＯＫＦＬＳＴの値の比率ＣＯＫＦＬＳＴ／ＣＴＦＬＳＴＤＶが、判定比率ＦＬＳＴＪＵＤ（例えば０．４）以上であるか否かを判別する。この答が否定（ＮＯ）であるときは、燃料レベルセンサ１１の固着故障が発生したと判定し、固着故障フラグＦＦＬＳＴＮＧを「１」に設定する（ステップＳ７９）。その後、前記ステップＳ８０に進む。
【００４５】
ステップＳ７６で、ＣＯＫＦＬＳＴ／ＣＴＦＬＳＴＤＶ≧ＦＬＳＴＪＵＤであるときは、燃料レベルセンサ１１は正常と判定し、固着無しフラグＦＦＬＳＴＯＫを「１」に設定し、基準値記憶フラグＦＦＬＶＬＳＴＣ０を「０」に設定する（ステップＳ７７）。次いで、判定回数カウンタＣＯＫＦＬＳＴＤＶ及びＯＫカウンタＣＯＫＦＬＳＴの値をともに「０」に設定し（ステップＳ７８）、前記ステップＳ８０に進む。
【００４６】
以上のように図４及び図５の処理によれば、車速変化量の絶対値｜ＶＰ−ＶＰＦＬＳＴＺ｜が車速変動判定値ＤＶＰＦＬＳＴ以上である場合において、燃料レベル変化量の絶対値｜ＦＬＦＬＭ−ＦＬＶＬＳＴＣＷＤ｜が所定燃料レベル変化量ＦＬＶＬＳＴＣＷＤ以上であるときは、ＯＫカウンタＣＯＫＦＬＳＴがインクリメントされ、判定実行回数ＣＴＦＬＳＴＤＶに対するＯＫカウンタＣＯＫＦＬＳＴの値の比率ＣＯＫＦＬＳＴ／ＣＴＦＬＳＴＤＶが、判定比率ＦＬＳＴＪＵＤＣＯＫＦＬＳＴより小さいとき、燃料レベルセンサ１１の固着故障が発生したと判定される。ただし、この判定は、燃料レベルＦＬＦＬＭが所定上下限値ＦＬＶＬＳＴＣＨ，ＦＬＶＬＳＴＣＬの範囲外にあるときは（非線形領域では）、実行されない。非線形領域では、燃料液面レベルの変化に対する燃料レベルセンサ出力の変化量が小さいので、正確な判定ができないからである。すなわち、燃料レベルＦＬＦＬＭが所定上下限値ＦＬＶＬＳＴＣＨ，ＦＬＶＬＳＴＣＬの範囲内にあるときに限定して、固着判定を実行することにより、正確な判定を行うことができる。
【００４７】
本実施形態では、ＥＣＵ５が固着故障判定手段を構成する。具体的には、図４及び図５の処理が固着故障判定手段に相当する。また車速センサ１２及びＥＣＵ５が走行距離計測手段を構成する。またＥＣＵ５が、走行距離算出手段、判定閾値設定手段、及び故障判定手段を構成する。具体的には、図３のステップＳ４７及びＳ４８が走行距離算出手段に相当し、図２の処理が、判定閾値設定手段に相当し、図３のステップＳ４５，Ｓ５２〜Ｓ５５が故障判定手段に相当する。
【００４８】
（変形例）
図６は、図５のステップＳ７１をステップＳ７１ａに変更し、ステップＳ８０を削除した処理のフローチャートである。図６に示すフローチャートは、図５のフローチャートと同様に、図４のフローチャートに接続される。ステップＳ７１ａでは、車両変動パラメータＤＶＨＬＣＨが変動判定値ＤＶＨＬＣＨＸ以上であるか否かを判別する。そして車両変動パラメータＤＶＨＬＣＨが、変動判定値ＤＶＨＬＣＨＸ以上であるときは、ステップＳ７２に進み、ステップＳ７１ａの答が否定（ＮＯ）であるときは、ステップＳ８０に進む。
【００４９】
上述した実施形態では、車両変動パラメータＤＶＨＬＣＨとして、車速変化量の絶対値を用いている。これに代えて、当該車両のステアリングの操舵角ＳＡを検出する操舵角センサを設け、操舵角ＳＡの変化量ＤＳＡ（＝ＳＡ(k)−ＳＡ(k-1）)の絶対値を、車両変動パラメータＤＶＨＬＣＨとして用いてもよい。ここで、「ｋ」は、図６の処理の実行周期で離散化した制御時刻である。その場合には、変動判定値ＤＶＨＬＣＨＸを、車速ＶＰが高くなるほど、より小さな値に設定する。例えば、ＶＰ＝５０ｋｍ／ｈのときは、変動判定値ＤＶＨＬＣＨＸを、４５度／秒に相当する値に設定し、ＶＰ＝１００ｋｍ／ｈであるときは、１０度／秒に相当する値に設定する。これにより、操舵角ＳＡの変化による燃料液面の変動の発生を的確に判定し、燃料レベルセンサ１１の固着故障判定を正確に行うことができる。
【００５０】
また、エンジン１の回転数（回転速度）を検出するエンジン回転数センサを設け、図６のステップＳ７１ａの車速変動パラメータＤＶＨＬＣＨとして、エンジン回転数ＮＥの１回微分値に相当する変化量ＤＮＥ（＝ＮＥ(k)−ＮＥ(k-1)）の絶対値、または２回微分値に相当するパラメータＤＤＮＥ（＝ＤＮＥ(k)−ＤＮＥ(k-1)）の絶対値を用いてもよい。ただし、この場合は変速機のギヤ比が変化しないことが前提条件となる。
【００５１】
さらに加速度センサを当該車両に設け、加速度センサにより検出される加速度αの絶対値、あるいは加速度の微分値に相当するＤα（＝α(k)−α(k-1)）の絶対値を、車両変動パラメータＤＶＨＬＣＨとして用いてもよい。
【００５２】
また上述した実施形態では、ＯＫカウンタＣＯＫＦＬＳＴを用いて、判定実行回数に対するＯＫカウンタＣＯＫＦＬＳＴの値の比率が判定比率ＦＬＳＴＪＵＤより小さいとき、固着故障が発生していると判定するようにしたが、これに代えて、燃料レベルセンサ出力の変化量（｜ＦＬＦＬＭ−ＦＬＶＬＳＴＣ０｜）が、所定燃料レベル変化量ＦＬＶＬＳＴＣＷＤより小さいと判定した回数の、判定実行回数ＣＴＦＬＳＴＤＶに対する比率を算出し、この比率が所定故障判定比率（１−ＦＬＳＴＪＵＤ）より大きいとき、固着故障が発生していると判定するようにしてもよい。
【００５３】
また図５のステップＳ７３及びＳ７４の答がともに否定（ＮＯ）であるとき、直ちに固着故障が発生していると判定するようにしてもよい。ただし、そのような手法を採用すると、誤判定が発生しやすいので、上述した実施形態のように正常判定回数の比率、あるいは故障判定回数の比率を用いることが望ましい。
【００５４】
また上述した実施形態では、燃料レベルセンサ１１により検出される燃料レベルＦＬＦＬＭに応じて、燃料レベルＦＬＦＬＭが所定上下限値ＦＬＶＬＲＴＹＨ，ＦＬＶＬＲＴＹＬの範囲内にあるときと、燃料レベルＦＬＦＬＭが所定上下限値ＦＬＶＬＲＴＹＨ，ＦＬＶＬＲＴＹＬの範囲外にあるときに対応させて、判定閾値ＦＬＶＬＪＵＤＦＬＭ及び判定距離ＤＩＳＴＪＵＤＦＬＭを設定したが、これに限るものではなく、燃料レベルセンサの特性に応じて、燃料レベルに応じた範囲を、３つ以上設定し、それぞれの範囲に対応させて、判定閾値ＦＬＶＬＪＵＤＦＬＭ及び判定距離ＤＩＳＴＪＵＤＦＬＭを設定するようにしてもよい。
【００５５】
またオドメータ（走行距離計）を走行距離計測手段として用いてもよい。
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンに燃料を供給する燃料タンクに取り付けられる燃料レベルセンサの故障診断にも適用が可能である。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態にかかる内燃機関及びこの内燃機関の燃料供給系の構成を示す図である。
【図２】図１に示す燃料レベルセンサの故障判定に使用するパラメータの設定を行う処理のフローチャートである。
【図３】図１に示す燃料レベルセンサの故障判定を行う処理のフローチャートである。
【図４】図１に示すレベルセンサの固着判定を行う処理のフローチャートである。
【図５】図１に示すレベルセンサの固着判定を行う処理のフローチャートである。
【図６】図５に示す処理の変形例のフローチャートである。
【符号の説明】
【００５７】
１  内燃機関
５  電子制御ユニット（固着故障判定手段、走行距離計測手段、走行距離算出手段、判定閾値設定手段、故障判定手段）
９  燃料タンク
１１  燃料レベルセンサ
１２  車速センサ（走行距離計測手段）
【図１】
2006220109.tif 000003
【図２】
2006220109.tif 000004
【図３】
2006220109.tif 000005
【図４】
2006220109.tif 000006
【図５】
2006220109.tif 000007
【図６】
2006220109.tif 000008