(57)【要約】【課題】吸気脈動が大きい運転領域での吸気量の演算精度を向上する。【解決手段】エンジン回転数ＮＥ、吸気管圧力ＰＭ、及び排気再循環機構及び可変動弁機構の制御状態に基づきシフト補正量ＳＦＴを演算するシフト補正量演算処理Ｐ２０を行う。脈動小判定時には、マスフロー方式で演算した第１吸気量ＭＣ１を吸気量演算値の値として設定するとともに、同第１吸気量ＭＣ１に対するスロットルスピード方式で演算した第２吸気量ＭＣ２の差からシフト補正量ＳＦＴを引いた値に近づくように値を更新していくことで偏差量学習値ＤＥＶ［ｉ］を学習する。脈動大判定時には、第２吸気量ＭＣ２に偏差量学習値ＤＥＶ［ｉ］及びシフト補正量ＳＦＴを加えた和を吸気量演算値の値として設定する。【選択図】図９
2020063738.tif 000002
【特許請求の範囲】
【請求項１】
エンジンの吸気量を演算するとともに、同吸気量の演算値に基づき燃料噴射量を決定してインジェクタの燃料噴射制御を行うエンジン制御装置において、
エアフローメータの吸気流量の検出値に基づいて吸気量を演算する第１吸気量演算処理と、
前記吸気流量の検出値を用いずに、吸気管圧力の検出値、及びスロットル開度のうちのいずれか一方に基づいて前記吸気量を演算する第２吸気量演算処理と、
前記エンジンの吸気通路内の吸気脈動が大きい状態にあるか否かを判定する判定処理と、
前記第１吸気量演算処理による前記吸気量の演算値を第１吸気量とするとともに、前記第２吸気量演算処理による前記吸気量の演算値を第２吸気量としたとき、前記判定処理において前記吸気脈動が大きい状態にないと判定されているときに前記第１吸気量に対する前記第２吸気量の偏差量を演算する偏差量演算処理と、
前記判定処理において前記吸気脈動が大きい状態にないと判定されているときには前記第１吸気量を前記吸気量の演算値として設定するとともに、前記判定処理において前記吸気脈動が大きい状態にあると判定されているときには前記第２吸気量に前記偏差量を加えた和である補正後第２吸気量を前記吸気量の演算値として設定する演算方式切替処理と、
前記エンジンに設けられた機構であってスロットル開度とは非連動に制御されて前記エンジンの吸気量に変化を生じさせる機構を間接吸気可変機構としたとき、同間接吸気可変機構の制御状態、吸気管圧力、及びエンジン回転数に基づきシフト補正量を演算するシフト補正量演算処理と、
を行い、
且つ前記偏差量演算処理では、前記第１吸気量に対する前記第２吸気量の差から前記シフト補正量を引いた値に近づくように値を更新していくことで偏差量学習値を学習するとともに、前記偏差量学習値に前記シフト補正量を加えた和を前記偏差量の値として演算する
エンジン制御装置。
【請求項２】
エンジンの吸気量を演算するとともに、同吸気量の演算値に基づき燃料噴射量を決定してインジェクタの燃料噴射制御を行うエンジン制御装置において、
エアフローメータの吸気流量の検出値に基づいて吸気量を演算する第１吸気量演算処理と、
前記吸気流量の検出値を用いずに、吸気管圧力の検出値、及びスロットル開度のうちのいずれか一方に基づいて前記吸気量を演算する第２吸気量演算処理と、
前記エンジンの吸気通路内の吸気脈動が大きい状態にあるか否かを判定する判定処理と、
前記第１吸気量演算処理による前記吸気量の演算値を第１吸気量とするとともに、前記第２吸気量演算処理による前記吸気量の演算値を第２吸気量としたとき、前記判定処理において前記吸気脈動が大きい状態にないと判定されているときに前記第１吸気量に対する前記第２吸気量の偏差量を演算する偏差量演算処理と、
前記判定処理において前記吸気脈動が大きい状態にないと判定されているときには前記第１吸気量を前記吸気量の演算値として設定するとともに、前記判定処理において前記吸気脈動が大きい状態にあると判定されているときには前記第２吸気量に前記偏差量を加えた和である補正後第２吸気量を前記吸気量の演算値として設定する演算方式切替処理と、
前記エンジンに設けられた機構であってスロットル開度とは非連動に制御されて前記エンジンの吸気量に変化を生じさせる機構を間接吸気可変機構としたとき、同間接吸気可変機構の制御状態、前記第２吸気量、及びエンジン回転数に基づきシフト補正量を演算するシフト補正量演算処理と、
を行い、
且つ前記偏差量演算処理では、前記第１吸気量に対する前記第２吸気量の差から前記シフト補正量を引いた値に近づくように値を更新していくことで偏差量学習値を学習するとともに、前記偏差量学習値に前記シフト補正量を加えた和を前記偏差量の値として演算する
エンジン制御装置。
【請求項３】
前記間接吸気可変機構は、吸気中に排気の一部を再循環する排気再循環機構である請求項１又は２に記載のエンジン制御装置。
【請求項４】
前記シフト補正量の演算マップとして、前記排気再循環機構が排気の再循環を停止した状態にあるときの前記シフト補正量の値Ｘ０を演算するための演算マップと、前記排気再循環機構による排気再循環量がその制御目標値Ｙ１となった状態にあるときの前記シフト補正量の値Ｘ１を演算するための演算マップと、の２つの演算マップを有しており、
前記シフト補正量演算処理では、前記排気再循環量の現在値をＹとしたとき、式（１）の関係を満たす値Ｘを前記シフト補正量の値として演算する
請求項３に記載のエンジン制御装置。
【数１】
2020063738.tif 000007
【請求項５】
前記間接吸気可変機構は、吸気弁のバルブタイミングを可変とする可変動弁機構である請求項１〜請求項４のいずれか１項に記載のエンジン制御装置。
【請求項６】
エンジン水温及びエンジン油温の少なくとも一方をエンジンの温度状態量としたとき、前記温度状態量に基づき設定された進角制限量の値の分、前記可変動弁機構による前記吸気弁のバルブタイミングの制御範囲の進角側の限界値を遅角側に変更する進角制限を実施するとともに、
前記進角制限量が取り得る最大の値を最大制限量としたとき、前記シフト補正量の演算マップとして、前記進角制限量として前記最大制限量が設定された状態にあるときの前記シフト補正量の値Ｚ０を演算するための演算マップと、前記進角制限量として「０」が設定された状態にあるときの前記シフト補正量の値Ｚ１を演算するための演算マップと、の２つの演算マップを有しており、
前記シフト補正量演算処理は、前記温度状態量に基づき補間係数の値を設定するとともに、同補間係数の値をＫＲＳＴとしたときに式（２）の関係を満たす値Ｚを前記シフト補正量の値として設定するものであり、
かつ前記補間係数の値は、前記温度状態量が前記進角制限量として最大制限量を設定する第１の値であるときには「０」となり、前記温度状態量が進角制限量として「０」を設定する第２の値であるときには「１」となり、かつ温度状態量が前記第１の値から前記第２の値へと変化していったときに、同温度状態量が前記第１の値であるときの値「０」から同温度状態量が前記第２の値であるときの値「１」へと温度状態量の変化に応じて増加する値として設定されている
請求項５に記載のエンジン制御装置。
【数２】
2020063738.tif 000008
【請求項７】
前記シフト補正量演算処理では、前記間接吸気可変機構の制御状態、吸気管圧力及びエンジン回転数に加えて、前記エンジンの環境条件の状態量に基づいて前記シフト補正量を演算する請求項１〜６のいずれか１項に記載のエンジン制御装置。
【請求項８】
前記状態量が大気圧である請求項７に記載のエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの吸気量を演算するとともに、同吸気量の演算値に基づき燃料噴射量を決定してインジェクタの燃料噴射制御を行うエンジン制御装置に関する。
【背景技術】
【０００２】
気筒内で燃焼する混合気の空燃比（空気に対する燃料の質量比率）を適切に制御するには、エンジンの吸気量を、すなわち気筒内に流入する吸気の質量を正確に把握する必要がある。従来、吸気量の演算方式として、マスフロー方式、スピードデンシティ方式、及びスロットルスピード方式の３つの方式が知られている。マスフロー方式では、吸気通路におけるスロットルバルブよりも上流側の部分に設置されたエアフローメータにより検出した吸気流量から吸気量を演算する。スピードデンシティ方式では、吸気通路におけるスロットルバルブよりも下流側の部分に設置された吸気管圧力センサにより吸気管圧力を検出するとともに、その吸気管圧力とエンジン回転数とに基づき推定した吸気流量から吸気量を演算する。さらに、スロットルスピード方式では、スロットル開度とエンジン回転数とに基づき推定した吸気流量から吸気量を演算する。
【０００３】
通常は、これら３つの演算方式の中でマスフロー方式が、エンジンの定常運転時の吸気量を最も精度良く演算することができる。ただし、エンジンの各気筒は、吸気弁の開閉に応じて間欠的に吸気を吸入しているため、吸気通路の吸気の流れは脈動を伴ったものとなる。そしてそうした吸気脈動の影響は、エアフローメータの検出値にも表れるため、吸気脈動の大きいエンジンの運転領域では、マスフロー方式よりもスピードデンシティ方式やスロットルスピード方式の方が高い精度で吸気量を演算できる場合がある。これに対して従来、特許文献１に見られるように、吸気脈動が小さいときにはマスフロー方式により吸気量を演算し、吸気脈動が大きいときにはスピードデンシティ方式又はスロットルスピード方式により吸気量を演算するように、吸気脈動の大小に応じて演算方式を切り替えつつ吸気量を演算するエンジン制御装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−２２１４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
スピードデンシティ方式及びスロットルスピード方式では、推定した吸気流量から吸気量を演算しているため、吸気流量の推定に誤差があると、その演算値にも誤差が生じてしまう。上記従来のエンジン制御装置では、吸気脈動が大きくなったときにそうした誤差が生じていると、空燃比が目標とする値から乖離してエンジンの排気性能の低下を招く虞がある。
【課題を解決するための手段】
【０００６】
上記課題を解決するエンジン制御装置は、エンジンの吸気量を演算するとともに、同吸気量の演算値に基づき燃料噴射量を決定してインジェクタの燃料噴射制御を行うものであって、エアフローメータの吸気流量の検出値に基づいて吸気量を演算する第１吸気量演算処理と、同吸気流量の検出値を用いずに、吸気管圧力の検出値、及びスロットル開度のうちのいずれか一方に基づいて吸気量を演算する第２吸気量演算処理と、吸気通路内の吸気脈動が大きい状態にあるか否かを判定する判定処理と、を行っている。
【０００７】
第１吸気量演算処理では、エアフローメータの吸気流量の検出値に基づいたマスフロー方式の吸気量の演算が行われる。第２吸気量演算処理では、吸気管圧力の検出値に基づいたスピードデンシティ方式の吸気量の演算、又はスロットル開度に基づいたスロットルスピード方式の吸気量の演算が行われる。ここで、第１吸気量演算処理による吸気量の演算値を第１吸気量とするとともに、第２吸気量演算処理による吸気量の演算値を第２吸気量とする。このとき、上記エンジン制御装置は更に、判定処理において吸気脈動が大きい状態にないと判定されているときに第１吸気量に対する第２吸気量の偏差量を演算する偏差量演算処理と、判定処理において吸気脈動が大きい状態にないと判定されているときには第１吸気量を吸気量の演算値として設定するとともに、判定処理において吸気脈動が大きい状態にあると判定されているときには第２吸気量に偏差量を加えた和である補正後第２吸気量を吸気量の演算値として設定する演算方式切替処理と、を行っている。
【０００８】
上記エンジン制御装置では、判定処理により吸気脈動が大きい状態にないと判定（以下、脈動小判定と記載する）されているときには、エアフローメータの吸気流量の検出精度は低下しておらず、その検出値に基づく第１吸気量演算処理での第１吸気量の演算の精度も高いと考えられる。そこで、上記エンジン制御装置では、脈動小判定時には、マスフロー方式で演算した第１吸気量を吸気量の演算値として演算される。また、このときの第１吸気量が正確な値であるとすれば、第１吸気量に対する第２吸気量の偏差は、第２吸気量の演算値の誤差となる。上記エンジン制御装置では、偏差量演算処理において、脈動小判定時の第１吸気量に対する第２吸気量の偏差量を演算している。
【０００９】
一方、判定処理により吸気脈動が大きい状態にあると判定（以下、脈動大判定と記載する）されているときには、エアフローメータの吸気流量の検出精度が低下して、第１吸気量の演算精度も低下する。このときの上記エンジン制御装置では、脈動小判定時に演算した上記偏差量を第２吸気量に加えた和である補正後第２吸気量が吸気量の演算値として演算される。すなわち、このときには、脈動小判定時に確認された第２吸気量の誤差分の補償を、第２吸気量に施した値が吸気量の演算値として演算される。したがって、上記エンジン制御装置によれば、吸気脈動が大きい運転領域での吸気量の演算精度を向上できる。
【００１０】
更に上記エンジン制御装置では、エンジンに設けられた機構であってスロットル開度とは非連動に制御されてエンジンの吸気量に変化を生じさせる機構を間接吸気可変機構としたとき、同間接吸気可変機構の制御状態、吸気管圧力、及びエンジン回転数に基づきシフト補正量を演算するシフト補正量演算処理を行っている。そして、偏差量演算処理では、第１吸気量に対する第２吸気量の差からシフト補正量を引いた値に近づくように値を更新していくことで偏差量学習値を学習するとともに、偏差量学習値にシフト補正量を加えた和を偏差量の値として演算している。
【００１１】
演算方式の違いによる第１吸気量と第２吸気量との偏差量は、エンジン回転数や吸気管圧力といったエンジンの運転状態により変化する。スロットル開度とは非連動に制御されてエンジンの吸気量に変化を生じさせる間接吸気可変機構がエンジンに設けられている場合には、エンジン回転数、吸気管圧力に加えて間接吸気可変機構の制御状態も、偏差量を変化させる因子となる。一方、上記エンジン制御装置では、エンジン回転数、吸気管圧力、及び間接吸気可変機構の制御状態による偏差量の変化分がシフト補正量の値として演算されている。そのため、偏差量学習値には、第１吸気量と第２吸気量との偏差から、エンジン回転数、吸気管圧力、及び間接吸気可変機構の制御状態による同偏差の変化分を予め除外した値が学習されるようになる。これにより、偏差量学習値の学習時と吸気量演算値への同偏差量学習値の反映時とでエンジンの運転状態が異なっていても、脈動大判定時に適切に吸気量を演算することが可能となる。そしてその結果、偏差量学習値の学習を実施するエンジンの運転状態や環境条件の範囲を拡大できるようになり、学習の実施機会を増加することが、ひいては学習を完了するまでに要する時間を短縮することが可能となる。
【００１２】
第１及び第２の吸気量演算処理、判定処理、偏差量演算処理、演算方式切替処理については上記エンジン制御装置と同様に行い、シフト補正量演算処理において、間接吸気可変機構の制御状態、第２吸気量、及びエンジン回転数に基づきシフト補正量を演算するものとしてエンジン制御装置を構成してもよい。こうした場合にも、学習の実施機会を増加して、学習を完了するまでに要する時間を短縮することが可能となる。
【００１３】
なお、上記のような間接吸気可変機構としては、吸気中に排気の一部を再循環する排気再循環機構や、吸気弁のバルブタイミングを可変とする可変動弁機構などがある。
上記のような排気再循環機構が間接吸気可変機構として設けられたエンジンに上記エンジン制御装置を適用する場合には、シフト補正量の演算マップとして、排気再循環機構が排気の再循環を停止した状態にあるときのシフト補正量の値Ｘ０を演算するための演算マップと、排気再循環機構による排気再循環量がその制御目標値Ｙ１となった状態にあるときのシフト補正量の値Ｘ１を演算するための演算マップと、の２つの演算マップを有しており、シフト補正量演算処理では、排気再循環量の現在値をＹとしたときに式（１）の関係を満たす値Ｘをシフト補正量の値として演算することが望ましい。
【００１４】
【数１】
2020063738.tif 000003
排気再循環機構による排気再循環量の制御目標値Ｙ１と現在値Ｙとが乖離していない状態にある場合と乖離した状態にある場合とでは、第１吸気量と第２吸気量との偏差量が異なった量となる。その点、上記態様でシフト補正量を演算すれば、上記乖離が生じた場合にも、排気再循環量の現在値Ｙに対応した適切な値をシフト補正量の値として演算できる。
【００１５】
また、上記のような可変動弁機構が間接吸気可変機構として設けられたエンジンでは、エンジン水温及びエンジン油温に応じた吸気弁のバルブタイミングの進角制限が実施されることがある。ここでは、エンジン水温及びエンジン油温の少なくとも一方をエンジンの温度状態量とし、かつ上記進角制限は、温度状態量に基づき設定された進角制限量の値の分、可変動弁機構による吸気弁のバルブタイミングの制御範囲の進角側の限界値を遅角側に変更するものとする。また、進角制限に際して進角制限量が取り得る最大の値を最大制限量とする。こうした進角制限を行うエンジンに上記エンジン制御装置を適用する場合には、シフト補正量の演算マップとして、進角制限量として最大制限量が設定された状態にあるときのシフト補正量の値Ｚ０を演算するための演算マップと、進角制限量として「０」が設定された状態にあるときのシフト補正量の値Ｚ１を演算するための演算マップと、の２つの演算マップを有しており、シフト補正量演算処理を、温度状態量に基づき補間係数の値を設定するとともに、同補間係数の値をＫＲＳＴとしたときに式（２）の関係を満たす値Ｚをシフト補正量の値として設定するものとし、かつ補間係数の値を、温度状態量が進角制限量として最大制限量を設定する第１の値であるときには「０」となり、温度状態量が進角制限量として「０」を設定する第２の値であるときには「１」となり、かつ温度状態量が第１の値から第２の値へと変化していったときに、同温度状態量が第１の値であるときの値「０」から同温度状態量が第２の値であるときの値「１」へと温度状態量の変化に応じて増加する値として設定することが望ましい。
【００１６】
【数２】
2020063738.tif 000004
可変動弁機構による吸気弁のバルブタイミングの制御範囲の進角制限が実施されている場合と実施されてない場合とでは、第１吸気量と第２吸気量との偏差量が異なった量となる。その点、上記態様でシフト補正量を演算すれば、進角制限が実施されている場合にも、進角制限量に対応した適切な値をシフト補正量の値として演算できる。
【００１７】
演算方式間の吸気量の演算値の偏差は、吸気温度等の温度条件や大気圧等の圧力条件のようなエンジンの環境条件によっても変化する。そのため、環境条件の異なった状態で学習を行えば、その学習の結果にばらつきが生じてしまうことになる。そこで、シフト補正量演算処理において、間接吸気可変機構の制御状態、吸気管圧力及びエンジン回転数に加えて、エンジンの環境条件の状態量に基づいてシフト補正量を演算するようにしてもよい。こうした場合、環境条件の影響が偏差量学習値に反映されにくくなるため、学習精度が向上する。なお、上記のような環境条件の状態量としては、例えば大気圧がある。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態のベースとなるエンジン制御装置の構成を模式的に示す略図。
【図２】同エンジン制御装置が実行する燃料噴射量の制御に係る処理の流れを示すブロック図。
【図３】同エンジン制御装置が実行する吸気量演算処理の流れを示すブロック図。
【図４】同エンジン制御装置が脈動判定処理において使用する脈動率の演算態様を示すグラフ。
【図５】上記エンジン制御装置が脈動判定処理に際して実行する脈動判定ルーチンのフローチャート。
【図６】同エンジン制御装置における吸気量演算処理の実施態様の一例を示すタイムチャート。
【図７】第１実施形態のエンジン制御装置が適用されるエンジンの構成を模式的に示す図。
【図８】第１実施形態のエンジン制御装置における偏差量学習領域の設定態様を示す図。
【図９】同実施形態のエンジン制御装置が実行する学習値更新処理の流れを示す制御ブロック図。
【図１０】同学習値更新処理において演算される偏差量学習値の更新量とずれ量との関係を示すグラフ。
【図１１】第１実施形態のエンジン制御装置が実行する補正後第２吸気量演算処理の流れを示す制御ブロック図。
【図１２】同エンジン制御装置が実行するシフト補正量演算処理の流れを示す制御ブロック図。
【図１３】第１吸気量及び第２吸気量の演算値、並びにそれらの偏差量と吸気管圧力との関係を示すグラフ。
【図１４】排気再循環の実施時及び停止時のそれぞれにおける第１吸気量及び第２吸気量の演算値と吸気管圧力との関係を示すグラフ。
【図１５】第２実施形態のエンジン制御装置における状況毎の間接吸気可変機構の制御状態を示す表図。
【図１６】同エンジン制御装置が設定する吸気弁の進角制限量とエンジン水温、始動時油温との関係を示すグラフ。
【図１７】同エンジン制御装置が実行するシフト補正量演算処理の流れを示す制御ブロック図。
【図１８】同シフト補正量演算処理における第２演算処理でのシフト補正量の演算に係る処理の流れを示す制御ブロック図。
【図１９】同シフト補正量演算処理における第４演算処理でのシフト補正量の演算に係る処理の流れを示す制御ブロック図。
【図２０】第４演算処理でのシフト補正量の演算に用いられる補間係数とエンジン水温との関係を示すグラフ。
【発明を実施するための形態】
【００１９】
ここではまず、エンジン制御装置の第１実施形態の元となったエンジン制御装置について説明する。第１実施形態のエンジン制御装置は、その元となったエンジン制御装置（以下、前提構成のエンジン制御装置と記載する）に改良を加えたものとなっている。
【００２０】
図１に示すように、前提構成のエンジン制御装置が適用されるエンジン１０の吸気通路１１の最上流部には、吸気中の塵等をろ過するエアクリーナ１２が設けられている。吸気通路１１におけるエアクリーナ１２よりも下流側の部分には、吸気流量を検出するエアフローメータ１３が設けられている。さらに吸気通路１１におけるエアフローメータ１３よりも下流側の部分には、吸気通路１１の吸気流量を調整するための弁であるスロットルバルブ１４が設けられている。スロットルバルブ１４の近傍には、同スロットルバルブ１４を開閉駆動するためのスロットルモータ１５と、スロットルバルブ１４の開度（スロットル開度ＴＡ）を検出するためのスロットルセンサ１６と、が設けられている。
【００２１】
吸気通路１１におけるスロットルバルブ１４よりも下流側の部分には、エンジン１０の各気筒に吸気を分配するための分枝管であるインテークマニホールド（以下、インマニ１７と記載する）が設けられている。インマニ１７の各分枝管は、気筒別の吸気ポート１８を介して各気筒の燃焼室１９にそれぞれ接続されている。各気筒の吸気ポート１８には、同吸気ポート１８を通って燃焼室１９に流入する吸気中に燃料を噴射するインジェクタ２０がそれぞれ設けられている。また、各気筒の燃焼室１９には、内部に流入した燃料と吸気との混合気を放電により点火する点火装置２１がそれぞれ設けられている。なお、各気筒には、エンジン１０の出力軸であるクランクシャフト２２の回転に連動して開閉する吸気弁２３、及び排気弁２４がそれぞれ設けられている。そして、吸気弁２３の開弁に応じて吸気ポート１８から燃焼室１９に吸気が流入し、排気弁２４の開弁に応じて燃焼室１９から排気が排出される。
【００２２】
エンジン１０は、エンジン制御装置としての電子制御ユニット２５により制御されている。電子制御ユニット２５は、エンジン制御に係る各種の演算処理を行う演算処理回路２６と、制御用のプログラムやデータを記憶したメモリ２７とを備えている。そして、電子制御ユニット２５には、上述のエアフローメータ１３、スロットルセンサ１６に加え、吸気温度ＴＨＡを検出する吸気温度センサ２８、大気圧ＰＡを検出する大気圧センサ２９、及びクランクシャフト２２の回転角（クランク角ＣＲＮＫ）を検出するクランク角センサ３０などの各種センサの検出信号が入力されている。そして、電子制御ユニット２５は、それらセンサの検出信号に基づき、スロットルモータ１５、インジェクタ２０、点火装置２１などのアクチュエータを制御することで、エンジン１０の各種制御を行っている。なお、電子制御ユニット２５は、クランク角センサ３０によるクランク角ＣＲＮＫの検出結果からエンジン回転数ＮＥを演算している。
【００２３】
図２に、インジェクタ２０の燃料噴射量の制御に係る電子制御ユニット２５の処理の流れを示す。燃料噴射量の制御に際して電子制御ユニット２５はまず、吸気量演算処理Ｐ１において、エアフローメータ１３の吸気流量の検出値であるＡＦＭ検出吸気量ＧＡ、スロットル開度ＴＡ、エンジン回転数ＮＥに基づき、エンジン１０の吸気量を演算する。この吸気量演算処理Ｐ１で演算する吸気量（以下、吸気量演算値ＭＣと記載する）は、燃焼室１９での燃焼に供される空気の質量の推定値を表している。続いて、電子制御ユニット２５は、噴射量決定処理Ｐ２において、吸気量演算処理Ｐ１で演算した吸気量演算値ＭＣに基づき、燃焼室１９で燃焼する混合気の空燃比が目標とする値となるように燃料噴射量ＱＩＮＪを決定する。そして、電子制御ユニット２５は、インジェクタ駆動処理Ｐ３において、燃料噴射量ＱＩＮＪ分の燃料噴射を行うように各気筒のインジェクタ２０を駆動する。
【００２４】
図３に、吸気量演算処理Ｐ１に係る電子制御ユニット２５の処理の流れを示す。吸気量演算処理Ｐ１は、第１吸気量演算処理Ｐ４、第２吸気量演算処理Ｐ５、判定処理Ｐ６、偏差量演算処理Ｐ７、及び演算方式切替処理Ｐ８の各処理を通じて実行されている。なお、吸気量演算処理Ｐ１による吸気量の演算値は、燃料噴射量の制御の他、点火時期の制御等の各種エンジン制御に用いられる。
【００２５】
第１吸気量演算処理Ｐ４では、エアフローメータ１３の吸気流量の検出値であるＡＦＭ検出吸気量ＧＡとエンジン回転数ＮＥとに基づく吸気量の演算が行われる。具体的には、第１吸気量演算処理Ｐ４では、ＡＦＭ検出吸気量ＧＡをエンジン回転数ＮＥで割った商に規定の係数Ｋを掛けた積（＝Ｋ×ＧＡ／ＮＥ）を定常運転時の吸気量の値として求めている。そして、その定常運転時の吸気量に追従しつつ緩変化する値として吸気量を演算している。すなわち、第１吸気量演算処理Ｐ４では、エアフローメータ１３の吸気流量の検出値を用いた、いわゆるマスフロー方式による吸気量の演算が行われる。以下の説明では、第１吸気量演算処理Ｐ４による吸気量の演算値を第１吸気量ＭＣ１と記載する。
【００２６】
第２吸気量演算処理Ｐ５では、スロットル開度ＴＡとエンジン回転数ＮＥとに基づく吸気量の演算が行われる。具体的には、第２吸気量演算処理Ｐ５では、スロットル開度ＴＡとエンジン回転数ＮＥとに基づき吸気流量を推定するとともに、その吸気流量の推定値（推定吸気流量ＧＡ＊）をエンジン回転数ＮＥで割った商に上記係数Ｋを掛けた積（＝Ｋ×ＧＡ＊／ＮＥ）を定常運転時の吸気量の値として求めている。そして、その定常運転時の吸気量に追従しつつ緩変化する値として吸気量を演算している。すなわち、第２吸気量演算処理Ｐ５では、エアフローメータ１３の吸気流量の検出値の代わりに、スロットル開度ＴＡ及びエンジン回転数ＮＥに基づく吸気流量の推定値を用いた、いわゆるスロットルスピード方式による吸気量の演算が行われる。以下の説明では、第２吸気量演算処理Ｐ５による吸気量の演算値を第２吸気量ＭＣ２と記載する。
【００２７】
判定処理Ｐ６では、吸気通路１１内の吸気脈動が大きい状態にあるか否かの判定が行われる。判定処理Ｐ６の詳細については後述する。
偏差量演算処理Ｐ７では、判定処理Ｐ６において吸気脈動が大きい状態にないとの判定（以下、脈動小判定と記載する）がなされているときに、第１吸気量ＭＣ１に対する第２吸気量ＭＣ２の偏差量ＤＥＶを演算する。具体的には、偏差量演算処理Ｐ７では、脈動小判定時に、第１吸気量ＭＣ１から第２吸気量ＭＣ２を引いた差を求めるとともに、その差が偏差量ＤＥＶの更新後の値となるように偏差量ＤＥＶの値を更新する。なお、判定処理Ｐ６において吸気脈動が大きい状態にあるとの判定（以下、脈動大判定と記載する）がなされているときには、偏差量演算処理Ｐ７は実施されず、偏差量ＤＥＶの値が保持される。
【００２８】
演算方式切替処理Ｐ８では、脈動小判定時には、第１吸気量ＭＣ１を吸気量演算値ＭＣの値として設定する。また、演算方式切替処理Ｐ８では、脈動大判定時には、第２吸気量ＭＣ２に偏差量ＤＥＶを加えた和である補正後第２吸気量ＭＣ３（＝ＭＣ２＋ＤＥＶ）を吸気量演算値ＭＣの値として設定する。
【００２９】
続いて、判定処理Ｐ６の詳細を説明する。判定処理Ｐ６には、図４に示すような、規定の期間ＴにおけるＡＦＭ検出吸気量ＧＡの最大値ＧＭＡＸ、最小値ＧＭＩＮ、及び平均値ＧＡＶＥが用いられる。なお、期間Ｔは、吸気脈動の周期よりも長い時間となるように設定されている。
【００３０】
図５に、判定処理Ｐ６において実行される脈動判定ルーチンのフローチャートを示す。本ルーチンの処理は、エンジン１０の運転中、吸気量の演算周期毎に電子制御ユニット２５により繰り返し実行される。
【００３１】
本ルーチンの処理が開始されると、まずステップＳ１００において、脈動率ＲＴＥの演算が行われる。脈動率ＲＴＥの値は、上述したＡＦＭ検出吸気量ＧＡの最大値ＧＭＡＸから最小値ＧＭＩＮを引いた差を平均値ＧＡＶＥで割った商（＝（ＧＭＡＸ−ＧＭＩＮ）／ＧＡＶＥ）として演算されている。続いて、ステップＳ１１０において、脈動率ＲＴＥの値が規定の脈動大判定値α以上であるか否かが判定される。
【００３２】
脈動率ＲＴＥの値が脈動判定値α以上の場合（Ｓ１１０：ＹＥＳ）、ステップＳ１２０に処理が進められ、そのステップＳ１２０において、脈動大フラグＦがセットされる。さらにこの場合には、ステップＳ１３０においてカウンタＣＯＵＮＴの値が０にリセットされた後、今回の本ルーチンの処理が終了される。脈動大フラグＦは、判定処理Ｐ６の判定結果を示すフラグであり、脈動大判定時にはセットされ、脈動小判定時にはクリアされる。上述の偏差量演算処理Ｐ７、及び演算方式切替処理Ｐ８では、こうした脈動大フラグＦがセットされているか否かにより、判定処理Ｐ６の判定結果を確認している。
【００３３】
一方、脈動率ＲＴＥの値が脈動大判定値α未満の場合（Ｓ１１０：ＮＯ）、ステップＳ１４０に処理が進められる。そして、ステップＳ１４０において、脈動大フラグＦがセットされているか否かが判定される。ここで、脈動大フラグＦがセットされていなければ（Ｓ１４０：ＮＯ）、上述のステップＳ１３０に処理が進められ、そのステップＳ１３０においてカウンタＣＯＵＮＴの値が０にリセットされた後、今回の本ルーチンの処理が終了される。一方、脈動大フラグＦがセットされている場合には（Ｓ１４０：ＹＥＳ）、ステップＳ１５０に処理が進められる。
【００３４】
ステップＳ１５０に処理が進められると、そのステップＳ１５０においてカウンタＣＯＵＮＴの値のインクリメントが行われる。そして、続くステップＳ１６０において、インクリメント後のカウンタＣＯＵＮＴの値が規定の脈動オフ判定値β以上であるか否かが判定される。このときのカウンタＣＯＵＮＴの値が脈動オフ判定値β未満である場合には（Ｓ１６０：ＮＯ）、そのまま今回の本ルーチンの処理が終了される。これに対してカウンタＣＯＵＮＴの値が脈動オフ判定値β以上である場合には（Ｓ１６０：ＹＥＳ）、ステップＳ１７０において脈動大フラグＦがクリアされた後、今回の本ルーチンの処理が終了される。
【００３５】
以上の脈動判定ルーチンにおいて脈動大フラグＦは、脈動大判定値α未満の値から同脈動大判定値α以上の値へと脈動率ＲＴＥの値が増加したときに、クリアされた状態からセットされた状態へと切り替えられる。また、脈動大フラグＦは、脈動率ＲＴＥが脈動大判定値α未満であり、且つカウンタＣＯＵＮＴの値が脈動判定値β以上となったときにセットされた状態からクリアされた状態に切り替えられる。一方、カウンタＣＯＵＮＴの値は、脈動率ＲＴＥが脈動大判定値α未満であり、且つ脈動大フラグＦがセットされている場合にインクリメントされ、それ以外の場合には０にリセットされる。すなわち、カウンタＣＯＵＮＴの値のインクリメントは、脈動率ＲＴＥが脈動大判定値α以上の値から脈動大判定値α未満の値に低下したときに開始され、その後、脈動率ＲＴＥが脈動大判定値α以上となるか、脈動大フラグＦがクリアされるか、のいずれかとなるまで継続される。そして、このときのカウンタＣＯＵＮＴの値のインクリメントは脈動判定ルーチンの実行毎に行われ、さらに脈動判定ルーチンは吸気量の演算周期毎に実行される。よって、脈動大フラグＦのセットからクリアへの切り替えは、脈動率ＲＴＥが脈動大判定値α以上の値から脈動大判定値α未満の値に低下し、且つその後、脈動率ＲＴＥが脈動大判定値α未満の値となっている状態が一定の時間継続したときに行われる。
【００３６】
続いて、以上説明したエンジン制御装置の作用効果を説明する。
図６に、このエンジン制御装置における吸気量演算処理Ｐ１の実施態様の一例を示す。
エンジン１０の吸気通路１１では、吸気弁２３の間欠的な開弁により、吸気の脈動が発生する。エンジン１０の高負荷運転時等には、こうした吸気脈動が大きくなり、その影響がエアフローメータ１３の検出結果に表れる。そのため、吸気脈動が大きい状態にあるときには、エアフローメータ１３の検出精度が低下する。
【００３７】
一方、マスフロー方式による吸気量の演算は、エアフローメータ１３の吸気流量の検出値（ＡＦＭ検出吸気量ＧＡ）に基づいて行われる。そのため、吸気脈動が大きい状態にあってエアフローメータ１３の検出精度が低下すると、マスフロー方式による吸気量の演算精度も低下する。
【００３８】
これに対して、このエンジン制御装置では、判定処理Ｐ６において吸気脈動が大きい状態にあるか否かを判定している。そして、脈動小判定時にはマスフロー方式により吸気量を演算する一方、脈動大判定時にはスロットルスピード方式により吸気量を演算するようにしている。
【００３９】
図６の場合、時刻ｔ１までは判定処理Ｐ６により脈動小判定がなされており、脈動大フラグＦはクリアされている。そして、時刻ｔ１に判定処理Ｐ６の判定結果が脈動小判定から脈動大判定に切り替わり、その時刻ｔ１以降は脈動大フラグＦがセットされた状態となっている。脈動小判定中は、エアフローメータ１３の検出精度は低下しておらず、第１吸気量演算処理Ｐ４での第１吸気量ＭＣ１の演算精度も高いと考えられる。そこで、前提構成のエンジン制御装置では、脈動小判定中は、第１吸気量ＭＣ１を吸気量演算値ＭＣの値として演算するようにしている。
【００４０】
また、脈動小判定中の第１吸気量ＭＣ１が正確な値であるとすると、このときの第１吸気量ＭＣ１に対する第２吸気量ＭＣ２の偏差量ＤＥＶ分の誤差が、第２吸気量ＭＣ２の演算値に生じていることになる。前提構成のエンジン制御装置では、偏差量演算処理Ｐ７において、脈動小判定中にそうした偏差量ＤＥＶの演算を行っている。
【００４１】
一方、脈動小判定から脈動大判定に切り替わると、エアフローメータ１３の検出精度が低下して、第１吸気量演算処理Ｐ４による第１吸気量ＭＣ１の演算精度も低下する。このときの上記エンジン制御装置では、脈動小判定時に演算した偏差量ＤＥＶを第２吸気量ＭＣ２に加算した和である補正後第２吸気量ＭＣ３を、吸気量演算値ＭＣの値として演算している。すなわち、脈動小判定時の偏差量ＤＥＶの演算結果から確認された第２吸気量ＭＣ２の誤差を補償した値が、脈動大判定時の吸気量演算値ＭＣの値として演算されている。そのため、吸気脈動が大きい状態にあるときにも、吸気量演算値ＭＣを精度良く演算できる。
【００４２】
また、第１吸気量ＭＣ１に対する第２吸気量ＭＣ２の偏差が偏差量ＤＥＶの値として適切に設定されていれば、時刻ｔ１における第１吸気量ＭＣ１と、第２吸気量ＭＣ２に偏差量ＤＥＶを加えた和である補正後第２吸気量ＭＣ３とは同値となる。そのため、上記エンジン制御装置によれば、演算方式の切り替え前後の吸気量演算値ＭＣの値に段差が生じることを抑えられる。
【００４３】
（第１実施形態）
続いて、上記前提構成に対する第１実施形態のエンジン制御装置の相違点を説明する。
エンジンの吸気量の制御は、スロットル開度ＴＡの変更を通じて行われる。一方、エンジンには、スロットルバルブの他にも、吸気量に変化を生じさせる機構が設けられている場合がある。こうしたエンジンでは、そうした機構の制御状態が第１吸気量ＭＣ１、第２吸気量ＭＣ２の演算結果に影響を与えることがある。
【００４４】
図７に、そうしたエンジン１００の一例の構成を示す。同図に示すように、エンジン１００は、排気の一部を吸気中に再循環する排気再循環機構を備えている。排気再循環機構は、排気通路３１と吸気通路１１におけるスロットルバルブ１４よりも下流側の部分（例えば吸気マニホールド１７）とを連通するＥＧＲ（Exhaust Gas Recirculation）通路３２を備えている。ＥＧＲ通路３２には、同ＥＧＲ通路３２を通って吸気中に再循環される排気（ＥＧＲガス）を冷却するＥＧＲクーラ３３と、ＥＧＲガスの流量を調整するための流量調整弁であるＥＧＲバルブ３４とが設けられている。また、エンジン１０には、吸気弁２３のバルブタイミング（開閉弁時期）を可変とする可変動弁機構３５が設けられている。
【００４５】
こうしたエンジン１００においてスロットルバルブ１４は、吸気通路１１を通って燃焼室１９に導入される吸気の流量を調整することで直接的に吸気量を可変とする機構となっている。一方、排気再循環機構による排気の再循環が行われると、燃焼室１９内に流入するガスの量が一定でも、そのガス中の空気量（吸気量）は再循環された排気の量分少なくなる。また、可変動弁機構３５による吸気弁２３のバルブタイミングの変更によっても吸気量は変化する。このように排気再循環機構及び可変動弁機構３５は、エンジン１００の吸気量を間接的に可変とする機構（間接吸気可変機構）となっている。
【００４６】
同エンジン１００では、運転席に設けられたスイッチの操作により、エンジン１００の制御モードとして、燃費モードとパワーモードとを選択できるようになっている。燃費モードは、大量の排気再循環を実施することで、エンジン１００の燃費を向上する制御モードとなっている。これに対して、パワーモードは、燃費モード時よりも排気再循環を減量して、その分、燃焼室１９に導入する空気量を増やすことで、エンジン１００の最大出力を増大する制御モードとなっている。
【００４７】
なお、パワーモードでは、高負荷運転時に、吸気弁２３の閉弁時期が吸気下死点よりも遅い時期となるように可変動弁機構３５を制御している。吸気弁２３の閉弁時期を吸気下死点よりも遅い時期とすると、吸気下死点から吸気弁２３の閉弁までの期間に燃焼室１９に導入された吸気の一部が吸気通路１１に押し戻されて、その分、吸気管圧力ＰＭが高くなる。一方、ＥＧＲシステムでは、吸気負圧を利用して吸気中に排気の一部を再循環しており、吸気弁２３の閉弁時期の遅角により吸気管圧力ＰＭが高まる（吸気負圧が小さくなる）と、吸気中に再循環可能な排気の量は減少する。そのため、大量の排気再循環を行う燃費モードでは、吸気弁２３の閉弁時期がパワーモードの場合よりも早い時期となるように、吸気弁２３の閉弁時期の進角制御を行っている。ちなみに、燃費モードにおいても、大量の排気再循環、及び吸気弁２３の閉弁時期の進角制御は、高負荷運転領域などの限られた運転領域でのみ行われる。なお、燃費モードにおいて大量の排気再循環を実施する運転領域と同燃費モードにおいて吸気弁２３の閉弁時期の進角制御が実施する運転領域とは、完全に重なっておらず、いずれか一方のみが実施される場合がある。
【００４８】
本実施形態のエンジン制御装置でも、吸気量演算処理Ｐ１の基本的な流れは、上記前提構成のものと同様となっている。すなわち、第１吸気量演算処理Ｐ４においてエアフローメータ１３の吸気流量の検出値を用いたマスフロー方式により第１吸気量ＭＣ１を演算するとともに、第２吸気量演算処理Ｐ５においてスロットル開度ＴＡ及びエンジン回転数ＮＥに基づく吸気流量の推定値を用いたスロットルスピード方式により第２吸気量ＭＣ２を演算する。また、判定処理Ｐ６において吸気通路１１内の吸気脈動が大きい状態にあるか否かを判定するとともに、偏差量演算処理Ｐ７において判定処理Ｐ６による脈動小判定時に第１吸気量ＭＣ１に対する第２吸気量ＭＣ２の偏差量ＤＥＶを演算する。そして、演算方式切替処理Ｐ８において、脈動小判定時には第１吸気量ＭＣ１を吸気量演算値ＭＣとして、脈動大判定時には第２吸気量ＭＣ２に偏差量ＤＥＶを加えた和である補正後第２吸気量ＭＣ３を吸気量演算値ＭＣとして設定することで、吸気量演算処理Ｐ１を行っている。
【００４９】
本実施形態のエンジン制御装置では、偏差量演算処理Ｐ７において、エンジン回転数ＮＥに応じて区分けされた複数の偏差量学習領域毎に偏差量ＤＥＶの学習値である偏差量学習値の学習を行っている。偏差量学習値の学習は、脈動小判定時に、エンジン１００が現在運転中の偏差量学習領域（以下、現学習領域と記載する）の偏差量学習値の値を、第１吸気量ＭＣ１に対する第２吸気量ＭＣ２の偏差量に応じて更新することで行われる。以下、本実施形態のエンジン制御装置における偏差量学習値の学習について詳細に説明する。
【００５０】
図８に、偏差量学習領域の設定態様の一例を示す。同図に示すように本実施形態では、エンジン回転数ＮＥにより区分けされた複数（同図の例では５つ）の偏差量学習領域が設定されている。なお、同図の線Ｌは、エンジン１００の運転領域におけるエンジン回転数毎の吸気管圧力の最高値を示している。また、同図にハッチングで示される脈動領域は、エアフローメータ１３の検出精度の低下を招く程度の大きい吸気脈動が発生するエンジン１０の運転領域を示している。脈動領域は、吸気管圧力が高い運転領域に限定されている。
【００５１】
以下の説明では、５つの偏差量学習領域を、エンジン回転数ＮＥの小さい側から順に、偏差量学習領域Ｒ［１］、偏差量学習領域Ｒ［２］、偏差量学習領域Ｒ［３］、偏差量学習領域Ｒ［４］、偏差量学習領域Ｒ［５］とそれぞれ記載する。また、「ｉ」を１、２、３、４、５のいずれかとしたときの偏差量学習領域Ｒ［ｉ］の偏差量ＤＥＶの学習値を偏差量学習値ＤＥＶ［ｉ］と記載する。
【００５２】
図９に、偏差量学習値ＤＥＶ［ｉ］の更新に係る処理の流れを示す。電子制御ユニット２５は、偏差量演算処理Ｐ７において脈動小判定時に、同図に示す態様で偏差量学習値ＤＥＶ［ｉ］の更新を行っている。
【００５３】
偏差量学習値更新処理ではまず、現学習領域の偏差量学習値ＤＥＶ［ｉ］の更新前の値に第２吸気量ＭＣ２を加えた和を第１吸気量ＭＣ１から引いた差（＝ＭＣ１−ＭＣ２−ＤＥＶ［ｉ］）が求められる。そしてその差から後述するシフト補正量演算処理Ｐ２０により演算されたシフト補正量ＳＦＴを更に引いた差がずれ量ＤＩ（＝ＭＣ１−ＭＣ２−ＤＥＶ［ｉ］−ＳＦＴ）の値として求められる。さらに、ずれ量ＤＩに応じて更新量ΔＤＥＶの値が求められる。図１０に示すように、更新量ΔＤＥＶの値は、ずれ量ＤＩと正負が同じであり、ずれ量ＤＩの絶対値よりも絶対値が小さい値となるように設定される。また、更新量ΔＤＥＶの値は、ずれ量ＤＩの絶対値が大きいときには同ずれ量ＤＩの絶対値が小さいときよりも絶対値が大きくなるように設定される。そして、その更新量ΔＤＥＶを更新前に加えた和が更新後の値となるように、現学習領域の偏差量学習値ＤＥＶ［ｉ］の値が更新される。こうして偏差量学習値ＤＥＶ［ｉ］の値は、第１吸気量ＭＣ１に対する第２吸気量ＭＣ２の差からシフト補正量ＳＦＴを引いた値に近づくように更新される。ちなみに、偏差量学習値ＤＥＶ［ｉ］の学習は、偏差量学習値ＤＥＶ［ｉ］の絶対値が規定の学習完了判定値以下の状態となっている場合に完了したと判定される。こうした学習完了の判定は、偏差量学習領域毎にそれぞれ個別に行われている。
【００５４】
図１１に、本実施形態での補正後第２吸気量ＭＣ３の演算に係る処理の流れを示す。同図に示すように、本実施形態では、シフト補正量演算処理Ｐ２０において演算されたシフト補正量ＳＦＴを現学習領域の偏差量学習値ＤＥＶ［ｉ］に加えた和が偏差量ＤＥＶの値として求められる。そして、第２吸気量ＭＣ２にその偏差量ＤＥＶを加えた和（＝ＭＣ２＋ＤＥＶ＝ＭＣ２＋ＤＥＶ［ｉ］＋ＳＦＴ）が補正後第２吸気量ＭＣ３の値として演算される。
【００５５】
図１２に、シフト補正量演算処理Ｐ２０の処理の流れを示す。同図に示すように、本実施形態では、シフト補正量ＳＦＴの演算マップとして、４つの演算マップＭ２０〜Ｍ２３が用意されている。各演算マップＭ２０〜Ｍ２３にはそれぞれ、エンジン回転数ＮＥ、吸気管圧力ＰＭ、及び大気圧ＰＡとシフト補正量ＳＦＴとの関係が予め記憶されている。シフト補正量演算処理Ｐ２０では、吸気弁進角フラグＶＶＴＡＤ及び大量ＥＧＲ実施フラグＥＧＲＥＸに応じて、今回のシフト補正量ＳＦＴの演算に使用する演算マップが演算マップＭ２０〜Ｍ２３の中から選択される。そして、選択された演算マップを用いて、エンジン回転数ＮＥ、吸気管圧力ＰＭ、及び大気圧ＰＡからシフト補正量ＳＦＴの値が演算されている。
【００５６】
なお、吸気弁進角フラグＶＶＴＡＤは、吸気弁２３のバルブタイミング進角量が規定の進角判定値以上の場合にオン（ＯＮ）とされ、進角判定値未満の場合にオフ（ＯＦＦ）とされるフラグである。バルブタイミング進角量は、可変動弁機構３５による吸気弁２３のバルブタイミングの変更範囲のうちの最も遅い時期を最遅角時期としたときの、現在の吸気弁２３のバルブタイミングの最遅角時期からの進角量を表している。こうした吸気弁進角フラグＶＶＴＡＤは、燃費モードでの吸気弁２３の閉弁時期の進角制御が実施されているときにオンとなる。一方、大量ＥＧＲ実施フラグＥＧＲＥＸは、排気再循環機構による排気の再循環量（以下、ＥＧＲ量と記載する）が規定の大ＥＧＲ判定値以上の場合にオン（ＯＮ）とされ、大ＥＧＲ判定値未満の場合にオフとされるフラグである。こうした大量ＥＧＲ実施フラグＥＧＲＥＸは、燃費モードでの大量の排気再循環が実施されているときにオンとなる。なお、演算マップＭ２０は吸気弁進角フラグＶＶＴＡＤ及び大量ＥＧＲ実施フラグＥＧＲＥＸが共にオンの場合の、演算マップＭ２１は吸気弁進角フラグＶＶＴＡＤがオン且つ大量ＥＧＲ実施フラグＥＧＲＥＸがオフの場合の、演算マップＭ２２は吸気弁進角フラグＶＶＴＡＤがオフ且つ大量ＥＧＲ実施フラグＥＧＲＥＸがオンの場合の、演算マップＭ２３は吸気弁進角フラグＶＶＴＡＤ及び大量ＥＧＲ実施フラグＥＧＲＥＸが共にオフの場合の、シフト補正量ＳＦＴの演算にそれぞれ使用されるマップとなっている。
【００５７】
ここで、平均的な吸気特性を有したエンジン１００の機体を標準機体とする。標準機体での各運転状態、各環境条件における偏差量ＤＥＶの値は予め求めておくことができる。例えば、複数の機体において偏差量ＤＥＶの値を運転状態毎、環境条件毎にそれぞれ測定する。そして、各機体の運転状態毎、環境条件毎の偏差量ＤＥＶの測定値の平均を取ることで、標準機体の運転状態毎、環境条件毎の偏差量ＤＥＶを求めることができる。
【００５８】
各演算マップは、こうした標準機体での偏差量ＤＥＶの測定結果に基づき作成されている。すなわち、演算マップＭ２０には、吸気弁進角フラグＶＶＴＡＤ及び大量ＥＧＲ実施フラグＥＧＲＥＸが共にオンの状態の標準機体におけるエンジン回転数ＮＥ、吸気管圧力ＰＭ、及び大気圧ＰＡと偏差量ＤＥＶとの関係が予め記憶されている。同様に、演算マップＭ２１には吸気弁進角フラグＶＶＴＡＤがオン且つ大量ＥＧＲ実施フラグＥＧＲＥＸがオフの状態の、演算マップＭ２２には吸気弁進角フラグＶＶＴＡＤがオフ且つ大量ＥＧＲ実施フラグＥＧＲＥＸがオンの状態の、演算マップＭ２３には吸気弁進角フラグＶＶＴＡＤ及び大量ＥＧＲ実施フラグＥＧＲＥＸが共にオフの状態の、各状態における標準機体のエンジン回転数ＮＥ、吸気管圧力ＰＭ、及び大気圧ＰＡと偏差量ＤＥＶとの関係がそれぞれ記憶されている。
【００５９】
本実施形態の作用及び効果について説明する。
以上のように構成された本実施形態では、脈動小判定時には、偏差量演算処理Ｐ７において、第１吸気量ＭＣ１から第２吸気量ＭＣ２を引いた差からシフト補正量ＳＦＴを引いた値に近づくように値を更新していくことで、偏差量学習値ＤＥＶ［ｉ］の学習が行われる。そして、偏差量学習値ＤＥＶ［ｉ］にシフト補正量ＳＦＴを加えた和を偏差量ＤＥＶの値として演算し、その偏差量ＤＥＶを第２吸気量ＭＣ２に加えた和である補正後第２吸気量ＭＣ３を、脈動大判定時の吸気量演算値ＭＣの値として設定している。
【００６０】
図１３に、エンジン回転数ＮＥ、及び吸気弁２３のバルブタイミングを固定し、ＥＧＲバルブ３４を全閉とした状態で吸気管圧力ＰＭを変化させていったときの第１吸気量ＭＣ１及び第２吸気量ＭＣ２の演算値、並びにそれらの偏差量ＤＥＶと吸気管圧力ＰＭとの関係を示す。同図に示すように、吸気管圧力ＰＭ以外のエンジン１００の制御状態に変化がなくても、吸気管圧力ＰＭが変われば、偏差量ＤＥＶは異なった値となる。また、エンジン回転数ＮＥも、吸気管圧力ＰＭと同様に、偏差量ＤＥＶに変化をもたらす因子となっている。
【００６１】
図１４には、ＥＧＲバルブ３４の全開時（ＥＧＲオン時）、及び同ＥＧＲバルブ３４の全閉時（ＥＧＲオフ時）のそれぞれにおいて、エンジン回転数ＮＥ、及び吸気弁２３のバルブタイミングを固定した状態で吸気管圧力ＰＭを変化させていったときの吸気管圧力ＰＭと第１吸気量ＭＣ１及び第２吸気量ＭＣ２の演算値との関係を示す。同図に示すように、大量排気再循環の実施の有無によっても、偏差量ＤＥＶは変化する。
【００６２】
他にも、吸気弁２３の閉弁時期の進角制御の実施の有無によっても、偏差量ＤＥＶは変化する。なお、排気再循環や吸気弁２３の閉弁時期の進角制御は、制御モードにより実施の有無が切り替えられる。上記のようにエンジン１００では、制御モードに応じて排気再循環や吸気弁２３の閉弁時期の進角制御の実施の有無が切り替えられる。こうしたエンジン１００では、排気再循環機構や可変動弁機構３５は、スロットル開度ＴＡとは非連動に制御されて吸気量に変化を生じさせる機構（間接吸気可変機構）となっている。そのため、エンジン１００では、エンジン回転数ＮＥ及び吸気管圧力ＰＭに加えて間接吸気可変機構の制御状態が偏差量ＤＥＶを決める因子となっている。
【００６３】
これら以外にも、エンジン１００の運転が行われている環境条件も、偏差量ＤＥＶに変化をもたらす因子となっている。例えば大気圧ＰＡが高いときには、エンジン回転数ＮＥやスロットル開度ＴＡが同じでも、吸気量は多くなる。大気圧ＰＡによる吸気量の変化は、エアフローメータ１３の吸気流量の検出値に表れる。そのため、吸気量への大気圧ＰＡの影響は、エアフローメータ１３の吸気流量の検出値を用いたマスフロー方式により演算された第１吸気量ＭＣ１にはある程度正確に反映される。これに対して、スロットル開度ＴＡ及びエンジン回転数ＮＥに基づく吸気流量の推定値を用いたスロットルスピード方式により演算された第２吸気量ＭＣ２には、第１吸気量ＭＣ１ほど正確には反映されないことになる。偏差量ＤＥＶに影響を与える環境条件の状態量としては、上記大気圧ＰＡ、サージタンク圧、過給エンジンにおける過給圧などの圧力状態量や、吸気温度ＴＨＡ、外気温、エンジン水温、エンジン油温、吸気ポート１８の壁面温度などの温度状態量がある。
【００６４】
これに対して本実施形態では、エンジン１００の運転状態（エンジン回転数ＮＥ、吸気管圧力ＰＭ、排気再循環機構及び可変動弁機構３５の制御状態）、及び環境条件（大気圧ＰＡ）による偏差量ＤＥＶの変化分をシフト補正量ＳＦＴの値として演算している。そして、脈動小判定時の第１吸気量ＭＣ１に対する第２吸気量ＭＣ２の偏差からシフト補正量ＳＦＴを引いた差を偏差量学習値ＤＥＶ［ｉ］の値として学習している。そのため、偏差量学習値ＤＥＶ［ｉ］には、第１吸気量ＭＣ１と第２吸気量ＭＣ２との偏差から、エンジン１００の運転状態や環境条件による変化分を予め除外した値が、すなわちエンジン１００の吸気特性の個体差や経時変化による上記偏差の変化分が、学習されることになる。そして、偏差量学習値ＤＥＶ［ｉ］にシフト補正量ＳＦＴを加えた和を偏差量ＤＥＶの値として演算するとともに、その偏差量ＤＥＶを第２吸気量ＭＣ２に加えた和を、脈動大判定時の吸気量演算値ＭＣとして設定する補正後第２吸気量ＭＣ３の値として求めている。そのため、偏差量学習値ＤＥＶ［ｉ］の学習時と吸気量演算値ＭＣへの同偏差量学習値ＤＥＶ［ｉ］の反映時とでエンジン１００の運転状態や環境条件が異なっていても、脈動大判定時に適切に吸気量を演算することが可能となる。そしてその結果、偏差量学習値ＤＥＶ［ｉ］の学習を実施するエンジン１００の運転状態や環境条件の範囲を拡大できるようになり、学習の実施機会を増加することが、ひいては学習を完了するまでに要する時間を短縮することが可能となる。
【００６５】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態では、エンジン回転数ＮＥにより区分けされた複数の偏差量学習領域毎に偏差量学習値ＤＥＶ［ｉ］をそれぞれ個別に学習していたが、偏差量学習領域の区分けを行わずに、エンジンの運転領域全体で単独の偏差量学習値を学習するようにしてもよい。
【００６６】
・上記実施形態では、排気再循環機構及び可変動弁機構３５の制御状態に応じてシフト補正量ＳＦＴの演算マップを切り替えるようにしていたが、これ以外の態様で排気再循環機構及び可変動弁機構３５の制御状態をシフト補正量ＳＦＴに反映するようにしてもよい。例えばエンジン回転数ＮＥ、吸気管圧力ＰＭ、大気圧ＰＡ、排気再循環量又はＥＧＲバルブ３４の開度、及び吸気弁２３のバルブタイミング進角量を引値とし、シフト補正量ＳＦＴを返値とする単一の演算マップを用いてシフト補正量ＳＦＴを演算することも可能である。
【００６７】
・上記実施形態では、排気再循環機構の制御状態と可変動弁機構の制御状態との２つの制御状態を、シフト補正量ＳＦＴの演算に用いる間接吸気可変機構の制御状態として採用していた。排気再循環機構及び可変動弁機構のうちのいずれか一方がエンジンに設けられていない場合や、それらのうちのいずれか一方がスロットル開度ＴＡに連動して制御されている場合などには、排気再循環機構及び可変動弁機構のいずれか一方の制御状態のみを、シフト補正量ＳＦＴの演算に用いる間接吸気可変機構の制御状態とするようにしてもよい。また、それら以外にも、スロットル開度ＴＡとは非連動に制御されて吸気量に変化を生じさせる機構がエンジンに設けられている場合には、その機構の制御状態を、シフト補正量ＳＦＴの演算に用いる間接吸気可変機構の制御状態として採用するようにしてもよい。排気再循環機構及び可変動弁機構以外の間接吸気可変機構としては、例えば次のものがある。
【００６８】
可変動弁機構の一種に、吸気弁２３のバルブリフト量を可変とする機構（リフト量可変機構）がある。こうしたリフト量可変機構がスロットル開度ＴＡとは非連動に制御される場合には、エンジン回転数ＮＥ及び吸気管圧力ＰＭと偏差量ＤＥＶとの関係がリフト量可変機構の制御状態（吸気弁２３のバルブリフト量）に応じて変化する。こうした場合のリフト量可変機構は、エンジンに設けられた機構であってスロットル開度ＴＡとは非連動に制御されてエンジンの吸気量に変化を生じさせる間接吸気可変機構に該当する。そうした場合、シフト補正量ＳＦＴの演算に際して参照する間接吸気可変機構の制御状態の一つとしてリフト量可変機構の制御状態を用いるようにするとよい。
【００６９】
複数のターボチャージャを備えるエンジンにおいて、稼働するターボチャージャの数を変更する可変過給機構が設けられたものがある。こうした過変過給機構がスロットル開度ＴＡとは非連動に制御される場合には、エンジン回転数ＮＥ及び吸気管圧力ＰＭと偏差量ＤＥＶとの関係が可変過給機構の制御状態（ターボチャージャの稼働数）に応じて変化する。こうした場合の可変過給機構は、エンジンに設けられた機構であってスロットル開度ＴＡとは非連動に制御されてエンジンの吸気量に変化を生じさせる間接吸気可変機構に該当する。そうした場合、シフト補正量ＳＦＴの演算に際して参照する間接吸気可変機構の制御状態の一つとして可変過給機構の制御状態を用いるようにするとよい。
【００７０】
吸気ポート１８内に燃料を噴射するポート噴射弁と燃焼室１９内に燃料を噴射する筒内噴射弁との２種の燃料噴射弁を備えており、エンジンの運転状況に応じて燃料を噴射する燃料噴射弁を切り替える噴射切替機構を備えるエンジンがある。こうしたエンジンでは、筒内噴射弁による燃料噴射が行われる場合には、噴射した燃料の気化熱で燃焼室１９内が冷却されて、燃焼室１９内に導入された吸気の密度が高まることから、ポート噴射弁のみにより燃料噴射が行われる場合よりも吸気量、すなわち燃焼室１９内に導入される吸気の質量が増加する。こうした噴射切替機構がスロットル開度ＴＡとは非連動に制御される場合には、エンジン回転数ＮＥ及び吸気管圧力ＰＭと偏差量ＤＥＶとの関係が噴射切替機構の制御状態（燃料噴射を行う燃料噴射弁の切替）に応じて変化する。こうした場合の噴射切替機構は、エンジンに設けられた機構であってスロットル開度ＴＡとは非連動に制御されてエンジンの吸気量に変化を生じさせる間接吸気可変機構に該当する。そうした場合、シフト補正量ＳＦＴの演算に際して参照する間接吸気可変機構の制御状態の一つとして噴射切替機構の制御状態を用いるようにするとよい。
【００７１】
・大気圧ＰＡの代わりに、或いは大気圧ＰＡに加えて、大気圧ＰＡ以外のエンジンの環境条件の状態量に基づいてシフト補正量ＳＦＴを演算するようにしてもよい。そうした状態量としては、例えばサージタンク圧、過給エンジンにおける過給圧などの圧力状態量や、吸気温度ＴＨＡ、外気温、エンジン水温、エンジン油温、吸気ポート１８の壁面温度などの温度状態量がある。
【００７２】
・環境条件が偏差量に与える影響が小さい場合には、環境条件の状態量を用いずに、エンジン回転数ＮＥ、吸気管圧力ＰＭ、及び間接吸気可変機構の制御状態に基づいてシフト補正量ＳＦＴを演算するようにしてもよい。
【００７３】
・吸気管圧力ＰＭの代わりに第２吸気量ＭＣ２を用いてシフト補正量ＳＦＴを演算するようにしてもよい。
・上記実施形態では、第２吸気量演算処理Ｐ５における第２吸気量ＭＣ２の演算を、スロットル開度ＴＡ及びエンジン回転数ＮＥに基づく吸気流量の推定値を用いた、いわゆるスロットルスピード方式により行っていた。こうした第２吸気量ＭＣ２の演算を、吸気管圧力ＰＭ及びエンジン回転数ＮＥの検出結果に基づく吸気流量の推定値を用いた、いわゆるスピードデンシティ方式により行うようにしてもよい。
【００７４】
（第２実施形態）
続いてエンジン制御装置の第２実施形態を、図１５〜図２０を併せ参照して説明する。本実施形態にあって、上記実施形態と共通する構成については、同一の符号を付してその詳細な説明は省略する。
【００７５】
本実施形態のエンジン制御装置も、排気再循環機構と可変動弁機構３５とを間接吸気可変機構として備えるエンジン１００に適用されている。なお、可変動弁機構３５の具体的な構成は、下記の通りである。
【００７６】
可変動弁機構３５は、エンジン１００のクランクシャフトに対する吸気カムシャフトの相対回転位相を変更することで、吸気弁２３のバルブタイミングを可変とする機構として構成されている。より詳細には、可変動弁機構３５は、クランクシャフトと同期回転するケースと、そのケース内に相対回動可能に収容されて吸気カムシャフトと同期回転するベーンロータと、を備えている。ケース内には、ベーンロータのベーンを収容する収容室が設けられており、収容室の内部はベーンによって進角油圧室と遅角油圧室とに区画されている。そして、進角油圧室及び遅角油圧室の油圧を制御することで、ケースに対するベーンロータの相対回転位相を変更することで、クランクシャフトに対する吸気カムシャフトの相対回転位相が、ひいては吸気弁２３のバルブタイミングが変更されるようになっている。
【００７７】
なお、可変動弁機構３５の作動油としては、エンジン１００の潤滑油が用いられている。また、可変動弁機構３５には、油圧が不足するエンジン１００の始動直後などに、ケースに対するベーンロータの相対回動を既定の中間ロック位相にロックするロック機構が設けられている。ロック機構による上記相対回動のロックは、可変動弁機構３５への油圧供給により解除される。そして、そうしたロックの解除に応じて中間ロック位相よりも吸気弁２３のバルブタイミングを進角させる側、及び遅角させる側の双方への上記相対回転位相の変更が許容されるようになっている。
【００７８】
続いて、本実施形態のエンジン制御装置によるエンジン１００の間接吸気可変機構の制御について説明する。以下の説明では、可変動弁機構３５の作動油でもあるエンジン１００の潤滑油の温度をエンジン油温ＴＨＯと記載する。図１５に示すように、本実施形態のエンジン制御装置では、エンジン水温ＴＨＷやエンジン油温ＴＨＯ、アクセルペダルの踏込みによる運転者の加速要求の有無により、間接吸気可変機構である排気再循環機構、及び可変動弁機構３５の制御内容が切り替えられている。
【００７９】
エンジン水温ＴＨＷが既定のＥＧＲ開始温度Ｔａ未満の場合の可変動弁機構３５では、ロック機構をロックした状態に保持するＶＴロック制御が実施される。また、この場合の排気再循環機構では、ＥＧＲバルブ３４を完全に閉じて排気の再循環を停止するＥＧＲ停止制御が実施される。
【００８０】
なお、エンジン油温ＴＨＯが一定の限度を超えて高まると、作動油の粘度低下により、可変動弁機構３５への供給油圧が、ロック機構のロック解除の維持に必要な値を下回ってしまう場合がある。そうした場合、ケースに対するベーンロータの相対回転位相の変更中にロック機構が不用意に作動して、吸気弁２３のバルブタイミングが変更できない状態となることがある。そしてその結果、吸気弁２３のバルブタイミングが、排気再循環機構の制御等の他のエンジン制御と整合しなくなり、エンジン１００の燃焼状態やエミッション等の悪化を招くことがある。そのため、高油温時には、可変動弁機構３５のＶＴロック制御を実施するとともに、排気再循環機構のＥＧＲ停止制御を実施して、意図せぬロック機構の作動による燃焼状態やエミッションの悪化を予防している。
【００８１】
加速要求が無く、エンジン水温ＴＨＷがＥＧＲ開始温度Ｔａ以上、かつ同エンジン水温ＴＨＷが既定の暖機完了温度Ｔｂ未満の場合の可変動弁機構３５では、ＶＴ通常制御が実施される。また、この場合の排気再循環機構では、低水温ＥＧＲ制御が実施される。なお、暖機完了温度Ｔｂには、エンジン１００の暖機が完了したことを示すエンジン水温ＴＨＷが値として設定されている。
【００８２】
ＶＴ通常制御では、エンジン回転数ＮＥ及びエンジン負荷ＫＬに基づき決定された目標バルブタイミングに、吸気弁２３のバルブタイミングを調整すべく可変動弁機構３５の駆動制御が行われる。ＶＴ通常制御での目標バルブタイミングは、基本的には、エンジン１００の燃費性能が高くなるタイミングに設定される。例えば、吸気弁２３の閉弁時期を吸気下死点よりも遅くしてアトキンソンサイクルを実現するバルブタイミングが、ＶＴ通常制御時の目標バルブタイミングとして設定される。
【００８３】
また、低水温ＥＧＲ制御ではまず、エンジン回転数ＮＥ及びエンジン負荷ＫＬに基づきＥＧＲ率の目標値である目標ＥＧＲ率が決定される。なお、ＥＧＲ率は、燃焼室１９内に導入される新気の量と再循環排気の量との合計に対する同再循環排気の量の比率を示している。続いて、目標ＥＧＲ率の実現に必要なＥＧＲバルブ３４の目標開度が求められ、その目標開度が得られるようにＥＧＲバルブ３４の開度制御が行われる。なお、低水温ＥＧＲ制御での目標ＥＧＲ率は、暖機完了前の低水温の条件下でも良好な燃焼を維持可能な範囲の限られた量の排気再循環が行われるように設定されている。
【００８４】
一方、加速要求が無く、エンジン水温ＴＨＷが暖機完了温度Ｔｂ以上の場合の可変動弁機構３５では、上記ＶＴ通常制御が行われる。これに対してこの場合の排気再循環機構では、高水温ＥＧＲ制御が実施される。高水温ＥＧＲ制御でも、低水温ＥＧＲ制御の場合と同様に、エンジン回転数ＮＥやエンジン負荷ＫＬに基づいて目標ＥＧＲ率が決定され、その目標ＥＧＲ率を実現すべくＥＧＲバルブ３４の開度制御が行われる。ただし、高水温ＥＧＲ制御では、暖機完了後の燃焼状態が改善された条件下で燃焼が悪化しない範囲で大量の排気再循環を行うべく目標ＥＧＲ率が設定される。
【００８５】
さらに、加速要求が有り、かつエンジン水温ＴＨＷがＥＧＲ開始温度Ｔａ以上の場合の可変動弁機構３５ではＶＴ進角制御が実施される。また、この場合の排気再循環機構では、排気の再循環を止めて、その分多くの吸気を燃焼室１９に充填するため、ＥＧＲ停止制御が実施される。ＶＴ進角制御でも、ＶＴ通常制御と同様に、エンジン回転数ＮＥ及びエンジン負荷ＫＬに基づき決定された目標バルブタイミングに吸気弁２３のバルブタイミングを調整すべく可変動弁機構３５の駆動制御が行われる。ただし、ＶＴ進角制御では、燃費性能の向上よりも出力性能の向上を優先した目標バルブタイミングの設定が行われる。上述のアトキンソンサイクルの実現時には、吸気下死点以降の吸気弁２３の開弁期間に、それまでに燃焼室１９に導入された吸気の一部が吸気通路１１に押し戻されるため、その分、燃焼室１９の吸気の充填率が低くなる。そのため、ＶＴ進角制御では、ＶＴ通常制御の場合よりも進角側のタイミングを目標バルブタイミングとして設定して、吸気下死点以降の吸気弁２３の開弁期間を減らすことで、燃焼室１９の吸気の充填率を高めている。
【００８６】
ところで、吸気弁２３のバルブタイミングを進角して吸排気弁のバルブオーバーラップ量を大きくすると、排気通路から燃焼室１９に吹き戻される排気、すなわち内部ＥＧＲが増加する。そのため、燃焼室１９内やその周辺部の温度が低い冷間運転時に、吸気弁２３のバルブタイミングを進角し過ぎると、燃焼が悪化してしまう。これに対して本実施形態では、エンジン１００の冷間運転時に吸気弁２３のバルブタイミングの進角を制限する進角制限制御を行っている。進角制限制御に際してはまず、エンジン始動時のエンジン油温ＴＨＯである始動時油温とエンジン水温ＴＨＷとに基づき、進角制限量ＡＤＲＳＴが求められる。続いて、可変動弁機構３５による吸気弁２３のバルブタイミングの変更範囲における進角側の限界値から進角制限量ＡＤＲＳＴの値の分遅角したバルブタイミングを最大進角タイミングの値として設定する。そして、ＶＴ通常制御やＶＴ進角制御に際しては、最大進角タイミングよりも進角側の値とならないように目標バルブタイミングの進角ガードを行っている。
【００８７】
図１６に、エンジン水温ＴＨＷ、及び始動時油温と、進角制限量ＡＤＲＳＴと、の関係を示す。同図における「ＭＡＸ」は、進角制限量ＡＤＲＳＴが取りうる最大の値である最大制限量を示している。同図に示すように、エンジン水温ＴＨＷが温度Ｔ１未満の場合には、始動時油温に関わらず、進角制限量ＡＤＲＳＴの値として最大制限量ＭＡＸが設定される。一方、エンジン水温ＴＨＷが温度Ｔ２以上の場合には、始動時油温に関わらず、進角制限量ＡＤＲＳＴの値として「０」が設定される。そして、エンジン水温ＴＨＷが温度Ｔ１以上、かつ温度Ｔ２未満の場合には、エンジン水温ＴＨＷが温度Ｔ１のときの値「ＭＡＸ」から温度Ｔ２のときの値「０」へと、エンジン水温ＴＨＷの上昇とともに減少していく値として進角制限量ＡＤＲＳＴが設定される。さらに、この場合において始動時油温が高いときには、進角制限量ＡＤＲＳＴの値が０まで減少するエンジン水温ＴＨＷが、始動時油温が低いときよりも低い温度となっている。なお、通常ＶＴ制御では、最大制限量ＭＡＸが進角制限量ＡＤＲＳＴとして設定されている場合にも、進角ガードが適用されない程度の遅角側のタイミングが目標バルブタイミングとして設定される。そのため、進角制限制御により目標バルブタイミングの進角ガードが実際に適用されるのは、進角ＶＴ制御の実施時に限られる。
【００８８】
こうした本実施形態のエンジン制御装置でも、吸気量演算処理Ｐ１の基本的な流れは、上述の前提構成及び第１実施形態の場合と同様となっている。すなわち、第１吸気量演算処理Ｐ４においてエアフローメータ１３の吸気流量の検出値を用いたマスフロー方式により第１吸気量ＭＣ１を演算するとともに、第２吸気量演算処理Ｐ５においてスロットル開度ＴＡ及びエンジン回転数ＮＥに基づく吸気流量の推定値を用いたスロットルスピード方式により第２吸気量ＭＣ２を演算する。また、判定処理Ｐ６において吸気通路１１内の吸気脈動が大きい状態にあるか否かを判定するとともに、偏差量演算処理Ｐ７において判定処理Ｐ６による脈動小判定時に第１吸気量ＭＣ１に対する第２吸気量ＭＣ２の偏差量ＤＥＶを演算する。そして、演算方式切替処理Ｐ８において、脈動小判定時には第１吸気量ＭＣ１を吸気量演算値ＭＣとして、脈動大判定時には第２吸気量ＭＣ２に偏差量ＤＥＶを加えた和である補正後第２吸気量ＭＣ３を吸気量演算値ＭＣとして設定することで、吸気量演算処理Ｐ１を行っている。
【００８９】
また、本実施形態のエンジン制御装置においても、第１実施形態と同様に、偏差量演算処理Ｐ７において、エンジン回転数ＮＥに応じて区分けされた複数の偏差量学習領域毎に偏差量学習値ＤＥＶ［ｉ］の学習を行っている。本実施形態においても、第１実施形態の場合と同様に、偏差量学習値ＤＥＶ［ｉ］の学習は、第１吸気量ＭＣ１に対する第２吸気量ＭＣ２のずれ量ＤＩに基づき行われており、かつずれ量ＤＩの算出に際してシフト補正量ＳＦＴによる補正が行われている。さらに本実施形態でも、シフト補正量ＳＦＴを現学習領域の偏差量学習値ＤＥＶ［ｉ］に加えた和を偏差量ＤＥＶの値として求めるとともに、第２吸気量ＭＣ２にその偏差量ＤＥＶを加えた和を補正後第２吸気量ＭＣ３の値として演算している。
【００９０】
ただし、本実施形態のエンジン制御装置では、第１実施形態の場合とは異なる態様でシフト補正量ＳＦＴの演算を行っている。以下、本実施形態のエンジン制御装置がシフト補正量ＳＦＴの演算に係る処理について説明する。
【００９１】
図１７に、本実施形態のエンジン制御装置におけるシフト補正量演算処理Ｐ２０Ａの処理の流れを示す。シフト補正量演算処理Ｐ２０Ａでは、エンジン１００の間接吸気可変機構の制御状態を判定する制御状態判定処理Ｐ３０と、各々が特定の制御状態に対応したシフト補正量ＳＦＴの演算を行う４つの演算処理（Ｐ３１〜Ｐ３４）と、を通じてシフト補正量ＳＦＴの演算が行われる。
【００９２】
なお、上述した間接吸気可変機構の制御では、吸気量演算値ＭＣから求められた燃焼室１９の吸気充填率をエンジン負荷ＫＬとして用いている。吸気量演算値ＭＣの演算過程で実施されるシフト補正量演算処理Ｐ２０Ａでは、吸気量演算値ＭＣから求めた吸気充填率をエンジン負荷ＫＬとして用いることはできない。そのため、シフト補正量演算処理Ｐ２０Ａでは、エンジン負荷ＫＬとして第２吸気量ＭＣ２から求められた燃焼室１９の吸気充填率を用いている。なお、吸気充填率は、燃焼室１９の吸気量に比例した値となる。よって、シフト補正量演算処理Ｐ２０Ａでは、第２吸気量ＭＣ２を用いてシフト補正量ＳＦＴを演算していることになる。
【００９３】
本実施形態のエンジン制御装置における間接吸気可変機構の制御状態は大きくは、次の４つの制御状態に分けられる。すなわち、第１の制御状態は、可変動弁機構３５においてＶＴロック制御が行われており、かつ排気再循環機構においてＥＧＲ停止制御が行われている状態である。第２の制御状態は、可変動弁機構３５においてＶＴ通常制御が行われており、かつ排気再循環機構において高水温ＥＧＲ制御が行われている状態である。第３の制御状態は、可変動弁機構３５においてＶＴ通常制御が行われており、かつ排気再循環機構において低水温ＥＧＲ制御が行われている状態である。第４の制御状態は、可変動弁機構３５においてＶＴ進角制御が行われており、かつ排気再循環機構においてＥＧＲ停止制御が行われている状態である。上述の４つの演算処理（Ｐ３１〜Ｐ３４）は、上記４つの制御状態にそれぞれ対応したシフト補正量ＳＦＴの演算を行う処理となっている。すなわち、第１演算処理Ｐ３１は上記第１の制御状態に、第２演算処理Ｐ３２は上記第２の制御状態に、第３演算処理Ｐ３３は上記第３の制御状態に、第４演算処理Ｐ３４は上記第４の制御状態に、それぞれ対応したシフト補正量ＳＦＴの演算を行う処理となっている。シフト補正量演算処理Ｐ２０Ａでは、シフト補正量ＳＦＴの演算周期毎に、制御状態判定処理Ｐ３０により現在のエンジン１００での間接吸気可変機構の制御状態が第１〜第４のいずれの制御状態にあるかを判定している。そして、その判定結果に応じて、今回の演算周期でのシフト補正量ＳＦＴの演算に用いる演算処理を切り替えている。
【００９４】
第１演算処理Ｐ３１では、ＶＴロック時用の演算マップＭ３０を用いてシフト補正量ＳＦＴの値が演算される。演算マップＭ３０には、ＶＴロック制御及びＥＧＲ停止制御の双方が実行された状態の標準機体におけるエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡと、偏差量ＤＥＶとの関係が予め記憶されている。そして、第１演算処理Ｐ３１では、現在のエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡにおける演算マップＭ３０での標準機体の偏差量ＤＥＶの値がシフト補正量ＳＦＴの値として演算される。
【００９５】
第３演算処理Ｐ３３では、低水温ＥＧＲ制御時用の演算マップＭ３３を用いてシフト補正量ＳＦＴの値が演算される。演算マップＭ３３には、ＶＴ通常制御及び低水温ＥＧＲ制御の双方が実行された状態の標準機体におけるエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡと、偏差量ＤＥＶとの関係が予め記憶されている。そして、第３演算処理Ｐ３３では、現在のエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡにおける演算マップＭ３３での標準機体の偏差量ＤＥＶの値がシフト補正量ＳＦＴの値として演算される。なお、演算マップＭ３３は、低水温ＥＧＲ制御での目標ＥＧＲ率とＥＧＲ率の実値とが一致した状態にあることを前提に設定されている。
【００９６】
このように、第１演算処理Ｐ３１、及び第３演算処理Ｐ３３ではそれぞれ、単一の演算マップＭ３１、Ｍ３３を用いてシフト補正量ＳＦＴを演算している。これに対して、第２演算処理Ｐ３２及び第４演算処理Ｐ３４では、それぞれ２つの演算マップを用いてシフト補正量ＳＦＴの演算が行われている。
【００９７】
図１８には、第２演算処理Ｐ３２におけるシフト補正量ＳＦＴの演算に係る処理の流れが示されている。第２演算処理Ｐ３２でのシフト補正量ＳＦＴの演算には、ＥＧＲオン時用の演算マップＭ３１と、ＥＧＲオフ時用の演算マップＭ３２と、の２つの演算マップが用いられる。ＥＧＲオン時用の演算マップＭ３１には、ＶＴ通常制御及び高水温ＥＧＲ制御の双方が実行された状態の標準機体におけるエンジン回転数ＮＥ、エンジン負荷ＫＬ及び大気圧ＰＡと、偏差量ＤＥＶと、の関係が予め記憶されている。一方、ＥＧＲオフ時用の演算マップＭ３２には、排気再循環を停止、かつＶＴ通常制御を実施した状態の標準機体におけるエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡと、偏差量ＤＥＶとの関係が予め記憶されている。なお、演算マップＭ３１は、高水温ＥＧＲ制御での目標ＥＧＲ率とＥＧＲ率の実値とが一致した状態にあることを前提に設定されている。
【００９８】
第２演算処理Ｐ３２では、現在のエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡにおける演算マップＭ３１での標準機体の偏差量ＤＥＶの値がシフト補正量の第１マップ値ＳＦＴ１の値として求められる。また、第２演算処理Ｐ３２では、現在のエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡにおける演算マップＭ３２での標準機体の偏差量ＤＥＶの値がシフト補正量の第２マップ値ＳＦＴ２の値として求められる。そして、第２演算処理Ｐ３２では、式（３）の関係を満たす値がシフト補正量ＳＦＴの値として演算される。なお、式（３）における「ＥＧＲＲ」は、補間係数であり、その値は、現在のエンジン回転数ＮＥ及びエンジン負荷ＫＬにおける高水温ＥＧＲ制御の目標ＥＧＲ率に対するＥＧＲ率の現在値の比を表している。ちなみに、本実施形態では、上記目標ＥＧＲ率に対するＥＧＲ率の現在値の比に対して、「０」を下限値とする下限ガード処理、及び「１」を上限値とする上限ガード処理を施した値を補間係数ＥＧＲＲの値として用いている。
【００９９】
【数３】
2020063738.tif 000005
図１９には、第４演算処理Ｐ３４におけるシフト補正量ＳＦＴの演算に係る処理の流れが示されている。第４演算処理Ｐ３４でのシフト補正量ＳＦＴの演算には、ゼロ制限時用の演算マップＭ３４と、最大制限時用の演算マップＭ３５と、の２つの演算マップが用いられる。ゼロ制限時用の演算マップＭ３４には、ＥＧＲ停止制御が実行され、かつ進角制限量ＡＤＲＳＴの値として「０」が設定された条件のもとでＶＴ進角制御が実行された状態の標準機体におけるエンジン回転数ＮＥ、エンジン負荷ＫＬ及び大気圧ＰＡと、偏差量ＤＥＶと、の関係が予め記憶されている。一方、最大制限時用の演算マップＭ３５には、ＥＧＲ停止制御が実行され、かつ進角制限量ＡＤＲＳＴの値として最大制限量ＭＡＸが設定された条件のもとでＶＴ進角制御が実行された状態の標準機体におけるエンジン回転数ＮＥ、エンジン負荷ＫＬ及び大気圧ＰＡと、偏差量ＤＥＶと、の関係が予め記憶されている。そして、第４演算処理Ｐ３４では、現在のエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡにおける演算マップＭ３４での標準機体の偏差量ＤＥＶの値がシフト補正量の第３マップ値ＳＦＴ３の値として求められる。また、第４演算処理Ｐ３４では、現在のエンジン回転数ＮＥ、エンジン負荷ＫＬ、及び大気圧ＰＡにおける演算マップＭ３５での標準機体の偏差量ＤＥＶの値がシフト補正量の第４マップ値ＳＦＴ４の値として求められる。
【０１００】
さらに第４演算処理Ｐ３４では、エンジン水温ＴＨＷに基づき、演算マップＭ３６を用いて補間係数ＫＲＳＴの値が演算されている。そして、第４演算処理Ｐ３４では、式（４）の関係を満たす値がシフト補正量ＳＦＴの値として演算される。
【０１０１】
【数４】
2020063738.tif 000006
図２０には、演算マップＭ３６におけるエンジン水温ＴＨＷと補間係数ＫＲＳＴの値との関係が示されている。下記のように演算マップＭ３６は、図１６に示したエンジン水温ＴＨＷと進角制限量ＡＤＲＳＴとの関係を反映するかたちで設定されている。上述のように進角制限量ＡＤＲＳＴは、エンジン水温ＴＨＷと始動時油温とに基づき設定されており、進角制限量ＡＤＲＳＴの値がエンジン水温ＴＨＷだけでは一義に定まらない場合がある。ここで、エンジン水温ＴＨＷが「ｔ」のときに進角制限量ＡＤＲＳＴが取り得る最大の値を「Ｙ［ｔ］」とし、エンジン水温ＴＨＷが「ｔ」のときの補間係数ＫＲＳＴの値を「ＫＲＳＴ［ｔ］」とする。演算マップＭ３６には、このときのＹ［ｔ］を最大制限量ＭＡＸで割った商を、１から引いた差（＝１−Ｔ［ｔ］／ＭＡＸ）が補間係数ＫＲＳＴ［ｔ］の値として設定されている。よって、エンジン水温ＴＨＷが温度Ｔ１未満であって進角制限量ＡＤＲＳＴの値として最大制限量ＭＡＸが設定される場合には「０」が補間係数ＫＲＳＴの値として設定される。また、エンジン水温ＴＨＷが温度Ｔ２以上であって進角制限量ＡＤＲＳＴの値として「０」が設定される場合には「１」が補間係数ＫＲＳＴの値として設定される。そして、エンジン水温ＴＨＷが温度Ｔ１以上、かつ温度Ｔ２未満の場合の補間係数ＫＲＳＴは、エンジン水温ＴＨＷが温度Ｔ１のときの値「０」から温度Ｔ２のときの値「１」へと、エンジン水温ＴＨＷの上昇とともに増加していく値として設定される。
【０１０２】
以上のように構成された本実施形態の作用を説明する。
上述のように、マスフロー方式により演算された第１吸気量ＭＣ１とスロットルスピード方式により演算された第２吸気量ＭＣ２との偏差量ＤＥＶは、エンジン１００の運転状態により変化する。また、スロットル開度ＴＡとは非連動に制御されて吸気量に変化を生じさせる間接吸気可変機構である排気再循環機構や可変動弁機構３５の制御状態によっても偏差量ＤＥＶは変化する。そのため、本実施形態では、間接吸気可変機構の制御状態に応じてシフト補正量ＳＦＴの演算処理を切り替えている。
【０１０３】
なお、高水温ＥＧＲ制御、及び低水温ＥＧＲ制御の実施時には、エンジン１００の運転状態に応じて設定された目標ＥＧＲ率を実現すべく、排気再循環機構の制御が行われる。こうした高水温ＥＧＲ制御時、及び低水温ＥＧＲ制御時のシフト補正量ＳＦＴの演算に用いられる演算マップＭ３１、Ｍ３３は、目標ＥＧＲ率とＥＧＲ率の実値とが一致した状態にあることを前提として設定されている。
【０１０４】
しかしながら、目標ＥＧＲ率の値が大きく変更された直後には、目標ＥＧＲ率とＥＧＲ率の実値とが乖離することがある。また、排気浄化用の触媒の温度が一定の限度を超える高い温度となった場合には、燃料噴射量を増量して燃料の気化熱による排気冷却を促進することで触媒の温度上昇を抑えている。こうした触媒冷却のための燃料噴射量の増量時には、燃料噴射量の空燃比フィードバックが停止される。空燃比フィードバックの停止中には、排気再循環の影響で燃焼状態が悪化して空燃比が目標から大きく逸脱してもその逸脱を補償できないため、排気再循環を停止している。このような臨機の要求によりＥＧＲ率が変更された場合にも、目標ＥＧＲ率とＥＧＲ率の実値とが乖離する。このような目標ＥＧＲ率とＥＧＲ率の実値との乖離が生じた状態では、演算マップＭ３１、Ｍ３３によるシフト補正量ＳＦＴの演算値も適正な値からずれてしまう。排気再循環の量が少ない低水温ＥＧＲ制御時には、目標ＥＧＲ率とＥＧＲ率の実値とが乖離してもその絶対量が小さいため、シフト補正量ＳＦＴのずれは許容可能な範囲に留まる。これに対して多量の排気再循環が行われる高水温ＥＧＲ制御時には、そうしたＥＧＲ率の乖離により生じるシフト補正量ＳＦＴのずれは許容可能な範囲を超える虞がある。
【０１０５】
これに対して高水温ＥＧＲ制御時のシフト補正量ＳＦＴの演算を行う第２演算処理Ｐ３２では、ＥＧＲオン時用の演算マップＭ３１より、ＥＧＲ率が高水温制御での目標ＥＧＲ率となった状態にあるときのシフト補正量ＳＦＴの値を第１マップ値ＳＦＴ１の値として求めている。また、ＥＧＲオフ時用の演算マップＭ３２より、排気再循環を停止した状態にあるときの、すなわちＥＧＲ率が「０」のときのシフト補正量ＳＦＴの値を第２マップ値ＳＦＴ２の値として求めている。そして、ＥＧＲ率についての第１マップ値ＳＦＴ１及び第２マップ値ＳＦＴ２の線形補間により、ＥＧＲ率の現在値に対応するシフト補正量ＳＦＴの値を求めている。そのため、高水温制御中に、目標ＥＧＲ率とＥＧＲ率の現在値とが一時的に乖離した状態となった場合にも、ＥＧＲ率の現在値に対応した適切な値がシフト補正量ＳＦＴの値として演算される。
【０１０６】
一方、進角ＶＴ制御時及び通常ＶＴ制御時には、エンジン１００の運転状態に応じて設定された目標バルブタイミングを実現すべく、可変動弁機構３５の制御が行われる。ただし、進角ＶＴ制御時には、進角制限制御により、目標バルブタイミングが当初の値よりも遅角側の値に変更されることがあり、その結果、第１吸気量ＭＣ１と第２吸気量ＭＣ２との偏差量ＤＥＶに変化が生じることがある。
【０１０７】
これに対して進角ＶＴ制御時のシフト補正量ＳＦＴの演算を行う第４演算処理Ｐ３４では、ゼロ制限時用の演算マップＭ３４より、進角制限制御での進角制限量ＡＤＲＳＴが「０」の状態にあるときのシフト補正量ＳＦＴの値を第３マップ値ＳＦＴ３の値として求めている。また、最大制限時用の演算マップＭ３５より、進角制限量ＡＤＲＳＴが最大制限量ＭＡＸの状態にあるときのシフト補正量ＳＦＴの値を第４マップ値ＳＦＴ４の値として求めている。さらに第４演算処理Ｐ３４では、エンジン水温ＴＨＷに応じて設定された補間係数ＫＲＳＴに応じた第３マップ値ＳＦＴ３と第４マップ値ＳＦＴ４との補間により、現在の進角制限量ＡＤＲＳＴに対応するシフト補正量ＳＦＴの値を求めている。そのため、進角制限制御により目標バルブタイミングが本来の値よりも遅角側の値に変更されている場合にも、現状の目標バルブタイミングに応じた適切な値がシフト補正量ＳＦＴの値として演算される。
【０１０８】
本実施形態のエンジン制御装置によれば、次の効果を奏することができる。
（１）排気再循環機構の目標ＥＧＲ率とＥＧＲ率の現在値とが乖離した状態にあるときも、ＥＧＲ率の現在値に対応した適切な値をシフト補正量ＳＦＴの値として演算できる。
【０１０９】
（２）可変動弁機構３５の目標バルブタイミングが進角制限制御により本来の値よりも遅角側の値に変更された場合にも、変更された目標バルブタイミングに対応した適切な値をシフト補正量ＳＦＴの値として演算できる。
【０１１０】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・上記実施形態のシフト補正量演算処理Ｐ２０Ａでは、エンジン１００の運転状態を示すパラメータとして、第２吸気量ＭＣ２から求めたエンジン負荷ＫＬと、エンジン回転数ＮＥと、を用いていたが、第１実施形態と同様に、吸気管圧力ＰＭとエンジン回転数ＮＥとをエンジン１００の運転状態を示すパラメータとして用いるようにしてもよい。
【０１１１】
・上記実施形態では、第２演算処理Ｐ３２でのシフト補正量ＳＦＴの演算に用いる補間係数ＥＧＲＲとして、目標ＥＧＲ率に対するＥＧＲ率の現在値の比を用いていたが、ＥＧＲバルブ３４の目標開度に対する同開度の現在値の比や排気再循環量の目標値に対する同排気循環量の現在値の比を、補間係数ＥＧＲＲの値として用いるようにしてもよい。
【０１１２】
・上記実施形態では、進角制限制御での進角制限量ＡＤＲＳＴを、エンジン水温ＴＨＷと始動時油温とに基づいて演算していた。これに対して第４演算処理Ｐ３４でのシフト補正量ＳＦＴの演算に用いる補間係数ＫＲＳＴは、エンジン水温ＴＨＷのみに基づいて演算している。より精密なシフト補正量ＳＦＴの演算が求められる場合には、進角制限量ＡＤＲＳＴと同様に補間係数ＫＲＳＴも、エンジン水温ＴＨＷと始動時油温とに基づいて演算するとよい。
【０１１３】
・進角制限量ＡＤＲＳＴの演算を、エンジン水温ＴＨＷのみに基づき行うようにしたり、エンジン油温ＴＨＯ、エンジン始動時のエンジン水温ＴＨＷである始動時水温に基づき行うようにしたり、してもよい。そうした場合の補間係数ＫＲＳＴの演算は、進角制限量ＡＤＲＳＴの演算に用いたパラメータのすべて、又はその一部を用いて行うことになる。
【０１１４】
・大気圧ＰＡの代わりに、或いは大気圧ＰＡに加えて、大気圧ＰＡ以外のエンジンの環境条件の状態量に基づいてシフト補正量ＳＦＴを演算するようにしてもよい。そうした状態量としては、例えばサージタンク圧、過給エンジンにおける過給圧などの圧力状態量や、吸気温度ＴＨＡ、外気温、エンジン水温、エンジン油温、吸気ポート１８の壁面温度などの温度状態量がある。
【０１１５】
・環境条件が偏差量に与える影響が小さい場合には、環境条件の状態量を用いずに、吸気管圧力ＰＭ又は第２吸気量ＭＣ２と、エンジン回転数ＮＥと、間接吸気可変機構の制御状態と、に基づきシフト補正量ＳＦＴを演算するようにしてもよい。
【０１１６】
・上記実施形態では、第２吸気量演算処理Ｐ５における第２吸気量ＭＣ２の演算を、スロットル開度ＴＡ及びエンジン回転数ＮＥに基づく吸気流量の推定値を用いた、いわゆるスロットルスピード方式により行っていた。こうした第２吸気量ＭＣ２の演算を、吸気管圧力ＰＭ及びエンジン回転数ＮＥの検出結果に基づく吸気流量の推定値を用いた、いわゆるスピードデンシティ方式により行うようにしてもよい。
【符号の説明】
【０１１７】
１０，１００…エンジン、１１…吸気通路、１２…エアクリーナ、１３…エアフローメータ、１４…スロットルバルブ、１５…スロットルモータ、１６…スロットルセンサ、１７…吸気マニホールド、１８…吸気ポート、１９…燃焼室、２０…インジェクタ、２１…点火プラグ、２２…クランクシャフト、２３…吸気弁、２４…排気弁、２５…電子制御ユニット（エンジン制御装置）、２６…演算処理回路、２７…メモリ、２８…吸気温度センサ、２９…大気圧センサ、３０…クランク角センサ、３１…排気通路、３２…ＥＧＲ通路、３３…ＥＧＲクーラ、３４…ＥＧＲバルブ（以上、３２〜３４：排気再循環機構、間接吸気可変機構）、３５…可変動弁機構（間接吸気可変機構）、Ｐ１…吸気量演算処理、Ｐ２…噴射量決定処理、Ｐ３…インジェクタ駆動処理、Ｐ４…第１吸気量演算処理、Ｐ５…第２吸気量演算処理、Ｐ６…判定処理、Ｐ７…偏差量演算処理、Ｐ８…演算方式切替処理、Ｐ２０，Ｐ２０Ａ…シフト補正量演算処理。
【図１】
2020063738.tif 000009
【図２】
2020063738.tif 000010
【図３】
2020063738.tif 000011
【図４】
2020063738.tif 000012
【図５】
2020063738.tif 000013
【図６】
2020063738.tif 000014
【図７】
2020063738.tif 000015
【図８】
2020063738.tif 000016
【図９】
2020063738.tif 000017
【図１０】
2020063738.tif 000018
【図１１】
2020063738.tif 000019
【図１２】
2020063738.tif 000020
【図１３】
2020063738.tif 000021
【図１４】
2020063738.tif 000022
【図１５】
2020063738.tif 000023
【図１６】
2020063738.tif 000024
【図１７】
2020063738.tif 000025
【図１８】
2020063738.tif 000026
【図１９】
2020063738.tif 000027
【図２０】
2020063738.tif 000028