(57)【特許請求の範囲】
【請求項１】
内燃機関の運転中に燃料タンク内の燃料温度を推定する燃料温度推定装置において、
内燃機関の運転中にその運転状態に基づいて排気熱が前記燃料タンク内に伝わることによる前記燃料タンク内の燃料温度の上昇分を推定する燃温上昇分推定手段と、
車速及び／又は吸気温又はこれらと相関関係のある情報に基づいて前記燃料タンク内の燃料温度の下降分を推定する燃温下降分推定手段と、
前記燃温上昇分推定手段及び前記燃温下降分推定手段で推定した燃料温度の上昇分と下降分とに基づいて現在の燃料温度の推定値を更新する燃温推定手段と
を備え、
前記燃温推定手段は、前回の内燃機関運転停止時に推定した燃料温度推定値と、前回の内燃機関運転停止から今回の内燃機関始動までの経過時間と、外気温又はこれと相関関係のある情報に基づいて今回の内燃機関始動時の燃料温度の初期値を推定することを特徴とする燃料温度推定装置。
【請求項２】
前記燃温上昇分推定手段は、内燃機関の回転速度及び／又は負荷に基づいて前記燃料タンク内の燃料温度の上昇分を推定することを特徴とする請求項１に記載の燃料温度推定装置。
【請求項３】
前記燃料タンク内から燃料ポンプで燃料噴射弁へ送られた燃料の余剰分が該燃料タンク内に戻される構成の燃料系に適用され、
前記燃温上昇分推定手段は、排気熱による前記燃料タンク内の燃料温度の上昇分の他に、前記燃料噴射弁側から前記燃料タンク内に戻される燃料による燃料温度の上昇分も推定することを特徴とする請求項１又は２に記載の燃料温度推定装置。
【請求項４】
前記燃料タンク内に燃料ポンプを配置した構成の燃料系に適用され、  前記燃温上昇分推定手段は、前記燃料ポンプの発熱による前記燃料タンク内の燃料温度の上昇分も推定することを特徴とする請求項１乃至３のいずれかに記載の燃料温度推定装置。
【請求項５】
前記燃温推定手段は、前記燃料タンク内の燃料残量及び／又は前回の燃料温度推定値に基づいて今回の燃料温度推定値を補正する補正手段を備えていることを特徴とする請求項１乃至４のいずれかに記載の燃料温度推定装置。
【請求項６】
内燃機関の運転中に燃料タンク内の燃料温度を推定する燃料温度推定装置において、
内燃機関の運転中にその運転状態に基づいて排気熱が前記燃料タンク内に伝わることによる前記燃料タンク内の燃料温度の上昇分を推定する燃温上昇分推定手段と、
車速及び／又は吸気温又はこれらと相関関係のある情報に基づいて前記燃料タンク内の燃料温度の下降分を推定する燃温下降分推定手段と、
前記燃温上昇分推定手段及び前記燃温下降分推定手段で推定した燃料温度の上昇分と下降分とに基づいて現在の燃料温度の推定値を更新する燃温推定演算を実行する燃温推定手段とを備え、
前記燃温推定手段は、前回の内燃機関運転停止時に推定した燃料温度推定値と、前回の内燃機関運転停止から今回の燃温推定演算起動までの経過時間と、外気温又はこれと相関関係のある情報に基づいて今回の燃温推定演算起動時の燃料温度を推定することを特徴とする燃料温度推定装置。
【請求項７】
請求項１乃至６のいずれかに記載の燃料温度推定装置と、内燃機関の運転中にエバポガスパージシステムの異常診断を行う異常診断手段とを備えた異常診断装置において、
前記異常診断手段は、前記燃料温度推定装置で推定した燃料温度推定値を異常診断実行条件判定パラメータ及び／又は異常診断パラメータとして用いることを特徴とする異常診断装置。
【請求項８】
前記燃料温度推定装置で推定した燃料温度推定値が所定温度以下であることを異常診断実行条件の１つとすることを特徴とする請求項７に記載の異常診断装置。
【請求項９】
燃料タンク内の燃料温度を検出する燃料温度センサの異常診断を行う異常診断装置において、
請求項１乃至６のいずれかに記載の燃料温度推定装置と、
前記燃料温度推定装置で推定した燃料温度推定値と前記燃料温度センサの検出値との関係に基づいて前記燃料温度センサの異常診断を行う異常診断手段と
を備えていることを特徴とする異常診断装置。
【請求項１０】
前記異常診断手段は、所定期間内の燃料温度推定値の変化量と前記燃料温度センサの検出値の変化量との関係に基づいて前記燃料温度センサの異常診断を行うことを特徴とする請求項９に記載の異常診断装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、燃料タンク内の燃料温度を推定する燃料温度推定装置及び推定した燃料温度を異常診断データとして用いる異常診断装置に関するものである。
【０００２】
【従来の技術】
自動車に搭載された燃料タンク内の燃料温度は、様々な要因で変化する。例えば、燃料タンクは自動車の後部に搭載されているため、内燃機関（エンジン）の排気熱が燃料タンクに伝わって燃料タンク内の燃料温度が上昇し、また、燃料タンク内から燃料ポンプで燃料噴射弁へ送られた燃料の余剰分が燃料タンク内に戻される燃料リターンシステムにおいては、燃料噴射弁側から燃料タンク内に戻される燃料（リターン燃料）によっても燃料温度が上昇する。また、走行風による燃料タンクの空冷効果（放熱効果）によって燃料温度が低下し、外気温によっても、燃料温度の変化の挙動が異なってくる。
【０００３】
燃料タンク内の燃料温度が高くなるほど、燃料タンク内のエバポガス（燃料蒸発ガス）の発生量が多くなって、燃料タンクの内圧が上昇する。この燃料タンク内で発生したエバポガスをキャニスタで吸着して、運転状態に応じてキャニスタからエバポガスをエンジン吸気系へ放出（パージ）するエバポガスパージシステムでは、エバポ系内のエバポガスが大気中に漏れる“リーク”を検出するために、燃料タンクを含むエバポ系内を密閉して、燃料タンク内圧を圧力センサで検出し、所定期間内の燃料タンク内圧の変化量等に基づいてエバポ系のリークの有無を診断するようにしている。
【０００４】
この場合、燃料タンク内の燃料温度に応じて燃料タンク内圧が変化することから、特開平６−８１７２７号公報に示すように、燃料タンク内の燃料温度を検出する燃料温度センサを設置し、前回のエンジン停止時の燃料温度と今回のエンジン始動時の燃料温度との温度差が所定値以上のときに、燃料タンク内圧と大気圧との差圧が所定値以上であるか否かによって、エバポ系のリーク診断を行うことが提案されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記構成では、燃料タンク内の燃料温度を検出するために、新たに燃料温度センサを設ける必要があり、その分、製造コストが高くなるという欠点がある。
また、燃料温度センサを設ける場合、システムの信頼性を確保するために、燃料温度センサの異常診断をどの様にして行うかが問題となる。
【０００６】
本発明はこれらの事情を考慮してなされたものであり、第１の目的は、燃料温度センサを設けなくても、燃料タンク内の燃料温度を検出することができる燃料温度推定装置を提供することであり、また、第２の目的は、燃料温度センサを設けなくても、燃料タンク内の燃料温度を考慮してエバポガスパージシステムの異常診断を行うことができる異常診断装置を提供することであり、また、第３の目的は、燃料温度センサを設けたシステムにおいて、燃料温度センサの異常診断を行うことができる異常診断装置を提供することである。
【０００７】
【課題を解決するための手段】
上記第１の目的を達成するために、本発明の請求項１の燃料温度推定装置は、内燃機関の運転中にその運転状態に基づいて排気熱が燃料タンク内に伝わることによる燃料タンク内の燃料温度の上昇分を推定する燃温上昇分推定手段と、車速及び／又は吸気温又はこれらと相関関係のある情報（例えば外気温等）に基づいて空冷効果（放熱効果）による燃料タンク内の燃料温度の下降分を推定する燃温下降分推定手段と、前記燃温上昇分推定手段及び前記燃温下降分推定手段で推定した燃料温度の上昇分と下降分とに基づいて現在の燃料温度の推定値を更新する燃温推定手段とを備え、前記燃温推定手段は、前回の内燃機関運転停止時に推定した燃料温度推定値と、前回の内燃機関運転停止から今回の内燃機関始動までの経過時間と、外気温又はこれと相関関係のある情報に基づいて今回の内燃機関始動時の燃料温度の初期値を推定するようにしたものである。この構成により、燃料温度センサを設けなくても、内燃機関の運転中に燃料タンク内の燃料温度を判定することができる。
【０００８】
一般に、燃料タンクは自動車の後部に搭載されているため、内燃機関の排気熱が燃料タンクに伝わって燃料タンク内の燃料温度が上昇する。この点を考慮して、請求項１のように、燃温上昇分を推定する際に、排気熱が燃料タンク内に伝わることによる燃料温度の上昇分を推定するようにすれば、内燃機関運転中の燃料温度上昇の主要な要因である排気熱による燃料温度の上昇分を推定することができる。
しかも、請求項１のように、前回の内燃機関の運転停止時に推定した燃料温度推定値と、前回の内燃機関運転停止から今回の内燃機関始動までの経過時間と、外気温又はこれと相関関係のある情報（吸気温等）に基づいて今回の内燃機関始動時の燃料温度の初期値を推定するようにすれば、内燃機関運転停止中の放熱による燃料温度の下降量を、前回の内燃機関運転停止から今回の内燃機関始動までの経過時間と、外気温又はこれと相関関係のある情報（吸気温等）に基づいて推定し、前回の内燃機関運転停止時に推定した燃料温度推定値から上記内燃機関停止中の放熱による燃料温度の下降量を差し引くことで、今回の内燃機関始動時の燃料温度の初期値を推定することができる。このようにして推定した燃料温度の初期値が外気温（又は吸気温）よりも低くなるような場合は、燃料温度の初期値を外気温（又は吸気温）と同一温度に設定すれば良い。
【０００９】
例えば、排気温度を検出する排気温度センサを備えたシステムでは、排気温度センサの出力に基づいて排気熱による燃料温度の上昇分を推定すれば良いが、排気温度センサを備えていないシステムでは、請求項２のように、内燃機関の回転速度及び／又は負荷（例えば吸気管圧力、吸入空気量、スロットル開度等）に基づいて燃料タンク内の燃料温度の上昇分を推定するようにすれば良い。一般に、内燃機関の回転速度が高くなるほど、排気熱が増加し、負荷が大きくなるほど、排気熱が増加するため、内燃機関の回転速度や負荷に基づいて排気熱による燃料温度の上昇分を推定することができる。
【００１０】
また、燃料タンク内から燃料ポンプで燃料噴射弁へ送られた燃料の余剰分が燃料タンク内に戻される燃料リターンシステムにおいては、燃料噴射弁側から燃料タンク内に戻される燃料（リターン燃料）によっても燃料温度が上昇する。従って、この燃料リターンシステムにおいては、請求項３のように、排気熱による燃料タンク内の燃料温度の上昇分の他に、燃料噴射弁側から燃料タンク内に戻される燃料（リターン燃料）による燃料温度の上昇分も推定するようにすると良い。このようにすれば、燃料リターンシステムにおける燃料温度上昇の２大要因である排気熱とリターン燃料の両方を考慮して燃料温度の上昇分を精度良く推定することができる。尚、燃料噴射弁側から燃料タンク内へ燃料を戻さない燃料リターンレスシステムでは、リターン燃料による燃料温度の上昇分を考慮する必要はなく、排気熱の影響のみを考慮して燃料温度の上昇分を推定すれば良い。
【００１１】
また、請求項４のように、燃料タンク内に燃料ポンプを配置した構成の燃料系においては、燃料ポンプの発熱による燃料温度の上昇分も推定するようにしても良い。この際、燃料ポンプの発熱量は、燃料ポンプに供給する電力によって推定すれば良い。
【００１２】
ところで、燃料タンク内の燃料が授受する熱量が同じでも、燃料タンク内の燃料残量によって燃料温度の変化量が異なってくる。例えば、燃料タンク内の燃料残量が少なくなるほど、排気熱等による燃料温度の上昇分が大きくなる傾向がある。また、燃料タンク内の燃料温度が高いときには、走行風の温度（外気温）と燃料温度との温度差が大きくなって、空冷効果（放熱効果）による燃料温度の下降分が大きくなる傾向があり、反対に、燃料タンク内の燃料温度が低いときには、排気熱等による燃料温度の上昇分が相対的に大きくなる傾向がある。
【００１３】
このような特性を考慮して、請求項５のように、燃料タンク内の燃料残量及び／又は前回の燃料温度推定値に基づいて今回の燃料温度推定値を補正手段により補正するようにしても良い。これにより、燃料温度の推定精度を更に向上することができる。
【００１４】
また、請求項６のように、前回の内燃機関の運転停止時に推定した燃料温度推定値と、前回の内燃機関運転停止から今回の燃温推定演算起動までの経過時間と、外気温又はこれと相関関係のある情報（吸気温等）に基づいて今回の燃温推定演算起動時の燃料温度を推定するようにしても良い。つまり、内燃機関運転停止中の今回の燃温推定演算起動までの放熱による燃料温度の下降量を、前回の内燃機関運転停止から今回の燃温推定演算起動までの経過時間と、外気温又はこれと相関関係のある情報（吸気温等）に基づいて推定し、前回の内燃機関の運転停止時に推定した燃料温度推定値から上記内燃機関停止中の放熱による燃料温度の下降量を差し引くことで、今回の燃温推定演算起動時の燃料温度を推定することができる。このようにして推定した燃料温度が外気温（又は吸気温）よりも低くなるような場合は、燃料温度を外気温（又は吸気温）と同一温度に設定すれば良い。
【００２０】
また、前記第２の目的を達成するために、請求項７のように、内燃機関の運転中にエバポガスパージシステムの異常診断を行う異常診断手段を備えた異常診断装置においては、上述した請求項１乃至６のいずれかの方法で内燃機関の運転中に推定した燃料温度推定値を異常診断実行条件判定パラメータ及び／又は異常診断パラメータとして用いるようにしても良い。このようにすれば、燃料温度センサを設けなくても、内燃機関の運転中に燃料タンク内の燃料温度を考慮してエバポガスパージシステムの異常診断を行うことができる。
【００２１】
この際、請求項８のように、燃料温度推定装置で推定した燃料温度推定値が所定温度以下であることを異常診断実行条件の１つとするようにしても良い。これは、燃料温度が高いときには、燃料タンク内のエバポガス発生量が多くなって、少量リーク時の燃料タンク内圧の変化と正常時の燃料タンク内圧の変化との差が少なくなって、両者を区別しにくくなるためである。従って、燃料温度推定値が所定温度より高いときにエバポガスパージシステムの異常診断を禁止するようにすれば、エバポガスの過剰発生による誤診断を未然に防止でき、異常診断の信頼性を向上できる。
【００２８】
また、前記第３の目的を達成するために、請求項９のように、燃料タンク内の燃料温度を検出する燃料温度センサを備えたシステムでは、前記請求項１乃至６のいずれかの方法で推定した燃料温度推定値と燃料温度センサの検出値との関係に基づいて燃料温度センサの異常診断を行うようにしても良い。例えば、燃料温度推定値と燃料温度センサの検出値との誤差が、正常時の誤差範囲を越えていれば、燃料温度センサの異常と診断することができる。
【００２９】
或は、請求項１０のように、所定期間内の燃料温度推定値の変化量と燃料温度センサの検出値の変化量との関係に基づいて燃料温度センサの異常診断を行うようにしても良い。つまり、燃料温度推定値は、初期値の取り方によって異なった推定値になるが、その変化の挙動は、初期値に多少のずれがあっても、同じような傾向の変化の挙動となる。従って、所定期間内の燃料温度推定値の変化量と燃料温度センサの検出値の変化量との関係に基づいて燃料温度センサの異常診断を行えば、燃料温度推定値の初期値に多少のずれがあっても、その影響を受けずに、燃料温度センサの異常の有無を精度良く診断することができる。
【００３０】
【発明の実施の形態】
［実施形態（１）］
以下、本発明をエバポガスパージシステムの異常診断装置に適用した実施形態（１）を図１乃至図７に基づいて説明する。
【００３１】
まず、図１に基づいてエバポガスパージシステムの構成を説明する。燃料タンク１１には、エバポ通路１２を介してキャニスタ１３が接続されている。このキャニスタ１３内には、エバポガス（燃料蒸発ガス）を吸着する活性炭等の吸着体（図示せず）が収容されている。また、キャニスタ１３の底面部の大気連通孔には、大気開閉弁１４が取り付けられている。
【００３２】
この大気開閉弁１４は、常開型の電磁弁により構成され、通電がオフされている状態では、開弁状態に保持されて、キャニスタ１３の大気連通孔が大気に開放された状態に保たれる。この大気開閉弁１４は、通電すると閉弁し、キャニスタ１３の大気連通孔が閉塞された状態になる。
【００３３】
一方、キャニスタ１３とエンジン吸気系との間には、キャニスタ２２内の吸着体に吸着されているエバポガスをエンジン吸気系にパージ（放出）するためのパージ通路１５が設けられ、このパージ通路１５の途中に、パージ流量を制御するパージ制御弁１６が設けられている。このパージ制御弁１６は、常閉型の電磁弁により構成され、通電をデューティ制御することで、キャニスタ１３からエンジン吸気系へのエバポガスのパージ流量を制御するようになっている。
【００３４】
また、燃料タンク１１には、その内圧を検出するタンク内圧センサ１７が設けられている。燃料タンク１１内からパージ制御弁１６までのエバポ系が密閉されている時には、燃料タンク１１の内圧とエバポ系の他の部位の内圧が一致するため、タンク内圧センサ１７により燃料タンク１１の内圧を検出することで、エバポ系内の圧力を検出することができる。
【００３５】
燃料タンク１１内には、燃料残量を検出する燃料レベルセンサ１８が設けられている。その他、エンジン冷却水温を検出する水温センサ１９、吸気温を検出する吸気温センサ２０等の各種のセンサが設けられている。
【００３６】
これら各種のセンサの出力は、制御回路２１に入力される。この制御回路２１の電源端子には、メインリレー２２を介して電源電圧が供給される。この他、大気開閉弁１４、パージ制御弁１６、タンク内圧センサ１７及び燃料レベルセンサ１８に対しても、メインリレー２２を介して電源電圧が供給される。メインリレー２２のリレー接点２２ａを駆動するリレー駆動コイル２２ｂは、制御回路２１のメインリレーコントロール端子に接続され、このリレー駆動コイル２２ｂに通電することで、リレー接点２２ａがオンして、制御回路２１、大気開閉弁１４、パージ制御弁１６、タンク内圧センサ１７及び燃料レベルセンサ１８に電源電圧が供給される。そして、リレー駆動コイル２２ｂへの通電をオフすることで、リレー接点２２ａがオフして、制御回路２１等への電源供給がオフされる。制御回路２１のキーＳＷ端子には、イグニッションスイッチ２３のオン／オフ信号が入力される。また、制御回路２１には、バックアップ電源２４と、このバックアップ電源２４を電源として計時動作するソークタイマ２５が内蔵されている。このソークタイマ２５は、エンジン停止後（イグニッションスイッチ２３のオフ後）に計時動作を開始してエンジン停止後の経過時間を計測する。
【００３７】
制御回路２１は、マイクロコンピュータを主体として構成され、そのＲＯＭ（記憶媒体）に記憶された燃料噴射制御プログラム、点火制御プログラム及びパージ制御プログラムを実行することで、燃料噴射制御、点火制御及びパージ制御を行う。更に、この制御回路２１は、ＲＯＭに記憶された図２乃至図６に示す各ルーチンを実行することで、エンジン運転中及びエンジン停止中に燃料タンク１１内の燃料温度を推定し、この燃料温度推定値を用いてエバポ系のリーク診断を実行する。
ここで、本実施形態（１）の燃料温度推定方法を説明する。
【００３８】
《エンジン運転中の燃料温度推定方法》
エンジン運転中は、燃料タンク１１内の燃料温度Ｔon(i) を次式により推定する。
Ｔon(i) ＝（Ｔonup−Ｔondown）×Ｆon＋Ｔon(i-1)
Ｔonup：演算周期当たりの燃料タンク１１内の燃料温度上昇分
Ｔondown：演算周期当たりの燃料タンク１１内の燃料温度下降分
Ｆon：補正係数
Ｔon(i-1) ：前回の燃料温度推定値
【００３９】
ここで、燃料温度上昇分Ｔonupは、エンジン運転中の燃料温度上昇の主要な要因である排気熱が燃料タンク１１内に伝わることによる燃料温度上昇分である。排気温度を検出する排気温度センサを備えたシステムでは、排気温度センサの出力に基づいて排気熱による燃料温度の上昇分を推定すれば良いが、排気温度センサを備えていないシステムでは、エンジン回転速度及び／又は負荷（例えば吸気管圧力、吸入空気量、スロットル開度等）に基づいてマップ又は数式により燃料温度上昇分を算出すれば良い。一般に、エンジン回転速度が高くなるほど、排気熱が増加し、負荷が大きくなるほど、排気熱が増加するため、エンジン回転速度や負荷に基づいて排気熱による燃料温度の上昇分を推定することができる。
【００４０】
また、燃料タンク１１内から燃料ポンプ（図示せず）で燃料噴射弁（図示せず）に送られた燃料の余剰分が燃料タンク１１内に戻される燃料リターンシステムにおいては、燃料噴射弁側から燃料タンク１１内に戻される燃料（リターン燃料）によっても燃料温度が上昇する。従って、燃料リターンシステムにおいては、排気熱による燃料温度上昇分の他に、リターン燃料による燃料温度上昇分も考慮するものとする。
燃料リターンシステムの燃料温度上昇分Ｔonup
＝排気熱による燃料温度上昇分＋リターン燃料による燃料温度上昇分
【００４１】
このようにすれば、燃料リターンシステムにおける燃料温度上昇の２大要因である排気熱とリターン燃料の両方を考慮して燃料温度上昇分Ｔonupを精度良く推定することができる。
【００４２】
尚、燃料噴射弁側から燃料タンク１１内へ燃料を戻さない燃料リターンレスシステムでは、リターン燃料による燃料温度の上昇分を考慮する必要はなく、排気熱の影響のみを考慮して燃料温度の上昇分を推定すれば良い。
燃料リターンレスシステムの
燃料温度上昇分Ｔonup＝排気熱による燃料温度上昇分
【００４３】
また、燃料タンク１１内に燃料ポンプを配置した構成の燃料系においては、燃料ポンプ１１の発熱による燃料温度の上昇分も推定するようにしても良い。この際、燃料ポンプの発熱量は、燃料ポンプに供給する電力によってマップ又は数式により推定すれば良い。
【００４４】
一方、燃料温度下降分Ｔondownは、走行風や外気温と燃料温度（燃料タンク１１の温度）との温度差によって生じる空冷効果（放熱効果）による燃料タンク１１内の燃料温度下降分である。この燃料温度下降分Ｔondownは、車速及び／又は吸気温をパラメータとするマップ又は数式により算出する。尚、吸気温に代えて外気温を用いても良く、また、吸気温（又は外気温）と前回の燃料温度推定値Ｔon(i-1) との温度差を用いても良い。
【００４５】
また、補正係数Ｆonは、燃料タンク１１内の燃料残量及び／又は前回の燃料温度推定値Ｔon(i-1) に基づいて今回の燃料温度推定値Ｔon(i) を補正するための補正係数である。
【００４６】
一般に、燃料タンク１１内の燃料が授受する熱量が同じでも、燃料タンク１１内の燃料残量によって燃料温度の変化量が異なってくる。例えば、燃料タンク１１内の燃料残量が少なくなるほど、排気熱等による燃料温度上昇分Ｔonupが大きくなる傾向がある。また、燃料タンク１１内の燃料温度が高いときには、走行風の温度（外気温）と燃料温度との温度差が大きくなって、空冷効果（放熱効果）による燃料温度下降分Ｔondownが大きくなる傾向があり、反対に、燃料タンク１１内の燃料温度が低いときには、排気熱等による燃料温度上昇分Ｔonupが相対的に大きくなる傾向がある。
【００４７】
このような特性を考慮して、本実施形態（１）では、補正係数Ｆonを用いて、燃料タンク１１内の燃料残量及び／又は前回の燃料温度推定値Ｔon(i-1) に基づいて今回の燃料温度推定値Ｔon(i) を補正するものである。燃料タンク１１内の燃料残量に基づいて補正係数Ｆonを設定する場合は、燃料残量が５０％のときに補正係数Ｆonを基準値「１」とし、燃料残量が少なくなるほど、補正係数Ｆonを小さくし、燃料残量が多くなるほど、補正係数Ｆonを大きくする。また、前回の燃料温度推定値Ｔon(i-1) に基づいて補正係数Ｆonを設定する場合は、前回の燃料温度推定値Ｔon(i-1) が低くなるほど、補正係数Ｆonを大きくする。
【００４８】
一方、エンジン運転中の燃料温度推定値Ｔon(i) の初期値（エンジン始動当初の燃料温度）は、前回のエンジン停止直前に最後に推定した燃料温度推定値と、前回のエンジン停止から今回のエンジン始動までの経過時間と、外気温（又は吸気温）に基づいて推定する。つまり、エンジン停止中の放熱による燃料温度の下降量を、前回のエンジン停止から今回のエンジン始動までの経過時間と外気温（又は吸気温）に基づいて推定し、前回のエンジン停止直前に最後に推定した燃料温度推定値から上記エンジン停止中の放熱による燃料温度の下降量を差し引くことで、今回のエンジン始動時の燃料温度の初期値を推定するものである。このようにして推定した燃料温度の初期値が外気温（又は吸気温）よりも低くなるような場合は、燃料温度の初期値を外気温（又は吸気温）と同一温度に設定すれば良い。
【００４９】
尚、本実施形態（１）では、エンジン停止中も、エバポ系のリーク診断が終了するまでは、後述する方法で燃料温度を推定するため、エンジン運転中の燃料温度推定値Ｔon(i) の初期値は、エンジン停止中に最後に推定した燃料温度推定値と、この燃料温度の推定終了時（リーク診断終了時）から今回のエンジン始動までの経過時間と、外気温（又は吸気温）に基づいて推定するようにしても良い。この場合も、推定した燃料温度の初期値が外気温（又は吸気温）よりも低くなるような場合は、燃料温度の初期値を外気温（又は吸気温）と同一温度に設定すれば良い。
【００５０】
《エンジン停止中の燃料温度推定方法》
エンジン停止中の燃料タンク１１内の燃料温度の推定は、エンジン停止直前に最後に推定した燃料温度推定値Ｔon(i) を初期値として用いる。
【００５１】
エンジン停止中は、燃料タンク１１内の燃料温度Ｔoff(i)を次式により推定する。
Ｔoff(i)＝（Ｔoffup −Ｔoffdown ）×Ｆoff ＋Ｔoff(i-1)
Ｔoffup ：演算周期当たりの燃料タンク１１内の燃料温度上昇分
Ｔoffdown ：演算周期当たりの燃料タンク１１内の燃料温度下降分
Ｆoff ：補正係数
Ｔoff(i-1)：前回の燃料温度推定値
【００５２】
ここで、エンジン停止中の燃料温度上昇分Ｔoffup は、エンジン停止後の排気残熱が燃料タンク１１内に伝わることによる燃料温度上昇分である。排気温度を検出する排気温度センサを備えたシステムでは、排気温度センサの出力に基づいて排気残熱による燃料温度の上昇分を推定すれば良いが、排気温度センサを備えていないシステムでは、エンジン停止後の経過時間に基づいてマップ又は数式により算出すれば良い。
【００５３】
また、エンジン停止中の燃料温度下降分Ｔoffdown は、外気温（又は吸気温）に基づいてマップ又は数式により算出したり、或は、外気温（又は吸気温）と前回の燃料温度推定値Ｔoff(i-1)との温度差に基づいてマップ又は数式により算出しても良い。
【００５４】
また、補正係数Ｆoff は、燃料タンク１１内の燃料残量に基づいて今回の燃料温度推定値Ｔoff(i)を補正するための補正係数である。外気温が同じでも、燃料タンク１１内の燃料残量によって燃料温度の低下量が異なってくることを考慮するものである。本実施形態（１）では、燃料タンク１１内の燃料残量が５０％のときに補正係数Ｆoff を基準値「１」とし、燃料残量が少なくなるほど、補正係数Ｆoff を小さくし、燃料残量が多くなるほど、補正係数Ｆoff を大きくする。
【００５５】
エンジン停止中の燃料タンク１１内の燃料温度の推定は、エバポ系のリーク診断が終了するまで行われる。従って、エンジン停止中も、リーク診断が終了するまでは、メインリレー２２をオン状態に維持して、制御回路２１、大気開閉弁１４、パージ制御弁１６、タンク内圧センサ１７及び燃料レベルセンサ１８への電源供給を継続し、リーク診断終了時に、燃料温度の推定を終了すると共に、メインリレー２２をオフして、制御回路２１、大気開閉弁１４、パージ制御弁１６、タンク内圧センサ１７及び燃料レベルセンサ１８への電源供給をオフする。
【００５６】
以下、上述した燃料温度の推定とエバポ系のリーク診断を実行する図２乃至図６の各ルーチンの処理内容を説明する。
【００５７】
図２及び図３に示す燃料温度推定ルーチンは、所定時間毎（例えば１０ｓｅｃ毎）に実行され、特許請求の範囲でいう燃料温度推定装置としての役割を果たす。本ルーチンが起動されると、まずステップ１０１で、イグニッションスイッチ２３がオン（ＯＮ）されているか否か、つまりエンジン運転中であるか否かを判定し、イグニッションスイッチ２３がオン状態（エンジン運転中）であれば、ステップ１０２〜１０８の処理を実行して、エンジン運転中の燃料タンク１１内の燃料温度Ｔon(i) を次のようにして推定する。まず、ステップ１０２で、現在の時刻を記憶する。この処理をエンジン運転中に所定時間毎（１０ｓｅｃ毎）に繰り返すことで、最終的に、イグニッションスイッチ２３がオンからオフに切り換えられた時刻（エンジンが停止された時刻）が記憶される。
【００５８】
そして、次のステップ１０３で、エンジン回転速度ＮＥと吸気管圧力ＰＭをパラメータとする燃料温度上昇分算出マップＭＡＰ１を用いて、現時点のエンジン回転速度ＮＥと吸気管圧力ＰＭに応じたエンジン運転中の演算周期（１０ｓｅｃ）当たりの燃料温度上昇分Ｔonupを算出する。このステップ１０３の処理が特許請求の範囲でいう燃温上昇分推定手段に相当する役割を果たす。
【００５９】
この後、ステップ１０４に進み、車速ＳＰＤと吸気温ＴＡ（吸気温センサ２０の検出値）をパラメータとする燃料温度下降分算出マップＭＡＰ２を用いて、現時点の車速ＳＰＤと吸気温ＴＡに応じたエンジン運転中の演算周期（１０ｓｅｃ）当たりの燃料温度下降分Ｔondownを算出する。このステップ１０４の処理が特許請求の範囲でいう燃温下降分推定手段に相当する役割を果たす。
【００６０】
この後、ステップ１０５に進み、燃料残量ＬＦＧ（燃料レベルセンサ１８の検出値）と前回の燃料温度推定値Ｔon(i-1) をパラメータとする補正係数算出マップＭＡＰ３を用いて、現時点の燃料残量ＬＦＧと前回の燃料温度推定値Ｔon(i-1) に応じた補正係数Ｆonを算出する。そして、次のステップ１０６で、上記燃料温度上昇分Ｔonup、燃料温度下降分Ｔondown、補正係数Ｆon、前回の燃料温度推定値Ｔon(i-1) を用いて、エンジン運転中の燃料温度推定値Ｔon(i) を次式により算出する。
Ｔon(i) ＝（Ｔonup−Ｔondown）×Ｆon＋Ｔon(i-1)
【００６１】
この際、前回の燃料温度推定値Ｔon(i-1) の初期値Ｔon(0) は、後述する図４の始動時燃料温度初期値設定ルーチンによって設定される。
【００６２】
燃料温度推定値Ｔon(i) の算出後、ステップ１０７に進み、燃料温度推定値Ｔon(i) を次式によりなまし処理して最終的な燃料温度推定値Ｔon(i) を求める。
Ｔon(i) ＝Ｔon(i) ×０．０５＋Ｔon(i-1) ×０．９５
【００６３】
これらステップ１０５〜１０７の処理が特許請求の範囲でいう燃温推定手段と補正手段としての役割を果たす。
【００６４】
そして、次のステップ１０８で、この燃料温度推定値Ｔon(i) をエンジン停止後の燃料温度推定値Ｔoff の初期値Ｔoff(0)として記憶して、本ルーチンを終了する。
【００６５】
エンジン運転中は、所定時間毎（１０ｓｅｃ毎）に上述したステップ１０２〜１０８の処理を繰り返すことで、燃料温度推定値Ｔon(i) を所定時間毎（１０ｓｅｃ毎）に更新し、その都度、エンジン停止後の燃料温度推定値Ｔoff の初期値Ｔoff(0)の記憶値を最新の燃料温度推定値Ｔon(i) で書き換える。これにより、エンジン停止後の燃料温度Ｔoff の推定は、エンジン停止直前に最後に推定した燃料温度推定値Ｔon(i) を初期値Ｔoff(0)として用いる。
【００６６】
その後、イグニッションスイッチ２３がオフ（ＯＦＦ）されてエンジンが停止すると、ステップ１０１で「Ｎｏ」と判定されて、図３のステップのステップ１０９に進み、メインリレー２２がオン（ＯＮ）状態であるか否か（つまりエバポ系のリーク診断が終了する前であるか否か）を判定し、メインリレー２２がオン（ＯＮ）状態であれば、ステップ１１０〜１１４の処理を実行して、エンジン停止中の燃料タンク１１内の燃料温度Ｔoff(i)を次のようにして推定する。
【００６７】
まず、ステップ１１０で、エンジン停止後の経過時間ｔｉｍｅ（ソークタイマ２５の計測値）をパラメータとする燃料温度上昇分算出マップＭＡＰ４を用いて、エンジン停止後の経過時間ｔｉｍｅに応じたエンジン停止中の演算周期（１０ｓｅｃ）当たりの燃料温度上昇分Ｔoffup を算出する。このステップ１１０の処理が特許請求の範囲でいう燃温上昇分推定手段に相当する役割を果たす。
【００６８】
この後、ステップ１１１に進み、吸気温ＴＡをパラメータとする燃料温度下降分算出マップＭＡＰ５を用いて、現時点の吸気温ＴＡに応じたエンジン停止中の演算周期（１０ｓｅｃ）当たりの燃料温度下降分Ｔoffdown を算出する。このステップ１１１の処理が特許請求の範囲でいう燃温下降分推定手段に相当する役割を果たす。
【００６９】
この後、ステップ１１２に進み、燃料残量ＬＦＧをパラメータとする補正係数算出マップＭＡＰ６を用いて、現時点の燃料残量ＬＦＧに応じた補正係数Ｆoff を算出する。そして、次のステップ１１３で、上記燃料温度上昇分Ｔoffup 、燃料温度下降分Ｔoffdown 、補正係数Ｆoff 、前回の燃料温度推定値Ｔoff(i-1)を用いて、エンジン停止中の燃料温度推定値Ｔoff(i)を次式により算出する。
Ｔoff(i)＝（Ｔoffup −Ｔoffdown ）×Ｆoff ＋Ｔoff(i-1)
【００７０】
この際、前回の燃料温度推定値Ｔoff(i-1)の初期値Ｔoff(0)は、図２のステップ１０８で記憶されたエンジン停止直前に最後に推定した燃料温度推定値Ｔon(i) を用いる。
【００７１】
燃料温度推定値Ｔoff(i)の算出後、ステップ１１４に進み、燃料温度推定値Ｔoff(i)を次式によりなまし処理して最終的な燃料温度推定値Ｔoff(i)を求める。
Ｔoff(i)＝Ｔoff(i)×０．０５＋Ｔoff(i-1)×０．９５
これらステップ１１２〜１１４の処理が特許請求の範囲でいう燃温推定手段と補正手段としての役割を果たす。
【００７２】
一方、図４の始動時燃料温度初期値設定ルーチンは、イグニッションスイッチ２３のオン時（制御回路２１の電源投入時）に起動される。本ルーチンが起動されると、まず、ステップ２０１で、エンジン始動時の燃料温度初期値Ｔon(0) を次式により算出する。
Ｔon(0) ＝Ｔoff(0)−ΔＴoff
【００７３】
ここで、Ｔoff(0)は、前回のエンジン停止直前に最後に推定した燃料温度推定値Ｔon(i）であり、図２のステップ１０８で記憶された値を用いる。また、ΔＴoff は、前回のエンジン停止から今回のエンジン始動までの放熱による燃料温度下降量である。この燃料温度下降量ΔＴoff は、前回のエンジン停止から今回のエンジン始動までの経過時間と吸気温（外気温）に応じてマップ等により設定される。例えば、吸気温（外気温）が２５℃の場合は、１℃／時間程度の割合で燃料温度下降量ΔＴoff が設定される。
【００７４】
尚、本実施形態（１）では、エンジン停止中も、エバポ系のリーク診断が終了するまでは、燃料温度Ｔoff を推定するため、エンジン始動時の燃料温度初期値Ｔon(0) は、エンジン停止中に最後に推定した燃料温度推定値Ｔoff(i)を用いて次式により算出しても良い。
Ｔon(0) ＝Ｔoff(i)−ΔＴoff'
【００７５】
ここで、ΔＴoff'は、燃料温度推定終了時（リーク診断終了時）から今回のエンジン始動までの放熱による燃料温度下降量である。この燃料温度下降量ΔＴoff'は、燃料温度推定終了時（リーク診断終了時）から今回のエンジン始動までの経過時間と吸気温（外気温）に応じてマップ等により設定すれば良い。
【００７６】
燃料温度初期値Ｔon(0) の算出後、ステップ２０２に進み、燃料温度初期値Ｔon(0) を吸気温ＴＡ（外気温）と比較し、燃料温度初期値Ｔon(0) が吸気温ＴＡ（外気温）よりも低ければ、ステップ２０３に進み、燃料温度初期値Ｔon(0) を吸気温ＴＡ（外気温）と同一温度に設定する。これに対し、ステップ２０１で算出した燃料温度初期値Ｔon(0) が吸気温ＴＡ（外気温）以上であれば、その燃料温度初期値Ｔon(0) をそのままエンジン始動時の燃料温度初期値として用いる。
【００７７】
次に、図５及び図６のエバポ系リーク診断ルーチンの処理内容を説明する。本ルーチンは、エンジン運転中及びエンジン停止中に所定のリーク診断実行条件が成立したときにエバポ系のリーク診断を実行するルーチンであり、制御回路２１の電源がオンされている期間に所定時間毎（例えば５０ｍｓｅｃ毎）に起動され、特許請求の範囲でいう異常診断手段としての役割を果たす。
【００７８】
本ルーチンが起動されると、まずステップ３０１で、イグニッションスイッチ２３がオン（ＯＮ）されているか否か、つまりエンジン運転中であるか否かを判定し、イグニッションスイッチ２３がオン状態（エンジン運転中）であれば、ステップ３０２〜３０５の判定処理によって、エンジン運転中のリーク診断実行条件が成立しているか否かを判定する。このエンジン運転中のリーク診断実行条件は、次の４つの条件▲１▼〜▲４▼が全て満たされることである。
【００７９】
▲１▼エンジン始動から所定時間、例えば１００ｓｅｃが経過していること（ステップ３０２）
▲２▼現時点の冷却水温が所定温度、例えば７０℃以上であること（ステップ３０３）
▲３▼現時点の吸気温（外気温）が所定温度、例えば５０℃よりも低いこと（ステップ３０４）
▲４▼現時点の燃料温度推定値Ｔon(i) が所定温度、例えば４０℃よりも低いこと（ステップ３０５）
【００８０】
上記条件▲１▼、▲２▼は、エンジン暖機後の安定したエンジン運転状態でリーク診断を実行するための条件である。また、外気温や燃料タンク１１内の燃料温度が高くなりすぎると、燃料タンク１１内のエバポガス発生量が多くなり過ぎて、少量リーク時の燃料タンク内圧の変化と正常時の燃料タンク内圧の変化との差が少なくなって、両者を区別しにくくなるため、上記条件▲３▼、▲４▼は、少量リーク時の燃料タンク内圧の変化と正常時の燃料タンク内圧の変化との差を確保するための条件である。
【００８１】
これら４つの条件▲１▼〜▲４▼のうち１つでも満たさない条件があれば、リーク診断実行条件が不成立となり、リーク診断を実行することなく、本ルーチンを終了する。
【００８２】
これに対し、４つの条件▲１▼〜▲４▼が全て満たされれば、リーク診断実行条件が成立して、ステップ３０６以降のリーク診断処理を次のようにして実行する。まず、ステップ３０６で、大気開閉弁１４を閉弁してエバポ系を密閉する（このときパージ制御弁１６は閉弁状態に維持されている）。この後、ステップ３０７に進み、パージ制御弁１６を開弁してエンジン吸気系からエバポ系内に負圧を導入し、燃料タンク内圧が所定圧力まで低下した時点でパージ制御弁１６を閉弁して負圧導入を終了し、エバポ系を再び密閉する。
【００８３】
この後、ステップ３０８に進み、負圧導入終了から所定時間（例えば１５ｓｅｃ）経過するまでの燃料タンク内圧変化量ΔＰ（タンク内圧センサ１７の検出値の変化量）を計測する。そして、次のステップ３０９で、燃料タンク内圧変化量ΔＰを予め設定したリーク判定値Ｋ1 と比較し、燃料タンク内圧変化量ΔＰがリーク判定値Ｋ1 以下であれば、リーク無し（正常）と判断して、本ルーチンを終了する。
【００８４】
もし、燃料タンク内圧変化量ΔＰがリーク判定値Ｋ1 よりも大きければ、リーク発生（異常）と判断して、ステップ３１０に進み、警告ランプ（図示せず）を点灯して運転者に警告すると共に、異常コードを制御回路２１のバックアップＲＡＭ（図示せず）に記憶し、更に、次のステップ３１１で、エバポ系の密閉を継続して、本ルーチンを終了する。
【００８５】
一方、イグニッションスイッチ２３がオフ（ＯＦＦ）されてエンジンが停止すると、ステップ３０１で「Ｎｏ」と判定され、図６のステップのステップ３１２〜３１５の判定処理によって、エンジン停止中のリーク診断実行条件が成立しているか否かを判定する。このエンジン停止中のリーク診断実行条件は、次の４つの条件▲１▼〜▲４▼が全て満たされることである。
【００８６】
▲１▼エンジン停止から所定時間、例えば１０００ｓｅｃが経過していること（ステップ３１２）
▲２▼現時点の冷却水温が所定温度、例えば７０℃以上であること（ステップ３１３）
▲３▼現時点の吸気温（外気温）が所定温度、例えば５０℃よりも低いこと（ステップ３１４）
▲４▼エンジン停止後の燃料温度初期値Ｔoff(0)［エンジン停止直前に最後に図２のテップ１０８で記憶された値］が所定温度、例えば３５℃以上であること（ステップ３１５）
【００８７】
エンジン停止直後は、排気系の温度が高いため、その熱で燃料タンク１１内の燃料温度が暫く上昇し続けるため、上記▲１▼の条件は、燃料タンク１１内の燃料温度が下がり始めるまで待ってリーク診断を開始するための条件である。また、上記▲２▼の条件は、燃料タンク１１内の燃料温度が排気熱で十分に温度上昇した状態でリーク診断を開始するための条件である。
【００８８】
また、外気温が高すぎたり、燃料タンク１１内の燃料温度が低すぎると、燃料タンク１１内の燃料温度と外気温との差が少なくなって、エンジン停止中の放熱による燃料温度の低下が少なくなるため、リーク診断に必要な燃料温度低下量を確保するのが難しくなる。これを避けるため、上記条件▲３▼，▲４▼は、リーク診断に必要な燃料温度低下量を確保するための条件である。
【００８９】
これら４つの条件▲１▼〜▲４▼のうち１つでも満たさない条件があれば、リーク診断実行条件が不成立となる。この際、条件▲２▼、▲４▼（ステップ３１３、３１５）は、一旦、「Ｎｏ」と判定されると、今回のエンジン停止中に時間が経過しても「Ｙｅｓ」と判定される可能性がないため、ステップ３２１に進み、メインリレー２２をオフ（ＯＦＦ）して、制御回路２１等への電源供給をオフし、本ルーチンを終了する。また、条件▲１▼、▲３▼（ステップ３１２、３１４）は、一旦、「Ｎｏ」と判定されても、その後、時間が経過すれば「Ｙｅｓ」と判定される可能性があるため、メインリレー２２をオフ（ＯＦＦ）せずに、本ルーチンを終了する。
【００９０】
一方、４つの条件▲１▼〜▲４▼が全て満たされれば、リーク診断実行条件が成立して、ステップ３１６以降のリーク診断処理を次のようにして実行する。まず、ステップ３１６で、大気開閉弁１４を閉弁してエバポ系を密閉する（このときパージ制御弁１６は閉弁状態に維持されている）。この後、ステップ３１７に進み、エバポ系密閉時から燃料温度推定値Ｔoff が所定温度（例えば１０℃）低下するまでの燃料タンク内圧変化量ΔＰ（タンク内圧センサ１７の検出値の変化量）を計測する。
【００９１】
この後、ステップ３１８に進み、燃料タンク内圧変化量ΔＰを予め設定されたリーク判定値Ｋ2 と比較して、エバポ系のリーク診断を行う。図７に示すように、エバポ系にリークが発生していると、リーク診断期間中の燃料タンク内圧変化量ΔＰが非常に小さくなり、リークが無ければ、燃料タンク内圧変化量ΔＰがある程度大きくなる。このような特性から、燃料タンク内圧変化量ΔＰがリーク判定値Ｋ2 以上であれば、リーク無し（正常）と判断して、ステップ３２１に進み、メインリレー２２をオフ（ＯＦＦ）して、制御回路２１等への電源供給をオフし、本ルーチンを終了する。
【００９２】
これに対し、燃料タンク内圧変化量ΔＰがリーク判定値Ｋ2 よりも小さければ、リーク発生（異常）と判断して、ステップ３１９に進み、警告ランプ（図示せず）を点灯して運転者に警告すると共に、異常コードを制御回路２１のバックアップＲＡＭ（図示せず）に記憶する。そして、次のステップ３２０で、大気開閉弁１４を開弁してエバポ系の密閉を解除した後、ステップ３２１に進み、メインリレー２２をオフ（ＯＦＦ）して、制御回路２１等への電源供給をオフし、本ルーチンを終了する。
【００９３】
以上説明した本実施形態（１）では、燃料温度センサを設けなくても、エンジン運転中及びエンジン停止中に燃料温度を判定することができ、低コスト化の要求を満たすことができる。しかも、燃料温度センサを設けなくても、燃料温度を考慮してエバポ系のリーク診断を行うことができ、リーク診断精度を向上することができる。
【００９４】
更に、本実施形態（１）では、エンジン運転中に加え、エンジン停止中も、燃料温度を考慮してエバポ系のリーク診断を行うようにしたので、リーク診断の回数を増やすことができて、リークの早期発見の要求も満たすことができる。しかしながら、本発明は、エンジン運転中とエンジン停止中のいずれか一方のみでエバポ系のリーク診断を行うようにしても良い。
【００９５】
また、本実施形態（１）では、エンジン停止中にエバポ系密閉時から燃料温度推定値Ｔoff が所定温度低下するまでの燃料タンク内圧変化量ΔＰに基づいてリーク診断を行うようにしたが、エバポ系密閉時から所定期間内の燃料温度推定値Ｔoff の低下率（低下の傾き）と燃料タンク内圧の変化率（変化の傾き）とに基づいてエバポ系のリーク診断を行うようにしても良い。要するに、エンジン停止中に推定した燃料温度推定値Ｔoff の変化と燃料タンク内圧の変化との関係に基づいてエバポ系のリーク診断を行うようにすれば良い。また、エンジン運転中のリーク診断の方法も適宜変更しても良い。
【００９６】
［実施形態（２）］
上記実施形態（１）では、エンジン運転中やエンジン停止中に推定した燃料温度推定値をエバポ系のリーク診断に用いたが、燃料温度推定値の用途はエバポ系のリーク診断に限定されるものではなく、例えば、空燃比制御（燃料噴射量制御）等のエンジン制御に用いるようにしても良い。
【００９７】
また、本発明は、燃料タンク１１内の燃料温度を検出する燃料温度センサを備えたシステムに適用しても良い。以下、これを具体化した本発明の実施形態（２）を図８及び図９に基づいて説明する。本実施形態（２）では、燃料温度推定値を燃料温度センサの異常診断に用いる。
【００９８】
図９に示すように、燃料温度センサが正常であれば、燃料温度推定値Ｔと燃料温度センサの検出値Ｔsen との誤差が小さいが、燃料温度センサが故障して燃料温度センサの検出値Ｔsen が異常値を示すようになると、燃料温度推定値Ｔと燃料温度センサの検出値Ｔsen との誤差が大きくなる。そこで、本実施形態（２）では、図８の燃料温度センサ異常診断ルーチンによって燃料温度推定値Ｔと燃料温度センサの検出値Ｔsen との誤差に基づいて燃料温度センサの異常診断を実施する。
【００９９】
図８の燃料温度センサ異常診断ルーチンは、イグニッションスイッチ２３のオン後に所定時間毎（例えば５０ｍｓｅｃ毎）に起動され、特許請求の範囲でいう異常診断手段としての役割を果たす。尚、燃料温度の推定方法は前記実施形態（１）と同じである。
【０１００】
本ルーチンが起動されると、まずステップ４０１で、エンジン始動から所定時間（例えば５ｓｅｃ）が経過したか否かを判定し、経過前であれば、ステップ４０２に進み、燃料温度推定値の初期値Ｔstとしてその時点の燃料温度推定値Ｔをセットし、次のステップ４０３で、燃料温度センサ検出値の初期値Ｔsenst としてその時点の燃料温度センサ検出値Ｔsen をセットする。
【０１０１】
その後、エンジン始動から所定時間（例えば５ｓｅｃ）が経過した後は、ステップ４０１からステップ４０４に進み、エンジン始動後の燃料温度推定値の上昇量（Ｔ−Ｔst）が例えば１０℃以上であるか否かを判定し、１０℃未満であれば、以降の処理を行うことなく、本ルーチンを終了する。
【０１０２】
その後、エンジン始動後の燃料温度推定値の上昇量（Ｔ−Ｔst）が１０℃以上になった時点で、ステップ４０５に進み、エンジン始動後の燃料温度センサ検出値の上昇量（Ｔsen −Ｔsenst ）が例えば５℃未満であるか否かを判定する。もし、エンジン始動後の燃料温度センサ検出値の上昇量（Ｔsen −Ｔsenst ）が５℃以上であれば、燃料温度センサ検出値の上昇量（Ｔsen −Ｔsenst ）と燃料温度推定値の上昇量（Ｔ−Ｔst）との誤差が正常時の誤差範囲内であるため、燃料温度センサが正常であると判断して、本ルーチンを終了する。
【０１０３】
これに対し、エンジン始動後の燃料温度センサ検出値の上昇量（Ｔsen −Ｔsenst ）が５℃未満であれば、燃料温度センサ検出値の上昇量（Ｔsen −Ｔsenst ）と燃料温度推定値の上昇量（Ｔ−Ｔst）との誤差が正常時の誤差範囲を越えているため、燃料温度センサが異常であると判断して、ステップ４０６に進み、警告ランプ（図示せず）を点灯して運転者に警告すると共に、異常コードを制御回路２１のバックアップＲＡＭ（図示せず）に記憶する。そして、次のステップ４０７で、リーク診断を禁止して本ルーチンを終了する。
【０１０４】
尚、本実施形態（２）では、エバポ系のリーク診断を行う際に、燃料温度推定値の代わりに、燃料温度センサの検出値を用いて前記実施形態（１）と同様の方法でエバポ系のリーク診断を行う。
【０１０５】
以上説明した本実施形態（２）では、燃料温度推定値を用いて燃料温度センサの異常診断を行うようにしたので、燃料温度センサを備えたシステムの信頼性を向上できる。
【０１０６】
尚、本実施形態（２）では、エンジン始動後の燃料温度センサ検出値の上昇量と燃料温度推定値の上昇量との関係から燃料温度センサの異常診断を行うようにしたが、エンジン停止後の燃料温度センサ検出値の変化量と燃料温度推定値の変化量との関係から燃料温度センサの異常診断を行うようにしても良い。或は、エンジン運転中やエンジン停止後に、随時、燃料温度推定値と燃料温度センサの検出値との誤差を判定し、その誤差が正常時の誤差範囲を越えているか否かで、燃料温度センサの異常の有無を判定するようにしても良い。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエバポガスパージシステムの構成を示す図
【図２】実施形態（１）の燃料温度推定ルーチンの処理の流れを示すフローチャート（その１）
【図３】実施形態（１）の燃料温度推定ルーチンの処理の流れを示すフローチャート（その２）
【図４】実施形態（１）の始動時燃料温度初期値設定ルーチンの処理の流れを示すフローチャート
【図５】実施形態（１）のエバポ系リーク診断ルーチンの処理の流れを示すフローチャート（その１）
【図６】実施形態（１）のエバポ系リーク診断ルーチンの処理の流れを示すフローチャート（その２）
【図７】実施形態（１）の燃料温度の推定とエバポ系リーク診断の一例を示すタイムチャート
【図８】実施形態（２）の燃料温度センサ異常診断ルーチンの処理の流れを示すフローチャート
【図９】実施形態（２）の燃料温度推定値と燃料温度センサ検出値との関係を示すタイムチャート
【符号の説明】
１１…燃料タンク、１２…エバポ通路、１３…キャニスタ、１４…大気開閉弁、１５…パージ通路、１６…パージ制御弁、１７…タンク内圧センサ、１８…燃料レベルセンサ、１９…水温センサ、２０…吸気温センサ、２１…制御回路（燃温上昇分推定手段，燃温下降分推定手段，燃温推定手段，補正手段，異常診断手段）、２２…メインリレー、２３…イグニッションスイッチ、２４…バックアップ電源、２５…ソークタイマ。
【図１】
0004497268.tif 000002
【図２】
0004497268.tif 000003
【図３】
0004497268.tif 000004
【図４】
0004497268.tif 000005
【図５】
0004497268.tif 000006
【図６】
0004497268.tif 000007
【図７】
0004497268.tif 000008
【図８】
0004497268.tif 000009
【図９】
0004497268.tif 000010