(57)【要約】【課題】スロットル制御システムのフェールセーフ装置において、異常の誤検出によるフェールセーフの弊害を改善する。【解決手段】エンジンの発生トルクが要求トルクよりも異常判定値以上過大になる異常を検出すると、フェールセーフモードに移行する。このフェールセーフモード中に、ＣＰＵ１で演算したエンジン制御用目標スロットル開度と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度とを比較して、両者の差が所定値以上となる状態が所定時間以上継続すれば、本当の異常と判定する。本当の異常と判定した場合には、警告ランプを点灯させたりして運転者に警告すると共に、追加のフェールセーフ（例えばスロットルモータ１５の通電カット、燃料カット等）を実行してエンジンの発生トルクを減少させる。【選択図】図２
2010127162.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関のスロットル開度を目標スロットル開度に一致させるように制御するスロットル制御システムのフェールセーフ装置において、
前記スロットル制御システムと内燃機関の出力制御系の少なくとも一方の異常診断を実行する異常診断手段と、
前記異常診断手段により異常が検出されたときに前記内燃機関のスロットル開度をフェールセーフ用目標スロットル開度に調整するフェールセーフモードに移行するフェールセーフ手段と、
前記フェールセーフモード中に前記異常診断手段の異常診断結果が誤検出によるものか否かを監視するフェールセーフ監視手段と
を備えていることを特徴とするスロットル制御システムのフェールセーフ装置。
【請求項２】
前記フェールセーフ監視手段は、前記異常診断手段の異常診断結果が誤検出によるものと判断したときに前記スロットル制御システムの制御モードを前記フェールセーフモードから正常時の制御モードに復帰させることを特徴とする請求項１に記載のスロットル制御システムのフェールセーフ装置。
【請求項３】
前記フェールセーフ監視手段は、前記異常診断手段の異常診断結果が誤検出ではなく本当に異常であると判断したときに警告手段を作動させて運転者に警告することを特徴とする請求項１又は２に記載のスロットル制御システムのフェールセーフ装置。
【請求項４】
前記フェールセーフ監視手段は、前記異常診断手段の異常診断結果が誤検出ではなく本当に異常であると判断したときに前記内燃機関の出力を抑制するための追加のフェールセーフ処置を実行することを特徴とする請求項１乃至３のいずれかに記載のスロットル制御システムのフェールセーフ装置。
【請求項５】
前記正常時の制御モードで使用する前記目標スロットル開度を演算する第１のＣＰＵと、前記第１のＣＰＵの入力とほぼ同一の入力又はそれよりも簡素化された入力に基づいて前記フェールセーフ用目標スロットル開度を演算する第２のＣＰＵとを備え、
前記フェールセーフ監視手段は、前記フェールセーフモード中に前記目標スロットル開度と前記フェールセーフ用目標スロットル開度との差に基づいて前記異常診断手段の異常診断結果が誤検出によるものか否かを監視することを特徴とする請求項１乃至４のいずれかに記載のスロットル制御システムのフェールセーフ装置。
【請求項６】
前記フェールセーフ手段は、前記フェールセーフモード中に前記第１のＣＰＵで演算した前記目標スロットル開度と前記第２のＣＰＵで演算した前記フェールセーフ用目標スロットル開度とを比較して小さい方を最終的なフェールセーフ用目標スロットル開度として選択して前記内燃機関のスロットル開度を前記最終的なフェールセーフ用目標スロットル開度に調整することを特徴とする請求項５に記載のスロットル制御システムのフェールセーフ装置。
【請求項７】
内燃機関のスロットル開度を目標スロットル開度に一致させるように制御するスロットル制御システムのフェールセーフ装置において、
前記スロットル制御システムと内燃機関の出力制御系の少なくとも一方の異常診断を実行する異常診断手段と、
前記異常診断手段により異常が検出されたときに前記内燃機関のスロットル開度をフェールセーフ用目標スロットル開度に調整するフェールセーフモードに移行するフェールセーフ手段と、
前記フェールセーフモード中に前記フェールセーフ手段によるフェールセーフ動作が正しく働いているか否かを監視するフェールセーフ監視手段と
を備えていることを特徴とするスロットル制御システムのフェールセーフ装置。
【請求項８】
前記フェールセーフ監視手段は、前記フェールセーフモード中に前記フェールセーフ手段によるフェールセーフ動作が正しく働いていないと判断したときに前記内燃機関の出力を抑制するための追加のフェールセーフ処置を実行することを特徴とする請求項７に記載のスロットル制御システムのフェールセーフ装置。
【請求項９】
前記目標スロットル開度を演算する第１のＣＰＵと、前記第１のＣＰＵの入力とほぼ同一の入力又はそれよりも簡素化された入力に基づいて前記フェールセーフ用目標スロットル開度を演算する第２のＣＰＵとを備え、
前記フェールセーフ監視手段は、前記フェールセーフモード中に前記目標スロットル開度と前記フェールセーフ用目標スロットル開度との差が所定値以上となる状態の継続時間に基づいて前記フェールセーフ手段によるフェールセーフ動作が正しく働いているか否かを監視することを特徴とする請求項７又は８に記載のスロットル制御システムのフェールセーフ装置。
【請求項１０】
前記フェールセーフ手段は、前記フェールセーフモード中に前記第１のＣＰＵで演算した前記目標スロットル開度と前記第２のＣＰＵで演算した前記フェールセーフ用目標スロットル開度とを比較して小さい方を最終的なフェールセーフ用目標スロットル開度として選択して前記内燃機関のスロットル開度を前記最終的なフェールセーフ用目標スロットル開度に調整することを特徴とする請求項９に記載のスロットル制御システムのフェールセーフ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スロットル制御システム等の異常が検出されたときに内燃機関のスロットル開度をフェールセーフ用のスロットル開度に調整するスロットル制御システムのフェールセーフ装置に関する発明である。
【背景技術】
【０００２】
自動車に搭載されているスロットル制御システムでは、アクセルペダルの踏込量（アクセル操作量）をアクセルセンサにより検出し、その検出値に応じて目標スロットル開度を設定し、スロットルセンサにより検出したスロットル開度を目標スロットル開度に一致させるように、スロットルバルブを駆動するモータをフィードバック制御するようにしたものがある。
【０００３】
このスロットル制御システムでは、フェールセーフのために、特許文献１（特開平４−３５０３３２号公報）に記載されているように、スロットルセンサの異常を検出した時に、モータとスロットルバルブとの間をつなぐ電磁クラッチをＯＦＦしてスロットル制御を停止し、以後は、アクセルペダルの踏込み操作に機械的に連動してスロットル開度を調整する退避走行に移行し、異常を警告表示するようにしたものがある。
【０００４】
また、車両の暴走を防ぐため、エンジンの発生トルクを監視して、エンジンの発生トルクが要求トルクを越えて許容値以上過大になったときに、異常と判断して、発生トルクを減少させるフェールセーフ処置（例えばスロットルモータの通電カット、燃料カット等）を実行するようにしたものがある。このフェールセーフ実行中は、エンジンの発生トルクが抑えられて車両の走行性能が著しく制限されるため、警告ランプ等を点灯して、運転者に車両をディーラー等の整備工場へ持ち込むように警告するようにしている。
【特許文献１】特開平４−３５０３３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、フェールセーフ状態は、発生しないことが望ましいが、各種の不確かな外乱の影響により、異常の誤検出によるフェールセーフの可能性も低くない。そのため、フェールセーフに移行する場合でも、なるべく車両の走行性能を落とさずに済ませたいという要求がある。
【０００６】
本発明は、このような事情を考慮してなされたものであり、本発明の目的は、異常の誤検出によるフェールセーフの弊害を改善できるスロットル制御システムのフェールセーフ装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、請求項１に係る発明は、内燃機関のスロットル開度を目標スロットル開度に一致させるように制御するスロットル制御システムのフェールセーフ装置において、前記スロットル制御システムと内燃機関の出力制御系の少なくとも一方の異常診断を実行する異常診断手段と、前記異常診断手段により異常が検出されたときに前記内燃機関のスロットル開度をフェールセーフ用目標スロットル開度に調整するフェールセーフモードに移行するフェールセーフ手段と、前記フェールセーフモード中に前記異常診断手段の異常診断結果が誤検出によるものか否かを監視するフェールセーフ監視手段とを備えた構成としたものである。
【０００８】
この構成によれば、異常診断手段により異常が検出されたときにフェールセーフモードに移行すると、フェールセーフ監視手段によって異常診断手段の異常診断結果が誤検出によるものか否かを監視するため、異常の誤検出によるフェールセーフを、誤検出とは知らずに続けることを防止するように処置することが可能となる。
【０００９】
具体的には、請求項２のように、フェールセーフ監視手段により、異常診断手段の異常診断結果が誤検出によるものと判断されたときに、スロットル制御システムの制御モードをフェールセーフモードから正常時（通常）の制御モードに復帰させるようにすると良い。このようにすれば、フェールセーフモードに移行した後でも、異常診断手段の診断対象が正常に動作していることが確認されれば、直ちに正常時（通常）の制御モードに復帰させることができる。
【００１０】
また、請求項３のように、フェールセーフ監視手段により、異常診断手段の異常診断結果が誤検出ではなく本当に異常であると判断されたときに、警告手段を作動させて運転者に警告するようにすると良い。このようにすれば、フェールセーフモードに移行しても、本当に異常であることが確認されるまで、警告手段を作動させずに済むため、異常の誤検出によりフェールセーフモードに移行した場合に、フェールセーフモードに移行したことを運転者に気付かせずに済み、運転者に無用な心配をかけずに済む。
【００１１】
また、請求項４のように、フェールセーフ監視手段により、異常診断手段の異常診断結果が誤検出ではなく本当に異常であると判断したときに内燃機関の出力を抑制するための追加のフェールセーフ処置を実行するようにすると良い。このようにすれば、フェールセーフモードに移行しても、本当に異常であることが確認されるまで、車両の走行性能を損なわないようにスロットル制御システムを制御することが可能となり、かつ、本当に異常であることが確認されれば、直ちに追加のフェールセーフ処置を実行して内燃機関の出力を確実に抑制することが可能となる。
【００１２】
更に、請求項５のように、正常時（通常）の制御モードで使用する目標スロットル開度を演算する第１のＣＰＵと、前記第１のＣＰＵの入力とほぼ同一の入力又はそれよりも簡素化された入力に基づいてフェールセーフ用目標スロットル開度を演算する第２のＣＰＵとを備え、フェールセーフ監視手段によって、フェールセーフモード中に前記目標スロットル開度と前記フェールセーフ用目標スロットル開度との差に基づいて異常診断手段の異常診断結果が誤検出によるものか否かを監視するようにしても良い。このように、第１のＣＰＵの入力とほぼ同一の入力又はそれよりも簡素化された入力に基づいて、第２のＣＰＵによってフェールセーフ用目標スロットル開度を演算するようにすれば、システムが正常に機能している場合は、第１のＣＰＵで演算する目標スロットル開度と第２のＣＰＵで演算するフェールセーフ用目標スロットル開度とがほぼ一致するため、フェールセーフモード中の車両の走行性能を落とさずに済ませることができると共に、フェールセーフモード中に目標スロットル開度とフェールセーフ用目標スロットル開度との差が小さい状態がある程度続けば、異常診断手段の異常診断結果が誤検出によるものと判断することができる。
【００１３】
この場合、請求項６のように、フェールセーフモード中に第１のＣＰＵで演算した目標スロットル開度と第２のＣＰＵで演算したフェールセーフ用目標スロットル開度とを比較して小さい方を最終的なフェールセーフ用目標スロットル開度として選択して内燃機関のスロットル開度を前記最終的なフェールセーフ用目標スロットル開度に調整するようにすると良い。このようにすれば、万一、フェールセーフ用目標スロットル開度を演算する第２のＣＰＵが誤動作又は故障しても、フェールセーフ性を確保することができる。
【００１４】
以上説明した請求項１〜６に係る発明は、異常診断手段の異常診断の信頼性そのものを補足する技術思想を具体化したものであるが、異常診断手段の異常診断の信頼性が高いシステムに対しては、異常診断手段の異常診断結果が信頼できるものとみなして、フェールセーフ機能を補足するようにしても良い。
【００１５】
このフェールセーフ機能を補足する手段として、請求項７のように、フェールセーフモード中にフェールセーフ手段によるフェールセーフ動作が正しく働いているか否かを監視するフェールセーフ監視手段を設けた構成としても良い。異常診断手段の異常診断の信頼性が高いシステムでは、フェールセーフモード中にフェールセーフ動作が正しく働いているか否かを監視するだけでも、フェールセーフ動作の信頼性を向上できる。
【００１６】
この場合、請求項８のように、フェールセーフモード中にフェールセーフ手段によるフェールセーフ動作が正しく働いていないと判断したときに、内燃機関の出力を抑制するための追加のフェールセーフ処置を実行するようにすると良い。このようにすれば、フェールセーフモード中にフェールセーフ動作が正しく働いていないことが確認されれば、直ちに追加のフェールセーフ処置を実行して内燃機関の出力を確実に抑制することができる。      
【００１７】
更に、請求項９のように、目標スロットル開度を演算する第１のＣＰＵと、前記第１のＣＰＵの入力とほぼ同一の入力又はそれよりも簡素化された入力に基づいてフェールセーフ用目標スロットル開度を演算する第２のＣＰＵとを備え、フェールセーフ監視手段によってフェールセーフモード中に目標スロットル開度とフェールセーフ用目標スロットル開度との差が所定値以上となる状態の継続時間に基づいてフェールセーフ手段によるフェールセーフ動作が正しく働いているか否かを監視するようにすると良い。フェールセーフモード中にフェールセーフ動作が正しく働いていれば、第２のＣＰＵで演算するフェールセーフ用目標スロットル開度が第１のＣＰＵで演算する異常な目標スロットル開度と異なるため、フェールセーフモード中に目標スロットル開度とフェールセーフ用目標スロットル開度との差が所定値以上となる状態（差が大きい状態）がある程度続けば、フェールセーフ動作が正しく働いていると判断することができる。
【００１８】
この場合も、請求項１０のように、フェールセーフモード中に第１のＣＰＵで演算した目標スロットル開度と第２のＣＰＵで演算したフェールセーフ用目標スロットル開度とを比較して小さい方を最終的なフェールセーフ用目標スロットル開度として選択して内燃機関のスロットル開度を前記最終的なフェールセーフ用目標スロットル開度に調整するようにすると良い。このようにすれば、万一、フェールセーフ用目標スロットル開度を演算する第２のＣＰＵが誤動作又は故障しても、フェールセーフ性を確保することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を実施するための最良の形態を具体化した２つの実施例１，２を説明する。
【実施例１】
【００２０】
本発明の実施例１を図１乃至図４に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側には、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、スロットルモータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各点火プラグ２２の火花放電によって筒内の混合気に着火される。
【００２１】
一方、エンジン１１の排気管２３には、排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられ、この排出ガスセンサ２４の下流側に、排出ガスを浄化する三元触媒等の触媒２５が設けられている。
【００２２】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６が取り付けられている。エンジン１１のクランク軸２７には、外周部に所定クランク角ピッチで歯が形成されたシグナルロータ２９が嵌着され、このシグナルロータ２９の外周部に対向してクランク角センサ２８が取り付けられ、シグナルロータ２９の歯がクランク角センサ２８に対向する毎（クランク軸２７が所定クランク角回転する毎）にクランク角センサ２８からクランクパルス信号が出力される。このクランク角センサ２８の出力パルスの周期（パルス出力周波数）からエンジン回転速度が検出される。また、図示はしないが、エンジン１１のカム軸の回転に同期して所定のカム角でカムパルス信号を出力するカム角センサが設置されている。
【００２３】
上述した各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）３０に入力される。このＥＣＵ３０は、マイクロコンピュータを主体として構成され、各種センサで検出したエンジン運転状態に応じて、燃料噴射弁２１の燃料噴射量や噴射時期、点火プラグ２２の点火時期を制御する。
【００２４】
次に、図２に基づいてＥＣＵ３０に搭載されたフェールセーフ機能を説明する。
ＥＣＵ３０には、トルク監視部３１、フェールセーフ部３２、フェールセーフ監視部３３、警告表示制御部３４、燃料噴射制御部３５、点火制御部３６、スロットル制御部３７等の各機能が搭載されている。
【００２５】
ここで、トルク監視部３１（異常診断手段）は、アクセル踏込み量等に応じて演算された要求トルクと、エンジン１１の発生トルクを監視して、エンジン１１の発生トルクが要求トルクよりも異常判定値以上過大になったときに、異常と診断して、その診断結果をフェールセーフ部３２に送信する。
【００２６】
フェールセーフ部３２は、トルク監視部３１から異常の診断結果を受信すると共に、フェールセーフ監視部３３から後述する本異常信号を受信したときに、エンジン１１の発生トルクを減少させる追加のフェールセーフ処置（例えばスロットルモータ１５の通電カット、燃料カット等）を実行する。
【００２７】
警告表示制御部３４（警告手段）は、フェールセーフ部３２が追加のフェールセーフ処置を実行するときに、警告ランプを点灯（又は点滅）させたり、運転席のインストルメントパネルの警告表示部（図示せず）に警告表示して運転者に警告する。燃料噴射制御部３５は、要求燃料噴射量に応じて各気筒の燃料噴射弁２１の噴射量（噴射パルス幅）を制御したり、燃料噴射時期を制御する。点火制御部３６は、エンジン１１の運転状態等に応じて設定された要求点火時期に基づいて点火プラグ２２の点火時期を制御する。
【００２８】
スロットル制御部３７（フェールセーフ手段）は、通常（正常時）の制御モードで使用するエンジン制御用目標スロットル開度を演算する第１のＣＰＵ（以下「ＣＰＵ１」という）と、このＣＰＵ１の入力とほぼ同一の入力又はそれよりも簡素化された入力に基づいてフェールセーフ用目標スロットル開度を演算する第２のＣＰＵ（以下「ＣＰＵ２」という）とを備えた構成となっている。更に、ＣＰＵ２は、目標スロットル開度選択部３８としても機能し、フェールセーフモード中に、上記エンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度とを比較して小さい方を最終目標スロットル開度として選択して、その最終目標スロットル開度の信号をスロットル駆動回路３９に出力し、このスロットル駆動回路３９によってスロットルモータ１５を駆動して、スロットルバルブ１６の開度（スロットル開度）を最終目標スロットル開度に一致させる。通常（正常時）の制御モードでも、フェールセーフモードと同様に、エンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度とを比較して小さい方を最終目標スロットル開度として選択するようにしても良い。目標スロットル開度選択部３８としての機能は、ＣＰＵ１に持たせるようにしても良い。
【００２９】
一方、フェールセーフ監視部３３（フェールセーフ監視手段）は、フェールセーフモード中に、ＣＰＵ１で演算したエンジン制御用目標スロットル開度と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度とを比較して、両者の差に基づいて、異常診断結果が誤検出によるものか、本当に異常であるかを監視する。具体的には、フェールセーフモード中に、エンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度とを比較して、両者の差が所定値Ａth（例えば３０°）以上となる状態が所定時間Ｃth（例えば１秒）以上継続すれば、本当の異常と判定する。
【００３０】
フェールセーフ監視部３３は、本当の異常と判断した場合には、本異常信号を警告表示制御部３４とフェールセーフ部３２に出力して、警告ランプを点灯（又は点滅）させたり、運転席のインストルメントパネルの警告表示部（図示せず）に警告表示して運転者に警告すると共に、追加のフェールセーフ処置（例えばスロットルモータ１５の通電カット、燃料カット等）を実行してエンジン１１の発生トルクを減少させる。
【００３１】
また、フェールセーフ監視部３３は、フェールセーフモード中に、エンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度との差が小さい状態がある程度続いた場合（例えば、フェールセーフモード移行から所定時間が経過するまでに本当の異常と判断されなかった場合、又は、エンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度との差が所定値以下となる状態が所定時間以上継続した場合）には、異常診断結果が誤検出によるものと判断して、スロットル制御システムの制御モードをフェールセーフモードから通常（正常時）の制御モードに復帰させる。
【００３２】
以上説明した本実施例１のスロットル制御システムのフェールセーフ動作は、エンジン運転中に図３のプログラムに従って次のように実行される。本プログラムが起動されると、まず、ステップ１０１で、エンジン１１の発生トルクと要求トルクとの差が異常判定値よりも大きいか否かで、エンジン１１の発生トルクが過大になる異常（例えば目標スロットル開度の固着等）が発生したか否かを判定する。その結果、エンジン１１の発生トルクと要求トルクとの差が異常判定値以下と判定されれば、異常が発生していないと判断して、ステップ１０２に進み、スロットル制御システムの制御モードを通常（正常時）の制御モードに維持する。
【００３３】
これに対して、上記ステップ１０１で、エンジン１１の発生トルクと要求トルクとの差が異常判定値よりも大きいと判定されれば、異常が発生していると判断して、ステップ１０３に進み、スロットル制御システムの制御モードをフェールセーフモードに切り替える。このフェールセーフモード中は、ＣＰＵ１で演算したエンジン制御用目標スロットル開度Ａe と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度Ａf とを比較して、小さい方を最終目標スロットル開度として選択して、その最終目標スロットル開度の信号をスロットル駆動回路３９に出力して、スロットル開度を最終目標スロットル開度に一致させる。このフェールセーフモード中でも、後述するように、本当の異常と判定されるまでは、警告ランプ等による警告表示は行われない。
【００３４】
この後、ステップ１０４に進み、ＣＰＵ１で演算したエンジン制御用目標スロットル開度Ａe と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度Ａf との差（Ａe −Ａf ）が所定値Ａth（例えば３０°）よりも大きいか否かを判定し、差（Ａe −Ａf ）が所定値Ａthよりも大きければ、ステップ１０５に進み、誤検出判断用の時間カウンタＣnt（アップダウンカウンタ）をカウントアップし、差（Ａe −Ａf ）が所定値Ａth以下であれば、ステップ１０６に進み、誤検出判断用の時間カウンタＣntをカウントダウンする。      
【００３５】
この後、ステップ１０７に進み、誤検出判断用の時間カウンタＣntのカウント値［差（Ａe −Ａf ）が所定値Ａth以上となる状態の継続時間］が所定値Ｃthを越えたか否かを判定し、誤検出判断用の時間カウンタＣntのカウント値が所定値Ｃthを越えていれば、ステップ１０８に進み、本当の異常と判定し、次のステップ１０９で、警告ランプを点灯（又は点滅）させたり、運転席のインストルメントパネルの警告表示部（図示せず）に警告表示して運転者に警告すると共に、ステップ１１０で、追加のフェールセーフ（例えばスロットルモータ１５の通電カット、燃料カット等）を実行して、エンジン１１の発生トルクを減少させる。
【００３６】
これに対して、上記ステップ１０７で、誤検出判断用の時間カウンタＣntのカウント値が所定値Ｃth以下と判定されれば、ステップ１１１に進み、フェールセーフモード移行後の経過時間が所定時間を越えたか否かを判定し、所定時間を越えていなければ、上述したステップ１０４以降の処理を繰り返す。
【００３７】
その後、誤検出判断用の時間カウンタＣntのカウント値が所定値Ｃth以下の状態が続いて、フェールセーフモード移行後の経過時間が所定時間を越えた時点で、ステップ１１１からステップ１１２に進み、誤検出と判定して、前記ステップ１０１の処理に戻る。この場合は、エンジン１１の発生トルクと要求トルクとの差が異常判定値以下であれば、異常が発生していないため、スロットル制御システムの制御モードをフェールセーフモードから通常（正常時）の制御モードに復帰させる（ステップ１０２）。
【００３８】
尚、上記ステップ１１１において、フェールセーフモード中に、エンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度との差が所定値以下となる状態（差が小さい状態）が所定時間以上継続した場合に、誤検出と判定して、スロットル制御システムの制御モードをフェールセーフモードから通常（正常時）の制御モードに復帰させるようにしても良い。
【００３９】
次に、本実施例１のスロットル制御システムのフェールセーフ動作の一例を図４のタイムチャートを用いて説明する。
図４の例では、時刻ｔ1 で、エンジン１１の発生トルクが過大になる異常が発生すると、フェールセーフモードに移行する。この後、ＣＰＵ１で演算したエンジン制御用目標スロットル開度Ａe と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度Ａf との差（Ａe −Ａf ）が所定値Ａthよりも大きくなっている期間に、誤検出判断用の時間カウンタＣntがカウントアップ動作する。その後、差（Ａe −Ａf ）が所定値Ａthよりも大きい状態が続いて、誤検出判断用の時間カウンタＣntのカウント値が所定値Ｃthを越えた時点ｔ2 で、本当の異常と判定して誤検出判断フラグを「１」にセットして、警告ランプを点灯（又は点滅）させたりして運転者に警告すると共に、追加のフェールセーフを実行してエンジン１１の発生トルクを減少させる。
【００４０】
以上説明した本実施例１では、エンジン１１の発生トルクが過大になる異常が検出されたときにフェールセーフモードに移行して、フェールセーフ監視部３３によって異常診断結果が誤検出によるものか否かを監視するため、異常の誤検出によるフェールセーフを、誤検出とは知らずに続けることを防止することができる。
【００４１】
しかも、フェールセーフ監視部３３により、異常診断結果が誤検出ではなく本当に異常であると判断されたときに、警告手段を作動させて運転者に警告するようにしたので、フェールセーフモードに移行しても、本当に異常であることが確認されるまで、警告手段を作動させずに済み、異常の誤検出によりフェールセーフモードに移行した場合に、フェールセーフモードに移行したことを運転者に気付かせずに済み、運転者に無用な心配をかけずに済む。
【００４２】
更に、フェールセーフ監視部３３により、フェールセーフモード中に異常診断結果が誤検出ではなく本当に異常であると判断したときに、追加のフェールセーフ処置を実行するようにしたので、フェールセーフモードに移行しても、本当に異常であることが確認されるまで、車両の走行性能を損なわないようにスロットル制御システムを制御することが可能となり、かつ、本当に異常であることが確認されれば、直ちに追加のフェールセーフ処置を実行してエンジン１１の出力を確実に抑制することが可能となる。
【００４３】
また、本実施例１では、通常（正常時）の制御モードで使用するエンジン制御用目標スロットル開度を演算するＣＰＵ１と、このＣＰＵ１の入力とほぼ同一の入力又はそれよりも簡素化された入力に基づいてフェールセーフ用目標スロットル開度を演算するＣＰＵ２とを備えた構成としたので、システムが正常に機能している場合は、ＣＰＵ１で演算するエンジン制御用目標スロットル開度とＣＰＵ２で演算するフェールセーフ用目標スロットル開度とがほぼ一致するようになり、フェールセーフモード中の車両の走行性能を落とさずに済ませることができると共に、フェールセーフモード中にエンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度との差が小さい状態がある程度続けば、異常診断結果が誤検出によるものと判断することができる。
【００４４】
この場合、フェールセーフモード中にＣＰＵ１で演算したエンジン制御用目標スロットル開度と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度とを比較して小さい方を最終的なフェールセーフ用目標スロットル開度として選択して内燃機関のスロットル開度を前記最終的なフェールセーフ用目標スロットル開度に調整するようにしたので、万一、フェールセーフ用目標スロットル開度を演算するＣＰＵ２が誤動作又は故障しても、フェールセーフ性を確保することができる。
【実施例２】
【００４５】
上記実施例１は、異常診断の信頼性そのものを補足する技術思想を具体化したものであるが、異常診断の信頼性が高いシステムに対しては、異常診断結果が信頼できるものとみなして、フェールセーフ機能を補足するようにしても良い。以下、これを具体化した本発明の実施例２を図５及び図６を用いて説明する。但し、上記実施例１と同一部分については説明を省略又は簡略化し、主として異なる部分についてのみ説明する。
【００４６】
本実施例２では、フェールセーフ機能を補足する手段として、フェールセーフモード中にフェールセーフ動作が正しく働いているか否かを監視するフェールセーフ監視部３３（フェールセーフ監視手段）をＥＣＵ３０に設けた構成としている。その他、上記実施例１と同様に、ＥＣＵ３０には、トルク監視部３１、フェールセーフ部３２、警告表示制御部３４、燃料噴射制御部３５、点火制御部３６、スロットル制御部３７等の各機能が搭載されている。
【００４７】
本実施例２では、フェールセーフ監視部３３は、フェールセーフモード中にフェールセーフ動作が正しく働いていないと判断したときに、追加のフェールセーフ処置（例えばスロットルモータ１５の通電カット、燃料カット等）を実行して、エンジン１１の発生トルクを減少させる。
【００４８】
更に、通常（正常時）の制御モードで使用するエンジン制御用目標スロットル開度を演算するＣＰＵ１と、このＣＰＵ１の入力とほぼ同一の入力又はそれよりも簡素化された入力に基づいてフェールセーフ用目標スロットル開度を演算するＣＰＵ２とを備え、フェールセーフ監視部３３によってフェールセーフモード中にエンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度との差が所定値以上となる状態の継続時間に基づいてフェールセーフ動作が正しく働いているか否かを監視するようにしている。
【００４９】
フェールセーフモード中にフェールセーフ動作が正しく働いていれば、ＣＰＵ２で演算するフェールセーフ用目標スロットル開度がＣＰＵ１で演算する異常なエンジン制御用目標スロットル開度と異なるため、フェールセーフモード中にエンジン制御用目標スロットル開度とフェールセーフ用目標スロットル開度との差が所定値以上となる状態（差が大きい状態）がある程度続けば、フェールセーフ動作が正しく働いていると判断することができる。
【００５０】
この場合も、フェールセーフモード中にＣＰＵ１で演算した目標スロットル開度とＣＰＵ２で演算したフェールセーフ用目標スロットル開度とを比較して小さい方を最終目標スロットル開度として選択してスロットル開度を最終目標スロットル開度に調整するようにしている。
【００５１】
本実施例２のスロットル制御システムのフェールセーフ動作は、エンジン運転中に図５のプログラムに従って次のように実行される。本プログラムが起動されると、まず、ステップ２０１で、エンジン１１の発生トルクと要求トルクとの差が異常判定値よりも大きいか否かで、エンジン１１の発生トルクが過大になる異常（例えば目標スロットル開度の固着等）が発生したか否かを判定する。その結果、エンジン１１の発生トルクと要求トルクとの差が異常判定値以下であれば、異常が発生していないと判断して、ステップ２０２に進み、スロットル制御システムの制御モードを通常（正常時）の制御モードに維持する。      
【００５２】
これに対して、上記ステップ２０１で、エンジン１１の発生トルクと要求トルクとの差が異常判定値よりも大きいと判定されれば、異常が発生していると判断して、ステップ２０３に進み、スロットル制御システムの制御モードをフェールセーフモードに切り替える。フェールセーフモード中は、ＣＰＵ１で演算したエンジン制御用目標スロットル開度Ａe と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度Ａf とを比較して、小さい方を最終目標スロットル開度として選択する。
【００５３】
この後、ステップ２０４に進み、ＣＰＵ１で演算したエンジン制御用目標スロットル開度Ａe と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度Ａf との差（Ａe −Ａf ）が所定値Ｅth以下であるか否かを判定し、差（Ａe −Ａf ）が所定値Ｅth以下であれば、ステップ２０５に進み、フェールセーフ確認用の時間カウンタＣnt（アップダウンカウンタ）をカウントアップし、差（Ａe −Ａf ）が所定値Ｅthよりも大きければ、ステップ２０６に進み、フェールセーフ確認用の時間カウンタＣntをカウントダウンする。
【００５４】
この後、ステップ２０７に進み、フェールセーフ確認用の時間カウンタＣntのカウント値［差（Ａe −Ａf ）が所定値Ｅth以下となる状態の継続時間］が所定値Ｆthを越えたか否かを判定し、フェールセーフ確認用の時間カウンタＣntのカウント値が所定値Ｆthを越えていれば、ステップ２０８に進み、フェールセーフ動作が異常であると判定してフェールセーフ異常フラグを「１」にセットし、次のステップ２０９で、警告ランプを点灯（又は点滅）させたり、運転席のインストルメントパネルの警告表示部（図示せず）に警告表示して運転者に警告すると共に、ステップ２１０で、追加のフェールセーフ（例えばスロットルモータ１５の通電カット、燃料カット等）を実行して、エンジン１１の発生トルクを減少させる。
【００５５】
これに対して、上記ステップ２０７で、フェールセーフ確認用の時間カウンタＣntのカウント値が所定値Ｆth以下と判定されれば、ステップ２１１に進み、フェールセーフ動作が正常であると判定してフェールセーフ異常フラグを「０」にリセットし、上述したステップ２０４以降の処理を繰り返す。
【００５６】
次に、本実施例２のスロットル制御システムのフェールセーフ動作の一例を図６のタイムチャートを用いて説明する。
図６の例では、時刻ｔ1 で、エンジン１１の発生トルクが過大になる異常が発生すると、フェールセーフモードに移行する。この後、ＣＰＵ１で演算したエンジン制御用目標スロットル開度Ａe と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度Ａf との差（Ａe −Ａf ）が所定値Ｅth以下となっている期間に、フェールセーフ確認用の時間カウンタＣntがカウントアップ動作する。その後、差（Ａe −Ａf ）が所定値Ｅth以下の状態が続いて、フェールセーフ確認用の時間カウンタＣntのカウント値が所定値Ｆthを越えた時点ｔ2 で、フェールセーフ動作が異常であると判定してフェールセーフ異常フラグを「１」にセットし、警告ランプを点灯（又は点滅）させたりして運転者に警告すると共に、追加のフェールセーフを実行して、エンジン１１の発生トルクを減少させる。
【００５７】
尚、フェールセーフ確認用の時間カウンタＣntのカウント値が所定値Ｆth以下であれば、フェールセーフ動作が正常であると判定してフェールセーフ異常フラグを「０」にリセットする。
【００５８】
以上説明した本実施例２では、フェールセーフ監視部３３によって、フェールセーフモード中にフェールセーフ動作が正しく働いていないと判断したときに、追加のフェールセーフ処置を実行するようにしたので、フェールセーフモード中にフェールセーフ動作が正しく働いていないことが確認されれば、直ちに追加のフェールセーフ処置を実行してエンジン１１の出力を確実に抑制することができる。
【００５９】
尚、上記各実施例１，２では、エンジン１１の発生トルクと要求トルクとを比較して異常診断を行うようにしたが、例えば、ＣＰＵ１で演算したエンジン制御用目標スロットル開度と、ＣＰＵ２で演算したフェールセーフ用目標スロットル開度とを比較して両者の差が異常判定値以上であるか否かで異常の有無を判定したり、或は、スロットル開度を検出するスロットルセンサの異常診断を行ってスロットルセンサの異常を検出した時にフェールセーフモードに移行するようにしても良い。その他、スロットル制御システムやエンジン出力制御系の異常診断を行って、何等かの異常を検出した時にフェールセーフモードに移行するようにしても良い。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】実施例１のＥＣＵのフェールセーフ機能を説明するブロック図である。
【図３】実施例１のフェールセーフプログラムの処理の流れを説明するフローチャートである。
【図４】実施例１のフェールセーフ動作の一例を説明するタイムチャートである。
【図５】実施例２のフェールセーフプログラムの処理の流れを説明するフローチャートである。
【図６】実施例２のフェールセーフ動作の一例を説明するタイムチャートである。
【符号の説明】
【００６１】
１１…エンジン、１２…吸気管、１５…スロットルモータ、１６…スロットルバルブ、１７…スロットル開度センサ、２１…燃料噴射弁、２３…排気管、２８…クランク角センサ、３０…ＥＣＵ、３１…トルク監視部（異常診断手段）、３２…フェールセーフ部（フェールセーフ手段）、３３…フェールセーフ監視部（フェールセーフ監視手段）、３４…警告表示制御部（警告手段）、３７…スロットル制御部（フェールセーフ手段）、３８…目標スロットル開度選択部
【図１】
2010127162.tif 000003
【図２】
2010127162.tif 000004
【図３】
2010127162.tif 000005
【図４】
2010127162.tif 000006
【図５】
2010127162.tif 000007
【図６】
2010127162.tif 000008