(57)【特許請求の範囲】
【請求項１】
運転者のアクセル操作量に基づいてスロットルアクチュエータに対する制御量を設定し、該スロットルアクチュエータによりスロットル弁を作動してスロットル弁の開度を制御すると共に、エンジン制御系に備えられたセンサ或いはアクチュエータを診断対象として故障診断を行うエンジンの制御装置において、
エンジン運転状態に基づいて診断条件を判断し、診断条件の成立時に、上記診断対象に対する故障診断を行う診断手段と、
故障診断の非実行時には、上記アクセル操作量に基づいてスロットル弁に対する目標スロットル開度を設定し、故障診断の実行期間中は、診断開始時のアクセル操作量と現在のアクセル操作量との差を所定値と比較し、差が所定値を下回るとき、診断開始時の実スロットル開度を上記目標スロットル開度として設定し、差が所定値以上となったとき、現在のアクセル操作量に基づいて上記目標スロットル開度を設定する目標スロットル開度設定手段と、
上記目標スロットル開度とスロットル弁による実スロットル開度とに基づいて、上記スロットルアクチュエータに対する制御量を設定する制御量設定手段とを備えたことを特徴とするエンジンの制御装置。
【請求項２】
上記診断手段は、診断対象としないセンサにより検出されるエンジン運転状態に基づいて診断条件を判断し、診断条件の成立下で、診断対象となるセンサからの出力値或いは診断対象となるアクチュエータに対する出力値が異常値を示す状態が所定時間継続したとき、該診断対象の故障と診断して故障を報知することを特徴とする請求項１記載のエンジンの制御装置。
【請求項３】
上記アクセル操作量は、アクセルペダルの踏み込み量を示すアクセル開度であることを特徴とする請求項１或いは請求項２記載のエンジンの制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スロットルアクチュエータによりスロットル弁を作動する電子スロットル制御システムを採用すると共に、診断対象に対し故障診断を行う際に、エンジン運転状態に基づいて診断条件を判断し、診断条件の成立時、診断対象に対する故障診断を行うエンジンの制御装置に関し、詳しくは、エンジン運転状態による診断条件を確実に継続させ、診断対象に対する故障診断を確実且つ迅速に行うことが可能なエンジンの制御装置に関する。
【０００２】
【従来の技術】
従来から、アクセルペダルとエンジンの吸気系に配設されたスロットル弁とをワイヤで直接接続する代わりに、アクセルペダル踏み込み量等、運転者のアクセル操作量をアクセルセンサにより検出し、ステッピングモータやＤＣサーボモータ等からなるスロットルアクチュエータによってスロットル弁を作動する電子スロットル制御システムが採用されている（特開平７ー７７０８８号公報、特開平７−１５８４９２号公報等参照）。
【０００３】
この種の電子スロットル制御システムにおいては、上記アクセルセンサの出力信号、及び、スロットル弁の実開度を検出するスロットル開度センサの出力信号を制御装置に入力して、アクセルセンサにより検出されるアクセル操作量に基づいて目標スロットル開度を設定する。そして、この目標スロットル開度と上記スロットル開度センサにより検出されるスロットル弁の実スロットル開度とに基づいて、スロットルアクチュエータに対する制御量を設定し、該制御量による駆動信号をスロットルアクチュエータに出力して、スロットルアクチュエータによりスロットル弁を作動し、スロットル弁による実スロットル開度が上記目標スロットル開度に一致するようフィードバック制御することが一般的に行われている。
【０００４】
また、これと並行して、エンジン制御システムにおいては、エンジン運転状態を検出する各種センサからの出力信号を制御装置に入力し、これら各種センサにより検出されるエンジン運転状態データに基づいて、燃料噴射量や点火時期等を設定し、これによる駆動信号をインジェクタやイグナイタ等のアクチュエータ類に出力して燃料噴射制御や点火時期制御等のエンジン制御を行っている。
【０００５】
ここで、エンジン運転状態を検出するセンサや制御対象とするアクチュエータが故障すると、エンジン制御性が著しく悪化し、排気エミッションの悪化やエンジンに対する弊害を招く。
【０００６】
このため、上記制御装置は、自己診断機能を備え、オンボード故障診断を行うようにしており、各種センサや各種アクチュエータに対する故障診断を、これら各センサから入力される各種入力データの整合性、或いは各アクチュエータに対する出力データの整合性を判断することで行い、故障が生じたときには、警報ランプの点灯等により故障を報知するようにしている。
【０００７】
従って、上記制御装置は、各種センサや各種アクチュエータに対する故障診断を、各種入出力データの整合性を判断することで行うため、上記制御装置によるオンボード故障診断は、運転者が自由に運転する中で、ある決まった運転条件時にのみ、すなわち、所定のエンジン運転状態による診断条件が成立したときのみ、診断対象に対する故障診断を行うようにしている。
【０００８】
ここで、診断対象センサに対する故障診断は、他のセンサにより検出されるエンジン運転状態に基づいて診断条件を判断し、診断条件が成立し、且つ、このとき診断対象とするセンサの出力値が設定範囲外の値で、このエンジン運転状態では通常取り得ない値を示し、この状態が所定時間継続したとき、診断対象センサの故障と診断するようにしている。
【０００９】
すなわち、センサ出力値の異常状態が所定時間継続したとき、故障と診断することで、外乱等に起因するセンサ出力値の一時的な急変による誤診断を防止するようにしている。
【００１０】
また、アクチュエータ類に対する故障診断は、各種センサにより検出されるエンジン運転状態に基づいて診断条件を判断し、診断条件が成立し、且つ、このとき診断対象とするアクチュエータに対するドレイン電圧の異常状態が所定回数すなわち所定時間継続したとき、診断対象アクチュエータの故障と診断するようにしている。
【００１１】
【発明が解決しようとする課題】
しかしながら、上記電子スロットル制御システムを採用する場合には、運転者のアクセル操作により、アクセル操作量が変化し、このアクセル操作量に基づいて設定される目標スロットル開度にスロットル弁の実スロットル開度が一致するようスロットルアクチュエータに対する制御量が設定され、スロットルアクチュエータを介してスロットル弁が作動されるため、これに伴いエンジン運転状態が変化する。
【００１２】
従って、故障診断を行うに際し、異常状態の継続時間を与える上記所定時間の間、エンジン運転状態を診断条件に対応する所定のエンジン運転状態に維持できず、或いは、エンジン運転状態自体が診断条件に一致せず、診断対象に対する故障診断が遅滞し、或いは、故障診断が行われない不都合を招く。
【００１３】
その結果、故障が生じていても、オンボード故障診断により故障を判定することができず故障が報知されないため、故障を生じたまま運転が継続され、排気エミッションの悪化やエンジンに対する弊害等が派生する不都合がある。
【００１４】
本発明は、上記事情に鑑み、電子スロットル制御システムを採用するエンジンにおいて、エンジン運転状態による診断条件を確実に継続させ、診断対象に対する故障診断を確実且つ迅速に行うことが可能なエンジンの制御装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記目的を達成するため、請求項１記載の発明は、運転者のアクセル操作量に基づいてスロットルアクチュエータに対する制御量を設定し、該スロットルアクチュエータによりスロットル弁を作動してスロットル弁の開度を制御すると共に、エンジン制御系に備えられたセンサ或いはアクチュエータを診断対象として故障診断を行うエンジンの制御装置において、図１の基本構成図に示すように、エンジン運転状態に基づいて診断条件を判断し、診断条件の成立時に、上記診断対象に対する故障診断を行う診断手段と、故障診断の非実行時には、上記アクセル操作量に基づいてスロットル弁に対する目標スロットル開度を設定し、故障診断の実行期間中は、診断開始時のアクセル操作量と現在のアクセル操作量との差を所定値と比較し、差が所定値を下回るとき、診断開始時の実スロットル開度を上記目標スロットル開度として設定し、差が所定値以上となったとき、現在のアクセル操作量に基づいて上記目標スロットル開度を設定する目標スロットル開度設定手段と、上記目標スロットル開度とスロットル弁による実スロットル開度とに基づいて、上記スロットルアクチュエータに対する制御量を設定する制御量設定手段とを備えたことを特徴とする。
【００１６】
請求項２記載の発明は、請求項１記載の発明において、上記診断手段は、診断対象としないセンサにより検出されるエンジン運転状態に基づいて診断条件を判断し、診断条件の成立下で、診断対象となるセンサからの出力値或いは診断対象となるアクチュエータに対する出力値が異常値を示す状態が所定時間継続したとき、該診断対象の故障と診断して故障を報知することを特徴とする。
【００１７】
請求項３記載の発明は、請求項１或いは請求項２記載の発明において、上記アクセル操作量は、アクセルペダルの踏み込み量を示すアクセル開度であることを特徴とする。
【００１８】
すなわち、請求項１記載の発明では、エンジン運転状態に基づいて診断条件を判断し、診断条件の成立時に、エンジン制御系に備えられたセンサ或いはアクチュエータを診断対象として故障診断を行う。そして、故障診断の実行を判断して、故障診断の非実行時には、運転者によるアクセル操作量に基づいてスロットル弁に対する目標スロットル開度を設定し、一方、故障診断の実行期間中は、診断開始時のアクセル操作量と現在のアクセル操作量との差を所定値と比較し、差が所定値を下回るとき、診断開始時の実スロットル開度を目標スロットル開度として設定し、差が所定値以上となったとき、現在のアクセル操作量に基づいて目標スロットル開度を設定する。そして、スロットル弁を作動するスロットルアクチュエータに対する制御量を、上記目標スロットル開度とスロットル弁による実スロットル開度とに基づいて設定する。従って、診断条件の成立による診断対象に対する故障診断の実行期間中は、診断開始時のアクセル操作量と現在のアクセル操作量との差が所定値を下回るときには、診断条件が成立したときのスロットル開度に設定された目標スロットル開度とスロットル弁の実スロットル開度とが一致するよう、スロットルアクチュエータを介してスロットル弁が作動され、運転者のアクセル操作に拘わらず、エンジン運転状態による診断条件の成立状態が確実に継続されて、診断対象に対する故障診断を確実且つ迅速に行うことが可能となる。一方、診断開始時のアクセル操作量と現在のアクセル操作量との差が所定値以上となったときには、現在のアクセル操作量に基づいて設定した目標スロットル開度を採用して、通常のスロットル制御に復帰させ、運転者のアクセル操作による要求エンジン出力を確保する。
【００１９】
また、請求項２記載の発明では、診断対象に対する故障診断を行うに際して、診断対象としないセンサにより検出されるエンジン運転状態に基づいて診断条件を判断する。そして、診断条件の成立下で、診断対象となるセンサからの出力値或いは診断対象となるアクチュエータに対する出力値が異常値を示す状態が所定時間継続したとき、該診断対象の故障と診断して故障を報知する。
【００２０】
その際、請求項３記載の発明では、アクセル操作量として、アクセルペダルの踏み込み量を示すアクセル開度を採用する。
【００２１】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の一形態を説明する。
【００２２】
先ず、図５に基づいて本実施の形態で採用するエンジンの概略構成について説明する。同図において、符号１は自動車等の車輌用のエンジンであり、図においては水平対向型４気筒ガソリンエンジンを示す。このエンジン１のシリンダブロック１ａの左右両バンクには、シリンダヘッド２がそれぞれ設けられ、各シリンダヘッド２に各気筒に対応して吸気ポート２ａと排気ポート２ｂが形成されている。
【００２３】
このエンジン１の吸気系は、各吸気ポート２ａにインテークマニホルド３が連通され、このインテークマニホルド３に各気筒の吸気通路が集合するエアチャンバ４を介してスロットルチャンバ５が連通されている。そして、このスロットルチャンバ５の上流側に吸気管６を介してエアクリーナ７が取り付けられ、このエアクリーナ７がエアインテークチャンバ８に連通されている。
【００２４】
また、上記スロットルチャンバ５には、スロットル弁５ａが設けられている。このスロットル弁５ａは、図６に示すアクセルペダル９とは機械的に連設しておらず、電子スロットル制御システムを採用するもので、併設するスロットルアクチュエータ１０により回動され、スロットル弁５ａによるスロットル開度、すなわちスロットル弁５ａを通過する吸入空気流量（スロットル通過空気流量）が制御される。
【００２５】
本実施の形態においては、上記スロットルアクチュエータ１０はステッピングモータにより構成され、後述する電子制御装置４０から出力される駆動信号に応じて作動し、スロットル弁５ａを所定開度に回動する。尚、本実施の形態では、スロットルアクチュエータ１０を構成するステッピングモータの正転作動によりスロットル弁５ａが開弁方向に回動し、ステッピングモータの逆転作動によりスロットル弁５ａが閉弁方向に回動する。
【００２６】
また、上記吸気管６には、スロットル弁５ａをバイパスするバイパス通路１１が接続され、このバイパス通路１１に、アイドル時にその弁開度によって該バイパス通路１１を流れるバイパス空気量を調整することでアイドル回転数を制御するアイドル回転数制御弁（ＩＳＣ弁）１２が介装されている。更に、上記インテークマニホルド３の各気筒の吸気ポート２ａの直上流にインジェクタ１３が配設されている。
【００２７】
一方、上記シリンダヘッド２の各気筒毎に、先端の放電電極を燃焼室に露呈する点火プラグ１５が取り付けられ、この点火プラグ１５に、各気筒毎に配設された点火コイル１６を介してイグナイタ１７が接続されている。
【００２８】
また、エンジン１の排気系としては、上記シリンダヘッド２の各排気ポート２ｂに連通するエキゾーストマニホルド１８の集合部に排気管１９が接続され、この排気管１９に触媒コンバータ２０が介装されてマフラ２１に連通されている。
【００２９】
次に、エンジン運転状態を検出するためのセンサ類について説明する。
【００３０】
図６に示すように、上記アクセルペダル９の支持部９ａに、運転者によるアクセル操作量として、アクセルペダル９の踏み込み量を示すアクセル開度を検出するためにポテンショメータ等からなるアクセルセンサ２２が併設されている。
【００３１】
また、上記吸気管６のエアクリーナ７の直下流に、ホットワイヤ或いはホットフィルム等を用いた熱式の吸入空気量センサ２３が介装され、更に、上記スロットルチャンバ５に設けられたスロットル弁５ａに、該スロットル弁５ａの実スロットル開度に応じた電圧値を出力するスロットル開度センサ２４ａとスロットル弁５ａの全閉でＯＮするアイドルスイッチ２４ｂとを内蔵したスロットルセンサ２４が連設されている。また、上記エアチャンバ４に、スロットル弁５ａ下流の吸気管圧力を絶対圧で検出する吸気管圧力センサ２５が連通されている。
【００３２】
更に、エンジン１のシリンダブロック１ａにノックセンサ２６が取り付けられていると共に、シリンダブロック１ａの左右バンクを連通する冷却水通路２７に冷却水温センサ２８が臨まされている。
【００３３】
そして、上記触媒コンバータ２０の上流に、排気ガス中の酸素濃度を検出するＯ2センサ２９が配設されている。
【００３４】
また、エンジン１のクランクシャフト３０に軸着するクランクロータ３１の外周に電磁ピックアップ等からなるクランク角センサ３２が対設され、更に、クランクシャフト３０に対して１／２回転するカムシャフト３３に連設するカムロータ３４に、電磁ピックアップ等からなる気筒判別センサ３５が対設されている。
【００３５】
上記クランクロータ３１の外周には、所定クランク角毎にクランク角検出用の突起が形成されており、また、上記カムロータ３４の外周に気筒判別用の突起が形成されている。そして、エンジン運転に伴いクランクシャフト３０及びカムシャフト３３が回転し、これに伴い上記クランクロータ３１、カムロータ３４が回転して、クランクロータ３１の各突起が上記クランク角センサ３２によって検出され、クランク角センサ３２から所定クランク角に対応するクランクパルスが出力され、また、上記カムロータ３４の気筒判別用突起が上記気筒判別センサ３５によって検出され、気筒判別センサ３５から気筒判別パルスが出力される。
【００３６】
そして、後述する電子制御装置４０（図７参照）において、上記クランク角センサ３２から出力されるクランクパルスの入力間隔時間に基づいてエンジン回転数ＮEを算出し、また、上記気筒判別センサ３５からの気筒判別パルスと、各気筒の燃焼行程順（例えば、＃１気筒→＃３気筒→＃２気筒→＃４気筒）とのパターンに基づいて、燃料噴射対象気筒や点火対象気筒等の気筒判別を行う。
【００３７】
上記スロットルアクチュエータ１０、インジェクタ１３、点火プラグ１５、ＩＳＣ弁１２等のアクチュエータ類に対する制御量の演算、制御信号の出力、すなわち、スロットル制御、燃料噴射制御、点火時期制御、アイドル回転数制御等のエンジン制御は、図７に示す電子制御装置（ＥＣＵ）４０によって行われる。
【００３８】
上記ＥＣＵ４０は、ＣＰＵ４１、ＲＯＭ４２、ＲＡＭ４３、バックアップＲＡＭ４４、カウンタ・タイマ群４５、及びＩ／Ｏインターフェイス４６がバスラインを介して互いに接続されるマイクロコンピュータを中心として構成され、各部に安定化電源を供給する定電圧回路４７、上記Ｉ／Ｏインターフェイス４６に接続される駆動回路４８、スロットルアクチュエータ駆動回路４９、及びＡ／Ｄ変換器５０等の周辺回路が内蔵されている。
【００３９】
尚、上記カウンタ・タイマ群４５は、フリーランカウンタ、気筒判別センサ信号（気筒判別パルス）の入力計数用カウンタ等の各種カウンタ、燃料噴射用タイマ、点火用タイマ、定期割り込みを発生するための定期割り込み用タイマ、クランク角センサ信号（クランクパルス）の入力間隔計時用タイマ、及び、システム異常監視用のウオッチドッグタイマ等の各種タイマを便宜上総称するものであり、その他、各種のソフトウエアカウンタ・タイマが用いられる。
【００４０】
上記定電圧回路４７は、２回路のリレー接点を有する電源リレー５１の第１のリレー接点を介してバッテリ５２に接続され、バッテリ５２に、上記電源リレー５１のリレーコイルがイグニッションスイッチ５３を介して接続されている。また、上記定電圧回路４７は、直接、上記バッテリ５２に接続されており、イグニッションスイッチ５３がＯＮされて電源リレー５１の接点が閉となるとＥＣＵ４０の各部へ電源を供給する一方、上記イグニッションスイッチ５３のＯＮ，ＯＦＦに拘わらず、常時、上記バックアップＲＡＭ４４にバックアップ用の電源を供給する。尚、上記電源リレー５１の第２のリレー接点には、上記バッテリ５２から各アクチュエータに電源を供給するための電源線が接続されている。
【００４１】
上記Ｉ／Ｏインターフェイス４６の入力ポートには、アイドルスイッチ２４ｂ、ノックセンサ２６、クランク角センサ３２、気筒判別センサ３５、車速を検出するための車速センサ３６、エンジン始動状態を検出するためスタータスイッチ３７が接続されており、更に、上記Ａ／Ｄ変換器５０を介して、アクセルセンサ２２、吸入空気量センサ２３、スロットル開度センサ２４ａ、吸気管圧力センサ２５、冷却水温センサ２８、及びＯ2センサ２９が接続されると共に、バッテリ電圧ＶBが入力されてモニタされる。
【００４２】
一方、上記Ｉ／Ｏインターフェイス４６の出力ポートには、上記ＩＳＣ弁１２、インジェクタ１３、及び、図示しないインストルメントパネルに配設され各種警報を集中表示する警報ランプ３８が上記駆動回路４８を介して接続され、更に、上記スロットルアクチュエータ駆動回路４９を介してスロットルアクチュエータ１０が接続されると共に、イグナイタ１７が接続されている。
【００４３】
上記スロットルアクチュエータ駆動回路４９は、周知のように、Ｈブリッジ回路等から構成され、Ｉ／Ｏインターフェイス４６から出力されるパルス幅変調信号（以下、「ＰＷＭ信号」と称する）によりＨブリッジ回路中のスイッチング素子がチョッパ制御され、スロットルアクチュエータ１０を構成するステッピングモータに対し駆動電流を出力し、また、相切換信号によりステッピングモータの回転方向を決定する。
【００４４】
また、上記Ｉ／Ｏインターフェイス４６には、外部接続用コネクタ５５が接続されており、この外部接続用コネクタ５５にシリアルモニタ（携帯型故障診断装置）６０を接続することで、シリアルモニタ６０によってＥＣＵ４０における入出力データ、及び、ＥＣＵ４０の自己診断機能により上記バックアップＲＡＭ４４にストアされた吸入空気量センサ系の故障を示す後述する吸入空気量センサＮＧフラグＦAFNGを含む故障部位、故障内容を示すトラブルデータを読み出して診断可能としている。更に、上記シリアルモニタ６０によって、上記トラブルデータのイニシャルセット（クリア）が行えるようになっている。
【００４５】
尚、このシリアルモニタ６０によるトラブルデータの診断、及びイニシャルセットについては、本出願人による特公平７−７６７３０号公報に詳述されている。
【００４６】
上記ＣＰＵ４１では、ＲＯＭ４２に記憶されている制御プログラムに従って、Ｉ／Ｏインターフェイス４６を介して入力されるセンサ・スイッチ類からの検出信号、及びバッテリ電圧等を処理し、ＲＡＭ４３に格納される各種データ、及びバックアップＲＡＭ４４に格納されている各種学習値データ、ＲＯＭ４２に記憶されている固定データ等に基づき、スロットルアクチュエータ１０に対する制御量、燃料噴射量、点火時期、ＩＳＣ弁１２に対する駆動信号のデューティ比等を演算し、スロットル制御、燃料噴射制御、点火時期制御、アイドル回転数制御等のエンジン制御を行う。
【００４７】
このようなエンジン制御系において、ＥＣＵ４０では、オンボード故障診断により、上記各センサ及び各アクチュエータに対する故障診断を行う。
【００４８】
すなわち、エンジン運転状態に基づいて診断条件を判断し、診断条件の成立時に、診断対象に対する故障診断を行う。そして、故障診断の実行を判断して、故障診断の非実行時には、運転者によるアクセル操作量を表すアクセル開度ＡＬＰＨに基づいてスロットル弁５ａに対する目標スロットル開度ＴＨＶTGTを設定し、一方、故障診断の実行期間中は、診断条件が成立したときのスロットル開度に対応する値に目標スロットル開度ＴＨＶTGTを設定する。そして、スロットル弁５ａを作動するスロットルアクチュエータ１０に対する制御量を、上記目標スロットル開度ＴＨＶTGTとスロットル弁５ａによる実スロットル開度ＴＨＶとに基づいて設定する。
【００４９】
これにより、診断条件の成立による診断対象に対する故障診断の実行期間中は、目標スロットル開度ＴＨＶTGTが、診断条件が成立したときのスロットル開度に対応する値に設定されて、スロットル弁５ａの実スロットル開度ＴＨＶが、この目標スロットル開度ＴＨＶTGTに一致するようスロットルアクチュエータ１０を介してスロットル弁５ａが作動される。その結果、エンジン運転状態による診断条件の成立状態が確実に継続されて、診断対象に対する故障診断を確実且つ迅速に行うことが可能となる。
【００５０】
より詳細には、診断対象に対する故障診断を行うに際して、診断対象を除くセンサにより検出されるエンジン運転状態に基づいて診断条件を判断する。そして、診断条件の成立下で、診断対象とするセンサからの出力値、或いは診断対象とするアクチュエータに対する出力値が異常値を示す状態が所定時間継続したとき、該診断対象の故障と診断して故障を報知する。また、目標スロットル開度ＴＨＶTGTの設定に際し、故障診断の実行期間中、診断開始時のアクセル操作量を表す診断開始時アクセル開度ＡＬＰＨDIAGSTと現在のアクセル開度ＡＬＰＨとの差を所定値と比較する。そして、差が所定値を下回るときには、目標スロットル開度ＴＨＶTGTを診断開始時の実スロットル開度に対応する値に設定することで、運転者のアクセル操作に拘わらず、スロットル弁５ａによる実スロットル開度ＴＨＶを診断条件が成立した診断開始時のスロットル開度に維持し、エンジン運転状態による診断条件を確実に継続させる。
【００５１】
一方、診断開始時アクセル開度ＡＬＰＨDIAGSTと現在のアクセル開度ＡＬＰＨとの差が所定値以上となったときには、運転者のアクセル操作による現在のアクセル開度ＡＬＰＨに基づいて設定した目標スロットル開度ＴＨＶTGTを採用することで、通常のスロットル制御に復帰させ、運転者のアクセル操作による要求エンジン出力を確保する。
【００５２】
すなわち、ＥＣＵ４０は、本発明に係る診断手段、目標スロットル開度設定手段、制御量設定手段の各機能を実現する。
【００５３】
尚、本実施の形態においては、診断対象の一例として、吸入空気量センサ２３に対する故障診断を行う場合につき説明する。
【００５４】
以下、上記ＥＣＵ４０によって実行される本発明に係る制御処理について、図２及び図３に示すフローチャートに従って説明する。
【００５５】
先ず、イグニッションスイッチ５３がＯＮされ、ＥＣＵ４０に電源が投入されると、システムがイニシャライズされ、バックアップＲＡＭ４４に格納されているトラブルデータ及び各種学習値等のデータを除く、各フラグ、各カウンタ類が初期化される。そして、スタータスイッチ３７がＯＮされてエンジン１が起動するとクランク角センサ３２からのクランクパルス入力毎に、クランクパルスの入力間隔時間に基づきエンジン回転数ＮEを算出し、また、気筒判別センサ３５からの気筒判別パルス入力により気筒判別を行う。尚、この気筒判別結果は、ここでは詳述しないが、燃料噴射制御、点火時期制御等に反映される。
【００５６】
そして、システムイニシャライズ後、図２に示す故障診断ルーチンが所定周期（例えば、１０msec）毎に実行され、吸入空気量センサ２３に対する故障診断が行われる。
【００５７】
この故障診断ルーチンにおいては、先ず、ステップS1〜S4で、診断対象とする吸入空気量センサ２３を除く各センサにより検出されるエンジン運転状態に基づいて診断条件が成立するか否かを判断する。
【００５８】
本実施の形態では、エンジン回転数ＮE、スロットル弁５ａの実スロットル開度ＴＨＶ、及び、スロットル弁５ａ下流の吸気管圧力Ｐによるエンジン運転状態が予め設定された範囲内にあるとき、診断条件成立と判断し、吸入空気量センサ２３の出力値（出力電圧）ＶＱに基づいて、該吸入空気量センサ２３に対する故障診断を行う。
【００５９】
従って、ステップS1では、エンジン回転数ＮEを算出する際のベースとなるクランク角を検出するクランク角センサ３２、実スロットル開度を検出するスロットル開度センサ２４ａ、及び、吸気管圧力Ｐを検出する吸気管圧力センサ２５が共に正常か否かを判断する。すなわち、ＥＣＵ４０の自己診断機能によって診断されたこれら各センサ３２，２４ａ，２５に対する故障診断結果を参照し、診断条件を判断するためのエンジン運転状態を検出するクランク角センサ３２、スロットル開度センサ２４ａ、及び吸気管圧力センサ２５の全てが正常か否かを判断する。
【００６０】
ここで、診断条件を定めるエンジン運転状態を検出するための、これら各センサ３２，２４ａ，２５の何れかが異常のときには、診断条件を判断できず、このとき吸入空気量センサ２３に対する故障診断を行うと、誤診断を招く。従って、このときには吸入空気量センサ２３に対する故障診断を行うことなく、ステップS1からステップS13へジャンプし、吸入空気量センサ２３の異常状態の継続時間を計時する診断タイマのカウント値ＴＭをクリアして（ＴＭ←０）、ルーチンを抜ける。
【００６１】
一方、クランク角センサ３２、スロットル開度センサ２４ａ、吸気管圧力センサ２５の全てが正常のときには、ステップS2へ進み、ステップS2〜S4で、それぞれ現在のエンジン回転数ＮE、スロットル開度センサ２４ａによる実スロットル開度ＴＨＶ、吸気管圧力センサ２５による吸気管圧力Ｐを読み出し、これらエンジン回転数ＮE、実スロットル開度ＴＨＶ、吸気管圧力Ｐを診断条件を定める各下限値ＮEL、ＡＬＰＨL、ＰL、及び上限値ＮEH、ＡＬＰＨH、ＰHと比較する。
【００６２】
そして、エンジン回転数ＮE、実スロットル開度ＴＨＶ、及び、吸気管圧力Ｐの何れかが上記下限値ＮEL、ＡＬＰＨL、ＰL、及び上限値ＮEH、ＡＬＰＨH、ＰHによる領域外のときには、診断条件の非成立と判断して、吸入空気量センサ２３に対する故障診断を行うことなく、該当するステップから上記ステップS13を経て、ルーチンを抜ける。
【００６３】
また、上記ステップS2〜S4において、ＮEL≦ＮE≦ＮEH、且つ、ＡＬＰＨL≦ＴＨＶ≦ＡＬＰＨH、且つ、ＰL≦Ｐ≦ＰHで、エンジン回転数ＮE、実スロットル開度ＴＨＶ、及び、吸気管圧力Ｐの全てが下限値ＮEL、ＡＬＰＨL、ＰL、及び上限値ＮEH、ＡＬＰＨH、ＰHによる領域内にあるとき、診断条件成立と判断してステップS5へ進み、吸入空気量センサ２３の出力値（出力電圧）ＶＱを読み出し、この吸入空気量センサ出力値ＶＱを、該出力値ＶＱの正常範囲を定める下限値ＶＱL及び上限値ＶＱHと比較することで、吸入空気量センサ２３に対する故障を判断する。
【００６４】
すなわち、エンジン回転数ＮE、実スロットル開度ＴＨＶ、吸気管圧力Ｐに対する吸入空気量センサ２３の出力値ＶＱの整合性を判断することで、吸入空気量センサ２３に対する故障診断を行う。
【００６５】
ここで、エンジン回転数ＮEが所定範囲のエンジン運転状態時において（ＮEL≦ＮE≦ＮEH）、スロットル弁５ａが所定開度範囲に開弁しており（ＡＬＰＨL≦ＴＨＶ≦ＡＬＰＨH）、且つ、この所定範囲のエンジン回転数ＮE及びスロットル開度ＴＨＶに対応して、スロットル弁５ａ下流の吸気管圧力Ｐが所定範囲の値を示しているとき（ＰL≦Ｐ≦ＰH）、吸入空気量センサ出力値ＶＱが通常取り得る出力値範囲（吸入空気量センサ２３が正常状態であれば取り得る出力値範囲）を逸脱しているとき、該吸入空気量センサ系の故障と診断することができる。
【００６６】
従って、上記各下限値ＮEL，ＡＬＰＨL，ＰL，ＶＱL、及び上限値ＮEH，ＡＬＰＨH，ＰH，ＶＱHは、これらの整合性に基づいて、予めシミュレーション或いは実験等により、これら各上限値及び下限値の最適値を求め、ＲＯＭ４２に固定データとしてメモリされている。
【００６７】
そして、上記ステップS5においてＶＱL＜ＶＱ＜ＶＱHで、吸入空気量センサ２３の出力値ＶＱが正常範囲を定める上記下限値ＶＱLと上限値ＶＱHとによる範囲内にあるときには、吸入空気量センサ系は正常と判断して、ステップS6へ進み、バックアップＲＡＭ４４にトラブルデータとしてストアされる吸入空気量センサ系の故障を示す吸入空気量センサＮＧフラグＦAFNGをクリアすると共に（ＦAFNG←０）、警報ランプ３８の所定コードの点滅による吸入空気量センサ系の故障表示を行うことなく、上記ステップS13を経て、ルーチンを抜ける。
【００６８】
一方、上記ステップS5において、ＶＱL≧ＶＱ或いはＶＱ≧ＶＱLで、吸入空気量センサ２３の出力値ＶＱが下限値ＶＱL及び上限値ＶＱHによる正常範囲を逸脱し異常値を示しているとき、ステップS7へ進み、ステップS7以降の処理により、その異常状態の継続時間を判断し、異常状態が所定時間継続したとき、吸入空気量センサ系の故障と診断する。
【００６９】
ステップS7では、吸入空気量センサ系の異常状態の継続時間を計時する診断タイマのカウント値ＴＭを参照し、ＴＭ＝０の診断開始時、すなわち、吸入空気量センサ系の異常診断初回のときには、ステップS8へ進む。
【００７０】
そして、ステップS8で、アクセルセンサ２２による現在のアクセル開度ＡＬＰＨを読み出して、このアクセル開度ＡＬＰＨを診断開始時アクセル開度ＡＬＰＨDIAGSTとしてＲＡＭ４３の所定アドレスにストアし（ＡＬＰＨDIAGST←ＡＬＰＨ）、続くステップS9で、スロットル開度センサ２４ａによる現在の実スロットル開度ＴＨＶを診断開始時スロットル開度ＴＨＶDIAGSTとしてＲＡＭ４３の所定アドレスにストアして（ＴＨＶDIAGST←ＴＨＶ）、ステップS10へ進む。
【００７１】
また、上記ステップS7においてＴＭ≠０であり、異常診断開始後２回目以降のルーチン実行時には、ステップS7からステップS10へジャンプする。
【００７２】
そして、ステップS10で、診断タイマのカウント値ＴＭをカウントアップし（ＴＭ←ＴＭ＋１）、続くステップS11で、上記診断タイマのカウント値ＴＭを、吸入空気量センサ系の異常状態の継続時間を判断するための設定値ＴＭDIAGと比較する。
【００７３】
上記設定値ＴＭDIAGは、外乱等の影響により吸入空気量センサ２３の出力値ＶＱが一時的に異常値を示すことによる誤診断を防止し、確実に吸入空気量センサ系が故障していると判断される時間値を定めるもので、予めシミュレーション或いは実験等により適正値を求め、ＲＯＭ４２に固定データとしてメモリされている。
【００７４】
そして、ＴＭ≦ＴＭDIAGで、吸入空気量センサ系の異常状態の継続時間が上記設定値ＴＭDIAGにより定まる所定時間に達していないときには、故障の未確定により、そのままルーチンを抜ける。
【００７５】
一方、上記ステップS11においてＴＭ＞ＴＭDIAGで、吸入空気量センサ系の異常状態の継続時間が上記設定値ＴＭDIAGにより定まる所定時間に達したとき、すなわち、上記ステップS1〜S4の診断条件が全て成立している状態下で、吸入空気量センサ２３の出力値ＶＱが通常取り得ない値を示し正常範囲を逸脱している状態が所定時間継続したとき、吸入空気量センサ２３自体の故障、又は吸入空気量センサ２３とＥＣＵ４０間のコネクタ或いはハーネスの断線，ショート等による吸入空気量センサ系の故障と確定して、ステップS12へ進む。
【００７６】
そして、ステップS12で、吸入空気量センサ系の故障を示す吸入空気量センサＮＧフラグＦAFNGをセットすると共に（ＦAFNG←１）、点滅の長短、所定期間における点滅回数、或いはこれらの組合せによる所定の点滅コードで、警報ランプ３８を点滅させ、吸入空気量センサ系の故障を報知する。そして、次回の診断に備え、上記ステップS13で、診断タイマのカウント値ＴＭをクリアし、ルーチンを抜ける。
【００７７】
その結果、吸入吸気量センサ系に故障が生じたときには、警報ランプ３８の点滅によって報知され、運転者は容易に故障を判断することができる。
【００７８】
また、ディーラ等のサービス工場でのトラブルシューティングの際に、外部接続コネクタ５５を介してシリアルモニタ６０を接続することで、シリアルモニタ６０によってＥＣＵ４０における吸入空気量センサＮＧフラグＦAFNGによるトラブルデータを読み出して、吸入空気量センサ系の故障を的確に判断することができる。
【００７９】
そして、該当個所を修理後、上記シリアルモニタ６０により上記吸入空気量センサＮＧフラグＦAFNGをクリアする。尚、本実施の形態においては、該当個所を修理後、シリアルモニタ６０によって上記吸入空気量センサＮＧフラグＦAFNGをクリアしなくても、吸入空気量センサ系が正常状態に復帰すれば、上記故障診断ルーチンにおいて、吸入空気量センサＮＧフラグＦAFNGはクリアされる。
【００８０】
一方、上記故障診断ルーチンと並行して、図３に示すスロットル制御ルーチンが所定周期（例えば、１０msec）毎に実行され、上述の故障診断の実行を判断し、故障診断の非実行時には、アクセルセンサ２２によるアクセル開度ＡＬＰＨに基づいてスロットル弁５ａに対する目標スロットル開度ＴＨＶTGTを設定し、また、故障診断の実行期間中は、上記診断開始時スロットル開度ＴＨＶDIAGSTによって目標スロットル開度ＴＨＶTGTを設定する。そして、スロットル弁５ａを作動するスロットルアクチュエータ１０に対する制御量を、上記目標スロットル開度ＴＨＶTGTに対するスロットル弁５ａの実スロットル開度ＴＨＶの偏差ΔＴＨに応じて設定し、該制御量による駆動信号をスロットルアクチュエータ１０に出力することで、スロットルアクチュエータ１０によってスロットル弁５ａを作動し、スロットル弁５ａの実スロットル開度ＴＨＶが目標スロットル開度ＴＨＶTGTに一致するようフィードバック制御する。
【００８１】
次に、図３のスロットル制御ルーチンについて説明する。
【００８２】
このスロットル制御ルーチンにおいては、先ず、ステップS21で、アクセルセンサ２２によるアクセル開度ＡＬＰＨを読み出し、このアクセル開度ＡＬＰＨに基づいて補間計算付きで目標スロットル開度テーブルを参照してスロットル弁５ａに対する目標スロットル開度ＴＨＶTGTを設定する。
【００８３】
上記目標スロットル開度テーブルは、運転者のアクセル操作量すなわちエンジン出力要求を表すアクセル開度ＡＬＰＨ毎に、このエンジン出力を得るためのスロットル通過空気量に対応するスロットル弁５ａの適正スロットル開度を、予めシミュレーション或いは実験等により求め、この適正スロットル開度を目標スロットル開度として、アクセル開度ＡＬＰＨをパラメータとするテーブルとして設定し、ＲＯＭ４２の一連のアドレスにメモリされているものである。すなわち、上記目標スロットル開度ＴＨＶTGTは、運転者のアクセル操作量に適合する適切なスロットル弁５ａの実開度に対応してセッティングされる。
【００８４】
尚、この目標スロットル開度テーブルの一例をステップS21中に示す。ステップS21中に示すように、目標スロットル開度ＴＨＶTGTは、アクセル開度ＡＬＰＨに対し増大関数の関係にある。このため、目標スロットル開度テーブルに代え、アクセル開度ＡＬＰＨによる関数式によって目標スロットル開度ＴＨＶTGTを設定するようにしてもよい。
【００８５】
次いで、ステップS22へ進み、上述の故障診断ルーチンによる診断タイマのカウント値ＴＭを参照することで、現在、故障診断が実行されているか否かを判断する。
【００８６】
そして、ＴＭ＝０で、吸入空気量センサ系の異常状態の継続時間を計時しておらず、故障診断の非実行時には、ステップS25へジャンプして、スロットル開度センサ２４ａの出力値に基づき検出したスロットル弁５ａの現在の実スロットル開度ＴＨＶを読み出し、上記目標スロットル開度ＴＨＶTGTから実スロットル開度ＴＨＶを減算して、目標スロットル開度ＴＨＶTGTに対する実スロットル開度ＴＨＶの偏差ΔＴＨを算出する（ΔＴＨ←ＴＨＶTGT−ＴＨＶ）。
【００８７】
そして、ステップS26で、上記偏差ΔＴＨに基づいてＲＯＭ４２にメモリされている制御量テーブルを参照し、スロットルアクチュエータ１０に対する制御量を定めるスロットルアクチュエータ制御量ＤACTを設定する。
【００８８】
ここで、上記スロットルアクチュエータ制御量ＤACTは、周知のように、目標スロットル開度ＴＨＶTGTに対する実スロットル開度ＴＨＶの大小関係、及び、その偏差ΔＴＨの大きさに応じて設定される。
【００８９】
すなわち、図４に示すように、目標スロットル開度ＴＨＶTGTに対する実スロットル開度ＴＨＶの偏差ΔＴＨがマイナス値のときには、実スロットル開度ＴＨＶが目標スロットル開度ＴＨＶTGTよりも大きく、この偏差ΔＴＨに応じて、スロットルアクチュエータ１０を構成するステッピングモータのステップ位置を所定ステップ数減少させて該スロットルアクチュエータ１０の逆転作動によりスロットル弁５ａを所定角度閉弁させるに適正なスロットルアクチュエータ制御量ＤACTを設定する。
【００９０】
また、この時、目標スロットル開度ＴＨＶTGTに対して実スロットル開度ＴＨＶが大きく、偏差ΔＴＨがよりマイナス側であるほど、ステップモータを逆転作動するステップ数をよりマイナス側として、スロットルアクチュエータ１０によるスロットル弁５ａの閉弁速度を早くし、早期に、スロットル弁５ａの実スロットル開度ＴＨＶを目標スロットル開度に収束させることを可能とする。そして、実スロットル開度ＴＨＶが目標スロットル開度ＴＨＶTGTに近づくに従い、ステップモータによるステップ位置のマイナス方向への変更量を定めるステップ数を少量とし、スロットルアクチュエータ１０によるスロットル弁５ａの閉弁速度を低下させる。これにより、目標スロットル開度ＴＨＶTGTに対する実スロットル開度ＴＨＶのオーバーシュート或いはアンダーシュートを防止して、スロットルアクチュエータ１０によるスロットル弁５ａの目標スロットル開度ＴＨＶTGTに対する収束性を向上し、制御の安定化を図ることが可能となる。
【００９１】
一方、目標スロットル開度ＴＨＶTGTに対する実スロットル開度ＴＨＶの偏差ΔＴＨがプラス値のときには、実スロットル開度ＴＨＶが目標スロットル開度ＴＨＶTGTよりも小さく、この偏差ΔＴＨに応じて、スロットルアクチュエータ１０を構成するステッピングモータのステップ位置を所定ステップ数増加させて該スロットルアクチュエータ１０の正転作動によりスロットル弁５ａを所定角度開弁させるに適正なスロットルアクチュエータ制御量ＤACTを設定する。
【００９２】
また、この時、目標スロットル開度ＴＨＶTGTに対して実スロットル開度ＴＨＶが大きく、偏差がよりプラス側に大きいほど、ステップモータを正転作動するステップ数をより増加して、スロットルアクチュエータ１０によるスロットル弁５ａの開弁速度を早くし、早期に、スロットル弁５ａの実スロットル開度ＴＨＶを目標スロットル開度に収束させることを可能とする。そして、実スロットル開度ＴＨＶが目標スロットル開度ＴＨＶTGTに近づくに従い、ステップモータによるステップ位置の変更量を定める増加ステップ数を少量とし、スロットルアクチュエータ１０によるスロットル弁５ａの閉弁速度を低下させることで、目標スロットル開度ＴＨＶTGTに対する実スロットル開度ＴＨＶのオーバーシュート或いはアンダーシュートを防止し、スロットルアクチュエータ１０によるスロットル弁５ａの目標スロットル開度ＴＨＶTGTに対する収束性を向上し、制御の安定化を図る。
【００９３】
尚、図４に示すように、本実施の形態では、偏差ΔＴＨが−１deg〜１degのときは、スロットルアクチュエータ１０を構成するステッピングモータのステップ位置を変更するステップ数を０として不感帯を設定し、ステッピングモータを現状ステップ位置に停止することで、スロットル弁５ａを開閉動作することなく現状のスロットル開度に保持し、ハンチングを防止する。
【００９４】
そして、ステップS27で、上記スロットルアクチュエータ制御量ＤACTをセットして、ルーチンを抜ける。
【００９５】
そして、このスロットルアクチュエータ制御量ＤACTのセットにより、スロットルアクチュエータ制御量ＤACTに対応するＰＷＭ信号及び相切換信号がスロットルアクチュエータ駆動回路４９に出力されて、相切換信号によってスロットルアクチュエータ１０を構成するステッピングモータの回転方向が決定されると共に、スロットルアクチュエータ駆動回路４９からステッピングモータに対し駆動電流が出力される。
【００９６】
その結果、スロットルアクチュエータ１０を構成するステッピングモータの駆動によりスロットル弁５ａが作動し、故障診断の非実行時には、スロットル弁５ａの実スロットル開度ＴＨＶが、運転者のアクセル操作量を表すアクセル開度ＡＬＰＨに基づいて設定した目標スロットル開度ＴＨＶTGTに追従するようフィードバック制御されて、運転者のアクセル操作量によるエンジン出力要求に適合するスロットル通過空気流量を得る適正スロットル開度に制御される。
【００９７】
一方、上記ステップS22において、ＴＭ≠０で、吸入空気量センサ系の異常状態の継続時間を計時しており、故障診断の実行期間中は、ステップS23へ進む。
【００９８】
ステップS23では、上述の故障診断ルーチンによる診断開始時アクセル開度ＡＬＰＨDIAGSTを読み出し、この診断開始時アクセル開度ＡＬＰＨDIAGSTと現在のアクセル開度ＡＬＰＨとの差の絶対値｜ＡＬＰＨDIAGST−ＡＬＰＨ｜を、設定値ΔＡＬＰＨSと比較し、吸入空気量センサ系の異常状態による診断開始時から現在に至るアクセル操作量の変化を判断する。
【００９９】
上記設定値ΔＡＬＰＨSは、診断開始時からの運転者によるアクセル操作量の変化を判断し、運転者のアクセル操作量を表すアクセル開度ＡＬＰＨの変化が少ないときには、運転者のアクセル操作に拘わらず、スロットル弁５ａの実スロットル開度ＴＨＶを診断開始時のスロットル開度に保持することで、吸入空気量センサ系に対する診断条件の継続を優先し、アクセル開度ＡＬＰＨの変化が大きいときには、運転者のアクセル操作量を表すアクセル開度ＡＬＰＨに基づいて設定した目標スロットル開度ＴＨＶTGTを採用し、運転者のアクセル操作に応じてスロットルアクチュエータ１０によりスロットル弁５ａの実スロットル開度ＴＨＶを制御し、運転者によるアクセル操作を優先するためのもので、予めシミュレーション或いは実験等により適正値を求め、ＲＯＭ４２に固定データとしてメモリされているものである。
【０１００】
そして、｜ＡＬＰＨDIAGST−ＡＬＰＨ｜＜ΔＡＬＰＨSで、診断開始時のアクセル操作量を表す診断開始時アクセル操作量ＡＬＰＨDIAGSTと現在のアクセル開度ＡＬＰＨとの差の絶対値が、上記設定値ΔＡＬＰＨSによる所定値を下回るときには、ステップS24へ進み、上述の故障診断ルーチンによる診断開始時スロットル開度ＴＨＶDIAGSTを読み出して、上記目標スロットル開度ＴＨＶTGTを、診断開始時の実スロットル開度に対応する診断開始時スロットル開度ＴＨＶDIAGSTにより再設定する（ＴＨＶTGT←ＴＨＶDIAGST）。
【０１０１】
そして、上記ステップS25へ進み、上記ステップS24で新たに設定した目標スロットル開度ＴＨＮTGTから現在の実スロットル開度ＴＨＶを減算して、目標スロットル開度ＴＨＶTGTに対する実スロットル開度ＴＨＶの偏差ΔＴＨを算出し、更に上記ステップS26，S27で、この偏差ΔＴＨに基づき上記制御量テーブルを参照して、スロットルアクチュエータ１０に対する制御量を定めるスロットルアクチュエータ制御量ＤACTを設定し、該制御量ＤACTをセットしてルーチンを抜ける。
【０１０２】
その結果、故障診断の実行期間中において、診断開始時のアクセル操作量を表す診断開始時アクセル開度ＡＬＰＨDIAGSTと現在のアクセル開度ＡＬＰＨとの差の絶対値が設定値ΔＡＬＰＨSを下回るときには、目標スロットル開度ＴＨＶTGTが診断開始時の実スロットル開度に対応する診断開始時スロットル開度ＴＨＶDIAGSTにより再設定される。そして、この目標スロットル開度ＴＨＶTGTに対する現在の実スロットル開度ＴＨＶの偏差ΔＴＨに応じてスロットルアクチュエータ１０を構成するステッピングモータが駆動され、このステッピングモータの駆動によりスロットル弁５ａが作動し、スロットル弁５ａの実スロットル開度ＴＨＶが診断開始時のスロットル開度ＴＨＶDIAGSTを維持するようフィードバック制御される。
【０１０３】
従って、故障診断の実行期間中において、運転者によるアクセル操作量の変化が比較的小さいときには、運転者のアクセル操作に拘わらず、スロットル弁５ａによる実スロットル開度ＴＨＶが、診断条件が成立した診断開始時のスロットル開度ＴＨＶDIAGSTに維持されることで、エンジン運転状態による診断条件の成立状態が確実に継続されて、吸入空気量センサ２３に対する故障診断を確実且つ迅速に行うことが可能となる。
【０１０４】
これにより、電子スロットル制御システムを採用するエンジンにおいて、市場（ユーザの使用状態下）での診断頻度を増加して診断可能領域を拡大することが可能となり、精度の高い診断を行うことが可能となる。
【０１０５】
そして、吸入空気量センサ２３に対する故障診断を確実且つ迅速に行うことが可能となるため、吸入空気量センサ系に故障が生じているときには、上述の故障診断ルーチンの実行によるオンボード故障診断により、確実に吸入空気量センサ系の故障を判定して報知することが可能となり、吸入空気量センサ系が故障したまま車輌走行を続けることが防止され、吸入空気量センサの故障による排気エミッションの悪化やエンジンに対する弊害等の二次的不具合を防止することが可能となる。
【０１０６】
一方、上記ステップS23において、｜ＡＬＰＨDIAGST−ＡＬＰＨ｜≧ΔＡＬＰＨSで、診断開始時アクセル開度ＡＬＰＨDIAGSTと現在のアクセル開度ＡＬＰＨとの差の絶対値が設定値ΔＡＬＰＨSによる所定値以上となったときには、上記ステップS25へジャンプする。
【０１０７】
そして、上記ステップS21において、運転者のアクセル操作による現在のアクセル開度ＡＬＰＨに基づいて設定した目標スロットル開度ＴＨＶTGTを採用し、この目標スロットル開度ＴＨＶから現在の実スロットル開度ＴＨＶを減算して、目標スロットル開度ＴＨＶTGTに対する実スロットル開度ＴＨＶの偏差ΔＴＨを算出し、更に上記ステップS26，S27で、この偏差ΔＴＨに基づき上記制御量テーブルを参照して、スロットルアクチュエータ制御量ＤACTを設定し、該制御量ＤACTをセットしてルーチンを抜ける。
【０１０８】
従って、故障診断の実行中であっても、運転者のアクセル操作によるアクセル開度ＡＬＰＨの変化が大きいときには、運転者のアクセル操作量を表す現在のアクセル開度ＡＬＰＨに基づいて設定した目標スロットル開度ＴＨＶTGTを採用し、運転者のアクセル操作に応じてスロットルアクチュエータ１０によりスロットル弁５ａの実スロットル開度ＴＨＶを制御することで、運転者によるアクセル操作を優先し、通常のスロットル制御に復帰させ、運転者のアクセル操作による要求エンジン出力を確保することが可能となる。
【０１０９】
そして、通常のスロットル制御への復帰によってスロットル弁５ａの実スロットル開度ＴＨＶの変化に伴いエンジン運転状態が変化し、上述の故障診断ルーチンのステップS2〜S4による診断条件を外れた場合には、吸入空気量センサ系の異常状態の継続時間のカウントが中止されて診断タイマのカウント値ＴＭがクリアされることで（図２のステップS13）、次回以降のスロットル制御ルーチンの実行時は、ステップS22からステップS25へジャンプし、現在のアクセル開度ＡＬＰＨに基づいて設定した目標スロットル開度ＴＨＶTGTにより通常のスロットル制御が継続されることになる。
【０１１０】
尚、本実施の形態では、診断対象として吸入空気量センサに対する故障診断について説明したが、本発明はこれに限定されず、診断対象は吸入空気量センサ以外のセンサ、或いはアクチュエータであってもよいことは勿論である。
【０１１１】
また、本実施の形態においては、運転者のアクセル操作量としてアクセル開度を採用しているが、本発明はこれに限定されず、アクセル操作量を表すものであれば本発明を適用し得る。
【０１１２】
又、アクセル操作をマイクロコンピュータ等からなる制御装置で操作することで自動運転制御に適用することも可能であり、この場合、運転者は人員のみならず上記制御装置をも含むものである。
【０１１３】
更に、本実施の形態では、スロットルアクチュエータとしてステッピングモータ式スロットルアクチュエータを用いているが、本発明はこれに限定されず、サーボモータ式スロットルアクチュエータ、油圧モータ式スロットルアクチュエータ等を用いてもよい。
【０１１４】
【発明の効果】
以上説明したように、請求項１記載の発明によれば、エンジン運転状態に基づいて診断条件を判断し、診断条件の成立時に、エンジン制御系に備えられたセンサ或いはアクチュエータを診断対象として故障診断を行う。そして、故障診断の実行を判断して、故障診断の非実行時には、運転者によるアクセル操作量に基づいてスロットル弁に対する目標スロットル開度を設定し、この目標スロットル開度と実スロットル開度とに基づいてスロットル弁を作動するスロットルアクチュエータに対する制御量を設定するので、運転者のアクセル操作による要求エンジン出力が確保される。一方、故障診断の実行期間中は、診断開始時のアクセル操作量と現在のアクセル操作量との差を所定値と比較し、差が所定値を下回るときには、目標スロットル開度を診断開始時の実スロットル開度に設定するので、故障診断の実行期間中において、運転者によるアクセル操作量の変化が比較的小さいときには、運転者のアクセル操作に拘わらず、スロットル弁による実スロットル開度が、診断条件が成立した診断開始時のスロットル開度に維持され、エンジン運転状態による診断条件の成立状態が確実に継続されて診断対象に対する故障診断を確実且つ迅速に行うことができる。また、これにより、電子スロットル制御システムを採用するエンジンにおいて、市場（ユーザの使用状態下）での診断頻度を増加して診断可能領域を拡大することが可能となる。
【０１１５】
請求項２記載の発明によれば、診断対象に対する故障診断を行うに際して、診断対象としないセンサにより検出されるエンジン運転状態に基づいて診断条件を判断する。そして、診断条件の成立下で、診断対象となるセンサからの出力値或いは診断対象となるアクチュエータに対する出力値が異常値を示す状態が所定時間継続したとき、該診断対象の故障と診断して故障を報知するので、精度の高い診断を行うことができる効果を有する。
【０１１６】
さらに、診断対象に対する故障診断を確実且つ迅速に行うことができるため、診断対象に故障が生じているときには、オンボード故障診断により確実に診断対象の故障を判定して報知することが可能となり、これにより、診断対象が故障したまま運転を続けることが防止され、診断対象の故障による排気エミッションの悪化やエンジンに対する弊害等の二次的不具合を防止することができる。
【０１１８】
請求項３記載の発明によれば、上記請求項１或いは請求項２記載の発明の効果に加え、上記アクセル操作量として、アクセルペダルの踏み込み量を示すアクセル開度を採用することで、本発明を車輌用エンジンのエンジン制御に対して容易に適用することができる効果を有する。
【図面の簡単な説明】
【図１】本発明の基本構成図
【図２】故障診断ルーチンのフローチャート
【図３】スロットル制御ルーチンのフローチャート
【図４】目標スロットル開度に対する実スロットル開度の偏差とステッピングモータの作動関係を示す説明図
【図５】エンジンの全体概略図
【図６】アクセルペダルの側面図
【図７】電子制御系の回路構成図
【符号の説明】
１  エンジン
５ａ  スロットル弁
１０  スロットルアクチュエータ
２２  アクセルセンサ
２３  吸入空気量センサ（診断対象）
２４ａ  スロットル開度センサ（診断対象を除くセンサ）
２５  吸気管圧力センサ（診断対象を除くセンサ）
３２  クランク角センサ（診断対象を除くセンサ）
４０  電子制御装置（診断手段、目標スロットル開度設定手段、制御量設定手段）
ＡＬＰＨ  アクセル開度（アクセル操作量；現在のアクセル操作量）
ＮE  エンジン回転数（エンジン運転状態）
Ｐ  吸気管圧力（エンジン運転状態）
ＴＨＶTGT  目標スロットル開度
ＴＨＶ  実スロットル開度（エンジン運転状態）
ＤACT  スロットルアクチュエータ制御量（スロットルアクチュエータに対する制御量）
ＶＱ  吸入空気量センサ出力値（診断対象の出力値）
ＴＭDIAG  設定値（所定時間）
ＡＬＰＨDIAGST  診断開始時アクセル開度（診断開始時のアクセル操作量）
ΔＡＬＰＨS  設定値（所定値）
ＴＨＶDIAGST  診断開始時スロットル開度（診断開始時の実スロットル開度）
【図１】
0004223083.tif 000002
【図２】
0004223083.tif 000003
【図３】
0004223083.tif 000004
【図４】
0004223083.tif 000005
【図５】
0004223083.tif 000006
【図６】
0004223083.tif 000007
【図７】
0004223083.tif 000008