(57)【要約】【課題】むだ時間の変化を逐次推定し高精度な制御を実施することができる制御装置を提供する。【解決手段】制御対象を離散数式モデルで表したプラントモデルを用い、該プラントモデルに制御対象への入力を加えた際の出力であるプラントモデル出力と制御対象の実出力との差である同定誤差をゼロに近づけるようにプラントモデルのパラメータを同定する。このとき、同定処理により算出された離散モデルパラメータ、若しくは離散モデルパラメータに基づいて算出されるむだ時間以外のパラメータの変化により、むだ時間の信頼性を判定することで、むだ時間を精度良く算出することが可能となる。【選択図】図３
2008152318.tif 000002
【特許請求の範囲】
【請求項１】
制御対象のむだ時間に基づいて算出された離散モデルパラメータを含む離散化したプラントモデルを有し、前記制御対象の実出力が所定の目標値となるように前記制御対象への入力を制御する制御装置において、
該離散プラントモデルに前記制御対象への入力を入力した時のプラントモデル出力と前記制御対象の実出力との偏差（以下、「同定誤差」と言う）をゼロに近づけるように、前記離散プラントモデルの前記離散モデルパラメータを同定する同定手段と、
前記同定手段により算出された前記離散モデルパラメータに基づいて算出された前記むだ時間を実むだ時間に近づけるように推定するむだ時間推定手段と、
前記同定手段により算出された前記離散モデルパラメータにより算出される前記むだ時間以外のパラメータに基づいて、前記むだ時間推定手段で推定した推定むだ時間が正しく推定されているか否かを判定する信頼性判定手段を備えることを特徴とする制御装置。
【請求項２】
前記信頼性判定手段は、前記同定手段により同定された前記離散モデルパラメータより算出される、遅れ要素に関する定数に基づいて、前記推定むだ時間が正しく推定されているか否か判定することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記信頼性判定手段は、前記同定手段により同定された前記離散モデルパラメータより算出される、前記遅れ要素に関する定数の変化に基づいて、前記推定むだ時間が正しく推定されているか否か判定することを特徴とする請求項２に記載の制御装置。
【請求項４】
前記信頼性判定手段は、前記制御対象への入力がステップ的に変化した際の、前記同定手段により同定された前記離散モデルパラメータより算出される、前記遅れ要素に関する定数の平均値に基づいて、前記推定むだ時間が正しく推定されているか否か判定することを特徴とする請求項２に記載の制御装置。
【請求項５】
前記信頼性判定手段は、前記遅れ要素に関する定数の平均値が下限値から上限値の間にある場合に、推定むだ時間が正しく推定されていると判定することを特徴とする請求項４記載の制御装置。
【請求項６】
前記信頼性判定手段は、前記同定手段により同定された前記離散モデルパラメータより算出される定常ゲインに基づいて、前記推定むだ時間が正しく推定されているか否か判定することを特徴とする請求項１乃至５のいずれか１つに記載の制御装置。
【請求項７】
前記信頼性判定手段は、前記同定手段により同定された前記離散モデルパラメータより算出される、前記定常ゲインの変化に基づいて、前記推定むだ時間が正しく推定されているか否か判定することを特徴とする請求項６に記載の制御装置。
【請求項８】
前記信頼性判定手段は、前記制御対象への入力がステップ的に変化した際の、前記同定手段により同定された前記離散モデルパラメータより算出される、前記定常ゲインの平均値に基づいて、前記推定むだ時間が正しく推定されているか否か判定することを特徴とする請求項６に記載の制御装置。
【請求項９】
前記信頼性判定手段は、前記定常ゲインの平均値が下限値から上限値の間にある場合に、推定むだ時間が正しく推定されていると判定することを特徴とする請求項８に記載の制御装置。
【請求項１０】
前記むだ時間推定手段により推定した前記むだ時間、及び前記同定手段により同定された前記離散モデルパラメータにより算出される、遅れ要素に関する定数、若しくは定常ゲイン等のパラメータを学習するか否かを判定する学習可否判定手段と、
前記信頼性判定手段により前記推定むだ時間が正しく推定されていると判定され、且つ前記学習可否判定手段により前記パラメータを学習すると判定された場合に、前記パラメータを学習する学習手段とを備えることを特徴とする請求項１乃至９のいずれか１つに記載の制御装置。
【請求項１１】
前記信頼性判定手段により、前記推定むだ時間が正しく推定されていないと判定されると、前記推定むだ時間を修正するむだ時間修正手段を備えることを特徴する請求項１乃至１０のいずれか１つに記載の制御装置。
【請求項１２】
前記制御対象の入力を所定の周期で変動させる入力変動手段を備え、
前記信頼性判定手段により、前記推定むだ時間が所定回数連続して正しく推定されていないと判定されると、前記入力変動手段により前記制御対象の入力の周期を所定値若しくは所定割合長くすることを特徴とする請求項１乃至１１のいずれか１つに記載の制御装置。
【請求項１３】
前記入力変動手段は、前記制御対象の入力を所定の振幅で変動させることを特徴とする請求項１２記載の制御装置。
【請求項１４】
前記むだ時間推定手段により推定した前記むだ時間、または前記同定手段により算出された前記離散モデルパラメータにより算出されるパラメータに基づいて、前記制御対象の劣化を判定する劣化判定手段を備え、
前記信頼性判定手段により、前記推定むだ時間が正しく推定されていないと判定されると、前記劣化判定手段による劣化判定を禁止することを特徴とする請求項１乃至１３いずれか１つに記載の制御装置。
【請求項１５】
制御対象のむだ時間に基づいて算出された離散モデルパラメータを含む離散化したプラントモデルを有し、前記制御対象の異常を判定する異常判定装置において、
該離散プラントモデルに前記制御対象への入力を入力した時のプラントモデル出力と前記制御対象の実出力との偏差（以下、「同定誤差」と言う）をゼロに近づけるように、前記離散プラントモデルの前記離散モデルパラメータを同定する同定手段と、
前記同定手段により算出された前記離散モデルパラメータに基づいて算出された前記むだ時間を実むだ時間に近づけるように推定するむだ時間推定手段と、
前記同定手段により算出された前記離散モデルパラメータにより算出される前記むだ時間以外のパラメータに基づいて、前記むだ時間推定手段で推定した推定むだ時間が正しく推定されているか否かを判定する信頼性判定手段と、
前記信頼性判定手段により前記むだ時間が正しく推定されていると判定されたときの、前記むだ時間推定手段により推定した前記むだ時間、または前記同定手段により算出された前記離散モデルパラメータにより算出されるパラメータに基づいて、前記制御対象の異常を判定する異常判定手段を備えたことを特徴とする異常判定装置。
【請求項１６】
前記信頼性判定手段は、前記同定手段により同定された前記離散モデルパラメータより算出される、遅れ要素に関する定数に基づいて、前記推定むだ時間が正しく推定されているか否か判定することを特徴とする請求項１５に記載の異常判定装置。
【請求項１７】
前記信頼性判定手段は、前記同定手段により同定された前記離散モデルパラメータより算出される定常ゲインに基づいて、前記推定むだ時間が正しく推定されているか否か判定することを特徴とする請求項１５または１６に記載の異常判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象を数式モデルで表したプラントモデルを用い、該プラントモデルのパラメータを逐次同定することで制御対象の動特性を自動的に適応させるようにした制御装置および異常判定装置に関する。
【背景技術】
【０００２】
従来から、制御対象の動特性を逐次同定する制御装置および異常判定装置が提案されている。この制御装置および異常判定装置は、制御対象を数式で表したプラントモデルを持ち、実際の制御入力をプラントモデルに入力した時のプラントモデル出力と実際の制御対象の出力との誤差をゼロに近づけるようにプラントモデルのパラメータを逐次推定するものである。しかし、制御対象が無視できないむだ時間を含む場合、同定に用いるプラントモデルは、実際の制御対象が持つむだ時間を考慮する必要がある。また、むだ時間を持つ制御対象に対して、同定したモデルパラメータを用いて制御器を設計して制御する場合、高精度な性能を達成するためには、むだ時間を考慮した設計が必要となる。
【０００３】
特許文献１及び特許文献２の技術では、むだ時間の変化を逐次学習することで、高精度な制御を実施可能な制御装置を提案している。より具体的に説明すると、まず、制御対象のむだ時間Ｌをサンプル回数ｄ、サンプリング周期ｄｔ、余むだ時間Ｌ１で表し（Ｌ＝ｄ×ｄｔ＋Ｌ１）、離散化する。次に、離散化により算出された離散パラメータを同定により最適化することで、むだ時間の余むだ時間Ｌ１を推定する。このとき、例えば、むだ時間Ｌが実むだ時間と異なって設定されていると、余むだ時間Ｌ１は余むだ時間の上限値付近、または下限値付近で算出される。このため、余むだ時間Ｌ１に基づいて、サンプリング回数を更新することで、制御対象のむだ時間を実際のむだ時間に追従させることが可能となり、このように推定された制御対象のむだ時間を逐次学習することで、高い制御精度を維持することができる。また、推定された制御対象のむだ時間を用いて、制御対象の異常診断を行っている。
【特許文献１】特開２００６−１１８４２９号公報
【特許文献２】特願２００６−１１１５１７号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１及び特許文献２の技術では、推定したむだ時間が正しく推定されているか否かの判断がなされていなかった。同定による推定は、初期値の設定により最適な値を算出するようにするものであるため、図１９に示すように特許文献１及び特許文献２の技術では、例えば、むだ時間の初期値が初期値Ａに設定されると、最適値Ａにおけるむだ時間を実むだ時間として推定してしまう場合がある。このように、むだ時間を誤って推定した状態でむだ時間を学習すると制御装置の場合、制御性が悪化する虞がある。
【０００５】
また、異常診断装置の場合、むだ時間を誤って推定した状態で、制御対象の異常診断を行うと、誤判定を行う場合がある。
【０００６】
そこで、本願の第１の目的は、推定したむだ時間が正しく推定されているか否かを判定可能な制御装置を提供することにある。また、第２の目的は、推定したむだ時間が正しく推定されているか否かを判定し、その判定結果に基づいて制御対象の異常判定を行う異常判定装置を提供することにある。
【課題を解決するための手段】
【０００７】
そこで、請求項１に係る発明では、制御対象の実むだ時間に基づいて算出された離散モデルパラメータを含む離散化したプラントモデルにおいて、離散プラントモデルに制御対象への入力を入力した時のプラントモデル出力と制御対象の実出力との偏差（以下、「同定誤差」と言う）をゼロに近づけるように、離散モデルパラメータを同定する同定手段と、同定手段により算出された離散モデルパラメータに基づいて算出されるむだ時間を実むだ時間に近づけるように推定するむだ時間推定手段と、同定手段により算出された離散モデルパラメータにより算出されるむだ時間以外のパラメータに基づいて、むだ時間推定手段で推定した推定むだ時間が正しく推定されているか否かを判定する信頼性判定手段を備える。
【０００８】
むだ時間が正しく算出されていないと、離散モデルパラメータにより算出されるむだ時間以外のパラメータの値にも影響を与えるため、このように、離散モデルパラメータにより算出されるむだ時間以外のパラメータに基づいて、推定したむだ時間が正しく算出されているか否かを判定することで、むだ時間を精度良く算出することが可能となる。
【０００９】
ここで、推定むだ時間が正しく推定されていないと、離散モデルパラメータにより算出される遅れ要素に関する定数に影響を与える場合があるため、請求項２に係る発明のように、信頼性判定手段は、同定手段により同定された離散モデルパラメータより算出される、遅れ要素に関する定数に基づいて、推定むだ時間が正しく推定されているか否か判定すると良い。
【００１０】
また、請求項３に係る発明のように、信頼性判定手段は、同定手段により同定された離散モデルパラメータより算出される遅れ要素に関する定数の値の変化に基づいて、推定むだ時間が正しく推定されているか否か判定すると良い。
【００１１】
また、請求項４に係る発明のように、信頼性判定手段は、制御対象への入力がステップ的に変化した際の、同定手段により同定された離散モデルパラメータより算出される遅れ要素に関する定数の平均値に基づいて、推定むだ時間が正しく推定されているか否か判定すると良い。なお、請求項５に係る発明のように、信頼性判定手段は、遅れ要素に関する定数の平均値が下限値から上限値の間にある場合に、推定むだ時間が正しく推定されていると判定すると良い。推定むだ時間が正しく推定されていないと、離散モデルパラメータより算出される遅れ要素に関する定数の平均値が過大または、過小となる場合がある。このため、遅れ要素に関する定数の平均値に下限値と上限値を持たせ、制御対象への入力がステップ的に変化した際の遅れ要素に関する定数の平均値が下限値と上限値の間にある場合に、推定むだ時間が正しく推定されていると判定すると良い。
【００１２】
ここで、推定むだ時間が正しく推定されていないと、離散モデルパラメータにより算出される定常ゲインに影響を与える場合があるため、請求項６に係る発明のように、信頼性判定手段は、同定手段により同定された離散モデルパラメータより算出される定常ゲインに基づいて、推定むだ時間が正しく推定されているか否か判定すると良い。
【００１３】
また、請求項７に係る発明のように、信頼性判定手段は、同定手段により同定された離散モデルパラメータより算出される定常ゲインの値の変化に基づいて、推定むだ時間が正しく推定されているか否か判定すると良い。
【００１４】
また、請求項８に係る発明のように、信頼性判定手段は、制御対象への入力がステップ的に変化した際の、同定手段により同定された離散モデルパラメータより算出される定常ゲインの値の平均値に基づいて、推定むだ時間が正しく推定されているか否か判定すると良い。なお、請求項９に係る発明のように、信頼性判定手段は、定常ゲインの平均値が下限値から上限値の間にある場合に、推定むだ時間が正しく推定されていると判定すると良い。このように、離散モデルパラメータより算出される定常ゲインが下限値から上限値の間にある場合に、推定むだ時間が正しく推定されていると判定しても良い。
【００１５】
また、請求項１０に係る発明のように、むだ時間推定手段により推定したむだ時間、及び同定手段により同定された離散モデルパラメータにより算出される遅れ要素に関する定数、若しくは定常ゲイン等のパラメータを学習するか否かを判定する学習可否判定手段を備え、信頼性判定手段により推定むだ時間が正しく推定されていると判定され、且つ学習可否判定手段によりパラメータを学習すると判定された場合に、パラメータを学習すると良い。
【００１６】
このように、推定されたむだ時間が正しく算出されており、且つ学習しても良いと判定されている場合に、学習を行うことによって、むだ時間推定手段により推定したむだ時間、または同定手段により同定された離散モデルパラメータにより算出される遅れ要素に関する定数、若しくは定常ゲイン等のパラメータを、正確に学習することが可能となる。
【００１７】
また、請求項１１に係る発明のように、信頼性判定手段により、推定むだ時間が正しく推定されていないと判定されると、推定むだ時間を修正するむだ時間修正手段を備える。このように、推定むだ時間が正しく推定されていないと判定されると、推定むだ時間を修正することで、推定むだ時間を正確に算出することが可能となる。
【００１８】
また、請求項１２に係る発明のように、制御対象の入力を所定の周期で変動させる入力変動手段を備え、信頼性判定手段により、推定むだ時間が所定回数連続して正しく推定されていないと判定されると、入力変動手段により制御対象の入力の周期を所定値若しくは所定割合長くすると良い。このように、制御対象の入力の周期を所定値若しくは所定割合長くすると、むだ時間の推定が容易になるため、制御対象の入力を所定の振幅、所定の周期で変動させているような制御を行っている場合に、推定むだ時間が数回連続して正しく推定されていないと判定されると、制御対象の入力の周期変化させると良い。また、請求項１３に係る発明のように、入力変動手段によって、制御対象の入力を所定の振幅で変動させても良い。
【００１９】
また、請求項１４に係る発明のように、むだ時間推定手段により推定したむだ時間、及び同定手段により同定された離散モデルパラメータにより算出されるパラメータに基づいて、制御対象の劣化を判定する劣化判定手段を備え、信頼性判定手段により、推定むだ時間が正しく推定されていないと判定されると、劣化判定手段による劣化判定を禁止すると良い。推定したむだ時間が正しく推定されていないにもかかわらず、劣化判定を行うと、誤判定する虞があるため、このように、推定むだ時間が正しく推定されていないと判定されると、劣化判定を防止すると良い。
【００２０】
次に、請求項１５に係る発明では、制御対象のむだ時間に基づいて算出された離散モデルパラメータを含む離散化したプラントモデルを有する異常判定装置において、該離散プラントモデルに制御対象への入力を入力した時のプラントモデル出力と制御対象の実出力との偏差（以下、「同定誤差」と言う）をゼロに近づけるように、離散プラントモデルの離散モデルパラメータを同定する同定手段と、同定手段により算出された離散モデルパラメータに基づいて算出されたむだ時間を実むだ時間に近づけるように推定するむだ時間推定手段と、同定手段により算出された離散モデルパラメータにより算出されるむだ時間以外のパラメータに基づいて、むだ時間推定手段で推定した推定むだ時間が正しく推定されているか否かを判定する信頼性判定手段と、信頼性判定手段によりむだ時間が正しく推定されていると判定されたときの、むだ時間推定手段により推定したむだ時間、または同定手段により算出された離散モデルパラメータにより算出されるパラメータに基づいて、制御対象の異常を判定する異常判定手段とを備える。
【００２１】
むだ時間が正しく算出されていないと、離散モデルパラメータにより算出されるむだ時間以外のパラメータの値にも影響を与えるため、このように、離散モデルパラメータにより算出されるむだ時間以外のパラメータに基づいて、推定したむだ時間が正しく算出されているか否かを判定する。また、むだ時間が正しく推定されていると判定されたときに、制御対象の異常判定を行うことで、異常判定の精度を向上させることが可能となる。つまり、従来では、むだ時間が正しく推定されているか否かの判定を行っていなかったので、むだ時間が正しく推定されていないにも係わらず、制御対象の異常判定を行う場合があり、制御対象の異常を判定する際に誤判定する可能性があった。そこで、請求項１５の発明のように、むだ時間が正しく推定されていると判定されているときに、制御対象の異常判定を行うことで、制御対象の異常判定の誤判定を防ぐことが可能となる。
【００２２】
ここで、推定むだ時間が正しく推定されていないと、離散モデルパラメータにより算出される遅れ要素に関する定数に影響を与える場合があるため、請求項１６に係る発明のように、信頼性判定手段は、同定手段により同定された離散モデルパラメータより算出される、遅れ要素に関する定数に基づいて、推定むだ時間が正しく推定されているか否か判定すると良い。
【００２３】
ここで、推定むだ時間が正しく推定されていないと、離散モデルパラメータにより算出される定常ゲインに影響を与える場合があるため、請求項１７に係る発明のように、信頼性判定手段は、同定手段により同定された離散モデルパラメータより算出される定常ゲインに基づいて、推定むだ時間が正しく推定されているか否か判定すると良い。
【発明を実施するための最良の形態】
【００２４】
［実施形態１］
以下、本発明を内燃機関の空燃比制御システムに適用して具体化した実施例を説明する。
【００２５】
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００２６】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８には、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒に点火プラグ２２が取り付けられ、各点火プラグ２２の火花放電によって各気筒内の混合気に着火される。
【００２７】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、エンジン１１のクランク軸２７が所定クランク角回転する毎にクランク角信号（パルス信号）を出力するクランク角センサ２８が取り付けられている。このクランク角センサ２８のクランク角信号に基づいてクランク角やエンジン回転速度が検出される。
【００２８】
一方、エンジン１１の排気管２３には、排気ガスを浄化するための２つの触媒２５，３０が直列に設けられている。各触媒２５，３０は、例えば、三元触媒、ＮＯｘ吸蔵型三元触媒等により構成され、上流側の触媒２５の上流側と下流側には、それぞれ特定排気ガス濃度（例えば酸素濃度、空燃比等）を検出する上流側排気ガスセンサ３１と下流側排気ガスセンサ３２とが設けられている。本実施例では、上流側排気ガスセンサ３１として空燃比センサを用い、下流側排気ガスセンサ３２として酸素センサ（Ｏ2センサ）を用いているが、この構成に限定されないことは言うまでもない。
【００２９】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２９に入力される。このＥＣＵ２９は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２１の燃料噴射量や点火プラグ２２の点火時期を制御する。
【００３０】
また、ＥＣＵ２９は、図２に示すように、上流側排気ガスセンサ３１で検出した空燃比を上流側触媒２５上流側の目標空燃比に一致させるように供給空燃比（燃料噴射量）をフィードバック補正するメインフィードバック制御（以下の説明では「フィードバック」を「Ｆ／Ｂ」で表記する）を行うメインＦ／Ｂコントローラ４０と、下流側排気ガスセンサ３２の検出電圧（検出空燃比）を目標電圧（上流側触媒２５下流側の目標空燃比）に一致させるように上流側触媒２５上流側の目標空燃比をＦ／Ｂ補正するサブＦ／Ｂ制御を行うサブＦ／Ｂコントローラとして機能する。
【００３１】
メインＦ／Ｂコントローラ４０は、事前にモデル化して適合したプラントモデル（１次遅れ系＋むだ時間のモデル）を基に設計されたものであり、このメインＦ／Ｂコントローラ４０により上流側排気ガスセンサ３１の検出空燃比と上流側触媒２５上流側の目標空燃比との偏差を小さくするように空燃比補正係数が演算され、最適な空燃比Ｆ／Ｂ制御が実現される。
【００３２】
一方、サブＦ／Ｂコントローラは、下流側排気ガスセンサ３２の検出電圧（検出空燃比）を目標電圧（上流側触媒２５下流側の目標空燃比）に一致させるように上流側触媒２５上流側の目標空燃比をＦ／Ｂ補正するサブＦ／Ｂ制御を行うように、事前にモデル化して適合したプラントモデル（２次遅れ系＋むだ時間のモデル）を基に設計されている。
【００３３】
前述のように、メインＦ／Ｂコントローラ４０は、事前にモデル化し適合したプラントモデルを基に設計されたものであり、本来はこのメインＦ／Ｂコントローラ４０により最適な空燃比Ｆ／Ｂ制御が実現されるが、実際の制御対象（エンジン１１、Ａ／Ｆセンサ３１、触媒２５等）では個体差や劣化等によってＦ／Ｂ制御誤差が生じる。このため、適応制御と称される制御方式を用い、メインＦ／Ｂコントローラ４０におけるＦ／Ｂゲインを制御対象（プラント）の現時点の動特性に自動的に適応させ、制御系の性能を常に最良の状態に保持するようにしている。すなわち、制御対象を数式モデルで表したプラントモデルを用い、該プラントモデルに制御対象への入力を加えた際の出力であるプラントモデル出力と制御対象の出力（Ａ／Ｆセンサ３１による検出空燃比）との誤差をゼロに近づけるようにしてプラントモデルの可変パラメータを逐次推定する。ここで、プラントモデルは離散時間で表した離散プラントモデルである。
【００３４】
プラントモデルの離散化は以下のように行う。ここで、制御対象が、１次遅れ系のむだ時間を有する場合の例を示す。まず、連続時間伝達関数は、出力をｙ、入力をｕとして次の（１）式で表される。
2008152318.tif 000003
Ｔは時定数、Ｌはむだ時間である。また、むだ時間Ｌをサンプリング周期ｄｔで除算した商をむだサンプリング回数ｄ、余りを余むだ時間Ｌ１とする。
2008152318.tif 000004
むだ時間Ｌがサンプリング周期ｄｔで割り切れない場合、余むだ時間Ｌ１は０〜ｄｔの正の値をとる。上記（１）式を拡張ｚ変換すると次の（３）式となる。ただしｋは整数であり、ｋ×ｄｔ⇒ｋと略記するものとする。拡張ｚ変換は、例えば「ディジタル制御システム−解析と設計（日刊工業新聞社）」において公知である。
2008152318.tif 000005
上記（３）式の離散時間表現モデルのパラメータ（以下、離散パラメータとする）を、上記（１）式の連続時間表現モデルのパラメータ（以下、連続パラメータとする）で表現すると以下の関係式となる（「実むだ時間に基づいて算出された離散モデルパラメータ」に相当）。
2008152318.tif 000006
以下、上記（４）式の変換（Ｔ，Ｌ１→ａ１，ｂ１，ｂ２）をモデルパラメータの離散化と呼ぶ。また、この逆変換（ａ１，ｂ１，ｂ２→Ｔ，Ｌ１）をモデルパラメータの連続化と呼び、その変換式を次の（５）式で表す。
2008152318.tif 000007
上記（４），（５）式に関して、実際はオンボードで演算可能にするため近似演算を用いる。例えば２次までテイラー展開＋誤差大の範囲はテーブルでもつものとする。
【００３５】
さて、上記（４）式で表したように、拡張ｚ変換により離散化すると離散パラメータ（ｂ１）に余むだ時間Ｌ１が含まれる。このことが拡張ｚ変換の特徴であり、一般的なｚ変換による離散化ではあらわれないものである。同定器により同定するのは、離散パラメータθ（θ＝［ａ１，ｂ１，ｂ２］T：上付きＴは転置を表す）であり（ｂ２はａ１，ｂ１より算出可）、同定値θ＿ｈａｔ（ｘ＿ｈａｔはｘの同定値もしくは推定値を表すものとする、以下同様）より前記（５）式の連続化を用いて連続パラメータの推定値Ｔ＿ｈａｔ，Ｌ１＿ｈａｔが算出可能となっている。この余むだ時間の推定値Ｌ１＿ｈａｔを用いることでむだ時間Ｌ（むだサンプリング回数ｄ）を推定することが可能となる。
【００３６】
以下、離散パラメータを同定する同定処理について説明する。本同定処理では、同定誤差（制御対象の実出力と離散プラントモデル出力との偏差）をゼロにするように、離散モデルのパラメータを逐次最小二乗法により推定する。また、制御対象が、高次遅れ系のむだ時間を有する場合には、特願２００６−１１１５１７号明細書に示すように、高次の遅れ系を複数の１次遅れ系に分割して離散化した後結合して近似すると良い。以下、図２を基に詳細に説明する。
【００３７】
離散プラントモデルは前述のように数式モデルであり、離散パラメータθ（θ＝［ａ１，ｂ１，ｂ２］T）は適応機構により逐次推定される。適応機構は、前述したように同定誤差をゼロに近づけるように離散パラメータθを推定するものである。同定誤差は、離散プラントモデルに実際の制御入力ｕを加えたときのモデル出力ｙ＿ｈａｔと制御対象の実出力ｙとの誤差である。なお、離散プラントモデルに加えられる制御入力ｕや制御対象の実出力ｙ（検出空燃比）には、不要な直流成分やノイズ成分などが含まれる。それ故に、制御入力ｕは、低周波成分除去手段としてのＨＰＦ（ハイパスフィルタ）により直流成分が除去される。また、制御対象の実出力ｙにおいて、メインＦ／Ｂコントローラ４０での空燃比Ｆ／Ｂ用の出力ｙは、高周波成分除去手段としてのＬＰＦ（ローパスフィルタ）によりノイズ成分が除去され、パラメータ同定用の出力ｙは、ＨＰＦとＬＰＦとを組み合わせたＢＰＦ（バンドパスフィルタ）により直流成分とノイズ成分とが除去される。
【００３８】
また、同定誤差ｅには必要に応じてフィルタ処理（ＬＰＦ）や不感帯処理が施される。このとき、フィルタ処理により同定パラメータの振動が抑制され、不感帯処理により過同定が抑制される。
【００３９】
まず、上記（３）式を線形パラメトリックな自己回帰モデルとして表現しなおす。
2008152318.tif 000008
ここで、θ＿ｈａｔ（ｋ）＝［ａ１＿ｈａｔ（ｋ），ｂ１＿ｈａｔ（ｋ），ｂ２＿ｈａｔ（ｋ）］T，ζ（ｋ）＝［ｙ（ｋ），ｕ（ｋ−ｄ），ｕ（ｋ−ｄ−１）］Tである。同定誤差ｅは次の（７）式で求められる。
2008152318.tif 000009
次に、適応機構において、同定誤差ｅをゼロにするように離散パラメータの推定値θ＿ｈａｔを算出するパラメータ調整則は、本実施の形態では重み付き最小二乗法の原理に基づいて導出される。次の（８）式に示す同定誤差ｅの２乗和を評価関数として考える。
2008152318.tif 000010
ここで、λは忘却係数とも呼ばれる重み係数である。上記（８）式の評価関数が最小となるような調整則は次式のように与えられる。
2008152318.tif 000011
上記（９）式において、同定誤差ｅに乗算する行列ゲイン及びスカラゲインγは次式のようになる。
2008152318.tif 000012
本実施の形態では、離散パラメータのノミナル値θｍからの誤差分Δθ＿ｈａｔのみをパラメータ調整則で推定する形としており、上記（９）式は次の（１１）式のように修正される。ノミナル値θｍの算出方法は、後述する。
2008152318.tif 000013
そして、上記（１１）式で求められた離散パラメータの推定値θ＿ｈａｔ（＝Δθ＿ｈａｔ＋θｍ）が離散プラントモデルに反映される。
【００４０】
なお、パラメータ調整則は上記以外に、例えば固定ゲイン則、漸減ゲイン則、可変ゲイン則、固定トレース則等であってもよい。
【００４１】
ここで、離散パラメータのノミナル値θｍは図３のようにして算出される。すなわち、あらかじめ設定したノミナルモデルスケジューラを用い、その都度のエンジン運転状態（本実施の形態では回転速度と負荷）に基づいて時定数、むだ時間、むだサンプリング回数及び余むだ時間のノミナル値（Ｔｍ，Ｌｍ，ｄｍ，Ｌ１ｍ）が算出される。このとき、エンジン運転状態を表す回転速度信号及び負荷信号にはＬＰＦ等のフィルタ処理が施され、該フィルタ処理後の信号を基に各ノミナル値が算出される。これにより、回転速度信号や負荷信号に含まれる高周波振動が除去され、ひいてはむだサンプリング回数ｄｍ等の変動が抑制されるようになっている。また、上記（４）式を用いた離散化処理にて、離散パラメータのノミナル値θｍが算出される。
【００４２】
また、図２において、上記パラメータ調整則に従い推定された離散パラメータθ＿ｈａｔは上記（５）式により連続化され、これにより連続パラメータ（時定数、余むだ時間の推定値Ｔ＿ｈａｔ，Ｌ１＿ｈａｔ）が算出される。更に、推定値Ｔ＿ｈａｔ，Ｌ１＿ｈａｔについてノミナル値Ｔｍ，Ｌ１ｍからの誤差分ΔＴ＿ｈａｔ，ΔＬ１＿ｈａｔが算出される。そして、これら誤差分に対してフィルタ処理やリミット処理が適宜施されると共に、むだ時間更新処理が施される（「同定手段」に相当）。
【００４３】
また、それら各処理後の誤差分を基に学習値が更新され、その学習値がスタンバイＲＡＭ等に格納される（「学習手段」に相当）。この学習値はスタンバイＲＡＭより適時読み出され、ノミナル値Ｔｍ，Ｌ１ｍとの加算により連続パラメータが算出される。更に、該連続パラメータが離散化されて離散パラメータθｃが算出され、メインＦ／Ｂコントローラ４０において離散パラメータθｃを用いて制御対象への入力（ここでは空燃比補正係数ＦＡＦ）の算出が行われる。この際、制御対象の実出力が所定の目標値となるように、制御対象への入力を算出する。例えば、目標値を空燃比が理想空燃比（λ＝１）となるようにしたい場合は、離散パラメータθｃを用いて制御対象への入力（空燃比補正係数ＦＡＦ）を算出し、この入力に対して、燃料噴射量を修正することで、制御対象の出力である空燃比を理想空燃比に制御することができる。
【００４４】
一方、連続パラメータの誤差分ΔＴ＿ｈａｔ，ΔＬ１＿ｈａｔにノミナル値Ｔｍ，Ｌ１ｍが加算されることで修正後連続パラメータＴｔｍｐ，Ｌ１ｔｍｐが算出され、その修正後連続パラメータＴｔｍｐを用いて故障診断処理（ＯＢＤ）等が適宜実施される。この故障診断は、連続パラメータの時定数Ｔｔｍｐが或る基準値よりも大きい場合、応答遅れが生じていると考えられるため、例えば、空燃比センサの劣化等が考えられる。このため、連続パラメータの時定数Ｔｔｍｐが或る基準値よりも大きい場合は、制御対象の異常と判定しても良い。
【００４５】
また、修正後連続パラメータＴｔｍｐが離散化され、それにより修正後離散パラメータθｔｍｐが算出される。そして、プラントモデルにおいて、修正後離散パラメータθｔｍｐを用いてモデル出力ｙ＿ｈａｔが算出される。
次に、むだ時間更新処理について説明する。むだ時間Ｌを持つ連続系は、次の（１２）式で表される。
2008152318.tif 000014
そして、上記（１２）式を拡張ｚ変換により離散化することで、次の（１３）式が得られる。
2008152318.tif 000015
但しこの場合、上記（１２），（１３）式において、ｙ（ｋ）＝ｘ（ｋ）である。
【００４６】
ここで、図１７は、ｋｄｔ≦ｔ＜（ｋ＋１）ｄｔにおける出力ｙ（ｋ＋１）に影響を与える制御入力ｕ（むだ時間分だけ正の方向にずらした制御入力ｕ）の変化を表すタイムチャートである。図１７において、むだ時間Ｌがサンプリング周期ｄｔで割り切れない場合、入力ｕ（τ−Ｌ）は、τ＝ｋｄｔ〜（ｋ＋１）ｄｔの期間内で一度だけ値が変わり、当該期間ではｄ回前の入力ｕの影響とｄ＋１回前の入力ｕの影響とを受ける。なお、上記（１３）式では、右辺の第２項によりｄ回前の入力ｕの影響を表し、同第３項によりｄ＋１回前の入力ｕの影響を表す。
【００４７】
この場合、制御対象の実むだ時間は未知であるが、拡張ｚ変換により離散化した離散パラメータには余むだ時間Ｌ１の情報が含まれており（上記（４）式参照）、この余むだ時間Ｌ１を用いることによりむだ時間Ｌの推定が可能となる。本実施の形態では、離散パラメータの推定値θ＿ｈａｔの連続化により算出される余むだ時間の推定値Ｌ１＿ｈａｔの変化に基づき、制御対象の実むだ時間に近づけるようにしてむだ時間（むだサンプリング回数ｄ）を更新し、該更新したむだ時間（むだサンプリング回数ｄ）を離散プラントモデルでのプラントモデル出力の算出に反映させるようにしている。
【００４８】
より具体的には、余むだ時間の推定値Ｌ１＿ｈａｔが、サンプリング周期ｄｔで規定される上限値近傍又は下限値近傍にあることを判定する。なお、推定値Ｌ１＿ｈａｔの上限値はｄｔ、下限値は０であり、微小な正の定数ε１により上限値近傍を「ｄｔ−ε１〜ｄｔの範囲」、下限値近傍を「０〜０＋ε１の範囲」として規定する。この場合、余むだ時間の推定値Ｌ１＿ｈａｔが上限値近傍（ｄｔ−ε１〜ｄｔ）に変化しその状態が所定時間継続した場合に、むだサンプリング回数ｄを一つ繰り上げると共に該余むだ時間の推定値Ｌ１＿ｈａｔを下限値近傍の所定値（但し下限値＝０以上）とする。また、余むだ時間の推定値Ｌ１＿ｈａｔが下限値近傍（０〜０＋ε１）に変化しその状態が所定時間継続した場合に、むだサンプリング回数ｄを一つ繰り下げると共に該余むだ時間の推定値Ｌ１＿ｈａｔを上限値近傍の所定値（但し上限値＝ｄｔ以下）とする。
【００４９】
その概要を図１８のタイムチャートを用いて説明する。図１８では（ａ）に示すように、ある入力に対するノミナルむだ時間と実むだ時間とに図示のような誤差が生じている場合を想定する。サンプリングタイミング（ｄ・ｄｔ）を超えた部分が余むだ時間Ｌ１である。
【００５０】
この場合、同定が逐次行われることにより、（ｂ）に示すように余むだ時間の推定値Ｌ１＿ｈａｔが変化し、ｄｔ近傍（上述したｄｔ−ε１〜ｄｔの範囲）まで増加する。そして、余むだ時間の推定値Ｌ１＿ｈａｔがｄｔ近傍で所定時間以上留まっている場合に、（ｃ）に示すように、むだサンプリング回数の推定値ｄ＿ｈａｔが１つ繰り上げられ（ｄ＿ｈａｔ←ｄ＋１）、更に余むだ時間の推定値Ｌ１＿ｈａｔがゼロ近傍の値に更新される。
【００５１】
そしてその後、同定が逐次行われることにより、（ｄ）に示すように余むだ時間の推定値Ｌ１＿ｈａｔが増加し、それに伴いむだ時間の推定値が実むだ時間に収束する。この場合、ノミナルむだ時間と実むだ時間との誤差がサンプリング周期の２倍以上であっても、上記更新を繰り返すことによりむだ時間の推定値が実むだ時間に収束する。また、実むだ時間に収束後、劣化等により実むだ時間の変動がある場合にも、上記更新を実行することにより常にむだ時間の推定値を実むだ時間に収束させることができる。
【００５２】
なお図１８では、余むだ時間の推定値Ｌ１＿ｈａｔが増加する場合を例示し、それに伴いむだサンプリング回数の推定値ｄ＿ｈａｔが１つ繰り上げられる様子を説明したが、これとは逆に、余むだ時間の推定値Ｌ１＿ｈａｔが減少する場合には、それに伴いむだサンプリング回数の推定値ｄ＿ｈａｔが１つ繰り下げられる。そして、余むだ時間の推定値Ｌ１＿ｈａｔがｄｔ近傍の値に更新される。（「むだ時間推定手段」に相当）
以上説明した適応制御処理等は、エンジンＥＣＵにあらかじめ格納された演算プログラムに従い実行される。また、説明した適応制御処理は、事前にモデル化して適合したメインＦ／Ｂコントローラ４０のプラントモデル（１次遅れ系＋むだ時間のモデル）を基に設計されたものであるが、サブＦ／Ｂコントローラの場合には、サブＦ／Ｂコントローラのプラントモデル（２次遅れ系＋むだ時間のモデル）を用いても良い（特願２００６−１１１５１７号明細書）。参考までにサブＦ／Ｂコントローラは、下流側排気ガスセンサ３２の検出電圧（検出空燃比）を目標電圧（上流側触媒２５下流側の目標空燃比）に一致させるように上流側触媒２５上流側の目標空燃比をＦ／Ｂ補正するサブＦ／Ｂ制御を行うように、事前にモデル化して適合したプラントモデルを基に設計されている。
【００５３】
次に、本発明の特徴部分について説明する。図４は、後述する図１１のステップＳ３１０で実行される学習処理のフローチャートである。この学習処理が実行されると、むだ時間の信頼判定に基づいて、時定数やむだ時間の学習の可否判定、または、むだ時間の補正を実行する。
【００５４】
図４において、ステップＳ１０では、むだ時間信頼性判定を実行する。この判定処理では、時定数の連続パラメータＴ＿ｈａｔ（Ｔｍ＋ΔＴ＿ｈａｔ）に基づいてむだ時間Ｌ（ｄ＿ｈａｔ×ｄｔ＋Ｌ１＿ｈａｔ（式５参照））の信頼性が「高い」（ＨＩＧＨ）か否かを判断する。つまり、むだ時間Ｌが正確に推定されているか否かを判断する（詳細は後述する）。次に、ステップＳ１１で、ステップＳ１０のむだ時間信頼性判定の結果に基づいて、むだ時間の信頼性が「高い」（ＨＩＧＨ）であるか否かを判断して、むだ時間の信頼性が「高い」（ＨＩＧＨ）の場合には、ステップＳ１２に進み、学習可否判定を行う。この学習可否判定では、同定誤差がゼロ付近で収束していることを条件に、時定数やむだ時間の学習値Ｔａ，Ｌａが算出され、その実施状況に応じて学習フラグが操作される（詳細は後述する）。そして、ステップＳ１３で学習フラグが「ＯＮ」と判別されると、ステップＳ１４では学習値の更新処理を実行する。ステップＳ１３で学習フラグが「ＯＦＦ」の場合は、このフローチャートを終了する。
【００５５】
また、ステップＳ１１でむだ時間Ｌの信頼性が「高い」（ＨＩＧＨ）と判定されない場合は、ステップＳ１５に進み、ステップＳ１０のむだ時間信頼性判定の結果に基づいて、むだ時間を補正する。より具体的には、ステップＳ１０のむだ時間信頼性判定では、むだ時間を修正する際に時定数に基づいてむだ時間を長くするか、短くするかを判定しており、むだ時間を長くする場合には「延長要求」を、むだ時間を短くする場合には「短縮要求」を行う。
【００５６】
このため、ステップＳ１５では、ステップＳ１０のむだ時間信頼性判定に基づいて、「延長要求」であるか「短縮要求」であるかを判断し、「延長要求」であると判断されると、ステップＳ１６に進み、むだ時間を長くする処理を実行する。ここで、むだ時間を長くする処理とは、例えば、むだサンプリング回数を多くするように変更することで、むだ時間を変更すると良い。このむだサンプリング回数の変更は、予め設定した所定値をむだサンプリング回数の推定値ｄ＿ｈａｔに加算しても良いし、空燃比が所定周期で変動している場合、その周期の４分の１をむだサンプリング回数の推定値ｄ＿ｈａｔに加算しても良い。
【００５７】
また、ステップＳ１５で「短縮要求」であると判断されると、ステップＳ１７に進み、むだ時間を短くする処理を実行する。むだ時間を短くする処理とは、例えば、むだサンプリング回数を減少するように変更することで、むだ時間を変更すると良い。むだサンプリング回数の変更は、予め設定した所定値をむだサンプリング回数の推定値ｄ＿ｈａｔに減算しても良いし、空燃比が所定周期で変動している場合、その周期の４分の１をむだサンプリング回数の推定値ｄ＿ｈａｔに減算しても良い。
【００５８】
次に、ステップＳ１０で実行されるむだ時間信頼性判定処理について図５のフローチャートを用いて説明する。このむだ時間信頼性判定処理が実行されると、時定数のパラメータに基づいてむだ時間が正しく推定されているか否かを判定し、むだ時間が正しく算出されていないと判定された場合には、時定数に基づいてむだ時間を修正する要求を行う。
【００５９】
このプローチャートが実行されると、ステップＳ２０では、時定数Ｔ＿ｈａｔを所定期間算出し、その平均値Ｔｍｅａｎを算出する。次に、ステップＳ２１では制御対象の実出力の立ち上がりから所定期間経過しているか否かを判定する。ここで、所定期間経過していないと判定されると、ステップＳ２０に戻り、制御対象の実出力の立ち上がりから所定時間経過するまでの時定数の平均値を算出する。
【００６０】
次に、ステップＳ２１で所定期間経過したと判定されると、ステップＳ２２に進み、時定数の平均値Ｔｍｅａｎが所定値ｋ１以上であるか否かを判定する。ここで、むだ時間Ｌが正確に推定されていない場合には、時定数の平均値Ｔｍｅａｎは、正確に推定されている場合の時定数に比べ、過大または、過小になる。より具体的には、推定したむだ時間が実際のむだ時間よりも長く推定されている場合には、時定数の平均値は小さくなり、推定したむだ時間が実際のむだ時間よりも短く推定されている場合には、時定数の平均値は大きくなる傾向がある。
【００６１】
このため、ステップＳ２２では、時定数の平均値Ｔｍｅａｎが所定値ｋ１以上であるか否かの判断を行い、時定数の平均値Ｔｍｅａｎが所定値ｋ１以上であると判断されると、ステップＳ２３に進み、むだ時間の「短縮要求」を行う。また、ステップＳ２２で所定値ｋ１未満である場合には、ステップＳ２４に進み、時定数の平均値Ｔｍｅａｎが所定値ｋ２以下であるかと判断する（ｋ１＞ｋ２とする）。ステップＳ２４で、平均値Ｔｍｅａｎが所定値ｋ２以下であると判断されると、ステップＳ２５に進み、むだ時間の「延長要求」を行う。また、ステップＳ２４で、平均値Ｔｍｅａｎが所定値ｋ２よりも大きいと判断されると、ステップＳ２６に進み、むだ時間Ｌの信頼性が「高い」（ＨＩＧＨ）と判定する。
【００６２】
以上説明したフローチャートでは、時定数に基づいて、むだ時間の信頼性が「高い」（ＨＩＧＨ）か否かを判断したが、空燃比フィードバック制御の定常ゲインにより、むだ時間が正しく推定されているかか否かを判断しても良い。この場合、推定したむだ時間が実際のむだ時間よりも長い場合には、定常ゲインの平均値は大きくなり、推定したむだ時間が実際のむだ時間よりも短い場合には、定常ゲインの平均値は小さくなる傾向がある。また、時定数、定常ゲインの変化を検出し、その変化に基づいてむだ時間が正しく推定されているか否かを判断しても良い。なお、高次遅れ系においても、同様に時定数、定常ゲイン等の情報に基づいて、むだ時間が正しく推定されているか否かを判断すると良い。
【００６３】
次に、前述した図４のステップＳ１４で実行される学習可否判定処理を示すフローチャートについて説明する。このフローチャートが実行されることによって、時定数の学習値Ｔａとむだ時間Ｌａの学習値を更新するか否かの判定を行う。
【００６４】
図６において、ステップＳ３５１では、今現在、各種燃料増量や燃料カットが実施されていないか否かを判別する。このとき、燃料増量等の実施中であればステップＳ３５２に進み、フラグｊｆｇ、カウンタｊｃｎｔを共に０にクリアする、プラントモデルの可変パラメータθｐとしてその時の同定値θ＿ｈａｔを設定する、プラントモデルのむだサンプリング回数ｄｐとしてｄａｄｐを設定する、学習フラグを「ＯＦＦ」にするといった初期化処理を実行する。
【００６５】
また、各種燃料増量や燃料カットが実施されていなければ、ステップＳ３５３でフラグｊｆｇが「１」であるか否かを判別し、フラグｊｆｇが「０」の場合には更にステップＳ３５４で同定誤差ｅ＿ｔｉｌｄｅの絶対値が所定値ε３よりも小さいか否かを判別する。ここで、同定誤差ｅ＿ｔｉｌｄｅとは、制御対象の実出力ｙに対するモデル出力ｙ＿ｈａｔの誤差である。そして、｜ｅ＿ｔｉｌｄｅ｜≧ε３であればそのままステップＳ３５９に進み、学習フラグを「ＯＦＦ」にする。また、｜ｅ＿ｔｉｌｄｅ｜＜ε３であれば、ステップＳ３５５でフラグｊｆｇに「１」をセットすると共にカウンタｊｃｎｔを「０」にクリアする。すなわち、同定誤差ｅ＿ｔｉｌｄｅが所定範囲内に収束していることでフラグｊｆｇが「１」にセットされる。なお、ステップＳ３５４の条件が所定時間継続して満たされない場合には所定値ε３を大きくし、同条件が満たされたらε３を初期値に戻す構成であっても良い。
【００６６】
その後、ステップＳ３５６では、後述するリミット処理後のΔＴ＿ｈａｔを基に算出した連続パラメータＴ＿ｈａｔ（＝ΔＴ＿ｈａｔ＋ノミナル値Ｔｍ）を修正後連続パラメータＴｔｍｐとし、更に後述する図１３，１１のむだ時間更新処理で算出した余むだ時間Ｌ１ａｄｐとむだサンプリング回数ｄａｄｐとをそれぞれ修正余むだ時間Ｌ１ｔｍｐ、修正むだサンプリング回数ｄｔｍｐとする。続くステップＳ３５７では、Ｓ３５６で算出した時定数Ｔｔｍｐ、余むだ時間Ｌ１ａｄｐの連続パラメータを離散化して修正後離散パラメータθｔｍｐを算出する。そして、ステップＳ３５８では、修正後離散パラメータθｔｍｐをプラントモデルの可変パラメータθｐとして設定すると共に、修正むだサンプリング回数ｄｔｍｐをプラントモデルのむだサンプリング回数ｄｐとして設定する。これにより、プラントモデルにおいて、修正後離散パラメータθｔｍｐと修正むだサンプリング回数ｄｔｍｐを用いてモデル出力が算出される。これらパラメータは、図１に示すように、故障診断処理（ＯＢＤ）や、離散化プラントモデルに反映させて、モデル出力ｙ＿ｈａｔが算出される。ステップＳ３５９では、学習フラグを「ＯＦＦ」にする。
【００６７】
一方、フラグｊｆｇに「１」がセットされた後は、ステップＳ３５３からステップＳ３６０に進み、ステップＳ３６０では、同定誤差ｅ＿ｔｉｌｄｅの絶対値が所定値ε４よりも小さいか否かを判別する。このとき、ε４≦ε３である。そして、｜ｅ＿ｔｉｌｄｅ｜＜ε４であれば、ステップＳ３６３でカウンタｊｃｎｔの加算処理を実行し、続くステップＳ３６４ではｊｃｎｔ≧Ｎであるか否かを判別する。ｊｃｎｔ≧Ｎとなる前は、そのまま処理を終了する。
【００６８】
そして、ｊｃｎｔ≧Ｎになると、ステップＳ３６５でフラグｊｆｇを「０」にクリアし、ステップＳ３６６では、プラントモデルの可変パラメータθｐをその時の同定値θ＿ｈａｔにすると共に、プラントモデルのむだサンプリング回数ｄｐをｄａｄｐとする。また、ステップＳ３６７では、連続パラメータＴ＿ｈａｔを時定数の学習用パラメータＴａとすると共に、修正むだサンプリング回数ｄｔｍｐと修正余むだ時間Ｌ１＿ｈａｔとを用いて算出したむだ時間（＝ｄｔｍｐ＊ｄｔ＋Ｌ１＿ｈａｔ）をむだ時間の学習用パラメータＬａとする。ステップＳ３６８では、学習フラグを「ＯＮ」にする。
【００６９】
また、ｊｃｎｔ≧Ｎとなる前に｜ｅ＿ｔｉｌｄｅ｜≧ε４となる場合（すなわちステップＳ３６０が「ＮＯ」となる場合）には、ステップＳ３６１でフラグｊｆｇを「０」にクリアすると共に、ステップＳ３６２でプラントモデルの可変パラメータθｐをその時の同定値θ＿ｈａｔに戻すと共に、プラントモデルのむだサンプリング回数ｄｐをｄａｄｐとする。ステップＳ３６２で、各パラメータを更新すると、このフローチャートを終了する。
【００７０】
以上説明した本実施形態の特徴部分によれば、むだ時間の信頼性判定により、むだ時間が正しく推定されているか否かを判定した。より具体的には、むだ時間の信頼性を、時定数や定常ゲイン等のパラメータに基づいて判定し、信頼性が「高い」（ＨＩＧＨ）と判定されると、むだ時間が正しく推定されていると判断し、むだ時間等のパラメータを学習するか否かの判定を実行した。これにより、学習の精度を向上することが可能となり、むだ時間の誤学習による制御性の悪化を防ぐことが可能となる。また、推定したむだ時間の信頼性が「高い」（ＨＩＧＨ）と判定されないと、むだ時間が正しく推定されていないと判断し、時定数や定常ゲインの情報に基づいてむだ時間を補正する処理を実行した。これにより、正確なむだ時間を算出することが可能となる。
【００７１】
また、制御対象の入力（実空燃比）を所定振幅、所定周期で変動させる制御を実行している際に、前述した信頼性判定で連続して信頼性が「高い」（ＨＩＧＨ）と判定されないと、制御対象の入力のこの周期を変更する制御を実行した。より具体的には、燃料噴射量や吸入空気量を変動させて、空燃比をリッチ／リーンに所定の周期・振幅で変動させる制御を実行している際に、連続して推定されたむだ時間が正しく推定されていないと判定されると、空燃比をリッチ／リーンに切換える周期を所定値、または所定割合長くする制御を実行した。このように、周期を変更することで、むだ時間を推定し易くなる。また、信頼性が「高い」（ＨＩＧＨ）と判定されない場合、つまり、むだ時間が正しく推定されていないと判断した場合には、推定した時定数、むだ時間に基づいて行われる触媒等の劣化判定を禁止した。これにより、触媒等の劣化判定の際に、誤診断することを防止することが可能となる。
【００７２】
以下、特徴部分以外のエンジンＥＣＵの処理内容について説明する。
【００７３】
図９において、先ずステップＳ１０１では、例えば基本噴射量マップ等を用い、その都度のエンジン回転数や負荷等の運転状態パラメータに基づいて基本噴射量ＴＰを算出する。続くステップＳ１０２では、空燃比Ｆ／Ｂ制御の実行条件判定を実施する。実行条件判定処理を詳しく説明すれば、図８に示すように、ステップＳ１１１では、Ａ／Ｆセンサ３１が使用可能な状態であるか否かを判別する。具体的には、Ａ／Ｆセンサ３１が活性化していること、フェイルしていないこと等を判別する。また、ステップＳ１１２では、エンジン水温が所定温度（例えば７０℃）以上であるか否かを判別する。そして、Ａ／Ｆセンサ３１が使用可能であり且つエンジン水温が所定温度以上であれば、ステップＳ１１３に進む。ステップＳ１１３，Ｓ１１４では、回転速度とエンジン負荷（例えば吸気管負圧）とをパラメータとする運転領域マップを参照し、今現在のエンジン運転状態がＦ／Ｂ実行領域にあるかどうかを判定する。そして、Ｆ／Ｂ実行領域にあれば、ステップＳ１１５で実行フラグを「ＯＮ」し、実行領域になければ、ステップＳ１１６で実行フラグを「ＯＦＦ」する。その後本処理を終了する。
【００７４】
図９の説明に戻り、ステップＳ１０３では実行フラグがＯＮであるか否かを判別する。実行フラグがＯＦＦであればステップＳ１０４に進み、空燃比補正係数ＦＡＦを１．０とする。この場合、空燃比Ｆ／Ｂは行われないこととなる。また、実行フラグがＯＮであればステップＳ１０５に進み、空燃比補正係数ＦＡＦの算出処理を実行する。最後に、ステップＳ１０６では、空燃比補正係数ＦＡＦやその他各種の補正係数（例えば冷却水温補正係数、学習補正係数、加減速時の補正係数等）により基本噴射量ＴＰを補正し、最終の燃料噴射量ＴＡＵを算出する。
【００７５】
次に、前記ステップＳ１０５で実行される空燃比補正係数ＦＡＦの算出サブルーチンを図７のフローチャートを基に説明する。
【００７６】
図７において、ステップＳ２１０では、同定実行条件の判定処理を実行する。本実施の形態では、エンジン排気管に設けた触媒の劣化検出処理が実行されていること、又はエンジン運転状態が定常状態であることを同定実行条件としている。ここで、触媒の劣化検出手法は種々提案されているが、その劣化検出に際し所定周期で空燃比を強制的に振幅させることを要件とするものであれば、任意の検出手法が適用できる。例えば、理論空燃比を中心にして空燃比を所定周期で振幅させ、その時の触媒下流側の空燃比変化（応答周期など）をモニタする。そしてそのモニタ結果から触媒劣化状態を判定する。こうした触媒の劣化検出は、空燃比を振幅させてもエミッション悪化が生じにくい運転状態下で実施されるのが通常である。故に、エミッションを良好に維持するには、触媒の劣化検出に合わせて同定を行うのが望ましい。
【００７７】
また、エンジン回転速度の単位時間当たりの変化量が所定値以下であること、及び負荷の単位時間当たりの変化量が所定値以下であることからエンジン運転状態が定常であるかどうかを判別する。
【００７８】
すなわち、図１０に示すように、ステップＳ２１１では、今現在触媒の劣化検出処理が実行されているか否かを判別し、続くステップＳ２１２，Ｓ２１３では、今現在のエンジン運転状態を判定して定常状態にあるか否かを判別する。そして、触媒の劣化検出処理が実行されている場合、又はエンジン運転状態が定常である場合に、ステップＳ２１４に進んで同定フラグを「ＯＮ」にする。またそれ以外の場合、ステップＳ２１５に進んで同定フラグを「ＯＦＦ」にする。
【００７９】
但し、同定実行条件を、触媒劣化検出の実行時であることのみとしたり、逆に触媒劣化検出の実行時であることを条件から外したりすることも可能である。また、エンジンの定常判定処理において、所定時間以上の間、定常判定が行われない場合に、エンジン回転速度や負荷変化量の定常境界値を拡張側に変更してもよい。
【００８０】
図７の説明に戻り、ステップＳ２２０では、同定フラグ＝「ＯＮ」であるか否かを判別し、同定フラグ＝「ＯＮ」であることを条件にステップＳ２３０，Ｓ２４０を実行する。すなわち、ステップＳ２３０では、同定実行時の目標空燃比の設定を行う。このとき、同定実行時の目標空燃比設定は、元々の目標空燃比に振幅±０．０５、周期１．４ｓｅｃの矩形波又は正弦波を加算するものとする。但し、振幅や周期といった信号の性質は他のものでも良く、設定したプラントパラメータ数の１／２のＰＥ（ｐｅｒｓｉｓｔｅｎｔｌｙ  ｅｘｃｉｔｉｎｇ）性を有する信号であればよい。振幅はＳＮ比を良くするため、可能な限り大きく設定する。ここで、パラメータの逐次同定を可能にするためには、制御対象の動特性を十分に励起する入力ｕを与える必要があり、同定すべきパラメータの個数がｐ個の場合において、入力ｕ（ｔ）がｐ／２個以上の周波数成分を含むようにする。これにより、パラメータの推定値が真値に収束する。その後、ステップＳ２４０では、同定処理を実行する。ステップＳ２５０では、制御量算出処理を実行する。
【００８１】
図１１は、前記図７のステップＳ２４０で実行される同定処理サブルーチンを示すフローチャートである。
【００８２】
図１１において、ステップＳ３０１では、同定用入出力の直流成分（トレンド）の除去処理及び同定出力用のノイズ除去処理を実施する。具体的には、メインＦ／Ｂコントローラ４０にて算出されるＦＡＦやＡ／Ｆセンサ１３の検出空燃比に対してトレンド除去処理が実施される。この除去処理は、直流成分除去が可能なものであれば任意で良く、例えば移動平均処理などが実施される。また、Ａ／Ｆセンサ３１の検出空燃比に対してなまし処理（ＬＰＦ処理）が実施される。
【００８３】
ステップＳ３０２では、制御対象の実出力と離散プラントモデルの出力とから同定誤差ｅを算出する。その後、ステップＳ３０３，Ｓ３０４では、同定誤差ｅに対してなまし処理（ＬＰＦ処理）と不感帯処理とを実行する。これにより、同定誤差ｅ＿ｔｉｌｄｅが算出される。
【００８４】
ステップＳ３０５では、ノミナルパラメータの算出を実行する。その手順を簡単に記述すれば、まずその都度のエンジン運転情報（回転速度信号、負荷信号）に対してＬＰＦ処理を施し、該ＬＰＦ後の運転情報を基に、ノミナルパラメータマップを参照してノミナルパラメータ（時定数、余むだ時間のノミナル値Ｔｍ，Ｌ１ｍ）を算出する。更に、該算出したノミナルパラメータ（連続時間ノミナルパラメータ）に対して離散化処理を施し、離散パラメータのノミナル値θｍを算出する。
【００８５】
そして、ステップＳ３０６では、上記（１１）式等で規定したパラメータ調整則に従い、パラメータ適応処理を実行する。これにより、制御対象の実出力と離散プラントモデルの出力との誤差をゼロに近づけるようにして離散パラメータの推定値θ＿ｈａｔが算出される。
【００８６】
その後、ステップＳ３０７では、前記算出した離散パラメータの推定値θ＿ｈａｔに対して上記（５）式により連続化の処理を実行し、連続パラメータ（時定数の推定値Ｔ＿ｈａｔ、むだ時間の推定値Ｌ１＿ｈａｔ）を算出する。そして続くステップＳ３０８では、連続パラメータのノミナル値Ｔｍからの誤差分ΔＴ＿ｈａｔに対してリミット処理を実行する。更に、ステップＳ３０９では、むだ時間更新処理を実行し、ステップＳ３１０では、時定数の学習値Ｔａ，むだ時間の学習値Ｌａの学習処理を実行する。
【００８７】
図１２は、前記図１１のステップＳ３０８で実行されるリミット処理を示すフローチャートである。このフローチャートが実行されると、時定数の推定値Ｔ＿ｈａｔからノミナル値Ｔｍを減算した誤差分ΔＴ＿ｈａｔがガード値δｐ、−δｍに張り付いている場合に、このガード値を更新する。
【００８８】
図１２において、ステップＳ３１１では、連続パラメータである時定数の推定値Ｔ＿ｈａｔからノミナル値Ｔｍを減算して誤差分ΔＴ＿ｈａｔを算出する。ノミナル値Ｔｍは、マップ等を参照して算出されるパラメータマップ値であり、特にその都度のエンジン運転状態に基づいて算出される。続くステップＳ３１２では、誤差分ΔＴ＿ｈａｔに対してＬＰＦ処理を実行する。なお、ΔＴ＿ｈａｔに対するＬＰＦ処理は、他のタイミングで実施されても良く、例えば当該ΔＴ＿ｈａｔにガードをかけた後に実施されても良い。
【００８９】
ステップＳ３１３では、誤差分ΔＴ＿ｈａｔが正側のガード値δｐよりも大きいか否か、又は誤差分ΔＴ＿ｈａｔが負側のガード値−δｍよりも小さいか否かを判別する。ΔＴ＿ｈａｔ≦δｐで且つΔＴ＿ｈａｔ≧−δｍの場合、ステップＳ３１４に進み、カウンタｐｃｎｔ，ｍｃｎｔを０にクリアする。更に、ステップＳ３１５では、ガード値δｐ，δｍを変更せずに終了する。
【００９０】
また、ΔＴ＿ｈａｔ＞δｐであるか、又はΔＴ＿ｈａｔ＜−δｍであれば、ステップＳ３１６に進み、誤差分ΔＴ＿ｈａｔをガード値δｐ，δｍでガードする。このとき、ΔＴ＿ｈａｔ＞δｐの場合にはΔＴ＿ｈａｔ＝δｐとし、ΔＴ＿ｈａｔ＜−δｍの場合にはΔＴ＿ｈａｔ＝−δｍとする。
【００９１】
その後、ステップＳ３１７では、カウンタｐｃｎｔ，ｍｃｎｔの加算処理を実行する。このとき、ΔＴ＿ｈａｔ＞δｐの場合にはカウンタｐｃｎｔを加算し、ΔＴ＿ｈａｔ＜−δｍの場合にはカウンタｍｃｎｔを加算する。ステップＳ３１８では、ｐｃｎｔ＞Ｎであるか、又はｍｃｎｔ＞Ｎであるかを判別する。そしてＹＥＳであればステップＳ３１９に進み、ガード値δｐ，δｍを増加側に変更する。このとき、ｐｃｎｔ＞Ｎの場合にはガード値δｐにΔδｐを加算し（δｐ＝δｐ＋Δδｐ）、ｍｃｎｔ＞Ｎの場合にはガード値δｍにΔδｍを加算する（δｍ＝δｍ＋Δδｍ）。つまり、所定時間継続してΔＴ＿ｈａｔがガード値に張り付いている場合にガード値が拡げられる。これにより、この更新されたガード値に基づいて、時定数Ｔ＿ｈａｔを算出することが可能となる。
【００９２】
なお、所定時間継続してΔＴ＿ｈａｔがガード値に張り付いている場合、又はΔＴ＿ｈａｔがガード値に対して絶対値で所定値以上大きい場合に、適応機構をリセット（初期化Δθ＝０）するものとしてもよい。また、ΔＴ＿ｈａｔの所定回数前と現在の値との差が所定値以上である場合に、適応機構をリセット（初期化Δθ＝０）するものとしてもよい。
【００９３】
図１３，図１４は、前記図１１のステップＳ３０９で実行されるむだ時間更新処理を示すフローチャートである。このフローチャートが実行されると、余むだ時間Ｌ１＿ｈａｔに基づいて、サンプリングタイミング（ｄ・ｄｔ）のむだサンプリング回数ｄ（むだサンプリング回数の推定値ｄ＿ｈａｔ）の算出を行う。なお、本処理で用いる微小な正の定数ε１，ε２，δ１，δ２は、δ１＜ε１＜ε２＜δ２の関係にあるとしている。
【００９４】
図１３において、ステップＳ３２１では、前記図１１のステップＳ３０７で算出した余むだ時間の推定値Ｌ１＿ｈａｔが所定の判定値「０＋ε１」よりも小さいか否かを判別する。すなわち、余むだ時間の推定値Ｌ１＿ｈａｔが余むだ時間の下限値近傍（０〜０＋ε１）にあるか否かを判別する。そして、Ｌ１＿ｈａｔ≧０＋ε１であれば、ステップＳ３２２でカウンタｃｎｔＡを０にクリアする。また、Ｌ１＿ｈａｔ＜０＋ε１であれば（Ｌ１＿ｈａｔが下限値近傍にあれば）ステップＳ３２３に進み、カウンタｃｎｔＡを１加算する。
【００９５】
その後、ステップＳ３２４では、カウンタｃｎｔＡの値が所定値Ｎ１以上であり且つ余むだ時間の推定値Ｌ１＿ｈａｔが微小な正の定数δ１よりも小さいこと、又は、カウンタｃｎｔＡの値が所定値Ｎ２以上であることの何れかが成立するか否かを判別する。ここで、Ｎ１＜Ｎ２である。なお、ステップＳ３２４の判別条件を、カウンタｃｎｔＡの値が所定値Ｎ１以上であり且つ余むだ時間の推定値Ｌ１＿ｈａｔが微小な正の定数δ１よりも小さいことだけとしたり、カウンタｃｎｔＡの値が所定値以上であることだけとしたりすることも可能である。そして、ステップＳ３２４が満たされない場合は、Ｓ３２６へ進む。
【００９６】
また、ステップＳ３２４が満たされた場合、ステップＳ３２５に進む。ステップＳ３２５では、余むだ時間Ｌ１ａｄｐ＝ｄｔ−δ２、むだサンプリング回数更新値Δｄａｄｐ＝−１、カウンタｃｎｔＡ＝０といった各処理を実施する。
【００９７】
またその後、図１４のステップＳ３２６では、余むだ時間の推定値Ｌ１＿ｈａｔが所定の判定値「ｄｔ−ε１」以上であるか否かを判別する。すなわち、余むだ時間の推定値Ｌ１＿ｈａｔが余むだ時間の上限値近傍（ｄｔ−ε１〜ｄｔ）にあるか否かを判別する。そして、Ｌ１＿ｈａｔ＜ｄｔ−ε１であれば、ステップＳ３２７でカウンタｃｎｔＢを０にクリアする。また、Ｌ１＿ｈａｔ≧ｄｔ−ε１であれば（Ｌ１＿ｈａｔが上限値近傍にあれば）ステップＳ３２８に進み、カウンタｃｎｔＢを１加算する。
【００９８】
その後、ステップＳ３２９では、カウンタｃｎｔＢの値が所定値Ｎ１以上であり且つ余むだ時間の推定値Ｌ１＿ｈａｔが上限値から微小な正の定数δ１だけ小さい値（ｄｔ−δ１）よりも大きいこと、又は、カウンタｃｎｔＢの値が所定値Ｎ２以上であることの何れかが成立するか否かを判別する。なお、ステップＳ３２９の判別条件を、カウンタｃｎｔＢの値が所定値Ｎ１以上であり且つ余むだ時間の推定値Ｌ１＿ｈａｔが（ｄｔ−δ１）よりも大きいことだけとしたり、カウンタｃｎｔＢの値が所定値以上であることだけとしたりすることも可能である。そして、ステップＳ３２９が満たされない場合は、ステップＳ３３１に進む。
【００９９】
また、ステップＳ３２９が満たされた場合、ステップＳ３３０に進む。ステップＳ３３０では、余むだ時間Ｌ１ａｄｐ＝δ２とする、むだサンプリング回数更新値Δｄａｄｐ＝＋１とする、カウンタｃｎｔＢ＝０とする、といった各処理を実施する。
【０１００】
最後にステップＳ３３１では、むだサンプリング回数のノミナル値ｄｍとΔｄａｄｐの積算値からむだサンプリング回数ｄａｄｐを算出する（ｄａｄｐ＝ｄｍ＋Δｄａｄｐ）。図１５は、前記図８のステップＳ２５０で実行される制御量算出処理を示すフローチャートである。
【０１０１】
図１５において、ステップＳ４０１では、ノミナルパラメータマップを参照し、現在のエンジン運転状態（負荷と回転数）に基づいてノミナルパラメータ（時定数、余むだ時間のノミナル値Ｔｍ，Ｌ１ｍ）を算出する。また、ステップＳ４０２では、スタンバイＲＡＭ内に格納されている学習値ΔＴｎ，ΔＬｎを読み出すと共に、前記ノミナルパラメータを加算して連続パラメータ（時定数、余むだ時間）を算出する。このとき、現在のエンジン運転状態（負荷かかる場合、ステップＳ３４３の学習値更新処理では、前述した図６の学習可否判定処理において算出された時定数の学習用パラメータＴａとノミナル値Ｔｍとの偏差ΔＴが算出され、そのΔＴ値が、スタンバイＲＡＭ内に既に記憶されている前回学習値に書き換えられて格納される。また、同じく図６の学習可否判定処理において算出されたむだ時間の学習用パラメータＬａとノミナル値Ｌｍとの偏差ΔＬが算出され、そのΔＬ値が、スタンバイＲＡＭ内に既に記憶されている前回学習値に書き換えられて格納される。
【０１０２】
例えば、図１６の（ａ）に示すように、エンジン負荷と回転数を測定可能な所定範囲内で各々４分割して合計１６個の領域を設け、それらの領域毎に時定数の学習値ΔＴを割り当てる。また、図１６の（ｂ）に示すように、エンジン負荷と回転数を測定可能な所定範囲内で各々４分割して合計１６個の領域を設け、それらの領域毎にむだ時間の学習値ΔＬを割り当てる。図中、学習値ΔＴ，ΔＬに付した添え字は領域番号である。なお、エンジン負荷と回転数とをパラメータとする各スタンバイＲＡＭ領域は各々均等に分割されていても良いが、不等分割されていても良い。
【０１０３】
以上説明した本実施形態によれば、推定したむだ時間が正しく推定されているか否かの信頼判定を、時定数や定常ゲインのに基づいて判定し、信頼性が「高い」（ＨＩＧＨ）と判定される、つまり、むだ時間が正しく算出されていると判定されると、むだ時間等のパラメータを学習する制御を実行する。これにより、学習の精度を向上することが可能となり、むだ時間の誤学習による制御性の悪化を防ぐことが可能となる。また、推定したむだ時間の信頼性が「高い」（ＨＩＧＨ）と判定されない、つまり、むだ時間が正しく算出されていないと判定されると、むだ時間等のパラメータの学習を禁止し、時定数や定常ゲインの情報に基づいてむだ時間を補正する。これにより、正確なむだ時間を算出することが可能となる。
【０１０４】
また、推定したむだ時間が連続して正しく推定されていないと判定されると（前述した信頼性判定で信頼性が連続して「高い」（ＨＩＧＨ）と判定されないと）、例えば、制御対象の入力（実空燃比）を所定振幅、所定周期で変動させる場合には、この周期を変更すると良い。より具体的には、実空燃比を燃料噴射量や吸入空気量を変動させて、リッチ／リーンに所定の周期・振幅で変動させる場合には、その周期を所定値、または所定割合長くすることによって、変動を検出しやすくすることが可能となり、むだ時間が推定し易くなる。
【０１０５】
また、推定したむだ時間が正しく推定されていない場合に、むだ時間等のパラメータに基づいて劣化判定を行うと誤判定する虞があるため、推定したむだ時間が正しく推定されていないと判定された場合には（信頼性が「高い」（ＨＩＧＨ）と判定されない場合には）、推定した時定数、むだ時間に基づいて行われる触媒等の劣化判定を禁止すると良い。
【０１０６】
また、本実施形態のむだ時間の信頼性判定とは、推定されたむだ時間が正確に算出されているか否かを判断するものである。ここで、信頼性判定により信頼性が「高い」（ＨＩＧＨ）と判定された場合には、推定されたむだ時間が正しく設定されていることを示し、信頼性判定により信頼性が「高い」（ＨＩＧＨ）と判定されない場合には、推定されたむだ時間が正しく設定されていないことを示している。
【０１０７】
本実施形態では、むだ時間の信頼性判定を実行してから学習可否判定を行ったが、学習可否判定を先に行い、学習可否判定で学習する（学習フラグ＝「ＯＮ」）とした場合のむだ時間に対して信頼性判定を行っても良い。より具体的には、学習可否判定で学習値を更新する（学習フラグ＝「ＯＮ」）とした場合に、信頼性判定を行い、この信頼性判定で信頼性が「高い」（ＨＩＧＨ）と判定された場合に、むだ時間や時定数の学習値を更新する。また、この信頼性判定で信頼性が「高い」（ＨＩＧＨ）と判定されない場合には、むだ時間の初期値の設定を変更し、再度同定処理を行いむだ時間や時定数を算出するといった処理を行う。このように、学習可否判定と信頼性判定との処理の順序を代えても良い。
【０１０８】
また、本実施形態では、制御対象が、１次遅れ系のむだ時間を有する場合について説明したが、高次遅れ系のむだ時間を有する場合においても適用すると良い。また、制御対象としてエンジン以外に適用しても良い。
【０１０９】
［実施形態２］
次に、本発明を内燃機関の空燃比制御システムの異常判定に適用して具体化した実施例を説明する。なお、実施形態１では、メインＦ／Ｂコントローラ４０または、サブＦ／Ｂコントローラは、事前にモデル化し適合したプラントモデルを基に設計されたものであり、本来はこのメインＦ／Ｂコントローラ４０またはサブＦ／Ｂコントローラにより最適な空燃比Ｆ／Ｂ制御が実現されるが、実際の制御対象（エンジン１１、Ａ／Ｆセンサ３１、触媒２５等）では個体差や劣化等によってＦ／Ｂ制御誤差が生じる。このため、適応制御と称される制御方式を用い、メインＦ／Ｂコントローラ４０またはサブＦ／ＢコントローラにおけるＦ／Ｂゲインを制御対象（プラント）の現時点の動特性に自動的に適応させ、制御系の性能を常に最良の状態に保持するようにしている。つまり、実施形態１では、プラントモデルを用いることにより、最適な空燃比Ｆ／Ｂ制御が実現される。
【０１１０】
一方、本実施形態２では、プラントモデルは、制御対象の異常を判定するために用いられる。以下、実施形態２について図２０を用いて説明する。
【０１１１】
図２０において、推定された離散パラメータθ＿ｈａｔは連続化され、これにより連続パラメータ（時定数、余むだ時間の推定値Ｔ＿ｈａｔ，Ｌ１＿ｈａｔ）が算出される（詳細は、実施形態１を参照）。更に、推定値Ｔ＿ｈａｔ，Ｌ１＿ｈａｔについてノミナル値Ｔｍ，Ｌ１ｍからの誤差分ΔＴ＿ｈａｔ，ΔＬ１＿ｈａｔが算出される。そして、これら誤差分に対してフィルタ処理やリミット処理が適宜施されると共に、むだ時間更新処理が施される（「同定手段」「むだ時間推定手段」に相当）。ここで、推定されたむだ時間は、離散パラメータより算出されたむだ時間以外のパラメータ（例えば、時定数、定常ゲイン）に基づいて、正しく推定されているか否かが判定される。
【０１１２】
ここで、むだ時間が正しく推定されていると判定されると、連続パラメータの誤差分ΔＴ＿ｈａｔ，ΔＬ１＿ｈａｔにノミナル値Ｔｍ，Ｌ１ｍが加算されることで修正後連続パラメータＴｔｍｐ，Ｌ１ｔｍｐが算出され、その修正後連続パラメータの時定数Ｔｔｍｐ、むだ時間Ｌ１ｔｍｐを用いて故障診断処理（ＯＢＤ）等が適宜実施される。この故障診断は、連続パラメータの時定数Ｔｔｍｐが或る基準値よりも大きい場合、応答遅れが生じていると考えられるため、例えば、空燃比センサの劣化等が考えられる。このため、連続パラメータの時定数Ｔｔｍｐが或る基準値よりも大きい場合は、制御対象の異常と判定しても良い。
【０１１３】
また、制御対象に触媒の前後に設置された空燃比センサを含み、むだ時間を、触媒の前後に設置された空燃比センサに生じるむだ時間とした場合には、連続パラメータのむだ時間が或る基準値よりも小さいと、例えば、触媒の劣化等が考えられる。このため、連続パラメータのむだ時間が或る基準値よりも小さい場合には、制御対象に異常が生じていると判定すると良い。
【０１１４】
以上、説明したように、むだ時間が正しく推定されていると判定されると、推定したむだ時間、または離散モデルパラメータにより算出されるパラメータ（例えば、時定数）に基づいて、制御対象の異常を判定することで、制御対象の異常診断を精度良く行うことができる。つまり、従来では、むだ時間が正しく推定されているか否かの判定を行っていなかったので、むだ時間が正しく推定されていないにも係わらず、それらパラメータに基づいて、制御対象の異常判定を行う場合があった。そこで、むだ時間が正しく推定されていると判定されているときに、制御対象の異常判定を行うことで、制御対象の異常を判定する際に誤判定を防ぐことが可能となる。
【図面の簡単な説明】
【０１１５】
【図１】本実施形態の構成図である。
【図２】本実施形態におけるエンジン制御システム概略図である。
【図３】ノミナルモデルスケジューラと離散化処理の概要を示すブロック図である。
【図４】学習処理を示すフローチャートである。
【図５】むだ時間信頼判定処理を示すフローチャートである。
【図６】学習可否判定処理を示すフローチャートである。
【図７】空燃比補正係数の算出処理を示すフローチャートである。
【図８】空燃比フィードバック制御を実行する際のフローチャートである。
【図９】燃料噴射制御処理を示すフローチャートである。
【図１０】同定処理を実行する際の条件判定フローチャートである。
【図１１】同定処理を示すフローチャートである。
【図１２】リミット処理を示すフローチャートである。
【図１３】むだ時間の更新処理を示すフローチャートである。
【図１４】むだ時間の更新処理を示すフローチャートである（図４の続き）。
【図１５】制御量の算出処理を示すフローチャートである。
【図１６】学習値のマップデータを示す図である。
【図１７】制御入力ｕの変化を表すタイムチャートである。
【図１８】むだ時間変更処理の概要を具体的に示すタイムチャートである。
【図１９】同定処理におけるむだ時間と評価関数との相関関係図である。
【図２０】本実施形態におけるエンジン制御システムの異常判定の概略図である。
【符号の説明】
【０１１６】
１１  エンジン
２５  三元触媒
２９  ＥＣＵ
３１  上流側排ガスセンサ（Ａ／Ｆセンサ）
３２  下流側排気ガスセンサ（Ｏ2センサ）
【図１】
2008152318.tif 000016
【図２】
2008152318.tif 000017
【図３】
2008152318.tif 000018
【図４】
2008152318.tif 000019
【図５】
2008152318.tif 000020
【図６】
2008152318.tif 000021
【図７】
2008152318.tif 000022
【図８】
2008152318.tif 000023
【図９】
2008152318.tif 000024
【図１０】
2008152318.tif 000025
【図１１】
2008152318.tif 000026
【図１２】
2008152318.tif 000027
【図１３】
2008152318.tif 000028
【図１４】
2008152318.tif 000029
【図１５】
2008152318.tif 000030
【図１６】
2008152318.tif 000031
【図１７】
2008152318.tif 000032
【図１８】
2008152318.tif 000033
【図１９】
2008152318.tif 000034
【図２０】
2008152318.tif 000035