"エンジンと、前記エンジンの出力をアシストする発電機と、作業機械の運転状態を検出する検出手段と、前記運転状態をもとに、負荷が抜けた場合に最大限上げられるエンジンの回転数である無負荷最大回転数を演算する無負荷最大回転数演算手段と、前記運転状態をもとに、負荷が加わった場合に上げられるエンジンの回転数である目標マッチング回転数を前記無負荷最大回転数とは別に演算する目標マッチング回転数演算手段と、前記運転状態をもとに、最大限出力することができるエンジン目標出力を演算するエンジン目標出力演算手段と、前記エンジン目標出力の制限下で、前記無負荷最大回転数と前記目標マッチング回転数との間でエンジン回転数を制御するエンジン制御手段と、前記目標マッチング回転数と現在のエンジン回転数との偏差が所定値以上となった場合にアシストが必要であると判定するアシスト判定手段と、アシストが必要であると判定された後、目標アシスト回転数を、前記目標マッチング回転数よりも大きい予め決定された上限の目標アシスト回転数に設定し、その後漸次前記目標マッチング回転数に近づく目標アシスト回転数に設定するアシスト回転数設定手段と、を備え、前記エンジン制御手段は、前記エンジン回転数が前記目標アシスト回転数となるように前記発電機にアシストトルク指令値を出力して該エンジン回転数を制御することを特徴とする作業機械のエンジン制御装置。前記アシスト回転数設定手段は、前記アシストが必要であると判定された時点から所定時間、前記目標アシスト回転数を上限の目標アシスト回転数に設定し、所定時間経過後、所定の回転数減少率で前記目標マッチング回転数までエンジン回転数を減少させる目標アシスト回転数に設定することを特徴とする請求項1に記載の作業機械のエンジン制御装置。前記検出手段の検出結果をもとにエンジン負荷を演算する負荷演算手段を備え、前記アシスト回転数設定手段は、前記上限の目標アシスト回転数以下で、前記エンジン負荷の増加に応じて前記目標アシスト回転数を減少する設定を行うことを特徴とする請求項1に記載の作業機械のエンジン制御装置。前記上限の目標アシスト回転数は、前記無負荷最大回転数のドループ線と目標マッチングルートとの交点におけるエンジン回転数であることを特徴とする請求項1~3のいずれか一つに記載の作業機械のエンジン制御装置。前記偏差の所定値は、作業機械の運転状態に応じて決定されることを特徴とする請求項1~4のいずれか一つに記載の作業機械のエンジン制御装置。作業機械の運転状態を検出する検出ステップと、前記運転状態をもとに、負荷が抜けた場合に最大限上げられるエンジンの回転数である無負荷最大回転数を演算する無負荷最大回転数演算ステップと、前記運転状態をもとに、負荷が加わった場合に上げられるエンジンの回転数である目標マッチング回転数を前記無負荷最大回転数とは別に演算する目標マッチング回転数演算ステップと、前記運転状態をもとに、最大限出力することができるエンジン目標出力を演算するエンジン目標出力演算ステップと、前記エンジン目標出力の制限下で、前記無負荷最大回転数と前記目標マッチング回転数との間でエンジン回転数を制御するエンジン制御ステップと、前記目標マッチング回転数と現在のエンジン回転数との偏差が所定値以上となった場合にアシストが必要であると判定するアシスト判定ステップと、アシストが必要であると判定された後、目標アシスト回転数を、前記目標マッチング回転数よりも大きい上限の目標アシスト回転数に設定し、その後漸次前記目標マッチング回転数に近づく目標アシスト回転数に設定するアシスト回転数設定ステップと、を含み、前記エンジン制御ステップは、前記エンジン回転数が前記目標アシスト回転数となるようにエンジンの出力をアシストする発電機にアシストトルク指令値を出力して該エンジン回転数を制御することを特徴とする作業機械のエンジン制御方法。前記アシスト回転数設定ステップは、前記アシストが必要であると判定された時点から所定時間、前記目標アシスト回転数を上限の目標アシスト回転数に設定し、所定時間経過後、所定の回転数減少率で前記目標マッチング回転数までエンジン回転数を減少させる目標アシスト回転数に設定することを特徴とする請求項6に記載の作業機械のエンジン制御方法。前記検出手段の検出結果をもとにエンジン負荷を演算する負荷演算ステップを含み、前記アシスト回転数設定ステップは、前記上限の目標アシスト回転数以下で、前記エンジン負荷の増加に応じて前記目標アシスト回転数を減少する設定を行うことを特徴とする請求項6に記載の作業機械のエンジン制御方法。ところで、ハイブリッド油圧ショベルなどの建設機械で、上部旋回体を電動旋回モータで駆動するものがある。ハイブリッド油圧ショベルでは、この電動旋回モータへキャパシタなどの蓄電装置から電力を供給放電して上部旋回体を旋回加速させ、上部旋回体を旋回減速させる際に電動旋回モータの回生によりキャパシタへ電力を供給充電させて、従来の油圧ショベルに比べて低い消費燃料率を達成している。さらに、ハイブリッド油圧ショベルでは、作業機の負荷などに応答して、エンジンの駆動によって駆動する発電機を発電作用発電オンさせて、発電機により発電された電力をキャパシタへ供給充電、あるいは、発電機により発電された電力を電動旋回モータの旋回加速のために供給したりする。また、発電機は、ハイブリッド油圧ショベルの負荷に応じてエンジンの出力を補うアシスト作用を行い、低い燃料消費率を達成している。ここで、図28に示すように、作業機動作を開始する前のエンジン回転数はマッチング点MP0であって低いアイドリング回転数であり、低負荷で、油圧ポンプの斜板角も小さくポンプ容量が最低の状態となっている。この状態から作業機動作を開始する場合、油圧ポンプのポンプ容量はすぐに大きくすることができず漸次大きくなるため、直ちにエンジン回転数を大きくして油圧ポンプから吐き出される作動油の吐出量を確保したい。たとえば、領域E1で示す目標無負荷最大回転数np2近傍のエンジン回転数まで大きくしたい。しかし、燃費効率およびポンプ効率の改善のため、目標マッチング回転数目標アシスト回転数np1はエンジン回転数が低い回転数となるように制御される。したがって、エンジン負荷の増大に伴い、矢印A1に示すように、エンジン回転数が十分に大きくならないうちに、エンジン回転数は目標アシスト回転数np1に到達して安定してしまう。この結果、発電機がエンジンのアシストを行っているにもかかわらず、油圧ポンプから作業機の油圧アクチュエータ油圧シリンダに十分に作動油が供給されず、作業機の応答性を十分に確保することができないという問題点が考えられる。この問題点を解決する方策として、目標アシスト回転数を高く設定することが考えられる。たとえば、図29に示すように、無負荷最大回転数np2から引かれるドループ線DLと目標マッチングルートMLとの交点における回転数np2’を目標アシスト回転数に設定すると、高いエンジン回転数に伴い油圧ポンプが駆動するため作業機の応答性は良くなる。つまり、エンジン負荷の増大に伴い、矢印A2に示すようにマッチング点MP0からマッチング点MP4へとエンジン出力が変化する。しかし、目標アシスト回転数np2’でのマッチング点MP4は、高出力の位置にあり、発電機はエンジンへのアシストを継続し続けるため、トルク増大分ΔTに相当する無駄なエネルギーを消費してしまうという問題点が考えられる。この発明は、上記に鑑みてなされたものであって、燃費およびポンプ効率の向上を図りつつ、発電機によるエンジンのアシスト作用によって作業機の応答性を十分に確保することができる作業機械のエンジン制御装置およびそのエンジン制御方法を提供することを目的とする。上述した課題を解決し、目的を達成するために、この発明にかかる作業機械のエンジン制御装置は、エンジンと、前記エンジンの出力をアシストする発電機と、作業機械の運転状態を検出する検出手段と、前記運転状態をもとに、負荷が抜けた場合に最大限上げられるエンジンの回転数である無負荷最大回転数を演算する無負荷最大回転数演算手段と、前記運転状態をもとに、負荷が加わった場合に上げられるエンジンの回転数である目標マッチング回転数を前記無負荷最大回転数とは別に演算する目標マッチング回転数演算手段と、前記運転状態をもとに、最大限出力することができるエンジン目標出力を演算するエンジン目標出力演算手段と、前記エンジン目標出力の制限下で、前記無負荷最大回転数と前記目標マッチング回転数との間でエンジン回転数を制御するエンジン制御手段と、前記目標マッチング回転数と現在のエンジン回転数との偏差が所定値以上となった場合にアシストが必要であると判定するアシスト判定手段と、アシストが必要であると判定された後、目標アシスト回転数を、前記目標マッチング回転数よりも大きい予め決定された上限の目標アシスト回転数に設定し、その後漸次前記目標マッチング回転数に近づく目標アシスト回転数に設定するアシスト回転数設定手段と、を備え、前記エンジン制御手段は、前記エンジン回転数が前記目標アシスト回転数となるように前記発電機にアシストトルク指令値を出力して該エンジン回転数を制御することを特徴とする。また、この発明にかかる作業機械のエンジン制御装置は、上記の発明において、前記アシスト回転数設定手段は、前記アシストが必要であると判定された時点から所定時間、前記目標アシスト回転数を上限の目標アシスト回転数に設定し、所定時間経過後、所定の回転数減少率で前記目標マッチング回転数までエンジン回転数を減少させる目標アシスト回転数に設定することを特徴とする。また、この発明にかかる作業機械のエンジン制御装置は、上記の発明において、前記検出手段の検出結果をもとにエンジン負荷を演算する負荷演算手段を備え、前記アシスト回転数設定手段は、前記上限の目標アシスト回転数以下で、前記エンジン負荷の増加に応じて前記目標アシスト回転数を減少する設定を行うことを特徴とする。また、この発明にかかる作業機械のエンジン制御装置は、上記の発明において、前記上限の目標アシスト回転数は、前記無負荷最大回転数のドループ線と目標マッチングルートとの交点におけるエンジン回転数であることを特徴とする。また、この発明にかかる作業機械のエンジン制御装置は、上記の発明において、前記偏差の所定値は、作業機械の運転状態に応じて決定されることを特徴とする。また、この発明にかかる作業機械のエンジン制御方法は、作業機械の運転状態を検出する検出ステップと、前記運転状態をもとに、負荷が抜けた場合に最大限上げられるエンジンの回転数である無負荷最大回転数を演算する無負荷最大回転数演算ステップと、前記運転状態をもとに、負荷が加わった場合に上げられるエンジンの回転数である目標マッチング回転数を前記無負荷最大回転数とは別に演算する目標マッチング回転数演算ステップと、前記運転状態をもとに、最大限出力することができるエンジン目標出力を演算するエンジン目標出力演算ステップと、前記エンジン目標出力の制限下で、前記無負荷最大回転数と前記目標マッチング回転数との間でエンジン回転数を制御するエンジン制御ステップと、前記目標マッチング回転数と現在のエンジン回転数との偏差が所定値以上となった場合にアシストが必要であると判定するアシスト判定ステップと、アシストが必要であると判定された後、目標アシスト回転数を、前記目標マッチング回転数よりも大きい上限の目標アシスト回転数に設定し、その後漸次前記目標マッチング回転数に近づく目標アシスト回転数に設定するアシスト回転数設定ステップと、を含み、前記エンジン制御ステップは、前記エンジン回転数が前記目標アシスト回転数となるようにエンジンの出力をアシストする発電機にアシストトルク指令値を出力して該エンジン回転数を制御することを特徴とする。また、この発明にかかる作業機械のエンジン制御方法は、上記の発明において、前記アシスト回転数設定ステップは、前記アシストが必要であると判定された時点から所定時間、前記目標アシスト回転数を上限の目標アシスト回転数に設定し、所定時間経過後、所定の回転数減少率で前記目標マッチング回転数までエンジン回転数を減少させる目標アシスト回転数に設定することを特徴とする。また、この発明にかかる作業機械のエンジン制御方法は、上記の発明において、前記検出手段の検出結果をもとにエンジン負荷を演算する負荷演算ステップを含み、前記アシスト回転数設定ステップは、前記上限の目標アシスト回転数以下で、前記エンジン負荷の増加に応じて前記目標アシスト回転数を減少する設定を行うことを特徴とする。この発明によれば、エンジンへのアシストが必要であると判定された後、目標アシスト回転数を、目標マッチング回転数よりも大きい、予め決定された上限の目標アシスト回転数に設定し、その後漸次前記目標マッチング回転数に近づく目標アシスト回転数に設定し、エンジン回転数が前記目標アシスト回転数となるように発電機へアシストトルク指令値を出力して該エンジン回転数を制御するようにしているので、燃費およびポンプ効率の向上を図りつつ、発電機のアシスト作用によって作業機の応答性を十分に確保することができる。以下、添付図面を参照してこの発明を実施するための形態について説明する。[全体構成]まず、図1および図2は、作業機械としての一例であるハイブリッド油圧ショベル1の全体構成を示している。このハイブリッド油圧ショベル1は、車両本体2と作業機3とを備えている。車両本体2は、下部走行体4と上部旋回体5とを有する。下部走行体4は、一対の走行装置4aを有する。各走行装置4aは、履帯4bを有する。各走行装置4aは、右走行モータおよび左走行モータ走行モータ21によって履帯4bを駆動することによってハイブリッド油圧ショベル1を走行あるいは旋回させる。上部旋回体5は、下部走行体4上に旋回可能に設けられ、旋回モータ24が駆動することによって旋回する。また、上部旋回体5には、運転室6が設けられる。上部旋回体5は、燃料タンク7と作動油タンク8とエンジン室9とカウンタウェイト10とを有する。燃料タンク7は、エンジン17を駆動するための燃料を貯留する。作動油タンク8は、油圧ポンプ18からブームシリンダ14などの油圧シリンダ、走行モータ21などの油圧機器へ吐出される作動油を貯留する。エンジン室9は、エンジン17や油圧ポンプ18などの機器を収納する。カウンタウェイト10は、エンジン室9の後方に配置される。作業機3は、上部旋回体5の前部中央位置に取り付けられ、ブーム11、アーム12、バケット13、ブームシリンダ14、アームシリンダ15、およびバケットシリンダ16を有する。ブーム11の基端部は、上部旋回体5に回転可能に連結される。また、ブーム11の先端部は、アーム12の基端部に回転可能に連結される。アーム12の先端部は、バケット13に回転可能に連結される。ブームシリンダ14、アームシリンダ15、およびバケットシリンダ16は、油圧ポンプ18から吐出された作動油によって駆動する油圧シリンダである。ブームシリンダ14は、ブーム11を動作させる。アームシリンダ15は、アーム12を動作させる。バケットシリンダ16は、バケット13を動作させる。図2において、ハイブリッド油圧ショベル1は、駆動源としてのエンジン17、油圧ポンプ18、発電機19を有する。エンジン17としてディーゼルエンジンが用いられ、油圧ポンプ18として可変容量型油圧ポンプ例えば斜板式油圧ポンプが用いられる。エンジン17の出力軸には、油圧ポンプ18および発電機19が機械的に結合されており、エンジン17を駆動することで、油圧ポンプ18および発電機19が駆動する。なお、発電機19はエンジン17の出力軸に機械的に直結されていてもよいし、エンジン17の出力軸にかけられたベルトやチェーンなどの伝動手段を介して回転駆動するものであってもよい。油圧駆動系としては、コントロールバルブ20、ブームシリンダ14、アームシリンダ15、バケットシリンダ16、走行モータ21などを有し、油圧ポンプ18が油圧源となってこれらを駆動する。電動駆動系は、キャパシタ22、インバータ23、および旋回モータ24を備える。発電機19によって発電される電力あるいはキャパシタ22から放電される電力が、電力ケーブルを介して旋回モータ24に供給されて上部旋回体5を旋回させる。すなわち、旋回モータ24は、発電機19から供給発電される電気エネルギーまたはキャパシタ22から供給放電される電気エネルギーで力行作用することで旋回駆動し、旋回減速する際に旋回モータ24は回生作用することによって電気エネルギーをキャパシタ22に供給充電する。この発電機19としては、たとえばSRスイッチドリラクタンスモータが用いられる。発電機19は、エンジン17の出力軸に機械的に結合されており、エンジン17の駆動によって発電機19のロータ軸を回転させることになる。キャパシタ22は、たとえば、電気二重層キャパシタが用いられる。キャパシタ22に代えて、ニッケル水素バッテリやリチウムイオンバッテリであってもよい。旋回モータ24には、回転センサ25が設けられ、旋回モータ24の回転速度を検出し、電気信号に変換して、インバータ23内に設けられたハイブリッドコントローラ23aに出力する。旋回モータ24としては、例えば埋め込み磁石同期電動機が用いられる。回転センサ25として、たとえばレゾルバやロータリーエンコーダなどが用いられる。なお、ハイブリッドコントローラ23aは、CPU数値演算プロセッサなどの演算装置やメモリ記憶装置などで構成されている。ハイブリッドコントローラ23aは、発電機19や旋回モータ24、キャパシタ22およびインバータ23に備えられた、サーミスタや熱電対などの温度センサによる検出値の信号を受けて、キャパシタ22などの各機器の過昇温を管理するとともに、キャパシタ22の充放電制御や発電機19による発電エンジンのアシスト制御、旋回モータ24の力行回生制御を行う。油圧駆動系および電動駆動系は、車両本体2に設けられた運転室6に設けられる作業機レバー、走行レバー、旋回レバーなどの操作レバー26の操作に応じて駆動する。操作レバー26の操作量は、レバー操作量検出部27によって電気信号に変換される。レバー操作量検出部27は、圧力センサによって構成される。操作レバーの操作に応じて発生するパイロット油圧を圧力センサが検知し、圧力センサが出力する電圧等をレバー操作量に換算することによってレバー操作量を求める。レバー操作量は、電気信号としてポンプコントローラ33へ出力される。なお、操作レバー26が電気式レバーである場合には、レバー操作量検出部27は、ポテンショメータなどの電気的検出手段によって構成され、レバー操作量に応じて発生する電圧等をレバー操作量に換算してレバー操作量を求める。運転室6内には、燃料調整ダイヤルスロットルダイヤル28およびモード切替部29が設けられる。燃料調整ダイヤルスロットルダイヤル28は、エンジン17への燃料供給量を設定するためのスイッチであり、燃料調整ダイヤルスロットルダイヤル28の設定値は、電気信号に変換されてエンジンコントローラ30に出力される。エンジンコントローラ30は、CPU数値演算プロセッサなどの演算装置やメモリ記憶装置で構成される。エンジンコントローラ30は、燃料調整ダイヤルスロットルダイヤル28の設定値に基づいて、制御指令の信号を生成し、コモンレール制御部32が制御信号を受信し、エンジン17への燃料噴射量を調整する。すなわち、エンジン17は、コモンレール式による電子制御が可能なエンジンであり、燃料噴射量を適切にコントロールすることで狙いとする出力を出すことが可能であり、ある瞬間のエンジン回転数における出力可能なトルクを自由に設定することが可能である。モード切替部29は、ハイブリッド油圧ショベル1の作業モードをパワーモードまたはエコノミーモードに設定する部分であり、たとえば運転室6中に設けられる操作ボタンやスイッチ、またはタッチパネルで構成され、ハイブリッド油圧ショベル1のオペレータがそれらの操作ボタンなどを操作することで作業モードを切り替えることができる。パワーモードとは、大きな作業量を維持しながら燃費を抑えたエンジン制御およびポンプ制御を行う作業モードであり、エコノミーモードとは、さらに燃費を抑えつつ軽負荷作業で作業機3の動作速度を確保するようにエンジン制御およびポンプ制御を行う作業モードである。このモード切替部29による設定作業モードの切り替えでは、電気信号がエンジンコントローラ30、ポンプコントローラ33に出力される。なお、パワーモードでは、エンジン17の回転数および出力トルクが比較的高い領域でエンジン17の出力トルクと油圧ポンプ18の吸収トルクとをマッチングさせる。また、エコノミーモードでは、パワーモードの場合と比較して低いエンジン出力でマッチングさせる。ポンプコントローラ33は、エンジンコントローラ30、モード切替部29、レバー操作量検出部27から送信された信号を受信して、油圧ポンプ18の斜板角を傾倒制御して油圧ポンプ18からの作動油の吐出量を調整するための制御指令の信号を生成する。なお、ポンプコントローラ33には、油圧ポンプ18の斜板角を検出する斜板角センサ18aからの信号が入力される。斜板角センサ18aが斜板角を検出することで、油圧ポンプ18のポンプ容量を演算することができる。コントロールバルブ20内には、油圧ポンプ18のポンプ吐出圧力を検出するためのポンプ圧検出部20aが設けられている。検出されたポンプ吐出圧力は、電気信号に変換されてポンプコントローラ33に入力される。なお、エンジンコントローラ30とポンプコントローラ33とは、相互に情報の授受が行われるようにCANControllerAreaNetworkのような車内LANで接続されている。[エンジン制御の概要]まず、図3に示すトルク線図を参照してエンジン制御の概要について説明する。エンジンコントローラ30は、レバー操作量、作業モード、旋回速度、燃料調整ダイヤルスロットルダイヤル28の設定値などの情報運転状態を示す信号を取得し、エンジン出力指令値を求める。このエンジン出力指令値は、トルク線図上の等馬力曲線エンジン出力指令値曲線ELとなり、エンジンの出力を制限する曲線である。そして、作業機3に負荷がかかっている場合、エンジン出力をドループ線に拘束させず、エンジン出力指令値曲線ELとポンプ吸収トルク線PLとの交点マッチング点MP1でエンジン出力と油圧ポンプ出力とをマッチングさせて作業機3を動作させる。なお、このマッチング点MP1は、目標マッチングルートML上にもたせることが好ましい。この目標マッチング点MP1でのエンジン回転数は、目標マッチング回転数np1であり、たとえば、図3では1000rpm近傍となる。これにより、作業機3は十分な出力を得ることができるとともに、エンジン17は低回転数で駆動するため、燃料消費を低く抑えることができる。一方、作業機3の負荷が抜けた場合であって、作業機3の油圧シリンダ14,15,16への作動油流量が必要な場合、すなわち作業機3の動作速度の確保が必要な場合、エンジンコントローラ30は、レバー操作量、上部旋回体5の旋回回転数、燃料調整ダイヤルスロットルダイヤル28の設定値等の情報に対応した無負荷最大回転数np2たとえば図3では、2050rpm近傍を決定し、目標マッチング回転数np1と無負荷最大回転数np2との間のエンジン回転数範囲内でエンジンドループを制御してエンジン17を駆動させる。このような制御を行うことによって、作業機3の負荷がかかった状態から負荷が抜けた状態に移行した場合、低回転側のマッチング点MP1から高回転側のマッチング点MP2に移行することから、油圧ポンプ18から吐き出される作動油流量を十分に油圧シリンダ14,15,16に供給することができ、作業機3の動作速度を確保することができる。また、エンジン出力指令値曲線ELによってエンジン出力が制限されるため、無駄なエネルギーを消費しない。なお、無負荷最大回転数np2は、エンジンが出力可能な最大回転数に限らない。ここで、作業機3の負荷がさらに抜けた場合、そのままエンジン17を高回転域で駆動させると燃料消費され燃費が悪化することとなる。したがって、負荷が抜けた場合であって、たとえばバケット13のみの動作のように、油圧ポンプ18からの作動油の吐出流量および吐出圧力を多く必要としない場合、すなわちポンプ容量に余裕がある場合、図4に示すように、高回転域のドループ線DLを低回転域にシフトさせる制御を行う。上記のように、ポンプ容量は、斜板角センサ18aによって検出され、この検出値の大小によってドループ線をシフトする。たとえば、ポンプ容量が所定値よりも大きいと検出された場合には作動油流量を必要としているため、ドループ線DLを高回転域にシフトさせてエンジン回転数を上げ、ポンプ容量が所定値よりも小さいと検出された場合には作動油流量を必要としていないため、ドループ線DLを低回転域にシフトさせてエンジン回転数を下げる。このような制御を行うことによって、高回転域でのエンジン駆動による無駄な燃料消費を抑えることができる。[エンジン制御の詳細]図5は、エンジンコントローラ30あるいはポンプコントローラ33による全体制御フローを示している。エンジンコントローラ30あるいはポンプコントローラ33は、最終的にエンジン制御指令としてのエンジン回転数指令値とエンジン出力指令値を演算し、ポンプ制御指令としてポンプ吸収トルク指令値を演算する。無負荷最大回転数演算ブロック110は、図6に示した詳細制御フローによって、エンジン回転数指令値の上限値となる値である無負荷最大回転数D210np2を演算する。油圧ポンプ18のポンプ容量が最大の状態では、油圧ポンプ18の流量油圧ポンプ吐出流量はエンジン回転数とポンプ容量との積であり、油圧ポンプ18の流量油圧ポンプ吐出流量はエンジン回転数に比例するため、無負荷最大回転数D210と油圧ポンプ18の流量ポンプ最大吐出量は比例関係にあることになる。このため、まず、無負荷最大回転数D210の候補値として、各レバー値信号D100レバー操作量によって求めた回転数の総和を総和部212によって求める。各レバー値信号D100各レバー操作量を示す信号としては、旋回レバー値、ブームレバー値、アームレバー値、バケットレバー値、走行右レバー値、走行左レバー値、サービスレバー値がある。このサービスレバー値は、新たな油圧アクチュエータを接続できる油圧回路を有する場合における、この油圧アクチュエータを操作するレバー操作量を示す値である。各レバー値信号は、図6に示すようなレバー値無負荷回転数変換テーブル211で無負荷回転数に変換され、この変換された値を総和部212によって求めた総和の無負荷回転数が最小値選択部MIN選択218に出力される。一方、無負荷回転数リミット値選択ブロック210は、各操作レバー値信号D100の操作量、油圧ポンプ18の吐出圧力であるポンプ圧力D105,D106、およびモード切替部29によって設定された作業モードD104の4つの情報を用いて、作業機械1のオペレータが、現在どのような操作パターン作業パターンを実行しているかを判定し、予め設定されている操作パターンに対する無負荷回転数リミット値を選択し決定する。この決定された無負荷回転数リミット値は、最小値選択部218に出力される。この操作パターン作業パターンの判定とは、たとえば、アームレバーが掘削方向に傾倒しており、ポンプ圧力も、ある設定値よりも高い場合、ハイブリッド油圧ショベル1は重掘削作業を実行しようとしていると判定し、旋回レバーが傾倒しているとともにブームレバーが上げ方向に傾倒しているような複合操作の場合、ハイブリッド油圧ショベル1はホイスト旋回作業を実行しようとしていると判定するものである。このように、操作パターン作業パターンの判定とは、そのときにオペレータが実行しようとしている操作を推定することである。なお、ホイスト旋回作業とは、バケット13で掘削した土砂をブーム11を上げながら上部旋回体5を旋回させ、所望の旋回停止の位置でバケット13の土砂を排土するような作業である。他方、燃料調整ダイヤル28スロットルダイヤルD103の設定状態設定値からも無負荷最大回転数の候補値を決定する。すなわち、燃料調整ダイヤル28スロットルダイヤルD103の設定値を示す信号を受けて、設定値はスロットルダイヤル無負荷回転数変換テーブル213で、無負荷最大回転数の候補値に変換され、最小値選択部218に出力される。ここで、電気駆動の旋回モータ24を搭載したハイブリッド油圧ショベル1は、旋回の駆動源として油圧を必要としない。このため、油圧ポンプ18から吐出される作動油のうち、旋回の駆動分の油圧ポンプ18からの作動油吐出流量を減らしてもよい。したがって、燃料調整ダイヤル28スロットルダイヤルD103の設定値からスロットルダイヤル無負荷回転数変換テーブル213によって求められる無負荷回転数から、旋回モータ回転数D101から旋回モータ回転数無負荷回転数削減量変換テーブル214によって求められる無負荷回転数削減量を減算部215によって減じ、得られた回転数を無負荷最大回転数D210の候補値としている。なお、最大値選択部MAX選択217は、無負荷回転数削減量が燃料調整ダイヤル28スロットルダイヤルD103の設定値から求められる無負荷最大回転数よりも大きく、最大値選択部217へ入力される値が負の値となって、無負荷回転数リミット値選択ブロック210が出力する無負荷回転数リミット値との比較を行うための最小値選択部MIN選択218を通った結果、無負荷最大回転数が負の値にならないように、最大値選択部217でゼロ値216との最大値選択を行い、最小値選択部218へ負の値が与えられないようにしている。最小値選択部218は、レバー値信号D100から求めた無負荷回転数と、無負荷回転数リミット値選択ブロック210で求めた無負荷回転数リミット値と、旋回モータ回転数D101とから求めた無負荷回転数リミット値を考慮した、スロットルダイヤルD103の設定値から求めた無負荷回転数との3つの値のなかから最小値を選択し、無負荷最大回転数D210np2を出力する。図7はエンジン最小出力演算ブロック120の詳細制御フローである。図7に示すように、エンジン最小出力演算ブロック120は、エンジン出力指令値の下限となる値であるエンジン最小出力D220を演算する。レバー値エンジン最小出力変換テーブル220は、無負荷最大回転数の演算と同様に、各レバー値信号D100をエンジン最小出力に変換し、総和部221がこれらの総和を最小値選択部MIN選択223に出力する。一方、エンジン最小出力の最大値選択ブロック222は、モード切替部29によって設定される作業モードD103に対応した上限値を最小値選択部223に出力する。最小値選択部223は、各レバー値信号D100に対応したエンジン最小出力の総和と、作業モードD104に対応した上限値とを比較し、最小値を選択してエンジン最小出力D220として出力する。図8はエンジン最大出力演算ブロック130の詳細制御フローである。図8に示すように、エンジン最大出力演算ブロック130は、エンジン出力指令値の上限となる値であるエンジン最大出力D230を演算する。ポンプ出力リミット値選択ブロック230は、無負荷最大回転数演算ブロック110による演算と同様に、各レバー値信号D100の操作量とポンプ圧力D105,D106と作業モードD104の設定値の情報を用いて、現在の操作パターンを判定し、その操作パターン毎にポンプ出力リミット値を選択する。この選択されたポンプ出力リミット値に、図示しない回転数センサによって検出されたエンジン回転数D108からファン馬力演算ブロック234が演算したファン馬力が加算部238によって加算される。旋回モータ回転数D101および旋回モータトルクD102を入力パラメータとして用いて旋回馬力演算ブロック230が旋回馬力を演算し、エンジン回転数D108を用いてファン馬力演算ブロック234がファン馬力を演算する。旋回馬力とファン馬力は、それぞれ減算部235および加算部238を介して、ポンプ出力リミット値に加算される。また、発電機19の発電機出力D109は、減算部237を介してポンプ出力リミット値に加算される。これら加算された値以下、加算値と、燃料調整ダイヤル28スロットルダイヤルD103の設定値に応じてスロットルダイヤルエンジン出力リミット変換テーブル235によって変換したエンジン出力リミット値とが、最小値選択部MIN選択239に出力される。最小値選択部239は、加算値とエンジン出力リミット値のうちの最小値を選択し、エンジン最大出力D230として出力する。なお、旋回馬力は、次式、旋回馬力kW=2π÷60×旋回モータ回転数×旋回モータトルク÷1000×係数設定値を演算することで求めることができる。また、ファンとは、エンジン17を冷却するためのラジエータの近傍に設けられたファンであり、ラジエータに向かって空気を送風させるものであり、エンジン17の駆動に連動して回転駆動するものである。なお、ファン馬力は、次式、ファン馬力=ファン定格馬力×エンジン回転数/ファン定格時エンジン回転数^3を用いて簡易的に演算することで求められる。なお、旋回馬力および発電機出力のポンプ出力リミット値への加算は、図8に示すように減算となっている。ハイブリッド油圧ショベル1は、エンジン17という駆動源とは異なる電気という駆動源で電動駆動する旋回モータ24を用いるので、旋回馬力を求めてポンプ出力リミット値から旋回分を減算することが必要である。発電機出力は、発電機19が発電するときは、値の正負の符号を負と定義しており、最小値選択部233で、ゼロ値232との比較が行われ、ポンプ出力リミット値に対して、負の値を減算するから実質的に加算となる。発電機19がエンジン17の出力アシストを行う場合は、発電機出力は、値の正負は正となる。発電機19が発電する時は、発電機出力は、負の値であるため、ゼロ値232との最小値選択を行った後に、ポンプ出力リミットから負の発電機出力を減算し、実質的にポンプ出力リミットに発電機出力を加算することとなる。すなわち、発電機出力D109が負の値となったときのみに加算が行われる。発電機19によるエンジン17のアシストは、エンジン回転数を、ある所定の回転数から高い回転数に上昇させる必要があるときに作業機3の応答性を高めるために行われるが、このときのエンジン出力としてエンジン17のアシスト分の出力を抜いてしまうと、作業機3の応答性の改善に繋がらないため、エンジン17をアシストしたからといってエンジン最大出力を減じることは行わない。つまり、正の発電機出力が最小値選択部233に入力されても、ゼロ値232との最小値選択により、最小値選択部233からはゼロが出力され。ポンプ出力リミットから減算が行われることなく、エンジン最大出力D230が求められる。図9はエンジン目標出力演算ブロック140の詳細制御フローである。図9に示すように、エンジン目標出力演算ブロック140は、エンジン目標出力D240を演算する。減算部243は、前回演算して求めた前回エンジン目標出力D240から固定値として設定されているエンジン出力加算用オフセット値241を減じる。減算部244は、この減算した値から、エンジン実出力演算ブロック242で演算したエンジン実出力を減算した偏差を求める。乗算部245は、この偏差に、あるゲイン-Kiを乗じた値を乗算し、積分部246がこの乗算値を積分する。加算部247は、この積分値に、エンジン最小出力演算ブロック120で演算して求められたエンジン最小出力D220を加算する。最小値選択部MIN選択248は、この加算値と、エンジン最大出力演算ブロック130で演算して求められたエンジン最大出力D230とのうちの最小値をエンジン目標出力D240として出力する。エンジン目標出力D240は、図5に示すようにエンジン制御指令のエンジン出力指令値として用いられ、エンジン目標出力D240は、図3あるいは図4に示すエンジン出力指令値曲線ELを意味する。なお、エンジン実出力演算ブロック242は、エンジンコントローラ30が指令している燃料噴射量とエンジン回転数、大気温度などにより予測したエンジントルクD107と図示しない回転数センサによって検出されたエンジン回転数D108とをもとに、次式エンジン実出力kW=2π÷60×エンジン回転数×エンジントルク÷1000を用いて演算しエンジン実出力を求める。図10はマッチング最小回転数演算ブロック150の詳細制御フローである。図10に示すように、マッチング最小回転数演算ブロック150は、作業時に最低限上昇させなければならないエンジン回転数であるマッチング最小回転数D150を演算する。マッチング最小回転数D150は、各レバー値信号D100を、レバー値マッチング最小回転数変換テーブル251で変換した各値がマッチング最小回転数D150の候補値となり、それぞれ最大値選択部MAX選択257に出力される。一方、無負荷回転数マッチング回転数変換テーブル252は、目標マッチング回転数np1と同じように、無負荷最大回転数np2で交わるドループ線DLと目標マッチングルートMLとの交点におけるエンジン回転数をマッチング回転数np2’として、無負荷最大回転数演算ブロック110で求められた無負荷最大回転数D210np2を変換し出力する図14参照。さらに、このマッチング回転数np2’から低速オフセット回転数を減算し、その結果得られた値は、マッチング最小回転数D150の候補値として最大値選択部MAX選択257に出力される。低速オフセット回転数を用いる意義とその値の大小については、後述する。また、旋回モータ回転数マッチング最小回転数変換テーブル250は、旋回モータ回転数D101をマッチング最小回転数D150の候補値として変換して最大値選択部257に出力する。旋回モータ回転数D101は、図2の旋回モータ24の旋回モータ回転数速度をレゾルバやロータリーエンコーダなどの回転センサで検出した値である。なお、この旋回モータ回転数マッチング最小回転数変換テーブル250は、図10に示すように旋回モータ回転数D101がゼロのときマッチング最小回転数を大きくし、旋回モータ回転数D101が大きくなるにしたがってマッチング最小回転数を小さくするような特性で旋回モータ回転数D101の変換を行う。ここで、発電機19は、最大に出力できるトルクの限界値発電機最大トルクが設定されているため、ある程度大きな出力で発電を行うには、エンジン回転数を上昇させる必要がある。このため、随時に要求される発電機出力の大きさから、最低限上昇させなければならないエンジン回転数を、発電機出力マッチング回転数変換テーブル256を用いて求め、この求められたエンジン回転数をマッチング最小回転数D150の候補値として最大値選択部MAX選択257に出力する。なお、発電機出力D109の後段に配置されるゲート255は、発電機出力D109が負であるので、発電機出力D109を正の値に変換するために設けられている。最大値選択部257は、これらのマッチング最小回転数のうちの最大値を選択してマッチング最小回転数D150として出力する。ここで、この実施の形態では、負荷が抜けた場合、エンジン回転数は、最大で無負荷最大回転数np2まで増加し、負荷が十分かかった場合、エンジン回転数は、目標マッチング回転数np1まで下がる。この場合、負荷の大小によってエンジン回転数は大きく変動することになる。このエンジン回転数の大きな変動は、ハイブリッド油圧ショベル1のオペレータにとってハイブリッド油圧ショベル1の力が出ていないように感じるといった違和感力不足感として、オペレータがとらえるおそれがある。したがって、図14に示すように、低速オフセット回転数を用い、この設定される低速オフセット回転数の大小によって、エンジン回転数の変動幅を変化させて違和感を除くことができる。すなわち、低速オフセット回転数を小さくすれば、エンジン回転数の変動幅は小さくなり、低速オフセット回転数を大きくすれば、エンジン回転数の変動幅は大きくなる。なお、上部旋回体2が旋回をしている状態や作業機3が掘削作業をしている状態などのハイブリッド油圧ショベル1の稼動状態によって、同じエンジン回転数の変動幅であってもオペレータの違和感の感じ方が異なる。上部旋回体2が旋回をしている状態では、作業機3が掘削作業をしている状態よりも多少エンジン回転数が下がってもオペレータは力不足とは感じにくいので、上部旋回体2が旋回している状態では、作業機3が掘削作業をしている状態よりもエンジン回転数がさらに下がるように設定しても問題はない。この場合、エンジン回転数が下がるため燃費は良くなる。なお、旋回に限らず、他のアクチュエータの動作に応じた、同様なエンジン回転数の変動幅設定は可能である。図14に示すトルク線図について補足説明する。図14のグラフ中に示す、HP1~HP5は図27に示す等馬力線Jに相当し、psは馬力単位psを示し、HP1~HP5へといくにつれて馬力が大きくなり、5本の曲線は例示的に示したものである。求められるエンジン出力指令値によって、等馬力曲線エンジン出力指令値曲線ELが求められ設定される。よって、この等馬力曲線エンジン出力指令値曲線ELは、HP1~HP5の5つに限らず無数存在し、その中から選択されるものである。図14は、馬力がHP3psとHP4psの間の馬力となる等馬力曲線エンジン出力指令値曲線ELが求められ設定されている場合を示している。図11は目標マッチング回転数演算ブロック160の詳細制御フローである。図11に示すように、目標マッチング回転数演算ブロック160は、図3に示した、目標マッチング回転数np1D260を演算する。目標マッチング回転数D260は、エンジン目標出力D240エンジン出力指令値曲線ELと目標マッチングルートMLとが交差するエンジン回転数である。目標マッチングルートMLは、あるエンジン出力でエンジン17が動作する際に燃料消費率が良い点を通るように設定されているため、この目標マッチングルートML上のエンジン目標出力D240との交点で目標マッチング回転数D260を決定するのが好ましい。このため、エンジン目標出力目標マッチング回転数変換テーブル267では、エンジン目標出力演算ブロック140で求められたエンジン目標出力D240エンジン出力指令値曲線ELの入力を受けて、エンジン目標出力D240エンジン出力指令値曲線ELと目標マッチングルートMLとの交点での目標マッチング回転数を求め、最大値選択部MAX選択269に出力する。しかし、図10に示したマッチング最小回転数演算ブロック150で行われる演算によれば、エンジン回転数の変動幅を小さくする場合、マッチング最小回転数D150が、エンジン目標出力目標マッチング回転数変換テーブル267にて求めたマッチング回転数よりも大きくなる。このため、最大値選択部MAX選択269で、マッチング最小回転数D150とエンジン目標出力D240から求めたマッチング回転数とを比較し、最大値を選択し目標マッチング回転数D260の候補値とすることで、目標マッチング回転数の下限を制限している。図14では、低速オフセット回転数を小とすれば、目標マッチングルートMLを外れるが、目標マッチング点は、MP1ではなくMP1’となって、目標マッチング回転数D260は、np1ではなくnp1’となる。また、無負荷最大回転数演算ブロック110で求めた無負荷最大回転数D210と同様に、目標マッチング回転数D260は、燃料調整ダイヤル28スロットルダイヤルD103の設定値によっても上限が制限される。すなわち、スロットルダイヤル目標マッチング回転数変換テーブル268は、燃料調整ダイヤル28スロットルダイヤルD103の設定値の入力を受けて、燃料調整ダイヤル28スロットルダイヤルD103の設定値に対応するドループ線トルク線図上で燃料調整ダイヤル28スロットルダイヤルD103の設定値に対応するエンジン回転数から引くことができるドループ線と目標マッチングルートMLとの交点のマッチング回転数に変換した目標マッチング回転数D260の候補値を出力し、この出力された目標マッチング回転数D260の候補値と、最大値選択部269で選択された目標マッチング回転数D260の候補値とが最小値選択部MIN選択270で比較され、最小値が選択されて、最終的な目標マッチング回転数D260が出力される。ここで、目標マッチング回転数D260は、基本的に、エンジン目標出力と目標マッチングルートMLとの交点における回転数であるが、エンジン最大出力D230は、図8に示すようにポンプ出力リミット値にファン馬力と発電機出力とを加算した値であり、このエンジン最大出力D230を用いて図9に示すようにエンジン目標出力D240が決定される。さらに、図11に示すように目標マッチング回転数演算ブロック160にエンジン目標出力D240が入力されて、目標マッチング回転数D260が決定される。また、発電機19が要求される発電機出力D109によって目標マッチング回転数D260の値は変化する。ここで、発電機19は、小さな発電トルクで発電を行うと効率が悪い。このため、発電機19が、発電を行う場合、予め設定した最小発電トルク以上で発電を行うように制御する。この結果、発電機19が発電しない状態発電オフから発電する状態発電オンに切り替わる際に、発電のオンとオフが最小発電トルクを境として切り替わるため発電機出力は不連続に変化する。つまり、エンジン目標出力D240と目標マッチングルートMLとの交点でマッチング点を定めることから、この発電機出力D109の不連続な変化に応じて、発電オン/オフの切り替えで目標マッチング回転数D260が大きく変動してしまう。このため、目標マッチング回転数演算ブロック160は、最小発電出力演算ブロック260がエンジン回転数D108を用いて、次式、最小発電出力kW=2π÷60×エンジン回転数×最小発電トルク値が負の設定値÷1000を演算し最小発電出力を求めて、要求される発電機出力が求められた最小発電出力よりも小さい場合、最小発電出力に対して足りない出力分をエンジン目標出力に加算部266によって加算し、この加算したエンジン目標出力を用いて、エンジン目標出力目標マッチング回転数変換テーブル267によって目標マッチング回転数の候補値として演算し、発電オン/オフに伴う回転数変動を防止する。なお、発電機出力D109の後段の最小値選択部MIN選択262は、要求される発電機出力がない場合エンジン17の出力アシストを行う場合などにゼロ出力を行うためにゼロ値261との比較を行う。したがって、エンジン目標出力D240に何も加算しないようになる。また、最大値選択部MAX選択265は、要求される発電機出力が最小発電出力以上である場合に最小発電出力に不足はないことから、エンジン目標出力D240に加算は不要となる。よって、最大値選択部265に負の値が入力され、ゼロ値264との比較で最大値であるゼロが選択されて、最大値選択部265はゼロ出力する。図12はエンジン回転数指令値演算ブロック170の詳細制御フローである。以下、図4に示すトルク線図を参照しながら説明する。図12に示すように、エンジン回転数指令値演算ブロック170は、2つの油圧ポンプ18の斜板角センサ18aが検出した斜板角をもとに求められたポンプ容量D110,D111をもとに、平均部271がポンプ容量D110,D111を平均した平均ポンプ容量を算出し、この平均ポンプ容量の大きさに応じて、エンジン回転数指令選択ブロック273が、エンジン回転数指令値D270無負荷最大回転数np2を求める。すなわち、エンジン回転数指令選択ブロック273は、平均ポンプ容量が、ある設定値閾値よりも大きな場合は、エンジン回転数指令値D270を無負荷最大回転数np2D210に近づけるようにする。つまり、エンジン回転数を増大させる。一方、平均ポンプ容量が、ある設定値よりも小さな場合は、後述するエンジン回転数nm1に近づけるよう、つまりエンジン回転数を減少させる。目標マッチング回転数np1D260と目標マッチング点MP1上のトルクとの交点からドループ線に沿って、エンジントルクをゼロのほうへ下ろした位置に相当するエンジン回転数を無負荷回転数np1aとして、その無負荷回転数np1aに下限回転数オフセット値Δnmを加えた値としてエンジン回転数nm1を求める。なお、目標マッチング回転数D260に対応する無負荷回転数への変換は、マッチング回転数無負荷回転数変換テーブル272によって変換される。したがって、エンジン回転数指令値D270は、ポンプ容量の状態によって、無負荷最小回転数nm1と無負荷最大回転数np2との間で決まる。下限回転数オフセット値Δnmは、あらかじめ設定した値であって、エンジンコントローラ30のメモリに記憶されている。具体的に説明すると、平均ポンプ容量が、ある設定値qcom1より大きな場合には、エンジン回転数指令値D270を無負荷最大回転数np2に近づけるようにし、平均ポンプ容量が、ある設定値qcom1よりも小さい場合には、次式、エンジン回転数指令値D270=目標マッチング回転数np1を無負荷回転数に変換した回転数np1a下限回転数オフセット値Δnmを用いて求める値に近づけるようにする。このようにして求められたエンジン回転数指令値D270によってドループ線を制御することができ、ポンプ容量に余裕がある場合平均ポンプ容量がある設定値より小の場合には、図4に示すように、エンジン回転数を下げるエンジン回転数をnm1無負荷最小回転数にすることが可能になり、燃料消費を抑えて燃費向上が可能になる。設定値qcom1は、あらかじめ設定した値であって、ポンプコントローラ33のメモリに記憶されている。なお、設定値qcom1は、エンジン回転数増加側とエンジン回転数減少側とに分けて2つの異なる設定値を設け、エンジン回転数が変化しない範囲を設けるようにしてもよい。図13はポンプ吸収トルク指令値演算ブロック180の詳細制御フローである。図13に示すように、ポンプ吸収トルク指令値演算ブロック180は、現在のエンジン回転数D108とエンジン目標出力D240と目標マッチング回転数D260とを用いてポンプ吸収トルク指令値D280を求める。ファン馬力演算ブロック280は、エンジン回転数D108を用いてファン馬力を演算する。なお、ファン馬力は先に述べた計算式を用いて求められるものである。減算部283は、エンジン目標出力演算ブロック140で求められたエンジン目標出力D240から、この求めたファン馬力を減算した出力ポンプ目標吸収馬力を、ポンプ目標マッチング回転数およびトルク演算ブロック284に入力する。ここで、エンジン目標出力D240からファン馬力のみでなく、発電機出力D109を減算した出力ポンプ目標吸収馬力を、ポンプ目標マッチング回転数およびトルク演算ブロック284に出力する。なお、要求される発電機出力の値の正負は、負であるから、最小値選択部MIN選択282でゼロ値281との比較で最小値が選択されて、選択された値が演算部283によってエンジン目標出力D240に加算されるということは、実質、エンジン目標出力D240から発電機出力D240を減算することになる。この目標マッチング回転数およびトルク演算ブロック284には、さらに、目標マッチング回転数演算ブロック160で求められた目標マッチング回転数D260が入力される。目標マッチング回転数D260は、油圧ポンプ18の目標マッチング回転数ポンプ目標マッチング回転数とされる。そして、ポンプ目標マッチング回転数およびトルク演算ブロック284では、次式に示すように、ポンプ目標マッチングトルク=60×1000×エンジン目標出力-ファン馬力/2π×目標マッチング回転数が演算される。求められたポンプ目標マッチングトルクは、ポンプ吸収トルク演算ブロック285に出力される。ポンプ吸収トルク演算ブロック285は、ポンプ目標マッチング回転数およびトルク演算ブロック284から出力されたポンプ目標マッチングトルクと、回転センサにて検出されたエンジン回転数D108と、目標マッチング回転数D260とが入力される。ポンプ吸収トルク演算ブロック285では、次式に示すようにポンプ吸収トルク=ポンプ目標マッチングトルク-Kp×目標マッチング回転数-エンジン回転数が演算され、演算結果であるポンプ吸収トルク値D280が出力される。ここで、Kpは、制御ゲインである。このような制御フローが実行されることにより、実際のエンジン回転数D108が目標マッチング回転数D260に比して大きい場合には、上記の式からわかるようにポンプ吸収トルク指令値D280は増加し、逆に、実際のエンジン回転数D108が目標マッチング回転数D260に比して小さい場合には、ポンプ吸収トルク指令値D280は減少することになる。一方、エンジンの出力は、エンジン目標出力D240が上限となるように制御しているため、結果的にエンジン回転数は、目標マッチング回転数D260近傍の回転数で安定しエンジン17が駆動することになる。ここで、上述した目標マッチング回転数演算ブロック160によって演算される目標マッチング回転数D260は、図15に示すように、発電オフの場合は、発電オフの場合におけるエンジン目標出力D240を示すエンジン出力指令値曲線ELaと目標マッチングルートMLとの交点が目標マッチング点Maとなり、そのとき目標マッチング回転数npaとなる。また、最小発電出力Pmの発電が行われる場合は、最小発電出力Pmを満たすためのエンジン目標出力D240を示すエンジン出力指令値曲線ELbとなり、エンジン出力指令値曲線ELbと目標マッチングルートMLとの交点が目標マッチング点Mbとなり、そのとき目標マッチング回転数npa’となる。図11に示したエンジン制御を行わなければ、最小発電出力Pm未満の発電では実際の発電出力が小さいため、発電のオン/オフによって目標マッチング点Ma,Mb間を頻繁に移行し、その際、目標マッチング回転数も頻繁に変化する。この実施の形態では、最小発電出力Pm未満の発電である場合、発電オフの際は予め目標マッチング回転数をnpa’にしているため、発電のオン/オフによって目標マッチング回転数が変動することがない。そして、発電オフ時の目標マッチング点は、エンジン出力指令値曲線ELaと目標マッチング回転数npa’との交点Ma’となる。したがって、図11に示したエンジン制御を行わなければ、発電機出力の増大とともに、マッチング点がMa→Mb→Mcのように移行していたが、この実施の形態では、発電機出力の増大とともに、マッチング点はMa’→Mb→Mcのように移行し、発電のオンオフが切り替わる程度の発電機出力の場合に目標マッチング回転数の変動はなく、ハイブリッド油圧ショベル1のオペレータが違和感を感じることがなくなる。また、エンジン回転数指令値演算ブロック170では、エンジン回転数指令値D270の最小値は、上述したように、エンジン回転数指令値=目標マッチング回転数np1を無負荷回転数に変換した回転数np1a下限回転数オフセット値Δnmの演算によって求められる値となり、目標マッチング回転数に対してエンジンのドループ線は、最低でも下限回転数オフセット値Δnmが加味された高い回転数のところで設定される。このため、本実施の形態によれば、油圧ポンプ18の実際の吸収トルクポンプ実吸収トルクがポンプ吸収トルク指令に対して多少ばらついた場合でも、ドループ線にはかからない範囲でマッチングすることになり、エンジン17のマッチング回転数が多少変動してもエンジン出力をエンジン出力指令値曲線EL上で制限しエンジン目標出力を一定に制御しているため、実際の吸収トルクポンプ実吸収トルクがポンプ吸収トルク指令に対してばらつきを生じてもエンジン出力の変動を小さくすることが可能となる。この結果、燃費のばらつきも小さく抑えることができ、ハイブリッド油圧ショベル1の燃費に対する仕様を満たすことができる。燃費に対する仕様とは、例えば、従来のハイブリッド油圧ショベルに比べて、燃費を10低減可能といった仕様である。すなわち、図16に示すように、従来は、ポンプ吸収トルク線PLと目標マッチング回転数との交点を目標マッチング点MP1としていたため、油圧ポンプの逐次の性能のばらつきが大きい場合、それに伴ってドループ線DL上でエンジン出力のばらつきも大きくなる。この結果、燃費のばらつきが大きく、ハイブリッド油圧ショベル1の燃費に対する仕様を満たすことが難しい場合があった。これに対し、本実施の形態によれば、図17に示すように、ポンプ吸収トルク線PLと、等馬力曲線であってエンジン出力の上限を示すエンジン出力指令値曲線ELとの交点を目標マッチング点MP1としており、油圧ポンプの逐次の性能のばらつきが大きい場合でも目標マッチング点MP1は、エンジン出力指令値曲線ELに沿ってばらつくこととなる。このため、エンジン出力のばらつきがほとんど無くなり、結果として、燃費のばらつきもほとんど無くなる。なお、従来のエンジン制御では、図18に示すように、エンジン17がアイドリング回転を行っている状態からエンジン回転数を上昇させて目標マッチング点MP1にエンジン出力が移動する過渡時は、エンジン出力は最大出力トルク線TL、および目標マッチング点MP1を通るドループ線DLを経由していたため、過渡時のエンジン出力は、図17中の囲み部Aで示すように目標エンジン出力よりも過剰に大きなものとなり、燃費が悪化していた。これに対し、本実施の形態によれば、図19に示すように、ポンプ吸収トルク線PLとエンジン出力指令値曲線ELとの交点を目標マッチング点MP1としているため、過渡時は、図19中の囲み部A ́で示すように、エンジン出力はエンジン出力指令値曲線ELに沿って目標マッチング点MP1に移行する。このため、過渡時であっても目標エンジン出力と同じエンジン出力が得られるため、燃費が向上する。[エンジンアシスト制御]ここで、上述したように、キャパシタ22は、旋回モータ24の減速時の回生作用によって生じた電気エネルギーを蓄積充電し、発電機19により発電された電気エネルギーを蓄積充電する。蓄積された電気エネルギーを作業の場面に応じて発電機19に供給放電することによってエンジン17を加速アシストすることができる。エンジンコントローラ30は、まず、図20に示すアシスト状態判定部によって、エンジン17へのアシストが必要であるか否かを判断する。このアシスト状態判定部では、まず、偏差演算部310が、目標マッチング回転数np1から現在のエンジン回転数nを減算した回転数の偏差Δnを求める。現在のエンジン回転数nは、図示しない回転センサによって検出される。そして、アシスト判定部320は、この偏差Δnをもとにアシスト状態D330を判定出力する。この偏差Δnが閾値Δn2以上となる場合、アシストフラグを1にしてアシスト中とするアシスト状態に設定し、この偏差Δnが閾値Δn1以下となる場合に、アシストフラグを0にして非アシスト中とするアシスト状態に設定する。すなわち、アシスト状態の設定にヒステリシス特性を持たせている。なお、アシスト判定部320は、キャパシタ22内に蓄積されている電気エネルギーが所定値以下である場合、強制的に非アシスト中として判定する。ここで、この実施の形態では、作業機動作開始前の非アシスト中のアシスト状態から、作業機動作開始後のアシスト中のアシスト状態に移行する場合に、作業機3の応答性を十分に確保するアシスト制御を行うようにしている。すなわち、非アシストのアシスト状態からアシスト中のアシスト状態への立ち上がり時における作業機の応答性を十分に確保するようしている。具体的に、図21を用いて以下に説明する。図21bに示すように、時点t1で非アシスト中からアシスト中に移行した場合、エンジンコントローラ30は、図21aに示すように、目標アシスト回転数ANを、目標マッチング回転数np1よりも大きい予め決定された上限の目標アシスト回転数高回転目標マッチング回転数hANに設定する。その後、エンジンコントローラ30は、時点t1から予め決定された所定期間T1の間、この高回転目標マッチング回転数hANを目標アシスト回転数に設定し続ける。この所定期間T1はタイマによって計時される。さらに、この所定期間T1が終了する時点t2から、予め決定された回転数減少率ANrで、目標マッチング回転数np1まで目標アシスト回転数ANを減少させる。回転数減少率ANrは、単位時間当たりに減少させる回転数rpmの量である。なお、図21aの曲線Lnは、実エンジン回転数の時間変化を示している。このようなアシスト制御を行うと、図22に示すように、作業動作開始直後、作業動作開始前のマッチング点MP0図21,図22の1の状態のエンジン回転数から、目標マッチング回転数np1に影響されず、急激に高回転目標マッチング回転数hANまで上昇する図21,図22の2の状態。その後、所定期間T1、高回転目標マッチング回転数hANが維持され、所定期間T1経過時図21,図22の3の状態から、暫時、目標アシスト回転数ANは、目標マッチング回転数np1まで減少し、負荷の増大とともに目標マッチング点MP1で安定する図21,図22の4の状態。つまり、エンジン回転数は、矢印A3に示すような変化をして目標マッチング点MP1に到達する。このようなアシスト制御を行うことによって、作業機3の高い応答性を確保できるとともに、無駄なエネルギー消費を抑えることができる。ここで、上述した目標アシスト回転数ANの設定制御について詳細に説明する。この設定制御は、図23に示す目標アシスト回転数設定部によって行われる。図23において、判定部S101,S102には、アシスト状態判定部からアシスト状態D330が入力される。判定部S101は、アシスト状態D330がアシスト中で、アシスト中になった時点t1から所定期間T1以内であればTをスイッチSW1に出力し、所定期間T1経過後であればFをスイッチSW1に出力する。一方、判定部S102は、アシスト状態D330がアシスト中であればTをスイッチSW2に出力し、非アシスト中であればFをスイッチSW2に出力する。スイッチSW1には、微小時間毎にフィードバックされる目標アシスト回転数AND320から回転数減少率ANrD310を減算した回転数がF端子に入力され、高回転目標マッチング回転数hAND311がT端子に入力される。このため、スイッチSW1は、所定期間T1内であれば高回転目標マッチング回転数hAND311をスイッチSW2のT端子に出力し、所定期間T1経過後であれば、漸次、回転数減少率ANrD310で減少した目標アシスト回転数をT端子に出力させる。スイッチSW2には、スイッチSW1からの出力がT端子に入力され、目標マッチング回転数np1D260がF端子に入力される。したがって、スイッチSW2は、アシスト中であればスイッチSW1から入力された上記いずれかの回転数を出力し、非アシスト中であれば目標マッチング回転数np1を出力する。そして、最大値選択部MAX選択101は、スイッチSW2から入力された上記いずれかの回転数と目標マッチング回転数np1との大きい方を最小値選択部MIN選択102に出力する。最小値選択部102は、入力された回転数と高回転目標マッチング回転数hANとの小さい方を目標アシスト回転数ANとして出力する。すなわち、アシスト中であれば、高回転目標マッチング回転数hANと目標マッチング回転数np1との間の回転数を目標アシスト回転数AND230として出力する。そして、その目標アシスト回転数ANの出力の時間の経過に対する変化は、図21aに示した目標アシスト回転数の波形のようになる。このようにして設定された目標アシスト回転数ANは、図24に示す、ハイブリッドコントローラ23a内のアシストトルク演算部に入力される。アシストトルク演算部は、まず、入力された目標アシスト回転数AND320から現在のエンジン回転数nD108を減算する回転数差の演算。最大値選択部MAX選択201は、この減算した回転数と、ゼロ値との大きい方を演算器202に出力する。ゼロ値と比較するのは、現在のエンジン回転数nが目標アシスト回転数ANを越える場合は、アシストする必要がないからである。演算器202は、入力された回転数差にアシストゲインKasを乗算し、トルク値に変換したアシストトルクD340を出力する。ハイブリッドコントローラ23aは演算されたアシストトルクD340に応じて、キャパシタ22に蓄積された電気エネルギーを発電機19に供給放電してエンジン17の出力をアシストする。この実施の形態では、アシスト中になった直後から所定期間T1、目標アシスト回転数ANを高回転目標マッチング回転数hANに設定し、所定期間T1経過後、漸次、目標マッチング回転数np1まで減少させるようにしている。このようなアシスト制御を行うため、作業機3の高い応答性を確保できるとともに、無駄なエネルギー消費を抑えることができる。なお、図23に示した目標アシスト回転数設定部に替えて、図25に示すように、エンジン負荷状態をもとに目標アシスト回転数AND320を設定するようにしてもよい。エンジン負荷は、実際には油圧ポンプ18のポンプ負荷であり、ポンプ負荷が大きい場合には、目標アシスト回転数AND320を小さくし、ポンプ負荷が小さい場合には、目標アシスト回転数AND320を大きく設定しようとするものである。図25において、まず、エンジン負荷演算ブロック301は、エンジン回転数D108、ポンプ圧力D105,D106、およびポンプ容量D110,D111をもとに、エンジン負荷演算ブロック301がエンジン負荷を演算する。具体的は、まず、ポンプ吐出量をポンプ吐出量[L/min]=エンジン回転数[rpm]×平均ポンプ容量[cc/rev]/60として求め、このポンプ吐出量を用いてエンジン負荷を、次式を用いて求める。エンジン負荷[kW]=ポンプ吐出量[L/min]×平均ポンプ圧力[MPa]/60演算器302は、エンジン目標出力D240から上述したエンジン負荷を減算した出力にゲインKpを乗算して回転数に変換した値を出力する。入力された目標マッチング回転数np1D260には、この変換した値が加算され、加算された回転数は、最大値選択部MAX選択303に入力される。最大値選択部303は、目標マッチング回転数np1D260と加算された回転数とのうちの大きい方を最小値選択部MIN選択304に出力する。最小値選択部304は、この入力された回転数と高回転目標マッチング回転数hAND311とのうちの小さい方を最終的な目標アシスト回転数AND320として出力する。このようにエンジン負荷を求めて設定した目標アシスト回転数AND320を用いても、作業機3の高い応答性を確保できるとともに、無駄なエネルギー消費を抑えることができる。また、図25のエンジン負荷演算ブロック301が演算するエンジン負荷は、油圧ポンプ18のポンプ容量の情報斜板角センサ18aの検出値のみを用いて求めてもよい。なお、高回転目標マッチング回転数hANは、無負荷最大回転数np2のドループ線と目標マッチングルートMLとの交点におけるエンジン回転数np2’とすることが好ましい。また、図20を用いて説明した偏差Δnの閾値Δn2は、ハイブリッド油圧ショベル1作業機械の運転状態、特に作業パターンや作業モードに応じて予め決定されることが好ましい。なお、本実施の形態では、作業機械としてハイブリッド油圧ショベル1を例として説明したが、ホイールローダの走行用油圧モータを走行用電動モータに変えたハイブリッドホイールローダにも適用可能である。つまり、ハイブリッドホイールローダは、エンジンと発電機とキャパシタ蓄電装置を備え、キャパシタからの電気エネルギーあるいは発電機からの電気エネルギーを走行用電動モータに供給することで走行し、減速時に走行用電動モータが回生作用して電気エネルギーをキャパシタに供給充電するような作業機械である。本発明を用い、ハイブリッドホイールローダによる作業の場面に応じて発電機がエンジンの出力をアシストし、油圧ポンプの駆動によって作業機を動作させることで、燃費およびポンプ効率の向上を図りつつ、アシスト作用によって作業機の応答性を十分に確保することができる。"