(57)【特許請求の範囲】
【請求項１】
エンジン冷却水の水温を検出する水温センサの故障を該水温センサの出力値の変化状態に基づいて診断するエンジン温度センサの故障診断装置において、
エンジンの負荷が所定状態か否かを判定する負荷状態判定手段と、
エンジン始動時の水温が所定温度未満の冷間始動時に、エンジン始動後、エンジン始動から所定時間が経過するのを待って、それまでの期間における上記水温センサの出力値の変化度合に基づき該温度センサが異常であるかどうかを判定する第１異常判定手段と、
エンジン始動時の水温が所定温度以上の温間始動時に、エンジン始動後、上記負荷状態判定手段によりエンジンの負荷が上記所定状態であるとする判定と上記所定状態でないとする判定が少なくとも１回以上実行されるのを待ってそれまでの期間における上記水温センサの出力値の変化度合を所定度合と比較し、上記出力値の変化度合が上記所定度合以内のときは該水温センサが異常であると判定する第２異常判定手段とを設けたことを特徴とするエンジン温度センサの故障診断装置。
【請求項２】
上記第２異常判定手段は、エンジン始動時の外気温度が所定温度以下のときに判定を実行するものである請求項１記載のエンジン温度センサの故障診断装置。
【請求項３】
上記所定状態は、エンジンの吸入空気量が所定値以上となる中負荷以上の所定負荷域である請求項１又は２記載のエンジン温度センサの故障診断装置。
【請求項４】
上記所定負荷域は、エンジンにより駆動される車両の速度が所定速度以上の負荷域である請求項３記載のエンジン温度センサの故障診断装置。
【請求項５】
エンジン冷却水の水温を検出する水温センサの故障を該水温センサの出力値の変化状態に基づいて診断するエンジン温度センサの故障診断装置において、
エンジンにより駆動される車両の速度が所定速度以上か否かを判定する車速状態判定手段と、
エンジン始動時の水温が所定温度未満の冷間始動時に、エンジン始動後、エンジン始動から所定時間が経過するのを待って、それまでの期間における上記水温センサの出力値の変化度合に基づき該温度センサが異常であるかどうかを判定する第１異常判定手段と、
エンジン始動時の水温が所定温度以上の温間始動時に、エンジン始動後、上記車速状態判定手段により車速が上記所定速度以上であるとする判定と上記所定速度以上でないとする判定が少なくとも１回以上実行されるのを待ってそれまでの期間における上記水温センサの出力値の変化度合を所定度合と比較し、上記出力値の変化度合が上記所定度合以内のときは該水温センサが異常であると判定する第２異常判定手段とを設けたことを特徴とするエンジン温度センサの故障診断装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンジン冷却水の温度を検出する水温センサ等のエンジン温度センサの故障診断装置に関するものである。
【０００２】
【従来の技術】
エンジン冷却水の温度を検出する水温センサ等の温度センサの故障には、ショートや断線故障のほか、センサ出力が一定値に固着してしまうスタック故障がある。そして、温度センサのスタック故障を判定する手段として、例えば特公平３−５６４１７号公報に記載されているように、エンジン始動から所定時間経過した後のセンサ出力を所定判定値と比較して、センサ出力が判定値に対して一方の側に張り付いたときに温度センサの異常と判定するものが知られている。
【０００３】
【発明が解決しようとする課題】
ところで、温度センサのスタック故障には、センサ出力が例えば２０℃以下の低温（ｌｏｗ）側で固着するロウ・スタックと、２０℃を越える高温（ｈｉｇｈ）側で固着するハイ・スタックとがあり、このうち、上記ロウ・スタックについては、エンジン始動から所定時間経過した後の出力値が判定値に対して一方の側に張り付いたときに温度センサの異常と判定する上記従来の故障判定手段によって故障判定が可能である。例えば水温センサに適用する場合に、エンジン始動から所定時間が経過してもセンサ出力が例えば１０℃から上がらないというときはロウ側スタックと判定できるのである。しかしながら、センサ出力が例えば２０℃を越える高温側で固着する上記ハイ・スタックの場合、上記従来の故障判定手段によっては必ずしも確実にスタック故障を判定できない。
【０００４】
ハイ・スタックは上述のようにセンサ出力が例えば２０℃を越える高温側で固着する故障であるが、エンジンが停止して短時間で再始動することにより水温が最初から７０℃とか８０℃とかの高温で推移するような温間始動時には、この温間始動時の水温に近い温度でセンサ出力が固着したときに正常と異常との判別が難しい。
【０００５】
したがって、水温センサ等のエンジン温度センサのスタック故障、特に高温側のハイ・スタック故障を確実に判定できるようにすることが課題である。
【０００６】
【課題を解決するための手段】
本発明によるエンジン温度センサの故障診断装置は、エンジン冷却水の水温を検出する水温センサの故障を該水温センサの出力値の変化状態に基づいて診断するものにおいて、エンジンの負荷が所定状態か否かを判定する負荷状態判定手段と、エンジン始動時の水温が所定温度未満の冷間始動時に、エンジン始動後、エンジン始動から所定時間が経過するのを待って、それまでの期間における上記水温センサの出力値の変化度合に基づき該温度センサが異常であるかどうかを判定する第１異常判定手段と、エンジン始動時の水温が所定温度以上の温間始動時に、エンジン始動後、上記負荷状態判定手段によりエンジンの負荷が上記所定状態であるとする判定と上記所定状態でないとする判定が少なくとも１回以上実行されるのを待ってそれまでの期間における上記水温センサの出力値の変化度合を所定度合と比較し、上記出力値の変化度合が上記所定度合以内のときは該水温センサが異常であると判定する第２異常判定手段とを設けたことを特徴とする。
【０００７】
エンジン温度はエンジンの発熱量に依存し、発熱量はエンジンの吸入空気量すなわち負荷に略比例する。そのため、エンジンの負荷が変化すればエンジン温度が変化するわけで、温度センサに故障がない限り、センサ出力は負荷の変化に応じて変化する。そして、例えば車両を駆動するエンジンの場合に、通常の走行モードからして、エンジンの負荷が所定状態の時と所定状態でない時が少なくとも１回以上生じた期間における温度センサの出力値の変化度合から、センサ出力が高温側で固着するハイ・スタック故障を確実に判定できるような、そういう特定の負荷の状態（所定状態）が存在する。そして、エンジン始動後、エンジンの負荷がそういった所定状態の時とそうでない時を少なくとも１回以上経た時に、それまでの期間における温度センサの出力値の変化度合が所定度合以内なら温度センサの異常と判定することができるのである。
【０００８】
上記故障診断装置において、第２異常判定手段はエンジン始動時の水温が所定温度以上のときに判定を実行する。この場合、上記所定温度を高温再始動すなわち温間始動時のエンジン温度近傍に設定することにより、エンジン温度が高温で推移する温間始動時においても、その温間始動時の水温に近い温度でセンサ出力が固着する高温側のハイ・スタックを確実に判定できる。
【０００９】
また、第２異常判定手段は、エンジン始動時の外気温度が所定温度以下のときに判定を実行するものとするのがよい。上記所定温度は例えば３５℃である。外気温度が例えば３５℃より高いときにエンジンを再始動すると、エンジン水温は負荷の状態に関係無く１００℃に近い高温側に張り付いた状態となり、高温側のハイ・スタックを判定できない。そのため、エンジン始動時の外気温度が所定温度以下のときに判定を実行するのである。
【００１０】
ところで、車両の通常の走行モードにおいては、エンジンの負荷が所定状態の時と所定状態でない時が少なくとも１回以上生じた期間における温度センサの出力値の変化度合からハイ・スタック故障を確実に判定できるような、そういう負荷の状態（所定状態）が存在し、エンジン始動後、エンジンの負荷がそういった所定状態の時とそうでない時を少なくとも１回以上経た時に、それまでの期間における温度センサの出力値の変化度合が所定度合以内であれば、温度センサの異常と判定することができることは上述のとおりであり、その場合の上記所定状態は、例えばエンジンの吸入空気量が所定値以上となる中負荷以上の所定負荷域である。
【００１１】
通常の走行モードにおいては、低負荷と中負荷以上の負荷域との間で運転が頻繁に切り替わることは少なく、それら負荷域の間の切り替わりはエンジン温度に変化が現れる程度の時間をおいて実行されるのが普通である。また、吸入空気量が少ない領域間の切り替わりでは、発熱量が絶対量としても少ないため温度変化が現れにくい。したがって、上記所定状態をエンジンの吸入空気量が所定値以上となる中負荷以上の所定負荷域とすることにより、温度センサの異常判定の精度を高めることができるのである。そして、そのエンジンの吸入空気量が所定値以上となる中負荷以上の所定負荷域すなわち所定状態は、車両を駆動するエンジンの場合に、車速で判定してよいものである。すなわち、エンジンにより駆動される車両の速度が所定速度以上であることをもって上記所定状態と判定し、エンジン始動後、車速が所定速度以上である時とそうでない時が少なくとも１回以上あった後で、それまでの期間における上記温度センサの出力値の変化度合が所定度合以内のときは温度センサが異常と判定することができる。上記所定速度とは例えば３０ｋｍ／ｈである。車速が例えば３０ｋｍ／ｈ以上というのは、通常、上記エンジンの吸入空気量が所定値以上となる中負荷以上の負荷域に相当する。
【００１２】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態を説明する。
【００１３】
図１は本発明が適用される故障診断装置を備えた自動車用エンジンの全体構造を示している。
【００１４】
図１において、１はエンジン本体、２はその燃焼室である。燃焼室２には吸気ポート３および排気ポート４が開口し、それら吸気ポート３および排気ポート４の燃焼室２への開口部に吸気弁５および排気弁６が配設されている。また、吸気ポート３の入口には吸気通路７が接続され、排気ポート４の出口には排気通路８が接続されている。そして、吸気通路７には、上流側から順に、エアークリーナ９，エアーフローセンサ１０，スロットル弁１１，サージタンク１２および燃料噴射弁１３が配設され、また、スロットル弁１１をバイパスするバイパス通路１４が設けられ、該通路１４の途中にアイドル回転数制御用のバイパス弁（ＩＳＣ弁）１５が配設されている。そして、エンジン本体１の所定位置にはクランク角信号を検出するクランク角センサ１６が設けられ、また、エンジン冷却水の水温を検出する水温センサ１７が設けられている。そして、排気通路８の途中に排気ガス浄化用の触媒装置１８が設けられ、その上流に酸素センサ１９が設置されている。
【００１５】
燃焼室２の頂部には点火プラグ２０が設置されている。また、自動車にはエンジンを制御するＥＣＵ（エンジンコントロールユニット）２１が配設されるとともに、警告灯２２が設置され、また、車速センサ２３が設置されている。
【００１６】
図２は、上記エンジンの冷却系を示している。このエンジンは、例えば直列４気筒ガソリンエンジンであって、エンジン本体１にはシリンダブロック及びシリンダヘッドに冷却水を循環させるウォータジャケット３０が形成されている。そして、図示しないクランクシャフトによりベルト等を介して駆動されるウォータポンプ３１によって図の左側から右側へ向けて冷却水が圧送され、その冷却水がウォータジャケット３０内を流れる間にエンジン本体１からの熱により暖められ、水温がサーモスタット弁３２の設定温度よりも低い間はサーモスタット弁３２が閉じることによって、ウォータジャケット３０からバイパス通路３３を経て冷却水が循環し、一方、冷却水温が設定温度よりも高くなればサーモスタット弁３２が開き、冷却水はサーモスタット弁３２を通りアッパホース３４内を流れてラジエータ３５に至り、ラジエータ３５を通る間に冷却されて、ロアホース３６内を流れ、ウォータポンプ３１に戻るよう冷却系が構成されている。上記水温センサ１７はウォータジャケット３０に臨む位置に配設されている。また、図において、３７は冷却水温が所定以上に高くなると図示しないフロントグリル側（同図の左端側）から空気を吸引してラジエータ３５を強制的に冷却する電動ファンであり、３８は車内暖房用のヒータコアである。ヒータコア３８は、エンジン側のウォータジャケット３０から温水が循環するよう上流側冷却水通路３９及び下流側冷却水通路４０によってウォータジャケット３０に接続されている。そして、上流側の冷却水通路３９に設けられた温水弁（図示せず）により温水流量が調整される。
【００１７】
上記エアーフローセンサ１０，クランク角センサ１６，水温センサ１７，酸素センサ１９及び車速センサ２３の各検出信号は制御情報としてＥＣＵ２１に入力される。そして、それらの制御情報に基づいてＥＣＵ２１で点火時期制御の処理，燃料噴射制御の処理，ＩＳＣ制御の処理等が行われ、また、水温センサ１７の故障診断の処理が行われる。
【００１８】
上記故障診断の処理は、水温センサ１７の出力値が２０℃を越える高温（ｈｉｇｈ）側で固着するハイ・スタック故障を検出するものであって、エンジン始動後、エンジンの負荷が、エンジンの吸入空気量が所定値以上となる中負荷以上の所定負荷域にある状態（所定状態）とそうでない状態を少なくとも１回以上経た時に、それまでの期間における水温センサ１７の出力値の変化度合が所定度合以内であれば水温センサ１７の異常（高温側のハイ・スタック故障）と判定する。そして、具体的には、エンジンの負荷の状態を車速で見て、車速が３０ｋｍ／ｈ以上のときを上記所定状態に見立てて、エンジン始動後、車速が３０ｋｍ／ｈ以上の状態と車速が３０ｋｍ／ｈより低い状態を少なくとも１回以上（好ましくは５〜１０回）経た時に、それまでの期間における水温センサ１７の出力値の変化度合を見る。そして、上記期間における水温センサ１７の出力値ｔｈｗが例えば図３に実線で示すように変化し、かつ、その出力値ｔｈｗの最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値より大きければ正常と判定し、所定値以下であれば異常（高温側のハイ・スタック故障）と判定する。
【００１９】
但し、エンジン始動後、車速が３０ｋｍ／ｈ以上の状態とそれより低い状態を少なくとも１回以上経た期間におけるセンサ出力値の変化度合で正常・異常を判定する上記故障診断の処理は、高温側のハイ・スタックの判定にのみ適用するのであり、そのため、エンジン始動時の水温（センサ出力）が所定温度（例えば７０℃）以上の温間始動時に上記処理を実行する。また、この処理は、外気温度が高くて再始動時の水温が１００℃近くに張り付いた状態では誤判定が生じるため、始動時の外気温度が所定温度（例えば３５℃）より高い時には実行しないようにする。一方、エンジン始動時の水温が上記所定値より低い冷間始動時には、単にエンジン始動から所定時間が経過するのを待って、それまでの期間における水温センサ１７の出力値の変化度合（最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差）が所定値より大きいかどうかによって正常・異常（高温側のハイ・スタック故障）を判定する。
【００２０】
上記故障診断処理の具体的手順は図４及び図５のフローチャートに示すとおりで、始動後スタートし、ステップＳ１０１で各種情報を入力する。そして、ステップＳ１０２で、現在の水温（センサ出力値）ｔｈｗがそれまでの最大値ｔｈｗｍａｘより高いかどうかを見て、現在値ｔｈｗが最大値ｔｈｗｍａｘより高いときはステップＳ１０３で最大値ｔｈｗｍａｘを更新して次のステップＳ１０４に進み、現在値ｔｈｗが最大値ｔｈｗｍａｘ以下のときはステップＳ１０３をスキップしてステップＳ１０４へ進む。そして、スキップＳ１０４で現在の水温（センサ出力値）ｔｈｗがそれまでの最小値ｔｈｗｍｉｎより低いかどうかを見て、現在値ｔｈｗが最小値ｔｈｗｍｉｎより低いときはステップＳ１０５で最小値ｔｈｗｍｉｎを更新して次のステップＳ１０６に進み、現在値ｔｈｗが最小値ｔｈｗｍｉｎ以上のときはステップＳ１０５をスキップしてステップＳ１０６へ進む。
【００２１】
ステップＳ１０６では始動時水温（センサ出力値）ｔｈｓが所定温度ｔｈｓｏ（例えば７０℃）以下かどうかを見る。そして、始動時水温ｔｈｓが所定温度ｔｈｓｏより低いときは（冷間始動時）、Ｓ１０７へ進んでタイマー値Ｔを加算し、次いでステップＳ１０８でタイマー値Ｔが所定値Ｔｏ（例えば３００ｓｅｃ）に達したかどうかを見て、所定時間Ｔｏに達していなければステップＳ１０１へ戻ってステップＳ１０１〜１０８を繰り返し、所定値Ｔｏに達したところでステップＳ１０９へ進む。そして、ステップＳ１０９でセンサ出力値の最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値Ｋ1（例えば２℃）より大きいかどうかを見て、最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値Ｋ1より大きいときは、ステップＳ１１０で正常と判定してそれを記憶し、所定値Ｋ1以下のときは、ステップＳ１１１で異常（高温側のハイ・スタック故障）と判定してそれを記憶するとともに、警告灯２２を点灯する。
【００２２】
一方、ステップ１０６で始動時水温ｔｈｓが所定温度ｔｈｓｏ以上のときは（温間始動時）、ステップＳ１１２へ進み、始動時外気温度ｔｈａｓが所定温度ｔｈａｓｏ（例えば、３５℃）以下かどうかを見て、始動時外気温度ｔｈａｓが所定温度ｔｈａｓｏ以下でなければ、そのまま何もせずに処理を終了し、始動時外気温度ｔｈａｓが所定温度ｔｈａｓｏ以下であれば、ステップＳ１１３へ進む。そして、ステップＳ１１３へ進むと、車速Ｖが所定車速Ｖｏ（例えば３０ｋｍ／ｈ）以上かどうかを見て、車速Ｖが所定車速Ｖｏ以上でないときは、ステップＳ１１４でフラグＦを立て（Ｆ＝１）、そのまま後述のステップＳ１１８へ進む。また、ステップＳ１１３で車速Ｖが所定車速Ｖｏ以上のときは、ステップＳ１１５でＦ＝１かどうかを見る。そして、Ｆ＝１であれば、所定車速Ｖｏ以上でない領域から所定車速Ｖｏ以上の領域に今回移行したということで、ステップＳ１１６でカウンタ値Ｃを加算し、次いで、ステップＳ１１７でフラグＦを下げ（Ｆ＝０）、ステップＳ１１８へ進む。また、ステップＳ１１５でＦ＝１でないときは、前回以前から所定車速Ｖｏ以上の領域にあるということで、ステップＳ１１６をスキップし、ステップＳ１１７でフラグＦを下げてステップＳ１１８へ進む。そして、ステップＳ１１８で、カウンタ値Ｃが所定値（例えば１０）に達したかどうかを見て、所定値に達していなければステップＳ１０１へ戻ってステップＳ１０１〜１１８を繰り返す。そして、カウンタ値Ｃが所定値に達すると、ステップＳ１０９でセンサ出力値の最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値Ｋ1（例えば２℃）より大きいかどうかを見て、最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値Ｋ1より大きいときは、ステップＳ１１０で正常と判定してそれを記憶し、所定値Ｋ1以下のときは、ステップＳ１１１で異常（高温側のハイ・スタック故障）と判定してそれを記憶するとともに、警告灯２２を点灯する。
【００２３】
この例は、温間始動時には、車速が３０ｋｍ／ｈ以上の状態と車速が３０ｋｍ／ｈより低い状態を少なくとも１回以上経た時に、それまでの期間における水温センサ１７の出力値の変化度合を見て高温側のハイ・スタック故障を診断し、冷間始動時に始動後所定時間が経過した時にそれまで期間における水温センサ１７の出力値の変化度合を見てやはり高温側のハイ・スタック故障を診断するのであって、通常の走行モードにおいてはこれで始動時水温の高低に関係なく高温側のハイ・スタック故障を確実に診断できるものである。しかし、運転の仕方によっては、車速が３０ｋｍ／ｈ前後で頻繁に上下するようなことも考えられる。そして、そういった車速変動時には水温変化が伴わないため、車速が３０ｋｍ／ｈ以上の時とそうでない時の回数が所定回数に達したというだけの条件設定でスタック判定をするのでは、誤判定の恐れがある。そこで、このような場合にも誤判定を生じないようにするよう、故障診断の処理は次のように変更してもよいものである。
【００２４】
一例として、図４および図５に示すフローチャートのステップＳ１１３〜１１８の部分を図６のように変更する。
【００２５】
この場合、ステップＳ１１２で始動時外気温度ｔｈａｓが所定温度ｔｈａｓｏ（例えば、３５℃）以下のときに、ステップＳ２１３へ進み、車速Ｖが第１の所定車速Ｖ1以上（Ｖ1＜Ｖｏ）かどうかを見て、車速Ｖが第１の所定車速Ｖ1以上でないときは、ステップＳ２１４で第２フラグＦ2を下げ、次いでステップＳ２１５で第１フラグＦ1を立て、ステップＳ１０１へ戻る。
【００２６】
また、ステップＳ２１３で車速Ｖが第１の所定車速Ｖ1以上のときは、ステップＳ２１６でＦ1＝０（Ｖ≧Ｖ1となった後、Ｖの微分値が負となったことがない）かどうかを見て、Ｆ1＝０でなければステップＳ２１５へ進み、Ｆ1＝０であればステップＳ２１７でＶの微分値が正かどうかを見る。そして、Ｖの微分値が負のときは、車速が第１の所定車速Ｖ1を越えて例えば３０ｋｍ／ｈあたりで上下しているということで、ステップＳ２１５へ進み、第１フラグＦ1を立てる。
【００２７】
また、ステップＳ２１７でＶの微分値が正というときは、車速が第１の所定車速Ｖ1を越えた後上下することなく上昇しているということで、ステップＳ２１８へ進み、車速Ｖが第２の所定車速Ｖ2以上（Ｖｏ＜Ｖ2）となったかどうかを見る。そして、ステップＳ２１８で車速Ｖが第２の所定車速Ｖ2以上であれば、車速Ｖが第１の所定車速Ｖ1以上となった後、Ｖの微分値が正のままで車速Ｖが第２の所定車速Ｖ2以上となったということで、この場合は、ステップＳ２１９へ進み、そうでないときはステップＳ１０１へ戻る。
【００２８】
ステップＳ２１９ではＦ2＝０かどうかを見る。そして、Ｆ2＝０であれば、車速Ｖが第１の所定車速Ｖ1以上となり、Ｖの微分値が正のままで車速Ｖが今回第２の所定車速Ｖ2以上となったということで、ステップＳ２２０でカウンタ値Ｃを加算し、次いで、ステップＳ２２１で第２フラグＦ2を下げ（Ｆ2＝０）、ステップＳ２２２へ進む。また、ステップＳ２１９でＦ2＝０でないというときは、前回以前に第２の所定車速Ｖ2以上となったということで、ステップＳ２２０およびステップＳ２２１をスキップし、ステップＳ２２２へ進む。
【００２９】
そして、ステップＳ２２２で、カウンタ値Ｃが所定値（例えば１０）に達したかどうかを見て、所定値に達していなければステップＳ１０１へ戻ってステップＳ１０１〜２２２を繰り返す。そして、カウンタ値Ｃが所定値に達したところで、ステップＳ１０９へ進み、センサ出力値の最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値Ｋ1（例えば２℃）より大きいかどうかを見て、最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値Ｋ1より大きいときは、ステップＳ１１０で正常と判定してそれを記憶し、所定値Ｋ1以下のときは、ステップＳ１１１で異常（高温側のハイ・スタック故障）と判定してそれを記憶するとともに、警告灯２２を点灯する。
【００３０】
また、車速が３０ｋｍ／ｈ以上の状態とそうでない状態という条件設定ではなく、水温変化に結び付くような負荷の変動を車速の変動幅で見るようにすることもできる。そのため、上記故障診断の処理を次のように変更してもよい。
【００３１】
一例として、図４および図５に示すフローチャートのステップＳ１１３〜１１８の部分を図７のように変更する。
【００３２】
この場合、ステップＳ１１２で始動時外気温度ｔｈａｓが所定温度ｔｈａｓｏ（例えば、３５℃）以下のときに、ステップＳ３１３へ進み、現在の車速Ｖがそれまでの最大値Ｖｍａｘより高いかどうかを見て、現在値Ｖが最大値Ｖｍａｘより高いときはステップＳ３１４で最大値Ｖｍａｘを更新して次のステップＳ３１５へ進み、現在値Ｖが最大値Ｖｍａｘ以下のときはステップＳ３１４をスキップしてステップＳ３１５へ進む。そして、スキップＳ３１５で現在の車速Ｖがそれまでの最小値Ｖｍｉｎより低いかどうかを見て、現在値Ｖが最小値Ｖｍｉｎより低いときはステップＳ３１６で最小値Ｖｍｉｎを更新して次のステップＳ３１７へ進み、現在値Ｖが最小値Ｖｍｉｎ以上のときはステップＳ３１６をスキップしてステップＳ３１７へ進む。
【００３３】
次に、ステップＳ３１７で車速の最大値Ｖｍａｘと最小値Ｖｍｉｎとの差の微分値が０（ゼロ）になったかどうかを見る。そして、車速の最大値Ｖｍａｘと最小値Ｖｍｉｎとの差の微分値が０でなければステップＳ３１８でフラグＦ1を下げ、次いで、ステップＳ３１９でＶｍａｘ及びＶｍｉｎを０（ゼロ）に戻し、ステップＳ１０１へ戻る。
【００３４】
そして、ステップＳ３１７で車速の最大値Ｖｍａｘと最小値Ｖｍｉｎとの差の微分値が０（ゼロ）になったら、ステップＳ３２０でＶｍａｘとＶｍｉｎの差が所定値ΔＶｏ以上かどうかを見る。そして、ＶｍａｘとＶｍｉｎの差がΔＶｏより小さいければ、ステップＳ１０１へ戻り、ＶｍａｘとＶｍｉｎの差がΔＶｏ以上であれば、ステップＳ３２１へ進む。
【００３５】
そして、ステップＳ３２１へ進むと、Ｆ1＝０かどうかを見て、Ｆ1＝０であれば、今回車速の変動幅が所定値以上となったということで、ステップＳ３２２でカウンタ値Ｃを加算し、次いで、ステップＳ３２３でフラグＦ1を立て（Ｆ1＝１）、ステップＳ３２４へ進む。また、ステップＳ３２１でＦ1＝０でないというときは、前回以前に車速の変動幅が所定値以上となったということで、ステップＳ３２２をスキップしてステップＳ３２３へ進む。
【００３６】
そして、ステップＳ３２４で、カウンタ値Ｃが所定値（例えば１０）に達したかどうかを見て、所定値に達していなければステップＳ１０１へ戻ってステップＳ１０１〜３２４を繰り返す。そして、カウンタ値Ｃが所定値に達すると、ステップＳ１０９へ進み、センサ出力値の最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値Ｋ1（例えば２℃）より大きいかどうかを見て、最大値ｔｈｗｍａｘと最小値ｔｈｗｍｉｎとの差が所定値Ｋ1より大きいときは、ステップＳ１１０で正常と判定してそれを記憶し、所定値Ｋ1以下のときは、ステップＳ１１１で異常（高温側のハイ・スタック故障）と判定してそれを記憶するとともに、警告灯２２を点灯する。
【００３７】
なお、上記各例では故障判定の条件設定を車速によって行っているが、車速に代えて吸気充填量その他のパラメータにより同様の条件設定を行うようにすることもできる。
【００３８】
【発明の効果】
本発明によれば、水温センサ等のエンジン温度センサのスタック故障、特に高温側のハイ・スタック故障を確実に検出することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るエンジンの全体構造図である。
【図２】エンジンの冷却系の構成を示す模式図である。
【図３】水温センサの故障診断の処理のタイムチャートである。
【図４】実施の形態の一例に係る水温センサの故障診断の処理を実行するフローチャート（その１）である。
【図５】同水温センサの故障診断の処理を実行するフローチャート（その２）である。
【図６】他の例に係る水温センサの故障診断の処理を実行するフローチャートの一部である。
【図７】更に他の例に係る水温センサの故障診断の処理を実行するフローチャートの一部である。
【符号の説明】
１  エンジン本体
１７  水温センサ
２１  ＥＣＵ（エンジンコントロールユニット）
２２  警告灯
２３  車速センサ
【図１】
0004022992.tif 000002
【図２】
0004022992.tif 000003
【図３】
0004022992.tif 000004
【図４】
0004022992.tif 000005
【図５】
0004022992.tif 000006
【図６】
0004022992.tif 000007
【図７】
0004022992.tif 000008