(57)【要約】【課題】サーモスタット故障検出処理に適合した暖機状態を容易かつ正確に特定する。【解決手段】サーモスタットの故障を検出する装置は、サーモスタットに対してラジエータ側に設けられたラジエータ水温センサと、エンジンが所定の暖機状態に達したならば、ラジエータ水温センサによって検出される温度が所定量以上変化したかどうかどうかに従ってサーモスタットの故障を検出するサーモスタット故障検出処理を実施する制御ユニットを備える。一実施例では、所定の暖機状態に達したかどうかは、エンジン水温センサによって検出される温度を用いて判断される。他の実施例では、該所定の暖機状態に達したときに実施されるよう構成された車両関連処理が起動されたかどうかに従って判断される。さらに他の実施例では、エンジンの暖機状態のレベルに基づいて判断される。さらに他の実施例では、推定されたエンジン水温に基づいて判断される。【選択図】図６
2004353592.tif 000002
【特許請求の範囲】
【請求項１】
エンジンとラジエータとの間に設けられ、該エンジンと該ラジエータとの間の冷却水の循環を規制するサーモスタットの故障を検出する装置であって、
前記サーモスタットに対してラジエータ側に設けられた第１の温度センサと、
前記サーモスタットに対してエンジン側に設けられた第２の温度センサと、
前記エンジンが所定の暖機状態に達したならば、前記第１の温度センサによって検出される温度が所定量以上変化したかどうかに従って前記サーモスタットの故障を検出するサーモスタット故障検出処理を実施する制御ユニットと、を備え、
前記所定の暖機状態に達したかどうかは、前記第２の温度センサによって検出される温度が所定温度に達したかどうかに従って判断される、
サーモスタットの故障を検出する装置。
【請求項２】
前記所定の暖機状態は、前記第２の温度センサによって検出される温度が前記所定値に達する前に、該第２の温度センサによって検出される温度が所定量以上変化したかどうかに従って判断される、請求項１に記載のサーモスタットの故障を検出する装置。
【請求項３】
エンジンとラジエータとの間に設けられ、該エンジンと該ラジエータとの間の冷却水の循環を規制するサーモスタットの故障を検出する装置であって、
前記サーモスタットに対してラジエータ側に設けられた温度センサと、
前記エンジンが所定の暖機状態に達したならば、前記温度センサによって検出される温度が所定量以上変化したかどうかに従って前記サーモスタットの故障を検出するサーモスタット故障検出処理を実施する制御ユニットと、を備え、
前記所定の暖機状態に達したかどうかは、該所定の暖機状態に達したときに実施されるよう構成された車両関連処理が起動されたかどうかに従って判断される、サーモスタットの故障を検出する装置。
【請求項４】
エンジンとラジエータとの間に設けられ、該エンジンと該ラジエータとの間の冷却水の循環を規制するサーモスタットの故障を検出する装置であって、
前記サーモスタットに対してラジエータ側に設けられた温度センサと、
前記エンジンが所定の暖機状態に達したならば、前記温度センサによって検出される温度が所定量以上変化したかどうかに従って前記サーモスタットの故障を検出するサーモスタット故障検出処理を実施する制御ユニットと、を備え、
前記制御ユニットは、さらに、前記エンジンの暖機状態のレベルを判定するよう構成されており、前記所定の暖機状態に達したかどうかは、該判定された暖機状態のレベルに基づいて判断される、サーモスタットの故障検出処理。
【請求項５】
エンジンとラジエータとの間に設けられ、該エンジンと該ラジエータとの間の冷却水の循環を規制するサーモスタットの故障を検出する装置であって、
前記サーモスタットに対してラジエータ側に設けられた温度センサと、
前記エンジンが所定の暖機状態に達したならば、前記温度センサによって検出される温度が所定量以上変化したかどうかに従って前記サーモスタットの故障を検出するサーモスタット故障検出処理を実施する制御ユニットと、を備え、
前記制御ユニットは、さらに、前記エンジンの発熱量に基づいて該エンジンの冷却水の温度を推定するよう構成されており、前記所定の暖機状態に達したかどうかは、該推定された温度が所定値に達したかどうかに従って判断される、サーモスタットの故障を検出する装置。
【請求項６】
前記制御ユニットは、さらに、冷却損が最大である時の前記エンジンの冷却水の温度を第１の推定水温として推定し、冷却損が最小である時の前記エンジンの冷却水の温度を第２の推定水温として推定するよう構成されており、
前記所定の暖機状態は、前記第１の推定水温が、前記サーモスタットが開く温度に到達し、かつ前記第２の推定水温が所定量以上変化したかどうかに従って判断される、請求項５に記載のサーモスタットの故障を検出する装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、内燃機関の冷却水の温度を調整するサーモスタットの故障を検出する装置に関する。
【０００２】
【従来の技術】
車両には、内燃機関（以下、エンジンと呼ぶ）を冷却するための冷却水を供給するラジエータが備えられている。エンジンおよびラジエータは通路を介して接続され、該通路には、該通路を開閉するサーモスタットが配置されている。サーモスタットは、冷却水の温度に応じて開閉されるバルブである。エンジンの冷却水の温度が所定温度（サーモスタット開弁温度と呼ばれる）よりも高くなると、サーモスタットが開かれ、冷却水がラジエータとエンジンとの間で循環するようにする。
【０００３】
サーモスタットが閉じないという開故障が起こることがある。エンジンが冷えた状態で始動したときに開故障が発生していると、エンジン水温の上昇が妨げられる。エンジン水温の上昇が妨げられると、ＨＣのような有害成分が排気されるおそれがある。
【０００４】
サーモスタットの開故障を検出する様々な手法が提案されている。一例として、サーモスタットに対してエンジン側に第１の水温センサを設け、サーモスタットに対してラジエータ側に第２の水温センサを設ける。該第１の水温センサの検出値と第２の水温センサの検出値との差に基づいて、サーモスタットの故障を検出する。サーモスタットの故障検出は、エンジン始動から所定時間が経過し、かつエンジン水温がサーモスタットの開弁温度よりも低いときに、実施される（例えば、特許文献１参照）。
【０００５】
他の例として、エンジンの冷却水の温度（以下、エンジン水温と呼ぶ）を推定し、該推定されたエンジン水温と、実際にセンサによって検出されたエンジン水温との差に基づいて、サーモスタットの故障を検出する。エンジン水温の推定は、エンジンの運転状態に基づいて行われる。サーモスタットの故障検出は、エンジン始動から所定時間が経過し、かつエンジンからの発熱量が所定量以上であるときに実施される（例えば、特許文献２参照）。
【０００６】
【特許文献１】
特開平１０−１７６５３４号公報
【０００７】
【特許文献２】
特開２０００−１０４５４９号公報
【０００８】
【発明が解決しようとする課題】
２つのセンサの検出値に基づいてサーモスタットの故障を検出する手法では、いずれかのセンサに故障が生じた場合に、サーモスタットの故障を検出することができなくなる。また、推定されたエンジン水温を用いてサーモスタットの故障を検出する手法は、様々な外乱の影響を受けるおそれがある。これは、エンジン水温の推定が、エンジンの運転状態に基づいて行われるためである。外乱に対するロバスト性を補償するためには、サーモスタットの故障が検出可能な運転状態の範囲を狭める必要が生じる。
【０００９】
サーモスタットの開故障を正確に検出するためには、サーモスタットの故障検出処理を、エンジンが所定の暖機状態にある時に実施するのが好ましい。所定の暖機状態は、好ましくは、１）エンジン水温がサーモスタット開弁温度よりも低く、かつ２）ある程度の熱量がエンジンから発生している状態である。
【００１０】
上記１）の条件は、サーモスタットが閉じているべき状態で故障検出処理を実施するために必要とされる。上記２）は、エンジンが暖まった状態で故障検出処理を実施するために必要とされる。エンジンが冷えていると、サーモスタットの開閉にかかわらず、冷却水の温度は低い。このような状態では、サーモスタットの開故障を正確に検出することができない。
【００１１】
エンジンが所定の暖機状態に達したかどうかを判断する１つのファクターとして、従来、エンジン始動からの経過時間を用いていた。エンジン始動から一定時間が経過したとき、他の所定条件が満たされれば、サーモスタットの故障検出処理を実施していた。しかしながら、所定の暖機状態に達するまでの時間は、エンジンの状態および外気の温度等の様々なパラメータに依存して異なる。一定時間が経過しても、所定の暖機状態に達することができずに、故障検出処理を実施できない場合もある。一定時間が経過する前に、所定の暖機状態に達する場合もある。従来の手法によれば、サーモスタット故障検出処理を起動することができる状態を適切なタイミングで取得することができなかった。これは、故障検出処理を実施する頻度を低下させるおそれがある。
【００１２】
本願発明の目的は、サーモスタット故障検出処理を起動することができる所望の暖機状態を適切なタイミングで見極めて、故障検出処理の頻度を向上させることのできる装置を提供することである。本願発明で提供されるサーモスタット故障検出処理は、様々な外乱に対してロバスト性を有する。
【００１３】
【課題を解決するための手段】
上記の課題を解決するため、エンジンとラジエータとの間に設けられ、該エンジンと該ラジエータとの間の冷却水の循環を規制するサーモスタットの故障を検出する装置は、サーモスタットに対してラジエータ側に設けられた第１の温度センサ（ラジエータ水温センサ）と、制御ユニットとを備える。制御ユニットは、エンジンが所定の暖機状態に達したならば、第１の温度センサによって検出される温度が所定量以上変化したかどうかに従ってサーモスタットの故障を検出するサーモスタット故障検出処理を実施する。この発明によれば、１個の温度センサの検出値に基づいてサーモスタットの故障を検出することができる。また、ラジエータ側の冷却水の温度に基づいてサーモスタットの故障を検出するので、故障検出処理に対する外乱の影響が低減される。
【００１４】
一実施形態では、サーモスタット故障検出装置は、さらに、サーモスタットに対してエンジン側に設けられた第２の温度センサ（エンジン水温センサ）を備える。上記のサーモスタット故障検出処理が起動されるべき所定の暖機状態に達したかどうかは、第２の温度センサによって検出される温度が所定値に達したかどうかに従って判断される。他の実施形態では、該所定の暖機状態は、第２の温度センサによって検出される温度が上記所定値に達する前に、第２の温度センサの検出値が所定量以上変化したかどうかに従って判断される。この発明によれば、サーモスタットの故障検出処理に適合した暖機状態を、エンジン水温センサの検出値から簡単に取得することができる。
【００１５】
この発明の他の実施形態によると、上記のサーモスタット故障検出処理が起動されるべき所定の暖機状態に達したかどうかは、該所定の暖機状態にあるときに実施されるよう構成された車両関連処理が起動されたかどうかに従って判断される。この発明によれば、サーモスタットの故障検出処理に適合した暖機状態を、他の車両関連処理の起動から取得することができる。サーモスタットの故障検出処理の起動タイミングを、エンジン水温センサを用いずに簡単に定めることができる。一実施形態では、エンジン始動時にラジエータ水温センサによって検出された温度に基づいて、サーモスタット故障検出処理の起動をトリガする車両関連処理を選択する。
【００１６】
この発明の他の実施形態によると、制御ユニットは、さらに、エンジンの暖機状態のレベルを判定するよう構成される。上記のサーモスタット故障検出処理が起動されるべき所定の暖機状態に達したかどうかは、該判定された暖機状態のレベルに基づいて判断される。この発明によれば、エンジンの暖機状態のレベルが判定されるので、サーモスタット故障検出処理に適合したレベルの暖機状態にエンジンが達したかどうかを容易に判断することができる。一実施形態では、エンジン始動時にラジエータ水温センサによって検出された温度に基づいて、サーモスタット故障検出処理の起動をトリガする暖機状態レベルを算出する。
【００１７】
この発明の他の実施形態によると、制御ユニットは、さらに、エンジンの発熱量に基づいて該エンジンの冷却水の温度を推定するよう構成される。上記のサーモスタット故障検出処理が起動されるべき所定の暖機状態に達したかどうかは、該推定された温度が所定値に達したかどうかに従って判断される。この発明によれば、エンジン水温センサを設ける必要がない。推定されたエンジン水温を監視することにより、サーモスタット故障検出処理を起動するのに適合した暖機状態を取得することができる。
【００１８】
この発明の一実施形態では、制御ユニットは、さらに、冷却損が最大である時のエンジンの冷却水の温度を第１の推定水温として推定し、冷却損が最小である時のエンジンの冷却水の温度を第２の推定水温として推定する。上記のサーモスタット故障検出処理が起動されるべき所定の暖機状態に達したかどうかは、第１の推定水温がサーモスタット開弁温度に到達し、かつ第２の推定水温が所定量以上変化したかどうかに従って判断される。この発明によれば、第１の推定水温に基づいて、エンジン水温がサーモスタット開弁温度よりも低い状態を取得することができ、第２の推定水温に基づいて、ある程度の熱量がエンジンから発生している状態を取得することができる。第１および第２の推定水温を用いることにより、サーモスタット故障検出処理に適合した所望の暖機状態を取得することができる。
【００１９】
【発明の実施の形態】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の実施形態に従うエンジンおよびその制御装置の全体的なシステム構成図である。
【００２０】
電子制御ユニット（以下、「ＥＣＵ」）という）５は、車両の各部から送られてくるデータを受け入れる入力インターフェース５ａ、車両の各部の制御を行うための演算を実行するＣＰＵ５ｂ、読み取り専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）を有するメモリ５ｃ、および車両の各部に制御信号を送る出力インターフェース５ｄを備える。メモリ５ｃのＲＯＭには、車両の各部の制御を行うためのプログラムおよび各種のデータが格納されている。この発明に従う故障診断を実現するためのプログラム、および該プログラムの実行の際に用いるデータおよびテーブルは、このＲＯＭに格納されている。ＲＯＭは、ＥＰＲＯＭのような書き換え可能なＲＯＭでもよい。ＲＡＭには、ＣＰＵ５ｂによる演算のための作業領域が設けられる。車両の各部から送られてくるデータおよび車両の各部に送り出す制御信号は、ＲＡＭに一時的に記憶される。
【００２１】
エンジンの冷却水の温度を検出するエンジン水温（Ｔｗ）センサ１０が、エンジン１のシリンダブロックの、冷却水が充満した気筒周壁（図示せず）に取り付けられる。エンジン水温センサ１０によって検出されたエンジン水温Ｔｗは、ＥＣＵ５に送られる。
【００２２】
回転数（Ｎｅ）センサ１１は、エンジン１のカム軸またはクランク軸（共に図示せず）周辺に取り付けられる。回転数センサ１１によってエンジン回転数ＮＥは、ＥＣＵ５に送られる。
【００２３】
車速（ＶＰ）センサ１２は、エンジン１が搭載される車両のドライブシャフト（図示せず）の付近に取り付けられる。車速センサ１２によって検出された車速ＶＰは、ＥＣＵ５に送られる。
【００２４】
吸気管圧力（Ｐｂ）センサ１３および吸気温（Ｔａ）センサ１４は、エンジン１に連結された吸気管（図示せず）に設けられている。吸気管圧力センサ１３および吸気温センサ１４によって検出された吸気管圧力Ｐｂおよび吸気温Ｔａは、それぞれＥＣＵ５に送られる。
【００２５】
エンジン１は、ラジエータ２１にインレットパイプ（通路）２２を介して接続され、インレットパイプ２２にはサーモスタット２３が配置される。サーモスタット２３は、バイメタルからなる開閉バルブである。サーモスタット２３は、エンジン水温が所定のサーモスタット開弁温度（たとえば、７５℃）よりも低いときはインレットパイプ２２を閉じ、エンジン１からの冷却水がラジエータ２１に流入しないようにする。一方、サーモスタット２３は、エンジン水温がサーモスタット開弁温度を超えると、インレットパイプ２２を開き、エンジン１からの高温の冷却水をラジエータ２１に流入させる。
【００２６】
ラジエータ２１には、蜂の巣状のコア（図示せず）が収納されている。インレットパイプ２２から流入した高温の冷却水は、コアを通ることによって冷やされる。冷やされた冷却水は、アウトレットパイプ２４を通ってエンジン１に戻される。アウトレットパイプ２４からエンジン１への冷却水の循環は、エンジン出力によって駆動されるウォーターポンプ２５によって行われる。こうして、サーモスタット２３が開弁しているとき、冷却水は、エンジン１から、インレットパイプ２２、ラジエータ２１およびアウトレットパイプ２４を通ってエンジン１へと循環する。
【００２７】
ラジエータ２１のコアは、矢印２７によって示されるように車両の進行方向から風を受けて冷却されると共に、エンジン出力で駆動される冷却ファン２６によって冷却される。
【００２８】
ラジエータ２１に送られる冷却水の温度を検出する温度センサ２８が、サーモスタット２３に対してラジエータ側に配置される。この実施例では、温度センサ２８がインレットパイプ２２に設けられているが、たとえばラジエータ２１に設けてもよい。この温度センサ２８を、ラジエータ水温（ＴＲ）センサと呼ぶ。
【００２９】
図２を参照して、本発明の一実施形態に従う、サーモスタット故障検出処理を説明する。グラフ４１は、正常なサーモスタットを用いた場合の、ラジエータ水温センサ２８の検出値を示す。時間ｔ１において、エンジンが始動する。エンジンが始動した時、ラジエータ水温センサ２８によって検出される水温がＴＲ＿ｉｎｉｔで表されている。時間ｔ１〜ｔ３は、エンジン水温ＴＷがサーモスタット開弁温度に達しておらず、サーモスタット２３は閉じている。サーモスタット２３が閉じているので、エンジン１からの冷却水はラジエータ２１に流入しない。ラジエータ水温センサ２８によって検出される水温は、低く保たれる。時間ｔ３において、エンジン水温がサーモスタット開弁温度に達したので、サーモスタット２３が開く。サーモスタット２３が開くと、エンジン１から、高温の冷却水がラジエータ２１に流入する。その結果、ラジエータ水温センサ２８の検出値が急上昇する。
【００３０】
グラフ４２は、サーモスタットに開故障が生じたときのラジエータ水温センサ２８の検出値を示す。時間ｔ１〜ｔ３は、サーモスタットが閉じているべき時間帯であるが、故障のために開いたままになっている。エンジン水温ＴＷが上昇するにつれ、ラジエータ水温センサ２８の検出値も上昇する。この現象は、サーモスタットが完全に閉じることができずに漏れ量が大きい場合にも生じる。
【００３１】
本発明の一実施形態では、時間ｔ１〜ｔ３において、エンジンが所定の暖機状態に達したとき（たとえば、時間ｔ２）、ラジエータ水温センサ２８の検出値に基づいてサーモスタットの故障を検出する。具体的には、ラジエータ水温センサ２８によって検出された水温が正常判定値Ｔ＿ｏｋ（たとえば、初期水温ＴＲ＿ｉｎｉｔ＋３℃）に達しなければ、サーモスタットは正常と判定される。ラジエータ水温センサ２８によって検出された水温が故障判定値Ｔ＿ｆａｉｌ（たとえば、初期水温ＴＲ＿ｉｎｉｔ＋１５℃）に達したならば、サーモスタットは故障と判定される。
【００３２】
図３は、サーモスタット故障検出処理のフローチャートを示す。ステップＳ１１において、ラジエータ水温センサ２８によって検出された水温ＴＲと、エンジンが始動した時にラジエータ水温センサ２８によって検出された初期水温ＴＲ＿ｉｎｉｔとの差ΔＴＲを算出する。ステップＳ１２において、該差ΔＴＲが正常判定値Ｔ＿ｏｋより小さければ、サーモスタットは正常と判定する（Ｓ１３）。ステップＳ１４において、該差ΔＴＲが故障判定値Ｔ＿ｆａｉｌより大きければ、サーモスタットは開故障と判定する（Ｓ１５）。該差ΔＴＲが、正常判定値と故障判定値の間にあれば、現在の運転サイクルにおける故障／正常の判定を保留する（Ｓ１６）。
【００３３】
本発明の一実施形態に従うと、図３に示されるようなサーモスタット故障検出処理は、エンジンが所定の暖機状態にある時に、ＥＣＵ５によって起動される。該所定の暖機状態は、１）エンジン水温がサーモスタット開弁温度よりも低く、かつ２）所定量以上の熱量がエンジンから発せられている状態を示す。
【００３４】
上記１）は、サーモスタットが正常ならば閉じているべき状態で故障検出処理を実施するために必要とされる。図２に示されるように、時間帯ｔ１〜ｔ３の間におけるラジエータ水温センサ２８の検出値ＴＲの変化量を調べれば、サーモスタットの故障を検出することができる。
【００３５】
上記２）は、エンジンがある程度暖まっている状態で故障検出処理を実施するために必要とされる。エンジンが冷えているときは、サーモスタットの開閉にかかわらず、ラジエータ水温センサ２８の検出値は低い。このような状態では、サーモスタットが正常な場合と故障の場合とでラジエータ水温センサ２８の検出値に差が生じず、よってサーモスタットの故障を正確に検出することはできない。
【００３６】
以下、サーモスタット故障検出処理を起動するのに適合した暖機状態を特定する手法について、いくつかの実施形態を具体的に説明する。それぞれの実施形態において説明されるフローチャートは、典型的には、ＥＣＵ５に格納されたコンピュータプログラムにより実現される。
【００３７】
図４を参照して、本発明の第１の実施形態を説明する。この実施形態では、エンジン水温（ＴＷ）センサ１０の検出値を用いて、サーモスタット故障検出処理を起動するのに適合した暖機状態にエンジンが達したかどうかを判断する。
【００３８】
グラフ４５および４６は、サーモスタットが正常である場合の、エンジン水温センサ１０およびラジエータ水温センサ２８の検出値をそれぞれ示す。グラフ４７は、エンジンから発する熱量の一例を示す。
【００３９】
エンジンは、時間ｔ１で始動する。エンジンが始動した時にエンジン水温センサおよびラジエータ水温センサの検出値が、ＴＷ＿ｉｎｉｔおよびＴＲ＿ｉｎｉｔでそれぞれ表されている（以下、それぞれエンジン初期水温およびラジエータ初期水温と呼ぶ）。また、サーモスタット２３の開弁温度（たとえば、７５℃）が、Ｔ＿ｏｐｅｎで表されている。
【００４０】
エンジン水温ＴＷがサーモスタット開弁温度Ｔ＿ｏｐｅｎに達するまで（すなわち、時間ｔ１〜ｔ４の間）、サーモスタット２３は閉じているので、ラジエータ水温ＴＲは低い。
【００４１】
サーモスタット故障検出処理に適合した暖機状態を、エンジン水温ＴＷによって規定することができる。エンジン水温ＴＷが、予め決められたトリガ温度Ｔ＿ｔｒｉｇｇｅｒに達したならば（時点ｔ３）、エンジンが所定の暖機状態に達したと判断し、図３に示されるサーモスタット故障検出処理を起動する。トリガ温度Ｔ＿ｔｒｉｇｅｅｒは、サーモスタット開弁温度Ｔ＿ｏｐｅｎよりも少し低く設定される（たとえば、７０℃）。
【００４２】
また、サーモスタット故障検出処理に適合した暖機状態を、エンジン水温ＴＷの変化量によって規定することができる。エンジン水温ＴＷの変化量が、予め決められたトリガ変化量Ｃ＿ｔｒｉｇｇｅｒ（たとえば、３０℃）に達したならば（時点ｔ２）、エンジンが所定の暖機状態に達したと判断し、サーモスタット故障検出処理を起動する。エンジン水温ＴＷの変化量は、エンジンからの発熱量に対応する。エンジン水温ＴＷがトリガ温度Ｔ＿ｔｒｉｇｅｅｒに達していなくても、エンジン水温ＴＷがトリガ変化量Ｃ＿ｔｒｉｇｅｅｒ以上に変化したならば、サーモスタット故障検出処理に十分な熱量がエンジンから発せられたと判断することができる。
【００４３】
図５は、第１の実施形態に従う、エンジン始動時に実行される初期処理のフローチャートである。
【００４４】
ステップＳ２１において、ソーク時間を取得する。ソーク時間は、エンジンが放置されてからの経過時間を示す。ソーク時間が所定時間に達していなければ（Ｓ２２）、ソーク状態（エンジンが十分冷えている状態）に達していないと判断し、サーモスタット故障検出処理を禁止する（Ｓ２７）。これは、エンジン水温が高い状態ではサーモスタットの故障を正確に検出できないおそれがあるからである。ソーク時間が所定時間に達していれば、ソーク状態と判断する（Ｓ２３）。
【００４５】
ステップＳ２４において、ラジエータ初期水温ＴＲ＿ｉｎｉｔとエンジン初期水温ＴＷ＿ｉｎｉｔとの差が所定値以上ならば、サーモスタット故障検出処理を禁止する（Ｓ２７）。エンジンがソーク状態にあるときにエンジン水温とラジエータ水温の差が大きい場合、何らかの異常がエンジンやセンサ等に生じている可能性がある。このような状態では正確にサーモスタットの故障を検出することはできないので、故障検出処理を禁止する。
【００４６】
ステップＳ２５において、ラジエータ初期水温ＴＲ＿ｉｎｉｔが、予め決められた許可水温より大きければ、サーモスタット故障検出処理を禁止する（Ｓ２７）。図２を参照して説明したように、本願発明では、サーモスタットの故障を、ラジエータ水温ＴＲの変化量に基づいて検出する。ラジエータ初期水温が高すぎると、正確な故障検出を実施することができないので、故障検出処理を禁止する。
【００４７】
ステップＳ２６において、許可フラグが１にセットされ、サーモスタット故障検出処理が許可される。
【００４８】
図６は、第１の実施形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャートを示す。このフローチャートは、一定の時間間隔で繰り返し実行される。
【００４９】
サーモスタットの故障検出処理が終了していないとき、かつ故障検出処理が許可されているとき、このルーチンは実施される（Ｓ３１およびＳ３２）。故障検出処理が許可されていなければ、故障かどうかの判定が保留される（Ｓ３７）。
【００５０】
ステップＳ３３において、検出されたエンジン水温ＴＷがトリガ温度Ｔ＿ｔｒｉｇｇｅｒよりも高ければ、図３に示されるサーモスタット故障検出処理ルーチンを起動して、サーモスタットの故障を検出する（Ｓ３５）。エンジン水温ＴＷがトリガ温度Ｔ＿ｔｒｉｇｇｅｒに達していなくても、エンジン初期水温ＴＷ＿ｉｎｉｔと、現在のエンジン水温ＴＷとの差がトリガ変化量Ｃ＿ｔｒｉｇｇｅｒより大きければ（Ｓ３４）、図３に示されるサーモスタット故障検出処理ルーチンを起動して、サーモスタットの故障を検出する（Ｓ３５）。サーモスタット故障検出処理が終了したならば、終了フラグを１にセットする（Ｓ３６）。
【００５１】
図７を参照して、本発明の第２の実施形態を説明する。この実施形態では、サーモスタット故障検出処理に適合した暖機状態を、該暖機状態にあるときに実施されるよう構成された車両関連処理の起動によって特定する。このような車両関連処理が起動されたことに応答して、サーモスタット故障検出処理が起動される。
【００５２】
一例として、図にはいくつかの車両関連処理が示されている。エンジン水温ＴＷが約３０℃に達したとき、クローズドループ制御が開始される。クローズドループ制御には、たとえば、空燃比フィードバック制御などのフィードバック制御が含まれる。エンジン水温ＴＷが約５０℃に達したとき、パージ制御が開始される。エンジン水温ＴＷが約７０℃に達したとき、ＥＧＲ制御が開始され、また他の様々な故障診断処理（たとえば、各種センサの故障を検出する処理、燃料のリークを検出する処理等）が開始される。これらの車両関連処理は、サーモスタット開弁温度Ｔ＿ｏｐｅｎよりも低いエンジン水温で開始される。
【００５３】
ＥＣＵ５のメモリ５ｃには、たとえば図８に示されるようなテーブルが記憶される。該テーブルを参照することにより、ラジエータ初期水温ＴＲ＿ｉｎｉｔ（または、エンジン初期水温ＴＷ＿ｉｎｉｔでもよい）に応じて、どの車両関連処理をトリガとするかを定めることができる。たとえば、ラジエータ初期水温ＴＲ＿ｉｎｉｔが５℃未満であるとき、クローズループ制御の開始を示すフラグＦ＿ＣｌｏｓｅＬｏｏｐがセットされたならば、サーモスタット故障検出処理を起動する。ラジエータ初期水温ＴＲ＿ｉｎｉｔが５℃以上２５℃未満であるとき、パージ制御の開始を示すフラグＦ＿Ｐｕｒｇｅがセットされたならば、サーモスタット故障検出処理を起動する。ラジエータ初期水温ＴＲ＿ｉｎｉｔが２５℃以上であるとき、ＥＧＲ制御の開始を示すフラグＦ＿ＥＧＲがセットされたならば、サーモスタット故障検出処理を起動する。このように、トリガとする車両関連処理をラジエータ初期水温ＴＲ＿ｉｎｉｔに従って選択することにより、所望の暖機状態の到来を適切に検知することができるので、故障検出処理の頻度を向上させることができる。
【００５４】
図９は、第２の実施形態に従う、エンジン始動時に実行される初期処理のフローチャートである。ステップＳ４１〜Ｓ４７は、図５に示されるステップＳ２１〜Ｓ２７と同じである。ステップＳ４８において、図８に示されるようなテーブルを参照し、検出されたラジエータ初期水温ＴＲ＿ｉｎｉｔに対応する車両関連処理を選択する。
【００５５】
図１０は、第２の実施形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャートを示す。このフローチャートは、一定の時間間隔で繰り返し実行される。
【００５６】
サーモスタットの故障検出処理が終了していないとき、かつサーモスタットの故障検出処理が許可されているとき、このルーチンは実行される（Ｓ５１およびＳ５２）。故障検出処理が許可されていなければ、故障かどうかの判定は保留される（Ｓ５６）。
【００５７】
ステップＳ５３において、初期処理（図９）のステップＳ４８で選択した車両関連処理の開始フラグがセットされているかどうかを判断する。開始フラグがセットされていれば、図３に示されるサーモスタット故障検出処理を起動し、サーモスタットの故障を検出する（Ｓ５４）。ステップＳ５５において、終了フラグを１にセットする。
【００５８】
代替的に、選択した車両関連処理の開始フラグがセットされた時に割り込みを発生させ、図３の故障検出処理を起動するようにしてもよい。
【００５９】
本発明の第３の実施形態を説明する。この実施形態では、エンジンの暖機状態のレベルが判断される。エンジンの暖機状態が、サーモスタット故障検出処理に適合した暖機状態のレベルに達したと判断されたならば、サーモスタット故障検出処理を起動する。
【００６０】
サーモスタット故障検出処理に適合した暖機状態レベルは、図１１のテーブルに示されるように、ラジエータ初期水温ＴＲ＿ｉｎｉｔに従って算出することができる。ラジエータ初期水温ＴＲ＿ｉｎｉｔが０℃未満であるとき、故障検出処理に適合した暖機状態は、エンジン水温ＴＷが３０℃から５０℃の範囲内にある状態であり、この暖機状態レベルは値「１」で表される。
【００６１】
ラジエータ初期水温ＴＲ＿ｉｎｉｔが０℃以上２０℃未満の範囲内にあるとき、故障検出処理に適合した暖機状態は、エンジン水温が５０℃から７０℃の範囲内にある状態であり、この暖機状態レベルは値「２」で表される。ラジエータ初期水温ＴＲ＿ｉｎｉｔが２０℃以上５０℃未満であるとき、故障検出処理に適合した暖機状態は、エンジン水温が７０℃から１００℃の範囲内にある状態であり、この暖機状態レベルは値「３」で表される。このようなテーブルをメモリ５ｃに記憶しておくことができる。このテーブルに示されるレベルの数、各レベルに対応するエンジン水温、およびレベル値は一例であることに注意されたい。
【００６２】
図１２は、本発明の第３の実施形態に従う、エンジン始動時に実行される初期処理のフローチャートである。ステップＳ６１〜Ｓ６７は、図５に示されるステップＳ２１〜Ｓ２７と同じである。ステップＳ６８において、図１１に示されるようなテーブルを参照し、ラジエータ初期水温ＴＲ＿ｉｎｉｔに対応する暖機状態レベルの値を取得する。
【００６３】
図１３は、本発明の第３の実施形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャートを示す。
【００６４】
サーモスタットの故障検出処理が終了していないとき、かつサーモスタットの故障検出処理が許可されているとき、このルーチンは実行される（Ｓ７１およびＳ７２）。故障検出処理が許可されていなければ、故障かどうかの判定は保留される（Ｓ７７）。
【００６５】
ステップＳ７３において、エンジンの暖機状態を判断するルーチンを実施し、現在の暖機状態のレベルを取得する。ステップＳ７４において、現在の暖機状態のレベルが、初期処理（図１２）のステップＳ６８で取得したレベルに一致するかどうかを判断する。ステップＳ７４の判断がＹｅｓならば、図３に示されるサーモスタット故障検出処理を起動し、サーモスタットの故障を検出する（Ｓ７５）。ステップＳ７６において、終了フラグが１にセットされる。
【００６６】
図１４は、図１３のステップＳ７３において実施される、エンジンの暖機状態を判断するプロセスのフローチャートである。ステップＳ８１において、エンジン水温ＴＷが３０℃以下であるとき、暖機状態は「０」に設定される（Ｓ８２）。レベル値「０」は、エンジンが冷機状態にあることを示す。
【００６７】
ステップＳ８３において、エンジン水温ＴＷが３０℃から５０℃の範囲内にあるとき、暖機状態は「１」に設定される（Ｓ８４）。ステップＳ８５において、エンジン水温ＴＷが５０℃から７０℃の範囲内にあるとき、暖機状態は「２」に設定される（Ｓ８６）。ステップＳ８７において、エンジン水温ＴＷが７０℃から１００℃の範囲内にあるとき、暖機状態は「３」に設定される（Ｓ８８）。
【００６８】
エンジン水温が１００℃以上であるとき、エンジンを冷却する機能が働いていない可能性があり、冷却系に異常があると判断される（Ｓ８９）。
【００６９】
こうして、エンジンまたはラジエータの初期水温に従って、サーモスタット故障検出処理に適合した暖機状態レベルが設定される。所望の暖機状態の到来を適切に検知することができるので、故障検出処理の頻度を向上させることができる。また、エンジンの暖機状態を階層的に判断するので、故障検出処理に適合した暖機状態にエンジンが達したかどうかを容易に判断することができる。
【００７０】
代替的に、暖機状態の判定は、エンジン水温と相関がある油温を用いて行ってもよい。
【００７１】
図１５を参照して、本発明の第４の実施形態を説明する。エンジンから発生した熱量の一部は、車両用ヒータに消費される。車両用ヒータに起因する熱量の損失をヒータ冷損と呼ぶ。また、エンジンから発生した熱量の一部は、ラジエータやエンジン本体が受ける風によって奪われる。この風に起因する熱量の損失を風冷損と呼ぶ。ヒータ冷損および風冷損を含む冷却損に応じて、エンジン水温ＴＷが上昇する速度が異なる。冷却損が大きくなるほど、上昇速度は低下する。エンジンの発熱量と冷却損から、エンジン水温を推定することができる。
【００７２】
グラフ９１は、冷却損が最小である場合のエンジン水温の推定値ＣＴＷ１（第１の推定値と呼ぶ）を示し、グラフ９２は、冷却損が最大である場合のエンジン水温の推定値ＣＴＷ２（第２の推定値と呼ぶ）を示す。実際のエンジン水温は、グラフ９３に示されるように、グラフ９１と９２の間に収まる。すなわち、ＣＴＷ２＜実エンジン水温ＴＷ＜ＣＴＷ１が成立する。グラフ９４は、エンジンから発生する熱量の一例を示す。エンジンは、時点ｔ１で始動する。
【００７３】
エンジン水温がサーモスタット開弁温度Ｔ＿ｏｐｅｎ（たとえば、７５℃）に達する前にサーモスタット故障検出処理を実施するという条件を、第１の推定値ＣＴＷ１により規定することができる。第１の推定値ＣＴＷ１は、上昇速度が最も速い場合のエンジン水温を示しているので、第１の推定値ＣＴＷ１がサーモスタット開弁温度Ｔ＿ｏｐｅｎに達した時に、サーモスタット故障検出処理を実施すればよい。
【００７４】
また、所定量以上の熱量がエンジンから発生した時にサーモスタット故障検出処理を実施するという条件を、第２の推定値ＣＴＷ２により規定することができる。第２の推定値ＣＴＷ２は、上昇速度が最も遅い場合のエンジン水温を示しているので、第２の推定値ＣＴＷ２が所定量Ｃ＿ｔｒｉｇｇｅｒ２（たとえば、２０℃）以上変化したときに、サーモスタット故障検出処理を起動すればよい。
【００７５】
結果として、第１の推定値ＣＴＷ１がサーモスタット開弁温度Ｔ＿ｏｐｅｎに達したときに、第２の推定値ＣＴＷ２が所定量Ｃ＿ｔｒｉｇｇｅｒ２以上変化していれば、サーモスタット故障検出処理が起動される。図では、時点ｔ２においてこの条件が満たされ、サーモスタット故障検出処理が時点ｔ２において起動される。
【００７６】
図１６は、本発明の第４の実施形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャートである。このフローチャートは、一定の時間間隔で繰り返し実行される。初期処理は、図５に示される初期処理を適用することができ、初期処理の説明は省略する。
【００７７】
サーモスタットの故障検出処理が終了していないとき、かつサーモスタットの故障検出処理が許可されているとき、このルーチンは実行される（Ｓ９１およびＳ９２）。故障検出処理が許可されていないときは、故障かどうかの判定を保留する（Ｓ９９）。
【００７８】
ステップＳ９３において、冷却損が最も少ない場合におけるエンジン水温の第１の推定値ＣＴＷ１を算出するルーチン（図１９）を実施する。ステップＳ９４において、冷却損が最も大きい場合におけるエンジン水温の第２の推定値ＣＴＷ２を算出するルーチン（図２２）を実施する。
【００７９】
ステップＳ９５において、第１の推定値ＣＴＷ１がサーモスタット開弁温度Ｔ＿ｏｐｅｎに達していなければ、このルーチンを抜ける。ステップＳ９５およびＳ９６において、第１の推定値ＣＴＷ１がサーモスタット開弁温度Ｔ＿ｏｐｅｎに達した時に、第２の推定値ＣＴＷ２の変化量が所定量Ｃ＿ｔｒｉｇｇｅｒ２以上ならば、図３に示されるサーモスタット故障検出処理を起動して、サーモスタットの故障を検出する（Ｓ９７）。第１の推定値ＣＴＷ１がサーモスタット開弁温度Ｔ＿ｏｐｅｎに達した時に、第２の推定値ＣＴＷ２の変化量が所定量Ｃ＿ｔｒｉｇｇｅｒ２より小さければ、判定を保留する（Ｓ９９）。ステップＳ９８において、終了フラグを１にセットする。
【００８０】
図１５を参照して述べたように、第４の実施形態では、第１の推定値ＣＴＷ１と第２の推定値ＣＴＷ２により、エンジン水温がサーモスタット開弁温度Ｔ＿ｏｐｅｎよりも低く、かつ所定量以上の熱量がエンジンから発生した状態を検知する。図１６では、このような状態を、第１の推定値ＣＴＷ１がサーモスタット開弁温度Ｔ＿ｏｐｅｎに達した時に、第２の推定値ＣＴＷ２が所定量Ｃ＿ｔｒｉｇｇｅｒ２以上変化しているかどうかを調べることにより検知した。代替的に、このような状態を、第２の推定値ＣＴＷ２が所定量Ｃ＿ｔｒｉｇｇｅｒ２以上変化した時に、第１の推定値ＣＴＷ１がサーモスタット開弁温度Ｔ＿ｏｐｅｎよりも低いかどうかを調べることによっても検知することができ、このプロセスを図１７に示す。ステップＳ１０５およびＳ１０６を除き、図１６と同様の処理が実施される。
【００８１】
ステップＳ１０５において、第２の推定値ＣＴＷ２の変化量が所定量Ｃ＿ｔｒｉｇｇｅｒ２に達していなければ、このルーチンを抜ける。ステップＳ１０５およびＳ１０６において、第２の推定値ＣＴＷ２の変化量が所定値Ｃ＿ｔｒｉｇｇｅｒ２に達したときに、第１の推定値ＣＴＷ１がサーモスタット開弁温度Ｔ＿ｏｐｅｎに達していなければ、図３に示されるサーモスタット故障検出処理を起動して、サーモスタットの故障を検出する（Ｓ１０７）。
【００８２】
代替的に、図１６のステップＳ９５および図１７のステップＳ１０６において、サーモスタット開弁温度Ｔ＿ｏｐｅｎの代わりに、該サーモスタット開弁温度Ｔ＿ｏｐｅｎより少し低い温度（たとえば、Ｔ＿ｏｐｅｎ−３℃）を用いてもよい。
【００８３】
図１６および図１７の例では、第２の推定値ＣＴＷ２を用いて、サーモスタット故障検出処理が実行可能な熱量がエンジンから発生したかどうかを判断した。代替的に、第１の推定値ＣＴＷ１のみを用いて、サーモスタット故障検出処理が実行可能な熱量が発生したかどうかを判断するようにしてもよい。たとえば、エンジンが冷間始動し、かつ冷却損が少ないときには、第１の推定値ＣＴＷ１のみに基づいて、サーモスタット故障検出処理の起動タイミングを特定することができる。
【００８４】
図１８は、第１の推定値ＣＴＷ１のみを用いて、所定の暖機状態を検知するプロセスを示す。ステップＳ１１４およびＳ１１５以外のステップは、図１６のフローチャートと同様である（ただし、第２の推定値ＣＴＷ２を算出するルーチンは実行されない）。
【００８５】
ステップＳ１１４において、第１の推定値ＣＴＷ１が、予め決められたトリガ温度Ｔ＿ｔｒｉｇｇｅｒ２に達したならば、図３に示されるサーモスタット故障検出処理を起動して、サーモスタットの故障を検出する（Ｓ１１６）。トリガ温度Ｔ＿ｔｒｉｇｇｅｒ２は、サーモスタット開弁温度Ｔ＿ｏｐｅｎ（たとえば、７５℃）または該サーモスタット開弁温度Ｔ＿ｏｐｅｎよりも少し低い温度（たとえば、７０℃）に設定される。
【００８６】
ステップＳ１１４において、第１の推定値ＣＴＷ１がトリガ温度Ｔ＿ｔｒｉｇｇｅｒ２に達していなければ、第１の推定値ＣＴＷの変化量が、予め決められたトリガ変化量Ｃ＿ｔｒｉｇｇｅｒ２（たとえば、３０℃）よりも大きいかどうかを判断する。
【００８７】
第１の推定値の変化量ΔＣＴＷ１がトリガ変化量Ｃ＿ｔｒｉｇｇｅｒ２より大きければ、サーモスタット故障検出処理が実行可能な程度の熱量がエンジンから発生していることを示す。この場合には、図３に示されるようなサーモスタット故障検出処理を起動してサーモスタットの故障を検出する（Ｓ１１６）。
【００８８】
図１９は、第１の推定値ＣＴＷ１を算出するプロセスのフローチャートを示す。ステップＳ１２１において、エンジンからの基本熱量Ｑｂａｓｅを算出する。該基本熱量を、単位時間あたりの燃料噴射量によって近似することができる。単位時間あたりの燃料噴射量は、「基本燃料噴射量ＴＩＭ×単位時間あたりの噴射回数」によって算出される。ここで、基本燃料噴射量ＴＩＭは、燃料噴射弁によって１回に噴射される燃料量を示しており、典型的には、エンジン回転数ＮＥおよび吸気管圧力ＰＢに従って決定される。単位時間あたりの噴射回数は、回転数ＮＥに基づいて算出されることができる。単位時間は、任意の適切な値に設定することができる（例えば、１ＴＤＣサイクル等）。
【００８９】
一例として、単位時間は、該フローチャートが実施されるサイクルタイムに設定される。該サイクルタイムをＳ＿Ｔｉｍｅで表すと、“基本燃料噴射量ＴＩＭ×回転数ＮＥ／Ｓ＿ｔｉｍｅ”に従って算出される値で、熱量を近似することができる。
【００９０】
ステップＳ１２２において、基本熱量Ｑｂａｓｅに基づいて補正係数（ＫＱ）テーブルを検索し、補正係数ＫＱを取得する。
【００９１】
補正係数テーブルは、予めメモリに記憶されている。図２０に、補正係数テーブルの一例を示す。代替的に、補正係数テーブルは、吸気管圧力Ｐｂに基づいて補正係数ＫＱを取得するように構成してもよい。
【００９２】
ステップＳ１２３において、基本熱量Ｑｂａｓｅに補正係数ＫＱを乗算して、今回のサイクルについての熱量Ｑを算出する。冷却損が最小（すなわち、ゼロ）である場合のエンジン水温を推定するので、冷却損の算出は行われない。
【００９３】
ステップＳ１２４において、前回のサイクルで算出された積算熱量ＱＴＴＬ（ｋ−１）に、ステップＳ１２３で算出された熱量Ｑを加算する。ステップＳ１２５において、ステップＳ１２４において算出された積算熱量ＱＴＴＬ（ｋ）に基づいて温度変化テーブルを検索し、変化量ΔＣＴＷ１を抽出する。
【００９４】
温度変化テーブルは、予めメモリに記憶されている。図２１に、温度変化テーブルの一例を示す。温度変化テーブルは、熱量に相当する温度変化量を規定する。ステップＳ１２６において、初期値ＣＴＷ１＿ｉｎｉｔ（たとえば、ＴＷ＿ｉｎｉｔが設定される）に変化量ΔＣＴＷ１を加算して、第１の推定値ＣＴＷ１を算出する。
【００９５】
図２２は、第２の推定値ＣＴＷ２を算出するプロセスのフローチャートを示す。ステップＳ１３１〜Ｓ１３３は、図１９のステップＳ１２１〜Ｓ１２３と同じである。
【００９６】
ステップＳ１２４において、前回のサイクルで算出された変化量ΔＣＴＷ２に基づいてヒータ冷損テーブルを参照し、ヒータ冷損ＱＨＬを算出する。ヒータ冷損テーブルは、予めメモリに記憶されている。ヒータ冷損テーブルの一例を、図２３に示す。変化量ΔＣＴＷ２が増えるにつれ、ヒータ冷損ＱＨＬも増加する。
【００９７】
ステップＳ１３５において、前回のサイクルで算出された変化量ΔＣＴＷ２に基づいて風冷損テーブルを参照し、風冷損ＱＷＬを取得する。風冷損テーブルは、予めメモリに記憶されている。図２４に、風冷損テーブルの一例を示す。グラフ１０１は、車速が１４０ｋｍ／ｈの場合を示し、グラフ１０２は、車速が１００ｋｍ／ｈの場合を示す。風冷損テーブルは、変化量ΔＣＴＷ２が増えるにつれ、風冷損ＱＷＬも増加するよう設定されている。
【００９８】
ステップＳ１３６において、ステップＳ１３５で得られた風冷損を車速ＶＰで補正する。たとえば、変化量ΔＣＴＷ２がある値であるときの風冷損と車速は、図２５に示されるような関係を有する。一例として、検出された車速ＶＰが１２０ｋｍ／ｈであるとき、車速１００ｋｍ／ｈに対応する風冷損と、車速１４０ｋｍ／ｈに対応する風冷損とを線形補間することにより、車速１２０ｋｍ／ｈに対応する風冷損ＱＷＬＶＰ＝１２０を求めることができる。
【００９９】
ステップＳ１３７において、ヒータ冷損ＱＨＬと風冷損ＱＷＬを加算し、冷却損ＱＬを算出する。ステップＳ１３８において、前回のサイクルで計算された積算熱量ＱＴＴＬ（ｋ−１）に今回の熱量Ｑを加算したものから、冷却損ＱＬを減算し、今回のサイクルについての積算熱量ＱＴＴＬ（ｋ）を算出する。
【０１００】
ステップＳ１３９において、算出された積算熱量ＱＴＴＬ（ｋ）に基づいて、図２１に示されるような温度変化テーブルを参照し、変化量ΔＣＴＷ２を取得する。ステップＳ１４０において、初期値ＣＴＷ２＿ｉｎｉｔ（たとえば、ＴＷ＿ｉｎｉｔが設定される）に変化量ΔＣＴＷ２を加算し、第２の推定値ＣＴＷ２を算出する。
【０１０１】
代替的に、第１および第２の推定値ＣＴＷ１およびＣＴＷ２を、他の手法を用いて算出してもよい。また、現在のエンジン水温の推定値ＣＴＷを任意の適切な手法で算出し、該推定されたエンジン水温ＣＴＷを用いて図１８に示されるルーチンを実行してもよい。
【０１０２】
上記の第１〜第４の実施形態のうちのいくつかを組み合わせてもよい。一例として、図２６に、第２の実施形態および第４の実施形態を組み合わせた形態を示す。この形態では、選択された車両関連処理の開始フラグがセットされていなくても（Ｓ１５４）、第１の推定値の変化量ΔＣＴＷ１がトリガ変化量Ｃ＿ｔｒｉｇｇｅｒ２を超えたならば（Ｓ１５５）、サーモスタット故障検出処理を起動する（Ｓ１５６）。この形態によれば、選択された車両関連処理が、何らかの原因で実施できない場合でも、サーモスタット故障検出処理を実施することができる。こうして、サーモスタット故障検出処理を実行することができる機会が増やされる。
【０１０３】
図２７は、上記の任意の実施形態に適用されることのできる、エンジンが正常運転であるかどうかを判定するフローチャートである。正常運転判定ルーチンは、エンジンがサーモスタットの故障の誤検知を招くおそれのある状態にあるかどうかを判断する。エンジンが正常運転であると判断されたときに、上記の故障検出処理を起動するルーチン（図６、図１０、図１３、図１６〜図１８、図２６）を実施するのが好ましい。該故障検出処理を起動するルーチンにおいて、許可フラグが設定されているかどうかを判断するステップの後に、該正常運転を判定するルーチンを実施することができる。
【０１０４】
ステップＳ１６１において、エンジンの平均回転数を算出する。ステップＳ１６２において、平均車速を算出する。ステップＳ１６３において、エンジンから発生する熱量の平均を算出する。前述したように、エンジンからの熱量を、“基本燃料噴射量ＴＩＭ×回転数ＮＥ／Ｓ＿ｔｉｍｅ”に従って算出される値で近似することができる。Ｓ＿ｔｉｍｅは、該フローチャートが実施されるサイクルタイムである。
【０１０５】
ステップＳ１６４において、予め決められた判定時間が経過したかどうかを判断する。判定時間は、エンジン回転数ＮＥが所定回転数（たとえば、６５０ｒｐｍ）以上で安定するのに要する時間が設定される。
【０１０６】
ステップＳ１６５において、予めメモリに設けられた回転数テーブルを平均車速に基づいて参照し、過回転判定値を取得する。図２８に、回転数テーブルの一例を示す。アイドリング状態にあるとき、および車速が低いときは、過回転判定値は低く設定される。サーモスタットは、エンジン回転数が所定回転数を上回ると、エンジン水温にかかわらず開弁することがある。車速が高いとき、過回転判定値は、該サーモスタットが開くおそれのある回転数に設定される。
【０１０７】
平均回転数を平均車速で除算することによって得られる値が、過回転判定値より大きいとき（Ｓ１６６）、運転状態が異常と判定する（Ｓ１６９）。ステップＳ１６６の判断がＹｅｓとなる状態は、たとえば、風冷損が無い状態（たとえば、停車している時）でエンジン回転数が高い状態である。このような状態では、ラジエータ側における冷却水の温度が上昇する速度が大きくなり、サーモスタットの故障を正確に検出できないおそれがある。また、過回転判定値を超えた状態では、エンジンの高回転に起因してサーモスタットが開くおそれがある。サーモスタットが開いた時にサーモスタット故障検出処理を実施するのは好ましくないので、異常運転と判断する。
【０１０８】
ステップＳ１６７において、ステップＳ１６３で算出された平均熱量が、予め決められた極低負荷しきい値より低ければ、運転状態が異常と判定する。極低負荷しきい値は、アイドリング時の平均熱量に対応する値に設定される。たとえば下り坂を走行している時は、エンジンの負荷が非常に低く、燃料カット時間も多くなる。このような状態では、平均熱量が極低負荷しきい値より小さい場合がある。熱量が小さすぎると、サーモスタットの故障を正確に検出できないことがあるので、運転状態が異常と判定する。
【０１０９】
運転状態が異常と判定されたならば、サーモスタット故障検出処理は実施されない。ステップＳ１６６およびＳ１６７の判断がＮｏならば、運転状態が正常と判定する。
【０１１０】
本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンにも適用が可能である。
【０１１１】
【発明の効果】
この発明によれば、ラジエータ側に設けられた水温センサに基づいてサーモスタットの故障を検出することができる。さらに、サーモスタット故障検出処理に適合した暖機状態を容易に特定して、サーモスタットの故障検出処理を起動することができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に従う、エンジンおよびその制御装置を概略的に示す図。
【図２】この発明の一実施形態に従う、サーモスタットの故障を検出する手法の基本的な概念を示す図。
【図３】この発明の一実施形態に従う、サーモスタット故障検出処理のフローチャート。
【図４】この発明の第１の実施形態に従う、サーモスタット故障検出処理を起動するタイミングを概略的に示す図。
【図５】この発明の第１の実施形態に従う、初期処理ルーチンを示すフローチャート。
【図６】この発明の第１の実施形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャート。
【図７】この発明の第２の実施形態に従う、サーモスタット故障検出処理を起動するタイミングを概略的に示す図。
【図８】この発明の第２の実施形態に従う、サーモスタット故障検出処理の起動のトリガとなる車両関連処理を示すテーブル。
【図９】この発明の第２の実施形態に従う、初期処理ルーチンを示すフローチャート。
【図１０】この発明の第２の実施形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャート。
【図１１】この発明の第３の実施形態に従う、サーモスタット故障検出処理が実行可能な暖機状態を記憶するテーブル。
【図１２】この発明の第３の実施形態に従う、初期処理ルーチンを示すフローチャート。
【図１３】この発明の第３の実施形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャート。
【図１４】この発明の第３の実施形態に従う、暖機状態を判断する処理のフローチャート。
【図１５】この発明の第４の実施形態に従う、サーモスタット故障検出処理を起動するタイミングを概略的に示す図。
【図１６】この発明の第４の実施形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャート。
【図１７】この発明の第４の実施形態に従う、サーモスタット故障検出処理を起動する他のプロセスのフローチャート。
【図１８】この発明の第４の実施形態に従う、サーモスタット故障検出処理を起動する他のプロセスのフローチャート。
【図１９】この発明の第４の実施形態に従う、第１のエンジン推定水温を算出する処理のフローチャート。
【図２０】この発明の第４の実施形態に従う、基本熱量Ｑｂａｓｅに対応する補正係数ＫＱを記憶するテーブル。
【図２１】この発明の第４の実施形態に従う、熱量ＱＴＴＬに対応する温度変化を記憶するテーブル。
【図２２】この発明の第４の実施形態に従う、第２のエンジン推定水温を算出する処理のフローチャート。
【図２３】この発明の第４の実施形態に従う、温度変化に対応するヒータ冷損ＱＨＬを記憶するテーブル。
【図２４】この発明の第４の実施形態に従う、温度変化に対応する風冷損ＱＷＬを記憶するテーブル。
【図２５】この発明の第４の実施形態に従う、車速と風冷損ＱＷＬの関係を示す図。
【図２６】この発明の第２および第４の実施形態を組み合わせた形態に従う、サーモスタット故障検出処理を起動するプロセスのフローチャート。
【図２７】この発明の一実施形態に従う、正常運転を判定する処理のフローチャート。
【図２８】この発明の一実施形態に従う、過回転判定値を記憶するテーブル。
【符号の説明】
１    エンジン
５    ＥＣＵ
１０  エンジン水温センサ
２１  ラジエータ
２３  サーモスタット
２８  ラジエータ水温センサ
【図１】
2004353592.tif 000003
【図２】
2004353592.tif 000004
【図３】
2004353592.tif 000005
【図４】
2004353592.tif 000006
【図５】
2004353592.tif 000007
【図６】
2004353592.tif 000008
【図７】
2004353592.tif 000009
【図８】
2004353592.tif 000010
【図９】
2004353592.tif 000011
【図１０】
2004353592.tif 000012
【図１１】
2004353592.tif 000013
【図１２】
2004353592.tif 000014
【図１３】
2004353592.tif 000015
【図１４】
2004353592.tif 000016
【図１５】
2004353592.tif 000017
【図１６】
2004353592.tif 000018
【図１７】
2004353592.tif 000019
【図１８】
2004353592.tif 000020
【図１９】
2004353592.tif 000021
【図２０】
2004353592.tif 000022
【図２１】
2004353592.tif 000023
【図２２】
2004353592.tif 000024
【図２３】
2004353592.tif 000025
【図２４】
2004353592.tif 000026
【図２５】
2004353592.tif 000027
【図２６】
2004353592.tif 000028
【図２７】
2004353592.tif 000029
【図２８】
2004353592.tif 000030