(57)【要約】【課題】誤診断を防止することが可能な燃料レベルセンサの診断装置を提供する。【解決手段】燃料レベルセンサの出力値とインジェクタからの燃料消費量の積算値とが整合しない場合に燃料レベルセンサに異常が生じていると診断する燃料レベルセンサの診断装置において、燃料タンク内の燃料レベルがＦ点を超えている範囲で燃料が消費された後に燃料タンク内への給油が行われたと推定された場合には、燃料消費量の積算値をクリアする。これにより、給油が行われたことで燃料レベルセンサの出力に変化が現れないといった状態において燃料噴射量の積算値のみが増大していくといった状況を回避し、これによって誤診断を防止する。また、燃料レベルセンサの出力がＦ点に張り付いた状態で燃料噴射量の積算値が所定値に達した時点で燃料レベルセンサに異常が生じていると診断する。【選択図】図５
2015021452.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンク内の燃料の液面高さを検出する燃料レベルセンサの出力値と、燃料消費量積算値とが整合しない場合に燃料レベルセンサに異常が生じていると診断する燃料レベルセンサの診断装置において、
前記燃料タンク内の燃料の液面高さが、前記燃料レベルセンサの出力値が変化しない範囲にあって、この範囲内で燃料が消費された状態で燃料タンク内への給油が行われたと推定された場合には、前記燃料レベルセンサに異常が生じていることの診断を行わない、または、燃料レベルセンサの診断を実行しない構成となっていることを特徴とする燃料レベルセンサの診断装置。
【請求項２】
請求項１記載の燃料レベルセンサの診断装置において、
前記燃料タンク内の燃料の液面高さが、前記燃料レベルセンサの出力値が変化しない範囲にあって、この範囲内で燃料が消費された状態で燃料タンク内への給油が行われたと推定された場合には、前記燃料消費量積算値をリセットし、これにより、燃料レベルセンサの出力値と燃料消費量積算値とが整合しない状態を解消することで、前記燃料レベルセンサに異常が生じていることの診断を行わない構成となっていることを特徴とする燃料レベルセンサの診断装置。
【請求項３】
請求項１または２記載の燃料レベルセンサの診断装置において、
前記燃料レベルセンサの出力値が変化しない範囲は、前記燃料タンク内の燃料レベルが所定レベル以上の範囲であることを特徴とする燃料レベルセンサの診断装置。
【請求項４】
請求項３記載の燃料レベルセンサの診断装置において、
前記燃料レベルセンサの出力値が、前記燃料レベルセンサの出力値が変化しない範囲に対応する値で変化しない状態にあって、燃料タンク内への給油が行われたと推定されることなく、燃料消費量積算値が所定値に達した場合には、前記燃料レベルセンサに異常が生じていると診断する構成となっていることを特徴とする燃料レベルセンサの診断装置。
【請求項５】
請求項３または４記載の燃料レベルセンサの診断装置において、
前記燃料レベルセンサの出力値が、前記燃料レベルセンサの出力値が変化しない範囲以外の範囲に対応する値で変化しない状態にあって、燃料消費量積算値が所定値に達した場合には、前記燃料レベルセンサに異常が生じていると診断する構成となっていることを特徴とする燃料レベルセンサの診断装置。
【請求項６】
請求項１または２記載の燃料レベルセンサの診断装置において、
前記燃料レベルセンサの出力値が変化しない範囲は、前記燃料タンク内の燃料レベルが所定レベル以下の範囲であることを特徴とする燃料レベルセンサの診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料タンクに備えられた燃料レベルセンサを診断する装置に係る。特に、本発明は、誤診断を防止するための対策に関する。
【背景技術】
【０００２】
従来、車両に搭載される燃料タンクにあっては、タンク内の燃料残量を検知するために、燃料の液面高さ（燃料レベル）を検出する燃料レベルセンサが設けられている。
【０００３】
また、この燃料レベルセンサの異常の有無を診断するための診断装置として、特許文献１や特許文献２に開示されているものが知られている。これら特許文献に開示されている技術は、インジェクタからの燃料噴射量とタンク内の燃料レベルの低下量とに相関があることに鑑み、燃料噴射量の積算値と燃料レベルセンサの出力（燃料レベルに応じた出力）との相関にズレが生じた場合、燃料レベルセンサに異常が生じていると診断するものである。例えば、燃料噴射量の積算値が所定量に達しているにも拘わらず、燃料レベルセンサの出力がそれに応じた変化量に達していない場合には燃料レベルセンサに異常が生じていると診断する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１０５７４号公報
【特許文献２】特開２００６−２１４３９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の燃料レベルセンサの診断手法では以下に述べる状況において誤診断を招いてしまう可能性があった。
【０００６】
一般に、燃料レベルセンサの出力特性としては、燃料タンク内の燃料レベルが所定量を超える範囲では、その範囲内で燃料レベルが変化してもセンサ出力値が殆ど変化しないといった不動領域を有している。例えば、燃料タンク内の燃料レベルが最大（所謂満タン）のレベルから燃料量で２０Ｌ程度低い燃料レベルまでの範囲が不動領域となっている。この不動領域（センサ出力値が変化しない範囲）の最下点は一般に「Ｆ点」と呼ばれている。つまり、このＦ点よりも高い側の燃料レベルでは、燃料タンク内の燃料量が変化したとしても、燃料レベルセンサの出力値は殆ど変化しないことになる。
【０００７】
このため、例えば、燃料レベルが前記Ｆ点を超える範囲内で、エンジンの運転（インジェクタからの燃料噴射による燃料の消費）と、燃料タンク内への給油とが繰り返された場合にあっては、燃料タンク内の燃料量の変化は、燃料レベルセンサの出力に現れない。
【０００８】
しかしながら、従来の燃料レベルセンサの診断手法では、このような状況であってもエンジンの運転に伴って燃料噴射量の積算値が増大していくことになる。つまり、この燃料噴射量の積算値が増大しているにも拘わらず、前記給油が行われたことによって燃料レベルセンサの出力に変化が現れないといった状況を招いてしまう。このような状況では、燃料レベルセンサに異常が生じていないにも拘わらず（燃料レベルがＦ点以下まで低下した場合にはそれに応じた出力がなされるにも拘わらず）、燃料噴射量の積算値と燃料レベルセンサの出力との相関にズレが生じることになるので、燃料レベルセンサに異常が生じていると誤診断することになってしまう。
【０００９】
図６は、この場合のタンク内燃料レベル、燃料噴射量積算値、センサ出力それぞれの時間的な変化の一例を示している。この図６に示すものでは、図中のタイミングｔ１で給油が行われている。つまり、タンク内燃料レベルがＦ点まで低下する前に給油が行われている。
【００１０】
この図６に示すように、燃料タンク内の燃料量が最大（満タン；Ｆｕｌｌ）となっている状態（タイミングｔ０）からエンジンが運転されて燃料噴射量積算値がＡに達した時点（タイミングｔ１）では、この燃料噴射量積算値Ａに対応するタンク内燃料レベルの低下位置はＦ点に達しておらず、燃料レベルセンサの出力は変化しない。
【００１１】
この状態で給油が行われて燃料タンク内が満タンとなり、再びエンジンが運転されて燃料噴射量積算値がＢだけ加算された時点（タイミングｔ２）では、燃料噴射量積算値は「Ａ＋Ｂ」となる。この積算値「Ａ＋Ｂ」はタンク内燃料レベルをＦ点以下にまで低下させる値（図中の燃料噴射量積算値ｆを超える値に相当）であるにも係らず、実際には、燃料タンク内が満タンとなった状態から積算値Ｂに相当するレベルしか燃料レベルは低下していないため、この場合にも燃料レベルセンサの出力は変化しない。つまり、燃料噴射量積算値は、燃料レベルセンサの出力が変化するはずの値である「Ａ＋Ｂ」であるにも拘わらず、実際の燃料レベルの低下量は積算値Ｂに相当するレベルしか低下していないために燃料レベルセンサの出力は変化せず、その結果、燃料レベルセンサが正常であるにも拘わらず異常が生じていると誤診断してしまうことになる。
【００１２】
このように、従来の燃料レベルセンサの診断手法では、状況によっては診断の信頼性が得られない可能性があった。
【００１３】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、誤診断を防止することが可能な燃料レベルセンサの診断装置を提供することにある。
【課題を解決するための手段】
【００１４】
−発明の解決原理−
前記の目的を達成するために講じられた本発明の解決原理は、燃料レベルセンサの出力の不動領域での燃料消費量の積算値を、給油が行われたことに伴ってリセット（クリア）し、これにより、燃料消費量が積算されていくことに起因する誤診断を防止することである。
【００１５】
−解決手段−
具体的に、本発明は、燃料タンク内の燃料の液面高さを検出する燃料レベルセンサの出力値と、燃料消費量積算値とが整合しない場合に燃料レベルセンサに異常が生じていると診断する燃料レベルセンサの診断装置を前提とする。この燃料レベルセンサの診断装置に対し、前記燃料タンク内の燃料の液面高さが、前記燃料レベルセンサの出力値が変化しない範囲にあって、この範囲内で燃料が消費された状態で燃料タンク内への給油が行われたと推定された場合には、前記燃料レベルセンサに異常が生じていることの診断を行わない、または、燃料レベルセンサの診断を実行しない構成としている。
【００１６】
従来技術にあっては、燃料タンク内の燃料の液面高さが、前記燃料レベルセンサの出力値が変化しない範囲にある場合において、給油の有無に関わりなく、燃料の消費に伴って燃料消費量積算値を加算していた。このため、前記範囲内で給油がなされた場合に、燃料レベルセンサが正常であるにも拘わらず、燃料レベルセンサの出力値と燃料消費量積算値とが整合しない状況を招く可能性があった。その結果、燃料レベルセンサに異常が生じていると誤診断してしまう場合があった。
【００１７】
本解決手段では、前記燃料タンク内の燃料の液面高さが、前記燃料レベルセンサの出力値が変化しない範囲にあって、この範囲内で燃料が消費された状態で燃料タンク内への給油が行われたと推定された場合には、燃料レベルセンサに異常が生じていることの診断を行わないか、または、燃料レベルセンサの診断を実行しないようにしている。このため、燃料タンク内の燃料の液面高さの変化が燃料レベルセンサの出力値に現れない状況において、燃料タンク内への給油が行われたことに起因する誤診断を防止することができ、診断の信頼性を向上することができる。
【００１８】
具体的な診断処理としては、前記燃料タンク内の燃料の液面高さが、前記燃料レベルセンサの出力値が変化しない範囲にあって、この範囲内で燃料が消費された状態で燃料タンク内への給油が行われたと推定された場合には、前記燃料消費量積算値をリセットし、これにより、燃料レベルセンサの出力値と燃料消費量積算値とが整合しない状態を解消することで、前記燃料レベルセンサに異常が生じていることの診断を行わないようにしている。
【００１９】
つまり、前記燃料消費量積算値をリセットすることによって、燃料レベルセンサの出力が殆ど変化しないにも拘わらず、燃料消費量積算値が増大するといった状況を解消する。これにより、燃料レベルセンサが正常であるにも拘わらず、給油が行われたことに起因して燃料レベルセンサの出力値と燃料消費量積算値とが整合しない状況を招いて誤診断してしまうといったことを防止することができる。
【００２０】
前記燃料レベルセンサの出力値が変化しない範囲としては、前記燃料タンク内の燃料レベルが所定レベル以上の範囲であることが挙げられる。
【００２１】
この場合に、前記燃料レベルセンサの出力値が、前記燃料レベルセンサの出力値が変化しない範囲に対応する値で変化しない状態にあって、燃料タンク内への給油が行われたと推定されることなく、燃料消費量積算値が所定値に達した場合には、前記燃料レベルセンサに異常が生じていると診断するようにしている。
【００２２】
これは、燃料消費量積算値が、燃料レベルセンサの出力値が変化しない範囲を脱する比較的大きな値となっても未だ燃料レベルセンサの出力値が前記範囲に対応する値で変化しない場合には、燃料レベルセンサがこの範囲内でスタック（固着）していると判断することができるため、この場合には燃料レベルセンサに異常が生じていると診断するものである。つまり、燃料レベルセンサに異常が生じていることが確実であると判断される場合には、異常判定を行うことにより、診断装置の信頼性を確保することができる。
【００２３】
また、前記燃料レベルセンサの出力値が、前記燃料レベルセンサの出力値が変化しない範囲以外の範囲に対応する値で変化しない状態にあって、燃料消費量積算値が所定値に達した場合には、前記燃料レベルセンサに異常が生じていると診断するようにしている。
【００２４】
これは、燃料レベルセンサが前記範囲以外の範囲でスタック（固着）している場合の診断動作であって、この場合には、燃料タンク内への給油の有無に関わりなく、燃料消費量積算値が所定値に達したことをもって燃料レベルセンサに異常が生じていると診断することになる。つまり、燃料レベルセンサが前記範囲以外の範囲でスタックしている場合には、前述した燃料タンク内への給油に起因する誤診断を招くことがないため、この場合には、燃料消費量積算値が所定値に達したことをもって燃料レベルセンサに異常が生じていると診断するようにしている。
【００２５】
なお、前記燃料レベルセンサの出力値が変化しない範囲としては、前記燃料タンク内の燃料レベルが所定レベル以下の範囲であることも挙げられる。
【００２６】
この場合、前記範囲内での給油が行われたことで、燃料タンク内に未だ燃料が残っているにも拘わらず、燃料残量が「０」となったと判断してしまうことを防止できる。
【発明の効果】
【００２７】
本発明では、燃料タンク内の燃料の液面高さが、燃料レベルセンサの出力値が変化しない範囲にあって、この範囲内で燃料が消費された状態で燃料タンク内への給油が行われたと推定された場合には、燃料レベルセンサに異常が生じていることの診断を行わない、または、燃料レベルセンサの診断を実行しないようにしている。これにより、燃料タンク内の燃料の液面高さの変化が燃料レベルセンサの出力値に現れない状況において、燃料タンク内への給油が行われたことに起因する誤診断を防止することができる。
【図面の簡単な説明】
【００２８】
【図１】実施形態に係るエンジンおよび吸排気系の概略構成を示す図である。
【図２】エンジンの制御系を示すブロック図である。
【図３】燃料レベルセンサの診断処理の前半を示すフローチャート図である。
【図４】燃料レベルセンサの診断処理の後半を示すフローチャート図である。
【図５】実施形態におけるタンク内燃料レベル、燃料噴射量積算値、センサ出力それぞれの時間的な変化の一例を示す図である。
【図６】従来技術におけるタンク内燃料レベル、燃料噴射量積算値、センサ出力それぞれの時間的な変化の一例を示す図である。
【発明を実施するための形態】
【００２９】
以下、本発明の実施の形態を図面に基づいて説明する。本実施形態では、多気筒（例えば４気筒）のガソリンエンジン（内燃機関）に本発明を適用した場合について説明する。
【００３０】
−エンジン−
図１は本実施形態に係るエンジン１、および、その吸排気系の概略構成を示す図である。なお、この図１ではエンジン１の１気筒の構成のみを示している。
【００３１】
本実施形態に係るエンジン１は、４つの気筒１１が形成されたシリンダブロック１２と、このシリンダブロック１２の上部に取り付けられたシリンダヘッド１３とを備えている。各気筒１１にはピストン１４が往復動可能な状態で挿入されている。各ピストン１４はコネクティングロッド１５を介してクランクシャフト１６に連結されている。
【００３２】
エンジン１の吸気通路２には、エアクリーナ２１、エアフローメータ９３、吸気温センサ９４、スロットルバルブ２２が設けられている。スロットルバルブ２２はスロットルモータ２３によって駆動される。また、この吸気通路２は、各気筒１１に吸気を分配する吸気マニホールド２４と、気筒１１毎に設けられて吸気マニホールド２４に接続される吸気ポート２５とを含む。
【００３３】
一方、排気通路３には、Ｏ2センサ９６および触媒コンバータ３１が設けられている。この排気通路３は、気筒１１毎に設けられた排気ポート３２と、各排気ポート３２を集合する排気マニホールド３３とを含む。
【００３４】
前記シリンダヘッド１３には、吸気ポート２５を開閉する吸気バルブ２６と、排気ポート３２を開閉する排気バルブ３６とが設けられている。これらのバルブ２６，３６は、カム等を含んだ動弁機構１７によって、クランクシャフト１６と同期して開閉駆動される。
【００３５】
各気筒１１には、インジェクタ（燃料噴射弁）４および点火プラグ５が設けられている。
【００３６】
また、前記インジェクタ４に燃料を供給する燃料供給系には、燃料タンクＴ、燃料供給配管４１および燃料ポンプＰが設けられている。この燃料供給系では、前記燃料ポンプＰが燃料タンクＴ内の燃料を汲み上げ、その燃料を燃料供給配管４１を経てインジェクタ４に向けて圧送する。なお、燃料ポンプＰとしては、電動モータを使用した電動燃料ポンプが使用されている。また、燃料ポンプＰとしては、燃料タンクＴの外部に配設されたアウトタンク型、および、燃料タンクＴの内部に配設されたインタンク型の何れであってもよい。
【００３７】
燃料タンクＴの内部には、燃料レベルセンサ９９が設けられている。この燃料レベルセンサ９９は、燃料タンクＴ内の燃料残量を検出するためのものであって、例えば電気式のものが使用されている。この電気式の燃料レベルセンサ９９は、燃料タンクＴ内に配置されたフロート（浮き子）９９ａがレバー９９ｂを介して連結されている。そして、燃料タンクＴ内の燃料レベル（燃料の液面高さ）の変動によるフロート９９ａの上下移動に伴ってレバー９９ｂが移動し、このレバー９９ｂの移動位置を可変抵抗の抵抗値に変換して、その抵抗値に応じた出力信号がエンジンＥＣＵ８に出力される。これにより、この出力信号に基づいて燃料タンクＴ内の燃料レベルが検出できるようになっている。なお、燃料レベルセンサ９９の構成としては、これに限定されるものではない。
【００３８】
また、この燃料タンクＴには、その給油口に設けられたフューエルキャップ４２の開閉を検知するためのフューエルキャップセンサ９Ｃが設けられている。このフューエルキャップセンサ９Ｃとしては、スイッチ式、光式、静電容量式など種々のセンサが適用可能である。
【００３９】
前述の如く構成されたエンジン１では、吸気行程にある気筒１１内に向けてインジェクタ４から燃料が噴射されるとその気筒１１内で混合気が形成され、圧縮行程の後、その混合気が点火プラグ５の火花により着火して燃焼する。その燃焼により生じた燃焼圧力によってピストン１４が往復運動し、この往復運動が、コネクティングロッド１５を介してクランクシャフト１６に伝えられてエンジン１の出力として取り出される。
【００４０】
また、燃焼後の排気ガスは、排気通路３に導かれ、触媒コンバータ３１にて浄化された後、図示しないマフラを介して大気へ放出される。
【００４１】
−制御ブロックの説明−
以上の如く構成されたエンジン１の運転状態はエンジンＥＣＵ８によって制御される。このエンジンＥＣＵ８は、図２に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８３およびバックアップＲＡＭ８４などを備えている。
【００４２】
これらＣＰＵ８１、ＲＯＭ８２、ＲＡＭ８３およびバックアップＲＡＭ８４は、バス８７を介して互いに接続されるとともに、外部入力回路８５および外部出力回路８６と接続されている。外部入力回路８５には、クランクポジションセンサ９１、水温センサ９２、前記エアフローメータ９３、吸気温センサ９４、スロットル開度センサ９５、Ｏ2センサ９６、アクセル開度センサ９７、カム角センサ９８、前記燃料レベルセンサ９９、シフト操作装置７に備えられたシフトレバー７１の操作位置を検出するシフトポジションセンサ９Ａ、ＩＧ（イグニッション）スイッチ９Ｂ、および、前記フューエルキャップセンサ９Ｃ等が接続されている。各センサおよびスイッチの構成および機能は周知であるため、ここでの説明は省略する。
【００４３】
一方、外部出力回路８６には、前記スロットルバルブ２２を駆動するスロットルモータ２３、前記インジェクタ４、イグナイタ５１等が接続されている。
【００４４】
エンジンＥＣＵ８は、前記各種センサの検出信号等に基づいて、エンジン１の各種制御を実行する。例えば、周知の点火プラグ５の点火タイミング制御、スロットルモータ２３の駆動制御等が実行される。
【００４５】
また、エンジンＥＣＵ８は、空燃比制御（Ｏ2センサ９６の出力に基づいたインジェクタ４からの燃料噴射量の補正制御）を実行する。つまり、前記エンジンＥＣＵ８は各気筒１１に導かれる混合気の空燃比を目標空燃比（例えば理論空燃比）に保持させるようにインジェクタ４の燃料噴射量を補正する。具体的に、エンジンＥＣＵ８は、クランクポジションセンサ９１およびエアフローメータ９３の出力信号等に基づいて気筒１１内へ噴射する燃料噴射量の基礎となる基本燃料噴射量を算出するとともに、その基本燃料噴射量に対して、周知の空燃比フィードバック補正係数による空燃比フィードバック制御や空燃比学習値による空燃比学習制御などを行うことにより最終的な燃料噴射量を決定する。そして、エンジンＥＣＵ８は、この最終的な燃料噴射量が得られるように、燃料噴射圧力に応じた燃料噴射期間の制御信号をインジェクタ４に出力する。
【００４６】
また、エンジンＥＣＵ８は、前記インジェクタ４からの燃料噴射量の積算値をＲＡＭ８３に記憶するようになっている。具体的には、前記燃料噴射圧力および燃料噴射期間に基づいて算出される燃料噴射量を積算していくようになっている。なお、この燃料噴射量の積算開始タイミングや、この燃料噴射量の積算値の利用形態については後述する。
【００４７】
−燃料レベルセンサの特性と課題−
前記燃料レベルセンサ９９の出力特性としては、燃料タンクＴ内の燃料レベルが所定量を超える範囲では、その範囲内で燃料レベルが変化してもセンサ出力値が殆ど変化しないといった不動領域を有している。これは、燃料タンクＴ内の燃料レベルが所定量を超える範囲では、燃料レベルセンサ９９のフロート９９ａが燃料タンクＴ内の上面（天井面）に当接し、フロート９９ａがそれ以上浮上できない状況となるためである。つまり、この不動領域では、燃料レベルが変化してもフロート９９ａが燃料タンクＴ内の上面に当接した状態のままとなってセンサ出力値が殆ど変化しないことになる。例えば、燃料タンクＴ内の燃料レベルが最大（所謂満タン）のレベルから燃料量で２０Ｌ程度低い燃料レベルまでの範囲が不動領域となっている。この不動領域となる燃料量は前記の値には限定されず燃料タンクＴの大きさや形状によって異なる値となる。
【００４８】
前述した如く、前記不動領域（センサ出力値が変化しない範囲）の最下点は一般に「Ｆ点」と呼ばれている。つまり、このＦ点よりも高い側の燃料レベルでは、燃料タンクＴ内の燃料量が変化したとしても、燃料レベルセンサ９９の出力値は殆ど変化しないことになる。
【００４９】
このため、例えば、燃料レベルが前記Ｆ点を超える範囲（本発明でいう燃料レベルセンサの出力値が変化しない範囲）内で、エンジン１の運転（インジェクタ４からの燃料噴射による燃料の消費）と、燃料タンクＴ内への給油とが繰り返された場合にあっては、燃料タンクＴ内の燃料量の変化は、燃料レベルセンサ９９の出力に現れないことになる。
【００５０】
従来技術における燃料レベルセンサの診断手法では、燃料噴射量の積算値と燃料レベルセンサの出力（燃料レベルに応じた出力）との相関にズレが生じた場合に、燃料レベルセンサに異常が生じていると診断していた。このため、前述したように燃料レベルがＦ点を超える範囲内でエンジンの運転と燃料タンク内への給油とが繰り返された場合には、燃料タンク内の燃料量の変化が、燃料レベルセンサの出力に現れないにも拘わらず、エンジンの運転に伴って燃料噴射量の積算値が増大していくことになる。つまり、この燃料噴射量の積算値が増大しているにも拘わらず、前記給油が行われたことによって燃料レベルセンサの出力に変化が現れないといった状況を招いてしまう。このような状況では、燃料レベルセンサに異常が生じていないにも拘わらず（燃料レベルがＦ点以下まで低下した場合にはそれに応じた出力がなされるにも拘わらず）、燃料噴射量の積算値と燃料レベルセンサの出力との相関にズレが生じることになるので、燃料レベルセンサに異常が生じていると誤診断することになってしまう。
【００５１】
−燃料レベルセンサの診断処理−
本実施形態の特徴は、前記誤診断を招くことのない燃料レベルセンサ９９の診断処理が行われるようにしている点にある。まず、この燃料レベルセンサ９９の診断処理の概略について説明する。
【００５２】
なお、燃料レベルが変化してもセンサ出力値が殆ど変化しない前記不動領域としては、燃料タンクＴ内の燃料レベルが所定量を超える範囲（前記Ｆ点を超える範囲）と、後述するように燃料タンクＴ内の燃料レベルが所定量を下回る範囲（この範囲の最上点は一般に「Ｅ点」と呼ばれている）とがあるが、ここでは、燃料タンクＴ内の燃料レベルがＦ点を超える範囲にある場合の診断処理を例に挙げて説明する。
【００５３】
本実施形態における燃料レベルセンサ９９の診断処理では、燃料レベルがＦ点を超える範囲にあって、この範囲内で燃料が消費された状態で燃料タンクＴ内への給油が行われたと推定された場合には、燃料レベルセンサ９９に異常が生じていることの診断を行わないようにしている。具体的には、燃料レベルセンサ９９の診断処理に利用する燃料噴射量の積算値（燃料消費量積算値）をクリアし、つまり、この燃料噴射量の積算値を「０」にリセットし、これによって、異常が生じていることの診断を行わないようにしている。これにより、給油が行われたことに起因して燃料レベルセンサ９９の出力に変化が現れないといった状態において、燃料噴射量の積算値のみが増大していくといった状況を回避することで、誤診断を防止するようにしている。
【００５４】
なお、燃料レベルがＦ点を下回る状況になると通常の診断処理が行われる。つまり、燃料レベルセンサ９９の出力値と燃料消費量積算値とが整合しているか否かによる診断処理が行われる。
【００５５】
次に、燃料レベルセンサ９９の診断処理について具体的に説明する。
【００５６】
図３および図４は燃料レベルセンサ９９の診断処理の手順を示すフローチャートである。このフローチャートに示される診断処理は、エンジンＥＣＵ８により所定の周期をもって繰り返し実行される。
【００５７】
まず、ステップＳＴ１において、前記燃料レベルセンサ９９からの出力の現在値（現在の燃料レベルを表す出力信号の値）が、前記ＲＡＭ８３に記憶されている出力最小値（記憶最小値）よりも小さいか否かを判定する。つまり、このフローチャートの１回のルーチン毎に燃料レベルセンサ９９からの出力値をモニタし、この出力値が小さくなる度に（記憶されている出力最小値よりも小さくなる度に）記憶値（記憶最小値）を更新していく場合に、今回の燃料レベルセンサ９９からの出力値が、ＲＡＭ８３に記憶されている出力最小値よりも小さいか否かを判定する。
【００５８】
燃料レベルセンサ９９からの出力の現在値が、記憶されている出力最小値よりも小さく、ステップＳＴ１でＹＥＳ判定された場合にはステップＳＴ２に移り、この現在値（ＥＦＬＳＲＭ）を出力最小値（ＥＦＬＳＲＭＮ）として更新した後、ステップＳＴ３に移る。
【００５９】
一方、燃料レベルセンサ９９からの出力の現在値が、記憶されている出力最小値以上であり、ステップＳＴ１でＮＯ判定された場合には前記出力最小値（ＥＦＬＳＲＭＮ）を更新することなくステップＳＴ３に移る。
【００６０】
ステップＳＴ３では、前記燃料レベルセンサ９９からの出力の現在値が、前記ＲＡＭ８３に記憶されている出力最大値（記憶最大値）よりも大きいか否かを判定する。つまり、このフローチャートの１回のルーチン毎に燃料レベルセンサ９９からの出力値をモニタし、この出力値が大きくなる度に（記憶されている出力最大値よりも大きくなる度に）記憶値（記憶最大値）を更新していく場合に、今回の燃料レベルセンサ９９からの出力値が、ＲＡＭ８３に記憶されている出力最大値よりも大きいか否かを判定する。
【００６１】
燃料レベルセンサ９９からの出力の現在値が、記憶されている出力最大値よりも大きく、ステップＳＴ３でＹＥＳ判定された場合にはステップＳＴ４に移り、この現在値（ＥＦＬＳＲＭ）を出力最大値（ＥＦＬＳＲＭＸ）として更新した後、ステップＳＴ５に移る。
【００６２】
一方、燃料レベルセンサ９９からの出力の現在値が、記憶されている出力最大値以下であり、ステップＳＴ３でＮＯ判定された場合には前記出力最大値（ＥＦＬＳＲＭＸ）を更新することなくステップＳＴ５に移る。
【００６３】
これらステップＳＴ１〜ステップＳＴ４の動作にあっては、車両走行時における車体振動や燃料消費などに起因する燃料タンクＴ内での液面高さの変動が燃料レベルセンサ９９の出力に反映される状況である場合には、前記出力最小値（ＥＦＬＳＲＭＮ）や前記出力最大値（ＥＦＬＳＲＭＸ）が更新されていくことになり、これら出力最小値（ＥＦＬＳＲＭＮ）と出力最大値（ＥＦＬＳＲＭＸ）との乖離が大きくなっていく。つまり、燃料タンクＴ内での液面高さの変動に応じて燃料レベルセンサ９９の出力が正常に変化する場合には、この乖離が大きくなっていく。
【００６４】
ステップＳＴ５では、出力最大値（ＥＦＬＳＲＭＸ）から出力最小値（ＥＦＬＳＲＭＮ）を減算した値、つまり、出力最大値（ＥＦＬＳＲＭＸ）と出力最小値（ＥＦＬＳＲＭＮ）との乖離が所定量α未満であるか否かを判定する。つまり、燃料レベルセンサ９９からの出力値の変化が、燃料タンクＴ内での液面高さの変動が殆ど生じていない場合と同等の出力値の変化となっているか否かを判定する。前記所定量αとして具体的には、燃料レベルで３０ｍｍに相当する値が挙げられる。この値はこれに限定されるものではなく、適宜設定されるが、通常の車両走行状態において車体振動の影響などによる燃料タンクＴ内の液面高さの変動範囲よりも小さい値に設定される。
【００６５】
出力最大値（ＥＦＬＳＲＭＸ）から出力最小値（ＥＦＬＳＲＭＮ）を減算した値が所定量α以上であり、ステップＳＴ５でＮＯ判定された場合には、ステップＳＴ６に移り、前記車体振動等に起因する燃料タンクＴ内での液面高さの変動が燃料レベルセンサ９９の出力に反映される状況であることから、燃料レベルセンサ９９が正常であると判断する。また、後述するスタック中燃料消費量積算値（ＥＶＩＳＴＫＳＵＭ；燃料消費量積算値）、前記出力最大値（ＥＦＬＳＲＭＸ）および前記出力最小値（ＥＦＬＳＲＭＮ）をそれぞれ初期化してリターンされる。
【００６６】
一方、出力最大値（ＥＦＬＳＲＭＸ）から出力最小値（ＥＦＬＳＲＭＮ）を減算した値が所定量α未満であり、ステップＳＴ５でＹＥＳ判定された場合には、ステップＳＴ７に移り、スタック中燃料消費量の積算を行う。つまり、出力最大値（ＥＦＬＳＲＭＸ）から出力最小値（ＥＦＬＳＲＭＮ）を減算した値が所定量α未満である場合には、燃料レベルセンサ９９のフロート９９ａが、その可動範囲内の何れかの場所でスタック（固着）してしまっている可能性があるとして、スタック中であることの仮判定を行い、このスタック中における燃料消費量（インジェクタ４からの燃料噴射量）を積算していく。このスタック中燃料消費量の積算は、後述する積算値のクリア処理が行われるまで（ステップＳＴ１３でクリア処理が行われるまで、または、ステップＳＴ１５で燃料レベルセンサ９９が異常であると判定された場合にクリア処理が行われるまで）継続して行われる。
【００６７】
このスタック中燃料消費量の積算が行われている状態において、ステップＳＴ８（図４）では、燃料レベルセンサ９９の出力値としては、燃料レベルがＦ点を超える範囲内にある場合の値となっているか否かを判定する。つまり、燃料レベルセンサ９９の出力がＦ点に張り付いた状態となっているか否かを判定する。
【００６８】
燃料レベルセンサ９９の出力がＦ点に張り付いた状態となっている場合には、ステップＳＴ８でＹＥＳ判定されてステップＳＴ９に移る。このステップＳＴ９では、Ｆ点張り付き中燃料消費量の積算を行う。つまり、燃料レベルセンサ９９の出力がＦ点に張り付いた状態となっている期間中における燃料消費量（インジェクタ４からの燃料噴射量）を積算していく。
【００６９】
一方、燃料レベルセンサ９９の出力がＦ点に張り付いた状態となっていない場合には、ステップＳＴ８でＮＯ判定されてステップＳＴ１０に移る。このステップＳＴ１０では、前記Ｆ点張り付き中燃料消費量の積算値をクリアする。つまり、前記スタック中であることの判定は、Ｆ点張り付きのスタックではなく、それ以外の範囲でのスタックによるものであるとしてＦ点張り付き中燃料消費量の積算値をクリア（リセット）する。
【００７０】
このようにしてＦ点張り付き中燃料消費量の積算値をクリアした後、ステップＳＴ１４に移り、前記スタック中燃料消費量積算値が所定量γを超えているか否かを判定する。つまり、前記スタック中であるとの判定が行われてからのインジェクタ４の燃料噴射量の積算値が所定量γを超えているにも拘わらず、未だ前記出力最小値（ＥＦＬＳＲＭＮ）と出力最大値（ＥＦＬＳＲＭＸ）との乖離が所定量α未満であってスタック中であると判定される状況にあるか否かを判定する。
【００７１】
スタック中であると判定された直後にあっては、スタック中燃料消費量積算値は未だ小さく、所定量γを超えていないため、ステップＳＴ１４ではＮＯ判定されてリターンされる。つまり、燃料レベルセンサ９９が異常であることの判定は行わずにリターンされる。
【００７２】
一方、燃料レベルセンサ９９の出力がＦ点に張り付いた状態となっていない場合であって（ステップＳＴ８でＮＯ判定されている場合であって）、スタック中であると判定されてから（ステップＳＴ５でＹＥＳ判定されてから）の経過時間が比較的長くなって、スタック中燃料消費量積算値が所定量γを超えた場合には、ステップＳＴ１４でＹＥＳ判定されて、ステップＳＴ１５に移る。このステップＳＴ１５では、燃料レベルセンサ９９に異常が生じていると判断する。つまり、インジェクタ４からの噴射量の積算値が所定量γを超えている（ステップＳＴ１４でＹＥＳ判定された）にも拘わらず、未だ前記出力最小値（ＥＦＬＳＲＭＮ）と出力最大値（ＥＦＬＳＲＭＸ）との乖離が所定量α未満である（ステップＳＴ５でＹＥＳ判定された）ということは、燃料レベルセンサ９９にスタック（Ｆ点以外の範囲、例えば、燃料タンクＴ内の中央位置でのスタック）が発生しているとして、燃料レベルセンサ９９に異常が生じていると判断する。
【００７３】
このようにして燃料レベルセンサ９９に異常が生じていると判断された場合には、車室内のメータパネル上のＭＩＬ（警告灯）を点灯させて運転者に警告を促すと共に、エンジンＥＣＵ８に備えられたダイアグノーシスに異常情報が書き込まれることになる。
【００７４】
一方、前記ステップＳＴ８でＹＥＳ判定され、ステップＳＴ９で、Ｆ点張り付き中燃料消費量の積算が行われている場合には、ステップＳＴ１１で、Ｆ点張り付き中燃料消費量積算値が所定量β未満であるか否かを判定する。この所定量βは、燃料タンクＴ内の満タン状態から燃料レベルをＦ点まで低下させる場合の噴射量積算値に相当する値であって、前記γに比べて所定量だけ小さい値に設定されている。つまり、このステップＳＴ１１では、インジェクタ４からの噴射量の積算値が、燃料レベルをＦ点まで低下させる値に未だ達していないか否かを判定している。
【００７５】
Ｆ点張り付き中燃料消費量積算値が所定量β以上となっており、ステップＳＴ１１でＮＯ判定された場合にはステップＳＴ１４に移り、前述したように、スタック中燃料消費量積算値が所定量γを超えているか否かを判定することによる燃料レベルセンサ９９の異常の有無の判定に移行する。つまり、Ｆ点張り付き中燃料消費量積算値としては、燃料レベルをＦ点以下にまで低下させる値となっているにも拘わらず、燃料レベルセンサ９９からの出力が殆ど変化しない状況では、前記スタック中燃料消費量積算値が所定量γを超えているか否かによって燃料レベルセンサ９９の異常の有無の判定に移行することになる。
【００７６】
一方、Ｆ点張り付き中燃料消費量積算値が所定量β未満であり、ステップＳＴ１１でＹＥＳ判定された場合には、ステップＳＴ１２に移り、燃料タンクＴ内への給油が行われたか否かを判定する。つまり、燃料レベルがＦ点まで低下する前に燃料タンクＴ内への給油が行われたか否かを判定する。
【００７７】
この給油判定は、給油が行われたと推定されるか否か（給油が行われる可能性のある状況であるか否か）の判定であって、前記シフトポジションセンサ９Ａによって検出されているシフトレバー７１の位置がＮ（ニュートラル位置）またはＰ（パーキング位置）にある状態が所定時間以上継続したか否か、ＩＧスイッチ９ＢのＯＦＦ操作が行われたか否か、フューエルキャップセンサ９Ｃによってフューエルキャップ４２の開閉が検知されたか否かの何れかによって行われる。例えばシフトレバー７１の位置がＮまたはＰにある状態が６０ｓｅｃ以上継続した場合、ＩＧスイッチ９ＢのＯＦＦ操作がされた場合、フューエルキャップ４２の開閉が検知された場合の何れかの状況が発生した際に燃料タンクＴ内への給油が行われたと判定（推定）する。これら給油判定のうち複数を組み合わせて給油の有無を判定するようにしてもよい。
【００７８】
燃料タンクＴ内への給油が行われておらず（給油が行われていないと推定され）、ステップＳＴ１２でＮＯ判定された場合にはステップＳＴ１４に移り、前述したように、スタック中燃料消費量積算値が所定量γを超えているか否かを判定することによる燃料レベルセンサ９９の異常の有無の判定に移行する。
【００７９】
一方、燃料タンクＴ内への給油が行われており（給油が行われたと推定され）、ステップＳＴ１２でＹＥＳ判定された場合には、ステップＳＴ１３に移り、前記スタック中燃料消費量積算値をクリア（リセット）する。つまり、燃料レベルがＦ点を超える範囲にあって、この範囲内での燃料が消費された状態で燃料タンクＴ内への給油が行われた場合に（給油が行われたと推定された場合に）、スタック中燃料消費量積算値をクリアする。
【００８０】
このようにスタック中燃料消費量積算値がクリアされたことにより、ステップＳＴ１４では、スタック中燃料消費量積算値が所定量γを超えることがなくなり（本発明でいう「燃料消費量積算値をリセットして、燃料レベルセンサの出力値と燃料消費量積算値とが整合しない状態を解消する」に相当）、このステップＳＴ１４ではＮＯ判定されてリターンされる。つまり、燃料レベルセンサ９９が異常であることの判定は行わずにリターンされる。これにより、燃料レベルセンサ９９に異常が生じていることの診断は行われないことになる。その結果、給油が行われたことで燃料レベルセンサ９９の出力に変化が現れないといった状態において、燃料噴射量の積算値のみが増大していくといった状況を回避し、これによって誤診断を防止することが可能になる。
【００８１】
図５は、この実施形態におけるタンク内燃料レベル、燃料噴射量積算値、センサ出力それぞれの時間的な変化の一例を示している。この図５に示すものでは、図中のタイミングＴ１で給油が行われている。つまり、タンク内燃料レベルがＦ点まで低下する前に給油が行われている。
【００８２】
この図５に示すように、燃料タンクＴ内の燃料量が最大（満タン；Ｆｕｌｌ）となっている状態（タイミングＴ０）からエンジン１が運転されて燃料噴射量積算値がＡに達した時点（タイミングＴ１）では、この燃料噴射量積算値Ａに対応するタンク内燃料レベルの低下位置はＦ点に達しておらず、燃料レベルセンサ９９の出力は変化しない。そして、本実施形態にあっては、この時点で給油が行われ（前記フローチャートにおけるステップＳＴ１１でＹＥＳ判定され且つステップＳＴ１２でＹＥＳ判定された状態）、それに伴って燃料消費量積算値（前記スタック中燃料消費量積算値）がクリアされる（前記フローチャートにおけるステップＳＴ１３の動作）。
【００８３】
この給油に伴って燃料タンクＴ内が満タンとなり、再びエンジン１が運転されて燃料噴射量積算値が増大していく。前記燃料消費量積算値がクリアされたことから、燃料噴射量積算値が図中のｆ（燃料レベルセンサ９９が正常であった場合に出力値の変化が開始される燃料噴射量積算値）を超えるまで、タンク内燃料レベルはＦ点に達することはなく、タンク内燃料レベルがＦ点に達して燃料レベルセンサ９９の出力値が変化した時点で燃料噴射量積算値が図中のｆに到達することになる。この図５では、タイミングＴ２においてタンク内燃料レベルがＦ点に達して燃料レベルセンサ９９の出力値の変化が開始されている（図５に示すものでは、タンク内燃料レベルが低下していくほど燃料レベルセンサ９９の出力値が増大するものとしているが、逆に、出力値が減少するものであってもよい）。このように、燃料レベルセンサ９９の出力値と燃料噴射量積算値とが整合する関係となり、燃料レベルセンサ９９に異常は生じていないと診断されることになる。つまり、給油が行われたことで燃料レベルセンサ９９の出力に変化が現れないといった状態において、燃料噴射量の積算値のみが増大していくといった状況が回避され、これによって誤診断を防止することが可能となっている。
【００８４】
（変形例）
前記実施形態は、燃料タンクＴ内の燃料レベルが前記Ｆ点を超える範囲にある場合の診断処理について説明した。
【００８５】
本発明はこれに限らず、燃料タンクＴ内の燃料レベルが所定量を下回る範囲において、その範囲内で燃料レベルが変化してもセンサ出力値が殆ど変化しないといった不動領域での診断処理にも適用が可能である。前述した如く、この不動領域（センサ出力値が変化しない範囲）の最上点は一般に「Ｅ点」と呼ばれている。
【００８６】
具体的に、燃料タンクＴ内の燃料レベルが前記Ｅ点を下回る範囲では、前記燃料レベルセンサ９９のフロート９９ａが、その可動範囲の最下位置に達しており、燃料レベルが低下してもフロート９９ａがそれ以上移動（下方へ移動）できない状況となっている。つまり、この不動領域では、燃料レベルが変化してもフロート９９ａがその可動範囲の最下位置に維持されたままとなってセンサ出力値が殆ど変化しないことになる。例えば、燃料タンクＴ内に燃料が存在しない燃料残量「０」のレベルから燃料量で１０Ｌ程度高い燃料レベルまでの範囲が不動領域となっている。この不動領域となる燃料量は前記の値には限定されず燃料タンクＴの大きさや形状によって異なる値となる。
【００８７】
このように、Ｅ点よりも低い側の燃料レベルでは、燃料タンクＴ内の燃料量が変化したとしても、燃料レベルセンサ９９の出力値は殆ど変化しないことになる。
【００８８】
このため、例えば、燃料レベルが前記Ｅ点を下回る範囲内でエンジン１の運転（インジェクタ４からの燃料噴射による燃料の消費）と燃料タンクＴ内への給油（少量の給油）とが繰り返された場合にあっては、燃料タンクＴ内の燃料量の変化は、燃料レベルセンサ９９の出力に現れないことになる。
【００８９】
このような状況においても、前記実施形態の場合と同様に、燃料レベルがＥ点を下回る範囲にあって、この範囲内で燃料が消費された状態で燃料タンクＴ内への給油が行われた場合（給油が行われたと推定された場合）には、燃料噴射量の積算値を「０」にリセットする。具体的には、燃料レベルセンサ９９の診断処理に利用する燃料噴射量の積算値（燃料レベルがＥ点まで低下した時点からの燃料噴射量の積算値）をクリアし、つまり、この燃料噴射量の積算値を「０」にリセットする。これによれば、燃料噴射量の積算値がリセットされることなしに積算された場合に、燃料残量が「０」となったことの誤診断を防止することができる。つまり、前記給油が行われたことで、燃料タンクＴ内に未だ燃料が残っている（Ｅ点を下回る範囲で燃料が残っている）にも拘わらず、燃料残量が「０」となったと判断してしまうことを防止できる。
【００９０】
−他の実施形態−
以上説明した実施形態および変形例では直列４気筒ガソリンエンジンに本発明を適用した場合について説明した。本発明にあっては、気筒数やエンジンの形式（Ｖ型や水平対向型等）は特に限定されるものではない。また、ディーゼルエンジンに対しても本発明は適用が可能である。また、エタノール単体の燃料を使用するエンジンや、エタノールとガソリンとの混合燃料が使用可能な多種燃料エンジンに対しても本発明は適用が可能である。
【００９１】
また、前記実施形態および変形例では、燃料消費量積算値をインジェクタ４からの燃料噴射量の積算値としていた。本発明はこれに限らず、燃料タンクＴ内で発生した蒸発燃料を吸気通路２に供給する蒸発燃料処理装置を搭載した場合に、この蒸発燃料処理装置によって吸気通路２に供給された燃料量の積算値を前記インジェクタ４からの燃料噴射量の積算値に加算し、この値を燃料消費量積算値として扱うようにしてもよい。
【００９２】
また、前記実施形態および変形例では、燃料レベルが前記不動領域にある状態で燃料タンクＴ内への給油が行われた場合（給油が行われたと推定された場合）に、燃料消費量積算値をリセットすることで、燃料レベルセンサ９９に異常が生じていることの診断が行われないようにしていた。本発明は、これに限らず、燃料レベルが前記不動領域にある状態で燃料タンクＴ内への給油が行われた場合（給油が行われたと推定された場合）には、燃料レベルセンサ９９の診断を実行しないようにしてもよい。例えば前記図４のフローチャートにおいて、ステップＳＴ１２でＹＥＳ判定された場合（給油有りと判定された場合）に、そのままリターンすることで燃料レベルセンサ９９の診断を実行しないようにすることが挙げられる。
【００９３】
また、前記実施形態および変形例ではコンベンショナル車両（駆動力源としてエンジン１のみを搭載した車両）に本発明を適用した場合について説明したが、ハイブリッド車両（駆動力源としてエンジンおよび電動モータを搭載した車両）に対しても本発明は適用可能である。
【産業上の利用可能性】
【００９４】
本発明は、車両に搭載された燃料タンク内の燃料レベルを検出する燃料レベルセンサの診断装置に適用可能である。
【符号の説明】
【００９５】
１        エンジン（内燃機関）
４        インジェクタ
４２      フューエルキャップ
８        エンジンＥＣＵ
９９      燃料レベルセンサ
９Ａ      シフトポジションセンサ
９Ｂ      ＩＧスイッチ
９Ｃ      フューエルキャップセンサ
Ｔ        燃料タンク
【図１】
2015021452.tif 000003
【図２】
2015021452.tif 000004
【図３】
2015021452.tif 000005
【図４】
2015021452.tif 000006
【図５】
2015021452.tif 000007
【図６】
2015021452.tif 000008