(57)【要約】【課題】固着誤検出を回避しつつ、走行中の満量付近または空付近における固着検出に要する時間を短縮する。【解決手段】ＣＰＵ１ａは、燃料噴射量の積算値を算出するために、車両の走行状態に拘わらずに積算する総積算処理と、車両が走行中であるときに積算する部分積算処理とを選択的に実施し、かつ燃料レベルセンサ２が検出した残量の変化量が規定変化量となる毎に積算値を初期値にリセットする。ＣＰＵ１ａは、燃料レベルセンサ２が検出した残量が閾値ＴＨmin以上、かつ閾値ＴＨmax以下であるときには総積算処理を実施し、燃料レベルセンサ２が検出した残量が閾値ＴＨmin未満であるかまたはＴＨmaxより大きな状態のときには部分積算処理を実施する。ＣＰＵ１ａは、燃料レベルセンサ２が検出した残量と積算値との比較に基づいて燃料レベルセンサ２の異常を判定する。【選択図】図１
2014009597.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載された燃料タンク内の燃料の残量を検出する燃料レベルセンサを診断する燃料レベルセンサ診断装置であって、
単位時間における前記燃料の消費量と相関を有する数値を取得する取得手段と、
前記取得手段が取得した数値の積算値を算出するために、前記取得手段が取得した数値を前記車両の走行状態に拘わらずに積算する総積算処理と、前記取得手段が取得した数値を前記車両が走行中であるときに積算する部分積算処理とを選択的に実施する積算手段と、
前記燃料レベルセンサが検出した残量が第１の規定量以上、かつ前記第１の規定量よりも大きな第２の規定量以下である第１の状態のときには前記総積算処理を実施し、前記残量が前記第１の規定量未満である第２の状態か、または前記残量が前記第２の規定量より大きい第３の状態のときには前記部分積算処理を実施するよう前記積算手段を制御する制御手段と、
前記燃料レベルセンサが検出した残量と前記積算手段が算出した積算値との比較に基づいて前記燃料レベルセンサの異常を判定する異常判定手段とを具備することを特徴とする燃料レベルセンサ診断装置。
【請求項２】
前記積算手段は、前記燃料レベルセンサが検出した残量の変化量が規定変化量となる毎に前記積算値を初期値にリセットし、
前記異常判定手段は、前記積算手段により算出した積算値が前記変化量よりも大きな限度値に達したことに応じて前記燃料レベルセンサが異常であると判定することを特徴とする請求項１に記載の燃料レベルセンサ診断装置。
【請求項３】
前記車両の走行速度に相関する数値を取得する車速取得手段をさらに備え、
前記積算手段は、前記車速取得手段が取得した数値が既定値以上であるときに前記部分積算処理を実施することを特徴とする請求項１または２に記載の燃料レベルセンサ診断装置。
【請求項４】
前記制御手段は、前記第２または第３の状態から前記第１の状態に変化した場合には、前記積算手段が前記積算値を次にリセットするまでは前記第２の積算処理を実施するよう前記積算手段を制御することを特徴とする請求項１〜３のいずれか一項に記載の燃料レベルセンサ診断装置。
【請求項５】
前記燃料タンクは、
第１および第２の燃料タンクと、
消費する燃料は前記第１の燃料タンクから取り出されるようになっていて、さらに前記第１の燃料タンクが蓄える燃料の減少を補うように前記第２の燃料タンクが蓄える燃料を前記第１の燃料タンクへと送る機構とを備え、
前記燃料レベルセンサは、前記第１および第２の燃料タンク内の燃料残量をそれぞれ検出する第１および第２の燃料レベルセンサを備え、
前記積算手段は、
前記取得手段が取得した数値についての第１の積算値を算出するために、前記取得手段が取得した数値を前記車両の走行状態に拘わらずに積算する第１の総積算処理と、前記取得手段が取得した数値を前記車両が走行中であるときに積算する第２の部分積算処理とを選択的に実施する第１の積算手段と、
前記取得手段が取得した数値についての第２の積算値を算出するために、前記取得手段が取得した数値を前記車両の走行状態に拘わらずに積算する第２の総積算処理と、前記取得手段が取得した数値を前記車両が走行中であるときに積算する第２の部分積算処理とを選択的に実施する第２の積算手段とを備え、
前記制御手段は、
前記第１の燃料レベルセンサが検出した残量である第１の燃料残量が第１の規定量以上、かつ第１の規定量よりも大きな第２の規定量以下である第１の状態のときには前記第１の総積算処理を実施し、前記第１の燃料残量が前記第１の規定量未満である第２の状態か、または前記第１の燃料残量が前記第２の規定量よりも大きい第３の状態のときには前記第１の部分積算処理を実施するよう前記第１の積算手段を制御する第１の制御手段と、
前記第２の燃料レベルセンサが検出した残量である第２の燃料残量が第３の規定量以上、かつ前記第３の規定量よりも大きな第４の規定量以下である第４の状態のときには前記第２の総積算処理を実施し、前記第２の燃料残量が前記第３の規定量未満である第５の状態か、または前記第２の燃料残量が前記第４の規定量より大きい第６の状態のときには前記第２の部分積算処理を実施するよう前記第２の積算手段を制御する第２の制御手段とを備え、
前記異常判定手段は、
前記第１の燃料残量と前記第１の積算手段が算出した第１の積算値との比較に基づいて前記第１の燃料レベルセンサの異常を判定する第１の異常判定手段と、
前記第２の燃料残量と前記第２の積算手段が算出した第２の積算値との比較に基づいて前記第２の燃料レベルセンサの異常を判定する第２の異常判定手段とを備え、
前記第１の制御手段は、前記第１の燃料残量が前記第３の状態のときであり、かつ前記第２の燃料残量が前記第４または第６の状態の場合には、前記第１の部分積算処理の実施を禁止し、
前記第２の制御手段は、前記第２の燃料残量が前記第５の状態のときであり、かつ前記第１の燃料残量が前記第１または第２の状態の場合には、前記第２の部分積算処理の実施を禁止することを特徴とする請求項１から４のいずれか一項に記載の燃料レベルセンサ診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載された燃料タンク内の燃料の残量を検出する燃料レベルセンサを診断する燃料レベルセンサ診断装置に関する。
【背景技術】
【０００２】
特許文献１には、燃料レベルゲージが検出した燃料レベルを燃料噴射量積算値が判定値に達する毎に記録し、ｎ回目に記録した燃料レベルとｎ−１回目に記録した燃料レベルとの差が所定値未満であるときに燃料レベルゲージの異常と判定する技術が開示されている。
【０００３】
特許文献１にはさらに、判定値を燃料レベルに応じて変更することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−０１０５７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１における燃料レベルゲージは、燃料タンク内の燃料レベルに応じて上下方向に揺動する燃料レベルゲージフロートを有し、この燃料レベルゲージフロートの位置に基づいて燃料レベルを検出するものである。
【０００６】
この種の燃料レベルゲージ（燃料レベルセンサ）には、燃料タンク内の燃料の残量が満量付近または空付近であるときには、実際の燃料消費量に比べて検出出力の変化が小さくなるものがある。そしてこのような燃料レベルセンサを用いた場合に残量が満量付近または空付近であるときの固着誤検出を防止するためのものがある（特許文献１）。特許文献１では、異常の判定を開始するトリガとなる燃料噴射量積算値の判定値を燃料レベルに応じて複数有し、燃料噴射量積算値が判定値を越えた際に異常判定設定値との比較に移行している。しかし、このような方法では燃料噴射量積算値が判定値に達するまで判定が行われないため、燃料レベルセンサの診断頻度が限られており、固着のタイミングによっては固着と判定されるまでに長時間を要してしまう恐れがあった。
【０００７】
本発明は、固着誤検出を回避しつつ、走行中の満量付近または空付近における固着検出に要する時間を短縮することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に記載される発明の燃料レベルセンサ診断装置は、車両に搭載された燃料タンク内の燃料の残量を検出する燃料レベルセンサを診断する燃料レベルセンサ診断装置であって、単位時間における前記燃料の消費量と相関を有する数値を取得する取得手段と、前記取得手段が取得した数値の積算値を算出するために、前記取得手段が取得した数値を前記車両の走行状態に拘わらずに積算する総積算処理と、前記取得手段が取得した数値を前記車両が走行中であるときに積算する部分積算処理とを選択的に実施する積算手段と、前記燃料レベルセンサが検出した残量が第１の規定量以上、かつ前記第１の規定量よりも大きな第２の規定量以下である第１の状態のときには前記総積算処理を実施し、前記残量が前記第１の規定量未満である第２の状態か、または前記残量が前記第２の規定量より大きい第３の状態のときには前記部分積算処理を実施するよう前記積算手段を制御する制御手段と、前記燃料レベルセンサが検出した残量と前記積算手段が算出した積算値との比較に基づいて前記燃料レベルセンサの異常を判定する異常判定手段とを備える。
【０００９】
請求項２に記載される発明の燃料レベルセンサ診断装置は、請求項１の記載における前記積算手段が、前記燃料レベルセンサが検出した残量の変化量が規定変化量となる毎に前記積算値を初期値にリセットし、前記異常判定手段は、前記積算手段により算出した積算値が前記変化量よりも大きな限度値に達したことに応じて前記燃料レベルセンサが異常であると判定する。
【００１０】
請求項３に記載される発明の燃料レベルセンサ診断装置は、請求項１または２における燃料レベルセンサ診断装置に前記車両の走行速度に相関する数値を取得する車速取得手段をさらに備え、前記積算手段が、前記車速取得手段が取得した数値が既定値以上であるときに前記部分積算処理を実施する。
【００１１】
請求項４に記載される発明の燃料レベルセンサ診断装置は、請求項１〜３のいずれか一項おける前記制御手段が、前記第２または第３の状態から前記第１の状態に変化した場合には、前記積算手段が前記積算値を次にリセットするまでは前記第２の積算処理を実施するよう前記積算手段を制御する。
【００１２】
請求項５に記載される発明の燃料レベルセンサ診断装置は、請求項１〜４のいずれか一項おける前記燃料タンクは、第１および第２の燃料タンクと、消費する燃料は前記第１の燃料タンクから取り出されるようになっていて、さらに前記第１の燃料タンクが蓄える燃料の減少を補うように前記第２の燃料タンクが蓄える燃料を前記第１の燃料タンクへと送る機構とを備え、前記燃料レベルセンサは、前記第１および第２の燃料タンク内の燃料残量をそれぞれ検出する第１および第２の燃料レベルセンサを備え、前記積算手段は、前記取得手段が取得した数値についての第１の積算値を算出するために、前記取得手段が取得した数値を前記車両の走行状態に拘わらずに積算する第１の総積算処理と、前記取得手段が取得した数値を前記車両が走行中であるときに積算する第２の部分積算処理とを選択的に実施する第１の積算手段と、前記取得手段が取得した数値についての第２の積算値を算出するために、前記取得手段が取得した数値を前記車両の走行状態に拘わらずに積算する第２の総積算処理と、前記取得手段が取得した数値を前記車両が走行中であるときに積算する第２の部分積算処理とを選択的に実施する第２の積算手段とを備え、前記制御手段は、前記第１の燃料レベルセンサが検出した残量である第１の燃料残量が第１の規定量以上、かつ第１の規定量よりも大きな第２の規定量以下である第１の状態のときには前記第１の総積算処理を実施し、前記第１の燃料残量が前記第１の規定量未満である第２の状態か、または前記第１の燃料残量が前記第２の規定量よりも大きい第３の状態のときには前記第１の部分積算処理を実施するよう前記第１の積算手段を制御する第１の制御手段と、前記第２の燃料レベルセンサが検出した残量である第２の燃料残量が第３の規定量以上、かつ前記第３の規定量よりも大きな第４の規定量以下である第４の状態のときには前記第２の総積算処理を実施し、前記第２の燃料残量が前記第３の規定量未満である第５の状態か、または前記第２の燃料残量が前記第４の規定量より大きい第６の状態のときには前記第２の部分積算処理を実施するよう前記第２の積算手段を制御する第２の制御手段とを備え、前記異常判定手段は、前記第１の燃料残量と前記第１の積算手段が算出した第１の積算値との比較に基づいて前記第１の燃料レベルセンサの異常を判定する第１の異常判定手段と、前記第２の燃料残量と前記第２の積算手段が算出した第２の積算値との比較に基づいて前記第２の燃料レベルセンサの異常を判定する第２の異常判定手段とを備え、前記第１の制御手段が、前記第１の燃料残量が前記第３の状態のときであり、かつ前記第２の燃料残量が前記第４または第６の状態の場合には、前記第１の部分積算処理の実施を禁止し、前記第２の制御手段が、前記第２の燃料残量が前記第５の状態のときであり、かつ前記第１の燃料残量が前記第１または第２の状態の場合には、前記第２の部分積算処理の実施を禁止する。
【発明の効果】
【００１３】
本発明によれば、固着誤検出を回避しつつ、走行中の満量付近または空付近における固着検出に要する時間を短縮できる診断装置を提供できる。
【図面の簡単な説明】
【００１４】
【図１】第１の実施形態に係る診断装置を搭載した自動車の一部の構成を示す図。
【図２】図１中の燃料タンク内の燃料の残量とＦＬＳ出力との関係を表す図。
【図３】診断処理のフローチャート。
【図４】モニタ実施条件の成立／不成立、変数INJSUM、ＦＬＳ値、車速および積算処理の実施／不実施の経時変化の一例を表す図。
【図５】モニタ実施条件の成立／不成立、変数INJSUM、ＦＬＳ値、車速および積算処理の実施／不実施の経時変化の一例を表す図。
【図６】モニタ実施条件の成立／不成立、変数INJSUM、ＦＬＳ値、車速および積算処理の実施／不実施の経時変化の一例を表す図。
【図７】モニタ実施条件の成立／不成立、変数INJSUM、ＦＬＳ値、車速および積算処理の実施／不実施の経時変化の一例を表す図。
【図８】第２の実施形態における診断装置を搭載した自動車の一部の構成を示す図。
【図９】図８中の燃料タンク内の燃料の残量とＦＬＳ出力との関係を表す図。
【図１０】第１の診断処理のフローチャート。
【図１１】第２の診断処理のフローチャート。
【発明を実施するための形態】
【００１５】
（第１の実施形態）
本発明の第１の実施形態に係る燃料レベルセンサ診断装置（以下、診断装置と略記する）を、図１〜７を用いて説明する。
【００１６】
図１は診断装置１を搭載した自動車１００の一部の構成を示す図である。
【００１７】
自動車１００は、診断装置１、燃料レベルセンサ（ＦＬＳ：fuel level sensor）２、燃料タンク３、燃料ポンプ４、燃料パイプ５、インジェクタ６、ＥＣＵ（electronic control unit）７、吸気量センサ８および速度計９を含む。自動車１００は、図１に示すこれらの各要素の他に、既存の自動車が備える各種の要素を含むがそれらの図示は省略している。
【００１８】
診断装置１は、燃料レベルセンサ２の動作状況を診断する。
【００１９】
燃料レベルセンサ２は、燃料タンク３の内部に配置されている。燃料レベルセンサ２は、フロート２ａを含む。フロート２ａは、燃料タンク３内の燃料Ｆの液面ＦＬで浮き、その液面のレベルに応じて上下方向に位置を変える。燃料レベルセンサ２は、フロート２ａの位置に応じた値を出力する。燃料レベルセンサ２は典型的には、フロート２ａの位置を抵抗値として検出し、抵抗値をそのまま出力する場合と、抵抗値を燃料残量の割合に換算して出力する場合とがある。本実施形態においては、燃料レベルセンサ２は、フロート２ａの可動範囲の幅とその可動範囲の最下端からフロート２ａの現在位置までの距離とのパーセンテージを出力することとする。燃料レベルセンサ２の出力を、以降においてはＦＬＳ出力と称する。
【００２０】
なお、燃料Ｆは燃料ポンプ４によって燃料パイプ５を介してインジェクタ６へと供給されて、図示しないエンジンの吸気ポート内へと噴射される。インジェクタ６による燃料噴射量は、ＥＣＵ７によって制御される。ＥＣＵ７は、吸気ポートから燃焼室への吸入空気量の吸気量センサ８での検出値に応じて燃料噴射量を決める。
【００２１】
ＥＣＵ７には、自動車１００の走行速度、すなわち車速を検出する速度計９も接続されている。
【００２２】
さて診断装置１は、ＣＰＵ（central processing unit）１ａ、ＲＯＭ（read-only memory）１ｂ、ＲＡＭ（random-access memory）１ｃ、通信デバイス１ｄおよびインタフェースユニット（Ｉ／Ｆ）１ｅを含む。そしてこれらの各要素は、バス１ｆにそれぞれ接続されている。
【００２３】
ＣＰＵ１ａは、ＲＯＭ１ｂに記憶された診断処理プログラムに基づいて後述する診断処理を行う。
【００２４】
ＲＯＭ１ｂは、上記の診断処理プログラムを記憶する。
【００２５】
ＲＡＭ１ｃは、ＣＰＵ１ａが各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。
【００２６】
診断処理プログラムは、ＥＥＰＲＯＭなどの別の補助記憶デバイスを備えて、そこに診断処理プログラムを記憶しても良い。なお、診断処理プログラムを補助記憶デバイスが記憶する場合、診断装置１、診断装置１を含んだユニット、あるいは診断装置１を搭載した自動車１００の譲渡は、一般的に上記の診断処理プログラムが補助記憶デバイスに記憶された状態にて行われる。しかし、診断装置１、診断装置１を含んだユニット、あるいは診断装置１を搭載した自動車１００が上記の診断処理プログラムが補助記憶デバイスに記憶されない状態で譲渡されるとともに、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して上記の診断処理プログラムが譲渡され、このように譲渡された診断処理プログラムが補助記憶デバイスに書き込まれても良い。
【００２７】
通信デバイス１ｄは、ＥＣＵ７との間で例えばＣＡＮ（control area network）を介したデータ通信を行う。
【００２８】
インタフェースユニット１ｅは、ＦＬＳ出力を取り込む。
【００２９】
次に以上のように構成された自動車１００における診断装置１の動作について説明する。なお、本実施形態の自動車１００は既存の別の自動車が備えるのと同様な様々な機能を備えるが、それらの機能に関する動作は既存の別の自動車と同様であるので、その詳細な説明は省略する。そして以下においては、診断装置１による燃料レベルセンサ２の診断処理に関して詳細に説明する。
【００３０】
診断処理の説明に先立ち、燃料レベルセンサ２について説明する。
【００３１】
図１において実線で表したフロート２ａは、最上端に位置する状態を示している。また図１において破線で表したフロート２ａは、最下端に位置する状態を示している。かくしてフロート２ａは、図１にＲａで表す範囲を可動範囲とする。
【００３２】
図１において、破線ＬHは燃料Ｆの液面ＦＬの最高レベルを表し、破線ＬLは液面ＦＬの最低レベルを表す。なお、破線ＬLのレベルよりも下に存在する燃料Ｆを燃料ポンプ４が吸い上げることができないため、液面ＦＬが最低レベルＬLにある状態が残量ゼロの状態となる。
【００３３】
かくして、フロート２ａの可動範囲Ｒａは液面ＦＬの変動範囲よりも狭く、燃料タンク３内の燃料Ｆの残量が満量付近または空付近であるときには、フロート２ａの位置は液面ＦＬの変化に追従しない。
【００３４】
図２は燃料タンク３内の燃料Ｆの残量とＦＬＳ出力との関係を表す図である。
【００３５】
図２において実残量０％は液面ＦＬが最低レベルＬLにある状態に相当し、実残量１００％は液面ＦＬが最高レベルＬHにある状態に相当する。ＦＬＳ出力１００％はフロート２ａが図１に実線で表す状態にあるときに相当し、ＦＬＳ出力０％はフロート２ａが図１に破線で示す状態にあるときに相当する。
【００３６】
図３は診断処理のフローチャートである。
【００３７】
ＣＰＵ１ａは、診断処理を実行していないときに、図３に示す診断処理を一定の時間間隔で繰り返し開始する。診断処理を開始する時間間隔は、診断装置１の設計者などにより任意に定められて良い。
【００３８】
ステップＳａ１においてＣＰＵ１ａは、診断のための燃料レベルセンサ２のモニタを実施するか否かを判定するための条件（以下、モニタ実施条件と称する）が成立しているか否かを確認する。このモニタ実施条件は、診断装置１の設計者などにより任意に定められ、診断処理プログラム中に記述される。モニタ実施条件は例えば、イグニションスイッチがオンであり、速度計９が検出した車速をＥＣＵ７から取得できる状況であり、かつエンスト状態およびエンジン始動時ではないこととする。そしてモニタ実施条件が成立せず、ステップＳａ１でＮＯと判定した場合には、ＣＰＵ１ａは診断処理を終了する。このため、モニタ実施条件が成立しない状況にあっては、ＣＰＵ１ａは図３に示す診断処理を一定の時間間隔で繰り返し開始することとなり、モニタ実施条件が成立するのを待ち受けることになる。そしてモニタ実施条件が成立するためにステップＳａ１でＹＥＳと判定したならばＣＰＵ１ａは、ステップＳａ１からステップＳａ２へ進む。
【００３９】
ステップＳａ２においてＣＰＵ１ａは、単位時間が経過したか否かを確認する。そしてここでＮＯと判定したならばＣＰＵ１ａは、ステップＳａ１に戻る。かくしてＣＰＵ１ａは、ステップＳａ１およびステップＳａ２の待ち受け状態となる。なお、ステップＳａ２においてＣＰＵ１ａは、この待ち受け状態に入った時点からの経過時間が単位時間以上となったか否かを確認する。単位時間は、診断装置１の設計者などにより任意に定められて良い。ただし単位時間は、後述する閾値ＴＨVに相当する量の燃料Ｆを消費するのに要する最短の時間よりも十分に短く定めることとする。
【００４０】
モニタ実施条件が成立した状態のままで単位時間が経過したならば、ＣＰＵ１ａはステップＳａ２でＹＥＳと判定し、ステップＳａ３へと進む。
【００４１】
ステップＳａ３においてＣＰＵ１ａは、ＦＬＳ値をインタフェースユニット１ｅを介して取り込み、このＦＬＳ値が閾値ＴＨmin以上で、かつ閾値ＴＨmax以下であるか否かを確認する。閾値ＴＨminおよび閾値ＴＨmaxは、それぞれ診断装置１の設計者などにより任意に定められて良い。ただし閾値ＴＨminはＦＬＳ出力の最低値より若干大きな値として、閾値ＴＨmaxはＦＬＳ出力の最高値より若干小さな値として、図２に示すような値として定めることとする。従って、ＴＨmin＜ＴＨmaxである。ＴＨminは例えば５％、ＴＨmaxは例えば９５％と定めることが想定される。そしてＦＬＳ値がＴＨmin未満であるか、または閾値ＴＨmaxよりも大きいためにここでＮＯと判定したならばＣＰＵ１ａは、ステップＳａ４へ進む。
【００４２】
ステップＳａ４においてＣＰＵ１ａは、継続フラグＦをセットする。継続フラグＦは、ＲＡＭ１ｃの１ビットまたは数ビットを利用する。そしてこののちにＣＰＵ１ａは、後述するステップＳａ６へ進む。
【００４３】
一方でＦＬＳ値が閾値ＴＨmin以上で、かつ閾値ＴＨmax以下であるためにステップＳａ３でＹＥＳと判定したならばＣＰＵ１ａは、ステップＳａ５へ進む。
【００４４】
ステップＳａ５においてＣＰＵ１ａは、継続フラグＦがセットされているか否かを確認する。そして、継続フラグＦがセットされているためにここでＹＥＳと判定したならばＣＰＵ１ａは、ステップＳａ５からステップＳａ６へと進む。
【００４５】
ステップＳａ６においてＣＰＵ１ａは、速度計９が検出した車速をＥＣＵ７および通信デバイス１ｄを介して取得し、この車速が閾値ＴＨSよりも大きいか否かを確認する。閾値ＴＨSは自動車１００が走行しているか否かを判定するためのものであり、診断装置１の設計者などにより小さな値に定められる。閾値ＴＨSは例えば、１．５ｋｍ／ｈとすることが想定される。そして自動車１００が走行していることが確かであり、車速が閾値ＴＨSよりも大きいためにステップＳａ６にてＹＥＳと判定したならばＣＰＵ１ａは、ステップＳａ７へと進む。なお、継続フラグＦがリセットされているためにステップＳａ５でＮＯと判定した場合にもＣＰＵ１ａはステップＳａ７へと進む。
【００４６】
ステップＳａ７においてＣＰＵ１ａは、現時点までの単位時間に渡る期間におけるインジェクタ６からの燃料噴射量をＥＣＵ７から通信デバイス１ｄを介して取得し、この燃料噴射量を変数INJSUMの値に加算する。かくして変数INJSUMは燃料噴射量の積算値を表す。燃料噴射量は、燃料Ｆの消費量とほぼ一致し、燃料の消費量と相関を有する数値の一例である。従ってＣＰＵ１ａは、単位時間における燃料の消費量と相関を有する数値を取得する取得手段として機能する。
【００４７】
そしてステップＳａ８においてＣＰＵ１ａは、ステップＳａ７で新たに求まった変数INJSUMの値が閾値ＴＨL以上であるか否かを確認する。閾値ＴＨLは診断装置１の設計者などにより任意に定められて良いが、後述する閾値ＴＨVよりも大きな値に定めることとする。閾値ＴＨLは例えば１０リットルと定めることが想定される。変数INJSUMの値が閾値ＴＨL未満であるためにステップＳａ８にてＮＯと判定したならばＣＰＵ１ａは、ステップＳａ９へ進む。なお、車速が閾値ＴＨS以下であるためにステップＳａ６にてＮＯと判定したならばＣＰＵ１ａは、ステップＳａ９へ進む。
【００４８】
ステップＳａ９においてＣＰＵ１ａは、ステップＳａ３にて取り込んだＦＬＳ値の変数ＲＡ0に対する差としてＦＬＳ値の変化量ΔＦＬＳを求め、これが閾値ＴＨV未満であるか否かを確認する。変数ＲＡ0については後述する。閾値ＴＨVは診断装置１の設計者などにより任意に定められて良いが、前述したように閾値ＴＨLよりも大きな値に定めることとする。閾値ＴＨLは例えば、２リットルと定めることが想定される。そして、変化量ΔＦＬＳが閾値ＴＨV未満であり、ステップＳａ９でＹＥＳと判定したならばＣＰＵ１ａは、ステップＳａ１およびステップＳａ２の待ち受け状態に戻る。しかしながら、変化量ΔＦＬＳが閾値ＴＨV以上であり、ステップＳａ９でＮＯと判定したならばＣＰＵ１ａは、ステップＳａ１０へ進む。
【００４９】
ステップＳａ１０においてＣＰＵ１ａは、変数INJSUMを予め定められた初期値にリセットするとともに、ステップＳａ３にて取り込んだＦＬＳ値を変数ＲＡ0に代入する。かくして変数ＲＡ0は、変数INJSUMを最も新しくリセットした際のＦＬＳ値を表す。かくして前述のステップＳａ９においては、変数INJSUMを最も新しくリセットした際から現在までのＦＬＳ値の変化量ΔＦＬＳが閾値ＴＨV未満であるか否かを確認していることになる。なお、初期値は診断装置１の設計者などにより任意に定められて良いが、典型的には０である。
【００５０】
ステップＳａ１１においてＣＰＵ１ａは、ステップＳａ３にて取り込んだＦＬＳ値が閾値ＴＨmaxよりも大きいか否かを確認する。そしてＣＰＵ１ａは、ここでＹＥＳと判定したならばステップＳａ１およびステップＳａ２の待ち受け状態に戻り、ＮＯと判定したならばステップＳａ１２へと進む。
【００５１】
ステップＳａ１２においてＣＰＵ１ａは、継続フラグＦをリセットする。そしてこののちにＣＰＵ１ａは、ステップＳａ１およびステップＳａ２の待ち受け状態に戻る。つまりＣＰＵ１ａは、変数INJSUMを最も新しくリセットした際の燃料Ｆの実残量が満量付近ではないときに継続フラグＦをリセットする。なお、ステップＳａ３にて取り込んだＦＬＳ値が閾値ＴＨmaxよりも大きいためにステップＳａ１１にてＹＥＳと判定したならばＣＰＵ１ａは、ステップＳａ１１からステップＳａ１２をパスしてステップＳａ１およびステップＳａ２の待ち受け状態に戻る。
【００５２】
以上のような処理の結果としてステップＳａ３乃至ステップＳａ６においてＣＰＵ１ａは、次の３つの状態のいずれかであるか否かを判断する。
【００５３】
(1)  燃料Ｆの実残量が空付近または満量付近ではなく、かつＦＬＳ値が最も新しく閾値ＴＨmaxを下回るか、閾値ＴＨminを上回った後に燃料噴射量の積算値のリセットが一度でもなされている状態。
【００５４】
(2)  燃料Ｆの実残量が空付近または満量付近ではなく、ＦＬＳ値が最も新しく閾値ＴＨmaxを下回るか、閾値ＴＨminを上回った後に燃料噴射量の積算値のリセットが一度もなされておらず、かつ自動車１００が規定速度以上で走行している状態。
【００５５】
(3)  燃料Ｆの実残量が空付近または満量付近であり、かつ自動車１００が規定速度以上で走行している状態。
【００５６】
そしてＣＰＵ１ａは、上記の３つの状態のいずれかであるときにステップＳａ７にて燃料噴射量の積算を行い、それ以外の状態では燃料噴射量を積算しない。
【００５７】
かくしてＣＰＵ１ａは、単位時間における燃料Ｆの消費量と相関を有する数値（燃料噴射量）の積算値を算出するために、上記の数値を速度計９が計測した走行速度（車速）に拘わらずに積算する第１の積算処理と、上記の数値を速度計９が計測した走行速度が規定速度（閾値ＴＨS）以上であるときにのみ積算する第２の積算処理とを選択的に実施するとともに、燃料Ｆの残量の変化量ΔＦＬＳが規定変化量（閾値ＴＨV）となる毎に積算値を初期値にリセットするのであり、積算手段として機能する。さらにＣＰＵ１ａは、燃料レベルセンサ２が検出した残量が第１の規定量（閾値ＴＨmin）以上、かつ第１の規定量よりも大きな第２の規定量（閾値ＴＨmax）未満である第１の状態のときには第１の積算処理を実施し、燃料レベルセンサ２が検出した残量が第１の規定量未満または前記第２の規定量以上である第２または第３の状態のときには第２の積算処理を実施するように制御するのであり、制御手段として機能する。
【００５８】
そして、上記のようにして求めた積算値を表した変数INJSUMが閾値ＴＨL以上になったならば、ＣＰＵ１ａはステップＳａ８にてＹＥＳと判定し、ステップＳａ１３へ進む。
【００５９】
ステップＳａ１３においてＣＰＵ１ａは、予め定めた異常処理を実行する。この異常処理の内容は診断装置１の設計者などにより任意に定められて良い。異常処理としては例えば、燃料レベルセンサ２が故障している旨を通知するためのコマンドを通信デバイス１ｄを介してＥＣＵ７に送る処理とすることが想定される。そして異常処理を終えたならばＣＰＵ１ａは、図３に示す診断処理を終了する。かくしてＣＰＵ１ａは、積算値が限度値以上となったことに応じて燃料レベルセンサ２が異常であると判定しているのであり、異常判定手段として機能する。
【００６０】
なお、異常処理を行った上で診断処理を終了した場合には、前述したように一定の時間間隔で診断処理を再開しても良いし、異常に対する何らかの対処が行われたことに応じて診断処理を再開するよう例えばＥＣＵ７から指示されたことを受けてから診断処理を再開しても良い。
【００６１】
以上の診断処理による実現される動作の具体例について説明する。
【００６２】
図４から図７はモニタ実施条件の成立／不成立、変数INJSUM、ＦＬＳ値、車速および積算処理の実施／不実施の経時変化の一例を表す図である。
【００６３】
図４のＴ１時点においてモニタ実施条件が成立したが、このＴ１時点から始まる期間Ｐ１においてはＦＬＳ値が閾値ＴＨmaxよりも大きく、かつ車速も閾値ＴＨS以下であるために積算処理は不実施とされ、変数INJSUMは変化しない。
【００６４】
期間Ｐ２においては、ＦＬＳ値は閾値ＴＨmax未満のままであるが、車速が閾値ＴＨSよりも大きいために積算処理が実施され、変数INJSUMが変化する。ただし、時点Ｔ２，Ｔ３ではそれぞれ、ＦＬＳ値の変化量ΔＦＬＳ(1)，ΔＦＬＳ(2)が閾値ＴＨV以上になったことに応じてリセットされている。また、当初は変数ＲＡ0の値は、当初のＲＡ0(1)からＲＡ0(2)，ＲＡ0(3)と順次に変化している。
【００６５】
そして、時点Ｔ４において車速が閾値ＴＨS以下に低下したことに応じて、積算処理が不実施とされる。この結果として変数INJSUMは、時点Ｔ４における値にホールドされる。
【００６６】
図５の期間Ｐ１１においては、ＦＬＳ値が閾値ＴＨmin以上、かつ閾値ＴＨmax以下となっているから、車速が閾値ＴＨS以下であっても積算処理が実施され、変数INJSUMが変化する。
【００６７】
時点Ｔ１１においては、車両の揺れなどに起因したＦＬＳ値の一時的な上昇により、ＦＬＳ値が閾値ＴＨmaxよりも大きくなっている。しかも、車速が閾値ＴＨS以下である。そしてこの場合には、即座に積算処理を不実施とする。
【００６８】
時点Ｔ１２においては、ＦＬＳ値が閾値ＴＨmaxを下回るが、時点Ｔ１１において継続フラグＦをセットしているために、積算処理を実施しない状態を継続する。
【００６９】
時点Ｔ１３においては、車速が閾値ＴＨSよりも大きくなったために積算処理を実施する状態に移行する。
【００７０】
時点Ｔ１５においては、車速が閾値ＴＨS以下に低下するが、それよりも前の時点Ｔ１４において変数INJSUMがリセットされたことによって継続フラグＦをリセットしているために、積算処理を実施する状態を継続する。
【００７１】
図６のＴ２１においては、車両の揺れなどに起因したＦＬＳ値の一時的な低下により、ＦＬＳ値が閾値ＴＨmin未満となっている。しかし、車速が閾値ＴＨSよりも大きいので、積算処理を実施する状態を継続する。
【００７２】
時点Ｔ２３においては、車速が閾値ＴＨS以下に低下する。このとき、ＦＬＳ値が閾値閾値ＴＨmin以上で、かつ閾値ＴＨmax以下であるが、時点Ｔ２２においてＦＬＳ値が閾値ＴＨmin以上になってから変数INJSUMのリセットが一度もなされていないために、積算処理を実施しない状態に移行する。
【００７３】
図７の期間Ｐ３１においては、例えばイグニションスイッチがオフされるなどの要因でモニタ実施条件が不成立である。このため、期間Ｐ３１における積算処理は不実施とされ、変数INJSUMは期間Ｐ３１の開始時点Ｔ３１における値にホールドされる。
【００７４】
時点Ｔ３２においては、変数INJSUMの値が閾値ＴＨL以上になっているが、この時点Ｔ３２での変数ＲＡ0の値ＲＡ0(31)に対するＦＬＳ値の変化量ΔＦＬＳ(31)は閾値ＴＨV未満である。従って時点Ｔ３２において、燃料レベルセンサ２が異常であると判定される。
【００７５】
かくして診断装置１によれば、ある基準タイミングからの燃料噴射量の積算値と、同じ基準タイミングからのＦＬＳ値の変化量ΔＦＬＳとを観察するが、積算値が閾値ＴＨL以上になるよりも前に変化量ΔＦＬＳが閾値ＴＨV以上になったことに応じて、基準タイミングをそのタイミングに更新して積算値と変化量ΔＦＬＳとの観察をやり直す。そして、変化量ΔＦＬＳが閾値ＴＨV以上になるよりも前に積算値が閾値ＴＨL以上になったことに応じて、燃料レベルセンサ２に異常があると判定する。ただし、燃料Ｆの実残量が満量付近または空付近である状態にあっては、車両が規定速度以上で走行している場合に限って燃料噴射量の積算を行うこととし、車両がほぼ停止している状態における燃料噴射量は燃料レベルセンサ２の異常判定のためには考慮しないこととする。
【００７６】
これにより、燃料噴射量と燃料レベルセンサ２が検出する燃料Ｆの残量の検出値との相関に応じて燃料レベルセンサ２の異常判定を行うが、燃料Ｆの実残量が満量付近または空付近であり、かつ車両がほぼ停車している状況においては、燃料レベルセンサ２が正常であってもＦＬＳ値がほとんど変化しない恐れがあるために、燃料噴射量の積算を止めることにより異常であるか否かの判断を行わないことにより、燃料レベルセンサ２が異常であると誤判定してしまうことを防止できる。さらに、燃料Ｆの実残量が満量付近または空付近であっても、車両がある程度の速度で走行している状況においては、車両の振動に伴って燃料Ｆの液面が揺れることによってＦＬＳ値にも変化が生じるはずであることから、ＦＬＳ値に規定の変化が生じないことに応じて燃料レベルセンサ２に固着などの異常が生じていることを判定可能である。つまり、燃料Ｆの実残量が満量付近または空付近であるときにおいて燃料レベルセンサ２の診断を完全に停止する場合に比べて、燃料レベルセンサ２の異常をより早く検知することができる。
【００７７】
なお、燃料Ｆの実残量が満量付近および空付近のいずれでもない時には、ＦＬＳ値の変化は燃料Ｆの実残量の変化にほぼ比例するので、車両の走行速度に拘わらずに原則的に燃料噴射量の積算を常時行うことによって、燃料レベルセンサ２の異常を速やかに検知することができる。
【００７８】
また、燃料Ｆの実残量が満量付近および空付近のいずれでもない状態から満量付近または空付近である状態に変化した場合には、車両が規定速度以上で走行している場合に限って燃料噴射量の積算を行う状態に速やかに移行する。これにより、ＦＬＳ値の変化が燃料Ｆの実残量に比例しない状況を燃料レベルセンサ２が異常であると誤判定してしまう状況が継続してしまうことがない。
【００７９】
さらに、燃料Ｆの実残量が満量付近または空付近である状態から満量付近および空付近のいずれでもない状態に変化した場合には、車両が規定速度以上で走行している場合に限って燃料噴射量の積算を行う状態を継続する。これにより、燃料Ｆの実残量が閾値ＴＨminまたは閾値ＴＨmaxに近い状況において燃料Ｆの液面の一時的な変動によりＦＬＳ値が閾値ＴＨminまたは閾値ＴＨmaxの付近で頻繁に変化するような状況においては、車両が規定速度以上で走行している場合に限って燃料噴射量の積算を行う状態を継続することによって、誤判定を防止する可能性を高める。
【００８０】
（第２の実施形態）
本発明の第２の実施形態に係る燃料レベルセンサ診断装置（以下、診断装置と略記する）を、図８〜１１を用いて説明する。
【００８１】
図８は診断装置１０を搭載した自動車２００の一部の構成を示す図である。なお、図８において図１と同一の要素には同一の符号を付し、その詳細な説明は省略する。
【００８２】
自動車２００は、燃料ポンプ４、燃料パイプ５、インジェクタ６、ＥＣＵ７、吸気量センサ８、速度計９、診断装置１０、燃料タンク１１および燃料レベルセンサ１２，１３を含む。自動車２００は、図８に示すこれらの各要素の他に、既存の自動車が備える各種の要素を含むがそれらの図示は省略している。すなわち自動車２００は、前述した第１の実施形態における自動車１００の診断装置１、燃料レベルセンサ２および燃料タンク３に代えて、診断装置１０、燃料レベルセンサ１２，１３および燃料タンク１１を備える。
【００８３】
診断装置１０は、燃料レベルセンサ１２，１３の動作状況を診断する。
【００８４】
燃料タンク１１は、プロペラシャフトを配置する空間を形成するための凹部を下面に有したいわゆる鞍型をなす。燃料タンク１１の内部の空間は、凹部によって２つの空間が形成されており、これらの空間にそれぞれ燃料Ｆを蓄える。燃料ポンプ４は、上記の２つの空間の一方の内部に配置されて、当該空間に蓄えられた燃料Ｆを吸い出す。なお、以下においては、燃料タンク１１のうちの燃料ポンプ４が配置される空間の側をメインタンク１１ａと称し、また他方の空間の側をサブタンク１１ｂと称する。燃料タンク１１は、図示は省略しているが、メインタンク１１ａが蓄える燃料Ｆの減少に伴って、サブタンク１１ｂが蓄える燃料Ｆをメインタンク１１ａへと送り込む機構を備える。
【００８５】
燃料レベルセンサ１２，１３はそれぞれ、第１の実施形態における燃料レベルセンサ２と同等な構造を持つ。燃料レベルセンサ１２がメインタンク１１ａの内部に、かつ燃料レベルセンサ１３がサブタンク１１ｂの内部にそれぞれ配置され、メインタンク１１ａおよびサブタンク１１ｂに蓄えられた燃料Ｆの残量を個別に検出する。ただし燃料レベルセンサ１２，１３は、フロート１２ａ，１３ａの位置に応じた電気抵抗値をそのままＦＬＳ出力として出力する。
【００８６】
さて診断装置１０は、ＣＰＵ（central processing unit）１０ａ、ＲＯＭ（read-only memory）１０ｂ、ＲＡＭ（random-access memory）１０ｃ、通信デバイス１０ｄおよびインタフェースユニット（Ｉ／Ｆ）１０ｅを含む。そしてこれらの各要素は、バス１０ｆにそれぞれ接続されている。
【００８７】
ＣＰＵ１０ａは、ＲＯＭ１０ｂに記憶された診断処理プログラムに基づいて後述する診断処理を行う。
【００８８】
ＲＯＭ１０ｂは、上記の診断処理プログラムを記憶する。
【００８９】
ＲＡＭ１０ｃは、ＣＰＵ１０ａが各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアとして利用される。
【００９０】
診断処理プログラムは、ＥＥＰＲＯＭなどの別の補助記憶デバイスを備えて、そこに診断処理プログラムを記憶しても良い。なお、診断処理プログラムを補助記憶デバイスが記憶する場合、診断装置１０、診断装置１０を含んだユニット、あるいは診断装置１０を搭載した自動車２００の譲渡は、一般的に上記の診断処理プログラムが補助記憶デバイスに記憶された状態にて行われる。しかし、診断装置１０、診断装置１０を含んだユニット、あるいは診断装置１０を搭載した自動車２００が上記の診断処理プログラムが補助記憶デバイスに記憶されない状態で譲渡されるとともに、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介して上記の診断処理プログラムが譲渡され、このように譲渡された診断処理プログラムが補助記憶デバイスに書き込まれても良い。
【００９１】
通信デバイス１０ｄは、ＥＣＵ７との間で例えばＣＡＮ（control area network）を介したデータ通信を行う。
【００９２】
インタフェースユニット１０ｅは、燃料レベルセンサ１２，１３が個別に出力するＦＬＳ出力をそれぞれ取り込む。
【００９３】
次に以上のように構成された自動車２００における診断装置１０の動作について説明する。なお、本実施形態の自動車２００は既存の別の自動車が備えるのと同様な様々な機能を備えるが、それらの機能に関する動作は既存の別の自動車と同様であるので、その詳細な説明は省略する。そして以下においては、診断装置１０による燃料レベルセンサ１２，１３の診断処理に関して詳細に説明する。
【００９４】
図９は燃料タンク１１内の燃料Ｆの残量とＦＬＳ出力との関係を表す図である。
【００９５】
図９の下側のグラフは燃料レベルセンサ１２に関し、上側のグラフは燃料レベルセンサ１３に関する。両グラフとも、横軸は燃料タンク１１の全体での燃料Ｆの実残量を表し、縦軸はＦＬＳ出力の値を示す。なお、燃料レベルセンサ１２，１３は、フロート１２ａ，１３ａの位置が高い程に小さな値を出力する。従って、燃料レベルセンサ１２，１３のＦＬＳ出力は燃料Ｆの残量を表す数値ではあるが、ＦＬＳ値と残量とは反比例する。
【００９６】
燃料ポンプ４はメインタンク１１ａから燃料Ｆを吸い出すが、燃料タンク１１が備える前述の機構により、メインタンク１１ａが蓄える燃料Ｆの減少に伴って、サブタンク１１ｂが蓄える燃料Ｆをメインタンク１１ａへと送り込む。このため、燃料タンク１１の実残量が一定量以上である状態では、メインタンク１１ａにおける液面ＦＬは大きくは変化せず、サブタンク１１ｂにおける液面ＦＬが変化する。
【００９７】
そして、燃料タンク１１の実残量が一定量未満となってサブタンク１１ｂからメインタンク１１ａへと燃料Ｆを送り込めない状況においては、メインタンク１１ａにおける液面ＦＬが変化する。
【００９８】
ＣＰＵ１０ａは、燃料レベルセンサ１２，１３のそれぞれについての診断処理を個別に実行する。
【００９９】
図１０は燃料レベルセンサ１２についての診断処理（以下、第１の診断処理と称する）のフローチャートである。なお、図３に示されるのと同一の処理を行うステップには同一の符号を付し、その詳細な説明は省略する。
【０１００】
第１の診断処理は、ステップＳｂ１を追加するととともに、ステップＳａ３〜Ｓａ５およびステップＳａ７〜Ｓａ１３に代えてステップＳａ３ａ〜Ｓａ５ａおよびステップＳａ７ａ〜Ｓａ１３ａを含む点で第１の実施形態における診断処理とは異なっている。なお、ステップＳａ３ａ〜Ｓａ５ａおよびステップＳａ７ａ〜Ｓａ１２ａは、ステップＳａ３〜Ｓａ５およびステップＳａ７〜Ｓａ１２と処理内容は実質的に同様であるが、それらの処理の対象とする情報が一部異なる。つまり、第１の実施形態におけるＦＬＳ値、閾値ＴＨmin、閾値ＴＨmax、変化量ΔＦＬＳ、変数INJSUM、変数ＲＡ0、ならびに継続フラグＦに代えて、ＦＬＳ値Ｒｍ、閾値ＴＨｍmin、閾値ＴＨｍmax、変化量ΔＲｍ、変数INJSUMm、変数ＲＡｍ0、ならびに継続フラグＦｍを使用する。ステップＳａ１３ａは、例えば、異常であるのが燃料レベルセンサ１２であることをＥＣＵ７にて識別可能なコマンドをＥＣＵ７に送る処理とすることが想定される。
【０１０１】
ＣＰＵ１０ａは、第１の診断処理を実行していないときに、図１０に示す第１の診断処理を一定の時間間隔で繰り返し開始する。診断処理を開始する時間間隔は、診断装置１０の設計者などにより任意に定められて良い。
【０１０２】
ステップＳａ１およびステップＳａ２の待ち受け状態にあるときにモニタ実施条件が成立した状態のままで単位時間が経過したならば、ＣＰＵ１０ａはステップＳａ２でＹＥＳと判定し、ステップＳｂ１へと進む。
【０１０３】
ステップＳｂ１においてＣＰＵ１０ａは、燃料レベルセンサ１２のＦＬＳ値Ｒｍと燃料レベルセンサ１３のＦＬＳ値Ｒｓとをインタフェースユニット１０ｅを介して取り込み、このＦＬＳ値Ｒｓが閾値ＴＨｓmaxよりも小さく、かつＦＬＳ値Ｒｍが閾値ＴＨｍminよりも小さいか否かを確認する。閾値ＴＨｓmin、閾値ＴＨｓmax、閾値ＴＨｍminおよび閾値ＴＨｍmaxは、それぞれ診断装置１０の設計者などにより任意に定められて良い。ただし閾値ＴＨｓminはＦＬＳ値Ｒｓの最低値より若干大きな値として、閾値ＴＨｓmaxはＦＬＳ値Ｒｓの最高値より若干小さな値として、図９に示すような値として定めることとする。従って、ＴＨsmin＜ＴＨsmaxである。ＴＨsminは例えば１３Ω、ＴＨｓmaxは例えば７０Ωと定めることが想定される。閾値ＴＨｍminはＦＬＳ値Ｒｍの最低値より若干大きな値として、閾値ＴＨｍmaxはＦＬＳ値Ｒｍの最高値より若干小さな値として、図９に示すような値として定めることとする。従って、ＴＨｍmin＜ＴＨｍmaxである。ＴＨｍminは例えば１３Ω、ＴＨｍmaxは例えば３０Ωと定めることが想定される。そしてＦＬＳ値ＲｓがＴＨｓmax以上であるか、またはＦＬＳ値Ｒｍが閾値ＴＨｍmin以上であるためにここでＮＯと判定したならばＣＰＵ１０ａは、ステップＳａ３ａへ進み、ＦＬＳ値Ｒｓが閾値ＴＨｓmaxよりも小さく、かつＦＬＳ値Ｒｍが閾値ＴＨｍminよりも小さいためにステップＳｂ１にてＹＥＳと判定したならばＣＰＵ１０ａは、ステップＳａ９ａに進む。そしてＣＰＵ１０ａは、以降においては第１の実施形態における診断処理と実質的に同様な処理を行う。
【０１０４】
図１１は燃料レベルセンサ１３についての診断処理（以下、第２の診断処理と称する）のフローチャートである。なお、図３に示されるのと同一の処理を行うステップには同一の符号を付し、その詳細な説明は省略する。
【０１０５】
第２の診断処理は、ステップＳｃ１を追加するととともに、ステップＳａ３〜Ｓａ５およびステップＳａ７〜Ｓａ１３に代えてステップＳａ３ｂ〜Ｓａ５ｂおよびステップＳａ７ｂ〜Ｓａ１３ｂを含む点で第１の実施形態における診断処理とは異なっている。なお、ステップＳａ３ｂ〜Ｓａ５ｂおよびステップＳａ７ｂ〜Ｓａ１２ｂは、ステップＳａ３〜Ｓａ５およびステップＳａ７〜Ｓａ１２と処理内容は実質的に同様であるが、それらの処理の対象とする情報が一部異なる。つまり、第１の実施形態におけるＦＬＳ値、閾値ＴＨmin、閾値ＴＨmax、変化量ΔＦＬＳ、変数INJSUM、変数ＲＡ0、ならびに継続フラグＦに代えて、ＦＬＳ値Ｒｍ、閾値ＴＨｍmin、閾値ＴＨｍmax、変化量ΔＲｍ、変数INJSUMm、変数ＲＡｍ0、ならびに継続フラグＦｍを使用する。ステップＳａ１３ｂは、例えば、異常であるのが燃料レベルセンサ１３であることをＥＣＵ７にて識別可能なコマンドをＥＣＵ７に送る処理とすることが想定される。
【０１０６】
ＣＰＵ１０ａは、第２の診断処理を実行していないときに、図１１に示す第２の診断処理を一定の時間間隔で繰り返し開始する。診断処理を開始する時間間隔は、診断装置１０の設計者などにより任意に定められて良い。
【０１０７】
ステップＳａ１およびステップＳａ２の待ち受け状態にあるときにモニタ実施条件が成立した状態のままで単位時間が経過したならば、ＣＰＵ１０ａはステップＳａ２でＹＥＳと判定し、ステップＳｃ１へと進む。
【０１０８】
ステップＳｃ１においてＣＰＵ１０ａは、燃料レベルセンサ１２のＦＬＳ値Ｒｍと燃料レベルセンサ１３のＦＬＳ値Ｒｓとをインタフェースユニット１０ｅを介して取り込み、このＦＬＳ値Ｒｓが閾値ＴＨｓmaxよりも大きく、かつＦＬＳ値Ｒｍが閾値ＴＨｍminよりも大きいか否かを確認する。そしてＦＬＳ値ＲｓがＴＨｓmax以下であるか、またはＦＬＳ値Ｒｍが閾値ＴＨｍmin以下であるためにここでＮＯと判定したならばＣＰＵ１０ａは、ステップＳａ３ｂへ進み、ＦＬＳ値Ｒｓが閾値ＴＨｓmaxよりも大きく、かつＦＬＳ値Ｒｍが閾値ＴＨｍminよりも大きいためにステップＳｃ１にてＹＥＳと判定したならばＣＰＵ１０ａは、ステップＳａ９ｂに進む。そしてＣＰＵ１０ａは、以降においては第１の実施形態における診断処理と実質的に同様な処理を行う。
【０１０９】
かくして、サブタンク１１ｂが第２の燃料タンクに、燃料レベルセンサ１３が第２の燃料レベルセンサに、変数INJSUMsの値が第２の積算値に、閾値ＴＨｓmaxに相当する残量が第３の規定量に、そして閾値ＴＨｓminに相当する残量が第４の規定量にそれぞれ相当することになり、ＣＰＵ１ａが第２の積算手段、第２の制御手段および第２の異常判定手段のそれぞれとして機能する。
【０１１０】
以上のような第１および第２の診断処理により、燃料レベルセンサ１２，１３の状態が別々の変数INJSUMm，INJSUMsを用いて個別に診断される。
【０１１１】
ところで、変数INJSUMm，INJSUMsは、いずれもインジェクタ６での燃料噴射量に関する積算値を表す。
【０１１２】
しかしながら、変数INJSUMmを用いた積算処理は、燃料Ｆの実残量が図９中の範囲Ｒ１１内にあるときには常時行われ、実残量が範囲Ｒ１２，Ｒ１３内にあるときには自動車２００が規定速度以上で走行している状態に限って行われ、実残量が範囲Ｒ１４内にあるときには行われない。ただし、ＦＬＳ値ＲｍがＴＨｍmin以下である状態からＴＨｍminよりも大きい状態に変化したのちに変数INJSUMmがリセットされるまでの間と、ＦＬＳ値ＲｍがＴＨｍmax以上である状態からＴＨｍmaxよりも小さい状態に変化したのちに変数INJSUMmがリセットされるまでの間とでは、実残量が範囲Ｒ１１内にあるときでも、自動車２００が規定速度以上で走行している状態に限って変数INJSUMmを用いた積算処理が行われる。
【０１１３】
また、変数INJSUMsの積算処理は、燃料Ｆの実残量が図９中の範囲Ｒ２１内にあるときには常時行われ、実残量が範囲Ｒ２２，Ｒ２３内にあるときには自動車２００が規定速度以上で走行している状態に限って行われ、実残量が範囲Ｒ２４内にあるときには行われない。ただし、ＦＬＳ値ＲｓがＴＨｓmin以下である状態からＴＨｓminよりも大きい状態に変化したのちに変数INJSUMsがリセットされるまでの間と、ＦＬＳ値ＲｓがＴＨｓmax以上である状態からＴＨｓmaxよりも小さい状態に変化したのちに変数INJSUMsがリセットされるまでの間とでは、実残量が範囲Ｒ２１内にあるときでも、自動車２００が規定速度以上で走行している状態に限って変数INJSUMsを用いた積算処理が行われる。
【０１１４】
かくして、変数INJUSUMmを用いた積算処理が行われる期間と変数INJUSUMsを用いた積算処理が行われる期間とは互いに一致せず、変数INJSUMm，INJSUMsは多くの期間において互いに別々の値を呈する。
【０１１５】
そして、燃料レベルセンサ１２，１３についての診断はそれぞれ、基本的には第１の実施形態における診断と同様な処理により行われるので、燃料レベルセンサ１２，１３についての診断のそれぞれに関して第１の実施形態と同様な効果が達成できる。
【０１１６】
ところで、メインタンク１１ａに十分な量の燃料Ｆが蓄えられ、かつサブタンク１１ｂが空ではない状態においては、燃料Ｆの消費に伴ってサブタンク１１ｂの残量が主に減少し、メインタンク１１ａの残量が変化しない状況であることが明らかである。そこで診断装置１０では、ＦＬＳ値Ｒｍが閾値ＴＨｍminよりも小さく、かつＦＬＳ値Ｒｓが閾値ＴＨｓmaxよりも小さいときとしてステップＳｂ１にて上記の状態であるか否かを判断し、上記の状態であるときには燃料噴射量を変数INJSUMmに加算しないこととして、実質的に燃料レベルセンサ１２の診断を禁止している。これにより、上記のような状況を燃料レベルセンサ１２の異常として誤検知してしまうことを確実に防止できる。
【０１１７】
また、サブタンク１１ｂが空に近く、かつメインタンク１１ａが満量状態にはないときには、燃料Ｆの消費に伴ってメインタンク１１ａの残量が主に減少し、サブタンク１１ｂの残量が変化しない状況にあることが明らかである。そこで診断装置１０では、ＦＬＳ値Ｒｍが閾値ＴＨｍminよりも大きく、かつＦＬＳ値Ｒｓが閾値ＴＨｓmaxよりも大きいときとしてステップＳｃ１にて上記の状態であるか否かを判断し、上記の状態であるときには燃料噴射量を変数INJSUMsに加算しないこととして、実質的に燃料レベルセンサ１３の診断を禁止している。これにより、上記のような状況を燃料レベルセンサ１３の異常として誤検知してしまうことを確実に防止できる。
【０１１８】
この実施形態は、次のような種々の変形実施が可能である。
【０１１９】
燃料の消費量と相関を有する数値は、燃料噴射量の他に、吸入空気量、走行量、インジェクタ通電時間などのような様々なパラメータを用いることができる。
【０１２０】
燃料Ｆの実残量が満量付近または空付近である状態から満量付近および空付近のいずれでもない状態に変化した場合に、車速に関わらずに燃料噴射量の積算を行う状態に速やかに移行しても良い。
【０１２１】
燃料レベルセンサ１２，１３のいずれか一方または双方について、診断を禁止しないようにしても良い。
【０１２２】
この発明は、上述した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述した実施の形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、上述した実施の形態に示される全構成要素から幾つかの構成要素を削除しても良い。更に、異なる実施の形態に亘る構成要素を適宜組み合わせても良い。
【符号の説明】
【０１２３】
１…診断装置、２…燃料レベルセンサ、３…燃料タンク、４…燃料ポンプ、５…燃料パイプ、６…インジェクタ、８…吸気量センサ、９…速度計、１０…診断装置、１０ａ…ＣＰＵ、１１…燃料タンク、１１ａ…メインタンク、１１ｂ…サブタンク、１２，１３…燃料レベルセンサ、１００，２００…自動車。
【図１】
2014009597.tif 000003
【図２】
2014009597.tif 000004
【図３】
2014009597.tif 000005
【図４】
2014009597.tif 000006
【図５】
2014009597.tif 000007
【図６】
2014009597.tif 000008
【図７】
2014009597.tif 000009
【図８】
2014009597.tif 000010
【図９】
2014009597.tif 000011
【図１０】
2014009597.tif 000012
【図１１】
2014009597.tif 000013