(57)【特許請求の範囲】
【請求項１】
内燃機関の冷却水温度検出用水温センサの異常の有無を診断する水温センサの故障診断装置であって、
内燃機関始動後の暖機進行に関連する機関運転状態パラメータを検出するパラメータ検出手段と、
検出された前記機関運転状態パラメータの値に基づいてカウンタ増量値を設定するカウンタ増量値設定手段と、
機関始動後に、機関暖機状態を表す暖機カウンタを一定時間毎に前記カウンタ増量値だけ増大させるカウント手段と、
前記暖機カウンタの値が予め定めた設定値以上となったときに、前記機関冷却水温度センサで検出した冷却水温度を予め定めた基準値と比較する比較手段と、
前記検出した冷却水温度が前記基準値より低いときに冷却水温度センサに異常が生じたと判定する判定手段と、を備え、
前記カウンタ増量値設定手段は、前記機関運転状態パラメータの値に基づいて定められたカウンタ増量値を機関冷却水を用いた暖房装置のブロワ風量に基づいて補正した値をカウンタ増量値として設定する水温センサの故障診断装置。
【請求項２】
内燃機関の冷却水温度検出用水温センサの異常の有無を診断する水温センサの故障診断装置であって、
内燃機関始動後の暖機進行に関連する機関運転状態パラメータを検出するパラメータ検出手段と、
検出された前記機関運転状態パラメータの値に基づいてカウンタ増量値を設定するカウンタ増量値設定手段と、
機関始動後に、機関暖機状態を表す暖機カウンタを一定時間毎に前記カウンタ増量値だけ増大させるカウント手段と、
前記暖機カウンタの値が予め定めた設定値以上となったときに、前記機関冷却水温度センサで検出した冷却水温度を予め定めた基準値と比較する比較手段と、
前記検出した冷却水温度が前記基準値より低いときに冷却水温度センサに異常が生じたと判定する判定手段と、を備え、
前記機関冷却水温度センサで検出した冷却水温度が機関始動時の冷却水温度よりも低くなったときに前記判定手段による判定を禁止する禁止手段を備えた水温センサの故障診断装置。
【請求項３】
内燃機関の冷却水温度検出用水温センサの異常の有無を診断する水温センサの故障診断装置であって、
内燃機関始動後の暖機進行に関連する機関運転状態パラメータを検出するパラメータ検出手段と、
検出された前記機関運転状態パラメータの値に基づいてカウンタ増量値を設定するカウンタ増量値設定手段と、
機関始動後に、機関暖機状態を表す暖機カウンタを一定時間毎に前記カウンタ増量値だけ増大させるカウント手段と、
前記暖機カウンタの値が予め定めた設定値以上となったときに、前記機関冷却水温度センサで検出した冷却水温度を予め定めた基準値と比較する比較手段と、
前記検出した冷却水温度が前記基準値より低いときに冷却水温度センサに異常が生じたと判定する判定手段と、を備え、
前記機関冷却水温度センサで検出した冷却水温度が機関始動時の冷却水温度よりも低くなったときに前記暖機カウンタの値を０にリセットするとともに、始動時冷却水温度として前記機関冷却水温度センサで検出した現在の冷却水温度を記憶する手段を備えた水温センサの故障診断装置。
【請求項４】
前記比較手段は、機関始動時の冷却水温度に基づいて前記暖機カウンタの設定値を変更する手段を備えた請求項３に記載の水温センサの故障診断装置。
【請求項５】
前記カウンタ増量値設定手段は、前記機関運転状態パラメータの値に基づいて定められたカウンタ増量値を機関始動時の冷却水温度に基づいて補正した値をカウンタ増量値として設定する請求項３に記載の水温センサの故障診断装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の異常診断装置に関し、詳細には内燃機関の冷却水温度検出用水温センサの異常診断装置に関する。
【０００２】
【従来の技術】
電子制御を行なう機関では、機関温度は種々の制御に使用される重要なパラメータである。また、実際の内燃機関では、機関温度を代表する値として機関冷却水温度が機関温度の代わりに用いられる。例えば、機関空燃比フィードバック制御を行なう機関では、冷却水温度が所定の値以上に上昇したときに機関暖機が完了したとして空燃比フィードバック制御を開始する。また、機関始動時の燃料噴射量は機関始動時の水温に応じて定められ、機関始動後の燃料噴射量も機関冷却水温度に応じて種々の補正が行なわれる。従って、機関の制御を正常に行なうためには冷却水温度センサが正常に機能していることが必要になる。
【０００３】
このため、従来冷却水温度センサ（以下「水温センサ」という）の異常の有無を診断するための装置が種々提案されている。
例えば、この種の故障診断装置の例としては、実開平２−５００４３号公報に開示されたものがある。
同公報の診断装置は、機関始動後の時間を計測するカウンタを備え、機関始動後一定時間経過後に水温センサで検出した冷却水温度が所定の基準温度に到達していない場合に水温センサに異常が生じたと判定するものである。上記基準温度は、外気温度等の機関使用条件が最も冷却水温度上昇が遅くなるような場合を想定し、さらに、これに多少の余裕を見込んだ下限値として実験的に設定される。
【０００４】
【発明が解決しようとする課題】
ところが、上記実開平２−５００４３号公報のように、常に機関始動後一定時間経過後の水温センサ出力に基づいて異常の有無を診断していると正確な異常診断ができない場合が生じる。例えば、上記公報の装置では機関始動後の一定時間経過後の時点でセンサ異常の有無を検出することから、判定に使用する基準温度は冷却水温度上昇が最も遅い場合に上記一定時間内に到達する冷却水温度にさらに余裕をみた、かなり低い温度に設定する必要がある。このため、通常の速度で冷却水温度が上昇した場合には、冷却水温度は上記一定時間経過後には設定した基準温度よりかなり高くなる場合があり、水温センサの特性が多少ずれたような異常が生じていても、水温センサの指示値が上記基準温度を越えてしまう場合が生じる。このような場合には、上記公報の装置では特性異常が生じた水温センサを正常と判定してしまう誤診断が生じる可能性がある。また、この問題を防止するために上記判定の際の基準温度を水温センサの多少の特性のずれをも検出可能な高い温度に設定すると、冷却水温度上昇が遅くなる条件を考慮した場合には機関始動後診断を実施するまでの時間を極めて長く設定する必要が生じる。従って、この場合には機関使用条件としてはあまり頻繁に生じないような、冷却水温度上昇が遅い条件に合わせて診断時間を設定することになり、冷却水温度上昇が早く、本来もっと短時間で診断を完了することができる条件下でも診断に長時間を要する問題が生じてしまう。
【０００５】
本発明は上記問題に鑑み、水温センサの異常有無を正確に診断可能であり、しかも機関使用条件に応じて診断時間を短縮することを可能とする水温センサの故障診断装置を提供することを目的としている。
【０００６】
【課題を解決するための手段】
請求項１に記載の発明によれば、内燃機関の冷却水温度検出用水温センサの異常の有無を診断する水温センサの故障診断装置であって、内燃機関始動後の暖機進行に関連する機関運転状態パラメータを検出するパラメータ検出手段と、検出された前記機関運転状態パラメータの値に基づいてカウンタ増量値を設定するカウンタ増量値設定手段と、機関始動後に、機関暖機状態を表す暖機カウンタを一定時間毎に前記カウンタ増量値だけ増大させるカウント手段と、前記暖機カウンタの値が予め定めた設定値以上となったときに、前記機関冷却水温度センサで検出した冷却水温度を予め定めた基準値と比較する比較手段と、前記検出した冷却水温度が前記基準値より低いときに冷却水温度センサに異常が生じたと判定する判定手段と、を備え、前記カウンタ増量値設定手段は、前記機関運転状態パラメータの値に基づいて定められたカウンタ増量値を機関冷却水を用いた暖房装置のブロワ風量に基づいて補正した値をカウンタ増量値として設定する水温センサの故障診断装置が提供される。
【０００７】
請求項２に記載の発明によれば、内燃機関の冷却水温度検出用水温センサの異常の有無を診断する水温センサの故障診断装置であって、内燃機関始動後の暖機進行に関連する機関運転状態パラメータを検出するパラメータ検出手段と、検出された前記機関運転状態パラメータの値に基づいてカウンタ増量値を設定するカウンタ増量値設定手段と、機関始動後に、機関暖機状態を表す暖機カウンタを一定時間毎に前記カウンタ増量値だけ増大させるカウント手段と、前記暖機カウンタの値が予め定めた設定値以上となったときに、前記機関冷却水温度センサで検出した冷却水温度を予め定めた基準値と比較する比較手段と、前記検出した冷却水温度が前記基準値より低いときに冷却水温度センサに異常が生じたと判定する判定手段と、を備え、前記機関冷却水温度センサで検出した冷却水温度が機関始動時の冷却水温度よりも低くなったときに前記判定手段による判定を禁止する禁止手段を備えた水温センサの故障診断装置が提供される。
【０００８】
請求項３に記載の発明によれば、内燃機関の冷却水温度検出用水温センサの異常の有無を診断する水温センサの故障診断装置であって、内燃機関始動後の暖機進行に関連する機関運転状態パラメータを検出するパラメータ検出手段と、検出された前記機関運転状態パラメータの値に基づいてカウンタ増量値を設定するカウンタ増量値設定手段と、機関始動後に、機関暖機状態を表す暖機カウンタを一定時間毎に前記カウンタ増量値だけ増大させるカウント手段と、前記暖機カウンタの値が予め定めた設定値以上となったときに、前記機関冷却水温度センサで検出した冷却水温度を予め定めた基準値と比較する比較手段と、前記検出した冷却水温度が前記基準値より低いときに冷却水温度センサに異常が生じたと判定する判定手段と、を備え、前記機関冷却水温度センサで検出した冷却水温度が機関始動時の冷却水温度よりも低くなったときに前記暖機カウンタの値を０にリセットするとともに、始動時冷却水温度として前記機関冷却水温度センサで検出した現在の冷却水温度を記憶する手段を備えた水温センサの故障診断装置が提供される。
【０００９】
請求項４に記載の発明によれば、前記比較手段は、機関始動時の冷却水温度に基づいて前記暖機カウンタの設定値を変更する手段を備えた請求項３に記載の水温センサの故障診断装置が提供される。
【００１０】
請求項５に記載の発明によれば、前記カウンタ増量値設定手段は、前記機関運転状態パラメータの値に基づいて定められたカウンタ増量値を機関始動時の冷却水温度に基づいて補正した値をカウンタ増量値として設定する請求項３に記載の水温センサの故障診断装置が提供される。
【００１１】
上述のように、各請求項に記載の発明では、機関始動後の暖機進行に関連する機関運転状態パラメータを検出し、このパラメータに基づいてカウンタ増量値が設定される。また、暖機カウンタは上記により設定されたカウンタ増量値だけ一定時間毎に増大される。ここで、暖機進行に関連するパラメータとは冷却水の温度上昇速度に影響する機関運転状態パラメータであり、例えば機関の単位時間当たり発生熱量を代表する運転状態パラメータが使用される。このような機関運転状態パラメータとしては、例えば機関吸入空気量、吸入空気圧力（吸気管負圧）、単位時間当たりの燃料噴射量等が使用できる。
【００１２】
この結果、上記暖機カウンタは、実際の運転状態における冷却水温度上昇速度に応じた速度で増大するようになり、暖機カウンタの値は始動後の冷却水温度上昇幅に対応した値となる。従って、暖機カウンタの値が所定の設定値に到達した場合には、実際の冷却水温度はある一定温度（基準値）以上になっていると考えられる。このため、暖機カウンタの値が上記設定値に到達したときに水温センサの指示値が上記基準値より低い場合には水温センサに特性ずれ等の異常が発生していると判断することができる。上記暖機カウンタは実際の冷却水温度上昇に応じた速度で増大するため、実際の冷却水温度上昇速度が大きい場合には短時間で診断が実施され、冷却水温度上昇速度が小さい場合には、それに応じて診断実施までの時間が長く設定されることになる。このように、実際の冷却水温度上昇速度に応じて診断実施までの時間が調節されるため、診断のための基準値（温度）を高く設定して診断精度を向上させた場合でも、一律に診断時間が増大することがない。
【００１３】
請求項１の発明では、上記以外の冷却水温度上昇速度に影響を与える要因を考慮して暖機カウンタの増量値が補正される。例えば、自動車用機関等の場合冷却水を用いた車室暖房装置が設けられているが、この暖房装置が作動していると冷却水からの放熱が生じ冷却水温度上昇速度は小さくなる。また、冷却水からの放熱量は暖房装置のブロワの風量が大きいほど大きくなる。そこで、請求項１の発明ではカウンタ増量値は暖房装置ブロワ風量に応じて補正される。
このように、本発明では冷却水温度上昇速度に影響を与える暖房装置ブロワ風量に応じてカウンタ増量値を補正するため、暖機カウンタの値は正確に実際の冷却水温度に合致するようになる。
【００１４】
また、請求項２と請求項３との発明では機関始動後の診断動作中に何らかの原因で冷却水温度が低下した場合に誤診断が生じることを防止している。
通常、一旦機関が始動されると冷却水温度は上昇を続け始動時の冷却水温度より低下することはない。しかし、寒冷地等で機関始動前にシリンダブロックヒータ等が使用され、冷却水温度センサ近傍が加熱されているような場合には機関始動後冷却水の循環が開始されるとセンサ近傍の温度が低下する場合がある。また、機関始動後に冷却水の交換、補充等により外部から低温の冷却水が注入されたような場合にも始動後の冷却水温度低下が生じる。
【００１５】
このような場合には、暖機カウンタの値と実際の冷却水温度との間に誤差が生じることになり、暖機カウンタの値が設定値に到達しても実際の冷却水温度は基準値に到達していない場合が生じるため、正常な水温センサが故障したと誤診断されてしまう可能性がある。そこで、請求項２の発明では冷却水温度が始動時の温度より低下した場合には水温センサの故障診断を禁止することにより、誤診断の発生を防止する。また、請求項３の発明では、現在の冷却水温度が始動時の温度より低下した場合には、現在の冷却水温度を始動時冷却水温度として用い、さらに暖機カウンタの値を０にリセットする。これにより、水温低下発生時の冷却水温度を用いて診断が新たに開始されるようになるため誤診断の発生が防止される。
【００１６】
一方、請求項４の発明では、上記に加えて更に暖機カウンタの設定値は機関始動時の冷却水温度に基づいて設定される。例えば、機関始動時の冷却水温度が高い場合には、始動後冷却水温度が診断のための基準値に到達した時の暖機カウンタの値は始動時の冷却水温度が低い場合より小さくなる。このため、診断を実施するための暖機カウンタの設定値を機関始動時の冷却水温度に応じて補正することにより、始動時の冷却水温度にかかわらず正確に冷却水温度が始動後基準値に到達したときに故障診断を行なうことができる。
また、機関始動時の冷却水温度が低い場合には始動後に暖機促進のため燃料噴射量が増量されるため、冷却水温度上昇速度は始動時冷却水温度が高い場合より大きくなる。このため、請求項５の発明では、機関始動時の冷却水温度に応じてカウンタ増量値が補正される。
このように、機関始動時の冷却水温度に応じてカウンタ増量値を補正することにより、暖機カウンタ増大速度は実際の冷却水温度の増大速度に正確に対応するようになり、暖機カウンタの値は更に正確に実際の冷却水温度に合致するようになる。
【００１７】
【発明の実施の形態】
以下、添付図面を用いて本発明の実施形態について説明する。
図１は、本発明の故障診断装置を、電子制御式の内燃機関、例えば自動車用内燃機関に適用した実施形態の装置概略構成を示す図である。
図１において、１０は内燃機関の冷却水通路（図示せず）に配置された、例えばサーミスタ式の水温センサ、３０は内燃機関の電子制御装置（ＥＣＵ）を示している。本実施形態では、ＥＣＵ３０はＲＯＭ、ＲＡＭ、ＣＰＵ、メインスイッチオフ時にも記憶内容を保持可能なバックアップＲＡＭ、入出力ポート等を備えた公知の形式のコンピュータとして構成される。ＥＣＵ３０は、内燃機関の燃料噴射制御、点火時期制御などの基本制御を行なう他、本実施形態では請求項に記載したカウンタ増量値設定手段、カウント手段、比較手段、判定手段等の各手段として動作し、後述する水温センサの故障診断を行なう。
【００１８】
これらの制御のため、ＥＣＵ３０の入力ポートには、上記水温センサ１０から冷却水温度ＴＨＷを表す信号と、内燃機関の吸気通路に設置されたエアフローメータ２１から機関吸入空気流量ＧＡに応じた電圧信号が、また、機関吸気通路に設けた吸入空気温度センサ２３から吸気温度ＴＨＡを表す電圧信号が、それぞれ図示しないＡＤ変換器を介して入力されている。また、ＥＣＵ３０の入力ポートには、上記の他内燃機関のクランク軸近傍に設けられたクランク回転角センサ２５から一定クランク軸回転角毎にパルス信号が入力されている。ＥＣＵ３０は、このクランク回転角パルス信号に基づいて一定時間毎に機関回転速度（回転数）を算出し、種々の制御に使用している。さらに、本実施形態では冷却水を用いた車室暖房用ヒータが設けられており、ＥＣＵ３０の入力ポートにはヒータ用ブロワの運転風量を表す信号が車室内のブロワ風量設定スイッチ２７から入力されている。
【００１９】
さらに、本実施形態では、機関の排気通路に設けられた空燃比センサ２９から排気空燃比を表す信号が、図示しないＡＤ変換器を介してＥＣＵ３０の入出力ポートに入力されている。ＥＣＵ３０は、この空燃比信号に基づいて機関空燃比が目標空燃比（例えば理論空燃比）になるように機関燃料噴射量をフィードバック制御している。
【００２０】
また、ＥＣＵ３０の入出力ポートは、機関の燃料噴射制御と点火時期制御とのために、燃料噴射回路３１を介して機関の各燃料噴射弁３５に、また点火回路３３を介して機関の各点火プラグ３７にそれぞれ接続されている。
更に、ＥＣＵ３０の入出力ポートは、運転席に配置された警告灯３９に接続されている。
【００２１】
本実施形態では、水温センサ１０で検出した機関冷却水温度に基づいて種々の制御が実施される。例えば、ＥＣＵ３０は、機関始動時の燃料噴射量を機関始動時に検出した冷却水温度に基づいて設定する。すなわち、機関始動時の冷却水温度（機関温度）が低い程ＥＣＵ３０は始動時の燃料噴射量を増量し、機関の始動が容易になるようにしている。また、ＥＣＵ３０は、前述の空燃比センサ２９の出力に基づいて機関燃料噴射量をフィードバック制御しているが、このフィードバック制御は機関冷却水温度がある一定温度以上（例えば４０℃程度）になったときに開始される。また、ＥＣＵ３０は燃料噴射量算出の際に、噴射された燃料のうち吸気ポート壁面に付着する燃料量を予め機関冷却水温度に基づいて算出し、この付着量を見込んで燃料噴射量を補正している。
【００２２】
このように、機関冷却水温度は種々の制御に使用されるため、水温センサ１０の検出した冷却水温度が正確でない場合には、機関の始動不良、空燃比センサ出力に基づく燃料噴射量のフィードバック制御の開始遅れや燃料噴射量の補正不良等による排気性状の悪化等の問題が生じる。そこで、本実施形態では以下に説明する方法で水温センサ１０の異常の有無を検出し、異常が生じた場合には警告灯３９を点灯して運転者に異常発生を報知し、センサの修理、交換を促すようにしている。
【００２３】
次に、本発明の水温センサ１０の故障診断について説明する。
本発明では、後述する暖機カウンタＷＣＴを用いて機関始動後の冷却水温度を推定し、この推定した冷却水温度が予め定めた基準値になったときに（すなわち、暖機カウンタの値が基準値に相当する値になったときに）、水温センサ１０で検出された冷却水温度ＴＨＷが基準値より低い場合には、水温センサ１０に特性ずれ等の異常が生じていると判定する。また、暖機カウンタＷＣＴの値は、機関始動後一定時間毎に増量値ＷＣＴＩＮＣずつ増大されるが、この増量値ＷＣＴＩＮＣは冷却水温度上昇速度に関係する機関運転状態パラメータの値に応じて設定される。すなわち、機関始動後の冷却水温度の上昇速度は機関の運転状態により変化するが、本実施形態では機関が始動後に冷却水温度上昇速度が大きくなる運転状態で運転されている場合には増量値ＷＣＴＩＮＣの値は大きく設定され、冷却水温度上昇速度が小さくなる運転状態で運転されている場合には増量値ＷＣＴＩＮＣの値は小さく設定される。これにより、機関始動後の暖機カウンタＷＣＴの値は実際の冷却水温度に対応する値となる。このため、暖機カウンタＷＣＴの値がある設定値になったときに水温センサ１０の指示値が暖機カウンタＷＣＴの値に対応する値になっていない場合には水温センサ１０に異常が生じたと判断することができる。
【００２４】
本実施形態では、水温センサ１０の異常の有無を判定するための暖機カウンタＷＣＴの値の設定値ＷＣＴ0 は、例えば前述の空燃比センサ出力に基づく燃料噴射量のフィードバック制御が開始される冷却水温度（例えば４０℃）に多少の余裕をみた値に対応する値にに設定される。
また、機関始動後の冷却水温度上昇速度は機関の単位時間当たりの発生熱量に応じて変化する。すなわち、機関の単位時間当たりの発生熱量が大きければ冷却水に与えられる熱量も大きくなるため冷却水温度の上昇速度も大きくなり、発生熱量が少なければそれに応じて冷却水温度の上昇速度も小さくなる。このため、本実施形態では、機関の単位時間当たりの発生熱量を代表する機関運転状態パラメータの値に応じて暖機カウンタ増量値ＷＣＴＩＮＣを設定する。このような機関運転状態パラメータとしては、例えばエアフローメータ２１で検出される機関吸入空気流量（単位時間当たりに機関に吸入される空気量）を使用することができる。機関吸入空気量が大きい場合には、それに応じて機関に供給される燃料の量も増大されるため、機関の単位時間当たりの発生熱量は機関吸入空気流量に略比例するためである。また、上記機関運転パラメータとしては、吸入空気流量以外に、例えば吸気圧力（吸気管負圧）、単位時間当たりの燃料噴射量（一回当たりの燃料噴射量×機関回転速度）、アクセル開度等一般に機関負荷を代表する機関運転状態パラメータを使用することができる。
【００２５】
図２、図３は、上記機関運転状態パラメータとして機関吸入空気流量ＧＡを使用した場合の本発明の水温センサの故障診断操作の基本実施形態を示すフローチャートである。図２、図３のルーチンはＥＣＵ３０により一定時間毎（例えば１秒毎）に実行される。
図２においてルーチンがスタートすると、ステップ２０１では水温センサの故障診断実施のための前提条件が成立しているか否かが判定される。ここで、ステップ２０１で判定される前提条件は、例えばエアフローメータ２１に異常が生じていないこと、水温センサ１０の断線が生じていないこと等である。本実施形態では、機関運転状態パラメータとしてエアフローメータ２１で検出した機関吸入空気流量ＧＡを用いるため、エアフローメータ２１が正常に作動していることが必要となる。このため、ステップ２０１では前提条件の一つとしてエアフローメータ２１の異常の有無を判定しているが、機関運転状態パラメータとして他のパラメータ（例えば、機関吸気圧力またはスロットル開度）等を用いる場合には吸気圧力センサ、スロットル開度センサ等の異常の有無が前提条件となる。
【００２６】
エアフローメータ２１の異常、水温センサ１０の断線は、別途実行される図示しないルーチンにより、それぞれのセンサの指示値が通常考えられる範囲から大きく外れているか否かを判断することにより行なわれる。また、エアフローメータ２１の異常や水温センサ１０の断線等が生じている場合には、別途実行される図示しないルーチンにより警告灯３９が点灯される。
【００２７】
ステップ２０１で、診断のための前提条件のいずれか一つでも成立していない場合には、ルーチンは故障診断を実行することなく図３にてそのまま終了する。
ステップ２０１で診断のための前提条件が全て成立した場合には、ステップ２０３に進み、診断完了フラグＦＤの値が１にセットされているか否かが判定される。ＦＤは、機関始動後に後述する水温センサの故障診断（図３ステップ２１７から２２３）が完了しているか否かを表すフラグである。フラグＦＤの値は機関始動毎に０にセットされ、診断完了時に図３ステップ２２９で１にセットされる。
【００２８】
ステップ２０３でＦＤ＝１であった場合、すなわち今回機関始動後に既に一度水温センサの故障診断が完了している場合には、再度診断を実施することなくルーチンは直ちに終了する。これにより、水温センサの故障診断は機関始動毎に一回だけ実行されるようになる。
ステップ２０３でＦＤ≠１であった場合には、ルーチンはステップ２０５に進みエアフローメータ２１で検出した機関吸入空気流量ＧＡが読み込まれ、ステップ２０７ではこのＧＡの値に基づいてカウンタ増量値ＷＣＴＩＮＣの値が設定される。カウンタ増量値ＷＣＴＩＮＣは、実際の機関を用いて吸入空気量ＧＡを変えて運転して実測した機関温度上昇速度に基づいて決定されるが、例えば本実施形態では、以下のように設定される。
【００２９】
▲１▼  ＧＡ＜ＧＡ１のとき、        ＷＣＴＩＮＣ＝０．５
▲２▼  ＧＡ１≦ＧＡ＜ＧＡ２のとき、ＷＣＴＩＮＣ＝１．０
▲３▼  ＧＡ２≦ＧＡのとき、        ＷＣＴＩＮＣ＝１．５
ここで、ＧＡ＜ＧＡ１は機関のアイドル運転に相当する機関吸入空気流量範囲、ＧＡ１≦ＧＡ＜ＧＡ２は機関の通常運転（低、中負荷運転）に相当する機関吸入空気流量範囲を、またＧＡ２≦ＧＡは機関の加速運転（高負荷運転）に相当する機関吸入空気流量範囲である。すなわち、ステップ２０７では、機関負荷（単位時間当たりの機関発熱量）が大きいほどカウンタ増量値ＷＣＴＩＮＣは大きな値に設定される。
【００３０】
また、ステップ２０９では、上記より設定された増量値ＷＣＴＩＮＣだけ暖機カウンタＷＣＴの値が増大される。また、ステップ２１１では、計時カウンタＣＳＴの値が１増大される。暖機カウンタＷＣＴ及びカウンタＣＳＴの値は機関始動毎に０にセットされる。これにより、暖機カウンタＷＣＴの値は機関始動後の冷却水温度上昇に対応した値となり、計時カウンタＣＳＴの値は機関始動後の経過時間に対応した値となる。
【００３１】
上記によりカウンタＷＣＴ及びＣＳＴの値を増大した後、図３ステップ２１３では暖機カウンタＷＣＴの値が予め定めた設定値ＷＣＴ0 に到達したか否かが判定される。前述のように、暖機カウンタＷＣＴの値は機関始動後の冷却水温度上昇幅に対応した値となっているが、設定値ＷＣＴ0 は機関始動時の冷却水温度や外気温度が低い場合を考慮して、確実に冷却水温度が後述の基準温度ＴＨＷ0 に到達する値に設定される。また、ステップ２１５では、計時カウンタＣＳＴの値が予め定めた所定値ＣＳＴ0 に到達したか否か、すなわち機関始動後所定の時間が経過したか否かが判定される。上記所定値ＣＳＴ0 は、通常の条件であれば冷却水温度が基準温度ＴＨＷ0 に到達するのに十分な値とされ、本実施形態では例えば３００秒程度の時間に相当する値とされる。
【００３２】
ステップ２１３、２１５において、暖機カウンタＷＣＴと計時カウンタＣＳＴとのうち一方でも所定値に到達していない場合にはステップ２１７以降を実行することなくルーチンを終了する。また、暖機カウンタＷＣＴと計時カウンタＣＳＴの両方が所定値に到達している場合にはステップ２１７に進み、水温センサ１０で検出した冷却水温度ＴＨＷが基準温度ＴＨＷ0 以上になっているか否かが判定される。
【００３３】
水温センサ１０の検出値ＴＨＷが基準温度ＴＨＷ0 に到達していない場合には、実際の冷却水温度がＴＨＷ0 以上になっているにもかかわらず水温センサ１０の検出した冷却水温度がＴＨＷ0 に到達していないのであるから、水温センサ１０に特性ずれ等の以上が生じていると考えられる。そこで、この場合にはステップ２１９に進み故障カウンタＣＦの値を１増大させステップ２２１で故障カウンタＣＦの値が２以上になったか否かが判定され、更にＣＦ≧２が成立した場合にはステップ２２３で故障フラグＡＬＭの値が１にセットされる。フラグＡＬＭは、水温センサ１０の異常の有無を表すフラグであり、ＡＬＭの値が１（異常）にセットされると、別途実行される図示しないルーチンにより警告灯３９が点灯され、運転者に異常発生が報知される。一方、ステップ２１７で水温センサ１０で検出した冷却水温度ＴＨＷが基準値ＴＨＷ0 以上であった場合には、すなわち、水温センサ１０は正常であると判断されるため、ステップ２２５で故障カウンタＣＦの値は０にセットされ、更に、ステップ２２７では異常フラグＡＬＭの値が０（正常）にセットされ、警告灯３９は消灯される。
【００３４】
また、ステップ２２１で故障カウンタＣＦがＣＦ＜２であった場合には、今回は異常フラグＡＬＭの値は１にセットせず、故障カウンタＣＦの値（ＣＦ＝１）を保持したままステップ２２９に進む。すなわち、本実施形態では機関始動毎に１回実行される故障診断において、連続した２回の機関始動時に水温センサ１０が異常と判定された場合にのみ異常フラグＡＬＭの値を１にセットするようにしている。
【００３５】
上記操作を終了後、ステップ２２９では診断完了フラグＦＤの値を１（診断完了）にセットした後、ステップ２３１で故障カウンタＣＦと異常フラグＡＬＭの値をＥＣＵ３０のバックアップＲＡＭに格納して今回のルーチン実行を終了する。
なお、上記の実施形態では、実際の冷却水温度が確実に基準温度ＴＨＷ0 に到達してから故障診断を行なうために、暖機カウンタＷＣＴの値が基準値ＷＣＴ0 に到達したこと（ステップ２１３）に加えて、機関始動後の経過時間ＣＳＴが所定時間ＣＳＴ0 に到達した場合（ステップ２１５）にのみ故障診断（ステップ２１７以下）を実行するようにしているが、暖機カウンタＷＣＴの値の判定（ステップ２１３の判定）のみで故障診断を実行するようにしても良い。
【００３６】
上述のように、本実施形態によれば故障診断実行時に実際の冷却水温度が確実に基準温度まで上昇しているため、余裕をみて基準温度を低く設定する必要がない。このため、水温センサの正確な故障診断を行なうことが可能となる。
次に、図４を用いて本発明の別の実施形態について説明する。図２、図３の実施形態では故障診断実施の可否を判断する暖機カウンタＷＣＴの設定値ＷＣＴ0 （図３ステップ２１３）は機関始動時の冷却水温度にかかわらず一定値に設定されていた。しかし、前述したように暖機カウンタの値は機関始動後の冷却水温度の上昇幅を示すものであるため、現実には暖機カウンタの値が同一であっても機関始動時の冷却水温度が異なれば実際の冷却水温度は異なっている。このため、上記実施形態では、機関始動時の冷却水温度が低い場合を考慮して暖機カウンタＷＣＴの設定値ＷＣＴ0 に多少の余裕を見た大きな値に設定していた。しかし、ＷＣＴ0 の値を大きく設定すると、機関始動時の冷却水温度がそれほど低くない場合であっても始動時冷却水温度が低い場合と同じ値に暖機カウンタが増大するまで故障診断を実施できず、多くの場合診断実施に不必要な長時間を要することになる。そこで、以下に説明する実施形態では、機関始動時の冷却水温度に応じて設定値ＷＣＴ0 の値を変化させることにより上記問題を解決している。
【００３７】
図４は、設定値ＷＣＴ0 の値の変更ルーチンを示すフローチャートである。本ルーチンは、ＥＣＵ３０により一定時間毎に実行される。
図４においてルーチンがスタートすると、ステップ４０１では、今回のルーチン実行が機関のイグニッションスイッチがオンになってから最初の実行か否か、すなわち、前回ルーチン実行時から今回ルーチン実行時までにイグニッションスイッチがオフからオンに切り換えられたか否かが判断され、最初の実行でない場合にはステップ４０３以下を実行せずにそのままルーチンを終了する。すなわち、ステップ４０３から４０７のＷＣＴ0 の値の設定は機関始動時に一回だけ実行される。ステップ４０１で今回のルーチン実行がイグニッションスイッチがオンにされてから最初の実行であった場合にはステップ４０３に進み、水温センサ１０で検出した冷却水温度ＴＨＷを読み込むとともに、ステップ４０５では読み込んだ冷却水温度ＴＨＷを機関始動時冷却水温度ＴＨＷＳＴとして記憶する。さらに、ステップ４０７では上記始動時冷却水温度ＴＨＷＳＴに基づいて暖機カウンタＷＣＴの設定値ＷＣＴ0 と計時カウンタＣＳＴの設定値ＣＳＴ0 との値が設定される。
【００３８】
なお、ＷＣＴ0 とＣＳＴ0 との値は、実際の機関を始動時冷却水温度を変えて運転し冷却水温度が基準温度に到達するまでの時間を実測した結果に基づいて決定される。例えば、本実施形態ではＷＣＴ0 とＣＳＴ0 とは以下のように設定されている。
▲１▼  ＴＨＷＳＴ＜ＴＨＷＳＴ１のとき、
ＷＣＴ0 ＝ＷＣＴ1 及びＣＳＴ0 ＝ＣＳＴ1 
▲２▼  ＴＨＷＳＴ１≦ＴＨＷＳＴ＜ＴＨＷＳＴ２のとき、
ＷＣＴ0 ＝ＷＣＴ2 及びＣＳＴ0 ＝ＣＳＴ2 
▲３▼  ＴＨＷＳＴ２＜ＴＨＷＳＴのとき、
ＷＣＴ0 ＝ＷＣＴ3 及びＣＳＴ0 ＝ＣＳＴ3 
ここで、ＴＨＷＳＴ１は機関の極低温始動時の冷却水温度に相当し、例えばマイナス１０℃程度の温度、ＴＨＷＳＴ２は機関の低温始動時の冷却水温度上限に相当し、例えばプラス１０℃程度の温度である。
【００３９】
また、ＷＣＴ1 、ＷＣＴ2 、ＷＣＴ3 は、それぞれ例えば１２００、３００、１２０程度とされ、ＣＳＴ1 、ＣＳＴ2 、ＣＳＴ3 は１２００秒、３００秒、１２０秒程度に相当する値とされている。すなわち、本実施形態では機関始動時の冷却水温度ＴＨＷＳＴが低いほど暖機カウンタの設定値ＷＣＴ0 と計時カウンタの設定値ＣＳＴ0 はともに大きな値に設定される。
【００４０】
本実施形態では、図４のルーチンによりＷＣＴ0 とＣＳＴ0 との値が機関始動時の冷却水温度ＴＨＷＳＴに基づいて設定されると、このＷＣＴ0 とＣＳＴ0 との値を用いて図２、図３のルーチンが実行される。これにより、水温センサ１０の故障診断時には、実際の冷却水温度はより確実に基準値ＴＨＷ0 以上になっているため一層正確な診断が可能となる。また、機関始動時冷却水温度に応じて暖機カウンタＷＣＴの設定値ＷＣＴ0 の値が設定されるため、始動時冷却水温度が高く短時間で冷却水温度が基準値に到達する場合にはそれに応じて始動後短時間で故障診断が実行されるため、極端な低温時以外は全体として診断に要する時間を短縮することが可能となる。
【００４１】
次に、本発明の別の実施形態について説明する。上述の各実施形態では機関の単位時間当たりの発生熱量に関係する運転状態パラメータ（機関吸入空気流量）の値に応じて、冷却水温度の上昇速度を表す暖機カウンタ増量値を設定していた。しかし、実際には冷却水温度の上昇速度は機関吸入空気流量が同一であっても種々の要因により変化する。例えば、機関始動時の冷却水温度が低い場合には、暖機促進のために燃料が増量されるため、通常より冷却水温度上昇速度が速くなる。このため、始動時冷却水温度が低い場合には暖機カウンタ増量値を大きく設定する必要がある。また、自動車用機関等では機関始動後エンジンブレーキ走行中等で燃料カット運転が行なわれると、機関で燃焼が生じず、冷却水温度上昇は極めて遅くなり、長期間の燃料カット運転ではむしろ冷却水温度は低下傾向となる。このため、燃料カット運転が実行されているときには暖機カウンタ増量値は０または負の値に設定する必要がある。また、外気温度が低い場合や、冷却水を用いた暖房装置が使用されている場合には冷却水からの放熱量が大きくなるため冷却水温度上昇は遅くなる。このため、外気温度が低い場合や暖房装置が使用されている場合には、それに応じて暖機カウンタ増量値を通常より小さな値に設定することが好ましい。
【００４２】
以下に説明する実施形態では、上記冷却水温度上昇に影響を与える要因を考慮して暖機カウンタ増量値の値を補正することにより、暖機カウンタの値が実際の冷却水温度をより正確に表すようにしている。
図５、図６は本実施形態において図２、図３の代わりに実行される故障診断ルーチンのフローチャートを示している。本ルーチンは、図２、図３のものと同様、ＥＣＵ３０により一定時間毎（例えば１秒毎）に実行される。
【００４３】
図５においてステップ５０１は故障診断の前提条件が成立しているかの判断、ステップ５０３は故障診断が完了しているか否かの判断を示している。これらのステップは、それぞれ図２のステップ２０１、２０３と同一である。また、ステップ５０５ではエアフローメータ２１から機関吸入空気流量ＧＡが、ステップ５０７では図４のルーチンで記憶した機関始動時の冷却水温度ＴＨＷＳＴが、それぞれ読み込まれる。
【００４４】
ステップ５０９はカウンタ増量値ＷＣＴＩＮＣの設定動作を示すステップである。本実施形態では、機関吸入空気流量ＧＡに応じて設定される増量値ＷＣＴＩＮＣの値を機関始動時の冷却水温度ＴＨＷＳＴに応じて補正した値をカウンタ増量値として用いて暖機カウンタＷＣＴの積算を行なう。
図７は、図５ステップ５０９で機関吸入空気流量ＧＡと始動時冷却水温度ＴＨＷＳＴとに応じて設定される補正後のＷＣＴＩＮＣの値の一例を示している。図７において、ＧＡ＜ＧＡ１は機関のアイドル運転に相当する機関吸入空気流量範囲、ＧＡ１≦ＧＡ＜ＧＡ２は機関の通常運転（低、中負荷運転）に相当する機関吸入空気流量範囲を、またＧＡ２≦ＧＡは機関の加速運転（高負荷運転）に相当する機関吸入空気流量範囲である。また、ＴＨＷＳＴ１は機関の極低温始動時の冷却水温度に相当し、例えばマイナス１０℃程度の温度、ＴＨＷＳＴ２は機関の低温始動時の冷却水温度上限に相当し、例えばプラス１０℃程度の温度である。
【００４５】
図７から判るように、本実施形態においても図２、図３の実施形態と同様、全般的に機関負荷が大きくなるほどＷＣＴＩＮＣは大きな値に設定されるが、極低温始動時（ＴＨＷＳＴ＜ＴＨＷＳＴ１）にはＷＣＴＩＮＣは他の始動時冷却水温度条件に較べて全般的に大きな値に設定される。図７の関係は予め実験により求められ、ＥＣＵ３０のＲＯＭに記憶されている。
【００４６】
また、ステップ５１１から５１７では、外気温度ＴＨＡ、車室ヒータのブロワ風量に基づいてそれぞれ補正係数Ｋ１、Ｋ２が算出される。なお、後述するように、本実施形態では実際に暖機カウンタＷＣＴの増大に用いるカウンタ増量値は、ステップ５０９で求めた増量値ＷＣＴＩＮＣに補正係数Ｋ１、Ｋ２を乗じたものが使用される。
【００４７】
ステップ５１１、５１３は外気温度に基づく補正係数Ｋ１の設定操作を示す。本実施形態では、吸入空気温度センサ２３で検出した吸気温度ＴＨＡを外気温度として使用する。すなわち、ステップ５１１で吸入空気温度センサ２３で検出した吸気温度ＴＨＡを読み込み、ステップ５１３では温度ＴＨＡに応じて補正係数Ｋ１の値が設定される。補正係数Ｋ１の値は、実際の機関を用いて外気温度を変えて機関を運転した実験により決定する。本実施形態では、Ｋ１の値は以下のように設定される。
【００４８】
▲１▼  ＴＨＡ＜ＴＨＡ１のとき、Ｋ１＝０．５
▲２▼  ＴＨＡ≧ＴＨＡ１のとき、Ｋ１＝１．０
ここで、ＴＨＡ１は、例えば０℃程度の値とされる。すなわち、機関吸気温度ＴＨＡ（外気温度）が低い場合には、補正係数Ｋ１は小さな値に設定され、暖機カウンタＷＣＴの増量値ＷＣＴＩＮＣは小さな値に補正されるようになる。
【００４９】
ステップ５１５、５１７は車室ヒータのブロワ風量に基づくＷＣＴＩＮＣの補正係数Ｋ２の算出を示す。すなわち、ステップ５１５ではブロワ風量設定スイッチ２７（図１）から現在のブロワ風量ＱＢの設定値を読み込み、ステップ５１７でブロワ風量ＱＢの設定値に応じて補正係数Ｋ２の値を設定する。補正係数Ｋ２の値は実際の機関を用いた実験により求められる。本実施形態では、例えば以下のように、ブロワ風量を３段階に分け、それぞれの場合に応じて補正係数Ｋ２の値を設定している。
【００５０】
▲１▼  ＱＢがＨＩＧＨ（風量大）に設定されているとき、Ｋ２＝０．７５
▲２▼  ＱＢがＭＥＤＩＵＭ（風量中）に設定されているとき、Ｋ２＝０．８５
▲３▼  ＱＢがＬＯＷ（風量小）またはＯＦＦに設定されているとき、Ｋ２＝１．０
このように、本実施形態では、ヒータのブロワ風量が大きくなるほど補正係数Ｋ２は小さな値に設定され、暖機カウンタＷＣＴの増量値ＷＣＴＩＮＣは小さな値に補正されるようになる。
【００５１】
ステップ５１９から５２３は、燃料カット運転を考慮した増量値ＷＣＴＩＮＣの補正を示す。すなわち、ステップ５１９では現在燃料カット運転が行なわれているか否かが判断される。前述のように、燃料カット運転中は機関で燃焼が生じないため冷却水温度上昇は殆ど生じない。このため、本実施形態では、ステップ５１９で現在燃料カット運転が行なわれている場合には、ステップ５２３に進み、カウンタ増量値ＷＣＴＩＮＣの値を０に設定する。一方、現在燃料カット運転が実施されていない場合には、ステップ５０９で設定したカウンタ増量値ＷＣＴＩＮＣの値に、ステップ５１３、５１７で設定した補正係数Ｋ１、Ｋ２の値を乗じた値をカウンタ増量値ＷＣＴＩＮＣとして設定する。なお、前述したように燃料カット運転が長時間継続すると冷却水温度はむしろ低下する。このため、ステップ５１９で燃料カット運転が実施されていた場合には、更に燃料カット運転の継続時間を判断するようにして、燃料カット運転の継続時間が長い場合にはカウンタ増量値ＷＣＴＩＮＣを負の値に設定するようにしてもよい。
【００５２】
ステップ５２５から５４７では、上記補正後のカウンタ増量値ＷＣＴＩＮＣを用いて水温センサ１０の故障診断が実行される。ステップ５２５から５４７は、図２、図３のフローチャートのステップ２０９から２３１と同一であるため、ここでは説明を省略する。
なお、上記実施形態では冷却水温度上昇に影響を与える要因として上述した要因を考慮しているが、冷却水温度上昇に影響を与える要因としては、上記以外にも考えられる。例えば、機関回転数が高い場合には、回転数が低い場合に較べて機関の単位時間当たり発熱量が大きくなるため冷却水温度上昇速度は大きくなる。従って、機関回転数に応じてカウンタ増量値ＷＣＴＩＮＣを補正し、機関回転数が高い場合に暖機カウンタの増大速度（カウンタ増量値ＷＣＴＩＮＣ）が大きくなるようにしてもよい。また、自動車用内燃機関の場合には、車両走行速度が大きいと機関及び冷却水系統に当たる走行風の風量が大きくなり冷却水からの放熱量が増大する。従って、機関始動後の車両走行速度に応じてカウンタ増量値ＷＣＴＩＮＣを小さく設定するようにしてもよい。
【００５３】
上述のように、本実施形態によれば暖機カウンタの増量値ＷＣＴＩＮＣは、機関始動時冷却水温度、外気温度、ヒータブロワ風量や燃料カット運転の有無等の、冷却水温度上昇に影響を与える種々の要因に応じて補正されるため暖機カウンタの値は正確に実際の冷却水温度を表すようになる。このため、水温センサの故障診断の精度が一層向上する。
【００５４】
次に、図８から図１０を用いて本発明の別の実施形態について説明する。
本実施形態では、冷却水温度が機関始動時より低下した場合には水温センサの故障有無の判定を禁止するようにしている。すなわち、前述のように低温時にシリンダブロックヒータを使用している場合や、始動後に冷却水の交換や補充が行われたような場合には暖機カウンタの値と実際の冷却水温度との間に差が生じてしまい前述の各実施形態では正確な故障診断ができなくなる可能性がある。そこで、本実施形態では、図２、図３及び図５、図６に示した故障診断において冷却水温度温度が始動時の温度より低下した場合には故障診断を禁止することにより誤診断を防止する。
【００５５】
図８、図９はそれぞれ図２、図５に対応する本実施形態のフローチャートである。本実施形態では図８と図３及び図９と図６とはそれぞれ１つのフローチャートを構成し、図８の後に図３、また図９の後に図６の各ステップがそれぞれ実行される。図８のフローチャートは、図２のフローチャートのステップ２０１と２０３との間にステップ８０１が挿入されている点で図２と相違する。また、図９のフローチャートは、図５のフローチャートのステップ５０１と５０３との間にステップ９０１が挿入されている点で図５と相違している。
【００５６】
図８ステップ８０１と図９ステップ９０１とでは、それぞれフラグＸＦＬの値が１にセットされているか否かを判断し、ＸＦＬ＝１であった場合には、ステップ２０３またはステップ５０３以下の判定操作を行わずにそのままルーチンを終了する。ＸＦＬは判定禁止フラグであり、図１０の操作により冷却水温度が始動時の温度より低下した場合に１にセットされる。
【００５７】
図１０は、判定禁止フラグＸＦＬの設定を行うルーチンのフローチャートである。本ルーチンは制御回路３０により一定時間毎に実行される。
図１０においてルーチンがスタートすると、ステップ１００１では、図４のルーチンで記憶した機関始動時の冷却水温度ＴＨＷＳＴが読み込まれ、ステップ１００３では現在の冷却水温度ＴＨＷが水温センサ１０から読み込まれる。そして、ステップ１００５では、現在の冷却水温度ＴＨＷが始動時温度ＴＨＷＳＴ以上か否かが判定され、ＴＨＷ＜ＴＨＷＳＴであった場合にはステップ１００７で判定禁止フラグＸＦＬの値が１にセットされる。また、ＴＨＷ≧ＴＨＷＳＴであった場合には、フラグＸＦＬの値はそのままに保持してルーチンを終了する。フラグＸＦＬの値は機関始動時に０にリセットされているため、上記ルーチン実行により、ＴＨＷ≧ＴＨＷＳＴが成立する場合にはＸＦＬの値は０に維持され、図８、図９ではそれぞれステップ２０３以下、ステップ５０３以下の故障診断操作が行われる。しかし、一旦現在の冷却水温度ＴＨＷが始動時冷却水温度ＴＨＷＳＴより低くなる事態が生じると図１０ステップ１００７でフラグＸＦＬの値は１にセットされるため、機関が再始動されてフラグＸＦＬの値が０にリセットされるまで図８、図９における故障診断操作は禁止されるようになる。このため、本実施形態によれば、暖機カウンタＷＣＴの値と実際の冷却水温度ＴＨＷとの間に誤差が生じた状態で故障診断が行われることがなくなり、誤診断の発生が防止される。
【００５８】
次に、図１１を用いて本発明の別の実施形態について説明する。図１１は、図１０と同様判定禁止フラグＸＦＬの設定ルーチンを示している。本実施形態においても、図１１で設定されたフラグＸＦＬの値に基づいて図８、図９における診断操作が禁止される点は図１０と同様である。しかし、図１０の実施形態のように、暖機カウンタＷＣＴの値と実際の冷却水温度ＴＨＷとの間に誤差が生じたときに判定を一律に禁止したのでは故障診断の機会が低下する可能性がある。そこで、本実施形態では、このような場合に暖機カウンタのカウントアップを水温センサ１０で検出した冷却水温度が始動時温度より低下した時点から開始するようにした上で故障診断操作を再開するようにしている。すなわち、本実施形態では水温センサ１０で検出した冷却水温度ＴＨＷが始動時の冷却水温度ＴＨＷＳＴより低下した場合には、暖機カウンタＷＣＴの値を０にリセットするとともに始動時冷却水温度ＴＨＷＳＴとして現在の冷却水温度ＴＨＷを用いて新たに故障診断操作を開始する。これにより、暖機カウンタＷＣＴの値はリセットされた時点からの冷却水温度温度上昇を表すようになるため、暖機カウンタの値と実際の冷却水温度とが正確に一致するようになる。このため、本実施形態では冷却水温度ＴＨＷが始動時より低下した場合にも正確な故障診断を実行することが可能となる。
【００５９】
図１１においてルーチンがスタートすると、ステップ１１０１と１１０３とでは、始動時冷却水温度ＴＨＷＳＴと現在の冷却水温度ＴＨＷとが読み込まれ、ステップ１１０５では現在の冷却水温度ＴＨＷが始動時の温度ＴＨＷＳＴ以上であるか否かが判定される。
また、現在の冷却水温度が始動時温度より低下していた場合（ＴＨＷ＜ＴＨＷＳＴ）には、ステップ１１０７では図４のルーチンで記憶した始動時冷却水温度に代えて現在の冷却水温度ＴＨＷを始動時冷却水温度ＴＨＷＳＴとして記憶する。これにより、次回ルーチン実行時からはステップ１１０１で読み込まれるＴＨＷＳＴの値は今回ルーチン実行時に水温センサ１０で検出した冷却水温度となる。そして、ステップ１１０９では、暖機カウンタＷＣＴと計時カウンタＣＳＴとがそれぞれ０にリセットされる。また、ステップ１１１１では設定値ＷＣＴ0 とＣＳＴ0 とが新たに記憶したＴＨＷＳＴに基づいて再設定され、ステップ１１１３ではフラグＸＴの値が１にセットされる。フラグＸＴは、ステップ１１０５でＴＨＷ＜ＴＨＷＳＴが成立した場合のみに、その後のルーチン実行時にステップ１１１９を実行させ、ステップ１１０５でＴＨＷ≧ＴＨＷＳＴが一度も成立していない場合にはステップ１１１９をスキップさせる作用を行うフラグである。そしてこの場合、ステップ１１１５で判定禁止フラグＸＦＬが１にセットされ今回のルーチン実行は終了する。
【００６０】
一方、ステップ１１０５でＴＨＷ≧ＴＨＷＳＴであった場合には、次にステップ１１１７に進み、フラグＸＴの値が１にセットされているか、すなわち今回の診断操作開始後に一度でもＴＨＷ＜ＴＨＷＳＴとなったことがあるか否かが判定され、ＸＴ≠１であった場合（すなわち一度もＴＨＷ＜ＴＨＷＳＴとなったことがない場合）にはステップ１１２１に進み判定禁止フラグＸＦＬの値を０にリセットしてルーチンを終了する。この場合には、図８、図９のルーチンでは故障診断操作が継続される。
【００６１】
また、ステップ１１１７でＸＴ＝１であった場合、すなわち、今回の診断操作開始後にＴＨＷ＜ＴＨＷＳＴとなったことがある場合には、更にステップ１１１９で、現在の冷却水温度ＴＨＷが、ステップ１１０７で新たに設定された始動時冷却水温度ＴＨＷＳＴより所定値α以上上昇しているか否かが判定される。そして、ＴＨＷ≦（ＴＨＷＳＴ＋α）である場合にはステップ１１１５に進み判定禁止フラグＸＦＬの値を１にセット、ＴＨＷ＞（ＴＨＷＳＴ＋α）になったときにはじめてステップ１１２１に進み判定禁止フラグＸＦＬの値を０にリセットする。
【００６２】
すなわち、本実施形態では、一旦ＴＨＷ≦ＴＨＷＳＴとなった場合には、その時点からα（例えばα≒５℃程度）だけ冷却水温度が上昇するまで故障診断を再開しないようにして、冷却水温度の僅かな変化により故障診断の禁止と再開とが頻繁に繰り返されることを防止している。
上述のように、本実施形態によれば、冷却水温度が始動時の温度より低下した場合には、その時点の冷却水温度を用いて故障診断操作を開始するようにしたことにより、診断の機会を低下させることなく誤診断の発生を防止することが可能となっている。
【００６３】
【発明の効果】
各請求項に記載の発明によれば、内燃機関の水温センサの故障診断を正確に行なうことが可能となるとともに、機関運転条件に応じて診断時間を短縮することが可能となる。
【図面の簡単な説明】
【図１】本発明の故障診断装置の一実施形態の構成を示す図である。
【図２】本発明の故障診断装置の故障診断動作の一実施形態を示すフローチャートの一部である。
【図３】本発明の故障診断装置の故障診断動作の一実施形態を示すフローチャートの一部である。
【図４】本発明の故障診断装置の故障診断動作の別の実施形態を示すフローチャートである。
【図５】本発明の故障診断装置の故障診断動作の他の実施形態を示すフローチャートの一部である。
【図６】本発明の故障診断装置の故障診断動作の他の実施形態を示すフローチャートの一部である。
【図７】図５、図６のフローチャートに使用するカウンタ増量値の設定の一例を示す図である。
【図８】本発明の故障診断動作の別の実施形態を示すフローチャートの一部である。
【図９】本発明の故障診断動作の別の実施形態を示すフローチャートの一部である。
【図１０】本発明の故障診断動作の別の実施形態を示すフローチャートである。
【図１１】本発明の故障診断動作の別の実施形態を示すフローチャートである。
【符号の説明】
１０…水温センサ
２１…エアフローメータ
２３…吸入空気温度センサ
３０…制御回路（ＥＣＵ）
【図１】
0003675108.tif 000002
【図２】
0003675108.tif 000003
【図３】
0003675108.tif 000004
【図４】
0003675108.tif 000005
【図５】
0003675108.tif 000006
【図６】
0003675108.tif 000007
【図７】
0003675108.tif 000008
【図８】
0003675108.tif 000009
【図９】
0003675108.tif 000010
【図１０】
0003675108.tif 000011
【図１１】
0003675108.tif 000012