(57)【要約】【課題】エンジンの始動完了後において、算出部に異常が発生しているとの誤判断が生じることを抑制する。【解決手段】マイクロコンピュータ２１は、定められた時間間隔で算出される噴射量指令値が、同じく定められた時間間隔で算出される監視用噴射量に対し、増大側に乖離したことに基づき、噴射量指令値の算出等にかかわる算出機能に異常が生じたと判断する。マイクロコンピュータ２１は、エンジンの冷却水温に基づき始動時噴射量を同冷却水温が高いときには低いときよりも小さくなるように算出し、エンジンの始動完了直後には始動時噴射量を噴射量指令値として用いる。また、マイクロコンピュータ２１は、エンジンの始動完了直後に上記監視用噴射量とされる監視用始動時噴射量として、今回算出された始動時噴射量と前回算出された監視用始動時噴射量との小さい方を用いる。【選択図】図１
2016205229.tif 000002
【特許請求の範囲】
【請求項１】
定められた時間間隔で算出部を通じて算出された噴射量指令値に基づきエンジンに設けられたインジェクタを駆動する燃料噴射量制御装置に適用され、定められた時間間隔で監視用噴射量を算出するとともに今回算出された監視用噴射量に対し前記算出部を通じて今回算出された噴射量指令値が増大側に乖離しているときに前記算出部が異常であると判断する判断部を備える燃料噴射量制御装置の監視装置において、
前記算出部は、前記噴射量指令値を算出するに当たり、エンジンの冷却水温に基づき始動時噴射量を同冷却水温が高いときには低いときよりも小さくなるように算出し、エンジンの始動開始から始動完了前までは前記始動時噴射量を前記噴射量指令値として用いる一方、エンジンの始動完了後には前記始動時噴射量とエンジン運転状態に基づき算出される基本噴射量との大きい方を前記噴射量指令値として用いるものであり、
前記判断部は、前記監視用噴射量を算出するに当たり、前記始動時噴射量に基づき算出される監視用始動時噴射量とエンジン運転状態に基づき算出される監視用基本噴射量との大きい方を監視用噴射量として用いるものであり、エンジンの始動開始から始動完了前までは前記算出部によって今回算出された始動時噴射量を前記監視用始動時噴射量として用いる一方、エンジンの始動完了後には前記算出部によって今回算出された始動時噴射量と前記判断部によって算出された前回の監視用始動時噴射量との小さい方を今回の監視用始動時噴射量として用いるよう構成されている
ことを特徴とする燃料噴射量制御装置の監視装置。
【請求項２】
請求項１記載の燃料噴射量制御装置の監視装置において、
エンジンの始動完了後における前記始動時噴射量が取り得る最大値の時間経過に伴う推移パターンを記憶した記憶部を更に備え、
前記判断部は、エンジンの始動完了後には、前記算出部によって今回算出された始動時噴射量、前記判断部によって算出された前回の監視用始動時噴射量、及び、前記記憶部に記憶されている前記推移パターンを用いてエンジンの始動完了からの経過時間に基づき求められる前記最大値のうち、最も小さいものを、今回の監視用始動時噴射量として用いるよう構成されている
ことを特徴とする燃料噴射量制御装置の監視装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料噴射量制御装置の監視装置に関する。
【背景技術】
【０００２】
車両等に搭載されるエンジンの燃料噴射量制御装置は、算出部によって算出された噴射量指令値に基づきエンジンのインジェクタを駆動することにより、そのインジェクタの燃料噴射量を制御する。燃料噴射量制御装置の算出部は、エンジンの暖機完了後といった通常のエンジン運転時には、アクセル操作量及びエンジン回転速度といったエンジン運転状態に基づき基本噴射量を求め、その基本噴射量を上記噴射量指令値に代入することにより同噴射量指令値の算出を行う。
【０００３】
また、特許文献１には、燃料噴射量制御装置における上記算出部の異常の有無を判断する監視装置について記載されている。この監視装置は、上記算出部による噴射量指令値の算出と平行して、アクセル操作量及びエンジン回転速度といったエンジン運転状態に基づき上記基本噴射量に相当する監視用噴射量を算出する。そして、上記監視用噴射量に対し上記算出部により算出された噴射量指令値が増大側に乖離しているとき、上記算出部における噴射量指令値の算出機能に異常が生じていると判断する。
【０００４】
なお、上記アクセル操作量はアクセルポジションセンサを用いて検出され、上記エンジン回転速度はクランク角センサを用いて検出される。ちなみに、これらアクセルポジションセンサ及びクランク角センサは、センサ異常を検知する機能を有しており、その機能を利用して正常と保証された検出信号を出力することが可能となっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２３８２０３公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、燃料噴射量制御装置の算出部は、エンジンの始動開始から始動完了までの間においては、水温センサによって検出されるエンジンの冷却水温に基づき同エンジンの始動性を向上するための始動時噴射量を求め、その始動時噴射量を噴射量指令値に代入することにより同噴射量指令値を算出する。更に、上記算出部は、エンジンの始動完了後においては、エンジンの冷却水温が上昇するほど小さい値になる上記始動時噴射量と、エンジン運転状態に基づき求められる上記基本噴射量とのうち、大きい方を噴射量指令値に代入することにより、同噴射量指令値の算出を行う。
【０００７】
一方、監視装置による上記算出部の異常の有無の判断は、エンジンの始動完了後にすぐに行うことが好ましい。ただし、同装置により上記監視用噴射量を算出する際には、その算出に水温センサなど異常発生時にそのことを検知する機能を持たないセンサ、すなわち正常と保証された検出信号を出力することができないセンサを用いることはできない。このことから、水温センサによって検出された冷却水温に基づいて始動時噴射量に相当する値として上記監視用噴射量を算出することはできない。従って、このときにも、アクセルポジションセンサ及びクランク角センサなど、正常と保証された検出信号を出力することができるセンサを用いて監視用噴射量を算出しなければならず、そうしたセンサを用いて上記基本噴射量に相当する監視用噴射量を算出せざるを得ない。
【０００８】
このため、エンジンの始動完了直後にエンジンの冷却水温が低いことに起因して始動時噴射量が基本噴射量よりも大きくなり、その始動時噴射量が噴射量指令値に代入される場合には、算出部が正常であっても噴射量指令値（始動時噴射量に相当）が監視用噴射量  （基本噴射量に相当）に対し増大側に乖離する。そして、こうした噴射量指令値と監視用噴射量との乖離に基づき、算出部に異常が発生していると誤判断されるおそれがある。
【０００９】
図８は、エンジンの始動開始から始動完了後に至るまでの始動時噴射量、基本噴射量、及び噴射量指令値の推移を示すタイムチャートである。同図から分かるように、エンジンの始動完了後には、基本噴射量と始動時噴射量との大きい方が噴射量指令値（破線）として採用される一方、監視用噴射量が基本噴射量に相当する値として算出される。このため、エンジンの始動完了直後など、始動時噴射量が基本噴射量よりも大きいときには、噴射量指令値（始動時噴射量に相当）が正常に算出されているにも関わらず、噴射量指令値が監視用噴射量に対し増大側に大きく乖離し、そうした乖離に基づき噴射量指令値を算出するための算出部に異常が発生しているとの誤判断がなされるおそれがある。
【００１０】
本発明の目的は、エンジンの始動完了後において、算出部に異常が発生しているとの誤判断が生じることを抑制できる燃料噴射量制御装置の監視装置を提供することにある。
【課題を解決するための手段】
【００１１】
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決する監視装置は、定められた時間間隔で算出部を通じて算出された噴射量指令値に基づきエンジンに設けられたインジェクタを駆動する燃料噴射量制御装置に適用される。上記監視装置は、定められた時間間隔で監視用噴射量を算出するとともに今回算出された監視用噴射量に対し上記算出部を通じて今回算出された噴射量指令値が増大側に乖離しているときに上記算出部が異常であると判断する判断部を備える。上記算出部は、噴射量指令値を算出するに当たり、エンジンの冷却水温に基づき始動時噴射量を同冷却水温が高いときには低いときよりも小さくなるように算出する。上記算出部は、エンジンの始動開始から始動完了前までは始動時噴射量を噴射量指令値として用いる一方、エンジンの始動完了後には上記始動時噴射量とエンジン運転状態に基づき算出される基本噴射量との大きい方を噴射量指令値として用いる。また、上記判断部は、監視用噴射量を算出するに当たり、始動時噴射量に基づき算出される監視用始動時噴射量とエンジン運転状態に基づき算出される監視用基本噴射量との大きい方を監視用噴射量として用いる。上記判断部は、エンジンの始動開始から始動完了前までは、上記算出部によって今回算出された始動時噴射量を監視用始動時噴射量として用いる。上記判断部は、エンジンの始動完了後には、上記算出部によって今回算出された始動時噴射量と上記判断部によって算出された前回の監視用始動時噴射量との小さい方を、今回の監視用始動時噴射量として用いる。
【００１２】
上記構成によれば、エンジンの始動完了直後など、始動時噴射量が基本噴射量よりも大きくなるときには、始動時噴射量が噴射量指令値として採用されることにより、上記算出部による同噴射量指令値の算出が行われる。そして、この噴射量指令値が上記監視用噴射量に対し増大側に乖離したとき、上記判断部を通じて上記算出部が異常であると判断される。
【００１３】
上記判断部は、上記監視用噴射量を以下のように算出する。すなわち、上記算出部により算出された始動時噴射量に基づき算出される監視用始動時噴射量と、上記算出部により算出される基本噴射量とは別に上記判断部を通じてエンジン運転状態に基づき算出される監視用基本噴射量とのうち、大きい方を監視用噴射量として用いる。そして、上記算出部に異常がない条件下では、エンジン始動完了直後など、始動時噴射量が基本噴射量よりも大きくなって噴射量指令値として用いられているとき、監視用始動時噴射量が監視用基本噴射量よりも大きくなって監視用噴射量として用いられる。
【００１４】
ここで、始動完了後のエンジンの冷却水温は徐々に上昇してゆくことから、その冷却水温に基づき上記算出部によって算出される始動時噴射量は徐々に小さくなってゆく。このため、エンジンの始動完了直後であって、始動時噴射量が基本噴射量よりも大きくなって噴射量指令値として用いられている場合、上記算出部に異常がなければ、その算出部によって今回算出された始動時噴射量が前回算出された始動時噴射量より大きくなることはない。更に、このときには、上記判断部によって今回算出された監視用始動時噴射量が、前回算出された監視用始動時噴射量より大きくなることもない。これは、エンジンの始動完了後においては、今回の監視用始動時噴射量として、上記算出部により今回算出された始動時噴射量と上記判断部により前回算出された監視用始動時噴射量とのうちの小さい方が用いられるためである。
【００１５】
エンジンの始動完了直後であって、始動時噴射量が基本噴射量よりも大きくなって噴射量指令値として用いられている場合、上記算出部により今回算出された始動時噴射量が前回算出された始動時噴射量よりも大きいときには、上記算出部に異常が生じている可能性が高い。この場合には、上記算出部の異常に起因して、上記判断部により算出された前回の監視用始動時噴射量に対し、上記算出部により今回算出された始動時噴射量が大きくなることから、今回の監視用始動時噴射量として上記前回の監視用始動時噴射量が用いられる。更に、このときには監視用始動時噴射量が監視用基本噴射量よりも大きくなって監視用噴射量として用いられていることから、その監視用噴射量（前回の監視用始動時噴射量）に対し、噴射量指令値（今回算出された始動時噴射量）が増大側に乖離する。そして、そうした乖離に基づいて噴射量指令値を算出するための上記算出部に異常が発生していると判断することができる。
【００１６】
一方、エンジンの始動完了直後であって、始動時噴射量が基本噴射量よりも大きくなって噴射量指令値として用いられている場合、上記算出部に異常がなければ、前回算出された始動時噴射量よりも今回算出された始動時噴射量の方が小さくなる。このときには、上記算出部により今回算出された始動時噴射量が上記判断部により算出された前回の監視用始動時噴射量よりも小さくなるため、今回算出された始動時噴射量が今回の監視用始動時噴射量として用いられる。更に、このときには監視用始動時噴射量が監視用基本噴射量よりも大きくなって監視用噴射量として用いられることから、上記算出部により算出された噴射量指令値（今回算出された始動時噴射量）が、監視用噴射量（今回の監視用始動時噴射量）に対し増大側に乖離することはない。このため、算出部が正常であるにも関わらず噴射量指令値が監視用噴射量に対し増大側に乖離してしまい、そうした乖離に基づき噴射量指令値を算出するための算出部に異常が発生していると誤判断してしまうことを抑制できる。
【００１７】
なお、上記監視装置としては、エンジンの始動完了後における始動時噴射量が取り得る最大値の時間経過に伴う推移パターンを記憶した記憶部を更に備えるものとすることが考えられる。この場合、上記判断部は、エンジンの始動完了後における今回の監視用始動時噴射量を、次のように定めることが考えられる。すなわち、上記算出部によって今回算出された始動時噴射量、上記判断部によって算出された前回の監視用始動時噴射量、及び、上記記憶部に記憶されている上記推移パターンを用いてエンジンの始動完了からの経過時間に基づき求められる上記最大値のうち、最も小さいものを、今回の監視用始動時噴射量として用いる。
【００１８】
上記算出部の異常として、定められた時間間隔で算出される始動時噴射量が固定されたままになるという異常もある。こうした異常が生じた場合、エンジンの始動完了直後であって、始動時噴射量が基本噴射量よりも大きくなって噴射量指令値として用いられているとき、上記最大値がいずれは、上記算出部により今回算出された始動時噴射量、及び、上記判断部により算出された前回の監視用始動時噴射量よりも小さくなる。そして、上記最大値が、上記算出部により今回算出された始動時噴射量、及び、上記判断部により算出された前回の監視用始動時噴射量よりも小さくなると、その最大値が今回の監視用始動時噴射量として用いられる。このときには監視用始動時噴射量が監視用基本噴射量よりも大きくなって監視用噴射量として用いられていることから、上記算出部により算出された噴射量指令値（今回算出された始動時噴射量）が、監視用噴射量（今回の監視用始動時噴射量である上記最大値）に対し増大側に乖離する。そして、そうした乖離に基づいて、噴射量指令値を算出するための算出部に異常が発生していると判断することができる。
【図面の簡単な説明】
【００１９】
【図１】燃料噴射量制御装置の監視装置、及び、同装置が適用されるエンジンの燃料供給系の構成を模式的に示す略図。
【図２】噴射量指令値を算出する処理、及び、その算出を監視する処理の流れを示すブロック図。
【図３】エンジンの始動完了後の時間経過に伴う最大値Ｑstmaxの推移を示すグラフ。
【図４】エンジンの始動完了後において、マイクロコンピュータの算出機能に異常が生じているか否かを判断する手順を示すフローチャート。
【図５】フェールセーフ処理の実行手順を示すフローチャート。
【図６】（ａ）〜（ｄ）はそれぞれ、噴射量の推移、乖離量の推移、フェールセーフ処理の実行態様、エンジンの強制的な停止（エンスト）の実行態様を示すタイムチャート。
【図７】エンジンの始動開始後及び始動完了後における始動時噴射量Ｑst、基本噴射量Ｑbase、噴射量指令値Ｑfin、及び最大値Ｑstmaxの推移を示すタイムチャート。
【図８】エンジンの始動開始後及び始動完了後における始動時噴射量、基本噴射量、噴射量指令値の推移を示すタイムチャート。
【発明を実施するための形態】
【００２０】
以下、燃料噴射量制御装置の監視装置の一実施形態について、図１〜図７を参照して説明する。
図１は、この実施形態の燃料噴射量制御装置が適用されるディーゼルエンジンの燃料供給系を示している。同エンジンの燃料供給系には、燃料タンク１０から汲み上げた燃料を加圧して吐出する燃料ポンプ１１が設けられている。燃料ポンプ１１には、吐出する燃料の圧力を調整するための圧力調整弁１２が設置されている。燃料ポンプ１１が吐出した燃料は、コモンレール１３に圧送され、その内部に貯留される。そして、コモンレール１３に貯留された燃料は、各気筒のインジェクタ１４に分配供給される。なお、コモンレール１３には、その内部の燃料を燃料タンク１０に戻すことで、その内部の燃料の圧力（レール圧）を降下させる減圧弁１５が配設されている。
【００２１】
こうした燃料供給系を備えるエンジンは、電子制御装置２０により制御されている。電子制御装置２０は、エンジン制御にかかる各種演算処理を行うマイクロコンピュータ２１を備えている。また、電子制御装置２０は、マイクロコンピュータ２１からの指令に応じて各気筒のインジェクタ１４を駆動する電子駆動ユニット（ＥＤＵ）２３を備えている。また、電子制御装置２０には、マイクロコンピュータ２１からの指令に応じて圧力調整弁１２及び減圧弁１５を駆動する駆動回路２４も設けられている。
【００２２】
電子制御装置２０には、アクセル操作量Accpを検出するアクセルポジションセンサ２６、エンジンの冷却水の温度であるエンジン水温Thwを検出する水温センサ２７、レール圧Pcrを検出するレール圧センサ２８、エンジン出力軸の回転に応じてパルス状のクランク角信号を出力するクランク角センサ２９などの検出信号が入力される。なお、アクセルポジションセンサ２６、水温センサ２７及びレール圧センサ２８の検出信号は、電子制御装置２０に配設されたＡＤコンバーター（ＡＤＣ）２５にてデジタル信号に変換された上で、マイクロコンピュータ２１に入力される。また、クランク角センサ２９の出力するクランク角信号は、マイクロコンピュータ２１に直接入力される。
【００２３】
次に、電子制御装置２０によるエンジン制御の一環として行われる燃料噴射量制御について詳しく説明する。
この燃料噴射量制御は、マイクロコンピュータ２１によって算出された噴射量指令値Ｑfinに基づきインジェクタ１４を駆動することによって実現される。なお、マイクロコンピュータ２１の各種算出機能に異常が生じている場合、その機能を通じて算出された噴射量指令値Ｑfinを用いて燃料噴射量を制御すると、燃料噴射量が不適切な値となってエンジン運転に悪影響を及ぼす。このことに対処するため、マイクロコンピュータ２１は、噴射量指令値Ｑfinの算出等に関わる上記算出機能に異常が生じているか否かを判断する判断部としての機能も有しており、その判断部としての機能を用いて上記算出機能の異常に対応するようにしている。
【００２４】
図２は、マイクロコンピュータ２１を通じて実行される噴射量指令値Ｑfin の算出ルーチンＲ１の概要、及び、噴射量指令値Ｑfin の算出が正常に行われているか否かを監視する監視ルーチンＲ２の概要を示している。それら算出ルーチンＲ１及び監視ルーチンＲ２は、定められた時間間隔で周期的に実行される。同図から分かるように、上記算出ルーチンＲ１は、基本噴射量演算処理Ｐ１、始動時噴射量演算処理Ｐ２、噴射量指令値演算処理Ｐ３の３つの処理により構成されている。また、上記監視ルーチンＲ２は、監視用基本噴射量演算処理Ｐ４、監視用始動時噴射量演算処理Ｐ５、監視用噴射量演算処理Ｐ６、異常判断処理Ｐ７の４つの処理により構成されている。
【００２５】
算出ルーチンＲ１において、基本噴射量演算処理Ｐ１では、アクセル操作量Accp、及び、クランク角信号に基づいて求められるエンジン回転速度Neなど、エンジン運転状態に基づきマイクロコンピュータ２１に記憶されたマップを参照して基本噴射量Ｑbaseが算出される。なお、ここで算出された基本噴射量Ｑbaseに対し各種の補正を加えるようにしてもよい。
【００２６】
始動時噴射量演算処理Ｐ２では、エンジン回転速度Ne及びエンジン水温Thwに基づきマイクロコンピュータ２１に記憶されたマップを参照して始動時噴射量Ｑstが算出される。こうして算出された始動時噴射量Ｑstは、エンジンの始動性を向上すること等を意図してエンジン水温Thwが高いときには低いときよりも小さくなる。詳しくは、始動時噴射量Ｑstは、エンジン水温Thwが高くなるほどリニアに小さくなる。なお、このときの始動時噴射量Ｑstは、必ずしもエンジン水温Thwが高くなるほどリニアに小さくなる必要はなく、エンジン水温Thwが高くなるほどステップ状に小さくなってもよい。
【００２７】
噴射量指令値演算処理Ｐ３では、エンジンの始動開始から始動完了までの間においては始動時噴射量Ｑstを噴射量指令値Ｑfin に代入し、エンジンの始動完了後には始動時噴射量Ｑstと基本噴射量Ｑbaseとの大きい方を噴射量指令値Ｑfin に代入する。こうした代入により噴射量指令値Ｑfin の算出が行われる。なお、上記噴射量指令値演算処理Ｐ３を実行するときのマイクロコンピュータ２１は、噴射量指令値Ｑfin を算出する算出部としての役割を担う。
【００２８】
監視ルーチンＲ２において、監視用基本噴射量演算処理Ｐ４では、アクセル操作量Accp、及び、クランク角信号に基づいて求められるエンジン回転速度Neなど、エンジン運転状態に基づきマイクロコンピュータ２１に記憶されたマップを参照して監視用基本噴射量Ｑbasemが算出される。なお、ここで算出された監視用基本噴射量Ｑbasemに対しては、算出ルーチンＲ１の基本噴射量演算処理Ｐ１で基本噴射量Ｑbaseに対し加えられる各種補正に対応して、同様の各種の補正が加えられる。監視用基本噴射量演算処理Ｐ４での監視用基本噴射量Ｑbasemの算出は、算出ルーチンＲ１での基本噴射量Ｑbaseの算出と平行して、その算出とは別に行われる。
【００２９】
監視用始動時噴射量演算処理Ｐ５では、定められた時間間隔で算出ルーチンＲ１にて算出される始動時噴射量Ｑstがその算出毎に取り込まれる。更に、このように取り込まれた始動時噴射量Ｑst等に基づき、定められた時間間隔で監視用始動時噴射量Ｑstmを算出する。
【００３０】
監視用噴射量演算処理Ｐ６では、監視用基本噴射量Ｑbasemと監視用始動時噴射量Ｑstmとの大きい方を監視用噴射量Ｑfinmに代入する。こうした代入により監視用噴射量Ｑfinmの算出が行われる。
【００３１】
異常判断処理Ｐ７では、上記監視用噴射量Ｑfinmと算出ルーチンＲ１にて算出された上記噴射量指令値Ｑfinとを比較して、マイクロコンピュータ２１の算出機能に異常が生じているか否かが判断される。詳しくは、監視用噴射量Ｑfinmに対する噴射量指令値Ｑfinの増大側への乖離量ΔＱが求められ、その乖離量ΔＱが予め実験等によって定められた判定閾値Ｈよりも大きいとき、マイクロコンピュータ２１の算出機能に異常が生じていると判断される。
【００３２】
ちなみに、上記算出機能の異常ありと判断された場合、マイクロコンピュータ２１は、算出機能の異常時にも可能な限りエンジン運転を維持できるように燃料噴射量等を制御するフェールセーフ処理を実行する。
【００３３】
次に、監視用始動時噴射量演算処理Ｐ５における監視用始動時噴射量Ｑstmの算出の仕方について詳しく説明する。
監視用始動時噴射量演算処理Ｐ５においては、エンジンの始動開始後から始動完了までの間、算出ルーチンＲ１によって今回算出された始動時噴射量Ｑstを監視用始動時噴射量Ｑstmに代入する。なお、マイクロコンピュータ２１には、エンジンの始動完了後における始動時噴射量Ｑstが取り得る最大値Ｑstmaxの時間経過に伴う推移パターンが記憶されている。こうした最大値Ｑstmaxの推移パターンが記憶されているマイクロコンピュータ２１は、最大値Ｑstmaxの推移パターンを記憶するための記憶部としての役割を担っている。
【００３４】
図３は、エンジンの始動完了後の時間経過に伴う上記最大値Ｑstmaxの推移を示している。そして、エンジンの始動完了後の監視用始動時噴射量演算処理Ｐ５（図２）では、記憶された上記推移パターンを用いてエンジンの始動完了後の時間経過に基づき上記最大値Ｑstmaxを求める。更に、エンジンの始動完了後における監視用始動時噴射量演算処理Ｐ５では、今回算出された始動時噴射量Ｑst、前回の監視用始動時噴射量Ｑstm、及び上記最大値Ｑstmaxのうち、最も小さいものを、今回の監視用始動時噴射量Ｑstmとして用いる。こうして今回の監視用始動時噴射量Ｑstmが算出される。
【００３５】
次に、監視ルーチンＲ２によるエンジンの始動完了後のマイクロコンピュータ２１の算出機能の監視について詳しく説明する。
図４は、エンジンの始動完了後において、噴射量指令値Ｑfinの算出等にかかわるマイクロコンピュータ２１の算出機能に異常が生じているか否かを判断する異常判断ルーチンを示すフローチャートである。この異常判断ルーチンは、マイクロコンピュータ２１を通じて、例えば所定時間毎の時間割り込みにて周期的に実行される。
【００３６】
マイクロコンピュータ２１は、異常判断ルーチンのステップ１０１（Ｓ１０１）の処理として、エンジンの始動が完了したか否かを判断する。なお、エンジンの始動はスタータによる同エンジンのクランキングを通じて行われる。このためエンジン回転中に上記スタータがオフとされており、且つ、エンジンとトランスミッションとの間での動力伝達が遮断された状態であることに基づき、エンジンの始動が完了していると判断することができる。
【００３７】
Ｓ１０１の処理でエンジンの始動が完了していないと判断された場合、すなわちエンジンが始動開始から始動完了前までの間である場合、Ｓ１０２に進む。マイクロコンピュータ２１は、Ｓ１０２の処理として、図２の始動時噴射量演算処理Ｐ２を通じて今回算出された始動時噴射量Ｑstを取得し、その始動時噴射量Ｑstを監視用始動時噴射量Ｑstmに代入する。こうした代入により、エンジンの始動完了前における今回の監視用始動時噴射量Ｑstmが算出される。その後、図４のＳ１０４に進む。
【００３８】
一方、Ｓ１０１の処理でエンジンの始動が完了していると判断された場合には、Ｓ１０３に進む。マイクロコンピュータ２１は、Ｓ１０３の処理として、エンジンの始動完了後における監視用始動時噴射量Ｑstmを算出する。詳しくは、エンジンの始動完了後からの経過時間に基づき、現在とり得る始動時噴射量Ｑstの最大値Ｑstmaxを求める。更に、上記最大値Ｑstmax、始動時噴射量演算処理Ｐ２（図２）を通じて今回算出された始動時噴射量Ｑst、及び、前回のＳ１０２またはＳ１０３の処理を通じて算出された監視用始動時噴射量Ｑstmのうち、最も小さいものを、監視用始動時噴射量Ｑstmに代入する。こうした代入により、エンジンの始動完了後における今回の監視用始動時噴射量Ｑstmが算出される。その後、Ｓ１０４に進む。
【００３９】
なお、上述したＳ１０２及びＳ１０３の処理は、図２の監視用始動時噴射量演算処理Ｐ５に相当する。
マイクロコンピュータ２１は、Ｓ１０４（図４）の処理として、監視用始動時噴射量Ｑstmと監視用基本噴射量Ｑbasemとの大きい方を監視用噴射量Ｑfinmに代入する。こうした代入により監視用噴射量Ｑfinmの算出が行われる。このＳ１０５の処理は、図２の監視用噴射量演算処理Ｐ６に相当する。なお、エンジンの始動完了後において、始動時噴射量Ｑstが基本噴射量Ｑbaseよりも大きいことに基づき始動時噴射量Ｑstが噴射量指令値Ｑfinとして用いられているときには、監視用として算出される監視用始動時噴射量Ｑstmと監視用基本噴射量Ｑbasemとの大小関係も、上記始動時噴射量Ｑstと上記基本噴射量Ｑbaseとの大小関係と同様の関係となる。従って、上述したように始動時噴射量Ｑstが噴射量指令値Ｑfinとして用いられているときには、監視用始動時噴射量Ｑstmが監視用基本噴射量Ｑbasemよりも大きくなって同監視用始動時噴射量Ｑstmが監視用噴射量Ｑfinmとして用いられる。
【００４０】
異常判断ルーチンにおける図４のＳ１０５〜１０７の処理は、図２の異常判断処理Ｐ７に相当する。マイクロコンピュータ２１は、Ｓ１０５（図４）の処理として、噴射量指令値Ｑfinと監視用噴射量Ｑfinmとの乖離量ΔＱを算出する。この乖離量ΔＱは、噴射量指令値Ｑfinから監視用噴射量Ｑfinmを減算することによって算出される。その後、Ｓ１０６に進む。マイクロコンピュータ２１は、Ｓ１０６の処理として乖離量ΔＱが判定閾値Ｈよりも大きいか否かを判断し、ここで否定判断であれば異常判断ルーチンを一旦終了する。一方、乖離量ΔＱが判定閾値Ｈよりも大きくＳ１０６で肯定判断がなされた場合、マイクロコンピュータ２１はＳ１０７に進んで算出機能に異常が発生していると判断する。この場合にはＳ１０８に進む。
【００４１】
マイクロコンピュータ２１は、Ｓ１０８の処理として、エンジンの始動完了後であることを条件に上述したフェールセーフ処理の実行を指示する。その後、マイクロコンピュータ２１は異常判断ルーチンを一旦終了する。上記フェールセーフ処理では、上記算出機能の異常時であっても、可能な限りエンジン運転を維持できるように燃料噴射量等を制御することが行われる。ただし、そのように燃料噴射量等を制御してもエンジン運転を維持できないときには、フェールセーフ処理によって運転が維持されているエンジンを強制的に停止（エンスト）させることが行われる。
【００４２】
図５は、上記フェールセーフ処理を実行するためのフェールセーフ処理実行ルーチンを示すフローチャートである。同ルーチンは、マイクロコンピュータ２１を通じて、フェールセーフ制御の実行指示がなされたときに開始されるとともに、その開始後には所定時間毎の時間割り込みにて周期的に実行される。
【００４３】
マイクロコンピュータ２１は、フェールセーフ処理実行ルーチンのＳ２０１の処理として、図２の噴射量指令値演算処理Ｐ３で算出された噴射量指令値Ｑfinと、フェールセーフ処理を実施するために設定された異常時用噴射量Ｑfsとのうちの小さい方を、新たな噴射量指令値Ｑfinとして燃料噴射量制御に用いる。なお、上記異常時用噴射量Ｑfsとしては、エンジンを搭載した車両の退避走行が可能であり、且つ、通常のエンジン運転時よりも少ない燃料噴射量として、予め実験等により最適に定められた固定値を採用することが考えられる。
【００４４】
マイクロコンピュータ２１は、Ｓ２０２（図５）の処理として監視用噴射量Ｑfinmと異常時用噴射量Ｑfsとの小さい方を新たな監視用噴射量Ｑfinmとして用い、Ｓ２０３の処理として新たに設定された監視用噴射量Ｑfinmと噴射量指令値Ｑfin（異常時用噴射量Ｑfs）との乖離量ΔＱを求める。フェールセーフ処理では、異常時用噴射量Ｑfsとして比較的小さい値が用いられるため、通常は異常時用噴射量Ｑfsが監視用噴射量Ｑfinmとして用いられるようになり、噴射量指令値Ｑfin（異常時用噴射量Ｑfs）と監視用噴射量Ｑfinmとの乖離量ΔＱが大きくなることはない。
【００４５】
しかし、マイクロコンピュータ２１の算出機能に異常が発生している場合、上述した状況下でも上記異常に起因して噴射量指令値Ｑfinと監視用噴射量Ｑfinmとの乖離が大きくなる可能性がある。この場合、フェールセーフ処理を実行したとしても、エンジンの運転を維持することは困難になる。このため、マイクロコンピュータ２１は、Ｓ２０４の処理として、乖離量ΔＱが所定値Ａ（例えば判定閾値Ｈよりも小さい値を採用）よりも大きいか否かを判断し、ここで肯定判断であればＳ２０５の処理としてエンジンを強制的に停止（エンスト）させる。
【００４６】
なお、マイクロコンピュータ２１は、Ｓ２０４で否定判断であった場合にはフェールセーフ処理実行ルーチンを一旦終了し、Ｓ２０５の処理を実行した後にはフェールセーフ処理実行ルーチンの周期的な実行を停止する。
【００４７】
図６は、フェールセーフ処理の実行態様、及び、エンジンの強制的な停止（エンスト）の実行態様を示すタイムチャートである。マイクロコンピュータ２１の算出機能の異常により、図６（ａ）に示すように噴射量指令値Ｑfin（実線）と監視用噴射量Ｑfinm（破線）とが大きく乖離すると、図６（ｂ）に示すように乖離量ΔＱが判定閾値Ｈよりも大きくなる（タイミングＴ１）。このように乖離量ΔＱが判定閾値Ｈよりも大きくなることに基づき、図６（ｃ）に示すようにフェールセーフ処理が実行される。更に、フェールセーフ処理が実行された状態のもとでも、図６（ａ）に示すように噴射量指令値Ｑfin（実線）と監視用噴射量Ｑfinm（破線）とが乖離するようになる場合、図６（ｂ）に示すように乖離量ΔＱが所定値Ａよりも大きくなることに基づき（タイミングＴ２）、図６（ｄ）に示すようにエンジンの強制的な停止（エンスト）が実行される。
【００４８】
次に、燃料噴射量制御装置の監視装置の作用について説明する。
エンジンの始動完了直後など、エンジン水温Thwが低いときには、そのエンジン水温Thwに基づき求められる始動時噴射量Ｑstが、エンジン運転状態に基づき求められる基本噴射量Ｑbaseよりも大きくなる。このときには、始動時噴射量Ｑstが噴射量指令値Ｑfinとして採用されることにより、同噴射量指令値Ｑfinの算出が行われる。そして、この噴射量指令値Ｑfinが上記監視用噴射量Ｑfinmに対し増大側に乖離したとき、マイクロコンピュータ２１の算出機能に異常が発生していると判断される。
【００４９】
マイクロコンピュータ２１の算出機能に異常が発生しているか否かを判断するための上記監視用噴射量Ｑfinmは、次のように算出される。すなわち、上記始動時噴射量Ｑst等に基づき算出される監視用始動時噴射量Ｑstmと、上記基本噴射量Ｑbaseとは別に監視ルーチンＲ２にてエンジン運転状態に基づき算出される監視用基本噴射量Ｑbasemとのうち、大きい方を監視用噴射量Ｑfinmとして用いる。そして、マイクロコンピュータ２１の算出機能に異常がない条件下では、エンジン始動完了直後など、始動時噴射量Ｑstが基本噴射量Ｑbaseよりも大きくなって噴射量指令値Ｑfinとして用いられているとき、監視用始動時噴射量Ｑstmが監視用基本噴射量Ｑbasemよりも大きくなって監視用噴射量Ｑfinmとして用いられる。
【００５０】
ここで、始動完了後のエンジン水温Thwは徐々に上昇してゆくことから、そのエンジン水温Thwに基づき算出される上記始動時噴射量Ｑstは徐々に小さくなってゆく。このため、エンジンの始動完了直後であって、始動時噴射量Ｑstが基本噴射量Ｑbaseよりも大きくなって噴射量指令値Ｑfinとして用いられている場合、マイクロコンピュータ２１の算出機能に異常がなければ、今回算出された始動時噴射量Ｑstが前回算出された始動時噴射量Ｑstより大きくなることはない。更に、このときには、監視ルーチンＲ２で今回算出された監視用始動時噴射量Ｑstmが、前回算出された監視用始動時噴射量Ｑstmより大きくなることもない。これは、エンジンの始動完了後においては、今回の監視用始動時噴射量Ｑstmとして、今回算出された始動時噴射量Ｑst、前回算出された監視用始動時噴射量Ｑstm、最大値Ｑstmaxとのうち、最も小さいものが用いられるためである。
【００５１】
従って、エンジンの始動完了直後であって、始動時噴射量Ｑstが基本噴射量Ｑbaseよりも大きくなって噴射量指令値Ｑfinとして用いられている場合、今回算出された始動時噴射量Ｑstが前回算出された始動時噴射量Ｑstよりも大きいときには、マイクロコンピュータ２１の算出機能に異常が生じている可能性が高い。この場合には、上記算出機能の異常に起因して、前回の監視用始動時噴射量Ｑstmに対し、今回算出された始動時噴射量Ｑstが大きくなり、今回の監視用始動時噴射量Ｑstmとして上記前回の監視用始動時噴射量Ｑstmが用いられる。更に、このときには監視用始動時噴射量Ｑstmが監視用基本噴射量Ｑbasemよりも大きくなって監視用噴射量Ｑfinmとして用いられていることから、その監視用噴射量Ｑfinm（前回の監視用始動時噴射量Ｑstm）に対し、噴射量指令値Ｑfin（今回算出された始動時噴射量Ｑst）が増大側に乖離する。そして、そうした乖離に基づいて噴射量指令値Ｑfinを算出するためのマイクロコンピュータ２１の算出機能に異常が発生していると判断することができる。
【００５２】
なお、今回算出された始動時噴射量Ｑstが前回算出された始動時噴射量Ｑstよりも大きくなるという、上述したマイクロコンピュータ２１の算出機能の異常（以下、異常Ｅ１という）に関しては、例えば、記憶されたデータの異常化に起因して生じる。
【００５３】
一方、エンジンの始動完了直後であって、始動時噴射量Ｑstが基本噴射量Ｑbaseよりも大きくなって噴射量指令値Ｑfinとして用いられている場合、マイクロコンピュータ２１の算出機能に異常がなければ、前回算出された始動時噴射量Ｑstよりも今回算出された始動時噴射量Ｑstの方が小さくなる。このときには、今回算出された始動時噴射量Ｑstが前回の監視用始動時噴射量Ｑstmよりも小さくなり、今回算出された始動時噴射量Ｑstが今回の監視用始動時噴射量Ｑstmとして用いられる。更に、このときには監視用始動時噴射量Ｑstmが監視用基本噴射量Ｑbasemよりも大きくなって監視用噴射量Ｑfinmとして用いられるていることから、噴射量指令値Ｑfin（今回算出された始動時噴射量Ｑst）が、監視用噴射量Ｑfinm（今回の監視用始動時噴射量Ｑstm）に対し増大側に乖離することはない。このため、マイクロコンピュータ２１の算出機能が正常であるにも関わらず噴射量指令値Ｑfinが監視用噴射量Ｑfinmに対し増大側に乖離してしまい、そうした乖離に基づき上記算出機能に異常が発生していると誤判断してしまうことを抑制できる。
【００５４】
なお、マイクロコンピュータ２１の算出機能の異常としては、上記異常Ｅ１以外にも、定められた時間間隔で算出される始動時噴射量Ｑstが固定されたままになるという異常（以下、異常Ｅ２という）も生じる。
【００５５】
こうした異常Ｅ２が生じた場合、エンジンの始動完了直後であって、始動時噴射量Ｑstが基本噴射量Ｑbaseよりも大きくなって噴射量指令値Ｑfinとして用いられているとき、上記最大値Ｑstmaxがいずれは今回算出された始動時噴射量Ｑst及び前回算出された監視用始動時噴射量Ｑstmよりも小さくなる。そして、上記最大値Ｑstmaxが今回算出された始動時噴射量Ｑst及び前回算出された監視用始動時噴射量Ｑstmよりも小さくなると、その最大値Ｑstmaxが今回の監視用始動時噴射量Ｑstmとして用いられる。このときには監視用始動時噴射量Ｑstmが監視用基本噴射量Ｑbasemよりも大きくなって監視用噴射量Ｑfinmとして用いられていることから、噴射量指令値Ｑfin（今回算出された始動時噴射量Ｑst）が、監視用噴射量Ｑfinm（今回の監視用始動時噴射量Ｑstmである上記最大値Ｑstmax）に対し増大側に乖離する。そして、そうした乖離に基づいて、マイクロコンピュータ２１の算出機能に上記異常Ｅ２が発生していると判断することができる。
【００５６】
図７は、エンジンの始動開始後及び始動完了後における始動時噴射量Ｑst、基本噴射量Ｑbase、及び噴射量指令値Ｑfin、最大値Ｑstmaxの推移を示すタイムチャートである。
エンジンの始動完了後には、実線Ｌ１で示す基本噴射量Ｑbaseと実線Ｌ２で示す始動時噴射量Ｑstとの大きい方が噴射量指令値Ｑfin（破線Ｌ４）として採用される。このため、エンジンの始動完了直後などにエンジン水温Thwが低いことに起因して始動時噴射量Ｑstが基本噴射量Ｑbaseよりも大きくなり、その始動時噴射量Ｑstが噴射量指令値Ｑfinとして採用されている場合において、仮に監視用噴射量Ｑfinmが基本噴射量Ｑbaseに相当する値として算出されたとすると、次のような問題が生じる。すなわち、マイクロコンピュータ２１の算出機能が正常であっても、噴射量指令値Ｑfin（始動時噴射量Ｑstに相当）が監視用噴射量Ｑfinm（基本噴射量Ｑbaseに相当）に対し増大側に乖離し、そうした乖離に基づき上記算出機能に異常が発生しているとの誤判断がなされる。
【００５７】
しかし、エンジンの始動完了後であって、始動時噴射量Ｑstが噴射量指令値Ｑfinとして用いられているときには、今回算出された始動時噴射量Ｑst、前回算出された監視用始動時噴射量Ｑstm、及び記最大値Ｑstmax（図中の二点鎖線Ｌ３）のうち、最も小さいものが今回の監視用始動時噴射量Ｑstmとして用いられる。更に、同監視用始動時噴射量Ｑstmが監視用噴射量Ｑfinmとして用いられる。なお、図７の例において、マイクロコンピュータ２１の算出機能が正常であり、かつ、始動時噴射量Ｑstが噴射量指令値Ｑfinとして用いられているときであって、上述したように今回算出された始動時噴射量Ｑstが今回の監視用始動時噴射量Ｑstmとして用いられた場合、監視用噴射量Ｑfinmが実線Ｌ２上を推移する。従って、マイクロコンピュータ２１の算出機能が正常であるにも関わらず、噴射量指令値Ｑfinと監視用噴射量Ｑfinmとに乖離が生じるということはない。このため、そうした乖離に基づき噴射量指令値Ｑfinの算出等にかかわるマイクロコンピュータ２１の算出機能に異常が発生していると誤判断してしまうことは抑制される。
【００５８】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
（１）噴射量指令値Ｑfin の算出等にかかわるマイクロコンピュータ２１の算出機能に異常が発生しているとの誤判断が生じることを抑制できる。
【００５９】
（２）噴射量指令値Ｑfinの算出等にかかわるマイクロコンピュータ２１の算出機能の異常として、上述した異常Ｅ１と異常Ｅ２とのいずれが発生したときにも、上記算出機能に異常が発生したと判断することができる。
【００６０】
（３）マイクロコンピュータ２１の算出機能の異常が発生したときにはフェールセーフ処理を実行することにより、可能な限りエンジン運転を維持するという対策を講じることができる。
【００６１】
（４）また、フェールセーフ処理によってもエンジン運転を維持することが困難なときには、強制的にエンジンを停止（エンスト）させることにより、不安定なエンジン運転が続けられることを回避できる。
【００６２】
なお、上記実施形態は、例えば以下のように変更することもできる。
・今回算出された始動時噴射量Ｑstと前回算出された監視用始動時噴射量Ｑstmとの小さい方を、今回の監視用始動時噴射量Ｑstmとして用いるようにしてもよい。この場合、エンジンの始動完了後であって、始動時噴射量Ｑstが噴射量指令値Ｑfinとして用いられているとき、今回算出された始動時噴射量Ｑstと前回算出された監視用始動時噴射量Ｑstmとの小さい方が今回の監視用始動時噴射量Ｑstmとして用いられ、更に同監視用始動時噴射量Ｑstmが監視用噴射量Ｑfinmとして用いられるようになる。こうした構成を採用しても、噴射量指令値Ｑfinの算出等にかかわるマイクロコンピュータ２１の算出機能の異常として、上述した異常Ｅ１が発生しているか否かの判断を行うことができる。
【００６３】
・上述した強制的なエンジンの停止については、必ずしも実行する必要はない。
・上述したフェールセーフ処理についても、必ずしも実行する必要はない。
・判定閾値Ｈについては、「０」よりも大きい値を採用することが好ましいが、「０」を採用することも可能である。
【００６４】
・所定値Ａについては、判定閾値Ｈよりも大きい値、判定閾値Ｈと同じ値であってもよい。
【符号の説明】
【００６５】
１０…燃料タンク、１１…燃料ポンプ、１２…圧力調整弁、１３…コモンレール、１４…インジェクタ、１５…減圧弁、２０…電子制御装置、２１…マイクロコンピュータ、２３…電子制御ユニット（ＥＤＵ）、２４…駆動回路、２６…アクセルポジションセンサ、２７…水温センサ、２８…レール圧センサ、２９…クランク角センサ、２５…ＡＤコンバーター（ＡＤＣ）。
【図１】
2016205229.tif 000003
【図２】
2016205229.tif 000004
【図３】
2016205229.tif 000005
【図４】
2016205229.tif 000006
【図５】
2016205229.tif 000007
【図６】
2016205229.tif 000008
【図７】
2016205229.tif 000009
【図８】
2016205229.tif 000010