(57)【特許請求の範囲】
【請求項１】
アクセルペダルの踏込量に応じて駆動されるアクチュエータにて設定されるスロットルバルブの開度により内燃機関の出力状態を制御する内燃機関用制御装置において、
前記内燃機関の機関回転数を検出する回転数センサと、
前記アクセルペダルの踏込量に応じたアクセル開度を検出するアクセル開度センサと、
前記スロットルバルブの実際の開度を実スロットル開度として検出するスロットル開度センサと、
前記アクセル開度センサで検出された前記アクセル開度に基づき設定される前記スロットルバルブの目標とする目標スロットル開度に前記実スロットル開度を一致させるための制御量を算出する制御量演算手段と、
前記制御量演算手段で算出された前記制御量により前記アクチュエータを駆動し、前記実スロットル開度を制御するスロットル制御手段と、
前記アクセル開度センサと、前記スロットル開度センサと、前記制御量演算手段と、前記スロットル制御手段とを構成要素とする前記内燃機関の制御システムの異常を検出する異常検出手段と、
前記異常検出手段で前記制御システムの構成要素のうち少なくとも１つの異常が検出されたときには、前記目標スロットル開度を所定の開度に設定するフェイルセーフ手段と、
前記フェイルセーフ手段による処理ののち、前記内燃機関の構成気筒のうち燃料供給を停止し休止させる気筒数としての減筒数を設定し、減筒制御する減筒制御手段と、
前記減筒制御手段で設定された減筒数に対して下限減筒数を設定し、実際に休止する気筒数を制限する減筒数制限手段とを具備し、
前記減筒数制限手段は、前記回転数センサで検出された前記機関回転数が所定回転数以上のとき、前記下限減筒数を増加または全気筒を休止させるように設定することを特徴とする内燃機関用制御装置。
【請求項２】
ブレーキの踏込み状態を検出するブレーキ検出手段を具備し、
前記減筒制御手段は、前記ブレーキ検出手段で検出されたブレーキ状態、または前記アクセル開度センサで検出された前記アクセル開度に基づき減筒数を設定することを特徴とする請求項１に記載の内燃機関用制御装置。
【請求項３】
前記減筒数制限手段は、前記所定回転数を前記ブレーキ検出手段で検出されたブレーキ状態、または前記アクセル開度センサで検出された前記アクセル開度、または前記スロットル開度センサで検出された前記実スロットル開度に基づき設定することを特徴とする請求項１または請求項２に記載の内燃機関用制御装置。
【請求項４】
前記減筒数制限手段は、前記所定回転数の設定に用いられる構成要素の異常が検出されたときには、前記所定回転数を固定回転数に設定することを特徴とする請求項３に記載の内燃機関用制御装置。
【請求項５】
前記減筒数制限手段は、前記アクセル開度センサで検出された前記アクセル開度、または前記スロットル開度センサで検出された前記実スロットル開度に基づき前記下限減筒数を設定することを特徴とする請求項１乃至請求項４の何れか１つに記載の内燃機関用制御装置。
【請求項６】
アクセルペダルの踏込量に応じて駆動されるアクチュエータにて設定されるスロットルバルブの開度により内燃機関の出力状態を制御する内燃機関用制御装置において、
ブレーキの踏込み状態を検出するブレーキ検出手段と、
前記アクセルペダルの踏込量に応じたアクセル開度を検出するアクセル開度センサと、
前記スロットルバルブの実際の開度を実スロットル開度として検出するスロットル開度センサと、
前記アクセル開度センサで検出された前記アクセル開度に基づき設定される前記スロットルバルブの目標とする目標スロットル開度に前記実スロットル開度を一致させるための制御量を算出する制御量演算手段と、
前記制御量演算手段で算出された前記制御量により前記アクチュエータを駆動し、前記実スロットル開度を制御するスロットル制御手段と、
前記アクセル開度センサと、前記スロットル開度センサと、前記制御量演算手段と、前記スロットル制御手段とを構成要素とする前記内燃機関の制御システムの異常を検出する異常検出手段と、
前記異常検出手段で前記制御システムの構成要素のうち少なくとも１つの異常が検出されたときには、前記目標スロットル開度を所定の開度に設定するフェイルセーフ手段と、
前記フェイルセーフ手段による処理ののち、前記内燃機関の構成気筒のうち燃料供給を停止し休止させる気筒数としての減筒数を設定し、減筒制御する減筒制御手段と、
前記減筒制御手段で設定された減筒数に対して下限減筒数を設定し、実際に休止する気筒数を制限する減筒数制限手段とを具備し、
前記減筒数制限手段は、前記ブレーキ検出手段でブレーキの作動が検出されたとき、前記減筒制御手段または前記減筒数制限手段で設定された減筒数に関わらず前記下限減筒数を所定値で規制または減筒数を固定値に設定することを特徴とする内燃機関用制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アクセルペダルの踏込量に応じて駆動されるアクチュエータにて設定されるスロットルバルブの開度により内燃機関の出力状態を制御する内燃機関用制御装置に関するもので、特に、システム異常時の退避走行性能を有する内燃機関用制御装置に関するものである。
【０００２】
【従来の技術】
従来、アクセルペダルの踏込量に応じてアクチュエータを駆動しスロットルバルブの開度を制御する『電子スロットルシステム』と称する内燃機関のスロットル制御機構が知られている。このスロットル制御機構における異常時の制御に関わる先行技術文献として、特開平６−２４９０１５号公報にて開示されたものが知られている。このものでは、スロットル制御機構が異常（故障）となった際、アクセル開度センサとスロットル開度センサとからの両センサ信号に基づき減筒制御システムとして内燃機関の運転状態に関わる気筒数を少なくして機関出力を低減し、退避走行を可能とする技術が示されている。
【０００３】
【発明が解決しようとする課題】
ところで、前述のものでは、アクセル開度センサまたはスロットル開度センサのうち少なくとも１つが異常であるときには退避走行が不可能となる。また、アクセルペダルを戻したのに所定時間経過してもスロットルバルブが閉じないようなスロットル制御異常であるときには退避走行が不可能となる。更に、退避走行途中にアクセル開度センサまたはスロットル開度センサのうち少なくとも１つが異常、またはスロットル制御異常が発生することで内燃機関の機関回転数が急激に上昇されたりすると、車両に対する不適切な挙動を引起こすという不具合があった。
【０００４】
そこで、この発明はかかる不具合を解決するためになされたもので、電子スロットルシステムの異常時における退避走行性能を確保しつつ内燃機関の機関回転数の吹上がりを防止して走行安定性を向上可能な内燃機関用制御装置の提供を課題としている。
【０００５】
【課題を解決するための手段】
請求項１の内燃機関用制御装置によれば、異常検出手段でアクセル開度センサとスロットル開度センサと制御量演算手段とスロットル制御手段とからなる内燃機関の制御システムの構成要素のうち少なくとも１つの異常が検出されたときには、フェイルセーフ手段で目標スロットル開度が所定の開度に設定される。このフェイルセーフ処理ののち内燃機関の構成気筒のうち減筒制御手段で設定された減筒数に対して減筒数制限手段で設定された下限減筒数にて実際に休止させる気筒数が制限され、減筒制御手段によって減筒制御が行われる。この際、回転数センサによる機関回転数が所定回転数以上と高いときには、減筒数制限手段によって下限減筒数が増加または全気筒が休止されるよう設定される。このように、内燃機関が減筒制御される際の気筒数が機関回転数に基づく下限減筒数にて制限されることで、内燃機関の機関出力に関わる減筒数が適切なものとされ、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【０００６】
請求項２の内燃機関用制御装置によれば、ブレーキ検出手段によるブレーキ状態やアクセル開度センサによるアクセル開度に基づき減筒制御手段で減筒数が設定される。このため、内燃機関の機関出力に関わる減筒数が運転者のブレーキペダルやアクセルペダルの挙動に見合ったものとなり、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【０００７】
請求項３の内燃機関用制御装置における減筒数制限手段では、所定回転数がブレーキ検出手段によるブレーキ状態、アクセル開度センサによるアクセル開度、スロットル開度センサによるスロットル開度に基づき設定されることで、内燃機関の機関回転数が適切なものとされ、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【０００８】
請求項４の内燃機関用制御装置における減筒数制限手段では、所定回転数がその設定に用いる構成要素の異常が検出されると固定回転数に設定されることで、内燃機関の機関回転数が制限され、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【０００９】
請求項５の内燃機関用制御装置における減筒数制限手段では、アクセル開度センサによるアクセル開度、スロットル開度センサによるスロットル開度に基づき下限減筒数が設定されることで、内燃機関の機関出力に関わる減筒数が適切なものとされ、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【００１０】
請求項６の内燃機関用制御装置によれば、異常検出手段でアクセル開度センサとスロットル開度センサと制御量演算手段とスロットル制御手段とからなる内燃機関の制御システムの構成要素のうち少なくとも１つの異常が検出されたときには、フェイルセーフ手段で目標スロットル開度が所定の開度に設定される。このフェイルセーフ処理ののち内燃機関の構成気筒のうち減筒制御手段で設定された減筒数に対して減筒数制限手段で設定された下限減筒数にて実際に休止させる気筒数が制限され、減筒制御手段によって減筒制御が行われる。このように、内燃機関が減筒制御される際の気筒数が下限減筒数にて制限され、ブレーキ検出手段によるブレーキの作動が検出されたときには、減筒制御手段または減筒数制限手段による減筒数に関わらず減筒数制限手段で下限減筒数が所定値に規制または減筒数が固定値に設定されることで、内燃機関の機関出力に関わる減筒数が適切なものとされ、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を実施例に基づいて説明する。
【００１２】
図１は本発明の実施の形態の一実施例にかかる内燃機関用制御装置の全体構成を示す概略図である。
【００１３】
図１において、図示しない内燃機関には吸気通路１１を通って空気が供給される。吸気通路１１の途中にはスロットルバルブ１２が設けられている。このスロットルバルブ１２はスロットル軸１３に固設され、リターンスプリング１４にて常時、全閉側に付勢されている。なお、スロットルバルブ１２の全閉位置はスロットル軸１３を介して全閉ストッパ１５にて規制されている。また、スロットルバルブ１２にはスロットル軸１３を介してスロットル開度を検出する第１及び第２のスロットル開度センサ１６Ａ，１６Ｂが並列に配設された２重系のセンサシステムである。
【００１４】
そして、スロットルバルブ１２はスロットル軸１３を介してオープナ１７と係合されている。このため、スロットルバルブ１２はスロットル軸１３、オープナ１７を介してオープナスプリング１８にて常時、開側に付勢されている。このオープナ１７の開位置はオープナストッパ１９にて規制されている。更に、ＤＣモータ等からなるアクチュエータ２０がスロットルバルブ１２のスロットル軸１３に配設されている。ここで、オープナスプリング１８の付勢力はリターンスプリング１４の付勢力に打勝つように設定されており、アクチュエータ２０への非通電状態では、スロットルバルブ１２のスロットル開度はオープナ１７がスロットル軸１３を伴ってオープナストッパ１９に当接する位置にて設定される。２１はアクセルペダルであり、アクセルペダル２１にはアクセル開度を検出する第１及び第２のアクセル開度センサ２２Ａ，２２Ｂが並列に配設された２重系のセンサシステムである。
【００１５】
また、２３はブレーキペダルであり、ブレーキペダル２３にはブレーキスイッチ２４が配設されている。このブレーキスイッチ２４はブレーキペダル２３が踏込まれることでＯＦＦ（オフ）からＯＮ（オン）となる。そして、図示しない内燃機関のクランクシャフトにはクランク角を検出する回転数センサ２５が配設されている。更に、吸気通路１１のスロットルバルブ１２の下流側には内燃機関に燃料を噴射供給するインジェクタ（燃料噴射弁）２６が配設されている。
【００１６】
３０はＥＣＵ（Electronic Control Unit:電子制御ユニット）であり、ＥＣＵ３０には２重系の第１及び第２のスロットル開度センサ１６Ａ，１６Ｂからの各スロットル開度信号、２重系の第１及び第２のアクセル開度センサ２２Ａ，２２Ｂからの各アクセル開度信号、ブレーキスイッチ２４からのＯＮ／ＯＦＦ信号及び回転数センサ２５からのクランク角信号が入力されている。ＥＣＵ３０は、周知の中央処理装置としてのＣＰＵ３１、制御プログラムを格納したＲＯＭ３２、各種データを格納するＲＡＭ３３、Ｂ／Ｕ（バックアップ）ＲＡＭ３４、入力回路３５、出力回路３６及びそれらを接続するバスライン３７等からなる論理演算回路として構成されている。このような構成にて、各種センサ信号に基づきＥＣＵ３０からアクチュエータ２０に駆動信号が出力され、スロットルバルブ１２の開閉位置が設定され内燃機関側に適切な空気量が供給される。また、各種センサ信号に基づきＥＣＵ３０からインジェクタ２６に駆動信号が出力され、内燃機関の運転状態に対応した適切な燃料噴射量が供給される。
【００１７】
次に、本発明の実施の形態の一実施例にかかる内燃機関用制御装置で使用されているＥＣＵ３０内のＣＰＵ３１におけるベースルーチンを示す図２のフローチャートに基づいて説明する。なお、このベースルーチンはイグニッションスイッチ（図示略）のＯＮによる電源投入後、１０ｍｓ毎にＣＰＵ３１にて繰返し実行される。
【００１８】
図２において、まず、ステップＳ１０００で入力処理として各種センサからの入力信号が読込まれる。次にステップＳ２０００に移行して、異常検出処理としてスロットル異常、アクセル異常、スロットル制御異常の有無が検出される。次にステップＳ３０００に移行して、フェイルセーフ処理としてスロットル異常、アクセル異常、スロットル制御異常の際のフェイルセーフが実行される。次に、ステップＳ４０００に移行して、ノーマル制御処理として各種センサからの入力信号に基づきアクチュエータ２０に対する制御量が算出される。次にステップＳ５０００に移行して、システムダウン処理フラグＸＤＯＷＮが「１」であるかが判定される。ステップＳ５０００の判定条件が成立せず、即ち、システムダウン処理フラグＸＤＯＷＮが「０」でありシステムが正常であるときにはステップＳ４０００で算出された制御量に基づきアクチュエータ２０に対する制御が実行され本ルーチンを終了する。一方、ステップＳ５０００の判定条件が成立、即ち、システムダウン処理フラグＸＤＯＷＮが「１」でありシステムが異常であるときにはステップＳ６０００に移行し、退避走行処理として内燃機関に対する退避走行制御が実行され本ルーチンを終了する。
【００１９】
次に、上述の各処理について詳細に説明する。
【００２０】
まず、図２のステップＳ１０００の入力処理手順を図３のフローチャートに基づき、図４及び図５を参照して説明する。ここで、図４は２重系の第１及び第２のスロットル開度センサ１６Ａ，１６Ｂにおけるスロットル開度θt 〔°〕とスロットルセンサ電圧Ｂt 〔Ｖ〕との関係を示す特性図であり、θtmaxはスロットル開度θt の使用上限開度、θtminはスロットル開度θt の使用下限開度であり、この間のスロットル開度θt が使用範囲となる。また、図５は２重系の第１及び第２のアクセル開度センサ２２Ａ，２２Ｂにおけるアクセル開度θa 〔°〕とアクセルセンサ電圧Ｂa 〔Ｖ〕との関係を示す特性図であり、θamaxはアクセル開度θa の使用上限開度、θaminはアクセル開度θa の使用下限開度であり、この間のアクセル開度θa が使用範囲となる。なお、この入力処理のサブルーチンは１０ｍｓ毎にＣＰＵ３１にて繰返し実行される。
【００２１】
図３において、ステップＳ１００１では、２重系のうち第１のスロットル開度センサ１６Ａによるスロットルセンサ電圧Ｖt1からスロットルセンサオフセット電圧Ｂt1が減算された値に図４に示すスロットルセンサ電圧−開度変換係数Ａt1が乗算され、スロットル開度センサ１６Ａに基づく実スロットル開度（以下、単に『スロットル開度』と記す）θt1が求められる。次にステップＳ１００２に移行して、２重系のうち第２のスロットル開度センサ１６Ｂによるスロットルセンサ電圧Ｖt2からスロットルセンサオフセット電圧Ｂt2が減算された値に図４に示すスロットルセンサ電圧−開度変換係数Ａt2が乗算され、スロットル開度センサ１６Ｂに基づく実スロットル開度（以下、単に『スロットル開度』と記す）θt2が求められる。
【００２２】
次にステップＳ１００３に移行して、２重系のうち第１のアクセル開度センサ２２Ａによるアクセルセンサ電圧Ｖa1からアクセルセンサオフセット電圧Ｂa1が減算された値に図５に示すアクセルセンサ電圧−開度変換係数Ａa1が乗算され、アクセル開度センサ２２Ａに基づくアクセル開度θa1が求められる。次にステップＳ１００４に移行して、２重系のうち第２のアクセル開度センサ２２Ｂによるアクセルセンサ電圧Ｖa2からアクセルセンサオフセット電圧Ｂa2が減算された値に図５に示すアクセルセンサ電圧−開度変換係数Ａa2が乗算され、アクセル開度センサ２２Ｂに基づくアクセル開度θa2が求められ、本ルーチンを終了する。
【００２３】
次に、図２のステップＳ２０００の異常検出処理手順を図６のフローチャートに基づいて説明する。なお、この異常検出処理のサブルーチンは１０ｍｓ毎にＣＰＵ３１にて繰返し実行される。
【００２４】
図６において、ステップＳ２１００では後述のスロットル異常検出処理が実行される。次にステップＳ２２００に移行して、後述のアクセル異常検出処理が実行される。次にステップＳ２３００に移行して、後述のスロットル制御異常検出処理が実行され、本ルーチンを終了する。
【００２５】
次に、図６のステップＳ２１００のスロットル異常検出処理手順の具体的な図７のフローチャートに基づいて説明する。
【００２６】
図７において、ステップＳ２１０１では、図３のステップＳ１００１で求められたスロットル開度センサ１６Ａのスロットル開度θt1が使用下限開度θtmin未満であるかが判定される。ステップＳ２１０１の判定条件が成立せず、即ち、スロットル開度θt1が使用下限開度θtmin以上と大きいときにはステップＳ２１０２に移行し、図３のステップＳ１００２で求められたスロットル開度センサ１６Ｂのスロットル開度θt2が使用下限開度θtmin未満であるかが判定される。ステップＳ２１０２の判定条件が成立せず、即ち、スロットル開度θt2が使用下限開度θtmin以上と大きいときにはステップＳ２１０３に移行し、スロットル開度センサ１６Ａのスロットル開度θt1が使用上限開度θtmaxを越えているかが判定される。ステップＳ２１０３の判定条件が成立せず、即ち、スロットル開度θt1が使用上限開度θtmax以下と小さいときにはステップＳ２１０４に移行し、スロットル開度センサ１６Ｂのスロットル開度θt2が使用上限開度θtmaxを越えているかが判定される。
【００２７】
ステップＳ２１０４の判定条件が成立せず、即ち、スロットル開度θt2が使用上限開度θtmax以下と小さいときにはステップＳ２１０５に移行し、スロットル開度θt1とスロットル開度θt2との偏差の絶対値がスロットル開度偏差異常判定値ｄθtmaxを越えているかが判定される。ステップＳ２１０５の判定条件が成立せず、即ち、スロットル開度θt1とスロットル開度θt2との偏差の絶対値がスロットル開度偏差異常判定値ｄθtmax以下と小さいときにはステップＳ２１０６に移行し、スロットル異常判定カウンタＣＦＡＩＬt が「０」にクリアされる。
【００２８】
一方、ステップＳ２１０１の判定条件が成立、即ち、スロットル開度センサ１６Ａが断線状態にありスロットル開度θt1が使用下限開度θtmin未満と小さいとき、またはステップＳ２１０２の判定条件が成立、即ち、スロットル開度センサ１６Ｂが断線状態にありスロットル開度θt2が使用下限開度θtmin未満と小さいとき、またはステップＳ２１０３の判定条件が成立、即ち、スロットル開度センサ１６Ａがショート状態にありスロットル開度θt1が使用上限開度θtmaxを越えて大きいとき、またはステップＳ２１０４の判定条件が成立、即ち、スロットル開度センサ１６Ｂがショート状態にありスロットル開度θt2が使用上限開度θtmaxを越えて大きいとき、またはステップＳ２１０５の判定条件が成立、即ち、スロットル開度θt1とスロットル開度θt2との偏差の絶対値がスロットル開度偏差異常判定値ｄθtmaxを越えレンジ外れであるときには、２重系のスロットル開度センサ１６Ａ，１６Ｂのうち何れか１つの出力状態が少なくとも異常であるとしてステップＳ２１０７に移行し、スロットル異常判定カウンタＣＦＡＩＬt が「１」インクリメントされる。
【００２９】
ステップＳ２１０６またはステップＳ２１０７の処理ののちステップＳ２１０８に移行し、スロットル異常判定カウンタＣＦＡＩＬt が異常判定カウンタ最大値ＣＦＡＩＬmax 以上であるかが判定される。ステップＳ２１０８の判定条件が成立せず、即ち、スロットル異常判定カウンタＣＦＡＩＬt が異常判定カウンタ最大値ＣＦＡＩＬmax 未満と小さいときにはノイズ等の影響を考慮してスロットル異常と未だ確定することなく、本ルーチンを終了する。
【００３０】
一方、ステップＳ２１０８の判定条件が成立、即ち、スロットル異常判定カウンタＣＦＡＩＬt が異常判定カウンタ最大値ＣＦＡＩＬmax 以上と大きいときにはステップＳ２１０９に移行し、スロットル異常判定カウンタＣＦＡＩＬt が異常判定カウンタ最大値ＣＦＡＩＬmax とされる。次にステップＳ２１１０に移行して、スロットル異常判定フラグＸＦＡＩＬt が「１」にセット、即ち、スロットル異常と確定され、本ルーチンを終了する。
【００３１】
次に、図６のステップＳ２２００のアクセル異常検出処理手順の具体的な図８のフローチャートに基づいて説明する。
【００３２】
図８において、ステップＳ２２０１では、図３のステップＳ１００３で求められたアクセル開度センサ２２Ａのアクセル開度θa1が使用下限開度θamin未満であるかが判定される。ステップＳ２２０１の判定条件が成立せず、即ち、アクセル開度θa1が使用下限開度θamin以上と大きいときにはステップＳ２２０２に移行し、図３のステップＳ１００４で求められたアクセル開度センサ２２Ｂのアクセル開度θa2が使用下限開度θamin未満であるかが判定される。ステップＳ２２０２の判定条件が成立せず、即ち、アクセル開度θa2が使用下限開度θamin以上と大きいときにはステップＳ２２０３に移行し、アクセル開度センサ２２Ａのアクセル開度θa1が使用上限開度θamaxを越えているかが判定される。ステップＳ２２０３の判定条件が成立せず、即ち、アクセル開度θa1が使用上限開度θamax以下と小さいときにはステップＳ２２０４に移行し、アクセル開度センサ２２Ｂのアクセル開度θa2が使用上限開度θamaxを越えているかが判定される。
【００３３】
ステップＳ２２０４の判定条件が成立せず、即ち、アクセル開度θa2が使用上限開度θamax以下と小さいときにはステップＳ２２０５に移行し、アクセル開度θa1とアクセル開度θa2との偏差の絶対値がアクセル開度偏差異常判定値ｄθamaxを越えているかが判定される。ステップＳ２２０５の判定条件が成立せず、即ち、アクセル開度θa1とアクセル開度θa2との偏差の絶対値がアクセル開度偏差異常判定値ｄθamax以下と小さいときにはステップＳ２２０６に移行し、アクセル異常判定カウンタＣＦＡＩＬa が「０」にクリアされる。
【００３４】
一方、ステップＳ２２０１の判定条件が成立、即ち、アクセル開度センサ２２Ａが断線状態にありアクセル開度θa1が使用下限開度θamin未満と小さいとき、またはステップＳ２２０２の判定条件が成立、即ち、アクセル開度センサ２２Ｂが断線状態にありアクセル開度θa2が使用下限開度θamin未満と小さいとき、またはステップＳ２２０３の判定条件が成立、即ち、アクセル開度センサ２２Ａがショート状態にありアクセル開度θa1が使用上限開度θamaxを越えて大きいとき、またはステップＳ２２０４の判定条件が成立、即ち、アクセル開度センサ２２Ｂがショート状態にありアクセル開度θa2が使用上限開度θamaxを越えて大きいとき、またはステップＳ２２０５の判定条件が成立、即ち、アクセル開度θa1とアクセル開度θa2との偏差の絶対値がアクセル開度偏差異常判定値ｄθamaxを越えレンジ外れであるときには、２重系のアクセル開度センサ２２Ａ，２２Ｂのうち何れか１つの出力状態が少なくとも異常であるとしてステップＳ２２０７に移行し、アクセル異常判定カウンタＣＦＡＩＬa が「１」インクリメントされる。
【００３５】
ステップＳ２２０６またはステップＳ２２０７の処理ののちステップＳ２２０８に移行し、アクセル異常判定カウンタＣＦＡＩＬa が異常判定カウンタ最大値ＣＦＡＩＬmax 以上であるかが判定される。ステップＳ２２０８の判定条件が成立せず、即ち、アクセル異常判定カウンタＣＦＡＩＬa が異常判定カウンタ最大値ＣＦＡＩＬmax 未満と小さいときにはノイズ等の影響を考慮してアクセル異常と未だ確定することなく、本ルーチンを終了する。
【００３６】
一方、ステップＳ２２０８の判定条件が成立、即ち、アクセル異常判定カウンタＣＦＡＩＬa が異常判定カウンタ最大値ＣＦＡＩＬmax 以上と大きいときにはステップＳ２２０９に移行し、アクセル異常判定カウンタＣＦＡＩＬa が異常判定カウンタ最大値ＣＦＡＩＬmax とされる。次にステップＳ２２１０に移行して、アクセル異常判定フラグＸＦＡＩＬa が「１」にセット、即ち、アクセル異常と確定され、本ルーチンを終了する。
【００３７】
次に、図６のステップＳ２３００のスロットル制御異常検出処理手順の具体的な図９のフローチャートに基づいて説明する。
【００３８】
図９において、ステップＳ２３０１では、目標スロットル開度ＴＡが目標スロットル開度閉じ判定開度ＴＡc 以下であるかが判定される。ステップＳ２３０１の判定条件が成立、即ち、目標スロットル開度ＴＡが目標スロットル開度閉じ判定開度ＴＡc 以下と小さいときにはステップＳ２３０２に移行し、スロットル開度θt1が目標スロットル開度閉じ判定開度ＴＡc に目標スロットル開度閉じ判定開度偏差ｄＴＡc を加算した値であるスロットル開度閉じ判定開度（ＴＡc ＋ｄＴＡc ）を越えているかが判定される。ステップＳ２３０２の判定条件が成立、即ち、スロットル開度θt1がスロットル開度閉じ判定開度（ＴＡc ＋ｄＴＡc ）を越え大きいときにはステップＳ２３０３に移行し、スロットル制御異常判定カウンタＣＦＡＩＬs が「１」インクリメントされる。
【００３９】
一方、ステップＳ２３０１の判定条件が成立せず、即ち、目標スロットル開度ＴＡが目標スロットル開度閉じ判定開度ＴＡc を越え大きいとき、またはステップＳ２３０２の判定条件が成立せず、即ち、スロットル開度θt1がスロットル開度閉じ判定開度（ＴＡc ＋ｄＴＡc ）以下と小さいときにはステップＳ２３０４に移行し、スロットル制御異常判定カウンタＣＦＡＩＬs が「０」にクリアされる。ステップＳ２３０３またはステップＳ２３０４の処理ののちステップＳ２３０５に移行し、スロットル制御異常判定カウンタＣＦＡＩＬs が異常判定カウンタ最大値ＣＦＡＩＬmax 以上であるかが判定される。ステップＳ２３０５の判定条件が成立、即ち、スロットル制御異常判定カウンタＣＦＡＩＬs が異常判定カウンタ最大値ＣＦＡＩＬmax 以上と大きいときにはステップＳ２３０６に移行し、スロットル制御異常判定カウンタＣＦＡＩＬs が異常判定カウンタ最大値ＣＦＡＩＬmax とされる。次にステップＳ２３０７に移行して、スロットル制御異常判定フラグＸＦＡＩＬs が「１」にセット、即ち、スロットル制御異常と確定され、本ルーチンを終了する。一方、ステップＳ２３０５の判定条件が成立せず、即ち、スロットル制御異常判定カウンタＣＦＡＩＬs が異常判定カウンタ最大値ＣＦＡＩＬmax 未満と小さいときにはノイズ等の影響を考慮してスロットル制御異常と未だ確定することなく、本ルーチンを終了する。
【００４０】
次に、図２のステップＳ３０００のフェイルセーフ処理手順を図１０のフローチャートに基づいて説明する。なお、このフェイルセーフ処理のサブルーチンは１０ｍｓ毎にＣＰＵ３１にて繰返し実行される。
【００４１】
図１０において、まず、ステップＳ３００１でスロットル異常判定フラグＸＦＡＩＬt が「１」であるかが判定される。ステップＳ３００１の判定条件が成立せず、即ち、スロットル異常判定フラグＸＦＡＩＬt が「０」であり２重系のスロットル開度センサ１６Ａ，１６Ｂが共に正常であるときにはステップＳ３００２に移行し、アクセル異常判定フラグＸＦＡＩＬa が「１」であるかが判定される。ステップＳ３００２の判定条件が成立せず、即ち、アクセル異常判定フラグＸＦＡＩＬa が「０」であり２重系のアクセル開度センサ２２Ａ，２２Ｂが共に正常であるときにはステップＳ３００３に移行し、スロットル制御異常判定フラグＸＦＡＩＬs が「１」であるかが判定される。ステップＳ３００３の判定条件が成立せず、即ち、スロットル制御異常判定フラグＸＦＡＩＬs が「０」でありスロットル制御が正常であるときには本ルーチンを終了する。
【００４２】
一方、ステップＳ３００１の判定条件が成立、即ち、スロットル異常判定フラグＸＦＡＩＬt が「１」であり２重系のスロットル開度センサ１６Ａ，１６Ｂのうち何れか１つの出力状態が少なくとも異常であるとき、またはステップＳ３００２の判定条件が成立、即ち、アクセル異常判定フラグＸＦＡＩＬa が「１」であり２重系のアクセル開度センサ２２Ａ，２２Ｂのうち何れか１つの出力状態が少なくとも異常であるとき、またはステップＳ３００３の判定条件が成立、即ち、スロットル制御異常判定フラグＸＦＡＩＬs が「１」でありスロットル制御が異常であるときにはステップＳ３００４に移行する。ステップＳ３００４では、アクチュエータ２０に対するモータ通電デューティ比上限値Ｕmax が０〔％〕、モータ通電デューティ比下限値Ｕmin が０〔％〕にそれぞれ設定される。次にステップＳ３００５に移行して、目標スロットル開度上限値ＴＡmax がスロットル開度θt の使用下限開度θtminに設定される。次にステップＳ３００６に移行して、システムダウン処理フラグＸＤＯＷＮが「１」にセットされ、本ルーチンを終了する。
【００４３】
次に、図２のステップＳ４０００のノーマル制御処理手順を図１１のフローチャートに基づいて説明する。なお、このノーマル制御処理のサブルーチンは１０ｍｓ毎にＣＰＵ３１にて繰返し実行される。
【００４４】
図１１において、ステップＳ４００１では、図３のステップＳ１００１で求められたスロットル開度センサ１６Ａのスロットル開度θt1が目標スロットル開度ＴＡに設定される。次にステップＳ４００２に移行して、目標スロットル開度ＴＡが目標スロットル開度上限値ＴＡmax を越えているかが判定される。ステップＳ４００２の判定条件が成立、即ち、目標スロットル開度ＴＡが目標スロットル開度上限値ＴＡmax を越え大きいときにはステップＳ４００３に移行し、ガード処理として目標スロットル開度上限値ＴＡmax が目標スロットル開度ＴＡに設定される。
【００４５】
ステップＳ４００２の判定条件が成立せず、即ち、目標スロットル開度ＴＡが目標スロットル開度上限値ＴＡmax 以下と小さいとき、またはステップＳ４００３の処理ののちステップＳ４００４に移行し、目標スロットル開度偏差ｄＴＡが目標スロットル開度偏差前回値ｄＴＡＯに設定される。なお、目標スロットル開度偏差前回値ｄＴＡＯの初期値は「０」である。次にステップＳ４００５に移行して、目標スロットル開度ＴＡからスロットル開度θt1が減算された値が目標スロットル開度偏差ｄＴＡに設定される。次にステップＳ４００６に移行して、目標スロットル開度偏差ｄＴＡから目標スロットル開度偏差前回値ｄＴＡＯが減算された値が目標スロットル開度偏差差分値ｄｄＴＡに設定される。
【００４６】
次にステップＳ４００７に移行して、ステップＳ４００５で設定された目標スロットル開度偏差ｄＴＡに比例ゲインＫp が乗算され比例制御量Ｐが求められる。次にステップＳ４００８に移行して、積分制御量ＩにステップＳ４００５で設定された目標スロットル開度偏差ｄＴＡに積分ゲインＫi が乗算された値が加算され積分制御量Ｉが求められる。次にステップＳ４００９に移行して、ステップＳ４００６で設定された目標スロットル開度偏差差分値ｄｄＴＡに微分ゲインＫd が乗算され微分制御量Ｄが求められる。そして、ステップＳ４０１０に移行して、比例制御量Ｐと積分制御量Ｉと微分制御量Ｄとが加算されモータ制御量Ｕが求められる。
【００４７】
次にステップＳ４０１１に移行して、ステップＳ４０１０で求められたモータ制御量Ｕがモータ通電デューティ比上限値Ｕmax を越えているかが判定される。ステップＳ４０１１の判定条件が成立、即ち、モータ制御量Ｕがモータ通電デューティ比上限値Ｕmax を越え大きいときにはステップＳ４０１２に移行し、ガード処理としてモータ通電デューティ比上限値Ｕmax がモータ制御量Ｕに設定される。一方、ステップＳ４０１１の判定条件が成立せず、即ち、モータ制御量Ｕがモータ通電デューティ比上限値Ｕmax 以下と小さいときにはステップＳ４０１３に移行し、モータ制御量Ｕがモータ通電デューティ比下限値Ｕmin 未満であるかが判定される。ステップＳ４０１３の判定条件が成立、即ち、モータ制御量Ｕがモータ通電デューティ比下限値Ｕmin 未満と小さいときにはステップＳ４０１４に移行し、ガード処理としてモータ通電デューティ比下限値Ｕmin がモータ制御量Ｕに設定される。ステップＳ４０１２の処理ののち、またはステップＳ４０１３の判定条件が成立せず、即ち、モータ制御量Ｕがモータ通電デューティ比下限値Ｕmin 以上であるとき、またはステップＳ４０１４の処理ののちステップＳ４０１５に移行し、モータ制御量Ｕがモータ通電デューティ比ＤＵＴＹに設定され、本ルーチンを終了する。
【００４８】
次に、図２のステップＳ６０００の退避走行処理手順を図１２のフローチャートに基づいて説明する。なお、この退避走行処理のサブルーチンは、システムダウン処理フラグＸＤＯＷＮが「１」でありシステムが異常であるとき、１０ｍｓ毎にＣＰＵ３１にて繰返し実行される。
【００４９】
図１２において、ステップＳ６００１では、ブレーキＯＮフラグＸＢＲＫが「１」であるかが判定される。ステップＳ６００１の判定条件が成立、即ち、ブレーキＯＮフラグＸＢＲＫが「１」でありブレーキペダル２３の踏込みがありブレーキスイッチ２４がＯＮでブレーキ作動中であるときにはステップＳ６００２に移行し、内燃機関の構成気筒に対する減筒制御における減筒数ＮＣＹＬがブレーキＯＮ時減筒数ＮＣＹＬB に設定される。一方、ステップＳ６００１の判定条件が成立せず、即ち、ブレーキＯＮフラグＸＢＲＫが「０」でありブレーキペダル２３の踏込みがなくブレーキスイッチ２４がＯＦＦでブレーキ不作動であるときにはステップＳ６００３に移行し、アクセル異常判定フラグＸＦＡＩＬa が「１」であるかが判定される。ステップＳ６００３の判定条件が成立、即ち、アクセル異常判定フラグＸＦＡＩＬa が「１」であり２重系のアクセル開度センサ２２Ａ，２２Ｂのうち何れか１つの出力状態が少なくとも異常であるときにはステップＳ６００４に移行し、内燃機関の構成気筒に対する減筒制御における減筒数ＮＣＹＬがアクセル異常時減筒数ＮＣＹＬF に設定される。
【００５０】
一方、ステップＳ６００３の判定条件が成立せず、即ち、アクセル異常判定フラグＸＦＡＩＬa が「０」であり２重系のアクセル開度センサ２２Ａ，２２Ｂが共に正常であるときにはステップＳ６００５に移行し、図３のステップＳ１００３で求められたアクセル開度センサ２２Ａのアクセル開度θa1がアクセル低開度判定値θaL未満であるかが判定される。ステップＳ６００５の判定条件が成立、即ち、アクセル開度θa1がアクセル低開度判定値θaL未満と小さいときにはステップＳ６００６に移行し、減筒数ＮＣＹＬがアクセル低開度時減筒数ＮＣＹＬL に設定される。
【００５１】
一方、ステップＳ６００５の判定条件が成立せず、即ち、アクセル開度θa1がアクセル低開度判定値θaL以上と大きいときにはステップＳ６００７に移行し、アクセル開度θa1がアクセル高開度判定値θaH未満であるかが判定される。ステップＳ６００７の判定条件が成立、即ち、アクセル開度θa1がアクセル高開度判定値θaH未満と小さいときにはステップＳ６００８に移行し、減筒数ＮＣＹＬがアクセル中開度時減筒数ＮＣＹＬM に設定される。一方、ステップＳ６００７の判定条件が成立せず、即ち、アクセル開度θa1がアクセル高開度判定値θaH以上と大きいときにはステップＳ６００９に移行し、減筒数ＮＣＹＬがアクセル高開度時減筒数ＮＣＹＬH に設定される。
【００５２】
ステップＳ６００２またはステップＳ６００４またはステップＳ６００６またはステップＳ６００８またはステップＳ６００９で減筒数ＮＣＹＬが設定されたのちステップＳ６０１０に移行し、後述の退避走行ガード処理が実行され本ルーチンを終了する。
【００５３】
次に、図１２のステップＳ６０１０の退避走行ガード処理手順を具体的な図１３のフローチャートに基づいて説明する。
【００５４】
図１３において、ステップＳ６０１１では、後述の減筒数下限値算出処理が実行される。次にステップＳ６０１２に移行して、減筒数ＮＣＹＬが減筒数下限値ＮＣＭＩＮ以下であるかが判定される。ステップＳ６０１２の判定条件が成立、即ち、減筒数ＮＣＹＬが減筒数下限値ＮＣＭＩＮ以下と小さいときにはステップＳ６０１３に移行し、減筒数ＮＣＹＬがステップＳ６０１１で算出された減筒数下限値ＮＣＭＩＮに設定される。ステップＳ６０１２の判定条件が成立せず、即ち、減筒数ＮＣＹＬが減筒数下限値ＮＣＭＩＮを越え大きいとき、またはステップＳ６０１３の処理ののちステップＳ６０１４に移行し、減筒数ＮＣＹＬが減筒数上限値（内燃機関の気筒数）ＮＣＭＡＸ以上であるかが判定される。ステップＳ６０１４の判定条件が成立、即ち、減筒数ＮＣＹＬが減筒数上限値ＮＣＭＡＸ以上と大きいときにはステップＳ６０１５に移行し、減筒数ＮＣＹＬが減筒数上限値ＮＣＭＡＸに設定され本ルーチンを終了する。一方、ステップＳ６０１４の判定条件が成立せず、即ち、減筒数ＮＣＹＬが減筒数上限値ＮＣＭＡＸ未満と小さいときには本ルーチンを終了する。
【００５５】
次に、図１３のステップＳ６０１１の減筒数下限値算出処理手順を具体的な図１４のフローチャートに基づいて説明する。
【００５６】
図１４において、ステップＳ６０２１でブレーキＯＮフラグＸＢＲＫが「１」であるかが判定される。ステップＳ６０２１の判定条件が成立せず、即ち、ブレーキＯＮフラグＸＢＲＫが「０」でありブレーキペダル２３の踏込みがなくブレーキスイッチ２４がＯＦＦでブレーキ不作動であるときにはステップＳ６０２２に移行し、減筒数下限値ＮＣＭＩＮが減筒数上限値ＮＣＭＡＸに設定される。一方、ステップＳ６０２１の判定条件が成立、即ち、ブレーキＯＮフラグＸＢＲＫが「１」でありブレーキペダル２３の踏込みがありブレーキスイッチ２４がＯＮでブレーキ作動中であるときにはステップＳ６０２３に移行し、減筒数下限値ＮＣＭＩＮがブレーキＯＮ時減筒数下限値ＮＣＭＩＮB に設定される。
【００５７】
ステップＳ６０２２またはステップＳ６０２３の処理ののちステップＳ６０２４に移行し、スロットル異常判定フラグＸＦＡＩＬt が「１」であるかが判定される。ステップＳ６０２４の判定条件が成立、即ち、スロットル異常判定フラグＸＦＡＩＬt が「１」であり２重系のスロットル開度センサ１６Ａ，１６Ｂのうち何れか１つの出力状態が少なくとも異常であるときにはステップＳ６０２５に移行し、後述の減筒数下限値ＮＣＭＩＮ算出▲１▼処理が実行される。一方、ステップＳ６０２４の判定条件が成立せず、即ち、スロットル異常判定フラグＸＦＡＩＬt が「０」であり２重系のスロットル開度センサ１６Ａ，１６Ｂが共に正常であるときにはステップＳ６０２６に移行し、後述の減筒数下限値ＮＣＭＩＮ算出▲２▼処理が実行される。ステップＳ６０２５またはステップＳ６０２６の処理ののちステップＳ６０２７に移行し、後述の減筒数下限値ＮＣＭＩＮ算出▲３▼処理が実行され本ルーチンを終了する。なお、上述の減筒数下限値ＮＣＭＩＮ算出▲１▼，▲２▼，▲３▼処理は何れか１つまたは任意の２つを組合わせて用いてもよい。
【００５８】
次に、図１４のステップＳ６０２５の減筒数下限値ＮＣＭＩＮ算出▲１▼処理手順を具体的な図１５のフローチャートに基づいて説明する。
【００５９】
図１５において、ステップＳ６１０１では、後述のアクセル低開度時減筒数下限値ＮＣＭＩＮL 、アクセル中開度時減筒数下限値ＮＣＭＩＮM 、アクセル高開度時減筒数下限値ＮＣＭＩＮH 算出処理が実行される。なお、この算出処理部分は予め設定された定数であってもよい。次にステップＳ６１０２に移行して、アクセル異常判定フラグＸＦＡＩＬa が「１」であるかが判定される。ステップＳ６１０２の判定条件が成立、即ち、アクセル異常判定フラグＸＦＡＩＬa が「１」であり２重系のアクセル開度センサ２２Ａ，２２Ｂのうち何れか１つの出力状態が少なくとも異常であるときにはステップＳ６１０３に移行し、減筒数下限値ＮＣＭＩＮがアクセル異常時減筒数下限値ＮＣＭＩＮF に設定され、本ルーチンを終了する。
【００６０】
一方、ステップＳ６１０２の判定条件が成立せず、即ち、アクセル異常判定フラグＸＦＡＩＬa が「０」であり２重系のアクセル開度センサ２２Ａ，２２Ｂが共に正常であるときにはステップＳ６１０４に移行し、図３のステップＳ１００３で求められたアクセル開度センサ２２Ａのアクセル開度θa1がアクセル低開度判定値θaL未満であるかが判定される。ステップＳ６１０４の判定条件が成立、即ち、アクセル開度θa1がアクセル低開度判定値θaL未満と小さいときにはステップＳ６１０５に移行し、減筒数下限値ＮＣＭＩＮがステップＳ６１０１で算出されたアクセル低開度時減筒数下限値ＮＣＭＩＮL に設定され、本ルーチンを終了する。
【００６１】
一方、ステップＳ６１０４の判定条件が成立せず、即ち、アクセル開度θa1がアクセル低開度判定値θaL以上と大きいときにはステップＳ６１０６に移行し、アクセル開度θa1がアクセル高開度判定値θaH未満であるかが判定される。ステップＳ６１０６の判定条件が成立、即ち、アクセル開度θa1がアクセル高開度判定値θaH未満と小さいときにはステップＳ６１０７に移行し、減筒数下限値ＮＣＭＩＮがステップＳ６１０１で算出されたアクセル中開度時減筒数下限値ＮＣＭＩＮM に設定され、本ルーチンを終了する。一方、ステップＳ６１０６の判定条件が成立せず、即ち、アクセル開度θa1がアクセル高開度判定値θaH以上と大きいときにはステップＳ６１０８に移行し、減筒数下限値ＮＣＭＩＮがステップＳ６１０１で算出されたアクセル高開度時減筒数下限値ＮＣＭＩＮH に設定され、本ルーチンを終了する。
【００６２】
次に、図１５のステップＳ６１０１のアクセル低開度時減筒数下限値ＮＣＭＩＮL 、アクセル中開度時減筒数下限値ＮＣＭＩＮM 、アクセル高開度時減筒数下限値ＮＣＭＩＮH 算出処理手順を具体的な図１６のフローチャートに基づいて説明する。
【００６３】
図１６において、ステップＳ６２０１では、後述の機関回転数上限値ＮＥＭＡＸ算出処理が実行される。なお、この機関回転数上限値ＮＥＭＡＸは予め設定された定数であってもよい。次にステップＳ６２０２に移行して、機関回転数ＮＥがステップＳ６２０１で算出された機関回転数上限値ＮＥＭＡＸを越えているかが判定される。ステップＳ６２０２の判定条件が成立せず、即ち、機関回転数ＮＥが機関回転数上限値ＮＥＭＡＸ以下と小さいときにはステップＳ６２０３に移行し、上限回転数オーバカウンタＣＮＥＯＶが「０」にクリアされる。一方、ステップＳ６２０２の判定条件が成立、即ち、機関回転数ＮＥが機関回転数上限値ＮＥＭＡＸを越え大きいときにはステップＳ６２０４に移行し、上限回転数オーバカウンタＣＮＥＯＶが「１」インクリメントされる。
【００６４】
ステップＳ６２０３またはステップＳ６２０４の処理ののちステップＳ６２０５に移行し、上限回転数オーバカウンタＣＮＥＯＶが上限回転数オーバカウンタ上限値ＣＮＥＯＶmax 以上であるかが判定される。ステップＳ６２０５の判定条件が成立せず、即ち、上限回転数オーバカウンタＣＮＥＯＶが上限回転数オーバカウンタ上限値ＣＮＥＯＶmax 未満であるときには本ルーチンを終了する。一方、ステップＳ６２０５の判定条件が成立、即ち、上限回転数オーバカウンタＣＮＥＯＶが上限回転数オーバカウンタ上限値ＣＮＥＯＶmax 以上と大きいときにはステップＳ６２０６に移行し、アクセル異常判定フラグＸＦＡＩＬa が「１」であるかが判定される。ステップＳ６２０６の判定条件が成立、即ち、アクセル異常判定フラグＸＦＡＩＬa が「１」であり２重系のアクセル開度センサ２２Ａ，２２Ｂのうち何れか１つの出力状態が少なくとも異常であるときにはステップＳ６２０７に移行し、アクセル異常時減筒数下限値ＮＣＭＩＮF が「１」インクリメントされる。
【００６５】
一方、ステップＳ６２０６の判定条件が成立せず、即ち、アクセル異常判定フラグＸＦＡＩＬa が「０」であり２重系のアクセル開度センサ２２Ａ，２２Ｂが共に正常であるときにはステップＳ６２０８に移行し、図３のステップＳ１００３で求められたアクセル開度センサ２２Ａのアクセル開度θa1がアクセル低開度判定値θaL未満であるかが判定される。ステップＳ６２０８の判定条件が成立、即ち、アクセル開度θa1がアクセル低開度判定値θaL未満と小さいときにはステップＳ６２０９に移行し、アクセル低開度時減筒数下限値ＮＣＭＩＮL が「１」インクリメントされる。
【００６６】
一方、ステップＳ６２０８の判定条件が成立せず、即ち、アクセル開度θa1がアクセル低開度判定値θaL以上と大きいときにはステップＳ６２１０に移行し、アクセル開度θa1がアクセル高開度判定値θaH未満であるかが判定される。ステップＳ６２１０の判定条件が成立、即ち、アクセル開度θa1がアクセル高開度判定値θaH未満と小さいときにはステップＳ６２１１に移行し、アクセル中開度時減筒数下限値ＮＣＭＩＮM が「１」インクリメントされる。一方、ステップＳ６２１０の判定条件が成立せず、即ち、アクセル開度θa1がアクセル高開度判定値θaH以上と大きいときにはステップＳ６２１２に移行し、アクセル高開度時減筒数下限値ＮＣＭＩＮH が「１」インクリメントされる。
【００６７】
ステップＳ６２０７またはステップＳ６２０９またはステップＳ６２１１またはステップＳ６２１２の処理ののちステップＳ６２１３に移行し、上限回転数オーバカウンタＣＮＥＯＶが上限回転数オーバカウンタ初期値ＣＮＥＯＶo に戻され、本ルーチンを終了する。
【００６８】
次に、図１６のステップＳ６２０１の機関回転数上限値ＮＥＭＡＸ算出処理手順を具体的な図１７のフローチャートに基づいて説明する。
【００６９】
図１７において、ステップＳ６３０１では、アクセル異常判定フラグＸＦＡＩＬa が「１」であるかが判定される。ステップＳ６３０１の判定条件が成立、即ち、アクセル異常判定フラグＸＦＡＩＬa が「１」であり２重系のアクセル開度センサ２２Ａ，２２Ｂのうち何れか１つの出力状態が少なくとも異常であるときにはステップＳ６３０２に移行し、機関回転数上限値ＮＥＭＡＸがアクセル異常時機関回転数上限値ＮＥＭＡＸF に設定され、本ルーチンを終了する。
【００７０】
一方、ステップＳ６３０１の判定条件が成立せず、即ち、アクセル異常判定フラグＸＦＡＩＬa が「０」であり２重系のアクセル開度センサ２２Ａ，２２Ｂが共に正常であるときにはステップＳ６３０３に移行し、図３のステップＳ１００３で求められたアクセル開度センサ２２Ａのアクセル開度θa1がアクセル低開度判定値θaL未満であるかが判定される。ステップＳ６３０３の判定条件が成立、即ち、アクセル開度θa1がアクセル低開度判定値θaL未満と小さいときにはステップＳ６３０４に移行し、機関回転数上限値ＮＥＭＡＸがアクセル低開度時機関回転数上限値ＮＥＭＡＸL に設定され、本ルーチンを終了する。
【００７１】
一方、ステップＳ６３０３の判定条件が成立せず、即ち、アクセル開度θa1がアクセル低開度判定値θaL以上と大きいときにはステップＳ６３０５に移行し、アクセル開度θa1がアクセル高開度判定値θaH未満であるかが判定される。ステップＳ６３０５の判定条件が成立、即ち、アクセル開度θa1がアクセル高開度判定値θaH未満と小さいときにはステップＳ６３０６に移行し、機関回転数上限値ＮＥＭＡＸがアクセル中開度時機関回転数上限値ＮＥＭＡＸM に設定され、本ルーチンを終了する。一方、ステップＳ６３０５の判定条件が成立せず、即ち、アクセル開度θa1がアクセル高開度判定値θaH以上と大きいときにはステップＳ６３０７に移行し、機関回転数上限値ＮＥＭＡＸがアクセル高開度時機関回転数上限値ＮＥＭＡＸH に設定され、本ルーチンを終了する。
【００７２】
次に、図１４のステップＳ６０２６の減筒数下限値ＮＣＭＩＮ算出▲２▼処理手順を具体的な図１８のフローチャートに基づいて説明する。
【００７３】
図１８において、ステップＳ６４０１では、図３のステップＳ１００１で求められたスロットル開度センサ１６Ａのスロットル開度θt1に基づき仮減筒数下限値ＮＣＭＩＮ2 がマップから求められる。次にステップＳ６４０２に移行して、減筒数下限値ＮＣＭＩＮがステップＳ６４０１で求められた仮減筒数下限値ＮＣＭＩＮ2 を越えているかが判定される。ステップＳ６４０２の判定条件が成立せず、即ち、減筒数下限値ＮＣＭＩＮが仮減筒数下限値ＮＣＭＩＮ2 以下と小さいときには本ルーチンを終了する。一方、ステップＳ６４０２の判定条件が成立、即ち、減筒数下限値ＮＣＭＩＮが仮減筒数下限値ＮＣＭＩＮ2 を越え大きいときにはステップＳ６４０３に移行し、減筒数下限値ＮＣＭＩＮが仮減筒数下限値ＮＣＭＩＮ2 に設定されたのち本ルーチンを終了する。
【００７４】
次に、図１４のステップＳ６０２７の減筒数下限値ＮＣＭＩＮ算出▲３▼処理手順を具体的な図１９のフローチャートに基づいて説明する。
【００７５】
図１９において、ステップＳ６５０１では、ブレーキＯＮフラグＸＢＲＫが「１」であるかが判定される。ステップＳ６５０１の判定条件が成立せず、即ち、ブレーキＯＮフラグＸＢＲＫが「０」でありブレーキペダル２３の踏込みがなくブレーキスイッチ２４がＯＦＦでブレーキ不作動であるときには本ルーチンを終了する。一方、ステップＳ６５０１の判定条件が成立、即ち、ブレーキＯＮフラグＸＢＲＫが「１」でありブレーキペダル２３の踏込みがありブレーキスイッチ２４がＯＮでブレーキ作動中であるときにはステップＳ６５０２に移行し、減筒数下限値ＮＣＭＩＮがブレーキＯＮ時減筒数下限値ＮＣＭＩＮB に設定されたのち本ルーチンを終了する。
【００７６】
このように、本実施例の内燃機関用制御装置は、アクセルペダル２１の踏込量に応じて駆動されるアクチュエータ２０にて設定されるスロットルバルブ１２の開度により内燃機関（図示略）の出力状態を制御するものであって、内燃機関の機関回転数ＮＥを検出する回転数センサ２５と、アクセルペダル２１の踏込量に応じたアクセル開度θa1，θa2を検出する２重系の第１及び第２のアクセル開度センサ２２Ａ，２２Ｂと、スロットルバルブ１２の実際の開度をスロットル開度（実スロットル開度）θt1，θt2として検出する２重系の第１及び第２のスロットル開度センサ１６Ａ，１６Ｂと、アクセル開度センサ２２Ａ，２２Ｂで検出されたアクセル開度θa1，θa2に基づき設定されるスロットルバルブ１２の目標とする目標スロットル開度ＴＡと第１のスロットル開度センサ１６Ａで検出されたスロットル開度θt1との目標スロットル開度偏差ｄＴＡに応じてスロットル開度θt1を目標スロットル開度ＴＡに一致させるためのモータ制御量Ｕを算出するＥＣＵ３０にて達成される制御量演算手段と、前記制御量演算手段で算出されたモータ制御量Ｕによりアクチュエータ２０を駆動し、スロットル開度θt1を制御するＥＣＵ３０にて達成されるスロットル制御手段と、内燃機関の制御システムの異常を検出するＥＣＵ３０にて達成される異常検出手段と、前記異常検出手段で制御システムの構成要素として例えば、アクセル開度センサ２２Ａ，２２Ｂまたはスロットル開度センサ１６Ａ，１６Ｂ等のうち少なくとも１つの異常が検出されたときには、目標スロットル開度ＴＡの目標スロットル開度上限値ＴＡmax を所定の開度としてスロットル開度θt1の使用範囲における使用下限開度θtminに設定すると共に、アクチュエータ２０への通電を停止するＥＣＵ３０にて達成されるフェイルセーフ手段と、前記フェイルセーフ手段による処理ののち、内燃機関の構成気筒のうち燃料供給を停止し休止させる気筒数としての減筒数を設定し、減筒制御するＥＣＵ３０にて達成される減筒制御手段と、前記減筒制御手段で設定された減筒数に対して下限減筒数を設定し、実際に休止する気筒数を制限するＥＣＵ３０にて達成される減筒数制限手段とを具備し、前記減筒数制限手段は、回転数センサ２５で検出された機関回転数ＮＥが所定回転数としての機関回転数上限値ＮＥＭＡＸ以上のとき、減筒数下限値ＮＣＭＩＮを増加または全気筒を休止させるように設定するものである。
【００７７】
したがって、アクセル開度センサ２２Ａ，２２Ｂまたはスロットル開度センサ１６Ａ，１６Ｂまたはスロットルバルブ１２等からなる内燃機関の制御システムの構成要素のうち少なくとも１つの異常が検出されたときには、目標スロットル開度ＴＡの目標スロットル開度上限値ＴＡmax がスロットル開度θt1の使用範囲における使用下限開度θtminに設定され、更に、アクチュエータ２０に対する通電が停止される。このフェイルセーフ処理による退避走行の実行に際し、減筒制御による気筒数が機関回転数ＮＥに基づく減筒数下限値ＮＣＭＩＮにて制限されることで、内燃機関の機関出力に関わる減筒数が適切なものとされ、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【００７８】
また、本実施例の内燃機関用制御装置は、ブレーキの踏込み状態を検出するブレーキスイッチ２４を具備し、ＥＣＵ３０にて達成される減筒制御手段がブレーキスイッチ２４で検出されたブレーキ状態、またはアクセル開度センサ２２Ａで検出されたアクセル開度θa1に基づき減筒数ＮＣＹＬをブレーキＯＮ時減筒数ＮＣＹＬB 、アクセル低開度時減筒数ＮＣＹＬL 、アクセル中開度時減筒数ＮＣＹＬM 、アクセル高開度時減筒数ＮＣＹＬH に設定するものである。このため、内燃機関の機関出力に関わる減筒数が運転者のブレーキペダルやアクセルペダルの挙動に見合ったものとなり、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【００７９】
更に、本実施例の内燃機関用制御装置は、ＥＣＵ３０にて達成される減筒数制限手段が所定回転数としての機関回転数上限値ＮＥＭＡＸをアクセル開度センサ２２Ａで検出されたアクセル開度θa1に基づきアクセル低開度時機関回転数上限値ＮＥＭＡＸL 、アクセル中開度時機関回転数上限値ＮＥＭＡＸM 、アクセル高開度時機関回転数上限値ＮＥＭＡＸH のうちから設定するものである。このため、内燃機関の機関回転数ＮＥが適切なものとされ、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【００８０】
また、本実施例の内燃機関用制御装置は、ＥＣＵ３０にて達成される減筒数制限手段が所定回転数としての機関回転数上限値ＮＥＭＡＸの設定に用いられる構成要素としてのアクセル開度センサ２２Ａの異常が検出されたとき、即ち、アクセル異常判定フラグＸＦＡＩＬa が「１」であるときには、所定回転数としての機関回転数上限値ＮＥＭＡＸを固定回転数ＮＥＭＡＸF に設定するものである。このため、内燃機関の機関回転数ＮＥが制限され、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【００８１】
そして、本実施例の内燃機関用制御装置は、ＥＣＵ３０にて達成される減筒数制限手段がアクセル開度センサ２２Ａで検出されたアクセル開度θa1に基づきアクセル低開度時減筒数下限値ＮＣＭＩＮL 、アクセル中開度時減筒数下限値ＮＣＭＩＮM 、アクセル高開度時減筒数下限値ＮＣＭＩＮH のうちから減筒数下限値ＮＣＭＩＮを設定するものである。このため、内燃機関の機関出力に関わる減筒数が適切なものとされ、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【００８２】
加えて、本実施例の内燃機関用制御装置は、アクセルペダル２１の踏込量に応じて駆動されるアクチュエータ２０にて設定されるスロットルバルブ１２の開度により内燃機関（図示略）の出力状態を制御するものであって、ブレーキの踏込み状態を検出するブレーキスイッチ２４と、アクセルペダル２１の踏込量に応じたアクセル開度θa1，θa2を検出する２重系の第１及び第２のアクセル開度センサ２２Ａ，２２Ｂと、スロットルバルブ１２の実際の開度をスロットル開度（実スロットル開度）θt1，θt2として検出する２重系の第１及び第２のスロットル開度センサ１６Ａ，１６Ｂと、アクセル開度センサ２２Ａ，２２Ｂで検出されたアクセル開度θa1，θa2に基づき設定されるスロットルバルブ１２の目標とする目標スロットル開度ＴＡと第１のスロットル開度センサ１６Ａで検出されたスロットル開度θt1との目標スロットル開度偏差ｄＴＡに応じてスロットル開度θt1を目標スロットル開度ＴＡに一致させるためのモータ制御量Ｕを算出するＥＣＵ３０にて達成される制御量演算手段と、前記制御量演算手段で算出されたモータ制御量Ｕによりアクチュエータ２０を駆動し、スロットル開度θt1を制御するＥＣＵ３０にて達成されるスロットル制御手段と、内燃機関の制御システムの異常を検出するＥＣＵ３０にて達成される異常検出手段と、前記異常検出手段で制御システムの構成要素として例えば、アクセル開度センサ２２Ａ，２２Ｂまたはスロットル開度センサ１６Ａ，１６Ｂ等のうち少なくとも１つの異常が検出されたときには、目標スロットル開度ＴＡの目標スロットル開度上限値ＴＡmax を所定の開度としてスロットル開度θt1の使用範囲における使用下限開度θtminに設定すると共に、アクチュエータ２０への通電を停止するＥＣＵ３０にて達成されるフェイルセーフ手段と、前記フェイルセーフ手段による処理ののち、内燃機関の構成気筒のうち燃料供給を停止し休止させる気筒数としての減筒数を設定し、減筒制御するＥＣＵ３０にて達成される減筒制御手段と、前記減筒制御手段で設定された減筒数に対して下限減筒数を設定し、実際に休止する気筒数を制限するＥＣＵ３０にて達成される減筒数制限手段とを具備し、前記減筒数制限手段にてブレーキスイッチ２４でブレーキの作動が検出されたとき、即ち、ブレーキＯＮフラグＸＢＲＫが「１」であるときには、前記減筒制御手段または前記減筒数制限手段で設定された減筒数に関わらず減筒数下限値ＮＣＭＩＮを所定値としてのブレーキＯＮ時減筒数下限値ＮＣＭＩＮB で規制するものである。つまり、ブレーキの作動時にはこのときの機関回転数ＮＥに関わらず減筒数下限値ＮＣＭＩＮがブレーキＯＮ時減筒数下限値ＮＣＭＩＮB に規制されることで、内燃機関の機関出力に関わる減筒数が適切なものとされ、機関出力が必要以上に高くなることがないため車両の不適切な挙動が未然に防止される。
【００８３】
ところで、上記実施例では、第１及び第２のスロットル開度センサ１６Ａ，１６Ｂ、第１及び第２のアクセル開度センサ２２Ａ，２２Ｂがそれぞれ並列に配設された２重系のセンサシステムにて構成されているが、本発明を実施する場合には、これに限定されるものではなく、スロットル開度センサ及びアクセル開度センサが各１つずつ配設されたセンサシステムであってもよい。
【図面の簡単な説明】
【図１】図１は本発明の実施の形態の一実施例にかかる内燃機関用制御装置を示す全体構成を示す概略図である。
【図２】図２は本発明の実施の形態の一実施例にかかる内燃機関用制御装置で使用されているＥＣＵ内のＣＰＵにおけるベースルーチンを示すフローチャートである。
【図３】図３は本発明の実施の形態の一実施例にかかる内燃機関用制御装置で使用されているＥＣＵ内のＣＰＵにおける入力処理手順を示すフローチャートである。
【図４】図４は本発明の実施の形態の一実施例にかかる内燃機関用制御装置で用いられている２重系の第１及び第２のスロットル開度センサによるスロットル開度とスロットルセンサ電圧との関係を示す特性図である。
【図５】図５は本発明の実施の形態の一実施例にかかる内燃機関用制御装置で用いられている２重系の第１及び第２のアクセル開度センサによるアクセル開度とアクセルセンサ電圧との関係を示す特性図である。
【図６】図６は本発明の実施の形態の一実施例にかかる内燃機関用制御装置で使用されているＥＣＵ内のＣＰＵにおける異常検出処理手順を示すフローチャートである。
【図７】図７は図６のスロットル異常検出処理手順を示すフローチャートである。
【図８】図８は図６のアクセル異常検出処理手順を示すフローチャートである。
【図９】図９は図６のスロットル制御異常検出処理手順を示すフローチャートである。
【図１０】図１０は本発明の実施の形態の一実施例にかかる内燃機関用制御装置で使用されているＥＣＵ内のＣＰＵにおけるフェイルセーフ処理手順を示すフローチャートである。
【図１１】図１１は本発明の実施の形態の一実施例にかかる内燃機関用制御装置で使用されているＥＣＵ内のＣＰＵにおけるノーマル制御処理手順を示すフローチャートである。
【図１２】図１２は本発明の実施の形態の一実施例にかかる内燃機関用制御装置で使用されているＥＣＵ内のＣＰＵにおける退避走行処理手順を示すフローチャートである。
【図１３】図１３は図１２の退避走行ガード処理手順を示すフローチャートである。
【図１４】図１４は図１３の減筒数下限値算出処理手順を示すフローチャートである。
【図１５】図１５は図１４の減筒数下限値算出▲１▼処理手順を示すフローチャートである。
【図１６】図１６は図１５のアクセル低・中・高開度時減筒数下限値算出処理手順を示すフローチャートである。
【図１７】図１７は図１６の機関回転数上限値算出処理手順を示すフローチャートである。
【図１８】図１８は図１４の減筒数下限値算出▲２▼処理手順を示すフローチャートである。
【図１９】図１９は図１６の減筒数下限値算出▲３▼処理手順を示すフローチャートである。
【符号の説明】
１２            スロットルバルブ
１６Ａ，１６Ｂ  スロットル開度センサ
２０            アクチュエータ
２１            アクセルペダル
２２Ａ，２２Ｂ  アクセル開度センサ
２３            ブレーキペダル
２４            ブレーキスイッチ
２５            回転数センサ
３０            ＥＣＵ（電子制御ユニット）
【図１】
0003541724.tif 000002
【図２】
0003541724.tif 000003
【図３】
0003541724.tif 000004
【図４】
0003541724.tif 000005
【図５】
0003541724.tif 000006
【図６】
0003541724.tif 000007
【図７】
0003541724.tif 000008
【図８】
0003541724.tif 000009
【図９】
0003541724.tif 000010
【図１０】
0003541724.tif 000011
【図１１】
0003541724.tif 000012
【図１２】
0003541724.tif 000013
【図１３】
0003541724.tif 000014
【図１４】
0003541724.tif 000015
【図１５】
0003541724.tif 000016
【図１６】
0003541724.tif 000017
【図１７】
0003541724.tif 000018
【図１８】
0003541724.tif 000019
【図１９】
0003541724.tif 000020