(57)【特許請求の範囲】
【請求項１】
エンジンによって駆動される油圧ポンプと、
前記油圧ポンプから吐出された圧油が供給される油圧アクチュエータと、
各油圧アクチュエータを操作する操作手段と、
前記操作手段の操作量あるいは燃料ダイヤルの設定値に応じて前記エンジンのエンジン目標回転数を設定するエンジン目標回転数設定手段と、
現在のエンジン回転数および現在のエンジンに対する燃料噴射量から推定した現在のエンジントルクとから現在のエンジン出力を演算するエンジン出力演算手段と、
エンジン回転数と該エンジン回転数に対して予め決定された目標馬力線よりも所定馬力分低い負荷感知馬力線との関係をもとに、前記エンジン目標回転数に対する前記負荷感知馬力線上のエンジン目標出力を演算するエンジン目標出力演算手段と、
前記エンジン出力演算手段が演算したエンジン出力と前記エンジン目標出力演算手段が演算したエンジン目標出力とを比較演算し、この比較演算結果をもとにエンジン目標回転数加算値を求め、前記エンジン目標回転数に該エンジン目標回転数加算値を加算した補正エンジン目標回転数を求め、この補正エンジン目標回転数に一致するように、エンジン回転数を制御するエンジン制御手段と、
を備えたことを特徴とするエンジンの制御装置。
【請求項２】
前記エンジン目標出力演算手段は、前記補正エンジン目標回転数を前記エンジン目標回転数として順次入力し、この入力されたエンジン目標回転数に対する前記負荷感知馬力線上のエンジン目標出力を順次演算し、
前記エンジン制御手段は、前記エンジン出力演算手段が演算したエンジン出力と前記エンジン目標出力演算手段が演算したエンジン目標出力とを順次比較演算し、この比較演算結果をもとに前記補正エンジン目標回転数を順次更新し、この更新した補正エンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする請求項１に記載のエンジンの制御装置。
【請求項３】
前記エンジン制御手段は、前記エンジン出力演算手段が演算したエンジン出力が、前記エンジン目標出力演算手段が演算したエンジン目標出力を上回る場合に、前回のエンジン目標回転数加算値に、前記エンジン出力から前記エンジン目標出力を減算した値に対応する差分エンジン回転数を累積加算し、この累積加算したエンジン目標回転数加算値を前記エンジン目標回転数に加算し、この加算した値を前記補正エンジン目標回転数として求め、この補正エンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする請求項１または２に記載のエンジンの制御装置。
【請求項４】
前記エンジン制御手段は、前記エンジン出力演算手段が演算したエンジン出力が、前記エンジン目標出力演算手段が演算したエンジン目標出力を下回る場合に、前回のエンジン目標回転数加算値に、前記エンジン目標出力から前記エンジン出力を減算した値に対応する差分エンジン回転数を累積減算し、この累積減算したエンジン目標回転数加算値を前記エンジン目標回転数から減算し、この減算した値を前記補正エンジン目標回転数として求め、この補正エンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする請求項１〜３のいずれか一つに記載のエンジンの制御装置。
【請求項５】
前記エンジン制御手段は、前記補正エンジン目標回転数を、前記エンジン目標回転数以下に下げない制御を行うことを特徴とする請求項１〜４のいずれか一つに記載のエンジンの制御装置。
【請求項６】
前記エンジン制御手段は、前記操作手段が中立状態からフル状態に向けて増加中もしくは増加後に静止された状態にある場合、前記エンジン目標回転数を減少方向に更新しない制御を行うことを特徴とする請求項１〜５のいずれか一つに記載のエンジンの制御装置。
【請求項７】
前記エンジン制御手段は、前記操作手段の操作状態が中立状態または中立に近い微操作状態にある場合に、前記エンジン目標回転数の補正を行わない制御を行うことを特徴とする請求項１〜６のいずれか一つに記載のエンジンの制御装置。
【請求項８】
前記エンジンの出力軸に連結された発電電動機と、
前記発電電動機が発電した電力を蓄積するとともに発電電動機に電力を供給する蓄電器と、
前記発電電動機をエンジントルクアシスト作用させるか否かを判定する判定手段と、
を備え、
前記エンジン制御手段は、前記判定手段がエンジントルクアシスト作用を行う場合、前前記エンジン目標回転数の補正を行わない制御を行うことを特徴とする請求項１〜７のいずれか一つに記載のエンジンの制御装置。
【請求項９】
前記操作手段の操作量をもとに前記操作手段が非操作の状態から操作状態に切り替わったことを判定する操作状態判定手段と、
前記操作状態判定手段が操作状態に切り替わったと判定した場合には、エンジンの目標回転数をローアイドル回転数よりも高い第２のエンジン目標回転数に設定する第２の目標回転数設定手段と、
を備え、前記エンジン制御手段は、前記補正エンジン目標回転数および第２のエンジン目標回転数のうちのいずれか高い方のエンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする請求項１〜８のいずれか一つに記載のエンジンの制御装置。
【請求項１０】
各操作手段の操作量および油圧ポンプの負荷圧から複数の油圧アクチュエータの作業パターンを判別する判別手段と、
各作業パターンに応じて、油圧ポンプの馬力制限値を設定する馬力制限値設定手段と、
油圧ポンプの馬力制限値に応じて、第３のエンジン目標回転数を設定する第３の目標回転数設定手段と、
を備え、前記エンジン制御手段は、前記補正エンジン目標回転数および第３のエンジン目標回転数のうちいずれか小さい方のエンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする請求項１〜９のいずれか一つに記載のエンジンの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、エンジンによって油圧ポンプを駆動する場合に用いられるエンジンの制御装置に関するものである。
【背景技術】
【０００２】
従来から、油圧ショベル、ブルドーザ、ダンプトラック、ホイールローダなどの建設機械には、ディーゼルエンジンが搭載されている。
【０００３】
図２６を用いて従来の建設機械１００の概要構成について説明する。図２６に示すように、建設機械１００は、ディーゼルエンジンであるエンジン２を駆動源として油圧ポンプ３を駆動する。油圧ポンプ３は、可変容量型の油圧ポンプが用いられ、その斜板３ａの傾転角等を変化させることで容量ｑ（ｃｃ/ｒｅｖ）が変化する。油圧ポンプ３から吐出圧ＰRP、流量Ｑ（ｃｃ/ｍｉｎ）で吐出された圧油は、操作バルブ２１〜２６を介してブームシリンダ３１等の各油圧アクチュエータ３１〜３６に供給される。各操作バルブ２１〜２６は、各操作レバー４１、４２の操作によって作動される。各油圧アクチュエータ３１〜３６に圧油が供給されることで、各油圧アクチュエータ３１〜３６が駆動され、各油圧アクチュエータ３１〜３６に接続されたブーム、アーム、バケットからなる作業機、下部走行体、上部旋回体が作動する。建設機械１００が稼動している間、作業機、下部走行体、上部旋回体にかかる負荷は、掘削土質、走行路勾配等に応じて絶えず変化する。これに応じて油圧機器（油圧ポンプ３）の負荷（以下油機負荷）、つまりエンジン２にかかる負荷が変化する。
【０００４】
エンジン２の出力Ｐ（馬力；ｋｗ）の制御は、シリンダ内へ噴射する燃料量を調整して行われる。この調整は、エンジン１の燃料噴射ポンプに付設したガバナ４を制御することで行われる。ガバナ４としては、一般的にオールスピード制御方式のガバナが用いられ、燃料ダイヤルで設定された目標エンジン回転数が維持されるように、負荷に応じてエンジン回転数ｎと燃料噴射量（トルクＴ）とが調整される。すなわち、ガバナ４は、目標回転数とエンジン回転数との差がなくなるよう燃料噴射量を増減する。
【０００５】
図２７は、エンジン２のトルク線図を示しており、横軸にエンジン回転数ｎ（ｒｐｍ；ｒｅｖ/ｍｉｎ）をとり、縦軸にトルクＴ（Ｎ・ｍ）をとっている。図２７において、最大トルク線Ｒで規定される領域が、エンジン２が出し得る性能を示す。ガバナ４は、トルクＴが最大トルク線Ｒを超えて排気煙限界とならないように、またエンジン回転数ｎがハイアイドル回転数ｎHを超えて過回転とならないように、エンジン２を制御する。最大トルク線Ｒ上の定格点Ｖでエンジン２の出力（馬力）Ｐが最大になる。Ｊは、油圧ポンプ３で吸収される馬力が等馬力になっている等馬力曲線を示している。
【０００６】
燃料ダイヤルで最大目標回転数が設定されると、ガバナ４は定格点Ｖとハイアイドル点ｎHとを結ぶ最高速レギュレーションラインＦe上で調速を行う。
【０００７】
油圧ポンプ３の負荷が大きくなるにつれて、エンジン２の出力とポンプ吸収馬力とが釣り合うマッチング点は、最高速レギュレーションラインＦe上を定格点Ｖ側に移動する。マッチング点が定格点Ｖ側に移動するときエンジン回転数ｎは徐々に減じられ、定格点Ｖではエンジン回転数ｎは定格回転数になる。
【０００８】
このようにエンジン回転数ｎをほぼ一定の高回転数に固定して作業を行うと、燃料消費率が大きく（悪く）、ポンプ効率が低いという問題がある。なお、燃料消費率（以下燃費）とは、１時間、出力１ｋＷ当たりの燃料の消費量をいい、エンジン２の効率の一指標である。またポンプ効率とは、容積効率、トルク効率で規定される油圧ポンプ３の効率のことである。
【０００９】
図２７において、Ｍは等燃費曲線を示している。等燃費曲線Ｍの谷となるＭ1で燃費が最小となり、燃費最小点Ｍ1から外側に向かうにつれて燃費は大きくなる。
【００１０】
図２７からも明らかなように、レギュレーションラインＦeは、等燃費曲線Ｍ上で燃費が比較的大きい領域に相当する。このため、従来の制御方法によれば燃費が大きく（悪く）、エンジン効率上望ましくない。
【００１１】
一方、可変容量型の油圧ポンプ３の場合、一般的に、同じ吐出圧ＰRPであればポンプ容量ｑ（斜板傾転角度）が大きいほど容積効率、トルク効率が高くポンプ効率が高いということが知られている。
【００１２】
また下記（１）式からも明らかなように、油圧ポンプ３から吐出される圧油の流量Ｑが同じであれば、エンジン２の回転数ｎを低くすればするほどポンプ容量ｑを大きくすることができる。このためエンジン２を低速化すればポンプ効率を高くすることができる。
【００１３】
Ｑ＝ｎ・ｑ  …（１）
したがって油圧ポンプ３のポンプ効率を高めるためには、エンジン２を回転数ｎが低い低速領域で稼動させればよい。
【００１４】
しかし、図２７からも明らかなように、レギュレーションラインＦeは、エンジン２の高回転領域に相当する。このため従来の制御方法によればポンプ効率が低いという問題がある。
【００１５】
また、レギュレーションラインＦe上でエンジン２を稼動させると、高負荷になるとエンジン回転数が低下するため、エンストに至るおそれがある。
【００１６】
このような負荷にかからずエンジン回転数をほぼ固定とする制御方法に対して、レバー操作量および負荷に応じてエンジン回転数を変化させるという制御方法が特許文献１に記載されている。
【００１７】
この特許文献１では、図２７に示すように、燃費最小点Ｍ1を通る目標エンジン運転線Ｌ0が設定される。
【００１８】
そして、各操作レバー４１、４２、４３、４４の操作量等に基づいて、油圧ポンプ３の必要回転数が演算され、このポンプ必要回転数に対応する第１のエンジン必要回転数が演算される。また、各操作レバー４１、４２、４３、４４の操作量等に基づいて、エンジン必要馬力が演算され、このエンジン必要馬力に対応する第２のエンジン必要回転数が算出される。ここで、第２のエンジン必要回転数は、図２７の目標エンジン運転線Ｌ0上のエンジン回転数として算出される。そして、これら第１および第２のエンジン必要回転数のうち大きい方のエンジン目標回転数が得られるように、エンジン回転数およびエンジントルクが制御される。
【００１９】
図２７に示すように、目標エンジン運転線Ｌ0に沿って、エンジン２の回転数を制御すると、燃費、エンジン効率、ポンプ効率が向上する。これは、同じ馬力を出力させ、同じ要求流量を得る場合でも、レギュレーションラインＦe上の点ｐt1でマッチングさせるよりも、同じ等馬力線Ｊ上の点であって目標エンジン運転線Ｌ0上の点ｐt2でマッチングさせた方が、高回転、低トルクから低回転、高トルクに移行して、ポンプ容量ｑが大となり、等燃費曲線Ｍ上の燃費最小点Ｍ1に近い点で運転されるからである。また低回転領域でエンジン２が稼動することにより騒音の向上が図られ、エンジンフリクション、ポンプアンロードロスなどが向上する。
【００２０】
また、建設機械の分野で、発電電動機によってエンジンの駆動力をアシストするハイブリッド方式の建設機械が開発されつつあり、既に多くの特許出願がなされている。
【００２１】
たとえば、特許文献２では、図２７を流用すると、燃料ダイヤルで設定された設定回転数に対応するレギュレーションラインＦe0に沿ってエンジン２を制御している。レギュレーションラインＦe0と目標エンジン運転線Ｌ0とが交差する点Ａに対応する目標回転数ｎrを求め、エンジン目標回転数ｎrと現在のエンジン回転数ｎとの偏差が正である場合には、発電電動機を電動作用させてエンジン２の駆動力を、発電電動機で発生したトルクによってアシストし、同偏差が負である場合には、発電電動機を発電作用させて蓄電器に電力を蓄積させている。
【００２２】
【特許文献１】特開平１１−２１４４号公報
【特許文献２】特開２００３−２８０７１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
ところで、特許文献１記載の発明は、油圧ポンプ３が今現在どれだけ回転数および馬力を必要としているのかを、各操作レバー４１、４２の操作量等に基づいて、推定演算して、それに対応するエンジン目標回転数を算出している。
【００２４】
しかし、実際には、今現在のエンジン回転数に対応する実際のエンジン出力が、今現在の油圧ポンプの実際の吸収馬力に対して余裕をもっていないことがある。このためエンジン回転数を、エンジン目標回転数まで上昇させようとしても、エンジン出力は油圧ポンプの吸収馬力分のパワーに対して余裕がなくエンジン回転数を上昇させるためのパワーが不足しているために、エンジン目標回転数まで上昇させられないか、あるいは極めて緩慢にしか回転数が上昇しないことがある。この結果、建設機械１の作業機等（下部走行体、上部旋回体）がオペレータの意思通りに作動しなかったり、作動が遅れるなどの不具合が生じることがある。
【００２５】
さらに、特許文献１記載の発明では、油圧ポンプ３の負荷に応じてエンジン目標回転数が定まる。図２７において、油圧ポンプ３が高負荷になるほど、目標エンジン運転線Ｌ0上の高負荷側にマッチング点がＢ→Ａと移動する。
【００２６】
しかし、上述したように、エンジン２が低回転の点Ｂでマッチングしている状態から、目標とする高回転の点Ａまでエンジン回転数を上昇させようとしても、低回転のマッチング点Ｂでは、油圧ポンプ３の吸収トルクが小さいため、エンジン回転上昇の立ち上がり初期では、各操作レバー４１〜４４を大きく動かしたとしても作業機等（下部走行体、上部旋回体）は、極めて緩慢にしか作動しないことがある。このため作業機等が操作レバー４１〜４４に応答性よく作動せず、オペレータに操作の違和感を与え、作業効率が低下するおそれがある。また、各操作レバー４１〜４４を大きく動かした後に負荷が増大する場合が多いが、このような負荷の増大時に、新たに各操作レバー４１〜４４を操作してエンジン回転数の増大を要求しなくてはならず、オペレータにかかる操作負荷が大きいという問題があった。
【００２７】
これに対して特許文献２記載の発明は、レギュレーションラインＦe0に沿ってマッチング点がＣ→Ａと移動する。油圧ポンプ３が高負荷になるほど、レギュレーションラインＦe0上の高負荷側にマッチング点が移動することになる。
【００２８】
レギュレーションラインＦe0上の低負荷側のマッチング点Ｃから高負荷側のマッチング点Ａに移動するときエンジン回転数ｎが徐々に減じられる。エンジン回転数ｎが低下することでエンジン２のフライホイールに溜まっていた出力が瞬間的に外にでていき、エンジン２の実際の出力以上にみかけ上の出力が大きくなる。このためレギュレーションラインに沿ったマッチング点の移動は、元々、応答性がよいといわれている。
【００２９】
しかし、特許文献２では、エンジン目標回転数ｎrは、燃料ダイヤルの設定によって一義的に定まり、エンジン回転数ｎは、レギュレーションラインＦe0に沿って僅かに変動するのみである。目標エンジン運転線Ｌ0上の点Ｂから点Ａへの移動のように、油圧ポンプ３の負荷に応じて、エンジン回転数が目標エンジン運転線Ｌ0に沿って大きく変動することはない。このため燃料ダイヤルで設定しない限り低回転領域でエンジン２が稼動せず、ポンプ効率、燃費、騒音が悪くなるという問題がある。
【００３０】
この発明は、上記に鑑みてなされたものであって、エンジン効率、ポンプ効率等の向上を図りつつ、オペレータの意思通りに応答性よく作業機等を作動させ、また負荷の増大時に操作者の負荷を軽減して出力の増減を行うことができるエンジンの制御装置を提供することを目的とする。
【課題を解決するための手段】
【００３１】
上述した課題を解決し、目的を達成するために、この発明にかかるエンジンの制御装置は、エンジンによって駆動される油圧ポンプと、前記油圧ポンプから吐出された圧油が供給される油圧アクチュエータと、各油圧アクチュエータを操作する操作手段と、前記エンジンのエンジン目標回転数を設定するエンジン目標回転数設定手段と、現在のエンジン回転数および現在のエンジンに対する燃料噴射量から推定した現在のエンジントルクとから現在のエンジン出力を演算するエンジン出力演算手段と、エンジン回転数に対する目標馬力線を決定し、前記エンジン目標回転数に対する目標馬力線上のエンジン目標出力を演算するエンジン目標出力演算手段と、前記エンジン出力演算手段が演算したエンジン出力と前記エンジン目標出力演算手段が演算したエンジン目標出力とを比較演算し、この比較演算結果をもとに前記エンジン目標回転数を補正した補正エンジン目標回転数を求め、この補正エンジン目標回転数に一致するように、エンジン回転数を制御するエンジン制御手段と、を備えたことを特徴とする。
【００３２】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記エンジン目標出力演算手段は、前記補正エンジン目標回転数を前記エンジン目標回転数として順次入力し、この入力されたエンジン目標回転数に対する目標馬力線上のエンジン目標出力を順次演算し、前記エンジン制御手段は、前記エンジン出力演算手段が演算したエンジン出力と前記エンジン目標出力演算手段が演算したエンジン目標出力とを順次比較演算し、この比較演算結果をもとに前記補正エンジン目標回転数を順次更新し、この更新した補正エンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする。
【００３３】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記エンジン制御手段は、前記エンジン出力演算手段が演算したエンジン出力が、前記エンジン目標出力演算手段が演算したエンジン目標出力を上回る場合に、前記エンジン出力から前記エンジン目標出力を減算した値に対応する差分エンジン回転数を前記エンジン目標回転数に加算し、この加算した値を前記補正エンジン目標回転数として求め、この補正エンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする。
【００３４】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記エンジン制御手段は、前記エンジン出力演算手段が演算したエンジン出力が、前記エンジン目標出力演算手段が演算したエンジン目標出力を下回る場合に、前記エンジン目標出力から前記エンジン出力を減算した値に対応する差分エンジン回転数を前記エンジン目標回転数から減算し、この減算した値を前記補正エンジン目標回転数として求め、この補正エンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする。
【００３５】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記エンジン目標回転数設定手段は、前記操作手段の操作量に応じて、前記エンジンのエンジン目標回転数を演算して設定することを特徴とする。
【００３６】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記エンジン制御手段は、前記補正エンジン目標回転数を、前記エンジン目標回転数以下に下げない制御を行うことを特徴とする。
【００３７】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記エンジン制御手段は、前記操作手段が中立状態からフル状態に向けて増加中もしくは増加後に静止された状態にある場合、前記エンジン目標回転数を減少方向に更新しない制御を行うことを特徴とする。
【００３８】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記エンジン制御手段は、前記操作手段の操作状態が中立状態または中立に近い微操作状態にある場合に、前記エンジン目標回転数の補正を行わない制御を行うことを特徴とする。
【００３９】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記エンジンの出力軸に連結された発電電動機と、前記発電電動機が発電した電力を蓄積するとともに発電電動機に電力を供給する蓄電器と、前記発電電動機をエンジントルクアシスト作用させるか否かを判定する判定手段と、を備え、前記エンジン制御手段は、前記判定手段がエンジントルクアシスト作用を行う場合、前前記エンジン目標回転数の補正を行わない制御を行うことを特徴とする。
【００４０】
また、この発明にかかるエンジンの制御装置は、上記の発明において、前記操作手段の操作量をもとに前記操作手段が非操作の状態から操作状態に切り替わったことを判定する操作状態判定手段と、前記操作状態判定手段が操作状態に切り替わったと判定した場合には、エンジンの目標回転数をローアイドル回転数よりも高い第２のエンジン目標回転数に設定する第２の目標回転数設定手段と、を備え、前記エンジン制御手段は、前記補正エンジン目標回転数および第２のエンジン目標回転数のうちのいずれか高い方のエンジン目標回転数を前記補正エンジン目標回転数とし、該補正エンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする。
【００４１】
また、この発明にかかるエンジンの制御装置は、上記の発明において、各操作手段の操作量および油圧ポンプの負荷圧から複数の油圧アクチュエータの作業パターンを判別する判別手段と、各作業パターンに応じて、油圧ポンプの馬力制限値を設定する馬力制限値設定手段と、油圧ポンプの馬力制限値に応じて、第３のエンジン目標回転数を設定する第３の目標回転数設定手段と、を備え、前記エンジン制御手段は、前記補正エンジン目標回転数および第３のエンジン目標回転数のうちいずれか小さい方のエンジン目標回転数に一致するように、エンジン回転数を制御することを特徴とする。
【発明の効果】
【００４２】
この発明にかかるエンジンの制御装置は、エンジン出力演算手段が、現在のエンジン回転数および現在のエンジンに対する燃料噴射量から推定した現在のエンジントルクとから現在のエンジン出力を演算し、エンジン目標出力演算手段が、エンジン回転数に対する目標馬力線を決定し、前記エンジン目標回転数に対する目標馬力線上のエンジン目標出力を演算し、エンジン制御手段が、前記エンジン出力演算手段が演算したエンジン出力と前記エンジン目標出力演算手段が演算したエンジン目標出力とを比較演算し、この比較演算結果をもとにエンジン目標回転数設定手段が設定したエンジン目標回転数を補正した補正エンジン目標回転数を求め、この補正エンジン目標回転数に一致するように、エンジン回転数を制御するようにしているので、負荷の増大時に操作者の負荷を軽減して出力の増減を行うことができる。
【発明を実施するための最良の形態】
【００４３】
以下、図面を参照してこの発明の実施の形態であるエンジンの制御装置並びにエンジンおよび油圧ポンプの制御装置について説明する。なお、この実施の形態では、油圧ショベルなどの建設機械に搭載されるディーゼルエンジンおよび油圧ポンプを制御する場合について説明する。
【００４４】
（実施の形態１）
図１は、この発明の実施の形態１である建設機械１の全体構成を示す図である。この建設機械１は、油圧ショベルである。
【００４５】
建設機械１は、上部旋回体と下部走行体とを備え、下部走行体は左右の履帯からなる。車体にはブーム、アーム、バケットからなる作業機が取り付けられている。ブームシリンダ３１が駆動することによりブームが作動し、アームシリンダ３２が駆動することによりアームが作動し、バケットシリンダ３３が駆動することによりバケットが作動する。また走行モータ３６および走行モータ３５がそれぞれ駆動することにより左履帯および右履帯がそれぞれ回転する。また、旋回モータ３４が駆動することによりスイングマシナリが駆動し、スイングピニオン、スイングサークル等を介して上部旋回体が旋回する。
【００４６】
エンジン２は、ディーゼルエンジンであり、その出力（馬力；ｋｗ）の制御は、シリンダ内へ噴射する燃料量を調整することで行われる。この調整はエンジン２の燃料噴射ポンプに付設したガバナを制御することで行われ、エンジンコントローラ４は、このガバナの制御を含めたエンジンの制御を行う。
【００４７】
コントローラ６は、エンジンコントローラ４に対して、エンジン回転数を目標回転数ｎcomにするための回転指令値を出力し、エンジンコントローラ４は、目標トルク線Ｌ1で目標回転数ｎ_comが得られるように燃料噴射量を増減する。また、エンジンコントローラ４は、エンジン２のエンジン回転数および燃料噴射量から推定されるエンジントルクを含むエンジンデータeng_dataをコントローラ６に出力する。
【００４８】
エンジン２の出力軸には、油圧ポンプ３の駆動軸が連結されており、エンジン出力軸が回転することにより油圧ポンプ３が駆動する。油圧ポンプ３は可変容量型の油圧ポンプであり、斜板の傾転角が変化することで容量ｑ（ｃｃ/ｒｅｖ）が変化する。
【００４９】
油圧ポンプ３から吐出圧ＰRp、流量Ｑ（ｃｃ/ｍｉｎ）で吐出された圧油は、ブーム用の操作バルブ２１、アーム用の操作バルブ２２、バケット用の操作バルブ２３、旋回用の操作バルブ２４、右走行用の操作バルブ２５、左走行用の操作バルブ２６にそれぞれ供給される。ポンプ吐出圧ＰRpは、油圧センサ７で検出され、油圧検出信号がコントローラ６に入力される。
【００５０】
操作バルブ２１〜２６から出力された圧油はそれぞれ、ブームシリンダ３１、アームシリンダ３２、バケットシリンダ３３、旋回モータ３４、右走行用の走行モータ３５、左走行用の走行モータ３６に供給される。これにより、ブームシリンダ３１、アームシリンダ３２、バケットシリンダ３３、旋回モータ３４、走行モータ３５、走行モータ３６がそれぞれ駆動され、ブーム、アーム、バケット、上部旋回体、下部走行体の右履帯、左履帯が作動する。
【００５１】
建設機械１の運転席の前方の右側、左側にはそれぞれ、作業・旋回用右の操作レバー４１、作業・旋回用左の操作レバー４２が設けられているとともに、走行用右の操作レバー４３、走行用左の操作レバー４４が設けられている。
【００５２】
作業・旋回用右の操作レバー４１は、ブーム、バケットを作動させるための操作レバーであり、操作方向に応じてブーム、バケットを作動させるとともに、操作量に応じた速度でブーム、バケットを作動させる。
【００５３】
操作レバー４１には、操作方向、操作量を検出するセンサ４５が設けられている。センサ４５は、操作レバー４１の操作方向、操作量を示すレバー信号をコントローラ６に入力する。操作レバー４１がブームを作動させる方向に操作された場合には、操作レバー４１の中立位置に対する傾動方向、傾動量に応じて、ブーム上げ操作量、ブーム下げ操作量を示すブームレバー信号Ｌb0がコントローラ６に入力される。また、操作レバー４１がバケットを作動させる方向に操作された場合には、操作レバー４１の中立位置に対する傾動方向、傾動量に応じて、バケット掘削操作量、バケットダンプ操作量を示すバケットレバー信号Ｌbkがコントローラ６に入力される。
【００５４】
操作レバー４１がブームを作動させる方向に操作された場合には、操作レバー４１の傾動量に応じたパイロット圧（ＰＰＣ圧）ＰRboが、ブーム用の操作バルブ２１の各パイロットポートのうちレバー傾動方向（ブーム上げ方向、ブーム下げ方向）に対応するパイロットポート２１ａに加えられる。
【００５５】
同様に、操作レバー４１がバケットを作動させる方向に操作された場合には、操作レバー４１の傾動量に応じたパイロット圧（ＰＰＣ圧）ＰRbkが、バケット用の操作バルブ２３の各パイロットポートのうちレバー傾動方向（バケット掘削方向、バケットダンプ方向）に対応するパイロットポート２３ａに加えられる。
【００５６】
作業・旋回用左の操作レバー４２は、アーム、上部旋回体を作動させるための操作レバーであり、操作方向に応じてアーム、上部旋回体を作動させるとともに、操作量に応じた速度でアーム、上部旋回体を作動させる。
【００５７】
操作レバー４２には、操作方向、操作量を検出するセンサ４６が設けられている。センサ４６は、操作レバー４２の操作方向、操作量を示すレバー信号をコントローラ６に入力する。操作レバー４２がアームを作動させる方向に操作された場合には、操作レバー４２の中立位置に対する傾動方向、傾動量に応じて、アーム掘削操作量、アームダンプ操作量を示すアームレバー信号Ｌarがコントローラ６に入力される。また操作レバー４２が上部旋回体を作動させる方向に操作された場合には、操作レバー４２の中立位置に対する傾動方向、傾動量に応じて、右旋回操作量、左旋回操作量を示す旋回レバー信号Ｌswがコントローラ６に入力される。
【００５８】
操作レバー４２がアームを作動させる方向に操作された場合には、操作レバー４２の傾動量に応じたパイロット圧（ＰＰＣ圧）ＰRarが、アーム用の操作バルブ２２の各パイロットポートのうちレバー傾動方向（アーム掘削方向、アームダンプ方向）に対応するパイロットポート２２ａに加えられる。
【００５９】
同様に、操作レバー４２が上部旋回体を作動させる方向に操作された場合には、操作レバー４２の傾動量に応じたパイロット圧（ＰＰＣ圧）ＰRswが、旋回用の操作バルブ２４の各パイロットポートのうちレバー傾動方向（右旋回方向、左旋回方向）に対応するパイロットポート２４ａに加えられる。
【００６０】
走行用右の操作レバー４３、走行用左の操作レバー４４はそれぞれ右履帯、左履帯を作動させるための操作レバーであり、操作方向に応じて履帯を作動させるとともに、操作量に応じた速度で履帯を作動させる。
【００６１】
操作レバー４３の傾動量に応じたパイロット圧（ＰＰＣ圧）ＰRtrが、右走行用の操作バルブ２５のパイロットポート２５ａに加えられる。
【００６２】
パイロット圧ＰRtrは、油圧センサ９で検出され、右走行量を示す右走行パイロット圧ＰRcrがコントローラ６に入力される。同様に、操作レバー４４の傾動量に応じたパイロット圧（ＰＰＣ圧）ＰRtlが、左走行用操作弁２６のパイロットポート２６ａに加えられる。パイロット圧ＰRtlは、油圧センサ８で検出され、左走行量を示す左走行パイロット圧ＰRclがコントローラ６に入力される。
【００６３】
各操作バルブ２１〜２６は流量方向制御弁であり、対応する操作レバー４１〜４４の操作方向に応じた方向にスプールを移動させるとともに、操作レバー４１〜４４の操作量に応じた開口面積だけ油路が開口するようにスプールを移動させる。
【００６４】
ポンプ制御バルブ５は、コントローラ６から出力される制御電流pc-epcによって動作し、サーボピストンを介してポンプ制御バルブ５を変化させる。
【００６５】
ポンプ制御バルブ５は、油圧ポンプ３の吐出圧ＰRp（ｋｇ/ｃｍ２）と油圧ポンプ３の容量ｑ（ｃｃ/ｒｅｖ）の積が制御電流pc-epcに対応するポンプ吸収トルクＴpcomを超えないように、油圧ポンプ３の斜板の傾転角を制御する。この制御は、ＰＣ制御と呼ばれている。
【００６６】
コントローラ６は、ガバナを含むエンジンコントローラ４に対して、回転指令値を出力して、現在の油圧ポンプ３の負荷に応じた目標回転数が得られるように燃料噴射量を増減して、エンジン２の回転数ｎとトルクＴを調整する。
【００６７】
つぎに、コントローラ６による制御処理について説明する。図２は、コントローラ６による制御フローを示す図である。図３は、図２に示した目標流量演算部の処理フローを示す図である。また、図４は、図２に示したエンジン目標回転数加算値演算部の処理を示すフローチャートである。また、図５は、図２に示した目標回転数加算値演算部の処理の一例を示した図である。さらに、図６は、図２に示したポンプ出力制限演算部の処理フローを示す図である。
【００６８】
まず、図２および図３に示すように、目標流量演算部５０では、ブームレバー信号Ｌbo、アームレバー信号Ｌar、バケットレバー信号Ｌbk、旋回レバー信号Ｌsw、右走行パイロット圧ＰRcr、左走行パイロット圧ＰRclが入力され、これらの値に基づいて、対応するブームシリンダ３１の目標流量Ｑbo、アームシリンダ３２の目標流量Ｑar、バケットシリンダ３３の目標流量Ｑbk、旋回モータ３４の目標流量Ｑsw、右走行用の走行モータ３５の目標流量Ｑcr、左走行用の走行モータ３６毎の目標流量Ｑclが演算される。
【００６９】
コントローラ６内の記憶装置には、各油圧アクチュエータ毎に、操作量と目標流量との関数関係５１ａ、５２ａ、５３ａ、５４ａ、５５ａ、５６ａがデータテーブル形式で記憶されている。
【００７０】
ブーム目標流量演算部５１は、現在のブーム上げ方向の操作量若しくはブーム下げ方向の操作量Ｌboに対応するブーム目標流量Ｑboを関数関係５１ａに従って演算する。
【００７１】
アーム目標流量演算部５２は、現在のアーム掘削方向の操作量若しくはアームダンプ方向の操作量Ｌarに対応するアーム目標流量Ｑaを関数関係５２ａに従って演算する。
【００７２】
バケット目標流量演算部５３は、現在のバケット掘削方向の操作量若しくはバケットダンプ方向の操作量Ｌbkに対応するバケット目標流量Ｑbkを関数関係５３ａに従って演算する。
【００７３】
旋回目標流量演算部５４は、現在の右旋回方向の操作量若しくは左旋回方向の操作量Ｌswに対応する旋回目標流量Ｑswを関数関係５４ａに従って演算する。
【００７４】
右走行目標流量演算部５５は、現在の右走行パイロット圧ＰRcrに対応する右走行目標流量Ｑcrを関数関係５５ａに従って演算する。
【００７５】
左走行目標流量演算部５６は、現在の左走行パイロット圧ＰRclに対応する左走行目標流量Ｑclを関数関係５６ａに従って演算する。
【００７６】
なお、演算処理上、ブーム上げ操作量、アーム掘削操作量、バケット掘削操作量、右旋回操作量は、プラス符合の操作量として扱い、ブーム下げ操作量、アームダンプ操作量、バケットダンプ操作量、左旋回操作量は、マイナス符号の操作量として扱うものとする。
【００７７】
ポンプ目標吐出流量演算部６０は、油圧アクチュエータ目標流量演算部５０で演算された各油圧アクチュエータ目標流量Ｑbo、Ｑar、Ｑbk、Ｑsw、Ｑcr、Ｑclの総和を、ポンプ目標吐出流量Ｑsumとして、下記のようにして求める処理を実行する。
【００７８】
Ｑsum＝Ｑbo＋Ｑar＋Ｑbk＋Ｑsw＋Ｑcr＋Ｑcl  …（２）
ここで、各油圧アクチュエータの目標流量の総和をポンプ目標吐出流量としているが、各油圧アクチュエータ目標流量Ｑbo、Ｑar、Ｑbk、Ｑsw、Ｑcr、Ｑclのうちで最大の目標流量を、油圧ポンプ３の目標吐出流量としてもよい。
【００７９】
第１のエンジン目標回転数演算部６１は、目標流量演算部５０によって演算出力されたポンプ目標吐出流量Ｑsumに対応する第１のエンジン目標回転数ｎcom1を演算する。ここで、コントローラ６の記憶装置には、ポンプ目標吐出流量Ｑsumの増加に応じて第１のエンジン目標回転数ｎcom1が増加する関数関係６１ａがデータテーブル形式で記憶されている。この第１のエンジン目標回転数ｎcom1は、下記に示すように、変換定数をαとして、油圧ポンプ３を最大容量ｑmaxで作動させた際にポンプ目標吐出流量Ｑsumを吐出することができる最小のエンジン回転数として与えられる。
【００８０】
ｎcom1＝Ｑsum/ｑmax・α  …（３）
第１のエンジン回転数演算部６１では、現在のポンプ目標吐出流量Ｑsumに対応する第１のエンジン目標回転数ｎcom1が関数関係６１ａ、つまり上記（３）式に従って演算される。
【００８１】
コントローラ６の判定部６２は、現在のポンプ目標吐出流量Ｑsumが所定の流量Ｑminよりも大きいか否かを判定する。ここで、しきい値となる所定の流量は、各操作レバー４１〜４４が中立位置から操作されたか否かを判断するための流量に設定される。
【００８２】
コントローラ６内の第３のエンジン目標回転数設定部６８では、判定部６２の判定の結果、現在のポンプ目標吐出流量Ｑsumが所定の流量Ｑmin以下、つまり判定結果がＮＯである場合には、第３のエンジン目標回転数ｎcom3が、エンジン２のローアイドル回転数ｎL付近の回転数ｎJに設定される。これに対して現在のポンプ目標吐出流量Ｑsumが所定の流量Ｑminよりも大きい、つまり判定結果がＹＥＳである場合には、第３のエンジン目標回転数ｎcom3が、エンジン２のローアイドル回転数ｎLよりも大きい回転数ｎMに設定される。
【００８３】
一方、エンジンコントローラ４からコントローラ６には、エンジン２の現在のエンジン回転数Ｎeと、燃料噴射量から推定されたエンジン２のエンジントルクＴeとが入力される。コントローラ６内のフィルタ１０１は、時定数Ｔ１を有したフィルタであり、入力されたエンジントルクＴeの値をフィルタリングしたエンジントルクＴe_fを出力する。コントローラ６内のエンジン出力演算部１０２は、エンジンコントローラ４から入力されたエンジン回転数Ｎeとフィルタ１０１から出力されたエンジントルクＴe_fとを乗算し、さらに変換定数Ｃonstを乗算したエンジン出力（馬力）Ｐeを算出する。
【００８４】
コントローラ６内の目標エンジン出力演算部１０３は、後述するエンジン目標回転数加算値ｎcom_addが加算された第２のエンジン目標回転数ｎcom2に対する目標エンジン出力（馬力）Ｐe_aimを関数関係１０３ａをもとに演算する。なお、第２のエンジン目標回転数ncom2の初期値は、第１のエンジン目標回転数ncom１である。ここで、コントローラ６内の記憶装置には、関数関係１０３ａが記憶されており、目標エンジン出力演算部１０３は、この関数関係１０３ａを用いて目標エンジン出力Ｐe_aimを出力する。
【００８５】
ここで、関数関係１０３ａは、図２７に示した目標エンジン運転線Ｌ0と同じである図７に示した目標トルク線Ｌ１に、そのときのエンジン回転数を乗算した目標馬力線から、所定馬力分、下げた負荷感知境界線である。
【００８６】
コントローラ６内のエンジン目標回転数加算値演算部１０４は、図４に示したフローチャートに従ってエンジン目標回転数加算値ｎcom_addを出力する。図４において、エンジン目標回転数加算値演算部１０４は、まず、初期値として、ｎcom_add「０」に設定する（ステップＳ１０１）。その後、エンジン出力演算部１０２からエンジン出力Ｐeと、目標エンジン出力演算部１０３から目標エンジン出力Ｐe_aimとを取得する（ステップＳ１０２）。ここで、目標エンジン出力演算部１０３は、初期値として第１のエンジン目標回転数ncom１を用いて目標エンジン出力Ｐe_aimを出力し、その後の演算では、第２のエンジン目標回転数ncom2を用いて順次目標エンジン出力Ｐe_aimを出力する。
【００８７】
さらに、エンジン目標回転数加算値演算部１０４は、このエンジン出力Ｐeから目標エンジン出力Ｐe_aimを減算した値に変換係数Ｉeを乗算した値Ｉaddを算出する（ステップＳ２０３）。この値Ｉaddは、エンジン回転数に変換された値である。
【００８８】
その後、エンジン目標回転数加算値演算部１０４は、目標流量演算部５０が出力するポンプ吐出流量目標値Ｑsumの値が増加方向に変化しているか、あるいは増加後に値が固定している状態であるか否かを判断する（ステップＳ１０４）。ポンプ吐出流量目標値Ｑsumの値が増加方向に変化、あるいは増加後に固定している状態でない場合（ステップＳ１０４，Ｎｏ）には、値Ｉaddをエンジン目標回転数加算値ｎcom_addに加算する処理を行う（ステップＳ１０６）。
【００８９】
一方、ポンプ吐出流量目標値Ｑsumの値が増加方向に変化、あるいは増加後に固定している状態である場合（ステップＳ１０４，Ｙｅｓ）には、さらに、値Ｉaddが負であるか否かを判断する（ステップＳ１０５）。値Ｉaddが負でない場合（ステップＳ１０５，Ｎｏ）には、ステップＳ１０６に移行して、値Ｉaddをエンジン目標回転数加算値ｎcom_addに加算する処理を行う。一方、値Ｉaddが負である場合（ステップＳ１０５，Ｙｅｓ）には、値Ｉaddの加算処理を行わずに、ステップＳ１０７に移行する。
【００９０】
すなわち、このステップＳ１０４〜１０６の処理では、目標流量演算部５０が出力するポンプ吐出流量目標値Ｑsumの値が増加方向に変化しているか、あるいは増加後に値が固定している状態である場合であって、値Ｉaddが負である場合には、値Ｉaddをエンジン目標回転数加算値ｎcom_addに加算する処理を行わないようにしている。具体的には、図５に示すように、ポンプ吐出流量目標値Ｑsumの増加分ΔＱsumが０以上である場合に、値Ｉaddが負になっても、エンジン目標回転数加算値ｎcom_addから値Ｉaddの絶対値分を減じる処理を行わず、現在の第２のエンジン目標回転数ncom2を維持する処理を行う。これは、ポンプ吐出流量目標値Ｑsumが０以上である場合、たとえ値Ｉaddが負になっても、レバー操作によって操作者がパワーを減じる意思があるまでエンジン目標回転数を下げないようにして制御系を安定させるためである。
【００９１】
その後、エンジン目標回転数加算値ｎcom_addが正であるか否かを判断する（ステップＳ１０７）。エンジン目標回転数加算値ｎcom_addが正である場合（ステップＳ１０７，Ｙｅｓ）には、さらに、全レバー入力（レバーポテンショ信号）がニュートラル状態あるいはその近傍であるか否かを判断する（ステップＳ１０８）。全レバー入力がニュートラル状態あるいはその近傍でない場合（ステップＳ１０８，Ｎｏ）には、さらに、後述するアシストフラグassist_flagがＴrueであるか否かを判断する（ステップＳ１０９）。
【００９２】
そして、エンジン目標回転数加算値ｎcom_addが正であって（ステップＳ１０７，Ｙｅｓ）、全レバー入力がニュートラル状態あるいはその近傍でなくて（ステップＳ１０８，Ｎｏ）、アシストフラグassist_flagがＴrueでない場合（ステップＳ１０９，Ｎｏ）に、エンジン目標回転数加算値ｎcom_addを第１のエンジン目標回転数ncom1に付加する処理を行って（ステップＳ１１０）、第２のエンジン目標回転数ｎcom2（補正エンジン目標回転数に相当）を生成し、ステップＳ１０２に移行し、上述した処理を繰り返す。
【００９３】
一方、エンジン目標回転数加算値ｎcom_addが正でない場合（ステップＳ１０７，Ｎｏ）、全レバー入力がニュートラル状態あるいはその近傍である場合（ステップＳ１０８，Ｙｅｓ）、あるいはアシストフラグassist_flagがＴrueである場合（ステップＳ１０９，Ｙｅｓ）には、エンジン目標回転数加算値ｎcom_addを第１のエンジン目標回転数ncom1に付加する処理を行わずに、現在の第１のエンジン目標回転数ｎcom1をそのまま第２のエンジン目標回転数（補正エンジン目標回転数に相当）として出力し、ステップＳ１０２に移行し、上述した処理を繰り返す。
【００９４】
これは、エンジン目標回転数加算値ｎcom_addが正でない場合、負荷感知境界線に近づいておらず、負荷が大きくないことを意味し、エンジン回転数を増大させる必要がないからである。また、全レバー入力がニュートラル状態あるいはその近傍である場合には、操作者の意思を優先するからである。さらに、アシストフラグassist_flagがＴrueである場合、エンジン回転数を増大させるまでもなく、電動モータによってアシストされるからである。
【００９５】
このようにして出力されるエンジン目標回転数加算値ｎcom_addは、加算部１０５によって第１のエンジン目標回転数ｎcom1に加算され、第２のエンジン目標回転数ｎcom2として出力される。また、この第２のエンジン目標回転数ｎcom2は、分岐部１０６を介して目標エンジン出力演算部１０３に出力される。
【００９６】
コントローラ６内の最大値選択部６４は、第２のエンジン目標回転数ｎcom2、第３のエンジン目標回転数ｎcom3のうちのいずれか高い方のエンジン目標回転数ｎcom23を選択する。
【００９７】
一方、ポンプ出力制限演算部７０は、図６に示すフローに従って処理する。なお、以下では、判断結果TRUEをＴと略記するとともに、判断結果FALSEをＦと略記する。
【００９８】
複数の油圧アクチュエータ２１〜２６の作業パターンは、「走行操作」という操作パターン（１）であると判断し、その「走行操作」という作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit1に設定される。
【００９９】
ポンプ出力制限演算部７０では、複数の油圧アクチュエータ２１〜２６の作業パターンに応じて、油圧ポンプ３の出力（馬力）制限値Ｐplimitが演算される。
【０１００】
油圧ポンプ３の出力制限値として、予めＰplimit1、Ｐplimit3、Ｐplimit4、Ｐplimit5、Ｐplimit6が演算される。油圧ポンプ３の出力制限値の大きさは、図９に示すトルク線図上で示されるように、Ｐplimit1、Ｐplimit2、Ｐplimit3、Ｐplimit4、Ｐplimit5、Ｐplimit6の順番で順次小さくなるものとして設定されているものとする。
【０１０１】
すなわち、右走行パイロット圧Ｐrcrが所定の圧力Ｋcよりも大きいか、または左走行パイロット圧Ｐrclが所定の圧力Ｋcよりも大きい場合には（ステップ７１の判断Ｔ）、複数の油圧アクチュエータ２１〜２６の作業パターンは、「走行操作」という作業パターン（１）であると判断し、その「走行操作」という作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit1に設定される。
【０１０２】
以下、同様にして、各ステップ７２〜７９では以下のような判断が行われる。すなわち、ステップ７２では、右旋回操作量Ｌswが所定の操作量Ｋswよりも大きく、左旋回操作量Ｌswが所定の操作量−Ｋswよりも小さいか否かが判断される。
【０１０３】
ステップ７３では、ブーム下げ操作量Ｌboが所定の操作量−Ｋboよりも小さいか否かが判断される。
【０１０４】
ステップ７４では、ブーム上げ操作量Ｌboが所定の操作量Ｋboよりも大きいか否か、または、アーム掘削操作量Ｌaが所定の操作量Ｋaよりも大きいか否か、または、アームダンプ操作量Ｌaが所定の操作量−Ｋaよりも小さいか否か、または、バケット掘削操作量Ｌbkが所定の操作量Ｋbkよりも大きいか否か、または、バケットダンプ操作量Ｌbkが所定の操作量−Ｋbkよりも小さいか否かが判断される。
【０１０５】
ステップ７５では、アーム掘削操作量Ｌaが所定の操作量Ｋaよりも大きいか否かが判断される。
【０１０６】
ステップ７６では、バケット掘削操作量Ｌbkが所定の操作量Ｋbkよりも大きいか否かが判断される。
【０１０７】
ステップ７７では、油圧ポンプ３の吐出圧ＰRpが所定の圧力Ｋp1よりも小さいか否かが判断される。
【０１０８】
ステップ７８では、アームダンプ操作量Ｌaが所定の操作量−Ｋaよりも小さいか否かが判断される。
【０１０９】
ステップ７９では、バケットダンプ操作量Ｌbkが所定の操作量−Ｋbkよりも小さいか否かが判断される。
【０１１０】
ステップ８０では、油圧ポンプ３の吐出圧ＰRpが所定の圧力Ｋp2よりも大きいか否かが判断される。
【０１１１】
ステップ８１では、油圧ポンプ３の吐出圧ＰRpが所定の圧力Ｋp3よりも大きいか否かが判断される。
【０１１２】
ステップ７１の判断がＦでステップ７２の判断がＴでステップ７３の判断がＴである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「旋回操作とブーム下げ操作」という作業パターン（２）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit6に設定される。
【０１１３】
ステップ７１の判断がＦでステップ７２の判断がＴでステップ７３の判断がＦでステップ７４の判断がＴである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「旋回操作とブーム下げ以外の作業機操作」という作業パターン（３）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit1に設定される。
【０１１４】
ステップ７１の判断がＦでステップ７２の判断がＴでステップ７３の判断がＦでステップ７４の判断がＦである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「旋回操作の単独操作」という作業パターン（４）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit6に設定される。
【０１１５】
ステップ７１の判断がＦでステップ７２の判断がＦでステップ７５の判断がＴでステップ７６の判断がＴでステップ７７の判断がＴである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「アーム掘削操作とバケット掘削操作で負荷が小さいとき（たとえば土砂を抱え込む作業）」という作業パターン（５）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit2に設定される。
【０１１６】
ステップ７１の判断がＦでステップ７２の判断がＦでステップ７５の判断がＴでステップ７６の判断がＴでステップ７７の判断がＦである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「アーム掘削操作とバケット掘削操作で負荷が大きいとき（たとえばアームとバケットの同時操作による掘削作業）」という作業パターン（６）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit1に設定される。
【０１１７】
ステップ７１の判断がＦでステップ７２の判断がＦでステップ７５の判断がＴでステップ７６の判断がＦである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「アーム掘削操作」という作業パターン（７）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit1に設定される。
【０１１８】
ステップ７１の判断がＦでステップ７２の判断がＦでステップ７５の判断がＦでステップ７８の判断がＴでステップ７９の判断がＴでステップ８０の判断がＴである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「アーム排土操作とバケット排土操作で負荷が大きいとき（たとえばアームとバケットの同時排土操作による土砂押し作業）」という作業パターン（８）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit3に設定される。
【０１１９】
ステップ７１の判断がＦでステップ７２の判断がＦでステップ７５の判断がＦでステップ７８の判断がＴでステップ７９の判断がＴでステップ８０の判断がＦである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「アーム排土操作とバケット排土操作で負荷が小さいとき（たとえば空中でアームとバケットを同時に返す作業）」という作業パターン（９）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit5に設定される。
【０１２０】
ステップ７１の判断がＦでステップ７２の判断がＦでステップ７５の判断がＦでステップ７８の判断がＴでステップ７９の判断Ｆでステップ８１の判断がＴである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「アーム単独排土操作で負荷が大きいとき（たとえばアーム排土作業による土砂押し作業）」という作業パターン（１０）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit3に設定される。
【０１２１】
ステップ７１の判断がＦでステップ７２の判断がＦでステップ７５の判断がＦでステップ７８の判断がＴでステップ７９の判断Ｆでステップ８１の判断がＦである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「アーム単独排土操作で負荷が小さいとき（たとえば空中でアームを返す作業）」という作業パターン（１１）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit5に設定される。
【０１２２】
ステップ７１の判断がＦでステップ７２の判断がＦでステップ７５の判断がＦでステップ７８の判断がＦである場合には、複数の油圧アクチュエータ２１〜２６の作業パターンは、「その他の作業」という作業パターン（１２）であると判断し、その作業パターンに適合するように、油圧ポンプ３の出力制限値Ｐplimitが、Ｐplimit1に設定される。
【０１２３】
つぎに、コントローラ６内の第４のエンジン目標回転数演算部６３は、ポンプ出力制限演算部７０で演算された油圧ポンプ３の出力（馬力）制限値Ｐplimitに対応する第４のエンジン目標回転数ｎcom4を演算する。
【０１２４】
コントローラ６内の記憶装置には、油圧ポンプ３の出力制限値Ｐplimitの増加に応じて第４のエンジン目標回転数ｎcom4が増加する関数関係６３ａがデータテーブル形式で記憶されている。
【０１２５】
第４のエンジン回転数演算部６３では、現在の複数の油圧アクチュエータ２１〜２６の作業パターン、つまり油圧ポンプ３の出力制限値Ｐplimitに対応する第４のエンジン目標回転数ｎcom4が関数関係６３ａにしたがって演算される。
【０１２６】
最小値選択部６５では、最大値選択部６４で選択されたエンジン目標回転数ｎcom23と、第４のエンジン目標回転数ｎcom4のうちのいずれか低い方のエンジン目標回転数ｎcomが選択される。
【０１２７】
コントローラ６は、エンジンコントローラ４に対して、エンジン回転数ｎを目標回転数ｎcomにするための回転指令値を出力し、コントローラ４は、図７に示す目標トルク線Ｌ1上でエンジン目標回転数ｎcomが得られるように燃料噴射量を増減する。
【０１２８】
ポンプ吸収トルク演算部６６では、エンジン目標回転数ｎcomに対応する油圧ポンプ３の目標吸収トルクＴpcomが演算される。
【０１２９】
コントローラ６内の記憶装置には、エンジン目標回転数ｎcomの増加に応じて油圧ポンプ３の目標吸収トルクＴpcomが増加する関数関係６６ａがデータテーブル形式で記憶されている。この関数６６ａは、図７に示すトルク線図上の目標トルク線Ｌ1に対応するカーブである。
【０１３０】
図７は、図２７と同様にエンジン２のトルク線図を示しており、横軸にエンジン回転数ｎ（ｒｐｍ；ｒｅｖ/ｍｉｎ）をとり、縦軸にトルクＴ（Ｎ・ｍ）をとっている。関数６６ａは、図７に示すトルク線図上の目標トルク線Ｌ1に対応している。
【０１３１】
ポンプ吸収トルク演算部６６では、現在のエンジン目標回転数ｎcomに対応する油圧ポンプ３の目標吸収トルクＴpcomが、関数６６ａにしたがって演算される。
【０１３２】
制御電流演算部６７では、ポンプ目標吸収トルクＴpcomに対応する制御電流pc-epcが演算される。
【０１３３】
コントローラ６内の記憶装置には、ポンプ目標吸収トルクＴpcomの増加に応じて制御電流pc-epcが増加する関数関係６７ａがデータテーブル形式で記憶されている。
【０１３４】
ポンプ吸収トルク演算部６６では、現在のポンプ目標吸収トルクＴpcomに対応する制御電流pc-epcが関数関係６７ａにしたがって演算される。
【０１３５】
コントローラ６からポンプ制御バルブ５に対して制御電流pc-epcが出力されてサーボピストンを介してポンプ制御バルブ５を変化させる。ポンプ制御バルブ５は、油圧ポンプ３の吐出圧ＰRp（ｋｇ/ｃｍ2）と油圧ポンプ３の容量ｑ（ｃｃ/ｒｅｖ）の積が制御電流pc-epcに対応するポンプ吸収トルクＴpcomを超えないように、油圧ポンプ３の斜板の傾転角をＰＣ制御する。
【０１３６】
ここで、図７に示すように、エンジン回転数ｎの減少に伴いポンプ吸収トルクＴpcomが小さくなる目標トルク線Ｌ1にしたがってエンジン２および油圧ポンプ３を制御すると、燃費、エンジン効率、ポンプ効率の向上が図られ、騒音が低減され、エンストが防止されるなどの効果が得られるものの、エンジン２の応答性が悪いという問題がある。たとえば掘削作業を開始しようとして操作レバー４１等を中立位置から倒してエンジン２が低回転から上昇させようとしても、レバー倒し始めの初期の段階（過渡状態）では油圧ポンプ３の負荷が急激に上昇するためにエンジン出力がポンプ吸収馬力分のパワーに対して余裕がなくエンジン２を加速するためのパワーが不足する。このためエンジン２を目標回転数まで上昇させられないか、あるいは極めて緩慢にしか上昇しないことがある。
【０１３７】
この点、この実施の形態１では、現在のポンプ目標吐出流量Ｑsumに適合する第１のエンジン目標回転数ｎcom1にエンジン目標回転数加算値ｎcom_addが加算された第２のエンジン目標回転数ｎcom2を設定する一方で、現在のポンプ目標吐出流量Ｑsumが所定の流量Ｑminよりも大きいことが判定された場合には、エンジンローアイドル回転数ｎLよりも大きい回転数ｎMが第３のエンジン目標回転数ｎcom3として設定される。そして、第３のエンジン目標回転数ｎcom3が、第２のエンジン目標回転数ｎcom2以上であれば、第３のエンジン目標回転数ｎcom3が得られるようにエンジン回転数が制御される。また、第３のエンジン目標回転数ｎcom3に対応するポンプ吸収トルクが得られるように油圧ポンプ３が制御される。
【０１３８】
このため、たとえば掘削作業を開始しようとして操作レバー４１等を中立位置から倒した場合に、油圧ポンプ３の負荷が急激に上昇する前にエンジン回転数が予め上昇してエンジントルクが上昇するためエンジン２を加速するためのパワーに余裕が生じる。このためエンジン２を低回転域から目標回転数まで迅速に上昇させることができエンジン２の応答性が向上する。
【０１３９】
また、この実施の形態１では、エンジン目標回転数加算値演算部１０４によって、第１のエンジン目標回転数ｎcom1にエンジン目標回転数加算値ｎcom_addを加算するようにしている。エンジン目標回転数加算値演算部１０４は、第２のエンジン目標回転数ｎcom2に対応する目標エンジン出力Ｐe_aimに比して現在のエンジン出力Ｐeが大きくなった場合に、その差に応じたエンジン目標回転数加算値ｎcom_addを第１のエンジン目標回転数ｎcom1に加算して、エンジン回転数を増速するようにしている。
【０１４０】
図７および図８を参照して、エンジン目標回転数加算値演算部１０４によるエンジン回転数の増速処理を説明する。なお、説明の便宜上、馬力ではなくトルク線図を用いて説明する。図７は、エンジン回転数に対するエンジントルクの変化を示すトルク線図である。このトルク線図は、図２７に示したトルク線図と同じであり、目標エンジン運転線Ｌ0が目標トルク線Ｌ1に相当する。負荷感知トルク境界線Ｌ2は、目標トルク線Ｌ1よりも所定トルク分低くした線であり、これにエンジン回転数を乗算した線が負荷感知境界線となり、目標エンジン出力演算部１０３の関数関係１０３ａとなる。負荷感知トルク境界線Ｌ2は、目標トルク線Ｌ1と負荷感知トルク線Ｌ2とによって囲まれる領域を負荷感知領域Ｅとし、この負荷感知領域Ｅの境界であることを示している。すなわち、負荷感知領域Ｅを、目標トルク線Ｌ1に、ある程度近づいた領域として定義し、この負荷感知領域Ｅに入った場合、建設機械が出力を要求しているとみなして、エンジン回転数を増速するようにしている。
【０１４１】
図８は、レバー入力があった場合におけるエンジン回転数とトルクの時間変化を示した図である。図７および図８において、状態「１」は、アイドル状態であり、エンジン回転数はGOV_1である。時点Ｔ１でレバー入力が開始すると、エンジン回転数は、レバー操作に応じて増速し、状態「２」となり、レバーが固定された状態の時点Ｔ２で、エンジン回転数はGOV_2となる。この状態「２」のとき、トルクは時間の経過とともに徐々に増大し、状態「２」の終わりの時点Ｔ３で、エンジン回転数およびトルクは、負荷感知トルク境界線Ｌ2を超える。すなわち、エンジン回転数は、負荷感知トルク境界線Ｌ2のエンジン回転数以下となり、トルクは、負荷感知トルク境界線Ｌ2のトルク以上となる。この負荷感知トルク境界線Ｌ2を超えて負荷感知領域Ｅに入った状態が状態「３」であり、この状態「３」のときに、エンジン目標回転数加算値演算部１０４は、エンジン目標回転数加算値ｎcom_addを第１のエンジン目標回転数ｎcom1に付加して増速を図る。この結果、状態「３」の後半には、エンジン回転数が増速され、トルクも減少し、状態「３」の終わりの時点Ｔ４で、エンジン回転数およびトルクは、負荷感知トルク境界線Ｌ2を下回り、エンジン目標回転数加算値演算部１０４による増速処理が行われなくなる。
【０１４２】
このようにして、この実施の形態１では、エンジン回転数およびトルクの状態が負荷感知領域Ｅに入ったときに、出力の増大が要求されているとして、エンジン回転数を増大させている。特に、レバー操作後にかかる負荷に対して再度レバー操作を行わずに、自動的にエンジン回転数を増大させて出力増大を行うようにしているので、オペレータにかかる操作性を改善することができる。すなわち、大きな負荷がかかった場合に、自動的に出力増大を行うようにしている。
【０１４３】
また、この実施の形態１では、現在のポンプ目標吐出流量Ｑsumに適合する第１のエンジン目標回転数ｎcom1にエンジン目標回転数加算値ｎcom_addが加算された第２のエンジン目標回転数ｎcom2を設定する一方で、複数の油圧アクチュエータ２１〜２６の作業パターンに応じて、油圧ポンプ３の出力制限値Ｐplimitが設定され、これに対応する第４のエンジン目標回転数ｎcom4が設定される。第４のエンジン目標回転数ｎcom4がエンジン目標回転数ｎcom23以下であれば第４のエンジン目標回転数ｎcom4が得られるようにエンジン回転数が制御され、第４のエンジン目標回転数ｎcom4に対応するポンプ吸収トルクが得られるように油圧ポンプ３が制御される。このためポンプ吸収トルクを適切な値に定めることができ必要以上の無駄なエネルギー消費を抑えることができる。
【０１４４】
なお、上述した実施の形態１において、操作手段４１〜４４が非操作の状態から操作状態に切り替わったことの判定は、これに限定されるわけではなく、操作手段４１〜４４の操作量が所定のしきい値よりも大きい場合に、操作手段４１〜４４が非操作の状態から操作状態に切り替わったものと判定してもよい。
【０１４５】
なお、第１の目標エンジン回転数の設定の仕方は、任意である。たとえば、従来技術で説明したのと同様に、燃料ダイヤルによりエンジン２の回転数を設定し、この燃料ダイヤルの設定値に応じて、エンジン２の第１の目標エンジン回転数ｎcom1を設定することができる。
【０１４６】
（実施の形態２）
つぎに、この発明の実施の形態２について説明する。この発明の実施の形態２の建設機械２０１は、図１に示した建設機械１を前提とし、図１に示した建設機械１に対してＰＴＯ軸１０、発電電動機１１、蓄電器１２、インバータ１３、回転センサ１４、電圧センサ１５が付加され、発電電動機１１による電動作用、発電作用が行われる。
【０１４７】
すなわち、図１０に示すように、エンジン２の出力軸は、ＰＴＯ軸１０を介して油圧ポンプ３の駆動軸および発電電動機１１の駆動軸に連結される。発電電動機１１は発電作用と電動作用を行う。つまり、発電電動機１１は電動機（モータ）として作動し、また発電機としても作動する。また発電電動機１１はエンジン２を始動させるスタータとしても機能する。スタータスイッチがオンされると、発電電動機１１が電動作用し、エンジン２の出力軸を低回転（たとえば４００〜５００ｒｐｍ）で回転させ、エンジン２を始動させる。
【０１４８】
発電電動機１１は、インバータ１３によってトルク制御される。インバータ１３は後述するように、コントローラ６から出力される発電電動機指令値ＧＥＮ_comに応じて発電電動機１１をトルク制御する。
【０１４９】
インバータ１３は直流電源線を介して蓄電器１２に電気的に接続されている。なおコントローラ６は蓄電器１２を電源として動作する。
【０１５０】
蓄電器１２は、キャパシタや蓄電池などによって構成され、発電電動機１１が発電作用した場合に発電した電力を蓄積する（充電する）。また蓄電器１２は同蓄電器１２に蓄積された電力をインバータ１３に供給する。なお本明細書では静電気として電力を蓄積するキャパシタや鉛電池、ニッケル水素電池、リチウムイオン電池等の蓄電池も含めて「蓄電器」と称するものとする。
【０１５１】
発電電動機１１には発電電動機１１の現在の実回転数ＧＥＮ_spd（ｒｐｍ）、つまりエンジン２の実回転数を検出する回転センサ１４が付設されている。回転センサ１４で検出される実回転数ＧＥＮ_spdを示す信号はコントローラ６に入力される。
【０１５２】
また、畜電器１２には、畜電器１２の電圧BATT_voltを検出する電圧センサ１５が設けられている。電圧センサ１５で検出される電圧BATT_voltを示す信号はコントローラ６に入力される。
【０１５３】
また、コントローラ６は、インバータ１３に発電電動機指令値ＧＥＮ_comを出力し、発電電動機１１を発電作用または電動作用させる。コントローラ６からインバータ１３に対して、発電電動機１１を発電機として作動させるための指令値ＧＥＮ_comが出力されると、エンジン２で発生した出力トルクの一部は、エンジン出力軸を介して発電電動機１１の駆動軸に伝達されてエンジン２のトルクを吸収して発電が行われる。そして、発電電動機１１で発生した交流電力はインバータ１３で直流電力に変換されて直流電源線を介して蓄電器１２に電力が蓄積される（充電される）。
【０１５４】
またコントローラ６からインバータ１３に対して、発電電動機１１を電動機として作動させるための指令値ＧＥＮ_comが出力されると、インバータ１３は発電電動機１１が電動機として作動するように制御する。すなわち蓄電器１２から電力が出力され（放電され）蓄電器１２に蓄積された直流電力がインバータ１３で交流電力に変換されて発電電動機１１に供給され、発電電動機１１の駆動軸を回転作動させる。これにより発電電動機１１でトルクが発生し、このトルクは、発電電動機１１の駆動軸を介してエンジン出力軸に伝達されて、エンジン２の出力トルクに加算される（エンジン２の出力がアシストされる）。この加算した出力トルクは、油圧ポンプ３で吸収される。
【０１５５】
発電電動機１１の発電量（吸収トルク量）、電動量（アシスト量；発生トルク量）は、上記発電電動機指令値ＧＥＮcomの内容に応じて変化する。
【０１５６】
ここで、図１１から図１３を参照して、建設機械２０１のコントローラ６による制御処理について説明する。
【０１５７】
図１１に示した処理は、図２に示した処理と同じであり、実施の形態１と同様に、最小値選択部６５でエンジン目標回転数ｎcomが選択されると、図１２に示す制御フローに移行し、図１２に示す制御処理がなされる。
【０１５８】
なお、以下ではエンジン回転数、エンジン目標回転数をそれぞれ、発電電動機回転数、発電電動機目標回転数に変換した上で演算処理を行うようにしているが、下記の説明において発電電動機回転数、発電電動機目標回転数をそれぞれエンジン回転数、エンジン目標回転数に置換して同様の演算処理を行う実施も可能である。
【０１５９】
発電電動機目標回転数演算部９６では、現在のエンジン目標回転数ｎcomに対応する発電電動機１１の目標回転数Ｎgen_comが次式によって演算される。
【０１６０】
Ｎgen_com＝ｎcom×Ｋ2 …（４）
ただし、Ｋ2は、ＰＴＯ軸１０の減速比である。
【０１６１】
アシスト有無判定部９０では、発電電動機１１の目標回転数Ｎgen_comと、回転センサ１４で検出される発電電動機１１の現在の実回転数ＧＥＮ_spdと電圧センサ１５で検出される畜電器１２の現在の電圧BATT_voltとに基づいて、発電電動機１１によってエンジン２をアシストするか否か（アシスト有無）が判定される。
【０１６２】
アシスト有無判定部９０は、図１３に示すように、まず、偏差演算部９１で、発電電動機目標回転数Ｎgen_comと発電電動機実回転数ＧＥＮ_spdとの偏差Δgen_spdが演算される。
【０１６３】
つぎに、第１の判定部９２では、発電電動機目標回転数Ｎgen_comと発電電動機実回転数ＧＥＮ_spdとの偏差Δgen_spdが第１のしきい値ΔＧＣ１以上になった場合に、発電電動機１１を電動作用すると判定し、アシストフラグassist_flagをＴにし、発電電動機目標回転数Ｎgen_comと発電電動機実回転数ＧＥＮ_spdとの偏差Δgen_spdが第１のしきい値ΔＧＣ１よりも小さい第２のしきい値ΔＧＣ２以下になった場合に、発電電動機１１を電動作用しない（ただし、必要に応じて発電作用させて蓄電器１２に電力を蓄える）と判定し、アシストフラグをＦにする。
【０１６４】
また、発電電動機目標回転数Ｎgen_comと発電電動機実回転数ＧＥＮ_spdとの偏差Δgen_spdが第３のしきい値ΔＧＣ３以下になった場合に、発電電動機１１を発電作用すると判定し、アシストフラグassist_flagをＴにし、発電電動機目標回転数Ｎgen_comと発電電動機実回転数ＧＥＮ_spdとの偏差Δgen_spdが第３のしきい値ΔＧＣ３よりも大きい第４のしきい値ΔＧＣ４以上になった場合に、発電電動機１１を発電作用しない（ただし、必要に応じて発電作用させて蓄電器１２に電力を蓄える）と判定し、アシストフラグをＦにする。
【０１６５】
このように、回転数偏差Δgen_spdが符号プラスで、ある程度以上大きくなると、発電電動機１１を電動作用させエンジン２をアシストさせるようにしているのは、現在のエンジン回転数と目標回転数とが離れている場合にエンジン目標回転数に向けて迅速にエンジン回転数を上昇させるためである。
【０１６６】
また、回転数偏差Δgen_spdが符合マイナスである程度以上大きくなると、発電電動機１１を発電作用させエンジン２を逆アシストさせるようにしているのは、エンジン回転数の減速時に発電作用させてエンジン回転数を迅速に低下させるとともにエンジン２のエネルギーを回生するためである。
【０１６７】
また第１のしきい値ΔＧＣ１と第２のしきい値ΔＧＣ２との間にヒステリシスをもたせるとともに、第３のしきい値ΔＧＣ３と第４のしきい値ΔＧＣ４との間にヒステリシスをもたせることで、制御上のハンチングを防止している。
【０１６８】
第２の判定部９３では、蓄電器１２の電圧BATT_voltが所定の範囲ＢＣ１〜ＢＣ４（ＢＣ２〜ＢＣ３）内に収まっている場合に、アシストフラグassist_flagをＴにし、所定の範囲外である場合には、アシストフラグassist_flagをＦにする。
【０１６９】
電圧値BATT_voltに、第１のしきい値ＢＣ１、第２のしきい値ＢＣ２、第３のしきい値ＢＣ３、第４のしきい値ＢＣ４を設定する。第１のしきい値ＢＣ１、第２のしきい値ＢＣ２、第３のしきい値ＢＣ３、第４のしきい値ＢＣ４の順序で大きくなるものとする。
【０１７０】
蓄電器１２の電圧値BATT_voltが第３のしきい値ＢＣ３以下になるとアシストフラグassist_flagをＴにし、蓄電器１２の電圧値BATT_voltが第４のしきい値ＢＣ４以上になるとアシストフラグassist_flagをＦにする。また、蓄電器１２の電圧値BATT_voltが第２のしきい値ＢＣ２以上になるとアシストフラグassist_flagをＴにし、蓄電器１２の電圧値BATT_voltが第１のしきい値ＢＣ１以下になるとアシストフラグassist_flagをＦにする。
【０１７１】
このように蓄電器１２の電圧BATT_voltが所定の範囲ＢＣ１〜ＢＣ４（ＢＣ２〜ＢＣ３）内に収まっているときのみに、アシストさせるようにしているのは、所定範囲外の低電圧、高電圧のときにアシストさせないようにすることで蓄電器１２に与える過充電や完全放電等の悪影響を回避するためである。
【０１７２】
また第１のしきい値ＢＣ１と第２のしきい値ＢＣ２との間にヒステリシスをもたせるとともに、第３のしきい値ＢＣ３と第４のしきい値ＢＣ４との間にヒステリシスをもたせることで、制御上のハンチングを防止している。
【０１７３】
アンド回路９４では、第１の判定部９２で得られたアシストフラグassist_flagと第２の判定部９３で得られたアシストフラグassist_flagがともにＴである場合に、最終的にアシストフラグassist_flagの内容をＴとし、それ以外である場合に、最終的にアシストフラグassist_flagの内容をＦにする。
【０１７４】
このアシスト有無判定部９０から出力されたアシストフラグassist_flagは、エンジン目標回転数加算値演算部１０４に出力され、エンジン目標回転数加算値演算部１０４は、アシストフラグassist_flagがTrueである場合、エンジン目標回転数加算値ｎcom_addの付加出力を行わないようにしている。
【０１７５】
アシストフラグ判定部９５では、アシスト有無判定部９０から出力されるアシストフラグassist_flagの内容がＴであるか否かが判定される。
【０１７６】
発電電動機指令値切り替え部８７では、アシストフラグ判定部９５の判定結果がＴであるか否か（Ｆ）に応じて、インバータ１３に与えるべき発電電動機指令値ＧＥＮ_comの内容を、目標回転数か、目標トルクかに切り替える。
【０１７７】
発電電動機１１は、インバータ１３を介して回転数制御若しくはトルク制御によって制御される。
【０１７８】
ここで、回転数制御とは、発電電動機指令値ＧＥＮ_comとして目標回転数を与えて目標回転数が得られるように発電電動機１１の回転数を調整する制御のことである。また、トルク制御とは、発電電動機指令値ＧＥＮ_comとして目標トルクを与えて目標トルクが得られるように発電電動機１１のトルクを調整する制御のことである。
【０１７９】
モジュレーション処理部９７では、発電電動機１１の目標回転数が演算され出力される。また、発電電動機トルク演算部６８では、発電電動機１１の目標トルクが演算され出力される。
【０１８０】
すなわち、モジュレーション処理部９７は、発電電動機目標回転数演算部９６で得られた発電電動機目標回転数Ｎgen_comに対して、特性９７ａにしたがいモジュレーション処理が施された回転数Ｎgen_comを出力する。発電電動機目標回転数演算部９６より入力された発電電動機目標回転数Ｎgen_comをそのまま出力するのではなくて、時間ｔをかけて徐々に回転数を増大させて、発電電動機目標回転数演算部９６より入力された発電電動機目標回転数Ｎgen_comに到達させる。
【０１８１】
図１４〜図１７に示したトルク線図を参照してモジュレーション処理を行わなかった場合に対してモジュレーション処理を行った場合の効果について説明する。
【０１８２】
図１４は、エンジン加速時にモジュレーション処理無しの場合のガバナの動きを説明する図であり、図１５は、エンジン加速時にモジュレーション処理有りの場合のガバナの動きを説明する図である。図１６は、エンジン減速時にモジュレーション処理無しの場合のガバナの動きを説明する図であり、図１７は、エンジン減速時にモジュレーション処理有りの場合のガバナの動きを説明する図である。ガバナとしてメカガバナを使用すると、実際のエンジン回転数よりもガバナが指定する回転数が遅れるという問題がある。
【０１８３】
図１４および図１５に示すように、油圧ポンプ３の負荷が大きいときに低回転のマッチング点Ｐ0から高回転側にエンジン２を加速させる場合を考える。図１４および図１５において、Ｐ2はエンジントルクに対応し、エンジントルクにアシスト分のトルクを加えたものが、エンジン２と発電電動機１１を合わせた全トルクＰ3となる。Ｐ1はポンプ吸収トルクに対応し、ポンプ吸収トルクに加速トルクを合わせたものが全トルクＰ3に対応している。
【０１８４】
図１４に示すようにモジュレーション処理無しの場合には、エンジン目標回転数とエンジン実回転数との偏差に応じたアシストトルクが発生する。偏差が大きい場合には、その大きな偏差に対応して、発電電動機１１によるアシストトルクが大きくなる。このためガバナの動きよりもエンジン２が早く加速して、ガバナが指定する回転数よりも実回転数の方が大きくなる。エンジン２が早く加速するとガバナの調整により燃料噴射量が減りエンジントルクが減少する。このためエンジン２を発電電動機１１によってアシストしているにもかかわらずエンジン２がフリクションとなってしまい、エンジン２の加速度が上がらないことになる。このため燃料噴射量を減らしながら、エンジントルクを減少させながら、エンジン２がロスとなってエンジン２が加速することなり、エネルギーロスを招くとともに、エンジン２が十分に加速しないという結果を招く。
【０１８５】
これに対して図１５に示すようにモジュレーション処理有りの場合には、エンジン目標回転数にモジュレーション処理が施されて、エンジン目標回転数とエンジン実回転数との偏差が小さくなり、これに応じて、発電電動機１１で小さいアシストトルクが発生する。このためガバナの動きがエンジン２の加速に追従し、ガバナが指定する回転数が実回転数に一致する。このためエネルギーロスが低減され、エンジン２が十分に加速する。
【０１８６】
つぎにエンジン２を減速させる場合について説明する。図１６および図１７に示すように、油圧ポンプ３の負荷が大きいときに高回転のマッチング点Ｐ0から低回転側にエンジン２を減速させる場合を考える。
【０１８７】
図１６および図１７において、Ｐ2はエンジントルクに対応し、エンジントルクに回生トルクを加えたものが、エンジン２と発電電動機１１を合わせた全トルクＰ3となる。Ｐ1はポンプ吸収トルクに対応し、ポンプ吸収トルクに減速トルクを合わせたものが全トルクＰ3に対応している。
【０１８８】
図１６に示すようにモジュレーション処理無しの場合には、エンジン目標回転数とエンジン実回転数との偏差に応じた回生トルクが発生する。偏差が大きい場合には、その大きな偏差に対応して、発電電動機１１による回生トルクが大きくなる。このためガバナの動きよりもエンジン２が早く減速して、ガバナが指定する回転数よりも実回転数の方が小さくなる。エンジン２が早く減速するとガバナの調整により燃料噴射量が増加しエンジントルクが増大する。このためエンジン２はトルクを増加させつつ発電電動機１１で発電しながらエンジン２が減速することになる。この結果、エンジン２がトルクを上げつつ、発電電動機１１によって、増加するエンジンエネルギーを回収しながら、エンジン２が減速することになり、無駄な発電が行われ、燃料を無駄に消費することになる。
【０１８９】
これに対して図１７に示すようにモジュレーション処理有りの場合には、エンジン目標回転数にモジュレーション処理が施されて、エンジン目標回転数とエンジン実回転数との偏差が小さくなり、これに応じて、発電電動機１１で小さい回生トルクが発生する。このためガバナの動きがエンジン２の減速に追従し、ガバナが指定する回転数が実回転数に一致する。このためエンジン２のトルクが負になり、発電電動機１１によってエンジン２の速度エネルギーを回収しながらエンジン２が減速する。このため無駄なエネルギー消費を招くことなく効率よくエンジン２を減速させることができる。
【０１９０】
発電電動機トルク演算部６８では、電圧センサ１５で検出される畜電器１２の現在の電圧BATT_voltに基づいて、電圧BATT_voltに対応する目標トルクＴgen_comが演算される。
【０１９１】
記憶装置には、蓄電器１２の電圧BATT_voltの上昇６８ｂに応じて目標トルクＴgen_comが減少し、蓄電器１２の電圧BATT_voltの下降６８ｃに応じて目標トルクＴgen_comが増加するというヒステリシスをもたせた関数関係６８ａがデータテーブル形式で記憶されている。この関数関係６８ａは、発電電動機１１の発電量を調整することで蓄電器１２の電圧値を所望の範囲内に維持するために設定されている。
【０１９２】
発電電動機トルク演算部６８では、蓄電器１２の現在の電圧BATT_voltに対応する目標トルクＴgencomが関数関係６８ａにしたがい出力される。
【０１９３】
アシストフラグ判定部９５でアシストフラグassit_flagの内容がＴであると判定されると、発電電動機指令値切り替え部８７が、モジュレーション処理部９７側に切り替えられ、モジュレーション処理部９７から出力される発電電動機目標回転数Ｎgen_comが発電電動機指令値ＧＥＮ_comとしてインバータ１３に出力されて、発電電動機１１が回転数制御され、発電電動機１１が電動作用若しくは発電作用をする。
【０１９４】
また、アシストフラグ判定部９５でアシストフラグassit_flagの内容がＦであると判定されると、発電電動機指令値切り替え部８７が、発電電動機トルク演算部６８側に切り替えられ、発電電動機トルク演算部６８から出力される発電電動機目標トルクＴgen_comが発電電動機指令値ＧＥＮ_comとしてインバータ１３に出力されて、発電電動機１１がトルク制御され、発電電動機１１が発電作用をする。
【０１９５】
ポンプ吸収トルク指令値切り替え部８８では、アシストフラグ判定部９５の判定結果がＴであるか否か（Ｆ）に応じて、制御電流演算部６７に与えるべきポンプ目標吸収トルクＴの内容を、第１のポンプ目標吸収トルクＴp_com1か、第２のポンプ目標吸収トルクＴp_com2かに切り替える。
【０１９６】
第１のポンプ目標吸収トルクＴp_com1は、第１のポンプ目標吸収トルク演算部６６（図２に示すポンプ吸収トルク演算部６６と同じ構成）で演算される。
【０１９７】
すなわち、第１のポンプ目標吸収トルクＴpcom1は、図１８のトルク線図における第１の目標トルク線Ｌ1上のトルク値として与えられる。第１の目標トルク線Ｌ1は、エンジン目標回転数ｎが低下するに応じて油圧ポンプ３の目標吸収トルクＴp_com1が小さくなるような目標トルク線として設定されている。
【０１９８】
第２のポンプ目標吸収トルクＴpcom2は、第２のポンプ目標吸収トルク演算部８５で演算される。すなわち、第２のポンプ目標吸収トルクＴp_com2は、図１８のトルク線図における第１の目標トルク線Ｌ1に対して、低回転領域でポンプ目標吸収トルクが大きくなる第２の目標トルク線Ｌ12上のトルク値として与えられる。
【０１９９】
第１のポンプ目標吸収トルク演算部６６では、エンジン目標回転数ｎcomに対応する油圧ポンプ３の第１のポンプ目標吸収トルクＴpcom1が演算される。
【０２００】
記憶装置には、エンジン目標回転数ｎcomの増加に応じて油圧ポンプ３の第１の目標吸収トルクＴp_com1が増加する関数関係６６ａがデータテーブル形式で記憶されている。この関数６６ａは、図１８に示すトルク線図上の第１の目標トルク線Ｌ1に対応するカーブである。
【０２０１】
図１８は、エンジン２のトルク線図を示しており横軸にエンジン回転数ｎ（ｒｐｍ；ｒｅｖ/ｍｉｎ）をとり縦軸にトルクＴ（Ｎ・ｍ）をとっている。関数６６ａは、図１８に示すトルク線図上の目標トルク線Ｌ1に対応している。
【０２０２】
第１のポンプ目標吸収トルク演算部６６では、現在のエンジン目標回転数ｎcomに対応する第１のポンプ目標吸収トルクＴp_com1が関数関係６６ａにしたがい演算される。
【０２０３】
第２のポンプ目標吸収トルク演算部８５では、発電電動機回転数ＧＥＮ_spd（エンジン実回転数）に対応する油圧ポンプ３の第２のポンプ目標吸収トルクＴp_com2が演算される。
【０２０４】
記憶装置には、発電電動機回転数ＧＥＮ_spd（エンジン実回転数）に応じて油圧ポンプ３の第２の目標吸収トルクＴp_com2が変化する関数関係８５ａがデータテーブル形式で記憶されている。この関数８５ａは、図１８に示すトルク線図上の第２の目標トルク線Ｌ12に対応するカーブであり、第１の目標トルク線Ｌ1に対して、低回転領域でポンプ目標吸収トルクが大きくなるような特性を有している。たとえば第２の目標トルク線Ｌ12は、等馬力線に相当するカーブであり、エンジン回転数の上昇に応じてトルクが低下するように特性を採用することができる。
【０２０５】
第２のポンプ目標吸収トルク演算部８５では、現在の発電電動機回転数ＧＥＮ_spd（エンジン実回転数）に対応する第２のポンプ目標吸収トルクＴp_com2が関数関係８５ａにしたがい演算される。
【０２０６】
アシストフラグ判定部９５でアシストフラグassit_flagの内容がＴであると判定されると、ポンプ吸収トルク指令値切り替え部８８が、第２のポンプ目標吸収トルク演算部８５側に切り替えられ、第２のポンプ目標吸収トルク演算部８５から出力される第２のポンプ目標吸収トルクＴp_com2がポンプ目標吸収トルクＴp_comとして、後段のフィルタ処理部８９に出力される。
【０２０７】
また、アシストフラグ判定部９５でアシストフラグassit_flagの内容がＦであると判定されると、ポンプ吸収トルク指令値切り替え部８８が、第１のポンプ目標吸収トルク演算部６６側に切り替えられ、第１のポンプ目標吸収トルク演算部６６から出力される第１のポンプ目標吸収トルクＴp_com1がポンプ目標吸収トルクＴp_comとして、後段のフィルタ処理部８９に出力される。
【０２０８】
以上のようにしてポンプ吸収トルク指令値切り替え部８８では、油圧ポンプ３の目標吸収トルクＴp_com1、Ｔp_com2、つまり図１８の目標トルク線Ｌ1、Ｌ12の選択が切り替えられる。
【０２０９】
フィルタ処理部８９では、目標トルク線Ｌ1、Ｌ12の選択が切り替えられた場合に、切り替え前の目標トルク線（たとえば第２の目標トルク線Ｌ12）上のポンプ目標吸収トルク（第２のポンプ目標吸収トルクＴp_com2）から、切り替え後の目標トルク線（第１の目標トルク線Ｌ1）上のポンプ目標吸収トルク（第１のポンプ目標吸収トルクＴp_com1）へ、徐々に変化させるフィルタ処理が行われる。
【０２１０】
すなわち、フィルタ処理部８９は、目標トルク線Ｌ1、Ｌ12の選択が切り替えられた場合に、特性８９ａにしたがいフィルタ処理が施された目標トルク値Ｔp_comを出力する。目標トルク線Ｌ1、Ｌ12の選択が切り替えられた場合に、切り替え前の目標トルク線（たとえば第２の目標トルク線Ｌ12）上のポンプ目標吸収トルク（第２のポンプ目標吸収トルクＴp_com2）から、切り替え後の目標トルク線（第１の目標トルク線Ｌ1）上のポンプ目標吸収トルク（第１のポンプ目標吸収トルクＴp_com1）へとそのまま切り替え出力するのではなくて、時間ｔをかけて徐々に切り替え前の目標トルク線（第２の目標トルク線Ｌ12）上のポンプ目標吸収トルク（第２のポンプ目標吸収トルクＴp_com2）から、切り替え後の目標トルク線（第１の目標トルク線Ｌ1）上のポンプ目標吸収トルク（第１のポンプ目標吸収トルクＴp_com1）へと滑らかに到達させる。
【０２１１】
図１８を用いて説明すると、第２の目標トルク線Ｌ12上の点Ｇにおける第２のポンプ目標吸収トルクＴp_com2から、第１の目標トルク線Ｌ1上の点Ｈにおける第１のポンプ目標吸収トルクＴp_com1に向けて徐々に時間をかけて変化する。
【０２１２】
これによりトルクが急激に変化することでオペレータや車体に与えるショックを抑制するとともに、操作感覚上の違和感をなくすことができる。
【０２１３】
フィルタ処理は、アシストフラグ判定部９５の判定結果がＴからＦに切り替わった場合、同判定結果がＦからＴに切り替わった場合の両方の場合に行うようにしてもよく、どちらか一方の切り替えが行われたときのみフィルタ処理を行うようにしてもよい。特に、アシストフラグ判定部９５の判定結果がＴからＦに切り替わり第２の目標トルク線Ｌ12から第１の目標トルク線Ｌ1に切り替わる場合に、フィルタ処理を行わないものとするとトルクが急激に低下してオペレータに大きな操作感覚の違和感を与えることが多い。このため、判定結果がＴからＦに切り替わり第第２の目標トルク線Ｌ12から第１の目標トルク線Ｌ1に切り替わる場合にはフィルタ処理を施すことが望ましい。
【０２１４】
フィルタ処理部８９から出力されたポンプ目標吸収トルクＴp_comは、図２に示すものと同構成の制御電流演算部６７に与えられる。制御電流演算部６７では、ポンプ目標吸収トルクＴp_comに対応する制御電流pc-epcが演算される。
【０２１５】
記憶装置には、ポンプ目標吸収トルクＴp_comの増加に応じて制御電流pc-epcが増加する関数関係６７ａがデータテーブル形式で記憶されている。
【０２１６】
制御電流演算部６７では、現在のポンプ目標吸収トルクＴp_comに対応する制御電流pc-epcが関数関係６７ａにしたがい演算される。
【０２１７】
コントローラ６からポンプ制御バルブ５に対して制御電流pc-epcが出力されてサーボピストンを介してポンプ制御バルブ５を変化させる。ポンプ制御バルブ５は、油圧ポンプ３の吐出圧ＰRp（ｋｇ/ｃｍ2）と油圧ポンプ３の容量ｑ（ｃｃ/ｒｅｖ）の積が制御電流pc-epcに対応するポンプ吸収トルクＴp_comを超えないように、油圧ポンプ３の斜板の傾転角をＰＣ制御する。
【０２１８】
この実施の形態２によれば、図１８に示すように、エンジン目標回転数が低下するに応じて油圧ポンプ３の目標吸収トルクが小さくなる第１の目標トルク線Ｌ1が設定される。また、第１の目標トルク線Ｌ1に対して、低回転領域でポンプ目標吸収トルクが大きくなる第２の目標トルク線Ｌ12が設定される。
【０２１９】
そして、エンジン目標回転数に一致するように、エンジン回転数が制御される。たとえば各操作レバー４１〜４４の操作量から油圧ポンプ３の負荷が小さいと判断されるときには、エンジン目標回転数が低い回転数ｎDに設定され、各操作レバー４１〜４４の操作量から油圧ポンプ３の負荷が大きいと判断されるときには、エンジン目標回転数が高い回転数ｎEに設定される。
【０２２０】
そして、エンジン目標回転数とエンジン２の実際の回転数との偏差が所定のしきい値以上になっているか否かが、つまり発電電動機１１によってエンジン２をアシストすべきか否かが判定される。
【０２２１】
エンジン目標回転数とエンジン２の実際の回転数との偏差が所定のしきい値以上になっていない場合には、第１の目標トルク線Ｌ1が選択され、エンジン目標回転数に対応する第１の目標トルク線Ｌ1上のポンプ目標吸収トルクが得られるように、油圧ポンプ３の容量が制御される。
【０２２２】
このためエンジン目標回転数が低回転ｎDに設定されているときには、ガバナは、エンジン目標回転数ｎDに対応するレギュレーションラインＦeD上において、第１の目標トルク線Ｌ1と交差する点Ｄを上限トルク値として、エンジン２と油圧ポンプ吸収トルクがつりあうように燃料噴射量を増減する。静的には第１の目標トルク線Ｌ1上の点Ｄでマッチングする。
【０２２３】
またエンジン目標回転数が高回転ｎEに設定されているときには、ガバナは、エンジン目標回転数ｎEに対応するレギュレーションラインＦeE上において、第１の目標トルク線Ｌ1と交差する点Ｅを上限トルク値として、エンジン２と油圧ポンプ吸収トルクがつりあうように燃料噴射量を増減する。静的には第１の目標トルク線Ｌ1上の点Ｅでマッチングする。
【０２２４】
このため発電電動機１１によるアシストが行われていないときには、比較例と同様に、エンジン２は目標トルク線Ｌ1に沿って制御されるため、燃費向上、ポンプ効率およびエンジン効率の向上、騒音低減、エンスト防止等の効果が得られる。
【０２２５】
エンジン目標回転数とエンジン３の実際の回転数との偏差が所定のしきい値以上になっている場合には、発電電動機１１が電動作用される。発電電動機１１が電動作用された結果、図１８に破線で示すトルク分がエンジントルクに加算される。
【０２２６】
また、同しきい値以上になっている場合には、第２の目標トルク線Ｌ12が選択され、エンジン回転数に対応する第２の目標トルク線Ｌ12上のポンプ目標吸収トルクが得られるように、油圧ポンプ３の容量が制御される。
【０２２７】
この実施の形態２の制御について実施の形態１との対比において説明する。ここで、たとえば掘削作業を開始すべく操作レバー４１等を中立位置から倒した場合を考える。この場合、エンジン回転数を低回転から高回転の高負荷のマッチング点Ｅまで上昇させる必要がある。
【０２２８】
実施の形態１の場合には、図１９の経路ＬＮ１に沿ってエンジン２が加速する。掘削作業開始の初期の段階では、エンジン回転を上昇（過渡時）させながら作業機等を作動させる必要がある。実施の形態１の場合には、エンジン２の応答性はよいものの、発電電動機２によるアシストや第２の目標トルク線Ｌ12への移行がないため、エンジン回転上昇時の初期の段階で、油圧ポンプ３の吸収トルクが小さくなってしまう。このため操作レバーの動きに対して作業機の動きだしが遅くなり、作業効率の低下を招くとともに、オペレータに操作感覚の違和感を与える。
【０２２９】
上述した実施の形態１に対して発電電動機１１によるアシストを加えた場合には、経路ＬＮ２に沿ってエンジン２が加速する。この場合、発電電動機２によるアシストがあるため、実施の形態１に比べてエンジン回転上昇時の初期の段階で、油圧ポンプ３の吸収トルクが大きくなる。このため操作レバーの動きに対して作業機の動きだしが早くなり、作業効率の低下を抑制でき、オペレータに与える操作感覚の違和感を軽減できる。したがって実施の形態２の変形例として、実施の形態１に対して発電電動機１１によるアシストを付加するだけの実施も可能である。
【０２３０】
実施の形態２の場合には、図２０の経路ＬＮ３に沿ってエンジン２が加速する。実施の形態２によれば、低回転から第２の目標トルク線Ｌ12上の点Ｆを経てＥ点に到達する。すなわち操作レバー４１等を倒した直後に即座に油圧ポンプ吸収トルクが高トルクとなる点Ｆに達するため、操作レバーの動きに対して作業機の動きだしが早くなる。このためエンジン２を加速させつつ作業機を、操作レバーの動きに遅れなく、瞬時に力強く動かすことができる。これにより作業効率が向上し、オペレータに操作感覚の違和感を与えることがない。なお、仮に、発電電動機１１によるアシストなくして（図２０に示す斜線部分なくして）、第２の目標トルク線Ｌ12に移行させようとすると、エンジン２に過負荷がかかるおそれがある。第２実施例では、発電電動機１１によるアシストを前提として、第２の目標トルク線Ｌ12への移行を保証している。
【０２３１】
以上のように、実施の形態２によれば、エンジン効率、ポンプ効率等の向上を図りつつ、オペレータの意思通りに応答性よく作業機等を作動させることができる。
【０２３２】
（実施の形態３）
上述した実施の形態２では、建設機械２０１の上部旋回体を油圧アクチュエータ（油圧モータ）によって旋回作動させる油圧旋回システムを前提として説明したが、この実施の形態３では、建設機械３０１の上部旋回体を電動アクチュエータで旋回作動させる電動旋回システムを搭載している。
【０２３３】
図２１は、この発明の実施の形態３である建設機械の概要構成を示すブロック図であり、この建設機械３０１は、電動旋回システムを搭載している。図２１に示すように、この建設機械３０１は、図１に示した構成に対して、ＰＴＯ軸１０、発電電動機１１、蓄電器１２、インバータ１３、回転センサ１４、電圧センサ１５が付加されており、発電電動機１１による電動作用、発電作用が行われるのは実施の形態２と同様であるが、更に、上部旋回体を電動アクチュエータ（旋回モータ１０３）で旋回作動させるための構成要素、つまり発電電動機コントローラ３１０、電流センサ３１１、旋回コントローラ３１２、旋回モータ３１３、旋回速度センサ３１５が付加されている。
【０２３４】
図２２〜図２５は、建設機械３０１のコントローラ６で行われる制御処理内容を示す制御フローである。なお、図２２の制御フローは、図１２の制御フローに対応し、図１１に示したエンジン目標回転数ｎcomが入力される。
【０２３５】
図２２に示すように、この実施の形態３では、実施の形態２に対して、アシストトルクリミット演算部１１０、第３のポンプ最大吸収トルク演算部１０６，最小値選択部１０７が追加され、実施の形態２の発電電動機指令値切り替え部８７の代わりに、発電電動機指令値切り替え部１８７、２８７が設けられ、実施の形態２の発電電動機トルク演算部６８の代わりに、要求発電量演算部１２０が設けられている。
【０２３６】
図２３は、実施の形態２の図１３に対応するアシスト有無判定部９０の内部構成を示すブロック図であり、図１３と重複する部分については説明を省略する。図２４は、アシストルクリミット演算部１１０の詳細な内部構成を示すブロック図である。図２５は、要求発電量演算部１２０の詳細な内部構成を示すブロック図である。
【０２３７】
ここで、実施の形態３を説明するにあたり、エンジントルクアシスト作用について定義をしておく。エンジンアシスト作用とは、ガバナや燃料噴射ポンプを調整してエンジン２の回転数をある目標回転数になるように制御しているとき、エンジン実回転数が素早く目標回転数に到達するように、発電電動機１１によってエンジン出力軸にトルクを加えることをいう。ここで、「トルクを加える」とは、エンジン回転を加速するときに素早く回転数を増加させるために軸トルクを加算する場合だけではなく、エンジン回転を減速するときに素早く回転数を減少させるために軸トルクを吸収する場合も含む意味で使用する。
【０２３８】
つまり、エンジントルクアシスト作用とは、実施の形態２において、発電電動機１１を電動作用させてエンジン２をアシストし、発電電動機１１を発電作用させてエンジン２を逆アシストさせることに相当する。
【０２３９】
エンジントルクアシスト作用の効果は、実施の形態２で説明したように、エンジン回転の加速時には、エンジン加速の応答性が良くなり、作業性が向上するととともに、エンジン回転の減速時には、エンジン軸トルクが吸収されることでエンジン回転数が素早く下がり、エンジン回転数の減速時の騒音や振動が改善される。また、エンジン回転数を下げるときにエンジン軸トルクが吸収されるため、エンジン出力軸周りの慣性が持っていた回転運動エネルギーを回収することができるので、エネルギー効率の面でも向上するという効果が得られる。
【０２４０】
これに対して、「エンジントルクアシスト作用をさせない」とは、発電電動機１１を発電作用させて、そのエネルギー（電力）を蓄電器１２に供給したり、直接、旋回モータ１０３に供給して電動の上部旋回体を作動させたりすることをいう。
【０２４１】
以上のようなエンジントルクアシスト作用させるか、エンジントルクアシスト作用させないようにする制御は、後述するように、コントローラ６からの指令に基づき、発電電動機コントローラ３１０、旋回コントローラ３１２が実行する。
【０２４２】
なお、図２１に示したように、この実施の形態３では、旋回マシナリ３１４の駆動軸に電動モータとしての旋回モータ３１３が連結されており、この旋回モータ３１３が駆動することにより旋回マシナリ３１４が駆動し、スイングピニオン、スイングサークル等を介して上部旋回体が旋回作動するものである。
【０２４３】
旋回モータ３１３は、発電作用と電動作用を行う。つまり、旋回モータ３１３は、電動機として作動もし、また発電機としても作動する。旋回モータ３１３が電動機として作動したときには上部旋回体が旋回作動し、上部旋回体が旋回を停止したときには上部旋回体のトルクが吸収されて旋回モータ３１３が発電機として作動する。
【０２４４】
旋回モータ３１３は、旋回コントローラ３１２によって駆動制御される。旋回コントローラ３１２は直流電源線を介して蓄電器１２に電気的に接続されているとともに、発電電動機３１０に電気的に接続されている。発電電動機コントローラ３１０は、実施の形態２のインバータ１３の機能を含んで構成されている。旋回コントローラ３１２、発電電動機コントローラ３１０は、コントローラ６から出力される指令に応じて制御される。
【０２４５】
旋回モータ３１３に供給されている電流、つまり上部旋回体の負荷を示す旋回負荷電流ＳＷＧ_currは、電流センサ３１１で検出される。電流センサ３１１で検出された旋回負荷電流ＳＷＧ_currは、コントローラ６に入力される。
【０２４６】
この実施の形態３では、実施の形態２と同様にして最小値選択部６５でエンジン目標回転数ｎcomが選択されると、以下、図２２に示す制御フローに移行して以下に説明する処理が実行される。以下、各制御例について説明する。
【０２４７】
（制御例１）
この制御例１では、要求発電量演算部１２０で、蓄電器１２の蓄電状態に応じて、発電電動機１１の要求発電量Ｔgen_comが演算される。
【０２４８】
そして、アシスト有無判定部９０では、発電電動機１１をエンジントルクアシスト作用させるか（判定結果Ｔ）、あるいはエンジントルクアシスト作用させないか（判定結果Ｆ）が判定される。
【０２４９】
そして、アシスト有無判定部９０によって、発電電動機１１をエンジントルクアシスト作用させる（判定結果Ｔ）と判定した場合には、発電電動機指令値切り替え部１８７がＴ側、つまりモジュレーション処理部９７側に切り替えられて、発電電動機１１をエンジントルクアシスト作用させる。この場合、モジュレーション処理部９７から発電電動機速度指令値（発電電動機目標回転数）Ngen_comが発電電動機コントローラ３１０に対して出力される。発電機コントローラ３１０は、これを受けて、発電電動機目標回転数Ngen_comが得られるように発電電動機１１を回転数制御し、発電電動機１１を電動作用若しくは発電作用させてエンジントルクアシスト作用させる。これに対して、アシスト有無判定部９０によって、発電電動機１１をエンジントルクアシスト作用させない（判定結果Ｆ）と判定した場合には、発電電動機指令値切り替え部１８７がF側に切り替えられて、発電電動機１１の回転数制御がオフにされてエンジントルクアシスト作用されないようになされるとともに、発電電動機指令値切り替え部２８７がＦ側、つまり要求発電量演算部１２０側に切り替えられて、発電電動機１１が、要求発電量演算部１２０で演算された要求発電量Ｔgen_comに応じた発電量が得られるように発電作用される。この場合、要求発電量演算部１２０から要求発電量Ｔgen_comが、発電電動機トルク指令値（発電電動機目標トルク）として、発電電動機コントローラ３１０に対して出力される。発電電動機コントローラ３１０は、これを受けて、発電電動機目標トルクＴgen_comが得られるように発電電動機１１をトルク制御し、発電電動機１１を発電作用させる。この場合、旋回コントローラ３１２は、発電電動機１１で発電された電力を蓄電器１２に供給したり、直接、旋回モータ３１３に供給して電動の上部旋回体を作動させたりする制御を行う。
【０２５０】
このように、この制御例１では、エンジントルクアシスト作用の必要性に応じて、エンジントルクアシスト作用させるか、エンジントルクアシスト作用させずに、要求発電量に応じた発電を発電電動機１１で行わせるようにしたので、蓄電器１２の蓄電量を常に目標とする状態に安定に維持できるとともに、作業機、特に上部旋回体の操作性を常に高いレベルに維持することができる。
【０２５１】
（制御例２）
この制御例２では、要求発電量演算部１２０で、蓄電器１２の蓄電状態に応じて、発電電動機１１の要求発電量Ｔgen_comが演算される。
【０２５２】
第１のポンプ目標吸収トルク演算部６６では、エンジン目標回転数に応じて、油圧ポンプ３が吸収可能な最大吸収トルクを示す第1の最大トルク線６６ａが設定される。
【０２５３】
第２のポンプ目標吸収トルク演算部８５では、第１の最大トルク線６６ａに対して、エンジン低回転領域で最大吸収トルクが大きくなる第２の最大トルク線８５ａが設定される。
【０２５４】
そして、アシスト有無判定部９０では、発電電動機１１をエンジントルクアシスト作用させるか（判定結果Ｔ）、あるいはエンジントルクアシスト作用させないか（判定結果Ｆ）が判定される。
【０２５５】
そして、アシスト有無判定部９０によって、発電電動機１１をエンジントルクアシスト作用させる（判定結果Ｔ）と判定した場合には、ポンプ吸収トルク指令値切り替え部８８がT側、つまり第２のポンプ目標吸収トルク演算部８５側に切り替えられて、最大トルク線として第２の最大トルク線８５ａが選択され、現在のエンジン目標回転数に対応する第２の最大トルク線８５ａ上のポンプ吸収トルクを上限とするポンプ吸収トルクが得られるように油圧ポンプ３の容量が制御される。これに対してアシスト有無判定部９０によって、発電電動機１１をエンジントルクアシスト作用させない（判定結果Ｆ）と判定した場合には、ポンプ吸収トルク指令値切り替え部８８がＦ側、つまり第１のポンプ目標吸収トルク演算部６６側に切り替えられて、最大トルク線として第１の最大トルク線６６ａが選択され、現在のエンジン目標回転数に対応する第１の最大トルク線６６ａ上のポンプ吸収トルクを上限とするポンプ吸収トルクが得られるように油圧ポンプ３の容量が制御される。ポンプ容量の制御は、実施の形態１と同様にコントローラ６からポンプ制御バルブ５に対して制御電流pc-epcを出力しサーボピストンを介して油圧ポンプ３の斜板を変化させることで行う。
【０２５６】
また、アシスト有無判定部９０によって、発電電動機１１をエンジントルクアシスト作用させる（判定結果Ｔ）と判定した場合には、発電電動機指令値切り替え部１８７がＴ側、つまりモジュレーション処理部９７側に切り替えられて、発電電動機１１をエンジントルクアシスト作用させる。この場合、モジュレーション処理部９７から発電電動機速度指令値（発電電動機目標回転数）Ngen_comが発電電動機コントローラ３１０に対して出力される。発電機コントローラ３１０は、これを受けて、発電電動機目標回転数Ngen_comが得られるように発電電動機１１を回転数制御し、発電電動機１１を電動作用若しくは発電作用させてエンジントルクアシスト作用させる。これに対して、アシスト有無判定部９０によって、発電電動機１１をエンジントルクアシスト作用させない（判定結果F）と判定した場合には、発電電動機指令値切り替え部１８７がF側に切り替えられて、発電電動機１１の回転数制御がオフにされてエンジントルクアシスト作用されないようになされるとともに、発電電動機指令値切り替え部２８７がF側、つまり要求発電量演算部１２０側に切り替えられて、要求発電量演算部１２０で演算された要求発電量Ｔgen_comに応じた発電量が得られるように発電電動機１１が発電作用される。この場合、要求発電量演算部１２０から要求発電量Ｔgen_comが、発電電動機トルク指令値（発電電動機目標トルク）として、発電電動機コントローラ３１０に対して出力される。発電電動機コントローラ３１０は、これを受けて、発電電動機目標トルクＴgen_comが得られるように発電電動機１１をトルク制御し、発電電動機１１を発電作用させる。この場合、旋回コントローラ３１２は、発電電動機１１で発電された電力を蓄電器１２に供給したり、直接、旋回モータ３１３に供給して電動の上部旋回体を作動させたりする制御を行う。
【０２５７】
このように、この制御例２では、制御例１と同様に、エンジントルクアシスト作用の必要性に応じて、エンジントルクアシスト作用させるか、エンジントルクアシスト作用させずに、要求発電量に応じた発電を発電電動機１１で行わせるようにしたので、蓄電器１２の蓄電量を常に目標とする状態に安定に維持できるとともに、作業機、特に上部旋回体の操作性を常に高いレベルに維持することができる。
【０２５８】
しかも、制御例２では、発電電動機１１によってエンジントルクアシスト作用させながら、第１の最大トルク線６６ａに対して、エンジン低回転領域で最大吸収トルクが大きくなる第２の最大トルク線８５ａ上のポンプ吸収トルクを上限とするポンプ吸収トルクが得られるように油圧ポンプ３の容量を制御するようにしたため、エンジン回転上昇時の初期の段階での油圧ポンプ３の吸収トルクを大きくすることができる。このため操作レバーの動きに対して作業機の動き出しが早くなり、作業効率の低下を抑制でき、オペレータに与える操作感覚の違和感を軽減できる。なお、第２実施例で述べたように、仮に、発電電動機１１によってエンジントルクアシスト作用させることなく第２の最大トルク線Ｌ12に従って制御しようとすると、エンジン２に過負荷がかかるおそれがある。すなわち、エンジントルクアシスト作用なしで、第２の最大トルク線８５ａに従って油圧ポンプ３の容量を制御しようとすると、エンジン単体での出力以上のトルクを油圧ポンプ３が吸収することになってしまい、エンジン回転数を増加させることができないばかりでなく、高負荷によりエンジン回転数がダウンして、最悪の場合エンストに至ることがある。このように制御例２では、発電電動機１１によるエンジントルクアシスト作用を前提として、第２の最大トルク線８５ａに従った制御を保証している。
【０２５９】
（制御例３）
上述した制御例１、制御例２において、アシスト有無判定部９０で、具体的には、図２３に示すような判定が行われる。すなわち、第１の判定部９２では、発電電動機目標回転数Ｎgen_comと発電電動機実回転数ＧＥＮ_spdとの偏差Δgen_spdの絶対値が所定のしきい値以上になった場合、つまりエンジン目標回転数とエンジン２の実際の回転数との偏差の絶対値が所定のしきい値以上になっている場合に、発電電動機１１をエンジントルクアシスト作用させると判定し、アシストフラグassist_flagをＴにする。これに対して発電電動機目標回転数Ｎgen_comと発電電動機実回転数ＧＥＮ_spdとの偏差Δgen_spdの絶対値が所定のしきい値以下になった場合、つまりエンジン目標回転数とエンジン２の実際の回転数との偏差が所定のしきい値よりも小さくなっている場合に、発電電動機１１をエンジントルクアシスト作用させないと判定し、アシストフラグをＦにする。
【０２６０】
回転数偏差Δgen_spdが符合プラスである程度以上大きくなった場合には、発電電動機１１を電動作用させエンジン２をアシストさせる。これにより、現在のエンジン回転数と目標回転数とが離れている場合にエンジン目標回転数に向けて迅速にエンジン回転数が上昇する。また、回転数偏差Δgen_spdが符合マイナスである程度以上大きくなった場合には、発電電動機１１を発電作用させエンジン２を逆アシストさせる。これにより、エンジン回転数の減速時に発電作用されてエンジン回転数が迅速に低下するとともにエンジン２のエネルギーが回生される。
【０２６１】
以上のように、この制御例３では、偏差に対してしきい値を設けてエンジントルクアシスト作用させるか否かを判断しているため、制御が安定する。すなわち、仮に偏差に対してしきい値を設けないで偏差があったことをもって即座にエンジントルクアシスト作用をさせるとすると、エンジン目標回転数近くのエンジン回転数でエンジントルクアシスト作用をし続ける結果となり、エネルギーロスにつながる。これは、エンジントルクアシスト作用するエネルギーの源は、元々エンジン２のエネルギーであるため、エンジントルクアシスト作用をすると発電電動機１１の効率分だけ必ずエネルギーロスが増えてしまうからである。一般的に発電電動機１１は小さなトルクで駆動、発電すると効率が悪くなる。
【０２６２】
（制御例４）
上述した制御例１、制御例２において、アシスト有無判定部９０で、具体的には、図２３に示すような判定が行われる。すなわち、第２の判定部９３では、蓄電器１２の電圧値BATT_volt、つまり蓄電量が所定のしきい値ＢＣ１以下の場合には、発電電動機動機１１をエンジントルクアシスト作用させないと判定し、アシストフラグassist_flagをＦにする。このように蓄電器１２の蓄電量が低いときにエンジントルクアシスト作用させないようにすることで蓄電器１２の過放電を回避でき蓄電器１２の寿命低下を回避することができる。特に実施の形態３は、電動旋回システムを前提としているため、上部旋回体を旋回作動させるために蓄電エネルギーが必要であり、仮に蓄電量が減りすぎると旋回性能の悪影響を与えることになる。蓄電器１２の蓄電量が低いときにエンジントルクアシスト作用させないようにすることで、蓄電量低下により旋回性能が悪化することを回避することができる。
【０２６３】
（制御例５）
上述した制御例１、制御例２において、アシスト有無判定部９０で、具体的には、図２３に示すような判定が行われる。すなわち、旋回出力演算部９５では、旋回モータ３１３の現在の出力ＳＷＧ_powが下記（５）式によって、旋回負荷電流ＳＷＧ_currと蓄電器１２の電圧値BATT_voltとを用いて演算される。
【０２６４】
ＳＷＧpow＝ＳＷＧcurr×BATT_volt×Ｋswg …（５）
なお、Ｋswgは、定数である。
【０２６５】
そして、第３の判定部９６では、旋回モータ１０３の現在の出力ＳＷＧ_powが所定のしきい値ＳＣ１以上である場合には、発電電動機１１をエンジントルクアシスト作用させないと判定し、アシストフラグassist_flagをＦにする。また、旋回モータ３１３の現在の出力ＳＷＧ_powが、しきい値ＳＣ１よりも小さいしきい値ＳＣ２以下である場合には、発電電動機１１をエンジントルクアシスト作用させると判定し、アシストフラグassist_flagをＴにする。このようにしきい値ＳＣ１としきい値ＳＣ２との間にヒステリシスをもたせることで、制御上のハンチングを防止している。
【０２６６】
アンド回路９４では、第１の判定部９２で得られたアシストフラグassist_flagと、第２の判定部９３で得られたアシストフラグassist_flagと、第３の判定部９６で得られたアシストフラグassist_flagがともにＴである場合に、最終的にアシストフラグassist_flagの内容をＴとし、いずれかがＦである場合には、最終的にアシストフラグassist_flagの内容をＦとする。
【０２６７】
一方、図２５に示すように、要求発電量演算部１２０では、蓄電器１２の電圧値BATT_volt、つまり蓄電器１２の蓄電状態と、旋回負荷電流ＳＷＧ_curr、つまり、旋回モータ３１３の駆動状態に応じて、発電電動機１１の要求発電量Ｔgen_comが演算される。
【０２６８】
電動旋回システムの場合には、上部旋回体を旋回作動させるために電気エネルギーが必要になる。上部旋回体を高出力で旋回作動させるには蓄電器１２の蓄積エネルギーだけでは足りず、発電電動機１１を発電作用させて旋回モータ３１３に電力を供給しなければならない。要求発電量演算部１２０において、蓄電器１２の蓄電状態（電圧値BATT_volt）だけではなく、旋回電動機１１の駆動状態（旋回負荷電流ＳＷＧ_curr）を考慮しているのはこのことを意味する。
【０２６９】
この制御例５によれば、旋回モータ３１３の現在の出力ＳＷＧ_powが所定のしきい値ＳＣ１以上である場合には、発電電動機１１をエンジントルクアシスト作用させないと判定され、エンジントルクアシスト作用が禁止される一方で、蓄電器１２の蓄電状態（電圧値ＢＡＴＴvolt）のみならず旋回モータ３１３の駆動状態（旋回負荷電流ＳＷＧ_curr）を考慮して発電電動機１１の要求発電量Ｔgen_comが演算され、この要求発電量Ｔgen_comに応じた発電が発電電動機１１で行われ、発電した電力が旋回モータ３１３に供給される。このため旋回性能を落とすことなく上部旋回体を旋回作動させることができる。
【０２７０】
（制御例６）
上述したように回転数偏差Δgen_spdが符号プラスである程度以上大きくなった場合には、モジュレーション処理部９７から発電電動機速度指令値（発電電動機目標回転数）Ngen_comが発電電動機コントローラ３１０に対して出力され、発電機コントローラ３１０は、これを受けて、発電電動機目標回転数Ngen_comが得られるように発電電動機１１を回転数制御し、発電電動機１１を電動作用させる。すなわち、現在のエンジン回転数がエンジン目標回転数よりも小さい場合には、発電電動機１１を電動作用させて、エンジン２のトルク線図上においてエンジン２の軸トルクを加算してエンジン回転数を上昇させエンジン目標回転数と同等の回転数となるように、発電電動機１１の出力トルクを制御する。
【０２７１】
また、回転数偏差Δgen_spdが符号マイナスである程度以上大きくなった場合には、モジュレーション処理部９７から発電電動機速度指令値（発電電動機目標回転数）Ngen_comが発電電動機コントローラ３１０に対して出力され、発電機コントローラ３１０は、これを受けて、発電電動機目標回転数Ngen_comが得られるように発電電動機１１を回転数制御し、発電電動機１１を発電作用させる。すなわち、現在のエンジン回転数がエンジン目標回転数よりも大きい場合には、発電電動機１１を発電作用させて、エンジンのトルク線図上においてエンジン２の軸トルクを吸収してエンジン回転数を下降させエンジン目標回転数と同等の回転数となるように、発電電動機１１の出力トルクを制御する。
【０２７２】
（制御例７）
上述したように、アシスト有無判定部９０で、蓄電器１２の電圧値BATT_volt、つまり蓄電量が所定のしきい値ＢＣ１以下と判定された場合には、発電電動機１１をエンジントルクアシスト作用させない（判定結果Ｆ）と判定され、発電電動機指令値切り替え部２８７がF側、つまり要求発電量演算部１２０側に切り替えられて、要求発電量演算部１２０で演算された要求発電量Ｔgen_comに応じた発電量が得られるように発電電動機１１が発電作用される。
【０２７３】
しかし、ここで仮に、蓄電器１２の蓄電量があるしきい値以下に達すると即座にエンジントルクアシスト作用を禁止して、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に急に切り替えてしまうと、エンジン２の出力軸に急負荷が加わることがある。このためエンジン２が急負荷に対処できずにトルクの出力が追いつかずエンジン回転数が急に低下してしまうことがある。エンジン回転数の急低下は、作業機の出力低下につながり作業効率上望ましくない。
【０２７４】
そこで、この制御例７では、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替える前に、発電電動機１１が出し得るトルクの上限値（トルクリミット）を、蓄電器１２の蓄電量（電圧値BATT_volt）の減少に応じて、徐々に小さな値にする。具体的には、図２４に示すように、アシストトルクリミット演算部１１０の演算部１１１では、蓄電器１２の電圧値BATT_voltが第１の所定値ＢＤ１から、第１の所定値ＢＤ１よりも小さい第２の所定値ＢＤ２に減少するに従って、発電電動機１１のトルク上限値（発電電動機トルクリミット）ＧＥＮ_ｔrq_limitが徐々に減じられる値として求められて、出力される。
【０２７５】
発電電動機１１をエンジントルクアシスト作用させる（判定結果Ｔ）と判定され、発電電動機指令値切り替え部２８７がＴ側、つまりアシストトルクリミット演算部１１０側に切り替えられている場合には、アシストトルクリミット演算部１１０から発電電動機トルクリミットＧＥＮ_ｔrq_limitが、発電電動機トルク指令値（発電電動機目標トルク）Ｔgen_comの制限値として、発電電動機コントローラ３１０に対して出力される。
【０２７６】
エンジントルクアシスト作用させると判定された場合には、発電電動機１１は、目標回転数が得られるように速度制御で動作する。発電電動機１１の発電電動機トルク指令値（発電電動機目標トルク）Ｔgen_comは、速度制御ループの結果、演算される。
【０２７７】
発電電動機コントローラ３１０は、速度制御ループから演算された発電電動機トルク指令値（発電電動機目標トルク）Ｔgen_comが、アシストトルクリミット演算部１１０で演算された発電電動機トルクリミットＧＥＮ_ｔrq_limitを超えないように、発電電動機１１を制御し、発電電動機１１をアシスト作用させる。つまり発電電動機１１のトルクをトルク上限値ＧＥＮ_ｔrq_limit以下の範囲で制御する。そして、蓄電器１２の電圧値BATT_voltが所定のしきい値ＢＣ１以下となって、発電電動機指令値切り替え部２８７がF側、つまり要求発電量演算部１２０側に切り替えられると、要求発電量演算部１２０で演算された要求発電量Ｔgencomに応じた発電量が得られるように発電電動機１１が発電作用される。この場合、要求発電量演算部１２０から要求発電量Ｔgen_comが、発電電動機トルク指令値（発電電動機目標トルク）として、発電電動機コントローラ３１０に対して出力される。発電電動機コントローラ１００は、これを受けて、発電電動機目標トルクＴgen_comが得られるように発電電動機１１をトルク制御し、発電電動機１１を発電作用させる。このように、この制御例７では、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替える前に、発電電動機１１が出し得るトルクの上限値（トルクリミット）ＧＥＮ_ｔrq_limitを、蓄電器１２の蓄電量（電圧値BATT_volt）の減少に応じて、徐々に小さな値にしたので、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際の発電電動機１１の発電トルク変化が滑らかなものとなり、この切り替え時にエンジン回転数が低下してしまうことを回避することができる。
【０２７８】
（制御例８）
この制御例８では、上述した制御例７において、アシストトルクリミット演算部１１０の演算部１１１で以下のような制御が行われる。すなわち、蓄電器１２の電圧値BATT_voltが第１の所定値ＢＤ１から、第１の所定値ＢＤ１よりも小さい第２の所定値ＢＤ２に減少するに従って、発電電動機１１のトルク上限値（発電電動機トルクリミット）ＧＥＮ_ｔrq_limitが徐々に減じられる値として求められて出力される一方で、一度減じられたトルク上限値ＧＥＮ_ｔrq_limitを増加させる場合には、蓄電器１２の電圧値BATT_voltが第３の所定値ＢＤ３から、第３の所定値ＢＤ３よりも大きい第４の所定値ＢＤ４に増加するに従って、発電電動機１１のトルク上限値（発電電動機トルクリミット）ＧＥＮ_ｔrq_limitが徐々に増加される値として求められて、出力される。
【０２７９】
このように発電電動機トルクリミットＧＥＮ_ｔrq_limitの変化のさせ方にヒステリシスをもたせることで、制御を安定して行わせることができる。
【０２８０】
（制御例９）
上述したように、アシスト有無判定部９０で、旋回モータ１０３の現在の出力ＳＷＧ_powが所定のしきい値ＳＣ１以上と判定された場合には、発電電動機１１をエンジントルクアシスト作用させない（判定結果F）と判定され、発電電動機指令値切り替え部２８７がF側、つまり要求発電量演算部１２０側に切り替えられて、要求発電量演算部１２０で演算された要求発電量Ｔgen_comに応じた発電量が得られるように発電電動機１１が発電作用される。
【０２８１】
ここで、制御例７と同様に、旋回モータ３１３の現在の出力ＳＷＧ_powが所定のしきい値ＳＣ１以上に達すると即座にエンジントルクアシスト作用を禁止して、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に急に切り替えてしまうと、エンジン２の出力軸に急負荷が加わることがある。このためエンジン２が急負荷に対処できずにトルクの出力が追いつかずエンジン回転数が急に低下してしまうことがある。エンジン回転数の急低下は、作業機の出力低下につながり作業効率上望ましくない。
【０２８２】
この制御例９では、制御例７と同様に、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替える前に、発電電動機１１が出し得るトルクの上限値（トルクリミット）を、旋回電動機１１の現在の出力ＳＷＧ_powの増加に応じて、徐々に小さな値にする。
【０２８３】
具体的には、図２４に示すように、アシストトルクリミット演算部１１０の旋回出力演算部１１２では、旋回モータ３１３の現在の出力ＳＷＧ_powが前述の（５）式（ＳＷＧ_pow＝ＳＷＧ_curr×BATT_volt×Ｋswg）によって求められ、つぎに演算部１１３では、旋回モータ３１３の現在の出力ＳＷＧ_powが第１の所定値ＳＤ１から、第１の所定値ＳＤ１よりも大きい第２の所定値ＳＤ２に増加するに従って、発電電動機１１のトルク上限値（発電電動機トルクリミット）ＧＥＮ_ｔrq_limitが徐々に減じられる値として求められて、出力される。
【０２８４】
演算部１１１で求められたトルク上限値ＧＥＮ_ｔrq_limitと、演算部１１３で求められたトルク上限値ＧＥＮ_ｔrq_limitのうち小さい方の値が最小値選択部１１４で選択されて、最終的なトルク上限値（発電電動機トルクリミットＧＥＮ_ｔrq_limit）として、アシストトルクリミット演算部１１０から出力されることになる。
【０２８５】
発電電動機１１をエンジントルクアシスト作用させる（判定結果Ｔ）と判定され、発電電動機指令値切り替え部２８７がＴ側、つまりアシストトルクリミット演算部１１０側に切り替えられている場合には、アシストトルクリミット演算部１１０から発電電動機トルクリミットＧＥＮ_ｔrq_limitが、発電電動機トルク指令値（発電電動機目標トルク）Ｔgen_comの制限値として、発電電動機コントローラ３１０に対して出力される。
【０２８６】
エンジントルクアシスト作用させると判定された場合には、発電電動機１１は、目標回転数が得られるように速度制御で動作する。発電電動機１１の発電電動機トルク指令値（発電電動機目標トルク）Ｔgen_comは、速度制御ループの結果、演算される。
【０２８７】
発電電動機コントローラ３１０は、速度制御ループから演算された発電電動機トルク指令値（発電電動機目標トルク）Ｔgen_comが、アシストトルクリミット演算部１１０で演算された発電電動機トルクリミットＧＥＮ_ｔrq_limitを超えないように、発電電動機１１を制御し、発電電動機１１をアシスト作用させる。つまり発電電動機１１のトルクをトルク上限値ＧＥＮ_ｔrq_limit以下の範囲で制御する。
【０２８８】
そして、旋回モータ３１３の現在の出力ＳＷＧ_powが所定のしきい値ＳＣ１以上となって、発電電動機指令値切り替え部２８７がF側、つまり要求発電量演算部１２０側に切り替えられると、要求発電量演算部１２０で演算された要求発電量Ｔgen_comに応じた発電量が得られるように発電電動機１１が発電作用される。この場合、要求発電量演算部１２０から要求発電量Ｔgen_comが、発電電動機トルク指令値（発電電動機目標トルク）として、発電電動機コントローラ３１０に対して出力される。発電電動機コントローラ３１０は、これを受けて、発電電動機目標トルクＴgen_comが得られるように発電電動機１１をトルク制御し、発電電動機１１を発電作用させる。このように、この制御例９では、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替える前に、発電電動機１１が出し得るトルクの上限値（トルクリミット）ＧＥＮ_ｔrq_limitを、旋回モータ３１３の現在の出力ＳＷＧ_powの増加に応じて、徐々に小さな値にしたので、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際の発電電動機１１の発電トルク変化が滑らかなものとなり、この切り替え時にエンジン回転数が低下してしまうことを回避することができる。
【０２８９】
（制御例１０）
この制御例１０では、上述した制御例９において、アシストトルクリミット演算部１１０の演算部１１３で以下のような制御が行われる。すなわち、旋回モータ３１３の現在の出力ＳＷＧ_powが第１の所定値ＳＤ１から、第１の所定値ＳＤ１よりも大きい第２の所定値ＳＤ２に増加するに従って、発電電動機１１のトルク上限値（発電電動機トルクリミット）ＧＥＮ_ｔrq_limitが徐々に減じられる値として求められて、出力される一方で、一度減じられたトルク上限値ＧＥＮ_ｔrq_limitを増加させる場合には、旋回モータ３１３の現在の出力ＳＷＧ_powが第３の所定値ＳＤ３から、第３の所定値ＳＤ３よりも小さい第４の所定値ＳＤ４に減少するに従って、発電電動機１１のトルク上限値（発電電動機トルクリミット）ＧＥＮ_ｔrq_limitが徐々に増加される値として求められて、出力される。
【０２９０】
このように発電電動機トルクリミットＧＥＮ_ｔrq_limitの変化のさせ方にヒステリシスをもたせることで、制御を安定して行わせることができる。
【０２９１】
（制御例１１）
上述したように、アシスト有無判定部９０で、蓄電器１２の電圧値BATT_voltが所定のしきい値ＢＣ１以下と判定された場合、あるいは旋回モータ３１３の現在の出力ＳＷＧ_powが所定のしきい値ＳＣ１以上と判定された場合には、発電電動機１１をエンジントルクアシスト作用させない（判定結果F）と判定され、発電電動機指令値切り替え部２８７がF側、つまり要求発電量演算部１２０側に切り替えられて、要求発電量演算部１２０で演算された要求発電量Ｔgen_comに応じた発電量が得られるように発電電動機１１が発電作用される。
【０２９２】
ここで、蓄電器１２の電圧値BATT_voltが所定のしきい値ＢＣ１以下に達したか、あるいは旋回モータ３１３の現在の出力ＳＷＧ_powが所定のしきい値ＳＣ１以上に達すると即座にエンジントルクアシスト作用を禁止して、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に急に切り替えてしまうと、エンジン２の出力軸に急負荷が加わることがある。このためエンジン２が急負荷に対処できずにトルクの出力が追いつかずエンジン回転数が急に低下してしまうことがある。エンジン回転数の急低下は、作業機の出力低下につながり作業効率上望ましくない。
【０２９３】
この制御例１１では、制御例７、制御例８、制御例９、制御例１０の実施に代えて、あるいはこれら各制御例の実施と併せて、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替えた直後は、発電電動機１１の発電トルクをアシスト終了時のトルクから徐々に発電電動機１１の要求発電量に応じた発電トルクまで変化させる制御を実施することで、同切り替え時のエンジン回転数の急低下を回避するものである。
【０２９４】
具体的には、図２５に示すように、要求発電量演算部１２０の演算部１２１では、蓄電器１２の電圧値BATT_voltが第１の所定値ＢＥ１から、第１の所定値ＢＥ１よりも小さい第２の所定値ＢＥ２に減少するに従って、要求発電出力Ｐがゼロ出力から徐々に発電電動機１１の要求発電量に応じた発電出力Ｐmaxまで増加される値として求められて、出力される。ここで、一度増加された要求発電出力Ｐを減少させる場合には、蓄電器１２の電圧値ＢＡＴＴvoltが第３の所定値ＢＥ３から、第３の所定値ＢＥ３よりも大きい第４の所定値ＢＥ４に増加するに従って、要求発電出力Ｐが徐々に減少される値として求められて、出力するようにしている。
【０２９５】
このように要求発電出力Ｐの変化のさせ方にヒステリシスをもたせることで、制御を安定して行わせるようにしている。
【０２９６】
一方、旋回出力演算部１２２では、旋回モータ３１３の現在の出力ＳＷＧ_powが、旋回負荷電流ＳＷＧ_currと蓄電器１２の電圧値BATT_voltとを用いて、前述の（５）式（ＳＷＧ_pow＝ＳＷＧ_curr×BATT_volt×Ｋswg）により求められる。つぎに、演算部１２３では、旋回モータ３１３の現在の出力ＳＷＧ_powが第１の所定値ＳＥ１から、第１の所定値ＳＥ１よりも大きい第２の所定値ＳＥ２に増加するに従って、要求発電出力Ｐがゼロ出力から徐々に発電電動機１１の要求発電量に応じた発電出力Ｐmaxまで増加される値として求められて、出力される。ここで、一度増加された要求発電出力Ｐを減少させる場合には、旋回モータ１０３の現在の出力ＳＷＧ_powが第３の所定値ＳＥ３から、第３の所定値ＳＥ３よりも小さい第４の所定値ＳＥ４に減少するに従って、要求発電出力Ｐが徐々に減少される値として求められて、出力するようにしている。
【０２９７】
このように要求発電出力Ｐの変化のさせ方にヒステリシスをもたせることで、制御を安定して行わせるようにしている。
【０２９８】
演算部１２１で求められた要求発電出力Ｐと、演算部１２３で求められた要求発電出力Ｐのうち大きい方の値が最大値選択部１２４で選択されて、最終的な要求発電出力Ｐgen_comとして、発電電動機要求発電トルク演算部１２５に加えられる。発電電動機要求発電トルク演算部１２５では、発電電動機回転数ＧＥＮ_spdと要求発電出力Ｐgen_comとを用いて下記（６）式によって、発電電動機要求発電トルクＴgen_comが求められる。
【０２９９】
Ｔgen_com＝Ｐgen_com÷ＧＥＮ_spd×Ｋgen …（６）
なお、Ｋgenは定数である。
【０３００】
要求発電量演算部１２０からは、最終的に上記（６）式により得られた発電電動機要求発電トルクＴgen_com、つまり発電電動機１１の発電トルクをゼロトルクから徐々に発電電動機の要求発電量に応じた発電トルクまで増加させるような要求発電トルクＴgen_comが出力されることになる。
【０３０１】
蓄電器１２の電圧値BATT_voltが所定のしきい値ＢＣ１以下に達したか、あるいは旋回モータ１０３の現在の出力ＳＷＧ_powが所定のしきい値ＳＣ１以上に達すると、発電電動機指令値切り替え部２８７がF側、つまり要求発電量演算部１２０側に切り替えられる。
【０３０２】
この切り替えの直後は、上述のごとく、発電電動機１１の発電トルクをゼロトルクから徐々に発電電動機１１の要求発電量に応じた発電トルクまで増加させる要求発電トルク、つまり要求発電量Ｔgen_comが、発電電動機トルク指令値（発電電動機目標トルク）として、発電電動機コントローラ３１０に対して出力される。発電電動機コントローラ３１０は、これを受けて、発電電動機目標トルクＴgen_comが得られるように発電電動機１１をトルク制御し、発電電動機１１を発電作用させる。
【０３０３】
このように、この制御例１１では、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替えた直後は、発電電動機１１の発電トルクをゼロトルクから徐々に発電電動機１１の要求発電量に応じた発電トルクまで増加させる制御を実施するようにしたので、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際の発電電動機１１の発電トルク変化が滑らかなものとなり、この切り替え時にエンジン回転数が低下してしまうことを回避することができる。
【０３０４】
（制御例１２）
制御例７、８、９、１０では、エンジントルクアシスト作用中に発電電動機１１のトルクリミット値を徐々に小さくする制御について説明した。
【０３０５】
しかし、エンジントルクアシスト作用中に発電電動機１１のトルク上限値（トルクリミット値）を徐々に小さくする制御を行うとすると、エンジン２をアシストする力が徐々に小さくなることから、当然ながらエンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際に、エンジン２の加速が悪化する。
【０３０６】
そこで、この制御例１２では、発電電動機１１のトルク上限値が減少するに従って、油圧ポンプ３の最大吸収トルクが徐々に減じられるように油圧ポンプ３の容量を制御することで、エンジン２のアシスト力の低下に合わせて油圧ポンプ３の吸収トルクを低下させ、エンジン２のアシスト力の低下に伴うエンジン回転数加速の悪化を回避するものである。
【０３０７】
すなわち、図２２に示すように、アシストトルクリミット演算部１１０からは発電電動機トルクリミットＧＥＮ_ｔrq_limitが、発電電動機１１のトルク上限値Ｔgen_com2として、第３のポンプ最大吸収トルク演算部１０６に対して出力される。第３のポンプ最大吸収トルク演算部１０６には、発電電動機１１の発動発電機トルクリミットＧＥＮ_ｔrq_limitが減少するに従って、油圧ポンプ３の最大吸収トルク（第３のポンプ最大吸収トルク）Ｔp_commaxが徐々に減じられる第３の最大トルク線Ｌ3が、発動発電機トルクリミットＧＥＮ_ｔrq_limitと第３のポンプ最大吸収トルクＴp_commaxとの関数関係１０６ａとしてデータテーブル形式で記憶されている。第３のポンプ最大吸収トルク演算部１０６では、現在の発電電動機１１の発動発電機トルクリミットＧＥＮ_ｔrq_limitに対応する第３のポンプ最大吸収トルクＴp_commaxが、関数関係１０６ａに従い演算される。
【０３０８】
一方、第１のポンプ最大吸収トルク（第１のポンプ目標吸収トルク）Ｔp_com1は、第１のポンプ目標吸収トルク演算部６６で、第１の最大トルク線（第１の目標トルク線）Ｌ1上の値として、関数関係６６ａに従い演算される。
【０３０９】
また、第２のポンプ最大吸収トルク（第２のポンプ目標吸収トルク）Ｔp_com2は、第２のポンプ目標吸収トルク演算部８５で、第２の最大トルク線（第２の目標トルク線）Ｌ12上の値として、関数関係に８５ａに従い演算される。
【０３１０】
最小値選択部１０７では、現在の第３のポンプ最大吸収トルクＴp_commaxと現在の第２のポンプ最大吸収トルクＴp_com2のうちいずれか小さいほうのポンプ最大吸収トルク値が選択されて、ポンプ吸収トルク指令値切り替え部８８のＴ側端子に出力される。
【０３１１】
ポンプ吸収トルク指令値切り替え部８８のＦ側端子には、現在の第１のポンプ最大吸収トルクＴp_comが加えられる。
【０３１２】
アシストフラグ判定部９５でアシストフラグassit_flagの内容がＴであると判定されると、ポンプ吸収トルク指令値切り替え部８８が、最小値選択部１０７側に切り替えられ、第２のポンプ目標吸収トルク演算部８５から出力される現在の第２のポンプ最大吸収トルクＴpcom2と、第３のポンプ最大吸収トルク演算部１０６から出力される現在の第３のポンプ最大吸収トルクＴp_commaxのうち、小さいほうの値がポンプ最大吸収トルクＴp_comとして、後段のフィルタ処理部８９に出力される。
【０３１３】
また、アシストフラグ判定部９５でアシストフラグassit_flagの内容がＦであると判定されると、ポンプ吸収トルク指令値切り替え部８８が、第１のポンプ目標吸収トルク演算部６６側に切り替えられ、第１のポンプ目標吸収トルク演算部６６から出力される現在の第１のポンプ最大吸収トルクＴpcom1がポンプ最大吸収トルクＴp_comとして、後段のフィルタ処理部８９に出力される。以下、フィルタ処理部８９で前述のフィルタ処理が行われ、制御電流演算部６７から制御電流pc-epcがポンプ制御バルブ５に出力されて、油圧ポンプ３の斜板３ａが調整される。すなわち、発電作用を行うときは、第３の最大トルク線Ｌ3から定まる第３のポンプ最大吸収トルクＴp_commaxの大きさにかかわりなく、第１の最大トルク線Ｌ1から定まる第１のポンプ最大吸収トルクＴp_com1が選択されて、この第１のポンプ最大吸収トルクＴp_com1をポンプ吸収トルクの上限Ｔp_comとして、油圧ポンプ３の容量が制御される。一方、エンジントルクアシスト作用を行うときは、第２の最大トルク線Ｌ12から定まる第２のポンプ最大吸収トルクＴp_com2と、第３の最大トルク線Ｌ3から定まる第３のポンプ最大吸収トルクＴp_commaxのうち小さい方が選択されて、この小さい方のポンプ最大吸収トルクをポンプ吸収トルクの上限Ｔp_comとして、油圧ポンプ３の容量が制御される。
【０３１４】
このように、この制御例によれば、発電電動機１１のトルク上限値が減少するに従って、油圧ポンプ３の最大吸収トルクが徐々に減じられるように油圧ポンプ３の容量を制御するようにしたので、エンジントルクアシスト作用されている状態から要求発電量に応じた発電作用がされている状態に切り替わる際にエンジン２のアシスト力の低下に合わせて油圧ポンプ３の吸収トルクが低下してエンジン２の軸トルクの変化が滑らかなものとなり、エンジン２のアシスト力の低下に伴うエンジン回転数加速の悪化を回避することができる。
【０３１５】
（制御例１３）
上述のように、エンジントルクアシスト作用されている状態と要求発電量に応じた発電作用がされている状態との間の切り替え時には、油圧ポンプ３の最大吸収トルクの選択が、第２のポンプ最大吸収トルクＴp_com2あるいは第３のポンプ最大吸収トルクＴp_commaxと、第１のポンプ最大吸収トルクＴp_com1との間で切り替わる。このため、切り替え時に、ポンプ吸収トルクの急な変化によって、ポンプ吐出流量の変化による作業機速度のガクつきなど、オペレータに操作上の違和感を与えるおそれがある。
【０３１６】
そこで、この制御例では、油圧ポンプ３の最大吸収トルクの選択が切り替えられた場合に、切り替え前のポンプ最大吸収トルクから、切り替え後のポンプ最大吸収トルクへ、徐々に変化させる制御を行うようにして、切り替え時にポンプ吐出流量の急な変化を防ぎ、作業機速度のガクつきなど、オペレータに対する操作上の違和感を回避しようとするものである。
【０３１７】
すなわち、図２２に示すように、第２の最大トルク線Ｌ12または第３の最大トルク線Ｌ3と、第１の最大トルク線Ｌ1との間で最大トルク線の選択が切り替えられると、フィルタ処理部８９は、時間ｔの経過に伴い最大トルク値Ｔp_comが変化する特性８９ａにしたがって最大トルク値Ｔpcomを徐々に変化させる。特性８９ａは、時定数τに応じたカーブを有している。これによって、切り替え前の最大トルク線（たとえば第３の目標トルク線Ｌ3）上のポンプ最大吸収トルク（第３のポンプ最大吸収トルクＴp_commax）から、切り替え後の最大トルク線（第１の最大トルク線Ｌ1）上のポンプ最大吸収トルク（第１のポンプ最大吸収トルクＴp_com1）へとそのまま切り替えられることなく、切り替え前の最大トルク線（たとえば第３の目標トルク線Ｌ3）上のポンプ最大吸収トルク（第３のポンプ最大吸収トルクＴp_commax）から、切り替え後の最大トルク線（第１の最大トルク線Ｌ1）上のポンプ最大吸収トルク（第１のポンプ最大吸収トルクＴpcom1）へ、時間ｔをかけて徐々に滑らかに変化することになる。トルク線図上での動きは、図１８を用いて前述したのと同様である。
【０３１８】
これによりエンジントルクアシスト作用されている状態と要求発電量に応じた発電作用がされている状態との間の切り替え時におけるポンプ吸収トルクの急な変化によって、ポンプ吐出流量の変化による作業機速度のガクつきなど、オペレータに操作上の違和感を回避することができる。
【０３１９】
上述のフィルタ処理は、アシストフラグ判定部９５の判定結果がＴからＦに切り替わった場合、同判定結果がＦからＴに切り替わった場合の両方の場合に行うようにしてもよく、どちらか一方の切り替えが行われたときのみフィルタ処理を行うようにしてもよい。
【０３２０】
（制御例１４）
上述の制御例１３において、切り替え前のポンプ最大吸収トルクから、切り替え後のポンプ最大吸収トルクへ変化させる際の時定数τは、切り替え前のポンプ最大吸収トルクが切り替え後のポンプ最大吸収トルクよりも小さい場合よりも、切り替え前のポンプ最大吸収トルクが切り替え後のポンプ最大吸収トルクよりも大きい場合の方が、大きい値に設定されることが望ましい。
【０３２１】
これは時定数τを一律に大きな値に設定すると、ポンプ最大吸収トルクが小さい状態から大きい状態に切り替えられた場合に、ポンプ最大吸収トルクの変化の時定数が大きいために、作業機の動きが鈍くなってしまうからである。
【０３２２】
なお、この実施の形態３においても、assist_flagがtrueの場合には、エンジン目標回転数加算値演算部１０４に通知され、エンジン目標回転数加算値演算部１０４は、エンジン目標回転数加算値ｎcom_addの付加出力は行わない。
【図面の簡単な説明】
【０３２３】
【図１】この発明の実施の形態１にかかる建設機械の概要構成を示すブロック図である。
【図２】図１に示したコントローラの制御フローを示す図である。
【図３】図２に示した目標流量演算部の制御フローを示す図である。
【図４】図１に示したエンジン目標回転数加算値演算部の処理手順を示すフローチャートである。
【図５】図２に示した目標回転数加算値演算部の処理の一例を示した図である。
【図６】図２に示したポンプ出力制限演算部の処理フローを示す図である。
【図７】エンジン目標回転数加算値演算部による処理を説明するためのトルク線図である。
【図８】エンジン目標回転数加算値演算部による処理を説明するためのエンジン回転数とエンジントルクの時間変化を示す図である。
【図９】各作業パターンに対応するポンプ出力制限値を説明する図である。
【図１０】この発明の実施の形態２にかかる建設機械の概要構成を示すブロック図である。
【図１１】図１０に示したコントローラの制御フローを示す図である（その１）。
【図１２】図１０に示したコントローラの制御フローを示す図である（その２）。
【図１３】アシスト有無判定部の処理フローを示す図である。
【図１４】エンジン加速時にモジュレーション処理が無い場合の動作を説明する図である。
【図１５】エンジン加速時にモジュレーション処理が有る場合の動作を説明する図である。
【図１６】エンジン減速時にモジュレーション処理が無い場合の動作を説明する図である。
【図１７】エンジン減速時にモジュレーション処理が有る場合の動作を説明する図である。
【図１８】この発明の実施の形態２を説明するために用いたトルク線図である。
【図１９】この発明の実施の形態２を説明するために用いたトルク線図である。
【図２０】この発明の実施の形態２を説明するために用いたトルク線図である。
【図２１】この発明の実施の形態３にかかる建設機械の概要構成を示すブロック図である。
【図２２】図２１に示したコントローラの制御フローの一部を示す図である。
【図２３】図２２に示したアシスト有無判定部の処理フローを示す図である。
【図２４】アシストトルクリミット演算部の処理フローを示す図である。
【図２５】要求発電量演算部の処理フローを示す図である。
【図２６】従来の建設機械の概要構成を示すブロック図である。
【図２７】従来技術を説明するために用いたトルク線図である。
【符号の説明】
【０３２４】
１，２０１，３０１  建設機械
２  エンジン
３  油圧ポンプ
４  エンジンコントローラ
５  ポンプ制御バルブ
６  コントローラ
７〜９  油圧センサ
４１，４２  操作レバー
４３，４４  走行レバー
１０  ＰＴＯ軸
１１  発電電動機
１２  蓄電器
３１〜３６  油圧アクチュエータ
１０１  フィルタ
１０２  エンジン出力演算部
１０３  目標エンジン出力演算部
１０４  エンジン目標回転数加算値演算部
１０５  加算部
１０６  分岐部
３１０  発電機コントローラ
３１２  旋回コントローラ
３１３  旋回モータ
３１４  旋回マシナリ
【図１】
0005166806.tif 000002
【図２】
0005166806.tif 000003
【図３】
0005166806.tif 000004
【図４】
0005166806.tif 000005
【図５】
0005166806.tif 000006
【図６】
0005166806.tif 000007
【図７】
0005166806.tif 000008
【図８】
0005166806.tif 000009
【図９】
0005166806.tif 000010
【図１０】
0005166806.tif 000011
【図１１】
0005166806.tif 000012
【図１２】
0005166806.tif 000013
【図１３】
0005166806.tif 000014
【図１４】
0005166806.tif 000015
【図１５】
0005166806.tif 000016
【図１６】
0005166806.tif 000017
【図１７】
0005166806.tif 000018
【図１８】
0005166806.tif 000019
【図１９】
0005166806.tif 000020
【図２０】
0005166806.tif 000021
【図２１】
0005166806.tif 000022
【図２２】
0005166806.tif 000023
【図２３】
0005166806.tif 000024
【図２４】
0005166806.tif 000025
【図２５】
0005166806.tif 000026
【図２６】
0005166806.tif 000027
【図２７】
0005166806.tif 000028