次に、本発明の実施形態について図面を参照して詳細に説明する。本発明は以下の実施形態に限定されることなく、本発明の技術的な概念の中で種々の変形例や応用例をもその範囲に含むものである。
(一実施例)
図1は、本発明が適用される車載制御装置が制御するエンジンとその周辺機器の概略構成を示す図である。
図1において、エンジン201には、吸入する空気量を計測する吸入空気量センサ(熱式空気流量計)202、エンジン201の吸入する空気流量を調整するスロットル弁203、自動車等の車両の運転者が操作したアクセルペダルのアクセル開度(アクセル踏込量)を検出するアクセル開度センサ218、スロットル弁203を動作させる電制スロットルモータ204、スロットル弁203の開度を検出するスロットル開度センサ215、及び吸気管205に設置された吸気管205内の圧力を検出する吸気管圧力センサ206が備えられている。
また、エンジン201には、エンジン201の要求する燃料を供給する燃料噴射弁207、エンジン201の回転数を算出するため所定のクランク角度位置に設定された突起を認識するためのクランク角度センサ219、エンジン201の行程を認識するために前述のクランク角度センサ219とは別に、所定のカム角度位置に設定された突起を認識するためのカム角度センサ208が備えられている。
更に、エンジン201には、エンジン201のシリンダ内に供給された燃料の混合気に点火する点火プラグに、車載制御装置217の点火信号に基づいて点火エネルギを供給する点火モジュール209、エンジン201のシリンダブロックに設定されエンジン201の冷却水温を検出する水温センサ210、及びエンジン201の排気管の触媒前に設置され、排気ガス中の酸素濃度に対してリニアな電気的信号を出力する空燃比センサ211が備えられている。また、エンジン201の排気管の触媒前には、排気エネルギを利用して強制的にエンジン201へ空気を送り込むターボチャージャ(過給器)224が備えられている。
また、エンジン201の周辺には、燃料タンク212から蒸発する燃料ガスをチャコール等で吸着保持するキャニスタパージタンク213、キャニスタパージタンク213に吸着保持した燃料ガスを、開度を調整することで吸気管へ流入させるキャニスタパージバルブ214、エンジン201の運転、停止のメインスイッチであるイグニッションキイスイッチ216が備えられている。そして、エンジン201及びその各補器類は、本発明の実施形態に係る車載制御装置217によって制御されている。
図2は車載制御装置217の内部構成を示す図である。図2において、車載制御装置217は、CPU301と、出力信号ドライバ303とを備えている。CPU301の内部には、エンジン201に設置された各センサの電気的信号をデジタル演算処理用の信号に変換、及びデジタル演算用の制御信号を実際のアクチュエータの駆動信号に変換するI/O部302が設けられている。
I/O部302には、水温センサ210、カム角センサ208、空燃比センサ211、吸入空気量センサ(熱式空気流量計)202、スロットル開度センサ215、車速センサ220、イグニッションSW216、吸気管圧力センサ206、大気圧センサ221、吸気温センサ222、負荷SW(エアコンSW)223、アクセル開度センサ218、及びクランク角センサ219の検出信号が入力されている。
CPU301からの出力信号は、出力信号ドライバ303を介して、燃料噴射弁317〜320、点火コイル321〜324、および電制スロットルモータ204へ送られる。なお、出力信号ドライバ303にはI/O部302から制御データが送られてきており、制御データが出力信号ドライバ303にセットされることで出力信号ドライバ303から出力信号が出力されるものである。
そして、図3は、図2に示す車載制御装置217の詳細な制御ブロックを示す図である。以下、各制御ブロックの詳細について説明する。
図3において、ブロック101は、運転操作量検出部のブロックである。一実施例では、運転操作量検出部101は、アクセル開度センサ218からの信号から、運転者のアクセル開度(運転操作量)を計算する。
ブロック102は、エンジン回転数計算部のブロックである。エンジン回転数計算部(作動状態検出部)102は、エンジン201の所定のクランク角度位置に設定されたクランク角度センサ219の電気的な信号、おもにパルス信号変化の単位時間当たりの入力数をカウントし、演算処理することで、エンジンの単位時間当りの回転数(作動状態量)を計算する。
ブロック103は、シリンダ流入空気量計算部(作動状態検出部)103であり、エンジン201の吸気系上流に設定された吸入空気量センサ202からの信号と吸気管205に設定された吸気管圧力センサ206からの信号の入力からシリンダ流入空気量(作動状態量)を計算する。また、シリンダ流入空気量計算部103は、前述のシリンダ流入空気量とエンジン回転数からエンジンの負荷(作動状態量)を計算する。
ブロック104は、基本燃料量計算部のブロックである。基本燃料量計算部104は、前述のブロック102で計算されたエンジン回転数、および前述のブロック103で計算されたエンジン負荷から各運転領域におけるエンジン201の要求する基本燃料量を計算する。
ブロック105は、前述のエンジン回転数、および前述のエンジン負荷からエンジンの各運転領域における最適な基本点火時期を決定する基本点火時期計算部のブロックである。
ブロック106は、エンジン回転数及び水温センサ210のエンジン水温が供給され、エンジン201のアイドリング回転数を一定に保つためにアイドリング時の目標回転数を計算し目標流量を計算するISC制御部のブロックである。
ブロック107は、エンジン201の排気管に設定された空燃比センサ211の出力と、目標空燃比の差分、および前述したエンジン回転数とエンジン負荷から空燃比フィードバック補正係数を計算する空燃比補正係数計算部のブロックである。
ブロック108は、前述したエンジン回転数とエンジン負荷から目標とするエンジンの目標空燃比を決定する目標空燃比計算部のブロックである。
ブロック109は、前述した運転者のアクセル開度とエンジン回転数から運転者が要求している目標トルク(指令値)を計算し、目標トルクから目標スロットル開度(指令値)を計算する目標スロットル開度計算部(指令値算出部)109のブロックである。
ブロック110は、前述した運転者のアクセル開度とエンジン回転数から、許容発生トルクを計算する許容発生トルク計算部(許容作動状態変化量算出部)のブロックである。また、許容発生トルク計算部110は、後述する異常検出のための許容発生トルクの変化量についても計算する。なお、許容発生トルクは、正常時にエンジンが発生可能なトルクである。
ブロック111は、前述したエンジン回転数とエンジン負荷から、推定発生トルクを計算する推定発生トルク計算部(推定作動状態変化量算出部)のブロックである。この推定発生トルク計算部111は、推定トルク変化量算出部を有し、後述する異常検出のための推定発生トルクの変化量を計算する。なお、推定発生トルクは、エンジンが発生しているトルクを推定したものである。
ブロック112は、前述した許容発生トルクの変化量と推定発生トルクの変化量から異常検出を行う異常検出部のブロックである。本実施例では、異常検出部112は、推定発生トルクの変化量が許容発生トルクの変化量より所定量(異常検出の判定閾値)大きい状態が継続した場合に異常と判断している。なお、前述した異常検出判定閾値については、車速センサ220からの車速、および前述したアクセル開度等から計算する。
ブロック113は、前述したブロック104で計算された基本燃料量に対して、エンジン水温による補正、前述したブロック107の空燃比フィードバック係数の補正を実行する燃料補正部のブロックである。
ブロック116〜119は前述したブロック104およびブロック113で計算された燃料量に基づいてエンジン201への燃料供給を制御する燃料噴射制御部である。
ブロック114は、前述したブロック105で決定された基本点火時期に対して、エンジン水温による補正等を実行する点火時期補正部のブロックである。
ブロック120〜123は、前述のブロック114で補正されたエンジンの要求点火時期に応じてシリンダに流入した燃料混合気を点火するよう制御する点火制御部である。
ブロック115は、電制スロットル制御部(推進力制御部)のブロックである。電制スロットル制御部(トルク制御部)115は、前述したアイドリング時の目標流量を確保するためのスロットル開度、及び前述した目標スロットル開度となるように電制スロットルを制御すると共に、前述したブロック112で異常検出した場合に、異常時の制御を行う。
なお、一実施例では、運転者が操作したアクセルのアクセル開度から演算した許容発生トルクとエンジン回転数とエンジン負荷から算出した推定発生トルクとから異常を検出するといったようにトルクの次元での異常検出を行っているが、他の次元、例えば馬力での異常検出としても良い。即ち、トルクから馬力に換算して、その馬力を用いて異常を検出するようにしても良いものである。
図4は、一実施例に係る車載制御装置によるエンジンの異常検出の制御ブロックを示す図である。
図4において、アクセル開度センサ218は、ブロック401(アクセル開度センサ1)及びブロック402(アクセル開度センサ2)を備え、運転者の意図により操作されたアクセル操作量をブロック401、402で検出する。図3に示した運転操作量検出部101は、ブロック403(アクセル開度算出部1)及びブロック404(アクセル開度算出部2)を備え、ブロック403でアクセル開度センサ1の出力からアクセル開度1を算出する。
なお、運転操作量検出部101は、アクセル開度の推定値を用いても良い。
図3に示した目標スロットル開度計算部109は、ブロック405(目標トルク算出部)及びブロック406(目標スロットル開度算出部)を備え、ブロック405でアクセル開度1とエンジン回転数から運転者の目標とするトルクを算出する。目標スロットル開度計算部109は、この目標トルクをブロック406で要求スロットル開度(目標スロットル開度)へ換算する。
図3に示した電制スロットル制御部115は、ブロック407(モータ出力信号算出部)を備え、ブロック407で、要求スロットル開度からモータ駆動出力信号を算出する。
モータ駆動出力信号にて、ブロック412で示す電制スロットル用のモータ204(図1参照)が動作し、エンジン201の吸気系に取り付けられたスロットルを開閉させる。このスロットルの動作量をブロック413のスロットル開度センサ1、ブロック415のスロットル開度センサ2でセンシングする。
図1に示したスロットル開度センサ215は、ブロック413のスロットル開度センサ1、ブロック415のスロットル開度センサ2を備えているものである。
ブロック413のスロットル開度センサ1でセンシングした値からブロック411で実スロットル開度計算部(図示せず)が実スロットル開度1を算出する。
算出された実スロットル開度1は、ブロック407にて要求スロットル開度と比較され、要求スロットル開度に実スロットル開度1が一致するように、電制スロットル制御部115(図3に示す)はモータ駆動出力信号をフィードバック制御する。
次に、運転操作量検出部101は、ブロック402で検出された出力からブロック404でアクセル開度2を算出する。また、ブロック415のスロットル開度センサ2でセンシングした値からブロック414で実スロットル開度計算部(図示せず)が実スロットル開度2を算出する。
なお、運転操作量検出部101は、アクセル開度の推定値を用いても良い。
アクセル開度2とエンジン回転数とから、許容発生トルク計算部110は、ブロック408で許容発生トルクを算出する。
許容発生トルクの算出は、実スロットル開度2の値の変化(この変化から加速か減速かを判断することができる)からエンジン201への吸入空気量の応答遅れを加味して算出する8空気量の応答遅れの加味については後述する)。併せて所定時間毎の許容発生トルクの変化量も算出する。
一実施例では、40ms、80ms、120ms、160ms毎に変化量を求めている。
また、推定発生トルク計算部111は、ブロック409でエンジン201の状態を示す吸入空気量、吸気管圧力、エンジン回転数からエンジン201が発生している推定発生トルクを推定し、併せて所定時間毎の推定発生トルクの変化量も算出する。これも、同様に40ms、80ms、120ms、160ms毎に変化量を求めている。
最後に、異常検出部112はブロック410で、ブロック408で算出した許容発生トルク、もしくは許容発生トルクの所定時間の変化量と、ブロック409で算出した推定発生トルク、もしくは推定発生トルクの所定時間の変化量から、運転者の意図している目標トルク以上のトルクが発生していないか監視する。
異常時にはエンジン201の出力を抑える方向へスロットル弁203が動くように電制スロットル用モータ204を駆動するか、もしくは電制スロットル用モータ204の駆動をやめることで機械的にスロットル弁203を動作させるフェールセーフ処理を実行する。
図5は、許容発生トルク計算部110による許容発生トルクの変化量の算出手順の詳細を示す図である。
図5において、許容発生トルク計算部110は、ブロック501(許容トルクベース値算出部)では、エンジン回転数とアクセル開度2から許容発生トルクのベース値を算出する。許容発生トルク計算部110は、ブロック502(比較部)では、許容発生トルクのベース値とオートクルーズ要求のトルクとを比較し、大きい値を選択する。これにより、オートクルーズ中の許容発生トルクの算出に対応している。
また、許容発生トルク計算部110は、ブロック503(比較部)では、外部からのトルクガード要求とブロック502で算出された許容発生トルクとのうち小さい値を選択し、外部からのトルクダウン要求を考慮した許容発生トルクを算出している。
許容発生トルク計算部110は、ブロック507(燃料性状補正係数算出部)では、燃料性状によるエンジン201の発生トルクの変化分を考慮するための補正係数を決定する。燃料性状補正係数は、燃料性状に応じて予め設定され、メモリ(図示せず)に記憶されている。許容発生トルク計算部110は、ブロック503で決定された許容発生トルクに、ブロック507で決定された補正係数をブロック504(乗算部)で乗算し、燃料性状による発生トルクの変化に対応した許容発生トルクを算出している。
許容発生トルク計算部110は、ブロック508(空気密度補正部)では、大気圧センサ221により検出された大気圧から得られた空気密度によるエンジン201の発生トルクの変化分を考慮するための空気密度補正係数を算出する。許容発生トルク計算部110は、ブロック504で算出された許容発生トルクに空気密度補正係数をブロック505(乗算部)で乗算し、空気密度による発生トルクの変化に対応した許容発生トルクを算出している。
許容発生トルク計算部110は、ブロック511(空気量応答遅れ処理部)では、エンジン201への吸入空気量の応答遅れを加味して無駄時間及びフィルタ処理を行う。
空気量の応答遅れによる無駄時間は、エンジン回転数に基づき算出する。また、フィルタ処理のフィルタゲインはエンジン回転数に基づき算出するが、スロットル開度2に基づき算出値の切換を可能にしている。
具体的には、フィルタゲインの切換は、スロットル開度2の変化量の大小で車両が加速状態か減速状態かの判断を行い、その結果により行う。また、車両の減速状態、加速状態、その他の定常状態で各々エンジン回転数に基づきフィルタゲインを予め算出している。算出したフィルタゲインは、メモリ(図示せず)に格納されている。
上記切換とは別に、スロットル開度2の大きさから、チャージャ224による過給領域かどうかの判断を行い、本結果によるフィルタゲインの切換も行う。
これは後述する図7に示す異常検出判断ロジックの判断精度が悪化することを抑えるためである。
ブロック506(加算部)では、後述する推定発生トルクの算出誤差を考慮し、正常時に推定発生トルクが許容発生トルクを超えないように、ブロック509(オフセット量算出部)で算出されるオフセット量をブロック505で算出された許容発生トルクに加算する。
最後に、許容発生トルク計算部110は、ブロック510(変化量算出部)で、許容発生トルクの所定時間毎の変化量を算出する。ここで算出した許容発生トルク、もしくは許容発生トルクの所定時間毎の変化量(Δ許容発生トルク)は後述する図7に示す異常検出判断ロジックで使用する。なお、Δ許容発生トルクは、本発明の「許容作動状態作変化量」に相当する。
図6は、推定発生トルク計算部111による推定発生トルクの変化量の算出手順の詳細を示す図である。
推定発生トルク計算部111は、ブロック601(推定発生トルクベース値算出部1)では、エンジン回転数とエンジン負荷からハイオクガソリン時の推定発生トルクのベース値を算出する。推定発生トルク計算部111は、ブロック602(推定発生トルクベース値算出部2)では、同様にエンジン回転数とエンジン負荷からレギュラガソリン時の推定発生トルクのベース値を算出する。
推定発生トルク計算部111は、ブロック603(選択部)で使用しているガソリンの性状判定の結果、つまりハイオクガソリンかレギュラガソリンかの判定結果から、該当する推定発生トルクのベース値を選択する。
推定発生トルク計算部111は、ブロック604(乗算部)では、点火時期の影響を考慮し、ブロック603で選択された推定発生トルクのベース値に点火効率を乗算する。例えば、推定発生トルクのベース値を計測した時の点火時期を基準とすると、この基準の点火時期に対して遅角側の点火時期であった場合、点火効率が1.0より小さくなり、その結果推定発生トルクが小さく計算されることになる。
推定発生トルク計算部111は、ブロック605(乗算部)において、燃料噴射量補正の値をブロック604で算出された推定発生トルクに乗算する。ここで、燃料噴射量補正は、燃料カット中に補正値を0として乗算することで、燃料カット中の推定発生トルクが0になるようにしている。これは、燃料噴射がされていないときは、エンジンの発生トルクは0になる現象に一致させるためである。
推定発生トルク計算部111は、ブロック607(負荷トルク算出部)では、エンジン回転数と吸気管圧力から負荷トルクを算出し、ブロック606(減算部)でその負荷トルクをブロック605で算出された推定発生トルクから減算し、エンジン201の軸トルクとして推定発生トルクを算出する。
最後に、推定発生トルク算出部111は、ブロック608(変化量算出部)で、推定発生トルクの所定時間毎の変化量を算出する。ここで算出した推定発生トルク、もしくは推定発生トルクの所定時間毎の変化量(Δ推定発生トルク)は後述する図7に示す異常検出判断ロジックで使用する。なお、Δ推定発生トルクは、本発明の「推定作動状態変化量」に相当する。
図7は、異常検出部112によるエンジンの異常判定手順の詳細を示す図である。異常検出部112は、ブロック701(減算部)で、前述した推定発生トルクの所定時間毎の変化量(Δ推定発生トルク)と許容発生トルクの所定時間毎の変化量(Δ許容発生トルク)との差分(指標値)を算出する。以下では、この差分を「Δトルクの差分」と呼ぶこともある。
その後、異常検出部112は、ブロック702(判定閾値算出部)で算出した判定閾値とブロック701で算出したΔトルクとの差分をブロック703(比較部)で比較し、Δトルクの差分が判定閾値より大きいか判断する。
異常検出部112は、ブロック704(異常判断ディレイ処理部)でΔトルクの差分の方が大きいと判断されている時間を計測し、この時間が所定の時間より大きくなった場合に異常と判断する。なお、Δ推定発生トルクとΔ許容発生トルクとの差分(指標値)の代わりに、両者の割合を算出して、その算出結果に基づき異常判定を行っても良いものである。
図8及び図9は、推定発生トルクの所定時間毎の変化量(Δ推定発生トルク)と許容発生トルクの所定時間毎の変化量(Δ許容発生トルク)の差分(Δトルクの差分(指標値))及び車両の加速Gの関係の一例を示した図である。
図8は、トランスミッションのギア位置を固定とし、所定のエンジン回転数状態を保持した状態で、スロットル弁203をステップ的に開けた場合のΔトルクの差分と加速Gの関係を示している。図8は、変化量を算出する時間間隔をt1、t2とし、t1の間隔(Δt1)がt2の間隔(Δt2)より大きい場合におけるΔトルクの差分を示している。
一般的にスロットル弁203の開度が大きい場合の方が、小さい場合と比べて加速Gが大きくなる。図8に示した例では、Δt1の方がΔt2より大きいため、所定の加速G発生時のΔトルクの差分は、時間間隔がΔt1の場合の方がΔt2の場合より大きくなる。つまり、同一の加速GAであっても、変化量を算出する時間間隔に応じてΔトルクの差分は異なる値を示すようになる。
よって、車両の危険な状態を所定の加速G(例えば、0.1G)以上の発生時とすると、Δt1、Δt2毎に車両の危険な状態を判断する判定閾値を設定する必要があることがわかる。つまり、Δt1用の判定閾値と、Δt2用の判定閾値を設定する必要がある。
また、図9は、図8に示した例に対して、トランスミッションのギア位置を固定、時間間隔を固定の状態とし、保持するエンジン回転数の状態を2種類(Ne1、Ne2)で確認した結果を示している。図9に示すように、Ne1の方がNe2より高く、ギア位置が固定のため、Ne1、Ne2での車両速度をVSP1、VSP2とすると、VSP1のほうがVSP2よりΔトルクの差分が大きい状態となる。
所定の加速Gの発生時のΔトルクの差分は、エンジン回転数の状態が高いNe1(車両速度が大きいVSP1)の場合の方がNe2の場合より大きくなる。つまり、同一の加速GBであっても、エンジン回転数、或いは車両速度に応じてΔトルクの差分は異なる値を示すようになる。
よって、車両の危険な状態を所定の加速G(例えば、0.1G)以上の発生時とすると、Ne1(VSP1)、Ne2(VSP2)毎に車両の危険な状態を判断する判定閾値を設定する必要がある。
以上から、図10(車速と判定閾値との関係を示す図である)に示すように、判定閾値は、時間間隔毎(Δt1、Δt2毎)に、エンジン回転数(Ne)若しくは車両速度(VSP)に応じて適した値に設定する必要がある。この図10に示す判定閾値がベースとなる判定閾値となる。
図11及び図12は、一実施例である車載制御装置による異常検出の挙動を示したチャートである。
まず、図11は、正常時の挙動を示したチャートである。アクセル開度ライン901は、運転者のアクセル踏込み量を示すアクセル開度の挙動を示している。図11では、横軸は時間を示し、車両を加速走行、一定速走行、減速走行を行った場合のアクセル開度を示している。
図11において、許容発生トルクライン902は、許容発生トルクの挙動を示している。許容発生トルクは、アクセル開度が大きくなる(加速状態)に従い大きくなり、アクセル開度が小さくなる(減速状態)に従い小さくなる。
推定発生トルクライン903は、推定発生トルクの挙動を示している。推定発生トルクは、アクセル開度の動作に対して、吸入空気の応答遅れ等の影響により加速走行、減速走行時の挙動に遅れが生じる。なお、許容発生トルクと推定発生トルクとの差分から異常検出を行うため、許容発生トルクについては、誤検出の防止として推定発生トルクに位相を合わせるため無駄時間およびフィルタ処理を行っている。
Δ許容発生トルクライン904は許容発生トルクの単位時間当たりの変化量(Δ許容発生トルク)の挙動を示している。Δ推定発生トルクライン905(破線)は推定発生トルクの単位時間当たりの変化量(Δ推定発生トルク)の挙動を示している。差分ライン906は、Δ推定発生トルクとΔ許容発生トルクとの差分の挙動を示している。
判定閾値1ライン907(一点鎖線)は、異常検出のための判定閾値1であり、本判定閾値1を超えている時間が所定時間以上継続した場合に異常と判断される。この診断継続時間の条件を設けているのは、正常時であっても、フィルタ処理後の許容発生トルクと推定発生トルクの位相を完全に合わせることは困難であり、誤検出を防止するためである。
図12は、異常時の挙動を示したチャートであり、横軸は時間を示す。図12において、アクセル開度ライン911は、運転者のアクセル踏込み量を示すアクセル開度を示し、許容発生トルクライン912は許容発生トルクの挙動を示し、図11と同様の動作を示している。推定発生トルクライン913は推定発生トルクの挙動を示しており、図12から、推定発生トルクはA時点から異常発生によりトルク上昇している状況であることが分かる。
Δ許容発生トルクライン914は、許容発生トルクの単位時間当たりの変化量(Δ許容発生トルク)の挙動を示し、Δ推定発生トルクライン915(破線)は、推定発生トルクの単位時間当たりの変化量(Δ推定発生トルク)の挙動を示している。
図12から明らかなように、A時点から推定発生トルクが異常発生により増加し、差分ライン916のΔ推定発生トルクとΔ許容発生トルクの差分も上昇し、判定閾値2ライン918(一点鎖線)の判定閾値2以上となる。
本判定閾値2は、判定閾値1ライン917(一点鎖線)の判定閾値1より大きい値である。そのため、判定閾値1と判定閾値2との夫々の継続時間の条件は、図13(閾値と診断ディレイ時間との関係を示す図)に示すように、判定閾値2の方が判定閾値1と比べて短い継続時間(診断ディレイ)となるよう設定されている。具体的には、判定閾値1の場合は、診断ディレイ時間=td1で、判定閾値2の場合は診断ディレイ時間=td2であり、td2の方がtd1より短い値となる。
このように、診断ディレイを設定したのは、異常の誤検出を防止するためである。また、診断ディレイを判定閾値に応じて設定したのは、Δ推定発生トルクとΔ許容発生トルクとの差分が大きい程、異常状態である可能性が高く、また、異常判断を速くし安全状態へ速く移行させ車両の安全性を高めるためである。
図12において、フラグライン919は、異常判断フラグの挙動を示しており、図12に示した例では、差分ライン916がA時点から上昇してライン918で示す判定閾値2を超え、td2時間を経過した時点で異常判定フラグライン919が立ち上がる。差分ライン916がライン917で示す判定閾値1を越えている時間がt1、判定閾値2を越えている時間がt2である場合、診断ディレイ時間td1、td2と、上述したt1、t2の関係は、図13(閾値と診断ディレイ時間との関係を示す図)に示すような関係であり、判定閾値が大きいほど診断ディレイ時間は段階的に小さく設定される。具体的には、判定閾値1に対しては診断ディレイ時間がtd1に設定され、判定閾値1より大きい判定閾値2に対しては診断ディレイ時間がtd2に設定される。
よって、図12において、差分ライン916が判定閾値1を超えている時間はt1であるが、このt1は、図13に示すように判定閾値1に対して設定される診断ディレイ時間td1を下回っているため、t1の範囲では異常は検出されない。
一方、図12において、差分ライン916が判定閾値2を超えている時間はt2であるが、このt2は、図13に示すように、判定閾値2に対して設定される診断ディレイ時間td2を超えている。そのため、差分ライン916が判定閾値2を超えてから時間td2の経過後に異常が検出されることになる。
図14は、実際に異常(スロットルをステップ的に開く)を発生させた場合、Δ推定発生トルクとΔ許容発生トルクとの差分が、ある判定閾値を越えている時間(継続時間)T(縦軸)と、異常を発生させた時点の車両速度(VSP)、またはエンジン回転数(Ne)(横軸)との関係を示した図である。
図14から明らかなように、車両速度(VSP)、またはエンジン回転数(Ne)が大きくなるに従い、判定閾値を超えている時間(T)が長くなる傾向になる。また、変化量の算出の時間間隔をΔt1、Δt2とした場合、時間間隔が長いΔt1でのΔ推定発生トルクとΔ許容発生トルクの差分の場合の方が、時間間隔が短いΔt2での差分の場合と比べて、判定閾値を超えている時間(T)が長くなる傾向になる。
よって、一実施例では、図15(診断ディレイ時間閾値と車両速度(VSP)またはエンジン回転数(Ne)との関係を示す図)に示すように、診断ディレイ時間の閾値は、車両速度(VSP)、またはエンジン回転数(Ne)が大きくなるに従い大きくなるよう設定されている。また、Δ推定発生トルクとΔ許容発生トルクとの差分の判定閾値において、確実に異常と判断できる判定閾値(判定閾値2)と、それ以外の判定閾値1とで、それぞれ別に設定可能とすることで、より精度よく異常を判断できるものとなる。
図16は許容発生トルクに無駄時間およびフィルタ処理を行わない場合の正常時での異常検出の挙動を示したチャートであり、図17は許容発生トルクに無駄時間およびフィルタ処理を行った場合合の正常時での異常検出の挙動を示したチャートである。
まず、図16において、アクセル開度ライン1101は、運転者のアクセル踏込み量を示すアクセル開度の挙動を示している。図16では、車両を加速走行、一定速走行、アクセル踏み直し、減速走行を行った場合のアクセル開度を示している。
許容発生トルクライン1102は、許容発生トルクの挙動を示している。許容発生トルクは、アクセル開度が大きくなる(加速状態)に従い大きくなり、アクセル開度が小さくなる(減速状態)に従い小さくなる。アクセル踏み直しのような少ない変化においても、フィルタ処理が無い場合は、許容発生トルクライン1102は、アクセル開度ライン1101と同じ動きとなる。
推定発生トルクライン1103は、推定発生トルクの挙動を示している。推定発生トルクは、アクセル開度の動作に対して、吸入空気の応答遅れ等の影響により加速走行、減速走行時の挙動に遅れが生じる。また、加速開始後の過給領域に突入した直後は、ターボチャージャ224による応答遅れ(ターボラグ)による遅れが生じる。
逆に、過給領域内で過給が安定している状態でアクセル踏み直しのような少ない変化の場合は、ターボチャージャ224による過給の慣性が働き大きな応答遅れとなるため推定発生トルクライン1103は殆ど変化しない。
Δ許容発生トルクライン1104は許容発生トルクの単位時間当たりの変化量(Δ許容発生トルク)の挙動を示している。Δ推定発生トルクライン1105(破線)は推定発生トルクの単位時間当たりの変化量(Δ推定発生トルク)の挙動を示している。
差分ライン1106は、Δ推定発生トルクとΔ許容発生トルクとの差分であるΔトルクの差分の挙動を示している。
判定閾値1ライン1107(一点鎖線)は、異常検出のための判定閾値1であり、本判定閾値1を超えている時間が所定時間以上継続した場合に異常と判断される。
差分ライン1106が、判定閾値1ライン1107を超えるシーンは許容発生トルクライン1102と推定発生トルクライン1103の動きのずれ(位相のずれ)が大きい場合である。具体的には加速走行、減速走行、及びターボチャージャ224の過給開始初期段階と過給領域内でのアクセル踏み直しや外部からのトルクダウン要求時等である。
すなわち、判定精度を向上させるためには、上記したシーン毎の空気応答を考慮し、許容発生トルクの動き(位相)を推定発生トルクに合わせる必要がある。
図17において、アクセル開度ライン1111は運転者のアクセル踏込み量を示すアクセル開度を示しており、図16に示したアクセル開度ライン1101と同様の動作である。
許容発生トルクライン1112は、許容発生トルクの挙動を示しており、前記したシーン毎の空気応答を考慮した無駄時間とフィルタ処理後のチャートである。
許容発生トルクライン1112は、加速時にターボチャージャ224の過給開始初期段階のターボラグを加味したフィルタ処理が実施され、過給領域内でのアクセル踏み直し時のターボチャージャ224による過給の慣性による応答遅れを加味したフィルタ処理が実施されている。
その結果、推定発生トルクライン1113の挙動に近づいていることが分かる。
よって、許容発生トルクの単位時間当たりの変化量(Δ許容発生トルク)のライン1114と、推定発生トルクの単位時間当たりの変化量(Δ推定発生トルク)のライン1115(破線)に、図16に示した例に比較して、大きい差が発生していない。
そのため、差分ライン1116のΔ推定発生トルクとΔ許容発生トルクの差分も大きくなることもなく、判定閾値1ライン1117(一点鎖線)を超えることは無くなる。
このように、各々のシーン毎の空気応答を考慮した無駄時間およびフィルタ処理を実施することで検出精度を向上することができる。
以上述べたような異常判断を実行する具体的な制御方法を以下に説明する。
図18は、一実施例における異常検出部を備えた車載制御装置の全体的な制御フローである。この制御フローは各制御ロジックを簡略化して示しており、一実施例に関係しない制御ロジックについてはその詳細な説明は省略する。
図18において、ステップ1201で、運転操作量検出部101が、アクセル開度センサ218の出力電圧からアクセル開度割合に換算して読み込む。ステップ1202で、エンジン回転数計算部(作動状態検出部)102が、クランク角度センサ219の電気的な信号、主にパルス信号変化の単位時間当たりの入力数をカウントし、演算処理によりエンジン回転数を計算する。ステップ1203で、目標スロットル開度計算部109が、スロットル開度センサ215の出力電圧からスロットル角度へ換算して読み込む。ステップ1204で、シリンダ流入空気量計算部(作動状態検出部)103が、熱式空気流量計202の出力電圧から電圧流量換算された空気流量を読み込む。
ステップ1205で、基本燃料量計算部104が、エンジン回転数と吸入空気量(エンジン負荷)から基本燃料量を計算する。ステップ1206で、燃料補正部113がエンジン回転数とエンジン負荷から基本燃料補正係数をマップ検索する。ステップ1207で、空燃比補正係数計算部107が、空燃比センサ211の出力電圧から空燃比変換した実空燃比を読み込む。ステップ1208で、目標空燃比計算部108が、エンジン回転数とエンジン負荷から目標空燃比をマップ検索する。ステップ1209で、目標空燃比と実空燃比で目標空燃比へのフィードバック制御を実施し、空燃比補正係数計算部107が空燃比補正係数を算出する。ステップ1210で基本燃料補正係数、フィードバック制御による空燃比補正係数により基本燃料量を補正し燃料噴射量を計算する。
ステップ1211でアイドル回転数の目標値を計算する。ステップ1212でアイドル回転数の目標値を実現できるISC目標流量を計算する。ステップ1213でISC目標流量をISC制御部06へ出力する。
ステップ1214で、点火時期補正部105が、エンジン回転数、及びエンジン負荷で基本点火時期を計算する。ステップ1215で、点火時期補正部114が基本点火時期に水温補正等の補正を行う。ステップ1216で補正された点火時期をセットする。
これらの制御ステップが完了すると、一実施例における異常診断の制御ロジックが実行される。先ず、ステップ1217で、許容発生トルク計算部(許容作動状態変化量算出部)110が、許容発生トルクを計算し、ステップ1218で、推定発生トルク計算部(推定作動状態変化量算出部を有する)111が推定発生トルクを計算する。
次に、ステップ1219で、異常検出部112が、異常検出用の判定閾値を計算する。ステップ1220で、許容発生トルクと推定発生トルクから算出するΔトルクの差分と判定閾値に基づき異常判断を行う。
ステップ1221で、電制スロットル制御部(推進力制御部)115が、アクセル開度とエンジン回転数から算出される目標トルクからの要求開度とISC制御部からの要求開度から最終的なスロットル開度に制御する。また、ステップ1220で異常と判断された場合においても、ステップ1221でスロットル開度を制御する。
次に、一実施例の特徴である異常検出部の具体的な制御フローについて説明する。
図19は、図12のステップ1217の許容発生トルクの計算と、ステップ1218の推定発生トルクの計算の詳細を示したフローチャートである。
まず、ステップ1301で、許容発生トルク計算部(許容作動状態変化量算出部)110は、許容発生トルクを算出する。許容発生トルクは図5に示すような方法で求められることは既に述べた通りである。その後、ステップ1302からステップ1305でそれぞれ、40ms間、80ms間、120ms間、160ms間の許容発生トルクの変化量(Δ40LT、Δ80LT、Δ120LT、Δ160LT)を算出する。
次に、ステップ1306で、推定発生トルク計算部(推定作動状態変化量算出部を含む)111が推定発生トルクを算出する。推定発生トルクは図6に示すような方法で求められることは既に述べた通りである。その後、ステップ1307からステップ1310でそれぞれ、40ms間、80ms間、120ms間、160ms間の推定発生トルクの変化量(Δ40ET、Δ80ET、Δ120ET、Δ160ET)を算出する。これらの演算が完了すると図18に示したステップ1219に進むことになる。
図20は、図19のステップ1301の許容発生トルクの演算の詳細を示したフローチャートである。
まず、図20のステップ1401で、許容発生トルク計算部(許容作動状態変化量算出部)110は、許容発生トルクのベース値を算出する。本ベース値は、図5のブロック501のベース値に相当する。次に、ステップ1402でオートクルーズ要求反映の判断を実施し、ステップ1403で外部からのトルクガード要求反映の判断を実施し、ステップ1404で燃料性状補正を行い、ステップ1405で空気密度補正を行う。
これらの処理は、図5のブロック502、ブロック503、ブロック504、ブロック505に相当する。
ステップ1406からステップ1410までは、図5のブロック511に相当し、空気応答を考慮した無駄時間およびフィルタ処理のステップとなる。
まず、ステップ1406で、エンジン回転数から空気応答の無駄時間を演算し、ステップ1407でスロットル開度の変化量を演算する。演算したスロットル開度の変化量からステップ1408で過給領域か否かの判定を行い、ステップ1409で加速と減速の判定を行い、ステップ1410でエンジン回転とステップ1408とステップ1409の結果から最終的なフィルタ処理のフィルタゲインを決定する。
ステップ1411では、ステップ1410で決定したフィルタゲインを基に空気応答を加味した最終的な許容発生トルクを演算する。
図21は、図20のステップ1408の過給領域の判定の詳細を示したフローチャートである。
まず、図21のステップ1501、でスロットル開度(TVO2)が所定の判定閾値(KSTTVO)以上か否かをチェックする。
ステップ1501におけるチェック結果がYesの場合はステップ1502に進み、カウンタ(CNSTV)をカウントアップ(1をプラスする)する。ステップ1501におけるチェック結果がNoの場合はステップ1503に進み、カウンタ(CNSTV)をクリアする。カウンタ(CNSTV)のクリア後、ステップ1504に進みスロットル開度(TVO2)が所定の判定閾値(KRTTVO)未満か否かをチェックする。
ステップ1504におけるチェック結果がYesの場合はステップ1505に進み、カウンタ(CNRTV)をカウントアップする。
ステップ1504におけるチェック結果がNoの場合はステップ1506に進み、カウンタ(CNRTV)をクリアする。
上述したカウンタ(CNSTV、CNRTV)の処理(ステップ1501〜1506)の後、ステップ1507に進み、カウンタ(CNRTV)が所定の判定閾値(KCNRTV)以上か否かをチェックする。
ステップ1507におけるチェック結果がYesの場合はステップ1509に進み、過給領域判定成立フラグをセット(FBOOST=“1”)する。
ステップ1507におけるチェック結果がNoの場合はステップ1508に進み、カウンタ(CNSTV)が所定の判定閾値(KCNSTV)以上か否かをチェックする。
ステップ1508におけるチェック結果がYesの場合はステップ1510に進み、過給領域判定成立フラグをリセット(FBOOST=“0”)する。ステップ1508におけるチェック結果がNoの場合、本処理を終了する。
図22及び図23は、図20のステップ1409の加速/減速の判定およびステップ1410のフィルタゲインの算出の詳細を示したフローチャートである。
まず、図22のステップ1601で、図21のステップ1509およびステップ1510で判定された過給領域判定結果のチェックを行い、過給領域判定成立(FBOOST=“1”)であった場合は、ステップ1602へ進み、スロットル開度の変化量(ΔTVO2)が所定の判定閾値(KDTVODT)以内か否かのチェックを行う。
ステップ1601において、過給領域判定不成立(FBOOST=“0”)の場合は、図23のフローへ進む。
ステップ1602のチェック結果がYesの場合はステップ1604へ進み、予め定めた減速用のフィルタゲイン1を選択する。
ステップ1602のチェック結果がNoの場合はステップ1603へ進み、スロットル開度の変化量(ΔTVO2)が所定の判定閾値(KDTVOAT)以上か否かのチェックを行う。
ステップ1603のチェック結果がYesの場合はステップ1606へ進み、予め定めた加速用のフィルタゲイン1を選択する。
ステップ1603のチェック結果がNoの場合はステップ1605へ進みカウンタ(CNDT)をカウントアップする。なお、ステップ1604、ステップ1606で設定ゲインの選択終了後はステップ1607へ進みカウンタ(CNDT)をクリアし、処理は終了する。
ステップ1605で、カウンタ(CNDT)をカウントアップした後は、ステップ1608へ進みカウンタ(CNDT)が所定の判定閾値(KCNSDT)以内か否かをチェックする。
ステップ1608のチェック結果がYesの場合はステップ1609へ進み、予め定めた加速/減速切換り直後用のフィルタゲイン1を選択する。
ステップ1608のチェック結果がNoの場合はステップ1610へ進み過給領域突入中か否かを判定する。
ステップ1610における過給領域突入中か否かの判定はターボチャージャ224によるエンジン201へ過給圧が安定している状態であり加速初期時のターボラグ発生中でないことを判定する部分である。
ステップ1610のチェック結果がYesの場合はステップ1611へ進み、予め定めた過給領域突入後用のフィルタゲインを選択し、処理は終了する。
ステップ1610のチェック結果がNoの場合はステップ1612へ進み、予め定めた定常用のフィルタゲイン1を選択し、処理は終了する。
図23は、上述したように、図22におけるステップ1601で過給領域判定不成立(FBOOST=“0”)の場合のフローである。図23のステップ1701で、スロットル開度の変化量(ΔTVO2)が所定の判定閾値(KDTVODN)以内か否かのチェックを行う。
ステップ1701のチェック結果がYesの場合はステップ1703進み、予め定めた減速用のフィルタゲイン2を選択する。
ステップ1701のチェック結果がNoの場合はステップ1702へ進みスロットル開度の変化量(ΔTVO2)が所定の判定閾値(KDTVOAN)以上か否かのチェックを行う。
ステップ1702のチェック結果がYesの場合はステップ1705へ進み、予め定めた加速用のフィルタゲイン2を選択する。
ステップ1702のチェック結果がNoの場合はステップ1704へ進みカウンタ(CNDN)をカウントアップする。なお、ステップ1703、ステップ1705で設定ゲインの選択終了後はステップ1706へ進みカウンタ(CNDN)をクリアし、処理は終了する。
ステップ1704でカウンタ(CNDN)をカウントアップ後はステップ1707へ進みカウンタ(CNDN)が所定の判定閾値(KCNSDN)以内か否かをチェックする。
ステップ1707のチェック結果がYesの場合はステップ1708へ進み、予め定めた加速/減速切換り直後用のフィルタゲイン2を選択し、処理を終了する。
ステップ1707のチェック結果がNoの場合はステップ1709へ進み、予め定めた定常用のフィルタゲイン2を選択し処理を終了する。
図24、図25、図26、図27、及び図28は、図18のステップ1219、ステップ1220の異常検出処理の詳細を示した制御フローである。
図24は、40ms間の推定発生トルクの変化量(Δ40ET)と許容発生トルクの変化量(Δ40LT)から異常を判断する制御フローである。
図24のステップ1801で40ms間の推定発生トルクの変化量(Δ40ET)と許容発生トルクの変化量(Δ40LT)との差分が所定の判定閾値(KD40H)より大きいか否かをチェックする。ステップ1801のチェック結果がYESの場合はステップ1802に進み、カウンタ(CN40H)をカウントアップする。その後、ステップ1802からステップ1804に進み、カウンタ(CN40H)がカウンタチェック用の所定のカウンタ閾値(KCN40H)以上か否かをチェックする。ステップ1804でチェックした結果、Yesであればステップ1805に進み、異常フラグ(FLCN40HNG)を1とし、図25の制御フローへ進む。
一方、ステップ1801のチェック結果がNoの場合はステップ1803へ進み、カウンタ(CN40H)をクリアしてステップ1806へ進む。
また、ステップ1804のチェック結果がNoの場合も同様にステップ1806へ進み、異常フラグ(FLCN40HNG)をクリアしてステップ1807へ進む。
ステップ1807では、ステップ1801と同様に、推定発生トルクの変化量(Δ40ET)と許容発生トルクの変化量(Δ40LT)との差分が所定の判定閾値(KD40L)より大きいか否かをチェックする。ここでの判定閾値(KD40L)はステップ1801で使用する判定閾値(KD40H)より小さく設定されたものである。これは、ステップ1801での判定閾値(KD40H)は、確実に異常となった状態を検出するためのものであり、ステップ1807での判定閾値(KD40L)は、異常が発生しているが正常状態の判断が難しい場合で判断するための設定としている。
そのために、後述するステップ1810での異常カウンタ(CN40L)の比較するカウンタ閾値(KCN40L)は、ステップ1804で使用するカウンタ閾値(KCN40H)より大きい値を設定し、異常状態の判断を確実に行えるようにしている。
ステップ1807のチェック結果がYesの場合はステップ1808に進み、カウンタ(CN40L)をカウントアップする。その後、ステップ1810でカウンタ(CN40L)がカウンタチェック用の所定のカウンタ閾値(KCN40L)以上か否かをチェックする。ステップ1810でチェックした結果、Yesであればステップ1811に進み、異常フラグ(FLCN40LNG)を1とし、図25のフローへ進む。
ステップ1807のチェック結果がNoの場合は、ステップ1809へ進み、異常カウンタ(CN40L)をクリアしてステップ1812へ進む。また、ステップ1810の結果がNoの場合も同様にステップ1812へ進み、異常フラグ(FLCN40LNG)をクリアし、図25の制御フローへ進む。
図25は、80ms間の推定発生トルクの変化量(Δ80ET)と許容発生トルクの変化量(Δ80LT)から異常を判断する制御フローである。
図25において、ステップ1901で80ms間の推定発生トルクの変化量(Δ80ET)と許容発生トルクの変化量(Δ80LT)との差分が所定の判定閾値(KD80H)より大きいか否かをチェックする。ステップ1901のチェック結果がYESの場合はステップ1902に進み、カウンタ(CN80H)をカウントアップする。その後、ステップ1902からステップ1904に進み、カウンタ(CN80H)がカウンタチェック用の所定のカウンタ閾値(KCN80H)以上か否かをチェックする。ステプ1904にてチェックした結果、YESであればステップ1905で、異常フラグ(FLCN80HNG)を1とし、図26の制御フローへ進む。
ステップ1901の結果がNoの場合はステップ1903へ進みカウンタ(CN80H)をクリアし、ステップ1906へ進む。また、ステップ1904の結果がNoの場合も同様にステップ1906へ進み、異常フラグ(FLCN80HNG)をクリアし、ステップ1907へ進む。
ステップ1907では、ステップ1901と同様に、推定発生トルクの変化量(Δ80ET)と許容発生トルクの変化量(Δ80LT)の差分が所定の判定閾値(KD80L)より大きいかチェックする。ここでの判定閾値(KD80L)はステップ1901で使用する判定閾値(KD80H)より小さく設定されたものである。また、後述するステップ1910でのカウンタ(CN80L)の比較するカウンタ閾値(KCN80L)は、ステップ1904で使用するカウンタ閾値(KCN80H)より大きい値を設定する。これは、前述した図24を参照して説明した理由と同様である。
ステップ1907の結果がYESの場合はステップ1908に進み、カウンタ(CN80L)カウントアップする。その後、ステップ1908からステップ1910に進み、カウンタ(CN80L)がカウンタチェック用の所定のカウンタ閾値(KCN80L)以上か否かをチェックする。ステップ1910でチェックした結果、YESであればステップ1911で、異常フラグ(FLCN80LNG)を1とし、図26の制御フローへ進む。
ステップ1907の結果がNoの場合は、ステップ1909へ進み、カウンタ(CN80L)をクリアしてステップ1912へ進む。また、ステップ1910の結果がNoの場合も同様にステップ1912へ進み、異常フラグ(FLCN80LNG)をクリアし、図26の制御フローへ進む。
図26は、120ms間の推定発生トルクの変化量(Δ120ET)と許容発生トルクの変化量(Δ120LT)から異常を判断する制御フローである。
図26のステップ2001で120ms間の推定発生トルクの変化量(Δ120ET)と許容発生トルクの変化量(Δ120LT)との差分が所定の判定閾値(KD120H)より大きいか否かをチェックする。
ステップ2001のチェック結果がYesの場合はステップ2002に進み、カウンタ(CN120H)をカウントアップする。その後、ステップ2002からステップ2004に進み、カウンタ(CN120H)がカウンタチェック用の所定のカウンタ閾値(KCN120H)以上か否かをチェックする。ステップ2004でチェックした結果、Yesであればステップ2005で、異常フラグ(FLCN120HNG)を1として図27のフローへ進む。
ステップ2001の結果がNoの場合はステップ2003へ進み、カウンタ(CN120H)をクリアしてステップ2006へ進む。また、ステップ2004の結果がNoの場合も同様にステップ2006へ進み、異常フラグ(FLCN120HNG)をクリアし、ステップ2007へ進む。
ステップ2007では、ステップ2001と同様に推定発生トルクの変化量(Δ120ET)と許容発生トルクの変化量(Δ120LT)との差分が所定の判定閾値(KD120L)より大きいか否かをチェックする。ここでの判定閾値(KD120L)はステップ2001で使用する判定閾値(KD120H)より小さく設定されたものである。また、後述するステップ2010でのカウンタ(CN120L)の比較するカウンタ閾値(KCN120L)は、ステップ2004で使用するカウンタ閾値(KCN120H)より大きい値を設定する。これは、前述した図24を参照して説明した理由と同様である。
ステップ2007の結果がYesの場合はステップ2008に進み、カウンタ(CN120L)をカウントアップする。その後、ステップ2008からステップ2010に進み、カウンタ(CN120L)がカウンタチェック用の所定のカウンタ閾値(KCN120L)以上か否かをチェックする。ステップ2010でチェックした結果、Yesであればステップ2011で異常フラグ(FLCN120LNG)を1として図27のフローへ進む。
ステップ2007の結果がNoの場合は、ステップ2009へ進み、カウンタ(CN120L)をクリアしてステップ2012へ進む。また、ステップ2010のチェック結果がNoの場合も同様にステップ2012へ進み、異常フラグ(FLCN120LNG)をクリアして図27の制御フローへ進む。
図27は、160ms間の推定発生トルクの変化量(Δ160ET)と許容発生トルクの変化量(Δ160LT)から異常を判断する制御フローである。
図27のステップ2101で、160ms間の推定発生トルクの変化量(Δ160ET)と許容発生トルクの変化量(Δ160LT)との差分が所定の判定閾値(KD160H)より大きいか否かをチェックする。
ステップ2101のチェック結果がYesの場合はステップ2102に進み、カウンタ(CN160H)をカウントアップする。その後、ステップ2102からステップ2104に進み、カウンタ(CN160H)がカウンタチェック用の所定のカウンタ閾値(KCN160H)以上か否かをチェックする。ステップ2102チェックした結果、Yesであればステップ2105で異常フラグ(FLCN160HNG)を1として図28の制御フローへ進む。
ステップ2101の結果がNoの場合はステップ2103へ進み、カウンタ(CN160H)をクリアしてステップ2106へ進む。また、ステップ2104の結果がNoの場合も同様にステップ2106へ進み、異常フラグ(FLCN160HNG)をクリアしてテップ2107へ進む。
ステップ2107では、ステップ2101と同様に、推定発生トルクの変化量(Δ160ET)と許容発生トルクの変化量(Δ160LT)との差分が所定の判定閾値(KD160L)より大きいか否かをチェックする。ここでの判定閾値(KD160L)はステップ2101で使用する判定閾値(KD160H)より小さく設定されたものである。
また、後述するステップ2110でのカウンタ(CN160L)の比較するカウンタ閾値(KCN160L)は、ステップ2104で使用するカウンタ閾値(KCN160H)より大きい値を設定する。これは、前述した図24を参照して説明した理由と同様である。
ステップ2107の結果がYesの場合はステップ2108に進み、カウンタ(CN160L)をカウントアップする。その後、ステップ2108からステップ2110に進み、カウンタ(CN160L)がカウンタチェック用の所定のカウンタ閾値(KCN160L)以上か否かをチェックする。ステップ2110でチェックした結果、Yesであればステップ2111に進み、異常フラグ(FLCN160LNG)を1として図28の制御フローへ進む。
ステップ2107の結果がNoの場合は、ステップ2109へ進み、カウンタ(CN160L)をクリアしステップ2112へ進む。また、ステップ2110の結果がNoの場合も同様にステップ2112へ進み、異常フラグ(FLCN160LNG)をクリアして図28の制御フローへ進む。
図28は、図24、図25、図26、及び図27での各所定時間毎の変化量での異常判定フラグから最終的な異常判断をおこなう制御フローである。
図28のステップ2201では40ms間の変化量からの異常判定が成立しているか否かを判定し、Yesであれば、ステップ2206へ進み最終的な異常判定(FLCNNG=1)を行う。
また、ステップ2201でNoであればステップ2202へ進み、80ms間の変化量からの異常判定が成立しているか否かを判定する。ステップ2202でYesであれば、ステップ2206へ進み最終的な異常判定(FLCNNG=1)を行う。
また、ステップ2202でNoであればステップ2203へ進み、120ms間の変化量からの異常判定が成立しているか否かを判定する。ステップ2203でYesであれば、ステップ2206へ進み最終的な異常判定(FLCNNG=1)を行う。
また、ステップ2203でNoであればステップ2204へ進み、160ms間の変化量からの異常判定が成立しているか判定する。ステップ2204でYesであれば、ステップ2206へ進み最終的な異常判定(FLCNNG=1)を行う。
最後に、ステップ2204でNoであればステップ2205へ進み、異常なしと判定(FLCNNG=0)して全体の制御フローを終了する。
以上のように、本発明の一実施例によれば、推定発生トルク算出部(推定作動状態変化量算出部を含む)111がエンジン201の実際の推定作動状態量(トルク)の変化量を算出し、許容発生トルク計算部(許容作動状態量算出部)110が運転操作量から求められた許容作動状態変化量を算出し、許容作動状態量位相変更処理部(501〜511)が、許容作動状態量を推定作動状態の変化量の位相に一致するように、許容作動状態量の位相を変更し、許容作動状態変化量を変更し、異常検出部112が、推定作動状態量の変化量と変更した許容作動状態変化量との差分916を指標値とし、異常検出部112が指標値(差分916)と予め定めた判定閾値(閾値1、閾値2)とを比較することにより、エンジン201の発生トルクの異常状態を検出するように構成されている。
よって、本発明の一実施例によれば、過給器等の影響による空気応答遅れの影響を受けずに、車両の駆動源の推進力が異常であるか否かを迅速に精度よく判定することのできる車載制御装置を実現することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、実施例の構成の一部を他の構成に置き換えることが可能であり、また、ある実施例の構成に他の構成を加えることも可能である。また、実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。