(57)【要約】【課題】  全気筒運転モードおよび部分気筒運転モードの運転モードにおいても、故障判定を精度良く行うことができる圧力センサの故障判定装置を提供する。【解決手段】  大気圧ＰＡを検出する圧力センサ１３の故障を判定する圧力センサの故障判定装置１であって、スロットル弁９の開度ＴＨを検出するスロットル弁開度検出手段１０と、スロットル弁９よりも下流側の吸気圧ＰＢＡを検出する吸気圧検出手段１１と、スロットル弁９の開度ＴＨが第１しきい値ＴＨ１３ＢＬＸよりも大きく、かつ大気圧ＰＡと吸気圧ＰＢＡとの差の絶対値｜ＰＡ−ＰＢＡ｜が第２しきい値ＤＰＡ１３Ｂよりも大きいときに、圧力センサ１３が故障していると判定する故障判定手段６と、全気筒運転モードと部分気筒運転モードのときにおいて、第１および第２しきい値ＴＨ１３ＢＬＸ、ＤＰＡ１３Ｂの少なくとも一方を互いに異なる値に持ち替えるしきい値持替手段６と、を備える。【選択図】  図３
2005113809.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒のうちのすべての気筒を運転する全気筒運転モードと、一部の気筒の運転を休止する部分気筒運転モードに、運転モードを切り換えて運転される内燃機関において、当該内燃機関を制御するためのパラメータとして大気圧を検出するために設けられた圧力センサの故障を判定する圧力センサの故障判定装置であって、
スロットル弁の開度を検出するスロットル弁開度検出手段と、
前記スロットル弁よりも下流側の吸気圧を検出する吸気圧検出手段と、
前記検出されたスロットル弁の開度が所定の第１しきい値よりも大きい場合において、前記圧力センサで検出された大気圧と前記検出された吸気圧との差の絶対値が所定の第２しきい値よりも大きいときに、前記圧力センサが故障していると判定する故障判定手段と、
前記内燃機関の運転モードが前記全気筒運転モードのときと前記部分気筒運転モードのときにおいて、前記第１しきい値および前記第２しきい値の少なくとも一方を互いに異なる値に持ち替えるしきい値持替手段と、
を備えることを特徴とする圧力センサの故障判定装置。
【請求項２】
複数の気筒のうちのすべての気筒を運転する全気筒運転モードと、一部の気筒の運転を休止する部分気筒運転モードに、運転モードを切り換えて運転される内燃機関において、当該内燃機関を制御するためのパラメータとして、スロットル弁よりも下流側の吸気圧を検出するために設けられた圧力センサの故障を判定する圧力センサの故障判定装置であって、
前記スロットル弁の開度を検出するスロットル弁開度検出手段と、
当該検出されたスロットル弁の開度が所定の第１しきい値よりも大きい場合において、前記圧力センサで検出された吸気圧が所定の第２しきい値よりも小さいときに、前記圧力センサが故障していると判定する故障判定手段と、
前記内燃機関の運転モードが前記全気筒運転モードのときと前記部分気筒運転モードのときにおいて、前記第１しきい値および前記第２しきい値の少なくとも一方を互いに異なる値に持ち替えるしきい値持替手段と、
を備えることを特徴とする圧力センサの故障判定装置。
【請求項３】
複数の気筒のうちのすべての気筒を運転する全気筒運転モードと、一部の気筒の運転を休止する部分気筒運転モードに、運転モードを切り換えて運転される内燃機関において、当該内燃機関を制御するためのパラメータとして、スロットル弁よりも下流側の吸気圧を検出するために設けられた圧力センサの故障を判定する圧力センサの故障判定装置であって、
前記スロットル弁の開度を検出するスロットル弁開度検出手段と、
当該検出されたスロットル弁の開度が所定の第１しきい値よりも小さい場合において、前記圧力センサで検出された吸気圧が所定の第２しきい値よりも大きいときに、前記圧力センサが故障していると判定する故障判定手段と、
前記内燃機関の運転モードが前記全気筒運転モードのときと前記部分気筒運転モードのときにおいて、前記第２しきい値を互いに異なる値に持ち替えるしきい値持替手段と、
を備えることを特徴とする圧力センサの故障判定装置。
【請求項４】
前記しきい値持替手段は、前記内燃機関の運転モードが前記部分気筒運転モードのときには前記全気筒運転モードのときよりも、前記第１しきい値をより小さな値に設定することを特徴とする、請求項１または２に記載の圧力センサの故障判定装置。
【請求項５】
前記しきい値持替手段は、前記内燃機関の運転モードが前記部分気筒運転モードのときには前記全気筒運転モードのときよりも、前記第２しきい値をより小さな値に設定することを特徴とする、請求項１に記載の圧力センサの故障判定装置。
【請求項６】
前記しきい値持替手段は、前記内燃機関の運転モードが前記部分気筒運転モードのときには前記全気筒運転モードのときよりも、前記第２しきい値をより大きな値に設定することを特徴とする、請求項２または３に記載の圧力センサの故障判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全気筒運転モードと部分気筒運転モードに切り換えて運転される内燃機関において、大気圧または吸気圧を検出する圧力センサの故障を判定する圧力センサの故障判定装置に関する。
【背景技術】
【０００２】
一般に、内燃機関には、スロットル弁よりも下流側の吸気圧を検出する吸気圧センサや、大気圧を検出する大気圧センサが設けられており、検出された吸気圧および大気圧は、内燃機関の制御パラメータとして用いられる。例えば、吸気圧は、内燃機関の負荷を表す代表的なパラメータとして、内燃機関の回転数とともに、燃料噴射量や点火時期の基本値などを決定するのに用いられる。また、大気圧は、内燃機関の運転環境を表す代表的なパラメータとして、燃料噴射量の高地補正などに用いられる。このため、吸気圧センサや大気圧センサに異常が生じると、内燃機関の制御を適切に行えなくなり、燃費や排気特性の悪化などを招くおそれがあることから、吸気圧センサや大気圧センサの故障を判定することが従来から知られており、例えば特許文献１および２に開示されている。
【０００３】
特許文献１は、吸気圧センサの故障判定装置を開示している。この判定装置では、スロットル弁の開度が所定値以上の場合において、吸気圧センサで検出された吸気圧が所定圧以下のときに、スロットル弁がある程度開いていて、高い吸気圧が検出されるべきであるのに対し、実際にはそのような検出値が得られていないとして、吸気圧センサが故障していると判定される。
【０００４】
また、特許文献２では、圧力センサは、切換弁によってスロットル弁の下流側と大気側に選択的に接続されることにより、吸気圧検出モードと大気圧検出モードに、交互に切り換えて用いられる。そして、吸気圧検出モードでは、スロットル弁がほぼ全閉状態でかつ内燃機関の回転数が所定値以上の場合において、圧力センサで検出された吸気圧が所定圧よりも大きいときに、スロットル弁がほぼ全閉状態にあることで、低い吸気圧が検出されるべきであるのに対し、そのような検出値が得られていないとして、圧力センサが故障していると判定される。また、大気圧検出モードでは、検出された大気圧が、第１所定圧よりも低いか、または第２所定圧（＞第１所定圧）よりも高いときに、第１および第２所定圧で規定される所定の範囲にないとして、やはり圧力センサが故障していると判定される。
【０００５】
しかし、上述した特許文献１または２に開示された故障判定装置が、すべての気筒を運転する全気筒運転モードと、一部の気筒の運転を休止する部分気筒運転モードに切り換えて運転されるタイプの内燃機関に適用された場合には、次のような問題がある。すなわち、このタイプの内燃機関では、部分気筒運転モードのときには、全気筒運転モードのときと比較して、運転される気筒の数が少なく、休止気筒では吸排気弁が休止されるため、気筒のピストンの上下動によって吸気を引く力（ポンピング能力）が全体として小さくなる。このため、両運転モード間において、スロットル弁開度に対する吸気圧の特性が異なり、スロットル弁開度が同じあっても、吸気圧は異なる値を示す。これに対し、特許文献１および２の故障判定装置では、このような運転モード間における吸気圧特性の相違が存在するにもかかわらず、故障を判定するための所定圧が両運転モードにおいて一律に用いられることになるので、いずれか一方の運転モードでは故障判定を適切に行えても、他方の運転モードでは誤判定を招くおそれがある。
【０００６】
本発明は、このような課題を解決するためになされたものであり、内燃機関が全気筒運転モードと部分気筒運転モードに切り換えて運転される場合において、いずれの運転モードにおいても、故障判定を精度良く行うことができる圧力センサの故障判定装置を提供することを目的とする。
【０００７】
【特許文献１】特許第２６２５０１８号公報
【特許文献２】特開平８−２４６９１６号公報
【発明の開示】
【課題を解決するための手段】
【０００８】
この目的を達成するため、本願の請求項１による発明は、複数の気筒のうちのすべての気筒＃１〜＃６を運転する全気筒運転モードと、一部の気筒＃１〜＃３の運転を休止する部分気筒運転モードに、運転モードを切り換えて運転される内燃機関２において、内燃機関２を制御するためのパラメータとして大気圧ＰＡを検出するために設けられた圧力センサ（実施形態における（以下、本項において同じ）大気圧センサ１３）の故障を判定する圧力センサの故障判定装置１であって、スロットル弁９の開度（スロットル弁開度ＴＨ）を検出するスロットル弁開度検出手段（スロットル弁開度センサ１０）と、スロットル弁９よりも下流側の吸気圧（吸気管内絶対圧ＰＢＡ）を検出する吸気圧検出手段（吸気圧センサ１１）と、検出されたスロットル弁９の開度が所定の第１しきい値ＴＨ１３ＢＬＸよりも大きい場合において、圧力センサで検出された大気圧ＰＡと検出された吸気圧との差の絶対値（｜ＰＡ−ＰＢＡ｜）が所定の第２しきい値ＤＰＡ１３Ｂよりも大きいときに、圧力センサが故障していると判定する故障判定手段（ＥＣＵ６、図３のステップ９、１３、２１）と、内燃機関２の運転モードが全気筒運転モードのときと部分気筒運転モードのときにおいて、第１しきい値ＴＨ１３ＢＬＸおよび第２しきい値ＤＰＡ１３Ｂの少なくとも一方を互いに異なる値に持ち替えるしきい値持替手段（ＥＣＵ６、図３のステップ６〜８、図５のステップ１０〜１２）と、を備えることを特徴とする。
【０００９】
本発明が適用される内燃機関は、全気筒運転モードと部分気筒運転モードに切り換えて運転されるタイプのものであり、また、圧力センサは、大気圧を検出する大気圧センサとして用いられている。この故障判定装置によれば、スロットル弁開度検出手段で検出されたスロットル弁の開度（スロットル弁開度）が所定の第１しきい値よりも大きく、かつ圧力センサで検出された大気圧と吸気圧検出手段で検出された吸気圧との差の絶対値が、所定の第２しきい値よりも大きいときに、圧力センサが故障していると判定される。図２は、スロットル弁開度に対する吸気圧の一般的な特性を示しており、スロットル弁開度が大きいほど、その下流側で発生する負圧が小さいことから、吸気圧が大気圧に近づき、両者の差が小さくなるという特性を有する。したがって、第１しきい値を比較的大きなスロットル弁開度に相当する値に設定するとともに、上述した条件が成立したときには、検出された大気圧と吸気圧との差の絶対値が小さな値になっていなければならないのに対し、そのような検出結果が得られていないとして、吸気圧検出手段が正常であることを前提に、大気圧センサとしての圧力センサが故障していると判定できる。
【００１０】
また、図２に示すように、吸気圧は、内燃機関が全気筒運転モードのときと部分気筒運転モードのときでは、互いに異なる値を示し、後者の方が全体として高いという特性を有する。これは、前述したように、部分気筒運転モード時には、全気筒運転モード時よりも、運転される気筒の数が少なく、ポンピング能力が小さいためである。このため、スロットル弁開度が同じであれば、大気圧と吸気圧との差は、部分気筒運転モードの方が小さく、また、大気圧と吸気圧との差が同じであれば、そのときのスロットル弁開度は、部分気筒運転モードの方が小さい。このような吸気圧特性に基づき、本発明によれば、故障判定の実行条件を判定するためにスロットル弁開度と比較される第１しきい値、および故障を判定するために大気圧と吸気圧との差の絶対値と比較される第２しきい値の少なくとも一方を、両運転モードにおいて互いに異なる値に持ち替える。したがって、いずれの運転モードにおいても、第１および第２しきい値を、吸気圧特性の相違に応じた適切な値に設定することができ、それにより、大気圧センサとしての圧力センサの故障を精度良く判定することができる。
【００１１】
また、前述した目的を達成するため、請求項２による発明は、複数の気筒のうちのすべての気筒＃１〜＃６を運転する全気筒運転モードと、一部の気筒＃１〜＃３の運転を休止する部分気筒運転モードに、運転モードを切り換えて運転される内燃機関２において、内燃機関２を制御するためのパラメータとして、スロットル弁９よりも下流側の吸気圧（吸気管内絶対圧ＰＢＡ）を検出するために設けられた圧力センサ（吸気圧センサ１１）の故障を判定する圧力センサの故障判定装置１であって、スロットル弁９の開度（スロットル弁開度ＴＨ）を検出するスロットル弁開度検出手段（スロットル弁開度センサ１０）と、検出されたスロットル弁９の開度が所定の第１しきい値ＴＨ５ＢＬＬＸよりも大きい場合において、圧力センサで検出された吸気圧が所定の第２しきい値ＰＢ５ＢＬＬよりも小さいときに、圧力センサが故障していると判定する故障判定手段（ＥＣＵ６、図７のステップ３８、４２、５０）と、内燃機関２の運転モードが全気筒運転モードのときと部分気筒運転モードのときにおいて、第１しきい値ＴＨ５ＢＬＬＸおよび第２しきい値ＰＢ５ＢＬＬの少なくとも一方を互いに異なる値に持ち替えるしきい値持替手段（ＥＣＵ６、図７のステップ３５〜３７、図１０のステップ３９〜４１）と、を備えることを特徴とする。
【００１２】
本発明が適用される内燃機関もまた、全気筒運転モードと部分気筒運転モードに切り換えて運転されるタイプのものであり、圧力センサは、スロットル弁よりも下流側の吸気圧を検出する吸気圧センサとして用いられている。この故障判定装置によれば、検出されたスロットル弁開度が所定の第１しきい値よりも大きく、かつ圧力センサで検出された吸気圧が、所定の第２しきい値よりも小さいときに、圧力センサが故障していると判定される。前述した吸気圧特性から、吸気圧は、スロットル弁開度が大きいほど、その下流側で発生する負圧が小さくなるため、より高い値を示す。したがって、第１しきい値を比較的大きなスロットル開度に相当する値に設定するとともに、上述した条件が成立したときには、検出された吸気圧が高い値になっていなければならないのに対し、そのような検出結果が得られず、検出値が低圧側に大きくずれているとして、吸気圧センサとしての圧力センサが低圧側に故障していると判定することができる。
【００１３】
また、前述した両運転モード間における吸気圧特性の相違から、スロットル弁開度が同じであれば、吸気圧は、部分気筒運転モードの方が大きく、また、吸気圧が同じであれば、そのときのスロットル弁開度は、部分気筒運転モードの方が小さい。このような吸気圧特性に基づき、本発明によれば、故障判定の実行条件を判定するためにスロットル弁開度と比較される第１しきい値、および故障を判定するために吸気圧と比較される第２しきい値の少なくとも一方を、両運転モードにおいて互いに異なる値に持ち替える。したがって、いずれの運転モードにおいても、第１および第２しきい値を、吸気圧特性の相違に応じた適切な値に設定することができ、それにより、吸気圧センサとしての圧力センサの低圧側の故障を、精度良く判定することができる。
【００１４】
また、前述した目的を達成するため、請求項３による発明は、複数の気筒のうちのすべての気筒＃１〜＃６を運転する全気筒運転モードと、一部の気筒＃１〜＃３の運転を休止する部分気筒運転モードに、運転モードを切り換えて運転される内燃機関２において、内燃機関２を制御するためのパラメータとして、スロットル弁９よりも下流側の吸気圧（吸気管内絶対圧ＰＢＡ）を検出するために設けられた圧力センサ（吸気圧センサ１１）の故障を判定する圧力センサの故障判定装置１であって、スロットル弁９の開度（スロットル弁開度ＴＨ）を検出するスロットル弁開度検出手段（スロットル弁開度センサ１０）と、検出されたスロットル弁９の開度が所定の第１しきい値（アイドル開度ＴＨＩＤＬＥ）よりも小さい場合において、圧力センサで検出された吸気圧が所定の第２しきい値ＰＢ５ＢＨＨＸよりも大きいときに、圧力センサが故障していると判定する故障判定手段（ＥＣＵ６、図１２のステップ６５、６９、７６）と、内燃機関２の運転モードが全気筒運転モードのときと部分気筒運転モードのときにおいて、第２しきい値ＰＢ５ＢＨＨＸを互いに異なる値に持ち替えるしきい値持替手段（ＥＣＵ６、図１２のステップ６６〜６８）と、を備えることを特徴とする。
【００１５】
請求項２に係る発明と同様、本発明が適用される内燃機関は、全気筒運転モードと部分気筒運転モードに切り換えて運転されるタイプのものであり、圧力センサは、スロットル弁よりも下流側の吸気圧を検出する吸気圧センサとして用いられている。この故障判定装置によれば、検出されたスロットル弁開度が所定の第１しきい値よりも小さく、かつ圧力センサで検出された吸気圧が、所定の第２しきい値よりも大きいときに、圧力センサが故障していると判定される。前述した吸気圧特性から、吸気圧は、スロットル弁開度が小さいほど、下流側で発生する負圧が大きくなるため、より小さな値を示す。したがって、第１しきい値を比較的小さなスロットル開度に相当する値に設定するとともに、上述した条件が成立したときには、検出された吸気圧が低い値になっていなければならないのに対し、そのような検出結果が得られず、検出値が高圧側に大きくずれているとして、吸気圧センサとしての圧力センサが高圧側に故障していると判定することができる。
【００１６】
また、本発明によれば、前述した両運転モード間における吸気圧特性の相違に基づき、故障を判定するために吸気圧と比較される第２しきい値を、両運転モードにおいて互いに異なる値に持ち替える。したがって、いずれの運転モードにおいても、第２しきい値を、吸気圧特性の相違に応じた適切な値に設定することができ、それにより、吸気圧センサとしての圧力センサの高圧側の故障を、精度良く判定することができる。
【００１７】
請求項４に係る発明は、請求項１または２に記載の圧力センサの故障判定装置において、しきい値持替手段は、内燃機関２の運転モードが部分気筒運転モードのときには全気筒運転モードのときよりも、第１しきい値ＴＨ１３ＢＬＸ、ＴＨ５ＢＬＬＸをより小さな値に設定する（図３のステップ６〜８、図４、図７のステップ３５〜３７、図８）ことを特徴とする。
【００１８】
前述した両運転モード間における吸気圧特性の相違から、大気圧と吸気圧との差が同じとき、あるいは吸気圧が同じときには、そのときのスロットル弁開度は、部分気筒運転モードの方が小さい。したがって、部分気筒運転モードのときに、全気筒運転モードのときよりも、第１しきい値をより小さな値に設定することによって、第１しきい値を、いずれの運転モードにおいても、吸気圧特性の相違に応じた最適な値に設定することができる。
【００１９】
請求項５に係る発明は、請求項１に記載の圧力センサの故障判定装置において、しきい値持替手段は、内燃機関２の運転モードが部分気筒運転モードのときには全気筒運転モードのときよりも、第２しきい値ＤＰＡ１３Ｂをより小さな値に設定する（図５のステップ１０〜１２、図６）ことを特徴とする。
【００２０】
前述した両運転モード間における吸気圧特性の相違から、スロットル弁開度が同じであれば、そのときの大気圧と吸気圧との差は、部分気筒運転モードの方が小さい。したがって、部分気筒運転モードのときに、全気筒運転モードのときよりも、第２しきい値をより小さな値に設定することによって、第２しきい値を、いずれの運転モードにおいても、吸気圧特性の相違に応じた最適な値に設定することができる。
【００２１】
また、請求項６に係る発明は、請求項２または３に記載の圧力センサの故障判定装置において、しきい値持替手段は、内燃機関２の運転モードが部分気筒運転モードのときには全気筒運転モードのときよりも、第２しきい値ＰＢ５ＢＬＬ、ＰＢ５ＢＨＨＸをより大きな値に設定する（図１０のステップ３９〜４１、図９、図１１、図１２のステップ６６〜６８、図１３）ことを特徴とする。
【００２２】
前述した両運転モード間における吸気圧特性の相違から、スロットル弁開度が同じであれば、そのときの吸気圧は、部分気筒運転モードの方が大きい。したがって、部分気筒運転モードのときに、全気筒運転モードのときよりも、第２しきい値をより大きな値に設定することによって、第２しきい値を、いずれの運転モードにおいても、吸気圧特性の相違に応じた最適な値に設定することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態による圧力センサの故障判定装置を、可変気筒式内燃機関とともに概略的に示す図である。
【図２】エンジンの運転モードおよびスロットル弁開度に応じた吸気圧の特性を示す図である。
【図３】大気圧センサの故障判定処理を示すフローチャートである。
【図４】図３の処理において第１しきい値ＴＨ１３ＢＬＸの設定に用いられるテーブルの一例を示す図である。
【図５】大気圧センサの故障判定処理の変形例を示すフローチャートである。
【図６】図５の処理において第２しきい値ＤＰＡ１３Ｂの設定に用いられるテーブルの一例を示す図である。
【図７】吸気圧センサの低圧側の故障判定処理を示すフローチャートである。
【図８】図７の処理において第１しきい値ＴＨ５ＢＬＬＸの設定に用いられるテーブルの一例を示す図である。
【図９】図７の処理において第２しきい値ＰＢ５ＢＬＬの設定に用いられるテーブルの一例を示す図である。
【図１０】吸気圧センサの低圧側の故障判定処理の変形例を示すフローチャートである。
【図１１】図１０の処理において第２しきい値ＰＢ５ＢＬＬの設定に用いられるテーブルの一例を示す図である。
【図１２】吸気圧センサの高圧側の故障判定処理を示すフローチャートである。
【図１３】図１２の処理において第２しきい値ＰＢ５ＢＨＨＸの設定に用いられるテーブルの一例を示す図である。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の好ましい実施形態を、図面を参照しながら説明する。図１は、本発明の実施形態による圧力センサの故障判定装置１を、これを適用した可変気筒式内燃機関とともに示している。この可変気筒式内燃機関（以下「エンジン」という）２は、図示しない車両に搭載されたＶ型６気筒のＤＯＨＣガソリンエンジンである。
【００２５】
同図に示すように、エンジン２は、右バンク２Ｒの３つの気筒＃１、＃２、＃３と、左バンク２Ｌの３つの気筒＃４、＃５、＃６を備えている。このエンジン２では、運転モードが全気筒運転モードと部分気筒運転モードに切り換えて運転される。また、右バンク２Ｒには、部分気筒運転モードを実行するための気筒休止機構３が設けられている。
【００２６】
気筒休止機構３は、油路４ａ、４ｂを介して油圧ポンプ（図示せず）に接続されている。また、油圧ポンプと気筒休止機構３の間には、吸気弁用および排気弁用の電磁弁５ａ、５ｂが配置されている。これらの電磁弁５ａ、５ｂはいずれも、後述するＥＣＵ６に電気的に接続された常閉型のものであり、ＥＣＵ６からの駆動信号によりＯＮされたときに、油路４ａ、４ｂをそれぞれ開放する。部分気筒運転モードのときには、電磁弁５ａ、５ｂがいずれもＯＮされ、油路４ａ、４ｂを開放することにより、気筒休止機構３に対して油圧ポンプからの油圧が供給される。これにより、右バンク２Ｒの気筒＃１〜＃３において、吸気弁と吸気カムの間および排気弁と排気カム（いずれも図示せず）の間が遮断されることで、吸気弁および排気弁が休止状態（閉鎖状態）に保持される。
【００２７】
一方、全気筒運転モードのときには、上記とは逆に、電磁弁５ａ、５ｂがともにＯＦＦされ、油路４ａ、４ｂを閉鎖することにより、油圧ポンプから気筒休止機構３への油圧の供給が停止される。これにより、右バンク２Ｒの気筒＃１〜＃３において、吸気弁と吸気カムの間および排気弁と排気カムの間の遮断状態が解除されることで、吸気弁および排気弁が可動状態になる。
【００２８】
６つの気筒＃１〜＃６には、インテークマニホールド７ａを介して吸気管７が接続されている。インテークマニホールド７ａの各分岐部７ｂには、各気筒の吸気ポート（図示せず）に臨むようにインジェクタ８が取り付けられている。これらのインジェクタ８は、ＥＣＵ６からの駆動信号によって制御され、全気筒運転モードのときには、すべてのインジェクタ８から燃料が各分岐部７ｂ内に噴射される。一方、部分気筒運転モードのときには、右バンク２Ｒの３つのインジェクタ８からの燃料噴射が停止するように制御される。
【００２９】
以上のように、部分気筒運転モードのときには、吸気弁および排気弁の休止と、インジェクタ８からの燃料噴射の休止とによって、右バンク２Ｒの３つの気筒＃１〜＃３が休止される。一方、全気筒運転モードのときには、６つの気筒＃１〜＃６がすべて運転される。
【００３０】
エンジン２の吸気管７には、スロットル弁９が設けられている。このスロットル弁９の開度（以下「スロットル弁開度」という）ＴＨは、これに連結されたモータ２１を介して、ＥＣＵ６からの駆動信号によって制御される。スロットル弁開度ＴＨは、スロットル弁開度センサ１０（スロットル弁開度検出手段）によって検出され、その信号はＥＣＵ６に出力される。
【００３１】
さらに、吸気管７のスロットル弁９よりも下流側には、吸気圧センサ１１（吸気圧検出手段、圧力センサ）が設けられている。吸気圧センサ１１は、半導体圧力センサなどで構成されており、スロットル弁９よりも下流側の吸気圧（以下「吸気管内絶対圧」という）ＰＢＡを、絶対値として検出し、その検出信号をＥＣＵ６に出力する。また、吸気管７のスロットル弁９よりも下流側と排気管（図示せず）との間には、ＥＧＲ管２２が接続されており、その途中に設けられたＥＧＲ制御弁２３の開度をＥＣＵ６で制御することによって、ＥＧＲ量が制御される。
【００３２】
さらに、ＥＣＵ６には、エンジン回転数センサ１２からエンジン２の回転数（以下「エンジン回転数」という）ＮＥを表す検出信号が、大気圧センサ１３（圧力センサ）から大気圧ＰＡを表す検出信号が、アクセル開度センサ１４から、アクセルペダル（図示せず）の開度（以下「アクセル開度」という）ＡＰを表す検出信号が、エンジン水温センサ１５からエンジン水温ＴＷを表す検出信号が、車速センサ１６から、車両の速度（以下「車速」という）ＶＰを表す検出信号が、それぞれ出力される。
【００３３】
ＥＣＵ６は、本実施形態において、故障判定手段およびしきい値持替手段を構成するものであり、Ｉ／Ｏインターフェース、ＣＰＵ、ＲＡＭおよびＲＯＭなどから成るマイクロコンピュータで構成されている。上記のセンサ１０〜１６からの検出信号は、Ｉ／ＯインターフェースでＡ／Ｄ変換がなされた後、ＣＰＵに入力される。ＣＰＵは、これらの検出信号に応じ、ＲＯＭに記憶された制御プログラムなどに従って、エンジン２の運転状態を判別するとともに、判別した運転状態に応じて、以下のような各種の制御のための演算処理を実行する。
【００３４】
まず、エンジン２の運転モードを全気筒運転モードおよび部分気筒運転モードのいずれかに決定する。具体的には、エンジン回転数ＮＥが所定の範囲内にあるとき、またはアクセル開度ＡＰが、エンジン回転数ＮＥに応じて定められる所定値を下回っているときに、運転モードを部分気筒運転モードに決定する一方、それ以外のときに全気筒運転モードに決定する。また、決定した運転モードに応じ、気筒休止機構３の電磁弁５ａ、５ｂに駆動信号を出力することによって、エンジン２を決定した運転モードに制御する。さらに、運転モードと、吸気圧センサ１１で検出された吸気管内絶対圧ＰＢＡおよびエンジン回転数ＮＥ、さらには大気圧センサ１３で検出された大気圧ＰＡなどに応じて、インジェクタ８の燃料噴射時間を算出し、それに基づく駆動信号を各インジェクタ８に出力することによって、燃料噴射量を制御する。
【００３５】
図３は、ＥＣＵ６で実行される大気圧センサ１３の故障判定処理を示すフローチャートである。なお、このフローチャートおよび後述するフローチャートでは、ＥＣＵ６のＲＯＭに記憶されている固定値のデータについては、その先頭に「＃」を付し、ＲＡＭに一時的に記憶されるデータと区別して表すものとする。この処理ではまず、ステップ１（「Ｓ１」と図示。以下同じ）およびステップ２において、故障判定済みフラグＦ＿ＤＯＮＥ１３Ｂが「１」であるか否か、および正常フラグＦ＿ＯＫ１３Ｂが「１」であるか否かをそれぞれ判別する。ステップ１の答がＹＥＳで、大気圧センサ１３の故障判定がすでに終了しているとき、あるいはステップ２の答がＮＯで、すでに大気圧センサ１３が正常でないと判定されているときには、本プログラムを終了する。
【００３６】
ステップ１の答がＮＯで、かつステップ２の答がＹＥＳのときには、吸気圧センサ１１の仮正常フラグＦ＿ＫＯＫ５Ｂおよびスロットル弁開度センサ１０の仮正常フラグＦ＿ＫＯＫ７Ｒが、それぞれ「１」であるか否かを判別する（ステップ３、４）。これらの仮正常フラグＦ＿ＫＯＫ５Ｂ，Ｆ＿ＫＯＫ７Ｒは、エンジン２の始動直後に、吸気圧センサ１１およびスロットル弁開度センサ１０から検出信号が出力されたときに、これらのセンサ１１、１０が作動しており、一応、正常であるとして、「１」にセットされるものである。ステップ３、４の答のいずれかがＮＯのときには、吸気圧センサ１１またはスロットル弁開度センサ１０が正常に作動していないおそれがあるため、故障判定の実行条件が成立していないとして、ステップ５に進む。このステップ５では、ダウンカウント式の故障判定ディレイタイマＴＦＳ１３Ｂおよび正常判定ディレイタイマＴＯＫ１３Ｂの値を、それぞれ所定時間＃ＴＭ１３Ｂ（例えば２５００ｍｓ）にセットし、その後、本プログラムを終了する。
【００３７】
前記ステップ３および４の答がいずれもＹＥＳのときには、気筒休止フラグＦ＿ＣＳＴＰが「１」であるか否かを判別する（ステップ６）。この気筒休止フラグＦ＿ＣＳＴＰは、エンジン２の運転モードが部分気筒運転モードのときに「１」に、全気筒運転モードのときに「０」にそれぞれセットされるものである。この答がＮＯで、エンジン２が全気筒運転モード中のときには、エンジン回転数ＮＥに応じ、図４の＃ＴＨ１３ＢＬテーブルを検索することによって、全気筒運転モード用のテーブル値＃ＴＨ１３ＢＬを求め、第１しきい値ＴＨ１３ＢＬＸとして設定する（ステップ７）。このテーブルでは、テーブル値＃ＴＨ１３ＢＬは、エンジン回転数ＮＥが高いほど、より大きな値に設定されている。これは、エンジン回転数ＮＥが高いほど、それに応じて吸気管内絶対圧ＰＢＡが高くなるためである。
【００３８】
一方、ステップ６の答がＹＥＳで、エンジン２が部分気筒運転モード中のときには、エンジン回転数ＮＥに応じ、図４の＃ＴＨ１３ＢＣＬテーブルを検索することによって、部分気筒運転モード用のテーブル値＃ＴＨ１３ＢＣＬを求め、第１しきい値ＴＨ１３ＢＬＸとして設定する（ステップ８）。このテーブルでは、テーブル値＃ＴＨ１３ＢＣＬは、エンジン回転数ＮＥが高いほど、より大きな値に設定されるとともに、全気筒運転モード用のテーブル値＃ＴＨ１３ＢＬよりも小さな値に設定されている。これは、前述した吸気圧特性から、部分気筒運転モードのときには、全気筒運転モードのときよりも、吸気管内絶対圧ＰＢＡが高くなるためである。
【００３９】
次いで、ステップ９では、スロットル弁開度ＴＨが、ステップ７または８で設定された第１しきい値ＴＨ１３ＢＬＸよりも大きいか否かを判別する。この答がＮＯで、ＴＨ≦ＴＨ１３ＢＬＸのときには、故障判定の実行条件が成立していないとして、前記ステップ５を実行した後、本プログラムを終了する。
【００４０】
一方、ステップ９の答がＹＥＳで、ＴＨ＞ＴＨ１３ＢＬＸのときには、大気圧センサ１３で検出された大気圧ＰＡと吸気管内絶対圧ＰＢＡとの差の絶対値｜ＰＡ−ＰＢＡ｜が、所定の第２しきい値＃ＤＰＡ１３Ｂ（例えば１９０ｍｍＨｇ）よりも小さいか否かを判別する（ステップ１３）。この答がＹＥＳで、｜ＰＡ−ＰＢＡ｜＜＃ＤＰＡ１３Ｂのときには、故障判定ディレイタイマＴＦＳ１３Ｂの値を所定時間＃ＴＭ１３Ｂにセットした（ステップ１４）後、正常判定ディレイタイマＴＯＫ１３Ｂの値が０であるか否かを判別する（ステップ１５）。
【００４１】
この答がＮＯのときには、そのまま本プログラムを終了する。一方、ステップ１５の答がＹＥＳのとき、すなわち｜ＰＡ−ＰＢＡ｜＜＃ＤＰＡ１３Ｂの状態が、所定時間＃ＴＭ１３Ｂの間、継続したときには、スロットル弁開度ＴＨが大きい場合において、大気圧ＰＡと吸気管内絶対圧ＰＢＡとの差が小さいという正常な検出結果が得られていることで、大気圧センサ１３が正常であると判定して、そのことを表すために、正常フラグＦ＿ＯＫ１３Ｂを「１」にセットし（ステップ１６）、本プログラムを終了する。
【００４２】
一方、前記ステップ１３の答がＮＯで、｜ＰＡ−ＰＢＡ｜≧＃ＤＰＡ１３Ｂのときには、正常判定ディレイタイマＴＯＫ１３Ｂの値を所定時間＃ＴＭ１３Ｂにセットした（ステップ１７）後、故障判定ディレイタイマＴＦＳ１３Ｂの値が０であるか否かを判別する（ステップ１８）。この答がＮＯのときには、そのまま本プログラムを終了する。一方、ステップ１８の答がＹＥＳのとき、すなわち｜ＰＡ−ＰＢＡ｜≧＃ＤＰＡ１３Ｂの状態が、所定時間＃ＴＭ１３Ｂの間、継続したときには、スロットル弁開度ＴＨが大きいにもかかわらず、大気圧ＰＡと吸気管内絶対圧ＰＢＡとの差が大きいという異常な検出結果が得られていることで、大気圧センサ１３が故障していると判定して、ステップ１９以降に進む。
【００４３】
ステップ１９および２０では、吸気圧センサ１１の低圧側故障フラグＦ＿ＦＳＤ０５ＢＬ、およびスロットル弁開度センサ１０の故障フラグＦ＿ＦＳＤ０７Ｒが、「１」であるか否かをそれぞれ判別する。前者Ｆ＿ＦＳＤ０５ＢＬは、後述する図６などの判定処理において、吸気圧センサ１１がその検出値が低圧側にずれた状態で故障していると判定されたときに、後者Ｆ＿ＦＳＤ０７Ｒは、図示しない判定処理において、スロットル弁開度センサ１０が故障していると判定されたときに、それぞれ「１」にセットされるものである。これらの答のいずれかがＹＥＳのときには、吸気圧センサ１１またはスロットル弁開度センサ１０が故障していることで、それらの検出値に基づいて行われる大気圧センサ１３の故障判定の信頼性が乏しいとして、その確定を保留し、そのまま本プログラムを終了する。
【００４４】
一方、ステップ１９および２０の答がいずれもＮＯのときには、大気圧センサ１３が故障していると確定し、そのことを表すために、ステップ２１において、大気圧センサ１３の故障フラグＦ＿ＦＳＤ１３Ｂを「１」にセットするとともに、正常フラグＦ＿ＯＫ１３Ｂを「０」にセットする。次いで、故障判定済みフラグＦ＿ＤＯＮＥ１３Ｂを「１」にセットし（ステップ２２）、本プログラムを終了する。
【００４５】
このように大気圧センサ１３が故障していると判定され、ステップ２１および２２が実行された後には、前記ステップ１の答がＹＥＳ、または前記ステップ２の答がＮＯになることで、本プログラムは直ちに終了される。すなわち、前記ステップ３以降の処理は、エンジン２の運転中、大気圧センサ１３が正常と判定されている限り、繰り返し実行されるとともに、大気圧センサ１３の故障が確定された後には実行されない。
【００４６】
以上のように、この大気圧センサ１３の故障判定処理によれば、スロットル弁開度ＴＨが所定の第１しきい値ＴＨ１３ＢＬＸよりも大きい場合において、大気圧ＰＡと吸気管内絶対圧ＰＢＡ圧との差の絶対値｜ＰＡ−ＰＢＡ｜が所定の第２しきい値＃ＤＰＡ１３Ｂよりも大きいときに、大気圧センサ１３が故障していると判定することができる。また、第１しきい値ＴＨ１３ＢＬＸを、エンジン２の運転モードに応じ、全気筒運転モードのときにはテーブル値＃ＴＨ１３ＢＬに、部分気筒運転モードのときにはより小さなテーブル値＃ＴＨ１３ＢＣＬに、それぞれ持ち替えて設定する。したがって、いずれの運転モードにおいても、第１しきい値ＴＨ１３ＢＬＸを、運転モード間における吸気圧特性の相違に応じた適切な値に設定でき、それにより、大気圧センサ１３の故障判定を精度良く行うことができる。
【００４７】
図５は、大気圧センサ１３の故障判定処理の変形例を示すフローチャートである。なお、この処理は、上述した図３の故障判定処理と比較して、第１しきい値ＴＨ１３ＢＬＸおよび第２しきい値ＤＰＡ１３Ｂの設定方法のみが異なるので、同じ実行内容のステップについては同じ番号を付するとともに、異なる実行内容の部分を中心として説明を行うものとする。
【００４８】
この処理では、図３と同様にステップ１〜５を実行するとともに、ステップ４の答がＹＥＳのときには、ステップ７において、第１しきい値ＴＨ１３ＢＬＸを設定する。本例では、第１しきい値ＴＨ１３ＢＬＸは、全気筒運転モードと部分気筒運転モードの間で共通の値に設定されており、図４の全気筒運転モード用の＃ＴＨ１３ＢＬテーブルが代表して用いられ、エンジン回転数ＮＥに応じて設定される。次いで、図３の処理と同様、ステップ９において、スロットル弁開度ＴＨがこの第１しきい値ＴＨ１３ＢＬＸよりも大きいか否かを判別し、その答がＮＯで、ＴＨ≦ＴＨ１３ＢＬＸのときには、故障判定の実行条件が成立していないとして、ステップ５を実行した後、本プログラムを終了する。
【００４９】
一方、ステップ９の答がＹＥＳで、ＴＨ＞ＴＨ１３ＢＬＸのときには、気筒休止フラグＦ＿ＣＳＴＰが「１」であるか否かを判別する（ステップ１０）。この答がＮＯで、エンジン２が全気筒運転モード中のときには、エンジン回転数ＮＥに応じ、図６の＃ＤＰＡ１３ＢＬテーブルを検索することによって、全気筒運転モード用のテーブル値＃ＤＰＡ１３ＢＬを求め、第２しきい値ＤＰＡ１３Ｂとして設定する（ステップ１１）。このテーブルでは、テーブル値＃ＤＰＡ１３ＢＬは、エンジン回転数ＮＥが高くなるにつれて、吸気管内絶対圧ＰＢＡが高くなり、大気圧ＰＡとの差が小さくなるという特性から、ＮＥ値が高いほど、より小さな値に設定されている。
【００５０】
一方、ステップ１０の答がＹＥＳで、エンジン２が部分気筒運転モード中のときには、エンジン回転数ＮＥに応じ、図６の＃ＤＰＡ１３ＢＣＬテーブルを検索することによって、部分気筒運転モード用のテーブル値＃ＤＰＡ１３ＢＣＬを求め、第２しきい値ＤＰＡ１３Ｂとして設定する（ステップ１２）。このテーブルでは、テーブル値＃ＤＰＡ１３ＢＣＬは、エンジン回転数ＮＥが高いほど、より小さな値に設定されるとともに、全気筒運転モード用のテーブル値＃ＤＰＡ１３ＢＬよりも小さな値に設定されている。これは、前述した運転モード間における吸気圧特性の相違から、スロットル弁開度ＴＨが同じという条件では、部分気筒運転モードの方が、吸気管内絶対圧ＰＢＡが高く、大気圧ＰＡとの差が小さくなるためである。
【００５１】
次いで、図３の処理と同様、ステップ１３において、大気圧ＰＡと吸気管内絶対圧ＰＢＡとの差の絶対値｜ＰＡ−ＰＢＡ｜が、ステップ１１または１２で設定した第２しきい値ＤＰＡ１３Ｂよりも小さいか否かを判別する。この答がＹＥＳで、｜ＰＡ−ＰＢＡ｜＜ＤＰＡ１３Ｂのときには、図３の処理と同様、ステップ１４〜１６を実行し、所定時間＃ＴＭ１３Ｂの経過を待って、大気圧センサ１３が正常であると判定し、正常フラグＦ＿ＯＫ１３Ｂを「１」にセットする。一方、ステップ１３の答がＮＯで、｜ＰＡ−ＰＢＡ｜≧ＤＰＡ１３Ｂのときには、図３の処理と同様、ステップ１７〜２２を実行し、所定時間＃ＴＭ１３Ｂの経過などを条件として、大気圧センサ１３が故障していると確定し、故障フラグＦ＿ＦＳＤ１３Ｂを「１」に、正常フラグＦ＿ＯＫ１３Ｂを「０」にそれぞれセットする。
【００５２】
以上のように、この大気圧センサ１３の故障判定処理によれば、第１しきい値ＴＨ１３ＢＬＸを両運転モード間で共通の値に設定する一方、第２しきい値ＤＰＡ１３Ｂを、全気筒運転モードのときにはテーブル値＃ＤＰＡ１３ＢＬに、部分気筒運転モードのときにはより小さなテーブル値＃ＤＰＡ１３ＢＣＬに、それぞれ持ち替えて設定する。したがって、いずれの運転モードにおいても、第２しきい値ＤＰＡ１３Ｂを、運転モード間における吸気圧特性の相違に応じた適切な値に設定でき、図３の処理の場合と同様、大気圧センサ１３の故障判定を精度良く行うことができる。
【００５３】
図７は、吸気圧センサ１１の低圧側の故障判定処理を示すフローチャートである。この処理は、吸気センサ１１が、検出値が低圧側にずれた状態で故障しているか否かを判定するものである。この処理ではまず、ステップ３１において、故障判定済みフラグＦ＿ＤＯＮＥ０５ＢＬが「１」であるか否かを判別する。この答がＹＥＳで、吸気圧センサ１１の低圧側の故障判定がすでに終了しているときには、正常判定ディレイタイマＴＯＫ５ＢＬおよび故障判定ディレイタイマＴＦＳ５ＢＬの値を、それぞれ所定時間＃ＴＭ５ＢＬ（例えば２０００ｍｓ）にセットし（ステップ３２）、本プログラムを終了する。
【００５４】
ステップ３１の答がＮＯのときには、スロットル弁開度センサ１０の仮正常フラグＦ＿ＫＯＫ７Ｒが「１」であるか否かを判別する（ステップ３３）。この答がＮＯのときには、故障判定の実行条件が成立していないとして、前記ステップ３２の実行後、本プログラムを終了する。
【００５５】
ステップ３３の答がＹＥＳのときには、エンジン回転数ＮＥが、所定の下限回転数＃ＮＥ５ＢＬＬ（例えば１２００ｒｐｍ）と上限回転数＃ＮＥ５ＢＬＨ（例えば６５００ｒｐｍ）の間にあり、車速ＶＰが所定速度＃ＶＰ５ＢＬＬ（例えば２４ｋｍ／ｈ）よりも大きく、かつエンジン水温ＴＷが所定温度＃ＴＷ５Ｂ７ＲＬ（例えば６８．８℃）よりも高いか否かを判別する（ステップ３４）。この答がＮＯで、エンジン回転数ＮＥ、車速ＶＰおよびエンジン水温ＴＷのいずれかが、所定の範囲にないときには、故障判定の実行条件が成立していないとして、前記ステップ３２の実行後、本プログラムを終了する。
【００５６】
前記ステップ３４の答がＹＥＳのときには、気筒休止フラグＦ＿ＣＳＴＰが「１」であるか否かを判別する（ステップ３５）。この答がＮＯで、エンジン２が全気筒運転モード中のときには、エンジン回転数ＮＥに応じ、図８の＃ＴＨ５ＢＬＬテーブルを検索することによって、全気筒運転モード用のテーブル値＃ＴＨ５ＢＬＬを求め、第１しきい値ＴＨ５ＢＬＬＸとして設定する（ステップ３６）。このテーブルでは、テーブル値＃ＴＨ５ＢＬＬは、エンジン回転数ＮＥが高くなるにつれて吸気管内絶対圧ＰＢＡが高くなるという吸気圧特性から、ＮＥ値が高いほど、より大きな値に設定されている。
【００５７】
一方、ステップ３５の答がＹＥＳで、エンジン２が部分気筒運転モード中のときには、エンジン回転数ＮＥに応じ、図８の＃ＴＨ５ＢＣＬＬテーブルを検索することによって、部分気筒運転モード用のテーブル値＃ＴＨ５ＢＣＬＬを求め、第１しきい値ＴＨ５ＢＬＬＸとして設定する（ステップ３７）。このテーブルでは、テーブル値＃ＴＨ５ＢＣＬＬは、エンジン回転数ＮＥが高いほど、より大きな値に設定されるとともに、全気筒運転モード用のテーブル値＃ＴＨ５ＢＬＬよりも小さな値に設定されている。これは、前述した吸気圧特性から、部分気筒運転モードのときには、全気筒運転モードのときよりも、吸気管内絶対圧ＰＢＡが高くなるためである。
【００５８】
次いで、ステップ３８では、スロットル弁開度ＴＨが、ステップ３６または３７で設定された第１しきい値ＴＨ５ＢＬＬＸよりも大きいか否かを判別する。この答がＮＯで、ＴＨ≦ＴＨ５ＢＬＬＸのときには、故障判定の実行条件が成立していないとして、前記ステップ３２の実行後、本プログラムを終了する。
【００５９】
一方、ステップ３８の答がＹＥＳで、ＴＨ＞ＴＨ５ＢＬＬＸのときには、エンジン回転数ＮＥおよび大気圧ＰＡに応じ、図９のテーブルを検索することによって、テーブル値＃ＰＢ５ＢＬＬＸを求め、第２しきい値ＰＢ５ＢＬＬとして設定する（ステップ４０）。同図に示すように、このテーブルは、平地用の＃ＰＢ５ＢＬＬＨテーブルおよび高地用の＃ＰＢ５ＢＬＬＬテーブルと、大気圧補正用の補正テーブルで構成されている。高地用のテーブル値＃ＰＢ５ＢＬＬＬは、平地用のテーブル値＃ＰＢ５ＢＬＬＨよりも小さな値に設定されている。これは、高地では平地と比較して、空気の密度が低く、それに応じて吸気管内絶対圧ＰＢＡも全体として低くなるためである。そして、これらのテーブルを用い、まずエンジン回転数ＮＥに応じて、平地用および高地用のテーブル値＃ＰＢ５ＢＬＬＨ、＃ＰＢ５ＢＬＬＬをそれぞれ求め、次いで、これらを補正テーブルにより大気圧ＰＡに応じて補間計算することによって、テーブル値＃ＰＢ５ＢＬＬＸが求められる。
【００６０】
図７に戻り、前記ステップ４０に続くステップ４２では、吸気圧センサ１１で検出された吸気管内絶対圧ＰＢＡが、ステップ４０で設定された第２しきい値ＰＢ５ＢＬＬよりも小さいか否かを判別する。この答がＮＯで、ＰＢＡ≧ＰＢ５ＢＬＬのときには、故障判定ディレイタイマＴＦＳ５ＢＬの値を所定時間＃ＴＭ５ＢＬにセットした（ステップ４３）後、正常判定ディレイタイマＴＯＫ５ＢＬの値が０であるか否かを判別する（ステッ４４）。
【００６１】
この答がＮＯのときには、そのまま本プログラムを終了する。一方、ステップ４４の答がＹＥＳのとき、すなわちＰＢＡ≧ＰＢ５ＢＬＬの状態が、所定時間＃ＴＭ５ＢＬの間、継続したときには、スロットル弁開度ＴＨが大きい場合において、吸気管内絶対圧ＰＢＡが大きいという正常な検出結果が得られていることで、吸気圧センサ１１が正常であると判定して、そのことを表すために、正常フラグＦ＿ＯＫ０５ＢＬを「１」にセットし（ステップ４５）、本プログラムを終了する。
【００６２】
一方、前記ステップ４６の答がＹＥＳで、ＰＢＡ＜ＰＢ５ＢＬＬのときには、正常判定ディレイタイマＴＯＫ５ＢＬの値を所定時間＃ＴＭ５ＢＬにセットした（ステップ４６）後、故障判定ディレイタイマＴＦＳ５ＢＬの値が０であるか否かを判別する（ステップ４７）。この答がＮＯのときには、そのまま本プログラムを終了する。一方、ステップ４７の答がＹＥＳのとき、すなわちＰＢＡ＜ＰＢ５ＢＬＬの状態が、所定時間＃ＴＭ５ＢＬの間、継続したときには、スロットル弁開度ＴＨが大きいにもかかわらず、吸気管内絶対圧ＰＢＡが小さいという異常な検出結果が得られていることで、検出値が低圧側に大きくずれた状態で吸気圧センサ１１が故障していると判定して、ステップ４８以降に進む。
【００６３】
ステップ４８および４９では、スロットル弁開度センサ１０の故障フラグＦ＿ＦＳＤ０７Ｒ、および図３または図５の故障判定処理で設定される大気圧センサ１３の故障フラグＦ＿ＦＳＤ１３Ｂが、「１」であるか否かをそれぞれ判別する。これらの答のいずれかがＹＥＳのときには、スロットル弁開度センサ１０または大気圧センサ１３が故障していることで、吸気圧センサ１１の故障判定の信頼性が乏しいとして、その確定を保留し、そのまま本プログラムを終了する。
【００６４】
一方、ステップ４８および４９の答がいずれもＮＯのときには、吸気圧センサ１１が低圧側に故障していると確定し、そのことを表すために、ステップ５０において、吸気圧センサ１１の低圧側故障フラグＦ＿ＦＳＤ０５ＢＬを「１」にセットするとともに、正常フラグＦ＿ＯＫ０５ＢＬを「０」にセットする。次いで、故障判定済みフラグＦ＿ＤＯＮＥ０５ＢＬを「１」にセットし（ステップ５１）、本プログラムを終了する。
【００６５】
このように吸気圧センサ１１が低圧側に故障していると判定され、ステップ５１が実行された後には、前記ステップ３１の答がＹＥＳになることで、本プログラムは直ちに終了される。すなわち、この故障判定処理においても、前記ステップ３３以降の処理は、エンジン２の運転中、吸気圧センサ１１が正常と判定されている限り、繰り返し実行されるとともに、吸気圧センサ１１の低圧側の故障が確定された後には実行されない。
【００６６】
以上のように、この吸気圧センサ１１の故障判定処理によれば、スロットル弁開度ＴＨが所定の第１しきい値ＴＨ５ＢＬＬＸよりも大きい場合において、吸気管内絶対圧ＰＢＡが所定の第２しきい値ＰＢ５ＢＬＬよりも小さいときに、吸気圧センサ１１が低圧側に故障していると判定することができる。また、第１しきい値ＴＨ５ＢＬＬＸを、エンジン２の運転モードに応じ、全気筒運転モードのときにはテーブル値＃ＴＨ５ＢＬＬに、部分気筒運転モードのときにはより小さなテーブル値＃ＴＨ５ＢＣＬＬに、それぞれ持ち替えて設定する。したがって、いずれの運転モードにおいても、第１しきい値ＴＨ５ＢＬＬＸを、運転モード間における吸気圧特性の相違に応じた適切な値に設定でき、それにより、吸気圧センサ１１の低圧側の故障判定を精度良く行うことができる。
【００６７】
図１０は、吸気圧センサ１１の低圧側の故障判定処理の変形例を示すフローチャートである。なお、この処理は、上述した図７の故障判定処理と比較して、第１しきい値ＴＨ５ＢＬＬＸおよび第２しきい値ＰＢ５ＢＬＬの設定方法のみが異なるので、同じ実行内容のステップについては同じ番号を付するとともに、異なる実行内容の部分を中心として説明を行うものとする。
【００６８】
この処理では、図７と同様にステップ３１〜３４を実行するとともに、ステップ３４の答がＹＥＳのときには、ステップ３６において、第１しきい値ＴＨ５ＢＬＬＸを設定する。本例では、第１しきい値ＴＨ５ＢＬＬＸは、全気筒運転モードと部分気筒運転モードの間で共通の値に設定されており、図８の全気筒運転モード用の＃ＴＨ５ＢＬＬテーブルが代表して用いられ、エンジン回転数ＮＥに応じて設定される。次いで、図７の処理と同様、ステップ３８において、スロットル弁開度ＴＨが第１しきい値ＴＨ５ＢＬＬＸよりも大きいか否かを判別し、その答がＮＯで、ＴＨ≦ＴＨ５ＢＬＬＸのときには、故障判定の実行条件が成立していないとして、ステップ５を実行した後、本プログラムを終了する。
【００６９】
一方、ステップ３８の答がＹＥＳで、ＴＨ＞ＴＨ５ＢＬＬＸのときには、気筒休止フラグＦ＿ＣＳＴＰが「１」であるか否かを判別する（ステップ３９）。この答がＮＯで、エンジン２が全気筒運転モード中のときには、エンジン回転数ＮＥおよび大気圧ＰＡに応じ、図９のテーブルを検索することによって、全気筒運転モード用のテーブル値＃ＰＢ５ＢＬＬＸを求め、第２しきい値ＰＢ５ＢＬＬとして設定する（ステップ４０）。
【００７０】
一方、ステップ３９の答がＹＥＳで、エンジン２が部分気筒運転モード中のときには、エンジン回転数ＮＥおよび大気圧ＰＡに応じ、図１１のテーブルを検索することによって、部分気筒運転モード用のテーブル値＃ＰＢ５ＢＣＬＬＸを求め、第２しきい値ＰＢ５ＢＬＬとして設定する（ステップ４１）。このテーブルは、図９の全気筒運転モード用のテーブルと同様、平地用の＃ＰＢ５ＢＣＬＬＨテーブルと、それよりも小さな値に設定された高地用の＃ＰＢ５ＢＣＬＬＬテーブルと、大気圧補正用の補正テーブルで構成されている。テーブル値＃ＰＢ５ＢＣＬＬＸは、これらのテーブルを用い、図９の全気筒運転モード用のテーブル値＃ＰＢ５ＢＬＬＸの場合と同様にして、求められる。また、これらのテーブル値＃ＰＢ５ＢＣＬＬＨおよび＃ＰＢ５ＢＣＬＬＬは、図９の全気筒運転モード用のテーブル値＃ＰＢ５ＢＬＬＨおよび＃ＰＢ５ＢＬＬＬよりも、それぞれ大きな値に設定されている。これは、前述した運転モード間における吸気圧特性の相違から、スロットル弁開度ＴＨが同じという条件では、部分気筒運転モードの方が、吸気管内絶対圧ＰＢＡが高くなるためである。
【００７１】
次いで、図７の処理と同様、ステップ４２において、吸気管内絶対圧ＰＢＡが、ステップ４０または４１で設定した第２しきい値ＰＢ５ＢＬＬよりも小さいか否かを判別する。この答がＮＯで、ＰＢＡ≧ＰＢ５ＢＬＬのときには、図７の処理と同様、ステップ４３〜４５を実行し、所定時間＃ＴＭ５ＢＬの経過を待って、吸気圧センサ１１が正常であると判定し、正常フラグＦ＿ＯＫ０５ＢＬを「１」にセットする。一方、ステップ４２の答がＹＥＳで、ＰＢＡ＜ＰＢ５ＢＬＬのときには、図７の処理と同様、ステップ４６〜５１を実行し、所定時間＃ＴＭ５ＢＬの経過などを条件として、吸気圧センサ１１が低圧側に故障していると確定し、故障フラグＦ＿ＦＳＤ０５ＢＬを「１」に、正常フラグＦ＿ＯＫ０５ＢＬを「０」にそれぞれセットする。
【００７２】
以上のように、この吸気圧センサ１１の故障判定処理によれば、第１しきい値ＴＨ５ＢＬＬＸを両運転モード間で共通の値に設定する一方、第２しきい値ＰＢ５ＢＬＬを、全気筒運転モードのときにはテーブル値＃ＰＢ５ＢＬＬＸに、部分気筒運転モードのときにはより大きなテーブル値＃ＰＢ５ＢＣＬＬＸに、それぞれ持ち替えて設定する。したがって、いずれの運転モードにおいても、第２しきい値ＰＢ５ＢＬＬを、運転モード間における吸気圧特性の相違に応じた適切な値に設定でき、図７の処理の場合と同様、吸気圧センサ１１の低圧側の故障判定を精度良く行うことができる。
【００７３】
図１２は、吸気圧センサ１１の高圧側の故障判定処理を示すフローチャートである。この処理は、吸気センサ１１が、検出値が高圧側にずれた状態で故障しているか否かを判定するものであり、その基本的な手法は、前述した低圧側の故障判定処理と同じである。この処理ではまず、ステップ６１において、故障判定済みフラグＦ＿ＤＯＮＥ０５ＢＨが「１」であるか否かを判別する。この答がＹＥＳで、吸気圧センサ１１の高圧側の故障判定がすでに終了しているときには、正常判定ディレイタイマＴＯＫ５ＢＨおよび故障判定ディレイタイマＴＦＳ５ＢＨの値を、それぞれ所定時間＃ＴＭ５ＢＨ（例えば２０００ｍｓ）にセットし（ステップ６２）、本プログラムを終了する。
【００７４】
ステップ６１の答がＮＯのときには、スロットル弁開度センサ１０の仮正常フラグＦ＿ＫＯＫ７Ｒが「１」であるか否かを判別する（ステップ６３）。この答がＮＯのときには、故障判定の実行条件が成立していないとして、前記ステップ６２の実行後、本プログラムを終了する。
【００７５】
ステップ６３の答がＹＥＳのときには、エンジン回転数ＮＥが、所定の下限回転数＃ＮＥ５ＢＨＬ（例えば１２００ｒｐｍ）と上限回転数＃ＮＥ５ＢＨＨ（例えば６５００ｒｐｍ）の間にあり、車速ＶＰが所定速度＃ＶＰ５ＢＨＬ（例えば２４ｋｍ／ｈ）よりも大きく、エンジン水温ＴＷが所定温度＃ＴＷ５Ｂ７ＲＬ（例えば６８．８℃）よりも高く、かつＥＧＲ故障判定中フラグＦ＿ＣＮＤＲＥＧＲＦが「０」であるか否かを判別する（ステップ６４）。このＥＧＲ故障判定中フラグＦ＿ＣＮＤＲＥＧＲＦは、ＥＧＲ制御弁２３などを含むＥＧＲ装置の故障判定中のときに、「１」にセットされるものである。この答がＮＯで、エンジン回転数ＮＥ、車速ＶＰおよびエンジン水温ＴＷのいずれかが、所定の範囲にないとき、あるいはＥＧＲ装置の故障判定中のときには、故障判定の実行条件が成立していないとして、前記ステップ６２の実行後、本プログラムを終了する。ＥＧＲ装置の故障判定中に吸気圧センサ１１の故障判定を行わないのは、ＥＧＲ装置の故障判定中には、吸気管内絶対圧ＰＢＡが変動するおそれがあるためである。
【００７６】
前記ステップ６４の答がＹＥＳのときには、アイドルフラグＦ＿ＴＨＩＤＬＥが「０」であり、かつ減速フューエルカットフラグＦ＿ＤＥＣＦＣが「１」であるか否かを判別する（ステップ６５）。このアイドルフラグＦ＿ＴＨＩＤＬＥは、スロットル弁開度ＴＨが、全閉に近い所定のアイドル開度ＴＨＩＤＬＥ（例えば０．５度）よりも小さいとき、すなわちスロットル弁９がほぼ全閉状態にあるときに、「０」にセットされるものである。また、減速フューエルカットフラグＦ＿ＤＥＣＦＣは、減速時のフューエルカットの実行中に「１」にセットされるものである。このステップ６５の答がＮＯのときには、故障判定の実行条件が成立していないとして、前記ステップ６２の実行後、本プログラムを終了する。すなわち、本処理では、スロットル弁開度ＴＨがアイドル開度ＴＨＩＤＬＥ（第１しきい値）よりも小さく、かつ減速時のフューエルカットの実行中であることを条件として、故障判定が実行される。
【００７７】
上記ステップ６５の答がＹＥＳのときには、気筒休止フラグＦ＿ＣＳＴＰが「１」であるか否かを判別する（ステップ６６）。この答がＮＯで、エンジン２が全気筒運転モード中のときには、エンジン回転数ＮＥに応じ、図１３の＃ＰＢ５ＢＨＨテーブルを検索することによって、全気筒運転モード用のテーブル値＃ＰＢ５ＢＨＨを求め、第２しきい値ＰＢ５ＢＨＨＸとして設定する（ステップ６７）。このテーブルでは、テーブル値＃ＰＢ５ＢＨＨは、エンジン回転数ＮＥが高いほど、より小さな値に設定されている。これは、スロットル弁９がほぼ全閉状態にあるときには、エンジン回転数ＮＥが高いほど、負圧が大きくなり、吸気管内絶対圧ＰＢＡが低くなるためである。
【００７８】
一方、ステップ６６の答がＹＥＳで、エンジン２が部分気筒運転モード中のときには、エンジン回転数ＮＥに応じ、図１３の＃ＰＢ５ＢＣＨＨテーブルを検索することによって、部分気筒運転モード用のテーブル値＃ＰＢ５ＢＣＨＨを求め、第２しきい値ＰＢ５ＢＨＨＸとして設定する（ステップ６８）。このテーブルでは、テーブル値＃ＰＢ５ＢＣＨＨは、エンジン回転数ＮＥが高いほど、より小さな値に設定されるとともに、全気筒運転モード用のテーブル値＃ＴＨ５ＢＬＬよりも大きな値に設定されている。これは、前述した吸気圧特性から、部分気筒運転モードのときには、全気筒運転モードのときよりも、吸気管内絶対圧ＰＢＡが高くなるためである。
【００７９】
次いで、ステップ６９では、吸気管内絶対圧ＰＢＡが、ステップ６７または６８で設定された第２しきい値ＰＢ５ＢＨＨＸよりも大きいか否かを判別する。この答がＮＯで、ＰＢＡ≦ＰＢ５ＢＨＨＸのときには、故障判定ディレイタイマＴＦＳ５ＢＨの値を所定時間＃ＴＭ５ＢＨにセットした（ステップ７０）後、正常判定ディレイタイマＴＯＫ５ＢＨの値が０であるか否かを判別する（ステップ７１）。
【００８０】
この答がＮＯのときには、そのまま本プログラムを終了する。一方、ステップ７１の答がＹＥＳのとき、すなわちＰＢＡ≦ＰＢ５ＢＨＨＸの状態が、所定時間＃ＴＭ５ＢＨの間、継続したときには、スロットル弁開度ＴＨがほぼ全閉状態の場合において、吸気管内絶対圧ＰＢＡが小さいという正常な検出結果が得られていることで、吸気圧センサ１１が正常であると判定して、そのことを表すために、正常フラグＦ＿ＯＫ５ＢＨを「１」にセットし（ステップ７２）、本プログラムを終了する。
【００８１】
一方、前記ステップ６９の答がＹＥＳで、ＰＢＡ＞ＰＢ５ＢＨＨＸのときには、正常判定ディレイタイマＴＯＫ５ＢＨの値を所定時間＃ＴＭ５ＢＨにセットした（ステップ７３）後、故障判定ディレイタイマＴＦＳ５ＢＨの値が０であるか否かを判別する（ステップ７４）。この答がＮＯのときには、そのまま本プログラムを終了する。一方、ステップ７４の答がＹＥＳのとき、すなわちＰＢＡ＞ＰＢ５ＢＨＨＸの状態が、所定時間＃ＴＭ５ＢＨの間、継続したときには、スロットル弁開度ＴＨがほぼ全閉状態であるにもかかわらず、吸気管内絶対圧ＰＢＡが大きいという異常な検出結果が得られていることで、検出値が高圧側に大きくずれた状態で吸気圧センサ１１が故障していると判定して、ステップ７５に進む。
【００８２】
このステップ７５では、スロットル弁開度センサ１０の故障フラグＦ＿ＦＳＤ０７Ｒが「１」であるか否かを判別する。この答がＹＥＳのときには、スロットル弁開度センサ１０が故障していることで、吸気圧センサ１１の故障判定の信頼性が乏しいとして、その確定を保留し、そのまま本プログラムを終了する。
【００８３】
一方、ステップ７５の答がＮＯのときには、吸気圧センサ１１が高圧側に故障していると確定し、そのことを表すために、ステップ７６において、吸気圧センサ１１の高圧側故障フラグＦ＿ＦＳＤ０５ＢＨを「１」にセットするとともに、正常フラグＦ＿ＯＫ０５ＢＨを「０」にセットする。次いで、故障判定済みフラグＦ＿ＤＯＮＥ０５ＢＨを「１」にセットし（ステップ７７）、本プログラムを終了する。
【００８４】
このように吸気圧センサ１１が高圧側に故障していると判定され、ステップ７６が実行された後には、前記ステップ６１の答がＹＥＳになることで、本プログラムは直ちに終了される。すなわち、この故障判定処理においても、前記ステップ６３以降の処理は、エンジン２の運転中、吸気圧センサ１１が正常と判定されている限り、繰り返し実行されるとともに、吸気圧センサ１１の高圧側の故障が確定された後には実行されない。
【００８５】
以上のように、この吸気圧センサ１１の故障判定処理によれば、スロットル弁開度ＴＨが所定のアイドル開度ＴＨＩＤＬＥよりも小さい全閉状態において、吸気管内絶対圧ＰＢＡが所定の第２しきい値ＰＢ５ＢＨＨＸよりも大きいときに、吸気圧センサ１１が高圧側に故障していると判定することができる。また、第２しきい値ＰＢ５ＢＨＨＸを、エンジン２の運転モードに応じ、全気筒運転モードのときにはテーブル値＃ＰＢ５ＢＨＨに、部分気筒運転モードのときにはより大きなテーブル値＃ＰＢ５ＢＣＨＨに、それぞれ持ち替えて設定する。したがって、いずれの運転モードにおいても、第２しきい値ＰＢ５ＢＨＨＸを、運転モード間における吸気圧特性の相違に応じた適切な値に設定でき、それにより、吸気圧センサ１１の高圧側の故障判定を精度良く行うことができる。
【００８６】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、大気圧センサ１３の故障判定に用いられるしきい値の運転モードに応じた持替を、図３の判定処理では第１しきい値ＴＨ１３ＢＬＸのみに対して、図５の判定処理では第２しきい値ＤＰＡ１３Ｂのみに対して、それぞれ行っているが、そのような持替を、第１しきい値ＴＨ１３ＢＬＸおよび第２しきい値ＤＰＡ１３Ｂの双方に対して行ってもよい。それにより、これらのしきい値をよりきめ細かく設定することで、大気圧センサ１３の故障判定をさらに精度良く行うことができる。
【００８７】
このことは、吸気圧センサ１１の低圧側の故障判定に用いられる第１しきい値ＴＨ５ＢＬＬＸおよび第２しきい値ＰＢ５ＢＬＬについても同様である。すなわち、実施形態では、図７の判定処理においては前者ＴＨ５ＢＬＬＸのみに対して、図１０の判定処理においては後者ＰＢ５ＢＬＬのみに対して、運転モードに応じた持替をそれぞれ行っているが、これを両しきい値ＴＨ５ＢＬＬＸおよびＰＢ５ＢＬＬの双方に対して行ってもよい。
【００８８】
また、実施形態は、本発明を車両用のエンジン２に適用した例であるが、本発明は、これに限らず、クランクシャフトを鉛直方向に配置した船外機用などのエンジンに適用してもよい。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【符号の説明】
【００８９】
１  故障判定装置
２  エンジン（内燃機関）
３  ＥＣＵ（故障判定手段、しきい値持替手段）
９  スロットル弁
１０  スロットル弁開度センサ（スロットル弁開度検出手段）
１１  吸気圧センサ（吸気圧検出手段、圧力センサ）
１３  大気圧センサ（圧力センサ）
＃１〜＃６  気筒
ＰＢＡ  吸気管内絶対圧（吸気圧）
ＰＡ  大気圧
ＴＨ  スロットル弁開度（スロットル弁の開度）
ＴＨ１３ＢＬＸ  第１しきい値
ＤＰＡ１３Ｂ  第２しきい値
ＴＨ５ＢＬＬＸ  第１しきい値
ＰＢ５ＢＬＬ  第２しきい値
ＴＨＩＤＬＥ  アイドル開度（第１しきい値）
ＰＢ５ＢＨＨＸ  第２しきい値
【図１】
2005113809.tif 000003
【図２】
2005113809.tif 000004
【図３】
2005113809.tif 000005
【図４】
2005113809.tif 000006
【図５】
2005113809.tif 000007
【図６】
2005113809.tif 000008
【図７】
2005113809.tif 000009
【図８】
2005113809.tif 000010
【図９】
2005113809.tif 000011
【図１０】
2005113809.tif 000012
【図１１】
2005113809.tif 000013
【図１２】
2005113809.tif 000014
【図１３】
2005113809.tif 000015