以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易にするための例示に過ぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
図1は、車両1が備えるエンジン制御装置2の構成を示す概略図である。ただし、以下では、本実施形態に関係する構成や処理について詳細に説明し、本実施形態と無関係の構成や処理については説明を省略する。
図1に示すように、エンジン制御装置2は、エンジン3およびECU4(Engine Control Unit)が設けられており、ECU4によってエンジン3全体が駆動制御される。エンジン3は、吸気行程、圧縮行程、燃焼行程および排気行程が1回のサイクルとして繰り返し行われる4ストロークエンジンである。
エンジン3は、シリンダブロック10と、シリンダブロック10と一体形成されたクランクケース12と、シリンダブロック10に連結されたシリンダヘッド14とが設けられている。
シリンダブロック10には、複数のシリンダ16が形成されており、シリンダ16には、ピストン18が摺動自在にコネクティングロッド20に支持される。そして、シリンダヘッド14と、シリンダ16と、ピストン18の冠面とによって囲まれた空間が燃焼室22として形成される。ピストン18には、ガスケット、ピストンリングやオイルリングが設けられている。
また、エンジン3には、クランクケース12によってクランク室24が形成されており、クランク室24内にクランクシャフト26が回転自在に支持される。クランクシャフト26には、コネクティングロッド20を介してピストン18が連結される。
シリンダヘッド14には、吸気ポート28および排気ポート30が燃焼室22に連通するように形成される。
吸気ポート28には、インテークマニホールド32を含む吸気流路34が接続される。吸気ポート28は、インテークマニホールド32に臨む吸気の上流側に1つの開口が形成されるとともに、燃焼室22に臨む下流側に2つの開口が形成されており、上流から下流に向かう途中で流路が2つに分岐される。
吸気ポート28と燃焼室22との間には、吸気バルブ36の先端(傘)が位置している。吸気バルブ36の末端には、ロッカーアーム38を介して、吸気用カムシャフト40に固定されたカム40aが当接されている。吸気バルブ36は、吸気用カムシャフト40の回転に伴って、吸気ポート28を燃焼室22に対して開閉する。
排気ポート30には、エキゾーストマニホールド44を含む排気流路46が接続される。排気ポート30は、燃焼室22に臨む排気の上流側に2つの開口が形成されるとともに、エキゾーストマニホールド44に臨む下流側に1つの開口が形成されており、上流から下流に向かう途中で流路が1つに統合される。
排気ポート30と燃焼室22との間には、排気バルブ48の先端(傘)が位置している。排気バルブ48の末端には、ロッカーアーム50を介して、排気用カムシャフト52に固定されたカム52aが当接されている。排気バルブ48は、排気用カムシャフト52の回転に伴って、排気ポート30を燃焼室22に対して開閉する。
また、シリンダヘッド14には、先端が燃焼室22内に位置するようにインジェクタ54および点火プラグ56が設けられており、吸気ポート28を介して燃焼室22に流入した空気に対してインジェクタ54から燃料が噴射される。そして、空気と燃料との混合気が、所定のタイミングで点火プラグ56に点火されて燃焼する。かかる燃焼により、ピストン18がシリンダ16内で往復運動を行い、その往復運動が、コネクティングロッド20を通じてクランクシャフト26の回転運動に変換される。
吸気流路34には、上流側から順に、エアクリーナ58、スロットルバルブ60が設けられている。エアクリーナ58は、外気から吸入された空気に混合する異物を除去する。スロットルバルブ60は、アクセル(不図示)の開度に応じてアクチュエータ62により開閉駆動され、燃焼室22へ送出する空気量を調節する。
排気流路46内には、触媒64が設けられる。触媒64は、例えば、三元触媒(Three-Way Catalyst)であって、プラチナ(Pt)、パラジウム(Pd)、ロジウム(Rh)を含んで構成され、燃焼室22から排出された排出ガス中の炭化水素(HC)、一酸化炭素(CO)、窒素酸化物(NOx)を除去する。
また、エンジン制御装置2には、アクセル開度センサ72、クランク角センサ74、エアフローメータ76、インストルメントパネル(表示部)78が設けられる。アクセル開度センサ72は、アクセルペダルの踏み込み量を検出する。クランク角センサ74は、クランクシャフト26近傍に設けられており、クランクシャフト26が所定角度回転する毎にパルス信号を出力する。エアフローメータ76は、吸気流路34内におけるスロットルバルブ60の下流に設けられており、吸気流路34内の状態、すなわち、スロットルバルブ60を通過し燃焼室22へ供給される吸気量(空気量)を検出する。インストルメントパネル78は、走行速度やエンジン回転数等の計器類を備える。また、インストルメントパネル78は、計器類だけでなく、走行に関する各種情報を表示する表示装置を備える。
ECU4は、中央処理装置(CPU)、プログラム等が格納されたROM、ワークエリアとしてのRAM等を含むマイクロコンピュータでなり、エンジン3を統括制御する。本実施形態では、ECU4は、エンジン制御処理を実行する際、取得部100、目標値導出部(エンジン回転数制御部)102、決定部104、駆動制御部106、積算走行距離導出部108、積算駆動時間導出部110、連続駆動可能時間導出部112、表示制御部114として機能する。
取得部100は、アクセル開度センサ72、クランク角センサ74、エアフローメータ76から出力される信号を取得する。
目標値導出部102は、クランク角センサから74から送信されるパルス信号に基づいて、エンジン回転数を導出する。そして、目標値導出部102は、アクセル開度センサ72から送信されるアクセル踏込み量信号(エンジン負荷)、および、導出したエンジン回転数に基づき、不図示のメモリに予め記憶されたマップを参照してエンジン3の目標トルクおよび目標エンジン回転数を導出する。
また、決定部104は、目標値導出部102により導出された目標エンジン回転数および目標トルクに基づいて、各シリンダ16に供給する目標空気量を決定し、決定した目標空気量に基づいて、目標スロットル開度を決定する。
そして、駆動制御部106は、決定部104により決定された目標スロットル開度でスロットルバルブ60が開口するようにアクチュエータ62を駆動させる。
また、決定部104は、決定した目標空気量に基づいて、例えば理論空燃比(λ=1)となる燃料量を目標噴射量として決定し、決定した目標噴射量の燃料をインジェクタ54から噴射させるために、インジェクタ54の目標噴射時期および目標噴射期間を決定する。そして、駆動制御部106は、決定部104により決定された目標噴射時期および目標噴射期間でインジェクタ54を駆動し、インジェクタ54から目標噴射量の燃料を噴射させる。
また、決定部104は、目標値導出部102により導出された目標エンジン回転数、および、クランク角センサ74によって検出されるパルス信号に基づいて、点火プラグ56の目標点火時期を決定する。そして、駆動制御部106は、決定部104により決定された目標点火時期で点火プラグ56を点火させる。
ところで、車両1には、車両1の走行性能が保証される走行距離(以下、保証距離L0という)が設定されている。また、エンジン3の損傷を回避するため、目標値導出部102は、保証距離L0に応じて実験(例えば、耐久試験等)で求められる値(以下、第一上限回転数Rxという)にエンジン回転数を制限(制御)する。したがって、目標値導出部102は、通常、第一上限回転数Rx以下となる目標エンジン回転数を導出する。
しかし、エンジン回転数が第一上限回転数Rxを上回ったとしても、ある決められたエンジン回転数(以下、第二上限回転数Ryという)、および、時間(以下、駆動許可時間Tmaxという)以下で運転するのであれば、エンジン損傷まで至らない。ここで、第二上限回転数Ryおよび駆動許可時間Tmaxは、第一上限回転数Rxと同様に、実験(例えば、耐久試験等)により求められる値である。また、駆動許可時間Tmaxとは、第一上限回転数Rxと第二上限回転数Ryとの間でエンジン3を駆動可能な時間である。駆動許可時間Tmaxの間、第一上限回転数Rxから第二上限回転数Ryまでの高回転領域を使用できれば、利用者は、エンジン損傷を招くことなく自由度の高い走行を行うことができる。利用者は、第一上限回転数Rxから第二上限回転数Ryまでの高回転領域を使用することで、例えば、サーキットなどでスポーツ走行を行う場合に有利である。
そこで、本実施形態の目標値導出部102は、第一上限回転数Rxよりも大きな第二上限回転数Ryまでの目標エンジン回転数を導出可能とする。目標値導出部102は、第一上限回転数Rxと第二上限回転数Ryとの間でエンジン3が駆動した合計時間(以下、積算駆動時間Tnという)が駆動許可時間Tmaxに達するまで、第二上限回転数Ryまでの目標エンジン回転数を導出可能である。ここで、従来は、駆動許可時間Tmaxを一定の駆動可能な時間(以下、連続駆動可能時間tnという)に区切って使用していた。
連続駆動可能時間tnを一定時間に設定すると、車両1の総走行距離(以下、積算走行距離Lnという)が保証距離L0に達するとき、利用者の使用状況によっては、駆動許可時間Tmaxを有効活用できない場合がある。例えば、利用者は、車両1の積算走行距離Lnが保証距離L0目前の所定距離に到達するまで、第一上限回転数Rxから第二上限回転数Ryまでの高回転領域を全く使用しなかったとする。その後、利用者は、積算走行距離Lnが保証距離L0に到達するまでの間、第一上限回転数Rxと第二上限回転数Ryとの間の高回転領域を使用し続けたとする。このとき、連続駆動可能時間tnが一定時間に設定されていると、所定時間ごとにエンジン回転数が第一上限回転数Rxに制限されてしまう。そのため、利用者は、積算走行距離Lnが保証距離L0に達したとき、駆動許可時間Tmaxを全て使用することができず、駆動許可時間Tmaxが余ってしまうことになる。つまり、連続駆動可能時間tnを一定時間としてしまうと、利用者は、駆動許可時間Tmaxを有効活用できない場合がある。
また、車両1の積算走行距離Lnが保証距離L0以上である場合、エンジン回転数を第一上限回転数Rxより高くしてしまうと、エンジン3が損傷するおそれがある。そのため、車両1の積算走行距離Lnが保証距離L0以上である場合、エンジン回転数を第一上限回転数Rx以下に制限する必要がある。
そこで、本実施形態のエンジン制御装置2は、第一上限回転数Rxと第二上限回転数Ryとの間でエンジン3を駆動可能な最大限の駆動許可時間Tmaxを好適に設定し、有効活用することを目的とする。本実施形態のエンジン制御装置2は、積算走行距離導出部108と、積算駆動時間導出部110と、連続駆動可能時間導出部112と、表示制御部114と、を有する。
積算走行距離導出部108は、車両1が走行した走行距離の合計値である積算走行距離Lnを導出する。積算駆動時間導出部110は、第一上限回転数Rxと第二上限回転数Ryとの間でエンジン3を駆動させた積算駆動時間Tnを導出する。ここで、積算駆動時間Tnとは、現在の積算走行距離Lnにおける、第一上限回転数Rxと第二上限回転数Ryとの間の領域でエンジン3を駆動させた合計時間のことである。連続駆動可能時間導出部112は、積算走行距離Lnと積算駆動時間Tnとに応じて、第一上限回転数Rxと第二上限回転数Ryとの間で連続してエンジン3を駆動可能な連続駆動可能時間tnを導出する。表示制御部114は、インストルメントパネル78の表示を制御し、例えば、連続駆動可能時間tnをインストルメントパネル78に表示させる。以下、本実施形態のエンジン制御装置2の具体的な動作について説明する。
まず、連続駆動可能時間導出部112は、積算走行距離導出部108により導出された積算走行距離Lnを取得する。そして、連続駆動可能時間導出部112は、積算走行距離Lnが所定距離(以下、使用開始距離Lsという)以上であるか否か判定する。連続駆動可能時間導出部112は、積算走行距離Lnが使用開始距離Ls未満である場合、ループ回数nを0(n=0)に設定し、連続駆動可能時間tnを0(tn=0)に設定する。
また、目標値導出部102は、積算走行距離Lnが使用開始距離Ls未満である場合、すなわち、連続駆動可能時間tnの値が0である場合、目標エンジン回転数の上限値を第一上限回転数Rxに設定する。換言すれば、目標値導出部102は、連続駆動可能時間tnの値が0である場合、目標エンジン回転数の上限値を、第二上限回転数Ryから第一上限回転数Rxに変更(制限)する。
このように、目標値導出部102は、積算走行距離Lnが使用開始距離Ls未満(すなわち、連続駆動可能時間tnの値が0)である場合、エンジン3の回転数を第一上限回転数Rx以下に制限する。換言すれば、目標値導出部102は、積算走行距離Lnが使用開始距離Ls未満(すなわち、連続駆動可能時間tnが0)である場合、第一上限回転数Rxから第二上限回転数Ryまでの高回転領域の使用を禁止する。これは、積算走行距離Lnが使用開始距離Ls未満である間は、エンジン3の慣らし運転期間中であり、この期間中に第一上限回転数Rxと第二上限回転数Ryとの間の高回転領域でエンジン3を駆動させると、エンジン3の損傷を招くおそれがあるからである。
一方、目標値導出部102は、積算走行距離Lnが使用開始距離Ls以上(後述する連続駆動可能時間tnの値が0以外)である場合、目標エンジン回転数の上限値を、連続駆動可能時間tnの間だけ第二上限回転数Ryに設定する。換言すれば、目標値導出部102は、連続駆動可能時間tnの値が0以外である場合、エンジン3の回転数を第二上限回転数Ry以下に制限する。つまり、目標値導出部102は、連続駆動可能時間tnが0以外である場合、第一上限回転数Rxから第二上限回転数Ryまでの高回転領域の使用を許可する。目標値導出部102は、第一上限回転数Rxと第二上限回転数Ryとの間で目標エンジン回転数を設定することで、エンジン3を第一上限回転数Rxと第二上限回転数Ryと間の回転数で駆動させることができる。このように、目標値導出部102は、連続駆動可能時間tn内において、第一上限回転数Rxと第二上限回転数Ryとの間でエンジン3を駆動可能に制御するエンジン回転数制御部として機能する。
上述したように、目標値導出部102は、積算走行距離Lnが使用開始距離Ls以上である場合、目標エンジン回転数の上限値を、第二上限回転数Ryに設定する。また、連続駆動可能時間導出部112は、積算走行距離Lnが使用開始距離Ls以上である場合、目標値導出部102により導出された目標エンジン回転数の値が、第一上限回転数Rxより大きく第二上限回転数Ry以下であるか否か判定する。連続駆動可能時間導出部112は、目標エンジン回転数が第一上限回転数Rxより大きく第二上限回転数Ry以下である場合、ループ回数nを1加算(インクリメント)する。すなわち、連続駆動可能時間導出部112は、目標エンジン回転数が第一上限回転数Rxを超える毎に、ループ回数nを1加算(インクリメント)する。連続駆動可能時間導出部112は、ループ回数nの値を、不図示のメモリに記憶させる。
つぎに、連続駆動可能時間導出部112は、ループ回数nを参照し、連続駆動可能時間tnを導出する。ここで、連続駆動可能時間tnとは、現在の積算走行距離Lnにおける、第一上限回転数Rxと第二上限回転数Ryとの間の高回転領域でエンジン3を駆動可能な一回あたりの運転継続許可時間のことである。連続駆動可能時間導出部112は、ループ回数nが1である場合、連続駆動可能時間tnを予め設定された時間(以下、所定時間tsという)に設定する。一方、連続駆動可能時間導出部112は、ループ回数nが2以上(n≧2)である場合、下記式1に基づいて連続駆動可能時間tnを導出し、導出した値を設定する。なお、連続駆動可能時間導出部112は、所定時間、あるいは、所定距離ごとに下記式1による連続駆動可能時間tnの導出を行うようにしてもよい。
・・・ (式1)
目標値導出部102は、連続駆動可能時間tnが0以外(すなわち、所定時間tsや上記式1により導出された値)である場合、目標エンジン回転数の上限値を、連続駆動可能時間tnの間だけ第二上限回転数Ryに設定する。
連続駆動可能時間tn経過後、積算駆動時間導出部110は、連続駆動可能時間tnのうち、第一上限回転数Rxと第二上限回転数Ryとの間でエンジン3が駆動した駆動時間を導出する。積算駆動時間導出部110は、導出した駆動時間を、不図示のメモリに記憶させる。ここで、積算駆動時間導出部110は、駆動時間を導出する際、不図示のメモリに記憶された駆動時間を読み出す。積算駆動時間導出部110は、不図示のメモリに駆動時間が記憶されていない場合、導出した駆動時間(積算駆動時間Tn)をそのまま不図示のメモリに記憶させる。また、積算駆動時間導出部110は、不図示のメモリに駆動時間が記憶されている場合、不図示のメモリに記憶された駆動時間と、導出した駆動時間とを加算した合計駆動時間(積算駆動時間Tn)を導出する。積算駆動時間導出部110は、導出した合計駆動時間を、不図示のメモリに上書き保存させる。
連続駆動可能時間導出部112は、積算駆動時間導出部110により導出された積算駆動時間Tn、および、積算走行距離導出部108により導出された積算走行距離Lnを取得する。連続駆動可能時間導出部112は、積算駆動時間Tnが駆動許可時間Tmax以上であるか否か判定する。連続駆動可能時間導出部112は、積算駆動時間Tnが駆動許可時間Tmax以上である場合、連続駆動可能時間tnを0(tn=0)に設定する。これは、駆動許可時間Tmaxを超えて、第一上限回転数Rxと第二上限回転数Ryとの間の高回転領域でエンジン3を駆動させると、エンジン3の損傷を招くおそれがあるからである。
また、連続駆動可能時間導出部112は、積算走行距離Lnが保証距離L0以上であるか否か判定する。連続駆動可能時間導出部112は、積算走行距離Lnが保証距離L0以上である場合、連続駆動可能時間tnを0(tn=0)に設定する。これは、積算走行距離Lnが保証距離L0を超えた状態で、第一上限回転数Rxと第二上限回転数Ryとの間の高回転領域でエンジン3を駆動させると、エンジン3の損傷を招くおそれがあるからである。
目標値導出部102は、積算走行距離Lnが保証距離L0以上、または、積算駆動時間Tnが駆動許可時間Tmax以上(すなわち、連続駆動可能時間tnの値が0)である場合、エンジン3の回転数を第一上限回転数Rx以下に制限する。換言すれば、目標値導出部102は、積算走行距離Lnが保証距離L0以上、または、積算駆動時間Tnが駆動許可時間Tmax以上である場合、第一上限回転数Rxから第二上限回転数Ryまでの高回転領域の使用を禁止する。
以上のように、本実施形態によれば、連続駆動可能時間導出部112は、上記式1に基づいて連続駆動可能時間tnを導出する。連続駆動可能時間tnの値は、積算走行距離Lnと積算駆動時間Tnとに応じて変更される。例えば、連続駆動可能時間tnの値は、上記式1から理解できるように、積算走行距離Lnが保証距離L0に近づくにつれ大きく設定される。また、連続駆動可能時間tnの値は、上記式1から理解できるように、積算駆動時間Tnが0に近いほど(すなわち、エンジン3の損傷が少ないほど)大きく設定される。このように、連続駆動可能時間導出部112は、上記式1に基づいて連続駆動可能時間tnを導出することで、保証距離L0、および、利用者の使用状況(エンジン負荷)に応じた連続駆動可能時間tnを好適に導出することができる。これにより、利用者は、第一上限回転数Rxと第二上限回転数Ryとの間の高回転領域を使用しないほど、積算走行距離Lnが保証距離L0に近づくにつれ、予め設定された所定時間tsよりも長い時間、高回転領域を利用可能となる。そのため、利用者は、積算走行距離Lnが保証距離L0に達するまでの間に、すべての駆動許可時間Tmaxを利用することが容易になる。その結果、利用者は、第一上限回転数Rxと第二上限回転数Ryとの間の高回転領域を利用可能な駆動許可時間Tmaxを有効活用することができる。
図2は、本実施形態の連続駆動可能時間導出部112により導出される連続駆動可能時間tnの一例を示す図である。図2(a)は、車両1のエンジン負荷ELと車両1の積算走行距離Lnとの関係を表す。縦軸に車両1のエンジン負荷ELを表し、横軸に車両1の積算走行距離Lnを表す。図2(b)は、連続駆動可能時間tn内で利用者が第一上限回転数Rxと第二上限回転数Ryとの間の高回転領域を使用した駆動時間Dtと車両1の積算走行距離Lnとの関係を表す。縦軸に駆動時間Dtを表し、横軸に積算走行距離Lnを表す。図2(a)に示すように、積算走行距離Lnに応じてエンジン負荷ELも大きくなる。ここで、エンジン負荷EL2は、車両1の積算走行距離Lnが保証距離L0に到達するまでに使用可能なエンジン負荷の上限値である。例えば、エンジン負荷EL2は、利用者が高回転領域において駆動許可時間Tmaxを全て使用した場合におけるエンジン負荷である。対して、エンジン負荷EL1は、連続駆動可能時間tnを一定時間に設定した場合において利用者が駆動許可時間Tmaxを全て使用できなかった場合におけるエンジン負荷である。図2(b)に示す二点鎖線(駆動時間Dt1)は、利用者の高回転領域の使用例Aを表す。図2(b)に示す実線(駆動時間Dt0、Dt2)は、利用者の高回転領域の使用例Bを表す。使用例Aでは、利用者は、使用開始距離Lsから保証距離L0に至るまで、駆動時間Dt1をコンスタントに使用している。一方、使用例Bでは、利用者は、使用開始距離Lsから保証距離L0までの間の使用開始距離Ls側において、駆動時間Dt1よりも少ない駆動時間Dt0を使用している。上述したように、連続駆動可能時間tnの値は、積算駆動時間Tnが0に近いほど(すなわち、エンジン3の損傷が少ないほど)大きく設定される。そのため、利用者は、使用例Bの使用開始距離Lsから保証距離L0までの間の保証距離L0側において、使用例Aの駆動時間Dt1よりも長い駆動時間Dt2を使用することができるようになる。
ここで、連続駆動可能時間tnを図2(b)に示す駆動時間Dt1(一定時間)に設定した場合、利用者は、使用開始距離Lsから保証距離L0に至るまで、駆動時間Dt1を定期的に使用なければ、駆動許可時間Tmaxを全て使用することができない。したがって、保証距離L0目前の所定距離に到達するまで利用者が高回転領域(駆動時間Dt1)をほとんど使用しなかった場合、駆動許可時間Tmaxを全て使用することができず、駆動許可時間Tmaxが余ってしまう。この場合、車両1のエンジン負荷ELは、図2(a)に示すエンジン負荷EL2まで到達することはなく、図2(a)に示すエンジン負荷EL1までしか到達することができない。つまり、利用者は、車両1の使用状況に応じて、エンジン負荷EL1からエンジン負荷EL2までのエンジン負荷領域を利用することができない場合がある。この場合、利用者は、車両1に搭載されるエンジン3を有効活用することができずに、積算走行距離Lnが保証距離L0に到達することとなる。
対して、連続駆動可能時間tnを上記式1に基づいて導出した場合、利用者は、車両1の使用状況に応じて、例えば、図2(b)に示す駆動時間Dt2のように駆動時間Dt1(一定時間)よりも大きな駆動時間を使用することができる。したがって、保証距離L0目前の所定距離に到達するまで利用者が高回転領域(駆動時間Dt0)をほとんど使用しなかった場合でも、保証距離L0に到達するまでに駆動許可時間Tmaxを全て使用することが容易になる。この場合、車両1のエンジン負荷ELは、図2(a)に示すエンジン負荷EL1よりも大きなエンジン負荷EL2まで到達することが容易になる。つまり、利用者は、車両1の使用状況に応じて、エンジン負荷EL1からエンジン負荷EL2までのエンジン負荷領域を容易に利用することができる。この場合、利用者は、積算走行距離Lnが保証距離L0に到達するまでに、車両1に搭載されるエンジン3を有効活用することができる。
表示制御部114は、連続駆動可能時間tnをインストルメントパネル78に表示させる。そのため、利用者は、インストルメントパネル78を視認することで連続駆動可能時間tnを確認することができる。利用者は、例えば、サーキットなどのスポーツ走行を行う予定がある場合、現時点での連続駆動可能時間tnを確認することで、通常運転時における高回転運転を抑制する(駆動時間Dt1よりも少ない駆動時間Dt0)ことができる。利用者は、通常運転時に高回転運転を抑制した分、サーキット等でより長い連続駆動可能時間tn(駆動時間Dt1よりも長い駆動時間Dt2)を利用することができる。
図3は、ECU4によるエンジン制御処理のフローチャートを示す図である。
まず、連続駆動可能時間導出部112は、ループ回数nを0(n=0)に設定する(ステップS102)。連続駆動可能時間導出部112は、連続駆動可能時間tnを0(tn=0)に設定する(ステップS104)。連続駆動可能時間導出部112は、積算走行距離Lnが使用開始距離Ls以上であるか否か判定する(ステップS106)。連続駆動可能時間導出部112は、積算走行距離Lnが使用開始距離Ls未満である場合(ステップS106においてNO)、ステップS102に戻り、ステップS102~106の処理を繰り返す。
連続駆動可能時間導出部112は、積算走行距離Lnが使用開始距離Ls以上である場合(ステップS106においてYES)、目標エンジン回転数の値が、第一上限回転数Rxより大きく第二上限回転数Ry以下であるか否か判定する(ステップS108)。連続駆動可能時間導出部112は、目標エンジン回転数が第一上限回転数Rx以下である場合(ステップS108においてNO)、ステップS108の処理を繰り返す。連続駆動可能時間導出部112は、目標エンジン回転数が第一上限回転数Rxより大きく第二上限回転数Ry以下である場合(ステップS108においてYES)、ループ回数nを1加算(インクリメント)する(ステップS110)。
連続駆動可能時間導出部112は、ループ回数nが2以上であるか否か判定する(ステップS112)。連続駆動可能時間導出部112は、ループ回数nが1である場合(ステップS112においてNO)、連続駆動可能時間tnを予め設定された所定時間tsに設定する(ステップS124)。一方、連続駆動可能時間導出部112は、ループ回数nが2以上(n≧2)である場合(ステップS112においてYES)、積算駆動時間Tnが前回の連続駆動可能時間tn以上であるか否かを判定する(ステップS114)。連続駆動可能時間導出部112は、積算駆動時間Tnが前回の連続駆動可能時間tn未満であると判定した場合(ステップS114においてNO)、ステップS124に進む。一方、連続駆動可能時間導出部112は、積算駆動時間Tnが前回の連続駆動可能時間tn以上であると判定した場合(ステップS114においてYES)、上記式1に基づいて連続駆動可能時間tnを導出する(ステップS116)。
ステップS116の後、連続駆動可能時間導出部112は、導出した連続駆動可能時間tnが上限連続駆動可能時間ta以上であるか否かを判定する(ステップS118)。ここで、導出した連続駆動可能時間tnが駆動許可時間Tmaxに近い場合、エンジン3が損傷するおそれがある。そこで、本実施形態では、エンジン3の損傷を回避するため、連続駆動可能時間tnに上限(上限連続駆動可能時間ta)を設けている。上限連続駆動可能時間taは、駆動許可時間Tmaxより小さい値である。連続駆動可能時間導出部112は、連続駆動可能時間tnが上限連続駆動可能時間ta未満であると判定した場合(ステップS118においてNO)、連続駆動可能時間tnとして導出した値を設定する(ステップS122)。一方、連続駆動可能時間導出部112は、連続駆動可能時間tnが上限連続駆動可能時間ta以上であると判定した場合(ステップS118においてYES)、連続駆動可能時間tnとして上限連続駆動可能時間taを設定する(ステップS120)。これにより、連続駆動可能時間tnは、所定時間ts≦連続駆動可能時間tn≦上限連続駆動可能時間taの範囲内で設定される。
積算駆動時間導出部110は、第一上限回転数Rxと第二上限回転数Ryとの間でエンジン3が駆動した積算駆動時間Tnを導出する(ステップS126)。積算駆動時間導出部110は、連続駆動可能時間tnのうち、第一上限回転数Rxと第二上限回転数Ryとの間でエンジン3が駆動した駆動時間と、不図示のメモリに記憶された前回の積算駆動時間Tnとを加算した合計駆動時間(今回の積算駆動時間Tn)を導出する。
連続駆動可能時間導出部112は、積算駆動時間Tnが駆動許可時間Tmax以上であるか否か判定する(ステップS128)。連続駆動可能時間導出部112は、積算駆動時間Tnが駆動許可時間Tmax未満である場合(ステップS128においてNO)、積算走行距離Lnが保証距離L0以上であるか否か判定する(ステップS130)。また、連続駆動可能時間導出部112は、積算駆動時間Tnが駆動許可時間Tmax以上である場合(ステップS128においてYES)、ステップS132に進む。
連続駆動可能時間導出部112は、積算走行距離Lnが保証距離L0未満である場合(ステップS130においてNO)、ステップS108に戻り、ステップS108~130までの処理を繰り返す。連続駆動可能時間導出部112は、積算走行距離Lnが保証距離L0以上である場合(ステップS130においてYES)、ステップS132に進む。
連続駆動可能時間導出部112は、ステップS128においてYES、または、ステップS130においてYESである場合、連続駆動可能時間tnを0(tn=0)に設定し(ステップS132)、エンジン制御処理を終了する。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。