Patent Publication Number: US-6658847-B2

Title: Control of supercharger

Description:
FIELD OF THE INVENTION 
     This invention relates to control of an intake fresh air amount of an engine provided with a turbocharger. 
     BACKGROUND OF THE INVENTION 
     Tokkai Hei 11-132049 published by the Japanese Patent Office in 1999 discloses a method of processing a command signal for enhancing the response characteristics of the supercharging pressure control of a turbocharger of an engine. The turbocharger is provided with an exhaust gas turbine driven by the exhaust gas of the engine, and a compressor which rotates together with the exhaust gas turbine to supercharge the intake air of the engine. The turbocharger is further provided with a variable nozzle that regulates the inflow cross-sectional area of exhaust gas to the exhaust gas turbine. 
     The inflow cross-sectional area of exhaust gas varies according to the opening of the variable nozzle that is varied by an actuator. 
     This prior art technique discloses an idea that the intake air amount of the engine varies with a first order delay with respect to the command signal input to the actuator, and proposes to apply an advance processing to the command signal for cancelling out the first order delay in order to enhance the precision of control of the intake air amount of the engine. 
     SUMMARY OF THE INVENTION 
     There are the following problems in taking the delay from the variation of the command signal to the actuator, until the intake air amount of an engine changes, to be a simple first order delay. 
     Various kinds of delay may be anticipated between the command signal input to the actuator and the variation of the intake air amount of the engine, such as a delay depending on the flow velocity of intake air and exhaust gas, a turbo lag due to the construction of the gas turbine/compressor, and a delay in the operation of the actuator itself. 
     These lags do not necessarily vary with the same parameters. 
     For example, a time constant of the lag depending on the flow velocity of the intake air and exhaust gas and a time constant of the turbo lag, vary depending on the exhaust gas amount of the engine. On the other hand, a time constant of the operating delay of the actuator is fixed regardless of the exhaust gas amount. 
     Therefore, it is difficult to enhance the precision of controlling the intake air amount by simply applying an advance processing based on a first order delay to the command signal to the actuator. 
     It is therefore an object of this invention to perform delay compensation in the control of a turbocharger with higher precision. 
     In order to achieve the above object, this invention provides a control device for a turbocharger of an engine, wherein the turbocharger is provided with an actuator which adjusts an intake air amount of the engine according to a command signal. The control device comprises a sensor which detects a running state of the engine, and a controller functioning to set a target intake air amount of the engine based on the running state, calculate an operational target value of the actuator based on the target intake air amount, calculate a first compensation value of a response delay from operation of the actuator to variation of the intake air amount, calculate a second compensation value of an operating delay of the actuator with respect to an input of the command signal to the actuator, calculate the command signal by performing a processing based on the first compensation value and the second compensation value on the operational target value, and output the command signal to the actuator. 
     This invention also provides a control method of a turbocharger of an engine, wherein the turbocharger is provided with an actuator which adjusts an intake air amount of the engine according to a command signal. The control method comprising detecting a running state of the engine, setting a target intake air amount of the engine based on the running state, calculating an operational target value of the actuator based on the target intake air amount, calculating a first compensation value of a response delay from operation of the actuator to variation of the intake air amount, calculating a second compensation value of an operating delay of the actuator with respect to an input of the command signal to the actuator, calculating the command signal by performing a processing based on the first compensation value and the second compensation value on the operational target value, and outputting the command signal to the actuator. 
     The details as well as other features and advantages of this invention are set forth in the remainder of the specification and are shown in the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic diagram of a control device for a diesel engine according to this invention. 
     FIG. 2 is a schematic diagram of a common rail fuel injection mechanism with which the diesel engine is provided. 
     FIG. 3 is a flowchart describing a routine for calculating a target fuel injection amount Qsolperformed by a controller according to this invention. 
     FIG. 4 is a diagram describing the contents of a map of a basic fuel injection amount Mqdrv stored by the controller. 
     FIG. 5 is a diagram describing the contents of a map of an EGR valve lift amount stored by the controller. 
     FIG. 6 is a flowchart describing a routine for calculating a target EGR amount Tqec per cylinder performed by the controller. 
     FIG. 7 is a flowchart describing a routine for calculating a cylinder intake fresh air amount Qac performed by the controller. 
     FIG. 8 is a flowchart describing a routine for calculating an intake fresh air flowrate Qas 0  of the intake passage performed by the controller. 
     FIG. 9 is a diagram describing the contents of an intake fresh air amount map stored by the controller. 
     FIG. 10 is a flowchart describing a routine for calculating a target EGR rate Megr performed by the controller. 
     FIG. 11 is a diagram describing the contents of a map of a basic target EGR rate Megrb stored by the controller. 
     FIG. 12 is a diagram describing the contents of a map of a water temperature correction coefficient Kegr_tw stored by the controller. 
     FIG. 13 is a flowchart describing a complete combustion determining routine performed by the controller. 
     FIG. 14 is a flowchart describing a routine for calculating an EGR rate Megrd in an intake valve position performed by the controller. 
     FIG. 15 is a flowchart describing a routine for calculating a time constant inverse value Kkin performed by the controller. 
     FIG. 16 is a flowchart describing the contents of a map of a volume efficiency equivalent basic value Kinb performed by the controller. 
     FIG. 17 is a flowchart describing a routine for calculating a target intake fresh air amount tQac performed by the controller. 
     FIG. 18 is a diagram describing the contents of a map of a target intake fresh air amount basic value tQacb stored by the controller. 
     FIG. 19 is a diagram describing the contents of a map of a correction coefficient ktQac stored by the controller. 
     FIG. 20 is a diagram describing the contents of a map of a target intake fresh air amount tQac stored by the controller. 
     FIG. 21 is a flowchart describing a routine for calculating a real EGR amount Qec performed by the controller. 
     FIG. 22 is a flowchart describing a subroutine for calculating an EGR amount feedback correction coefficients Kqac 00 , an EGR flow velocity feedback correction coefficient Kqac 0 , and an EGR flow velocity learning correction coefficient Kqac, performed by the controller. 
     FIG. 23 is a flowchart describing a routine for setting a feedback control permission flag fefb performed by the controller. 
     FIG. 24 is a flowchart describing a routine for setting a learning value reflection permission flag felrn 2  performed by the controller. 
     FIG. 25 is a flowchart describing a routine for setting a learning permission flag felrn performed by the controller. 
     FIG. 26 is a flowchart describing a subroutine for calculating the EGR amount feedback correction coefficient Kqac 00  performed by the controller. 
     FIG. 27 is a diagram describing the contents of a map of a correction gain Gkfb of an EGR flowrate stored by the controller. 
     FIG. 28 is a diagram describing the contents of a map of a water temperature correction coefficient Kgfbtw of an EGR amount stored by the controller. 
     FIG. 29 is a flowchart describing a subroutine for calculating the EGR flow velocity feedback correction coefficient Kqac 0  performed by the controller. 
     FIG. 30 is a diagram describing the contents of a map of an EGR valve flow velocity correction gain Gkfbi stored by the controller. 
     FIG. 31 is a diagram describing the contents of a map of a water temperature correction coefficient Kgfbitw of an EGR flow velocity stored by the controller. 
     FIG. 32 is a diagram describing the contents of a map of an error rate learning value Rqac n  stored by the controller. 
     FIG. 33 is a flowchart describing a subroutine for updating the error rate learning value Rqac n  performed by-the controller. 
     FIG. 34 is a diagram describing the contents of a map of a learning rate Tclrn stored by the controller. 
     FIG. 35 is a flowchart describing a routine for calculating an EGR valve flow velocity Cqe performed by the controller. 
     FIG. 36 is a diagram describing the contents of a map of the EGR valve flow velocity Cqe stored by the controller. 
     FIG. 37 is a flowchart describing a routine for calculating a target opening area Aev of the EGR valve performed by the controller. 
     FIG. 38 is a flowchart describing a routine for setting a duty value Dtyvnt of a pressure control valve of a variable nozzle performed by the controller. 
     FIG. 39 is a flowchart describing a subroutine for setting an overboost determining flag FOVBST performed by the controller. 
     FIGS. 40A-40E are timing charts describing a variation of the overboost determining flag FOVBST with respect to a variation of an accelerator opening. 
     FIG. 41 is a diagram describing the contents of a map of an overboost determining intake gas amount TQcyl stored by the controller. 
     FIG. 42 is a diagram describing the characteristics of an efficiency of a turbocharger with which the diesel engine is provides. 
     FIG. 43 is a flowchart describing a subroutine for setting a suppression release flag FCLROB performed by the controller. 
     FIGS. 44A and 44B are timing charts describing a variation of the overboost determining flag FOVBST and the suppression release flag FCLROB. 
     FIG. 45 is a flowchart describing a routine for calculating an overboost suppressing period TTMROB performed by the controller. 
     FIG. 46 is a diagram describing the contents of a map of an overboost suppressing period basic value TTMROB 0  stored by the controller. 
     FIG. 47 is a diagram describing the contents of a map of an overboost suppressing period correction coefficient KTMROB stored by the controller. 
     FIG. 48 is a flowchart describing a routine for calculating a suppression release period TTMRCLROB performed by the controller. 
     FIG. 49 is a diagram describing the contents of a map of a suppression release period basic value TTMRCLROB 0  stored by the controller. 
     FIG. 50 is a diagram describing the contents of a map of a suppression release period correction coefficient KTMRCLROB stored by the controller. 
     FIG. 51 is a flowchart describing a subroutine for calculating a target opening rate Rvnt of the variable nozzle performed by the controller. 
     FIG. 52 is a diagram describing the contents of a map of a target opening rate basic value Rvnt 0  of the variable nozzle in an EGR operation region under the overboost suppressing control, stored by the controller. 
     FIG. 53 is a diagram describing the contents of a map of the target opening rate basic value Rvnt 0  of the variable nozzle in the EGR operation region under a normal engine control, stored by the controller. 
     FIG. 54 is a diagram describing the contents of a map of a target opening rate basic value Rvnt 0  of the variable nozzle in a non-EGR operation region under the overboost suppressing control, stored by the controller. 
     FIG. 55 is a diagram describing the contents of a map of a target opening rate basic value Rvnt 0  of the variable nozzle in the non-EGR operation region under the normal engine control, stored by the controller. 
     FIG. 56 is similar to FIG. 51, but showing a second embodiment of this invention with respect to the subroutine for calculating the target opening rate Rvnt of the variable nozzle. 
     FIG. 57 is a diagram describing the contents of a map of the target opening rate basic value Rvnt 0  of the variable nozzle in the EGR operation region under the overboost suppressing control, according to the second embodiment of this invention. 
     FIG. 58 is a diagram describing the contents of a map of the target opening rate basic value Rvnt 0  of the variable nozzle in the EGR operation region under the normal engine control, according to the second embodiment of this invention. 
     FIGS. 59A-59C are timing charts describing an effect of an EGR rate on an exhaust gas composition and an intake fresh air amount of the diesel engine. 
     FIG. 60 is a flowchart describing a routine for calculating an open loop control amount Avnt_f of an opening rate of the variable nozzle and a delay processing value Rvnte of the target opening rate Rvnt of the variable nozzle performed by the controller. 
     FIGS. 61A-61D are timing charts describing a variation of an exhaust gas amount of the diesel engine with respect to a variation of a fuel injection amount. 
     FIG. 62 is a diagram describing the contents of a map of an advance correction gain TGKVNTO when the variable nozzle is operating in an opening direction, stored by the controller. 
     FIG. 63 is a diagram describing the contents of a map of an advance correction gain TGKVNTC when the variable nozzle is operating in a closing direction, stored by the controller. 
     FIG. 64 is a diagram describing the contents of a map of a time constant inverse value TTCVNTO of an advance correction of the opening rate of the variable nozzle when it is operating in the opening direction, stored by the controller. 
     FIG. 65 is a diagram describing the contents of a map of a time constant inverse value TTCVNTC of the advance correction of the opening rate of the variable nozzle when it is operating in the closing direction, stored by the controller. 
     FIG. 66 is a flowchart describing a subroutine for calculating a feedback correction amount Avnt_fb of the opening rate of the variable nozzle and an opening rate learning value Ravlr performed by the controller. 
     FIG. 67 is a flowchart describing a subroutine for setting a feedback control permission flag FVNFB of the opening rate of the variable nozzle performed by the controller. 
     FIG. 68 is a diagram showing an operation region of the diesel engine where the controller feedback controls the opening rate of the variable nozzle. 
     FIG. 69 is a flowchart describing a subroutine for setting feedback gains of the opening rate of the variable nozzle. 
     FIG. 70 is a diagram describing the contents of a map of a proportional gain basic value Gkvntp 0  stored by the controller. 
     FIG. 71 is a diagram describing the contents of a map of an integral gain basic value Gkvnti 0  stored by the controller. 
     FIG. 72 is a diagram describing the contents of a map of an exhaust gas amount correction coefficient Gkvqexh stored by the controller. 
     FIG. 73 is a diagram describing the contents of a map of an opening rate correction coefficient Gkvavnt stored by the controller. 
     FIG. 74 is a flowchart describing a subroutine for calculating the feedback correction amount Avnt_fb of the opening rate of the variable nozzle performed by the controller. 
     FIG. 75 is a flowchart describing a subroutine for setting a learning permission flag FVNLR of the opening rate of the variable nozzle performed by the controller. 
     FIG. 76 is a diagram showing an operation region of the diesel engine where the controller perform learning control of the opening rate of the variable nozzle. 
     FIG. 77 is a flowchart describing a subroutine for calculating the opening rate learning value Ravlr performed by the controller. 
     FIG. 78 is a diagram describing the contents of a map of a learning speed Kvntlrn stored by the controller. 
     FIG. 79 is a diagram describing the contents of a map of an operation region reflection coefficient Gkvntlnq stored by the controller. 
     FIG. 80 is a diagram describing the contents of a map of an opening rate reflection coefficient Gkvntlav stored by the controller. 
     FIG. 81 is a flowchart describing a subroutine for calculating a command opening rate linearization processing value Ratdty performed by the controller. 
     FIG. 82 is a flowchart describing a subroutine for calculating a final command opening rate Trvnt performed by the controller. 
     FIG. 83 is a diagram describing the contents of a map of the command opening rate linearization processing value Ratdty stored by the controller. 
     FIG. 84 is a flowchart describing a subroutine for calculating a command duty value Dtyv output to the pressure control valve, performed by the controller. 
     FIG. 85 is a flowchart describing a subroutine for setting a duty hold flag fvnt 2  performed by the controller. 
     FIG. 86 is a flowchart describing a subroutine for calculating a temperature correction amount Dty_t performed by the controller. 
     FIG. 87 is a diagram describing the contents of a map of a basic exhaust gas temperature Texhb stored by the controller. 
     FIG. 88 is a diagram describing the contents of a map of a water temperature correction coefficient Ktexh_Tw stored by the controller. 
     FIG. 89 is a diagram describing the contents of a map of the temperature correction amount Dty_t stored by the controller. 
     FIG. 90 is a diagram describing an effect of the temperature on the relation between the duty value of the pressure control valve and the opening rate of the variable nozzle. 
     FIG. 91 is a diagram of the contents of a map of a duty value Duty_f_p when the variable nozzle is fully closed while the command opening rate linearization processing value Ratdty is increasing, stored by the controller. 
     FIG. 92 is a diagram of the contents of a map of a duty value Duty_l_p when the variable nozzle is fully open while the command opening rate linearization processing value Ratdty is increasing, stored by the controller. 
     FIG. 93 is a diagram of the contents of a map of a duty value Duty_h_n when the variable nozzle is fully closed while the command opening rate linearization processing value Ratdty is decreasing, stored by the controller. 
     FIG. 94 is a diagram of the contents of a map of a duty value Duty_l_n when the variable nozzle is fully open while the command opening rate linearization processing value Ratdty is decreasing, stored by the controller. 
     FIG. 95 is a diagram describing a hysteresis in the relation between the command opening rate linearization processing value Ratdty and the duty values according to this invention. 
     FIG. 96 is a flowchart describing a subroutine for checking the operation of the variable nozzle performed by the controller. 
     FIG. 97 is a flowchart describing a routine for calculating the duty value Dtyvnt of the pressure control valve performed by the controller. 
     FIG. 98 is a diagram describing the contents of a map of a control pattern value Duty_pu stored by the controller. 
     FIG. 99 is a diagram describing the contents of a map of a duty value Duty_p_ne for checking the operation of the variable nozzle, stored by the controller. 
     FIG. 100 is a diagram showing the relation between a charging efficiency of a turbocharger, a corrected mass flowrate QA and a pressure ratio π. 
     FIG. 101 is a diagram showing the relation between the charging efficiency, an exhaust gas amount of a diesel engine and an EGR amount thereof. 
     FIG. 102 is a timing chart showing simulation results when an advance correction is applied to the opening rate of a variable nozzle, setting a time constant equivalent value Tcvnt to 0.1 and an advance correction gain Gkvnt to 2. 
     FIG. 103 is similar to FIG. 102, but showing a simulation result when the advance correction gain Gkvnt is set to 0.5. 
     FIGS. 104A-104E is a timing chart showing a variation of the target opening rate Rvnt and a cylinder intake fresh air amount Qac in a small exhaust gas amount region, in the control device according to this invention. 
     FIGS. 105A-105E are similar to FIGS. 104A-104E, but showing a variation of the target opening rate Rvnt and the cylinder intake fresh air amount Qac in a large exhaust gas amount region. 
     FIG. 106 is a flowchart describing a routine for calculating an EGR valve opening surface area Aev performed by a controller according to a third embodiment of this invention. 
     FIG. 107 is a diagram showing the contents of a map of a target EGR valve opening surface area Eaev per unit exhaust gas amount stored by the controller according to the third embodiment of this invention. 
     FIG. 108 is similar to FIG. 107, but showing a theoretical value. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring to FIG. 1 of the drawings, a diesel engine  1  comprises an intake passage  3  and exhaust passage  2 . The diesel engine  1  is a multi-cylinder diesel engine so constructed that the pattern of heat release is single stage combustion due to performing low temperature pre-mixture combustion. Such a diesel engine is disclosed by Tokkai Hei 8-86251 published by the Japanese Patent Office in 1999. Intake air of the intake air passage  3  is supplied to each cylinder of the diesel engine  1  via a collector  3 A. 
     A compressor  55  of a turbocharger  50  and a intake throttle  60  driven by a throttle actuator  61  are installed in the intake passage  3  upstream of the collector  3 A. 
     A swirl control valve is provided in an intake port leading from the intake passage  3  to each cylinder. When the diesel engine  1  is running at low rotation speed on low load, the swirl control valve closes part of the passage and sets up a swirl in the flow of air flowing into the combustion chamber of the diesel engine  1 . 
     The combustion chamber comprises a large diameter toroidal combustion chamber. This is a combustion chamber wherein a cylindrical cavity of the same diameter is formed on a piston from a cap surface to a base. A conical part is formed at the base of the cavity. As a result, resistance to the swirl flowing in from the outside of the cavity is reduced, and mixing of air and fuel is promoted. Also, due to the shape of the cavity, the swirl diffuses from the center of the cavity to the outside as the piston descends. 
     The diesel engine  1  comprises a common rail type fuel injection mechanism  10 . 
     Referring to FIG. 2, a fuel injection mechanism  10  comprises a fuel tank  11 , fuel supply passage  12 , supply pump  14 , pressure accumulating chamber  16 A formed in a common rail  16 , and a nozzle  17  which is provided for every cylinder. After the fuel supplied from the supply pump  14  is stored in a pressure accumulator  16 A via a high pressure fuel passage  15 , it is distributed to each of the nozzles  17 . 
     The nozzle  17  comprises a needle valve  18 , nozzle chamber  19 , fuel passage  20  to the nozzle chamber  19 , retainer  21 , hydraulic piston  22 , return spring  23 , fuel passage  24  which leads high pressure fuel to the hydraulic piston  22 , and three-way solenoid valve  25  interposed in the fuel passage  24 . A check valve  26  and an orifice  27  are also provided in parallel in the fuel passage  24 . The return spring  23  pushes the needle valve  18  in the closing direction of the lower part of the figure via the retainer  21 . The hydraulic piston  22  comes in contact with the upper edge of the retainer  21 . 
     The three-way valve  25  comprises a port A connected to the pressure accumulating chamber  16 A, port B connected to the fuel passage  24  and port C connected to a drain  28 . When the three-way valve  25  is OFF, ports A and B are connected and ports B and C are shut off. As a result, the fuel passages  20  and  24  are connected, and high pressure fuel is led to both the upper part of the hydraulic piston  22  and the nozzle chamber  19  from the pressure accumulating chamber  16 A. As the pressure-receiving surface area of the hydraulic piston  22  is larger than the pressure-receiving surface area of the needle valve  18 , in this state, the needle valve  18  sits in the valve seat, and the nozzle  17  is thereby closed. 
     In the state where the three-way valve  25  is ON, the ports A and B are shut off, and the ports B and C are connected. 
     Consequently, the fuel pressure of the fuel passage  24  which pushes the hydraulic piston  22  downward is released to the fuel tank  11  via the drain  28 , the needle valve  18  lifts due to the fuel pressure of the nozzle chamber  19  which acts on the needle valve  18  in an upward direction, and the fuel of the nozzle chamber  19  is injected from the hole at the end of the nozzle  17 . If the three-way valve  25  is returned to the OFF state, the fuel pressure of the pressure accumulating chamber  16 A again acts downward on the hydraulic piston  22 , the needle valve  18  sits in the valve seat, and fuel injection is terminated. 
     That is, fuel injection start timing is adjusted by the change-over timing from OFF to ON of the three-way valve  25 , and fuel injection amount is adjusted by the duration of the ON state. Therefore, if the pressure of the pressure accumulating chamber  16 A is the same, the fuel injection amount increases the longer the ON time of the three-way valve  25 . 
     Further, to adjust the pressure of the pressure accumulating chamber  16 A, the fuel injection mechanism  10  comprises a return passage  13  which returns the surplus fuel discharged by the supply pump  14  to the fuel supply passage  12 . The return passage  13  is provided with a pressure regulating valve  31 . The pressure regulating valve  31  opens and closes the return passage  13 , and adjusts the pressure of the pressure accumulating chamber  16 A by varying the fuel injection amount to the pressure accumulating chamber  16 A. 
     The fuel pressure of the pressure accumulating chamber  16 A is equal to the fuel injection pressure of the nozzle  17 , and the fuel injection rate is higher the higher the fuel pressure of the pressure accumulating chamber  16 . The three-way valve  25  and the pressure regulating valve  31  function according to the input signal from a controller  41 . 
     The above construction of the fuel injection mechanism  10  is disclosed and known from pp. 73-77, Lecture Papers of the 13th Symposium on the Internal Combustion Engine. 
     Now, referring again to FIG. 1, after the exhaust gas in the exhaust passage  2  drives an exhaust gas turbine  52  of the turbocharger  50 , it is discharged into the atmosphere via a catalytic converter  62 . The catalytic converter  62  traps nitrogen oxides (NOx) when the diesel engine  1  operates under a lean air-fuel ratio, and reduces the trapped NOx by hydrocarbon (HC) contained in the exhaust gas when the diesel engine  1  operates under a rich air-fuel ratio. 
     The turbocharger  50  comprises the exhaust gas turbine  52  and the compressor  55  which supercharges the intake fresh air in the intake passage  3  according to the rotation of the exhaust gas turbine  52 . The compressor  55  is provided in the middle of the intake passage  3 , and the intake passage  3  supplies air compressed by the compressor  55  to the diesel engine  1 . A variable nozzle  53  driven by a pressure actuator  54  is provided at an inlet to the exhaust gas turbine  52 . 
     The pressure actuator  54  comprises a diaphragm actuator  59  which drives the variable nozzle  53  according to a signal pressure, and a pressure control valve  56  which generates the signal pressure according to a signal input from the controller  41 . 
     The controller  41  controls the variable nozzle  53  to reduce the nozzle opening when the rotation speed of the diesel engine  1  is low. As a result, the flow velocity of exhaust gas introduced to the exhaust gas turbine  52  is increased so that a predetermined supercharging pressure is attained. On the other hand, the controller  41  controls the variable nozzle  53  to fully open, when the rotation speed of the diesel engine  1  is high, in order to introduce exhaust gas into the exhaust gas turbine  52  without resistance. 
     When the air-fuel mixture is burnt in the diesel engine  1 , noxious NOx are formed. The NOx amount largely depends on the combustion temperature, and the generation amount of NOx can be suppressed by making the combustion temperature low. This diesel engine  1  reduces the oxygen concentration in the combustion chamber by exhaust recirculation (EGR), and thereby realizes low-temperature combustion. For this purpose, the diesel engine  1  comprises an exhaust gas recirculation (EGR) passage  4  which connects the exhaust passage  2  upstream of the exhaust gas turbine  52  and a collector  3 A of the intake passage  3 . The EGR passage  4  is provided with a diaphragm type exhaust gas recirculation (EGR) valve  6  which responds to a control negative pressure provided from a negative pressure control valve  5  and a cooling system  7 . 
     The negative pressure control valve  5  generates a negative pressure in response to a duty signal input from the controller  41 , and thereby varies the rate of exhaust gas recirculation (EGR rate) via the EGR valve  6 . 
     For example, in the low rotation speed, low load range of the diesel engine  1 , the EGR rate is a maximum 100 percent, and as the rotation speed and load of the diesel engine  1  increase, the EGR rate is decreased. On high load, since the exhaust gas temperature is high, intake air temperature will rise if a large amount of EGR is performed. If the intake air temperature rises, NOx will no longer decrease, the ignition delay of injected fuel becomes shorter, and it becomes impossible to achieve pre-mixture combustion. Therefore, the EGR rate is made to decrease in stages as the rotation speed and load of the diesel engine  1  increase. 
     The cooling system  7  leads part of the engine cooling water to a water jacket  8  surrounding the EGR passage  4 , and cools the recirculated exhaust gas in the EGR passage  4 . A cooling water inlet  7 A of the water jacket  8  is provided with a flow control valve  9  which adjusts the recirculating amount of cooling water according to a signal from the controller  41 . 
     A pressure regulating valve  31 , the three-way valve  25 , the negative pressure control valve  5 , the pressure actuator  54  and the flow control valve  9  are respectively controlled by signals from the controller  41 . The controller  41  comprises a microcomputer equipped with a central processing unit (CPU), random access memory (RAM), read-only memory (ROM) and input/output interface (I/O interface). It should be noted that the controller  41  may comprise plural microcomputers. 
     Signals corresponding to detection values are input to the controller  41  from a pressure sensor  32  which detects a fuel pressure of the pressure accumulating chamber  16 A, an accelerator opening sensor  33  which detects an opening Cl of a vehicle accelerator pedal, a crank angle sensor  34  which detects a rotation speed Ne and crank angle of the diesel engine  1 , a cylinder identifying sensor  35  which identifies cylinders of the diesel engine  1 , a water temperature sensor  36  which detects a cooling water temperature Tw of the diesel engine  1 , an intake air temperature sensor  37  which detects an intake air temperature Ta of the diesel engine  1 , an atmospheric pressure sensor  38  which detects an atmospheric pressure Pa and an air flow meter  39  which detects an intake fresh air flowrate of the intake passage  3  upstream of the compressor  55 . The atmospheric pressure sensor  38  and air flow meter  39  are installed in the intake passage  3  upstream of the intake throttle  60 . 
     Based on the rotation speed of the diesel engine  1  and accelerator opening, the controller  41  calculates a target fuel injection amount of the nozzle  17  and target pressure of the pressure accumulating chamber  16 A. The fuel pressure of the pressure accumulating chamber  16 A is feedback controlled by opening and closing the pressure regulating valve  31  so that the actual pressure of the pressure accumulating chamber  16 A detected by the pressure sensor  32  coincides with the target pressure. 
     The controller  41  also controls an ON time of the three-way valve  25  according to the calculated target fuel injection amount, and a fuel injection start timing in response to the running conditions of the diesel engine  1  by the change-over timing to ON of the three-way valve  25 . For example, when the diesel engine  1  is in a low rotation speed, low load state under a high EGR rate, the fuel injection start timing is delayed near top dead center (TDC) of the piston so that the ignition delay of injected fuel is long. Due to this delay, the combustion chamber temperature at the time of ignition is lowered, and the generation of smoke due to the high EGR rate is suppressed by increasing the pre-mixture combustion ratio. On the other hand, the injection start timing is advanced as the rotation speed and load of the diesel engine  1  increase. This is due to the following reason. Specifically, even if the ignition delay period is constant, the ignition delay crank angle obtained by converting the ignition delay period increases in proportion to the increase in engine speed. Therefore, in order to fire the injected fuel at a predetermined crank angle, the injection start timing needs to be advanced at high rotation speed. 
     The controller  41  controls the fresh air amount and the EGR amount of the diesel engine  1 . The fresh air amount is controlled via the supercharging pressure of the turbocharger  50  via the variable nozzle  53  and the EGR amount is controlled via the EGR valve  6 . 
     However, the supercharging pressure and the EGR amount affect each other, and if the EGR amount is changed, it may be necessary to change the opening of the variable nozzle  53 . 
     As the supercharging pressure control precision and the EGR amount control precision both fall when the engine  1  is in a transient state, it becomes difficult to control these parameters which are affecting each other. 
     Thus, the controller  41  computes a target intake fresh air amount tQac according to running conditions of the engine  1 , and sets a target opening rate Rvnt of the variable nozzle  53  of the turbocharger  50  based on this target intake fresh air amount tQac, and an EGR amount Qec per cylinder in the intake valve position of the diesel engine  1 , or an EGR rate Megrd in the intake valve position of the diesel engine  1 . 
     When a turbocharger  50  increases an intake air amount according to an acceleration of a diesel engine  1 , there is an exhaust gas amount region where an increase in exhaust gas amount increases charging efficiency, and an exhaust gas amount region where an increase in exhaust gas amount reduces the charging efficiency. 
     In the exhaust gas amount region where the increase in exhaust gas amount increases the charging efficiency, a controller  41  applies advance processing which corrects the gas flow lag from variation of the opening rate of the variable nozzle  53  to variation of the fresh air amount, to the target opening rate Rvnt. In the exhaust gas amount region where the increase in exhaust gas amount reduces the charging efficiency, the controller  41  conversely applies delay processing to the target opening rate Rvnt. 
     The controller  41  further applies different advance processing for compensating the response delay of the pressure actuator  54  to the processing values obtained by this advance processing or delay processing. 
     The above control performed by the controller  41  will be described with reference to flowcharts. FIG. 3, FIG.  4  and FIGS. 7-13 are known from Tokkai Hei 10-288071 published by the Japanese Patent Office in 1998. 
     The routine for calculating common parameters used for control of supercharging pressure and the EGR amount will first be described. The common parameters are a target fuel injection amount Qsol of a fuel injection mechanism  10 , a target EGR rate Megr of the EGR valve  6 , a time constant inverse value Kkin, a real EGR rate Megrd, a cylinder intake fresh air amount Qac, an intake fresh air flowrate Qas 0  of the intake passage, the real EGR amount Qec and the target intake fresh air amount tQac. 
     The time constant inverse value Kkin is a value representing an EGR control delay due to a collector  3 A interposed between the EGR valve  6  and the intake valve of the diesel engine  1 . The real EGR rate Megrd shows the EGR rate of the intake air which passes through the intake valve of the diesel engine  1 . The real EGR rate Megrd varies with a first order delay relative to the target EGR rate Megr. The calculation of these parameters is performed independently of the supercharging pressure control routine, and the EGR amount control routine. 
     First, referring to FIG. 3, the routine for calculating the target fuel injection amount Qsol will be described. This routine is performed in synchronism with a REF signal output by the crank angle sensor  34  for each reference position of the combustion cycle of each cylinder. In the case of a four-stroke cycle engine, the REF signal is output every 180 degrees for a four cylinder engine, and every 120 degrees for a six cylinder engine. 
     First, in a step S 1 , the engine speed Ne is read, and in a step S 2 , the accelerator opening Cl is read. 
     In a step S 3 , a basic fuel injection amount Mqdrv is calculated by looking up a map shown in FIG. 4 based on the engine rotation speed Ne and the accelerator opening Cl. This map is stored beforehand in the memory of the controller  41 . 
     In a step S 4 , the target fuel injection amount Qsol is calculated by adding an increase correction based on an engine cooling water temperature Tw, etc., to the basic fuel injection amount Mqdrv. 
     It should be noted however that the above routine does not consider the residual air amount in the EGR gas. So, according to this invention, the actual fuel injection amount by the fuel injection mechanism  10  is not necessarily equal to the target fuel injection amount Qsol calculated in the above routine, but to a final target fuel injection amount Qfin described later. 
     Next, referring to FIG. 10, a routine for calculating the target EGR rate Megr will be described. This routine is also performed in synchronism with the REF signal. 
     The controller  41  first reads the engine rotation speed Ne, the target fuel injection amount Qsol and the engine cooling water temperature Tw in a step S 51 . 
     In a step S 52 , referring to a map shown in FIG. 12, the basic target EGR rate Megrb is calculated from the engine rotation speed Ne and the target fuel injection amount Qsol. This map is stored beforehand in the memory of the controller  41 . In this map, the basic target EGR rate Megrb is set larger in a region where the operating frequency of the engine is higher. This region corresponds to a region where both the rotation speed Ne and the load are small. In this map, the load is represented by the target fuel injection amount Qsol. When the engine output is high, smoke tends to be generated, so in such a region, the basic target EGR rate Megrb is set to have small values. 
     In a step S 53 , referring to a map shown in FIG. 13, a water temperature correction coefficient Kegr_Tw of the basic target EGR rate Megrb is calculated from the cooling water temperature Tw. This map is also stored beforehand in the memory of the controller  41 . 
     In a step S 54 , the target EGR rate Megr is calculated by the following equation (1) from the basic target EGR rate Megrb and water temperature correction coefficient Kegr_Tw. 
     
       
           Megr=Megrb·Kegr   —   tw   (1)  
       
     
     In a step S 55 , a subroutine shown in FIG. 13 which determines whether or not the diesel engine  1  is in a complete combustion state, is performed. 
     Describing this subroutine, firstly in a step S 61 , the engine rotation speed Ne is read, and in a step S 62 , the engine rotation speed Ne and a complete combustion determining slice level NRPMK corresponding to a complete combustion rotation speed are compared. 
     The slice level NRPMK is set, for example, to 400 rpm. When the engine rotation speed Ne exceeds the slice level NRPMK, the routine proceeds to a step S 63 . 
     Here, a counter value Tmrkb is compared with a predetermined time TMRKBP, and when the counter value Tmrkb is larger than the predetermined time TMRKBP, a complete combustion flag is turned ON in a step S 64 , and the subroutine is terminated. 
     When the engine rotation speed Ne is below the slice level NRPMK in the step S 62 , the subroutine proceeds to a step S 66 . Here, the counter value Tmrkb is cleared to zero, the complete combustion flag is turned OFF in a next step S 67 , and the subroutine is terminated. 
     When the counter value Tmrkb is below the predetermined time TMRKBP in the step S 63 , the counter value Tmrkb is incremented in a step S 65  and the subroutine is terminated. 
     In this subroutine, even if the engine rotation speed Ne exceeds the slice level NRPMK, the complete combustion flag does not turn ON immediately, and the complete combustion flag only changes to ON after this state has continued for the predetermined time TMRKBP. 
     Referring again to FIG. 10, after performing the subroutine of FIG. 13, the controller  41  determines the complete combustion flag in a step S 56 . When the complete combustion flag is ON, the routine of FIG. 10 is terminated. When the complete combustion flag is OFF, the target EGR rate Megr is reset to zero in a step S 57 , and the routine of FIG. 10 is terminated. 
     Next, referring to FIGS. 14 and 15, a routine for calculating the time constant inverse value Kkin and the real EGR rate Megrd will now be described. The real EGR rate Megrd varies with a first order delay relative to the target EGR rate Megr. As the calculations of the time constant inverse value Kkin and the real EGR rate Megrd are inter-related, they will be described together. 
     FIG. 15 shows a routine for calculating the time constant inverse value Kkin. This routine is performed in synchronism with the REF signal. 
     The controller  41  reads the engine rotation speed Ne, the target fuel injection amount Qsol and the immediately preceding value Megrd n−1  (%) of the real EGR rate in a step S 101 . The immediately preceding value Megrd n−1  is a value of Megrd calculated on the immediately preceding occasion when the routine was performed. 
     In a step S 102 , a volume efficiency equivalent basic value Kinb is calculated from the engine rotation speed Ne and the target fuel injection amount Qsol by looking up a map shown in FIG. 16 previously stored in the memory of the controller  41 . 
     In a step S 103 , a volume efficiency equivalent value Kin is calculated from the following equation (2). When EGR is performed, the proportion of fresh air in the intake air falls, and the volume efficiency decreases. This reduction is reflected in the calculation of the volume efficiency equivalent value Kin via the volume efficiency equivalent basic value Kinb.              Kin   =     Kinb   ·     1     1   +       Megrd     n   -   1       100                   (   2   )                         
     In a step S 104 , the time constant inverse value Kkin corresponding to the capacity of the collector  3 A is calculated by multiplying the volume efficiency equivalent value Kin by a constant KVOL. 
     The constant KVOL is expressed by the following equation (3). 
     
       
           KVOL= ( VE/NC )/ VM   (3)  
       
     
     where, 
     VE=displacement of diesel engine  1 , 
     NC=number of cylinders of diesel engine  1 , and 
     VM=capacity of passage from collector  3 A to the intake valve. 
     FIG. 14 shows the routine for calculating the real EGR rate Megrd. This routine is performed at an interval of ten milliseconds. 
     The controller  41  first reads the target EGR rate Megr in a step S 91 . 
     In a following step S 92 , the time constant inverse value Kkin is read. The routine of FIG. 15, which calculates the time constant inverse value Kkin, is performed in synchronism with the REF signal, and this routine which calculates the real EGR rate Megrd is performed at an interval of ten milliseconds. Therefore, the time constant inverse value Kkin read here is the time constant inverse value Kkin calculated by the routine of FIG. 15 immediately before the execution of the routine of FIG.  14 . Likewise, the immediately preceding value Megrd n−1  of the real EGR rate read by the routine of FIG. 15 is the real EGR rate calculated by the routine of FIG. 14 just before the execution of the routine of FIG.  15 . 
     In a step S 93 , the real EGR rate Megrd is calculated from the following equation (4) using the target EGR rate Megr, immediately preceding value Megrd n−1 , and time constant inverse value Kkin. 
     
       
           Megrd=Megr·Kkin·Ne·Ke 2     #+Megrd   n−1 ·(1 −Kkin·Ne·KE 2 # )  (4)  
       
     
     where, 
     KE 2 #=constant. 
     In this equation, Ne·KE 2 # is a value to convert the EGR rate per intake stroke of each cylinder, to an EGR rate per unit time. 
     Next, referring to FIG. 7, a routine for calculating the cylinder intake fresh air amount Qac will be described. This routine is performed in synchronism with the REF signal. The cylinder intake fresh air amount Qac expresses the intake fresh air amount in the intake valve position of one cylinder of the diesel engine  1 . The cylinder intake fresh air amount Qac is calculated from the fresh air flowrate Qas 0  of the intake passage  3  detected by the air flow meter  39 , but as the air flow meter  39  is situated upstream of the compressor  55 , the cylinder intake fresh air amount Qac is calculated considering the time until the air which has passed through the air flow meter  39  is taken into the cylinder via the collector  3 A. 
     First, in a step S 31 , the controller  41  reads the engine rotation speed Ne and the fresh air flowrate Qas 0  of the intake passage  3 . 
     In a step S 32 , the intake fresh air flowrate Qas 0  is converted into an intake fresh air amount Qac 0  per cylinder by the following formula (5).              Qac0   =         Qas0   Ne     ·   KCON                   #             (   5   )                         
     where, KCON#=constant. 
     The constant KCON# is a constant for converting the intake fresh air flowrate Qas 0  of the intake passage  3  into the intake fresh air amount Qac 0  per cylinder. In a four-cylinder engine, two cylinders perform air intake in each rotation, so the constant KCON# is 30. In a six-cylinder engine, three cylinders perform air intake in each rotation, so the constant KCON# is 20. 
     A considerable time is required until the air which has passed through the air flow meter  39  is actually taken into the cylinder. In order to correct for this time difference, the controller  41  performs the processing of steps S 33 , S 34 . 
     In the step S 33 , considering the time required from the air flow meter  39  to the inlet of the collector  3 A, a value Qac 0   n−1  of Qac 0  which was EGR flow velocity feedback correction coefficient the routine executed L times ago, is set as an intake fresh air amount Qacn per cylinder at the inlet of the collector  3 A. The value of L is determined experimentally. 
     In the step S 34 , considering the time difference from the collector  3 A to the intake valve of each cylinder of the diesel engine  1 , the cylinder intake fresh air amount Qac is calculated by equation (6) of first order delay. 
     
       
           Qac=Qac   n−1 ·(1 −Kkin )+ Qacn·Kkin   (6)  
       
     
     where, 
     Kkin=time constant inverse value, and 
     Qac n−1 =Qac calculated on the immediately preceding occasion the routine was executed. 
     The signal input into the controller  41  from the air flow meter  39  is an analog voltage signal Us, and the controller  41  converts the analog voltage signal Us into the intake fresh air flowrate Qas 0  of the intake passage  3  by performing a routine shown in FIG,  8 . This routine is performed at an interval of four milliseconds. 
     In a step S 41 , the controller  41  reads the analog voltage signal Us, and in a step S 42 , converts this into a flowrate Qas 0 _d by looking up a map shown in FIG.  9 . This map is stored beforehand in the memory of the controller  41 . 
     Further, in a step S 43 , weighted average processing is performed on the flowrate Qas 0 _d, and the value obtained is taken as the intake fresh air flowrate Qas 0  of the intake passage  3 . 
     Next, referring to FIG. 21, a routine for calculating the real EGR amount Qec will be described. The real EGR amount Qec corresponds to an EGR amount per cylinder in the intake valve position. This routine is performed at an interval of ten milliseconds. 
     Firstly in a step S 121 , the controller  41  reads the intake fresh air amount Qacn per cylinder at the inlet of the collector  3 A, the target EGR rate Megr, and the time constant inverse value Kkin corresponding to the collector capacity. For the intake fresh air amount Qacn per cylinder at the inlet of the collector  3 A, a value calculated by the routine of FIG. 7 is used, and for the time constant inverse value Kkin, a value calculated by the routine of FIG. 15 is used. 
     In a next step S 122 , an EGR amount Qec 0  per cylinder at the inlet of the collector  3 A is calculated by the following equation (7). 
     
       
           Qec   0 = Qacn·Mger   (7)  
       
     
     In a next step S 123 , real EGR amount Qec is calculated by the following equation (8) and the routine is terminated. 
     
       
           Qec=Qec   0 · Kkin·Ne·KE#+Qec   n−1 ·(1 −Kkin·Ne·KE# )  (8)  
       
     
     where, 
     Qec n−1 =Qec calculated on the immediately preceding occasion the routine was performed. 
     The EGR amount Qec per cylinder in the intake valve position is equivalent to the real EGR amount per cylinder of the diesel engine  1 . In the following description, the EGR amount Qec per cylinder in the intake valve position is referred to as the real EGR amount for simplicity. 
     The real EGR amount Qec, target intake fresh air amount tQac, cylinder intake fresh air amount Qac and target EGR amount Tqek are all flowrates, but as they are usually referred to as amounts in common usage, this will also be done in the following description. 
     FIG. 17 shows a routine for calculating the target intake fresh air amount tQac. This routine is performed at an interval of ten milliseconds. The target intake fresh air amount tQac corresponds to the target fresh air amount at the collector  3 A. 
     Firstly in a step S 111 , the control unit  41  reads the engine rotation speed Ne, target fuel injection amount Qsol and real EGR rate Megrd. 
     In a step S 112 , the real EGR rate Megrd is compared with a predetermined value MEGRLV#. The predetermined value MEGRLV# is a value for determining whether or not exhaust gas recirculation is actually being performed, and is set to, for example, 0.5%. 
     In the step S 112 , when Megrd&gt;MEGRLV#, the routine proceeds to a step S 113 . On the other hand, if Megrd≦MEGRLV#, the routine proceeds to a step S 116 . In order to treat the case of a very small exhaust gas recirculation to be the same as the case where exhaust gas recirculation is not performed, the predetermined value MEGRLV# is not set to zero. 
     In the step S 113 , a target intake fresh air amount basic value tQacb is calculated from the engine rotation speed Ne and real EGR rate Megrd by looking up a map shown in FIG.  18 . When the engine rotation speed Ne is constant, this map gives a larger target intake fresh air amount basic value tQacb the larger the real EGR rate Megrd. This map is previously stored in the memory of the control unit  41 . 
     Next, in a step S 114 , a correction coefficient ktQac of the target intake fresh air amount is calculated from the engine rotation speed Ne and the target fuel injection amount Qsol by looking up a map shown in FIG.  19 . The correction coefficient ktQac is a coefficient for setting the target intake fresh air amount according to the running condition of the vehicle. 
     In a step S 115 , the target intake fresh air amount tQac is calculated by multiplying the target intake fresh air amount basic value tQacb by the correction coefficient ktQac. 
     On the other hand, in the step S 116 , the target intake fresh air amount tQac when exhaust gas recirculation is not performed, is calculated from the engine rotation speed Ne and the target fuel injection amount Qsol by looking up a map shown in FIG.  20 . 
     After calculating the target intake fresh air amount tQac in this way, the routine is terminated. 
     The control of the EGR amount of the EGR valve  6  as well as the control of the supercharging pressure of the turbocharger  50  by the controller  41  are performed based on these common parameters, the target fuel injection amount Qsol, the time constant inverse value Kkin, the target EGR rate Megr, the real EGR rate Megrd, the cylinder intake fresh air amount Qac, the real EGR amount Qec and the target intake fresh air amount tQac. 
     The control of the EGR amount is performed by controlling an opening area of the EGR valve  6  to be equal to a target opening area Aev. 
     Next, the routine for calculating the target opening area Aev of the EGR valve  6  for this control will be described referring to FIG.  37 . This routine is performed in synchronism with the REF signal. 
     First, the controller  41  reads a target EGR amount Tqec per cylinder in the position of the EGR valve  6 , an EGR amount feedback correction coefficient Kqac 00  and the EGR valve flow velocity Cqe in a step S 231 . 
     These values are calculated by separate routines. 
     The target EGR amount Tqec per cylinder in the position of the EGR valve  6  is calculated by the routine shown in FIG.  6 . The EGR amount feedback correction coefficient Kqac 00  is calculated by a separate routine shown in FIG. 22, and a subroutine shown in FIG.  26 . The EGR valve flow velocity Cqe is calculated by the routine shown in FIG.  35 . 
     These routines will first be described. 
     Referring to FIG. 6, firstly in a step S 21 , the controller  41  reads the intake fresh air amount Qacn at the inlet of a collector  3 A. The intake fresh air amount Qacn per cylinder at the inlet of the collector  3 A is a value calculated by the step S 33  of FIG.  7 . 
     Next, in a step S 22 , the target EGR rate Megr is read. The target EGR rate Megr is a value calculated by the routine of FIG.  10 . 
     Next, in a step S 23 , a required EGR amount Mqec is calculated by equation (9). 
       Mqec=Qacn·Megr   (9) 
     In a next step S 24 , delay processing is performed on the required EGR amount Mqec by the following equation (10) using a time constant inverse value Kkin calculated by the routine of FIG. 15, and this is converted to an intermediate value corresponding to the required EGR amount per cylinder in the intake valve position of the diesel engine  1 . 
     
       
           Rqec=Mqec·Kkin+Rqec   n−1 ·(1 −Kkin )  (10)  
       
     
     where, 
     Rqec n−1 =Rqec calculated on the immediately preceding occasion the routine was performed. 
     In a next step S 25 , advance processing is performed by the following equation (11) using the intermediate value Rqec and required EGR amount Mqec, to calculate a target EGR amount Tqec per cylinder in the position of the EGR valve  6 . 
     
       
           Tqec=GKQEC·Mqec −( GKQEG −1)· Rqec   n−1   (11)  
       
     
     FIG. 22 shows the routine for calculating tile EGR amount feedback correction coefficient Kqac 00 , an EGR flow velocity feedback correction coefficient Kqac 0 , and an EGR flow velocity learning correction coefficient Kqac. 
     This routine is performed in synchronism with the REF signal. 
     The EGR amount feedback correction coefficient Kqac 00  read in a step S 231  of FIG. 37 is calculated by this routine. 
     First, in a step S 131 , the controller  41  first reads the target intake fresh air amount tQac, cylinder intake fresh air amount Qac, engine rotation speed Ne and target fuel injection amount Qsol. 
     In a step S 132 , a delay processing value tQacd of the target intake fresh air amount tQac is calculated using the following equation (12), from the target intake fresh air amount tQac and the time constant inverse value Kkin calculated by the routine of FIG.  15 . The delay processing value tQacd corresponds to the target intake fresh air amount in the intake valve position of the diesel engine  1 . 
     
       
           tQacd=tQac·Kkin·KQA#+tQacd   n−1 ·(1 −Kkin·KQA# )  (12)  
       
     
     where, 
     KQA#=constant, and 
     tQacd n−1 =tQacd calculated on the immediately preceding occasion when the routine was executed. 
     In a following step S 133 , a feedback control permission flag fefb, a learning permission flag felrn and a learning value reflection permission flag felm 2  which are related to the control of the EGR valve opening are read. 
     These flags are set by the independent routines shown in FIG. 23, FIG.  24  and FIG. 25, respectively. 
     FIG. 23 shows the routine for setting the feedback control permission flag fefb. This routine is performed at an interval of ten milliseconds. 
     Referring to FIG. 23, firstly in a step S 271 , the controller  41  reads the engine rotation speed Ne, target fuel injection amount Qsol, real EGR rate Megrd and water temperature Tw. 
     In subsequent steps S 152 -S 155 , the EGR amount feedback control conditions are determined. 
     In the step S 152 , it is determined whether or not the real EGR rate Megrd exceeds a predetermined value MEGRFB#. The predetermined value MEGRFB# is a value for checking that exhaust gas recirculation is actually performed. In the step S 153 , it is determined whether or not the cooling water temperature Tw exceeds a predetermined value TwFBL#. The predetermined value TwFBL# is set to 30° C. In a step S 154 , it is determined whether or not the target fuel injection amount Qsol exceeds a predetermined value QSOLFBL#. 
     The predetermined value QSOLFBL# is a value for checking that the diesel engine  1  is not in a fuel cut state. In a step S 155 , it is determined whether or not the engine rotation speed Ne exceeds a predetermined value NeFBL#. The predetermined value NeFBL# is a value for checking that the vehicle is not in a low-speed region where the diesel engine  1  stops rotation. 
     When all of the conditions of step S 152 -S 155  are satisfied, the routine proceeds to a step S 156  and increments a timer value Ctrfb. 
     In a following step S 158 , it is determined whether or not the timer value Ctrfb is greater than a predetermined value TMRFB#. The predetermined value TMRFB# is set to, for example, a value less than one second. When the result of this determination is affirmative, the routine sets the feedback control permission flag fefb to one in a step S 159 , and the routine is terminated. 
     On the other hand, if any of the conditions of the steps S 152 -S 155  is not satisfied, in a step S 157 , the routine resets the timer value Ctrfb to zero, and proceeds to a following step S 160 . 
     When the determination of the step S 158  is negative, the routine also proceeds to the step S 160 . 
     In the step S 160 , the feedback control permission flag fefb is reset to zero and the routine is terminated. 
     According to this routine, the feedback control permission flag fefb is set to one only when the state where all of the conditions of the steps S 152 -S 155  were satisfied, continues for a time exceeding the predetermined value TMRFB#, and in other cases, the feedback control permission flag fefb is reset to zero. 
     FIG. 24 shows a routine for setting the learning value reflection permission flag felrn 2 . This routine is also performed at an interval of ten milliseconds. 
     Referring to FIG. 24, firstly in a step S 161 , the controller  41  reads the engine rotation speed Ne, target fuel injection amount Qsol, real EGR rate Megrd and cooling water temperature Tw. 
     In subsequent steps S 162 -S 165 , EGR amount learning value reflection conditions are determined. 
     In the step S 162 , it is determined whether or not the real EGR rate Megrd exceeds a predetermined value MEGRLN2#. The predetermined value MEGRLN2# is a value for checking that exhaust gas recirculation is actually performed. In the step S 163 , it is determined whether or not the cooling water temperature Tw exceeds a predetermined value TwLNL2#. The predetermined value TwLNL2#is set to 20° C. In the step S 164 , it is determined whether or not the target fuel injection amount Qsol exceeds a predetermined value QSOLLNL2#. The predetermined value QSOLLNL2# is a value for checking that the diesel engine  1  is not in a fuel cut state. In the step S 165 , it is determined whether or not the engine rotation speed Ne exceeds a predetermined value NeLNL2#. The predetermined value NeLNL2# is a value for checking that the vehicle is not in a low-speed region where the diesel engine  1  stops rotation. 
     Only when all of the conditions of step S 162 -S 165  are satisfied, the routine proceeds to a step S 166  and increments a timer value Ctrln2. 
     In the following step S 168  it is determined whether or not the timer value Ctrln2 exceeds a predetermined value TMRLN2#. The predetermined value TMRLN2# is set to 0.5 seconds. When the result of this determination is affirmative, the routine sets the learning value reflection permission flag felrn 2  to one in a step S 169 , and the routine is terminated. 
     On the other hand, when any of the conditions of the steps S 162 -S 165  is not satisfied, in a step S 167 , the routine resets the timer value Ctrln2 to zero, and proceeds to a following step S 170 . When the determination of the step S 168  is negative, the routine also proceeds to the step S 170 . 
     In the step S 170 , the learning value reflection permission flag felrn 2  is reset to zero and the routine is terminated. 
     FIG. 25 shows the routine for setting the learning permission flag felrn. This routine is also performed at an interval of ten milliseconds. 
     Referring to FIG. 25, firstly in a step S 171 , the controller  41  reads the engine rotation speed Ne, target fuel injection amount Qsol, real EGR rate Megrd, and water temperature Tw. 
     In subsequent steps S 172 -S 177 , the EGR amount learning permission conditions are determined. 
     In the step S 172 , it is determined whether or not the real EGR rate Megrd exceeds a predetermined value MEGRLN#. The predetermined value MEGRLN# is a value for checking that exhaust gas recirculation is actually performed. In the step S 173 , it is determined whether or not the cooling water temperature Tw exceeds a predetermined value TwLNL#. The predetermined value TwLNL# is set to 70-80° C. In the step S 174 , it is determined whether or not the target fuel injection amount Qsol exceeds a predetermined value QSOLLNL#. The predetermined value QSOLLNL# is a value for checking that the diesel engine  1  is not in a fuel cut state. In the step S 175 , it is determined whether or not the engine rotation speed Ne exceeds a predetermined value NeLNL#. The predetermined value NeLNL# is a value for checking that the vehicle is not in a low-speed region where the diesel engine  1  stops rotation. In the step S 176 , it is determined whether or not the feedback control permission flag fefb is one. In the step S 177 , it is determined whether or not the learning value reflection permission flag felrn 2  is one. 
     Only when all of the conditions of the steps S 172 -S 177  are satisfied, the routine proceeds to a step S 178  and increments a timer value Ctrln. 
     In a following step S 180 , it is determined whether or not the timer value Ctrln exceeds a predetermined value TMRLN#. The predetermined value TMRLN# is set to four seconds. When the result of this determination is affirmative, the routine sets the learning permission flag felrn to one in a step S 181 , and the routine is terminated. On the other hand, if any of the conditions of the steps S 172 -S 177  are not satisfied, in a step S 179 , the routine resets the timer value Ctrln to zero, and proceeds to a following step S 182 . The routine also proceeds to the step S 182  when the determination of the step S 180  is negative. In the step S 182 , the learning permission flag felrn is reset to zero, and the routine is terminated. 
     Referring again to FIG. 22, after reading this feedback control permission flag fefb, learning value reflection permission flag felrn 2  and learning permission flag felrn, in a step S 134 , the controller  41  determines whether or not the feedback control permission flag fefb is one. 
     When the feedback control permission flag fefb is one, after calculating the feedback correction coefficient Kqac 00  of the EGR amount in a step S 135 , and the feedback correction coefficient Kqac 0  of the EGR valve flow velocity Cqe in a step S 136 , the controller  41  proceeds to a step S 139 . 
     On the other hand, when the feedback control permission flag fefb is not one in the step S 134 , the controller  41  sets the feedback correction coefficient Kqac 00  of the EGR amount to one in a step S 137 , sets the feedback correction coefficient Kqac 0  to one in a following step S 138 , and then proceeds to the step S 139 . 
     Now, the calculation of the feedback correction coefficient Kqac 00  of the EGR amount performed in the step S 135  and the calculation of the feedback correction coefficient Kqac 0  of the EGR velocity performed in the step S 136 , will be described. 
     The calculation of the feedback correction coefficient Kqac 00  of the EGR amount is performed by a subroutine of FIG.  26 . 
     Referring to FIG. 26, in a step S 191 , the controller  41  first reads the delay processing value tQacd of the target intake fresh air amount, cylinder intake fresh air amount Qac, engine rotation speed Ne, target fuel injection amount Qsol and the cooling water temperature Tw. The delay processing value tQacd is a value calculated in the step S 132  of FIG.  22 . 
     In a step S 192 , a correction gain Gkfb of the EGR flowrate is calculated by looking up a map shown in FIG. 27 previously stored in the memory of the controller  41 , based on the engine rotation speed Ne and the target fuel injection amount Qsol. In a following step S 193 , a water temperature correction coefficient Kgfbtw of the correction gain is calculated by looking up a map shown in FIG. 28 previously stored in the memory of the controller  41 , based on the cooling water temperature Tw. 
     In a final step S 194 , the feedback correction coefficient Kqac 00  of the EGR amount is calculated by the following equation (13), using the correction gain Gkfb and the water temperature correction coefficient Kgfbtw. 
     
       
           Kqac   00 =( tQacd/Qac −1) ·Gkfb·Kgfbtw +1  (13)  
       
     
     (tQacd/Qac−1), the first term on the right hand side of equation (13), is an error ratio of the target intake fresh air amount delay processing value tQacd relative to the cylinder intake fresh air amount Qac. Therefore, the feedback correction coefficient Kqac 00  of the EGR amount is a value centered on one. 
     The calculation of the feedback correction coefficient Kqac 0  of the EGR valve flow velocity is performed by a subroutine shown in FIG.  29 . 
     Referring to FIG. 29, in a step S 201 , the controller  41  first reads the delay processing value tQacd, cylinder intake fresh air amount Qac, engine rotation speed Ne, target fuel injection amount Qsol and the cooling water temperature Tw. 
     In a step S 202 , a correction gain Gkfbi of the EGR valve flow velocity is calculated by looking up a map shown in FIG. 30 previously stored in the memory of the controller  41 , based on the engine rotation speed Ne and the fuel injection amount Qsol. 
     In a step S 203 , a water temperature correction coefficient Kgfbitw of the correction gain is calculated by looking up a map shown in FIG. 31 previously stored in the memory of the controller  41 , based on the cooling water temperature Tw. In a following step S 204 , an error ratio Rqac 0  is calculated by the following equation (14), using the correction gain Gkfbi and the water temperature correction coefficient Kgfbitw. 
     
       
           Rqac   0 =( tQacd/Qac −1) ·Gkfbi·Kgfbitw+Rqac   0   n−1   (14)  
       
     
     where, 
     Rqac 0   n−1 =Rqac 0  calculated on the immediately preceding occasion the subroutine was executed. 
     In a following step S 205 , by adding one to the error ratio Rqac 0 , the EGR flow velocity feedback correction coefficient Kqac 0  is calculated. Therefore, the feedback correction coefficient Kqac 0  of the EGR valve flow velocity is a value proportional to the integral of the error ratio. 
     Now, referring again to FIG. 22, after setting the feedback correction coefficient Kqac 00  of the EGR amount and the feedback correction coefficient Kqac 0  of the EGR valve flow velocity, in the step S 139 , the controller  41  determines whether or not the learning value reflection permission flag felrn 2  is one. 
     When the learning value reflection permission flag felrn 2  is one, i.e., when reflection in EGR amount control of the learning value is permitted, in a step S 140 , the controller  41  reads the error ratio learning value Rqac, by looking up a map shown in FIG. 32 previously stored in the memory of the controller  41 , based on the engine rotation speed Ne and the target fuel injection amount Qsol. In a next step S 141 , the EGR flow velocity learning correction coefficient Kqac is calculated by adding one to the error ratio learning value Rqac n . 
     When the learning value reflection permission flag felrn2 is not one in the step S 139 , the controller  41  sets the EGR flow velocity learning correction coefficient Kqac to one in a step S 142 . 
     After the processing of the step S 141  or step S 142 , in a step S 143 , the controller  41  determines whether or not the learning permission flag felrn is one. 
     When the learning permission flag felrn is one, in a step S 144 , the controller  41  subtracts one from the EGR flow velocity feedback correction coefficient Kqac 0  to calculate the current value Rqacp of the error ratio. In a following step S 146 , the learning value is updated using the subroutine of FIG. 33, and the routine is terminated. 
     When the learning permission flag felrn is not one, in a step S 145 , the controller  41  resets the current value Rqacp of the error ratio to zero, and terminates the routine of FIG.  22 . 
     Next, the updating of the learning value performed in the step S 146  will be described. 
     Referring to FIG. 33, in a step S 211 , the controller  41  first reads the engine rotation speed Ne, target fuel injection amount Qsol and error ratio Rqacp calculated in the step S 144  of FIG.  22 . 
     In a step S 212 , a learning rate Tclrn is calculated by looking up a map shown in FIG. 34 previously stored in the memory of the controller  41 , based on the engine rotation speed Ne and target fuel injection amount Qsol. 
     In a step S 213 , the error ratio learning value Rqac n  is calculated by looking up the aforesaid map of FIG. 32, based on the engine rotation speed Ne and target fuel injection amount Qsol. 
     In a following step S 214 , weighted average processing by the following formula (15) is added to the error ratio Rqacp read in the step S 211 , and updating of the error ratio learning value is performed. 
     
       
           Rqac   n (new= Rqacp·Tclrn+Rqac   n (old)·(1 −Tclrn )  (15)  
       
     
     where, 
     Rqac n (new)=error ratio learning value Rqac n  to be written on the map, 
     Rqacp=error ratio read in the step S 211 , and 
     Rqac n (old)=error ratio learning value Rqac n  read from the map in the step S 213 . 
     In a next step S 215 , the stored value of the map of FIG. 32 is overwritten using the error ratio learning value Rqac n (new) calculated in this way. 
     By terminating the subroutine of FIG. 33, the controller  41  terminates the processing of the routine of FIG.  22 . 
     Next, referring to FIG. 35, a routine for calculating the EGR valve flow velocity Cqe will be described. 
     First, in a step S 221 , the controller  41  reads the real EGR amount Qec, real EGR rate Megrd and cylinder intake fresh air amount Qac. 
     In a next step S 222 , the controller  41  reads the feedback correction coefficient Kqac 0  of the EGR valve flow velocity and EGR flow velocity learning correction coefficient Kqac. 
     In a next step S 223 , a corrected real EGR amount Qec_h is calculated by the following equation (16) 
     
       
           Qec   —   h=Qec·Kqac·Kqac   0   (16)  
       
     
     In steps S 224 -S 227 , an initial value of the corrected real EGR amount Qec_h when EGR operation begins, is set. In the step S 224 , it is determined whether or not the corrected real EGR amount Qec_h is zero. When Qec_h is zero, i.e. when EGR is not operating, the corrected real EGR amount Qec_h is set by the following equation (17) in a step S 225 , and the routine proceeds to a step S 226 . When the corrected real EGR amount is not zero in the step S 224 , the routine bypasses the step S 225  and proceeds to the step S 226 . 
     
       
           Qec   —   h=Qac·MEGRL#   (17)  
       
     
     where, 
     MEGRL#=constant. 
     In the step S 226 , it is determined whether or not the real EGR rate Megrd is zero. When the real EGR rate Megrd is zero, the real EGR rate Megrd is set equal to the constant MEGRL# in the step S 227 , and the routine proceeds to a step S 228 . When the real EGR rate Megrd is not zero, the routine bypasses the step S 227  and proceeds to the step S 228 . 
     When the EGR valve  6  is fully closed, the EGR valve flow velocity of the EGR valve  6  is zero, and equations (16) and (17) are equations for setting the initial value of parameters used for flow velocity calculations when EGR operation starts, i.e., when the EGR valve  6  begins to open. The constant MEGRL# may be set to, for example, 0.5. 
     The differential pressure upstream and downstream of the EGR valve  6  when EGR operation starts is different according to the running conditions of the diesel engine  1 , and as a result, the EGR valve flow velocity when EGR operation starts also differs. The differential pressure upstream and downstream of the EGR valve  6  when the EGR valve  6  begins to open, depends on the cylinder intake fresh air amount Qac. Thus, the calculation precision of the EGR valve flow velocity when EGR operation starts, can be improved by making the initial value of Qec_h directly proportional to the cylinder intake fresh air amount Qac by equation (17). 
     Now, in the step S 228 , the controller  41  calculates the EGR valve flow velocity Cqe by looking up a map shown in FIG. 36 which is previously stored in the memory of the controller  41 , based on the corrected real EGR amount Qec_h and real EGR rate Megrd, and the routine is terminated. 
     In the step S 231  of FIG. 37, the target EGR amount Tqec per cylinder in the position of the EGR valve  6 , the EGR amount feedback correction coefficient Kqac 00  and the EGR valve flow velocity Cqe which were calculated by the above separate routines, are read. 
     In a next step S 232 , the target EGR amount Tqec per cylinder in the position of the EGR valve  6  is converted into a target EGR amount Tqek per unit time by the following equation (18).              Tqek   =     Tqec   ·       (     Ne     KCON                 #       )     Kqac00               (   18   )                         
     where, 
     Kqac 00 =EGR amount feedback correction coefficient. 
     In a step S 233 , the target opening area Aev of the EGR valve  6  is calculated by the following equation (19), and the routine is terminated.              Aev   =     Tqek   Cqe             (   19   )                         
     The target opening area Aev of the EGR valve  6  thus obtained is changed into a lift amount of the EGR valve  6  by searching a map having the contents shown in FIG. 5 which is prestored in the controller  41 . 
     The controller  41  outputs a duty control signal to the pressure control valve  56  so that the lift amount of the EGR valve  6  coincides with this value. 
     On the other hand, control of the supercharging pressure of the turbocharger  50  is performed by varying the opening rate of the variable nozzle  53  by outputting a signal representing a duty value Dtyvnt to the pressure control valve  56 . 
     The routine for calculating the duty value Dtyvnt used for his control will now be described referring to FIG.  38 . This routine is performed every ten milliseconds. This routine comprises various subroutines. 
     First, in a step S 241 , the controller  41  performs an overboost determining flag setting subroutine shown in FIG.  39 . 
     Referring to FIG. 39, in a step S 251 , the controller  41  first reads an engine rotation speed Ne, target fuel injection amount Qsol, cylinder intake fresh air amount Qac, these values Ne n−k , Qsol n−k  and Qac n−k  when the subroutine was performed on k preceding occasions, and the real EGR rate Megrd. 
     In a step S 252 , a cylinder intake gas amount Qcyl (mg) per one stroke cycle of the diesel engine  1  is calculated by the following equation (20) using the cylinder intake fresh air amount Qac and real EGR rate Megrd.              Qcyl   =     Qac   ·     (     1   +     Megrd   100       )               (   20   )                         
     The second term        Qac   ·     Megrd   100                     
     on the right-hand side of equation (20) is the real EGR amount, and the value obtained by adding this real EGR amount to the cylinder intake fresh air amount Qac is the gas amount aspirated per stroke cycle by one cylinder of the diesel engine. 
     The real EGR amount Qec calculated by the routine of FIG. 21 may be used as the real EGR amount. In this case, Qcyl=Qac+Qec. 
     In a step S 253 , the real exhaust gas amount Qexh per stroke cycle (mg) is calculated by the following equation (21).              Qexh   =       (     Qac   +       Qsol   ·   GKQFVNT                   #       )     ·     Ne     KCON                 #                 (   21   )                         
     where, 
     GKQFVNT#=scale factor (mg/mm 3 ), and 
     KCON#=constant. 
     Here, the difference in the temperature of intake air and exhaust gas is disregarded, and the sum total of the exhaust gas due to combustion of the fuel of the target fuel injection amount Qsol and the cylinder intake fresh air amount Qac is considered to be the exhaust gas amount. 
     The unit of the target fuel injection amount Qsol is (mm 3 ), and this is converted into mass by multiplying by the conversion factor GKQFVNT#. Further, the mass per stroke cycle (mg) is converted into a mass per second (g) by multiplying by          Ne     KCON                 #       .                   
     In a step S 254 , the difference of engine rotation speed Ne, target fuel injection amount Qsol, cylinder intake fresh air amount Qac and the values Ne n−k , Qsol n−k  and Qac n−k  when the subroutine was performed k occasions ago, is calculated as an engine rotation speed variation DNE, fuel injection amount variation amount DQSOL and cylinder intake fresh air amount variation DQAC, respectively. 
     In steps  255 -S 257 , based on these values, it is determined whether or not overboost will occur. 
     In the step S 255 , it is determined whether or not the engine rotation speed Ne is larger than a predetermined value KNEOB#, and the engine rotation speed variation DNE is larger than a predetermined value KDNEOB#. 
     In the step S 256 , it is determined whether or not the target fuel injection amount Qsol is larger than a predetermined value KQFOB#, and whether a fuel injection variation amount DQSOL is larger than a predetermined value KDQFOB#. 
     In the step S 257 , it is determined whether the cylinder intake fresh air amount DQAC is larger than a predetermined value KDQACOB#. 
     If any of the conditions of the steps  255 -S 257  are satisfied, it is considered that overboost occurs. In this case, the subroutine proceeds to a step S 261 . 
     On the other hand, when all the determination results of the steps S 255 -S 257  are negative, the subroutine proceeds to a step S 258 . 
     Here, the controller  41  calculates a corresponding overboost determining intake gas amount TQcyl referring to a map having the contents shown in FIG. 41 which is prestored in the controller  41 , based on a real exhaust gas amount Qexh calculated in the step S 253 . 
     In FIG. 41, the overboost determining intake gas amount TQcyl has a substantially convex-shaped pattern relative to the real exhaust gas amount Qexh. 
     This characteristic will be described referring to FIG.  42 . 
     This diagram shows the relation of the real exhaust gas amount Qexh, pressure ratio Pm/Pa and effectiveness η of the turbocharger taking the pressure of the intake manifold  3 B as Pm, and atmospheric pressure as Pa. 
     The effectiveness η is equivalent to a fresh air amount, and the higher the effectiveness η, the more the fresh air amount aspirated by the diesel engine  1  from the intake passage  3  increases. 
     When the real exhaust gas amount Qexh increases as shown in this figure, the effectiveness increases up to a certain region under the same pressure ratio Pm/Pa, but if the real exhaust gas amount Qexh increases beyond this region, the effectiveness η will fall. 
     In FIG. 41, the overboost determining intake gas amount TQcyl changes to a convex type for reflecting the above-mentioned characteristics of the effectiveness η. Also, in the map of FIG. 41, for the same real exhaust gas amount Qexh, the overboost determining intake gas amount TQcyl takes a smaller value the lower the atmospheric pressure. 
     Now, In the step S 259 , it is determined whether or not the cylinder intake gas amount Qcyl (mg) per stroke cycle of the diesel engine  1  calculated in the step S 252  is higher than the overboost determining intake gas amount TQcyl. When this condition is satisfied, the subroutine proceeds to a step S 261 . 
     In the step S 261 , the overboost determining flag FOVBT is set to one, an overboost timer TMROB is reset to zero in the following step S 262 , and the subroutine is terminated. 
     On the other hand, in the step S 259 , when the cylinder intake gas amount Qcyl (mg) per stroke cycle of the diesel engine  1  is less than the overboost determining intake gas amount Tqcyl, the subroutine resets the overboost determining flag FOVBT to zero in a step S 260 , and the routine is terminated. Here, FOVBT=1 shows that control of overboost is required, and FOVBT=0 shows that there is no possibility of overboost. 
     The overboost determining flag FOVBT is used for suppression in a subroutine for setting the target opening rate Rvnt of the variable nozzle  53  of the turbocharger  50  described later. 
     The overboost timer TMROB shows the elapsed time after the overboost determining flag FOVBT changes to one from zero. 
     The change of the accelerator opening Cl and the overboost determining flag FOVBT will now be described, referring to FIGS. 40A-40E. 
     When the accelerator pedal is sharply depressed as shown in FIG. 40A, firstly, the target fuel injection amount Qsol changes as shown in FIG. 40B, the engine rotation speed Ne changes as shown in FIG. 40C, and the cylinder intake fresh air amount Qac changes as shown in FIG.  40 D. 
     According to the subroutine of FIG. 39, whenever the target fuel injection amount Qsol, engine rotation speed Ne or cylinder intake fresh air amount Qac vary largely, the overboost determining flag FOVBT is set to one. 
     If determination of overboost is performed depending only on the cylinder intake fresh air amount Qac, the suppression operation may be too late for generation of the overboost, hence according to this invention, the delay in the determination is prevented by adding the target fuel injection amount Qsol and engine rotation speed Ne, which have an earlier reaction, to the basis for determination of overboost. 
     In FIGS. 40A-40E, a smoke limit is introduced in the target fuel injection amount Qsol. 
     That is, as the change in the cylinder intake fresh air amount Qac is late for the change of accelerator opening, if the target fuel injection amount Qsol is made to increase rapidly according to the change of accelerator opening, smoke will be produced. 
     Hence, a restriction is applied to the amount of increase of the target fuel injection amount Qsol. This restriction is the smoke limit, and the increase in the target fuel injection amount Qsol is separated into two phases in FIG. 40B due to the smoke limit. 
     Now, referring again to FIG. 38, the controller  41  sets a suppression release flag FCLROB by a subroutine shown in FIG. 43 in a step S 242 . 
     The suppression release flag FCLROB is introduced due to the following reasons. 
     Overboost suppression is performed over a predetermined time. 
     After the predetermined time passes, when the variable nozzle  53  is immediately driven in the closing direction and the supercharging pressure is increased, it may give rise to overboost. 
     Hence, the suppression release flag FCLROB is introduced, and as shown in FIGS. 44A and 44B, when the overboost determining flag FOVBST changes from one through zero, the suppression release flag FCLROB is changed over from zero to one. 
     The opening of the variable nozzle  53  is slowly returned to the opening before the suppression of overboost took place in the period when the suppression release flag FCLROB is one. 
     The above control will be described referring to FIG.  43 . 
     In a step S 271 , the controller  41  determines whether or not the overboost timer TMROB is below a predetermined suppression period TTMROB, or whether or not the overboost determining flag FOVBST is one 
     When either of the above conditions is satisfied, it is considered that overboost suppression control is underway. 
     In this case, in a step S 274 , the subroutine continues the state wherein the overboost determining flag FOVBST=1, and the subroutine is terminated. 
     When neither of the conditions of step S 271  is satisfied, it is considered that overboost suppression control is not being performed. In this case, the subroutine proceeds to a step S 272 . 
     In the step S 272 , the overboost determining flag FOVBST is reset to zero, and an overboost clear timer TMRCLROB is reset to zero in a following step S 273 . 
     The overboost clear timer TMRCLROB shows the elapsed time after the overboost determining flag FOVBST changes to zero from one. 
     In a following step S 275 , it is determined whether or not the overboost clear timer TMRCLROB is less than a predetermined suppression release period TTMRCLROB. 
     When the determination result of the step S 275  is affirmative, the subroutine proceeds to a step S 277 , and when it is negative, the subroutine proceeds to a step S 276 . 
     In the step S 277 , the suppression release flag FCLROB is set to one, and the subroutine is terminated. 
     In the step S 276 , the suppression release flag FCLROB is reset to zero, and the subroutine is terminated. 
     When the suppression release flag FCLROB is reset to zero, overboost suppression control is terminated and normal operation of the diesel engine  1  is performed thereafter. 
     On the other hand, immediately after resetting the overboost determining flag FOVBST to zero in the step S 272 , the determination result of the step S 275  must be affirmative, and the suppression release flag FCLROB changes from zero to one due to operation in the step S 277  at this time. 
     The suppression period TTMROB used in the step S 271  is calculated by the separate routine shown in FIG.  45 . Also, the suppression release period TTMRCLROB used in step S 275  is calculated by the separate routine shown in FIG.  48 . Each of these separate routines is performed every ten milliseconds. 
     First, referring to FIG. 45, the controller  41  calculates a suppression period basic value TTMROB 0  by looking up a map shown in FIG. 46 from the engine rotation speed variation DNE and fuel injection variation amount DQSOL in a step S 281 . 
     In a following step S 282 , a correction coefficient KTMROB of the suppression period is calculated referring to a prestored map in the controller  41  whereof the contents are shown in FIG.  47 . 
     The correction coefficient KTMROB of suppression period is set based on the difference of the cylinder intake fresh air amount variation DQAC, cylinder intake gas amount Qcyl, and overboost determining intake gas amount TQcyl. 
     In a step S 283 , the suppression period TTMROB is calculated by multiplying the suppression period basic value TTMROB 0  by the correction coefficient KTMROB. 
     The engine rotation speed variation DNE, the fuel injection variation amount DQSOL and the cylinder intake fresh air amount variation DQA are calculated by the same method as that of the step S 254  of FIG.  39 . 
     The cylinder intake gas amount Qcyl is calculated by the same method as that of the step S 252  of FIG.  39 . 
     The overboost determining intake gas amount TQcyl is calculated by the same method as that of the step S 258  of FIG.  39 . 
     In FIG. 46, the reason why the suppression period basic value TTMROB 0  is increased the larger the engine rotation speed variation DNE or the cylinder intake fresh air amount variation DQAC, is because overboost occurs more easily the larger the variation of the engine rotation speed Ne or the target fuel injection amount Qsol which represent the engine load. 
     In FIG. 47, the reason why the correction coefficient KTMROB is increased the larger the cylinder intake fresh air amount variation DQAC or the difference between the cylinder intake gas amount Qcyl and the overboost determining intake gas amount Tqcyl, is because overboost occurs more easily the larger the cylinder intake fresh air amount variation DQAC or the difference between the cylinder intake gas amount Qcyl and the overboost determining intake gas amount TQcyl. 
     Next, referring to FIG. 48, the suppression release period basic value TTMRCLR is calculated in a step S 291  from the atmospheric pressure Pa detected by the atmospheric pressure sensor  38  and a prestored map in the controller  41  whereof the contents are shown in FIG.  49 . 
     In FIG. 49, the reason why the suppression release period basic value TTMRCLROB 0  is increased the lower the atmospheric pressure Pa, is as follows. 
     The exhaust gas amount of the diesel engine  1  is larger, the larger the difference of the exhaust pressure and atmospheric pressure. 
     If the exhaust pressure is fixed, the exhaust gas amount is larger the lower the atmospheric pressure Pa. The work which the turbocharger  50  performs also becomes large, and it becomes easy to produce an overboost. 
     Hence, the suppression release period basic value TTMRCLROB 0  is increased the lower the atmospheric pressure Pa. A typical condition under which the atmospheric pressure Pa is low, is running on high ground. 
     In a following step S 292 , the suppression release period correction coefficient KTMRCLROB is calculated from the real exhaust gas amount Qexh, referring to a prestored map in the controller  41  whereof the contents are shown in FIG.  50 . 
     In FIG. 50, when the real exhaust gas amount Qexh increases beyond a certain level, the correction coefficient KTMRCLROB increases because it becomes easy to generate an overboost from this level. 
     In a following step S 293 , the suppression release period TTMRCLROB is calculated by multiplying the suppression release period basic value TTMRCLROB 0  by the suppression release period correction coefficient KTMRCLROB. 
     Referring again to FIG. 38, after setting the suppression release flag FCLROB in the step S 242 , the controller  41  determines the target opening rate Rvnt of the variable nozzle  53  using a subroutine shown in FIG. 51 in the step S 243 . 
     The opening rate of the variable nozzle  53  is a numerical value which expresses, as a percentage, the ratio of the opening cross-sectional area to the opening cross-sectional area when the variable nozzle  53  is fully open. 
     In the fully open state, the opening rate is 100%, and in the closed state, the proportion is 0%. Although the opening rate is used as a general value to represent the opening of the variable nozzle  53  regardless of the relation with the capacity of the turbocharger  50 , it is of course also possible to replace the opening rate by the opening area. 
     The turbocharger  50  used with this device is so constructed that the supercharging pressure is higher the smaller the opening rate of the variable nozzle  53 . When the variable nozzle  53  is fully open, the supercharging pressure is a minimum, and when the variable nozzle  53  is fully closed, the supercharging pressure is a maximum, for a given exhaust gas amount. 
     Now, referring to FIG. 51, firstly in a step S 301 , the controller reads the target intake fresh air amount tQac, real EGR amount Qec, engine rotation speed Ne, target fuel injection amount Qsol and target EGR rate Megr. 
     In a following step S 302 , an intake fresh air amount equivalent value tQas 0  for calculating the target opening rate Rvnt of the variable nozzle  53  is calculated by the following equation (22).              tQas0   =       (     tQac   +       Qsol   ·   QFGAN                   #       )     ·     Ne     KCON                 #                 (   22   )                         
     where, 
     QFGAN#=gain, and 
     KCON#=constant. 
     In a following step S 303 , an EGR amount equivalent value Qes 0  for calculating the target opening rate Rvnt of the variable nozzle  53  is calculated by the following equation (23).              Qes0   =       (     Qec   +       Qsol   ·   QFGAN                   #       )     ·     Ne     KCON                 #                 (   23   )                         
     In equations (22) and (23), Ne/KCON# is a multiplier for changing the fresh air amount or the EGR amount per cylinder into a value per unit time. 
     Also, in equations (22) and (23), Qsol×QFGAN# is added to the target intake fresh air amount tQac or the real EGR amount Qec for changing the target opening rate Rvnt according to the load of the diesel engine  1 . 
     Herein, the target fuel injection amount Qsol is considered to represent the engine load, and the effect of the engine load is adjusted by the gain QFGAN#. 
     In the following description, tQas 0  calculated in this way is referred to as a set intake fresh air amount equivalent value, and Qes 0  is referred to as a set EGR amount equivalent value. 
     In a following step S 304 , it is determined whether or not the target EGR rate Megr is greater than a predetermined value KEMRAV#. 
     The predetermined value KEMRAV# is a value for determining from the target EGR rate Megr whether or not exhaust gas recirculation is actually performed. 
     When the target EGR rate Megr is larger than the predetermined value KEMRAV#, it is determined whether or not the overboost determining flag FOVBST is one in a step S 305 . 
     When the target EGR rate Megr is less than the predetermined value KEMRAV#, it is determined whether or not the overboost determining flag FOVBST is one in a step S 306 . 
     When the target EGR rate Megr is larger than the predetermined value KEMRAV# and the overboost determining flag FOVBST is one, it indicates that exhaust gas recirculation is performed and overboost suppression is required. 
     In this case, the subroutine proceeds to a step S 307 . 
     In the step S 307 , based on the set intake fresh air amount equivalent value tQas 0  and the set EGR amount equivalent value Qes 0 , the target opening rate basic value Rvnt 0  of the variable nozzle  53  is calculated by looking up a map prestored in the controller  41  whereof the contents are shown in FIG.  52 . 
     When the target EGR rate Megr is larger than the predetermined value KEMRAV# and the overboost determining flag FOVBST is not one, it indicates that exhaust gas recirculation is performed but overboost suppression is not required. In this case, the subroutine proceeds to a step S 308 . 
     In the step S 308 , based on the set intake fresh air amount equivalent value tQas 0  and the set EGR amount equivalent value Qes 0 , the target opening rate basic value Rvnt 0  of the variable nozzle  53  is calculated by looking up a map prestored in the controller  41  whereof the contents are shown in FIG.  53 . 
     In the maps of FIGS. 52 and 53, the target opening rate basic value Rvnt 0  is set to decrease as the set EGR amount equivalent value Qes 0  increases, due to the following reason. 
     If the EGR amount increases, the fresh air amount will become less relatively. The air-fuel ratio inclines to the rich side due to reduction in the fresh air amount, and the diesel engine  1  easily generates smoke. To prevent smoke, it is necessary to increase the supercharging pressure of the turbocharger  50  and to ensure the fresh air amount. Thus, the target opening rate basic value Rvnt 0  is decreased as the EGR amount increases. 
     The characteristics of the maps of FIGS. 52 and 53 differ depending on whether fuel cost-performance, exhaust composition or acceleration performance is stressed. These characteristics will be described referring to FIGS. 59A-59C. 
     The diagrams of FIGS. 59A-59C, show how fuel consumption, nitrogen oxides (NOx), particulates (PM) and intake fresh air amount vary relative to the opening area of the variable nozzle  53  in the case where the EGR rate is large and the case where it is small, when the engine rotation speed and engine torque are kept constant. The intake fresh air amount corresponds to the fuel injection amount, and the fuel injection amount represents the acceleration performance of the vehicle. 
     From these diagrams, it is seen that the opening area for minimizing fuel consumption, the opening area for optimizing exhaust composition and the opening area for maximizing acceleration performance, are different. 
     If fuel consumption is stressed, for example, the opening area of the variable nozzle  53  which minimizes fuel consumption is calculated for various engine speeds and engine torques, and the maps of FIGS. 52,  53  are generated based on this data. 
     When the target EGR rate Megr is smaller than the determined value KEMRAV# in the step S 304  and the overboost determining flag FOVBST is one in the step S 306 , it indicates that exhaust gas recirculation is effectively not performed but overboost suppression is required. In this case, the subroutine proceeds to a step S 310 . In the step S 310 , based on the set intake fresh air amount equivalent value tQas 0  and the target fuel injection amount Qsol, the target opening rate basic value Rvnt 0  of the variable nozzle  53  is calculated referring to a map prestored in the controller  41  whereof the contents are shown in FIG.  54 . 
     When the target EGR rate Megr is smaller than the predetermined value KEMRAV# in the step S 304  and the overboost determining flag FOVBST is not one in the step S 306 , it indicates that exhaust gas recirculation is effectively not performed and overboost suppression is unnecessary. In this case, the subroutine proceeds to a step S 309 . 
     In the step S 309 , based on the set intake fresh air amount equivalent value tQas 0  and the target fuel injection amount Qsol, the target opening rate basic value Rvnt 0  of the variable nozzle  53  is calculated referring to a map prestored in the controller  41  whereof the contents are shown in FIG.  55 . 
     The maps of FIG.  52  and FIG. 54 applied during overboost suppression give a larger target opening rate basic value Rvnt 0  than the maps of FIG.  53  and FIG. 55 applied during normal running. 
     In order to suppress the overboost, the supercharging pressure has to be weakened, so Rvnt 0  is increased to increase the opening of the variable nozzle  53 . 
     In the maps of FIGS. 52,  53 , the target opening rate basic value Rvnt 0  is set based on the intake fresh air amount equivalent value tQas 0  and the set EGR amount equivalent value Qes 0 , but it is also possible to set the target opening rate basic value Rvnt 0  based on the target intake fresh air amount tQac and the real EGR amount Qec. 
     Further, it is also possible to set the target opening rate basic value Rvnt 0  based on the target intake fresh air amount tQac and the EGR amount Qec 0  per cylinder at the inlet of the collector  3 A. 
     In the transient running state of the diesel engine  1 , the EGR amount Qec 0  per cylinder at the inlet of the collector  3 A varies in a stepwise manner, and there is a delay until the real EGR amount Qec catches up with the target value. Due to a deviation in the EGR amount equivalent to this delay, an error arises in the target opening rate basic value Rvnt 0 . 
     When the target opening rate basic value Rvnt 0  is set, by using the real EGR amount Qec that was obtained by performing delay processing on the EGR amount Qec 0  per cylinder at the inlet of the collector  3 A, a target intake fresh air amount optimized for one of the preselected fuel consumption, discharge composition and acceleration characteristics is obtained, even when the diesel engine  1  is in a transient running state. 
     Thus, after calculating the target opening rate basic value Rvnt 0 , in a step S 311 , it is determined whether or not the suppression release flag FCLROB is one. 
     When the suppression release flag FCLROB is not one (i.e., when the flag FCLROB is zero), it shows that the current running state is not in the overboost suppression release period. 
     In this case, the target opening rate Rvnt is set equal to the target opening rate basic value Rvnt 0 , and the subroutine is terminated. 
     When the suppression release flag FCLROB is one, it shows that the current running state is in the suppression release period. 
     In this case, the target opening rate Rvnt is set by equation (24), and the subroutine is terminated.              Rvnt   =         1     TMRCLROB                 #       ·   Rvnt0     +       (     1   -     1     TMRCLROB                 #         )     ·     Rvnt     n   -   1                   (   24   )                         
     where, 
     TMRCLROB#=time constant, and 
     Rvnt n−1 =Rvnt calculated on immediately preceding occasion when the subroutine was executed. 
     Thus, generation of overboost is prevented by restricting the closing rate of the variable nozzle  53  by equation (24) during the suppression release period. 
     Referring again to FIG. 38, after determining the target opening rate Rvnt of the variable nozzle  53  in the step S 243 , in a following step  8244 , the controller  41  performs advance processing on the target opening rate Rvnt taking account of the dynamics of the intake air system using a routine shown in FIG.  60 . This routine is performed at an interval of ten milliseconds. 
     The response delay after outputting a duty signal to the pressure control valve  56  until the intake fresh air amount changes, includes a gas flow lag depending on the turbo lag and the flowrate of intake air and exhaust gas, and the response delay of the pressure actuator  54 . The time constant of the gas flow lag varies depending on the exhaust gas amount of the diesel engine  1 , but the time constant of the response delay of the pressure actuator  54  is fixed. 
     In this control device, high control precision is obtained by calculating these delays individually and compensating each response delay individually in the control of the opening rate of the variable nozzle  53 . Advance processing of the target opening rate Rvnt of step S 244  is performed in order to compensate the gas flow lag. 
     The correction of the response delay of the actuator  54  is performed separately and is described later. 
     Referring to FIG. 60, the controller  41 , in a step S 321 , first reads the target opening rate Rvnt, the delay processing value tQacd of the target intake fresh air amount which was calculated by the routine of FIG. 22, the target fuel injection amount Qsol and the engine rotation speed Ne. In a following step S 322 , the cylinder exhaust gas amount Tqexhd (mg) per stroke cycle of the diesel engine  1 is calculated by the following equation (25).              Tqexh   =       (     tQacd   +       Qsol   ·   QFGAN                   #       )     ·     Ne     KCON                 #                 (   25   )                         
     where, 
     QFGAN#=gain, and 
     KCON#=constant. 
     Equation (25) is equivalent to an equation wherein the target intake fresh air amount tQac on the right-hand side of equation (22) is replaced by the delay processing value tQacd of the target intake fresh air amount. Consequently, the cylinder exhaust gas amount Tqexhd per stroke cycle of the diesel engine  1  obtained instead of the set intake fresh air amount equivalent value tQas 0 , varies under a time constant set assuming variation of the actual exhaust gas amount. Hence, the cylinder exhaust gas amount Tqexhd per stroke cycle of the diesel engine  1  is referred to as a real exhaust gas amount equivalent value. 
     FIGS. 61A-61D show the variation of the set intake fresh air amount equivalent value tQas 0  and the real exhaust gas amount equivalent value Tqexhd when the target fuel injection amount Qsol is increased in steps. It was confirmed by experiments performed by the Inventors that the variation of the real exhaust gas amount equivalent value Tqexhd of FIG. 61D relative to the target fuel injection amount Qsol of FIG. 61B closely follows the variation of the actual exhaust gas amount shown by the broken line in this figure. 
     In a following step S 323 , the target opening rate Rvnt is compared with an opening prediction value Cavnt n−1  calculated on the immediately preceding occasion the routine was performed. An opening prediction value Cavnt is a weighted average value of the target opening rate Rvnt. 
     Here, the target opening rate Rvnt is a value which varies in stepwise fashion, and the opening prediction value Cavnt is a value which varies smoothly. 
     Therefore, when the target opening rate Rvnt is larger than Cavnt n−1 , it shows that the variable nozzle  53  is operating in the opening direction. When the target opening rate Rvnt is smaller than Cavnt n−1 , it shows that the variable nozzle  53  is operating in the closing direction. 
     Hence, when the target opening rate Rvnt is larger than Cavnt n−1 , in a step S 324 , the routine calculates an advance correction gain TGKVNTO when the variable nozzle  53  operates in the opening direction from the real exhaust gas amount equivalent value Tqexhd referring to a map having the contents shown in FIG. 62 which is prestored in the controller  41 , and sets TGKVNTO to an advance correction gain Gkvnt. 
     In the following step S 325 , the time constant equivalent value TTCVNTO of the advance correction when the variable nozzle  53  operates in the opening direction is calculated from the real exhaust gas amount equivalent value Tqexhd referring to a map having the contents shown in FIG. 64 which is prestored in the controller  41 , and TTCVNTO is set as an advance correction constant equivalent value Tcvnt. After this processing, the routine proceeds to a step S 331 . 
     On the other hand, in the step S 323 , when the target opening rate Rvnt is not larger than Cavnt n−1  on the immediately preceding occasion when the routine was performed, it is determined whether or not the target opening rate Rvnt is smaller than the opening prediction value Cavnt n−1  in the step S 326 . 
     When the target opening rate Rvnt is smaller than Cavnt n−1 , in a step S 327 , the advance correction gain TGKVNTC when the variable nozzle  53  operates in the closing direction, is calculated from the real exhaust gas amount equivalent value Tqexhd, referring to a map having the contents shown in FIG. 63 which is prestored in the controller  41 , and TGKVNTC is set as the advance correction gain Gkvnt. 
     In a next step S 328 , the advance correction time constant equivalent value TTCVNTC when the variable nozzle  53  operates in the closing direction is calculated from the real exhaust gas amount equivalent value Tqexhd referring to a map whereof the contents are shown in FIG. 65 which is prestored in the controller  41 , and TTCVNTC is set to the advance correction constant equivalent value Tcvnt. After this processing, the routine proceeds to the step S 331 . 
     In the step S 326 , the case when the target opening rate Rvnt is not less than the estimated opening rate Cavnt n−1 , is the case when the target opening proportion Rvnt is equal to the estimated opening rate Cavnt n−1 . In this case, the advance correction gain Gkvnt is set equal to the value Gkvnt n−1  on the immediately preceding occasion the routine was executed, in a step S 329 . Likewise, the advance correction time constant equivalent value Tcvnt is set equal to the value Tcvnt n−1  on the immediately preceding occasion the routine was executed, in a step S 330 . After this processing, the routine proceeds to the step S 331 . 
     The advance correction gains TGKVNTO, TGKVNTC shown in the maps of FIG.  62  and FIG. 63 may be divided into a region near 1.0, a region clearly larger than 1.0, and a region clearly smaller than 1.0 according to a real exhaust gas amount equivalent value Tqexh. 
     The region where TGKVNTO, TGKVNTC are clearly larger than 1.0 is referred to as a small exhaust gas amount region. The region where TGKVNTO, TGKVNTC are clearly smaller than 1.0 is referred to as a large exhaust gas amount region. The region where TGKVNTO, TGKVNTC are near 1.0 is referred to as an intermediate region. The intermediate region is set in order to prevent the correction gain from abruptly varying at 1.0, and to vary it gradually. In this embodiment, an exhaust gas amount region where the ratio of the exhaust gas amount with respect to the maximum exhaust gas amount is less than 30% is set to the small exhaust gas amount region, while an exhaust gas amount region where the ratio of the exhaust gas amount with respect to the maximum exhaust gas amount is larger than 60% is set to the large exhaust gas amount region. 
     A small exhaust gas amount region is a region where the charging efficiency increases together with the increase in the exhaust gas amount of the diesel engine  1 , and a large exhaust gas amount region is a region wherein the charging efficiency decreases together with the increase in the exhaust gas amount of the diesel engine  1 . 
     These regions are determined as follows. 
     Referring to FIG. 100, it is known that the charging efficiency is highest in the effectively central region of the diagram wherein the horizontal axis is a corrected mass flowrate QA, and the vertical axis is a pressure ratio π. 
     The corrected mass flow QA and pressure ratio π are defined by the following equations (26), (27).              QA   =     Q   ·     T   P     ·     1   2               (   26   )                         
     where, 
     Q=volumetric flowrate of exhaust gas driving the exhaust gas turbine (m 3 /sec), 
     T=absolute temperature of exhaust gas at turbine inlet (° K), and 
     P=absolute pressure of exhaust gas at turbine inlet (Pa).              π   =     P1   P0             (   27   )                         
     where, 
     P 1 =outlet pressure of compressor (Pa)=manifold pressure Pm, and 
     P 0 =inlet pressure of compressor (Pa)=atmospheric pressure Pa. 
     Expressing this characteristic as a graph wherein the horizontal axis is an exhaust gas amount and the vertical axis is an EGR amount, it may be divided into essentially three regions depending only on the exhaust gas amount, as shown in FIG.  101 . Of these, the region where the charging efficiency increases together with increase in the exhaust gas amount is the small exhaust gas amount region, the region where the charging efficiency decreases together with increase in the exhaust gas amount is the large exhaust gas amount region, and the region with little variation of charging efficiency is the intermediate region. These regions may also be classified based on the charging efficiency itself, but as the calculation of charging efficiency is complex, the exhaust gas amount is used instead of the charging efficiency for convenience. 
     As shown in FIG. 101, these regions are hardly affected by the EGR amount, so the advance correction gain TGKVNTO when the variable nozzle  53  is opened and the advance correction gain TGKVNTC when it is closed, are set using only the exhaust gas amount as a parameter. 
     The maps of FIG.  62  and FIG. 63 are set based on the above analysis. 
     As shown in these maps, in the small exhaust gas amount region, the advance correction gain TGKVNTC is larger than the advance correction gain TGKVNTO, and in the large exhaust gas amount region, the advance correction gain TGKVNTC is smaller than the advance correction gain TGKVNTO. 
     In a step S 331 , an estimated opening rate Cavnt is calculated by the following equation (28) using the target opening rate Rvnt and the advance correction time constant equivalent value Tcvnt 
     
       
           Cavnt=Rvnt·Tcvnt+Cavnt   n−1 ·(1 −Tcvnt )  (28)  
       
     
     where, 
     Cavnt n−1 -Cavnt calculated on the immediately preceding occasion the subroutine was executed. 
     In the maps of FIG.  62  and FIG. 63, in the small exhaust gas amount region, the correction gains TGKVNTO, TGKVNTC are set so that they are effectively constant values. Likewise, in the large exhaust gas amount region, they are set so that they are effectively constant values. 
     As the gas flow lag becomes larger, the smaller the exhaust gas amount, it is desirable to make a setting such that the correction gains TGKVNTO, TGKVNTC increase the smaller the real exhaust gas amount equivalent value Tqexhd so as to improve control response. 
     Conversely, in the large exhaust gas amount region, it is desirable to make the correction gains TGKVNTO, TGKVNTC smaller, the larger the real exhaust gas amount equivalent value Tqexhd so as to improve control response. 
     However, to perform this setting, it is difficult to make the correction gains TGKVNTO, TGKVNTC match the actual control, so according to this embodiment, the correction gains TGKVNTO; TGKVNTC are respectively made fixed values in the small exhaust gas amount region and the large exhaust gas amount region, considering the stability of control. 
     In the small exhaust gas amount region, when the variable nozzle  53  is driven in the closing direction as shown in FIG. 63, the value of the gain is set larger than in the case where it is driven in the opening direction, as shown in FIG.  62 . This is because the gas flow lag is larger when the variable nozzle  53  is closing than when it is opening. 
     The maps of FIG.  64  and FIG. 65 which define the time constant equivalent values TTCVNTO, TTCVNTC give a larger value, the larger the real exhaust gas amount equivalent value Tqexh. 
     Here, the time constant equivalent value is an inverse of the time constant that represents the operation speed of the actuator ( 54 ). Hence, the time constant becomes smaller, as the real exhaust gas amount equivalent value Tqexh becomes larger. 
     Further, the time constant equivalent value TTCVNTO when the variable nozzle  53  is opening takes a larger value than the time constant equivalent value TTCVNTC when the variable nozzle  53  is closing, for the same real exhaust gas amount equivalent value Tqexh, i.e., the time constant when the variable nozzle  53  is opening, is less than the time constant when it is closing. 
     In a following step S 332 , an open loop control amount Avnt_f of the opening rate of the variable nozzle  53  is calculated by the following equation (29) from an opening prediction value Cavnt and a target opening rate Rvnt. 
       Avnt   —   f=Gkvnt·Rvnt− ( Gkvnt −1)· Cavnt   n−1   (29) 
     The calculation of the steps S 331 , S 332  is similar to the calculation of the steps S 24 , S 25  of the routine of FIG.  6 . 
     Although equation (29) is an advance processing equation, application of advance processing by this equation is limited to the case where the advance correction gain Gkvnt is larger than 1.0. 
     In the maps of FIG.  62  and FIG. 63, in the large exhaust gas amount region, the advance correction gains TGKVNTO, TGKVNTC are set to a positive value less than 1.0. In this case, the advance processing equation (29) effectively becomes a delay processing equation. In general, among delay processing equations, first order delay equations are well known, but the application of equation (29) to delay processing is not common. 
     FIG. 103 shows simulated results for how the open loop control amount Avnt_f of the target opening rate varies when equation (29) is used for delay processing, by setting the advance correction gain Gkvnt to 0.5 and the time constant equivalent value Tcvnt of the advance correction to 0.1. 
     Referring to FIG. 103, when equation (29) is applied, there is a difference from the case where the ordinary first order delay equation is applied, in that the open loop control amount Avnt_f starts stepwise at the timing when the target opening rate Rvnt changes in a stepwise fashion. This means that the response of equation (29) is higher than that of the ordinary first delay processing equation. For comparison, the simulation result for the open loop control amount Avnt_f when equation (29) is used for advance processing is shown in FIG. 102, where the advance correction gain Gkvnt is set to 2.0 and the time constant equivalent value Tcvnt is set to 0.1. 
     In a last step S 333 , a delay processing value Rvnte of the target opening rate Rvnt is calculated from the following equation (30). 
     
       
           Rvnte=Rvnt·TCVNT# −( TCVNT #−1) ·Rvnte   n−1   (30)  
       
     
     where, 
     TCVNT#=time constant equivalent value representing the response delay of the pressure actuator  54 , and 
     Rvnte −1 =Rvnte calculated on the immediately preceding occasion the routine was executed. 
     The delay processing value Rvnte is a value taking account of the response delay of the pressure actuator  54 , and corresponds to the real opening rate. In this regard, the delay processing value Rvnte of the opening rate Rvnt will be referred to as the real opening rate. 
     The response delay of the pressure actuator  54  is identical whether the variable nozzle  53  is closing or whether it is opening. Therefore, the time constant equivalent value TCVNT# is a constant. The real opening rate Rvnte is used for calculating a PI gain opening rate correction coefficient Gkvavnt and an opening rate reflection coefficient Gkvntlav described later. 
     After the controller  41  calculates the opening prediction value Cavnt, open loop control amount Avnt_f and the real opening rate Rvnte by the routine of FIG. 60 in this way, a feedback correction amount Avnt_fb of the opening rate and a learning value Ravir related to the feedback correction amount Avnt_fb are calculated in a step S 245  of FIG.  38 . This calculation is performed by a subroutine shown in FIG.  66 . 
     Referring to FIG. 66, in a step S 601 , the controller  41  first sets a feedback control permission flag FVNFB of the opening rate of the variable nozzle  53  by a subroutine shown in FIG.  67 . 
     Referring to FIG. 67, in a step S 341 , it is determined whether or not the running condition of the diesel engine  1  corresponds to a feedback control region of the opening rate of the variable nozzle  53  referring to a map prestored in the controller  41  whereof the contents are shown in FIG.  68 . 
     In this map, the feedback control region is all running regions excluding low load and low rotation speed regions of the diesel engine  1 . The reason why feedback control of the opening rate of the variable nozzle  53  is not performed under low load and at low rotation speed is because the intake fresh air amount hardly varies relative to variation of the opening rate of the variable nozzle  53  in this region, i.e., the sensitivity of the intake fresh air amount relative to variation of the opening rate is small. Therefore, in this region, not performing feedback control of the opening rate leads to stable control of the intake fresh air amount of the diesel engine  1  and the supercharging pressure of the turbocharger  50 . A hysteresis region is provided as shown in the figure between the feedback control region and non-feedback control region. 
     In the step S 341 , when the running condition of the diesel engine  1  is in the feedback control region, the subroutine determines whether or not feedback control permission conditions are satisfied for the opening rate of the variable nozzle  53 , from a step S 342  to a step S 344 . 
     First, in the step S 342  it is determined whether or not the target EGR rate Megr is less than a predetermined value KVNFBMEGR#. 
     In the step S 343  it is determined whether or not an immediately preceding value FCLPVNDTY n−1  of a command opening rate clamp flag FCLPVNDTY, described later, is zero showing a clamp state. 
     In the step S 344 , it is determined whether or not an air flow meter fault determining flag FDGMAF is zero, showing the normal state. The air flow meter determining flag FDGMAF is set to be one by a routine not described here when the air flow meter  39  does not operate correctly. 
     When the determination results of all of the steps S 342 -S 244  are affirmative, the subroutine sets the feedback control permission flag FVNFB of the opening rate of the variable nozzle  53  to one in a step S 345  and the subroutine is terminated. When the determination result of any of the steps S 342 -S 344  is negative, the subroutine resets the feedback control permission flag FVNFB of the opening rate of the variable nozzle  53  to zero in a step S 356 , and the subroutine is terminated. 
     According to the step S 342 , in the EGR recirculation region, the feedback control permission flag FVNB is reset to zero, and opening rate feedback control of the variable nozzle  53  is not performed. This is due to the following reason. In the EGR recirculation region, the opening of the EGR valve  6  is feedback controlled. Therefore, feedback control of the opening rate of the variable nozzle  53  in this region causes interference between the two feedback controls, and the value of the opening rate tends to fluctuate. 
     According to the step S 343 , when the command opening rate is clamped, feedback control of the opening rate of the variable nozzle  53  is not performed. Clamping of the command opening rate is performed when the opening rate has converged, as described hereafter. In this case, there is no need to perform feedback control of the opening rate of the variable nozzle  53 . 
     According to the step S 344  feedback control of the opening rate of the variable nozzle  53  is not performed when the air flow meter  39  has a fault. This is in order to provide a fail-safe mechanism. 
     After setting the feedback control permission flag FVNFB, the controller  41  sets a feedback gain in the step S 602  of FIG.  66 . This processing is performed by a subroutine shown in FIG.  69 . 
     First, in a step S 351 , the delay processing value tQacd of the target intake fresh air amount, cylinder intake fresh air amount Qac, real exhaust gas amount equivalent value Tqexhd and real opening rate Rvnte are read. 
     In a next step S 352 , it is determined whether or not the feedback control permission flag FVNFB is one. 
     When the feedback control permission flag FVNFB is not one i.e., when feedback control of the variable nozzle  53  is not performed, a control error Eqac is set to zero in a step S 353 . When the feedback control permission flag FVNFB is one, i.e., when feedback control of the variable nozzle  53  is performed, a value obtained by subtracting the delay processing value tQacd from the cylinder intake fresh air amount Qac is set to the control error Eqac in a step S 354 . 
     In normal feedback control, the target intake fresh air amount tQac is a target value set according to the running conditions, but in this invention, as a response time and a response time constant are the main objects of control, the target intake air amount delay processing value tQacd is taken as the target value of feedback control. The difference between the cylinder intake fresh air amount Qac and target value tQacd is considered as the control error Eqac. 
     After the step S 353  or the step S 354 , the subroutine calculates a proportional gain basic value Gkvntp 0  and integral gain basic value Gkvnti 0  by looking up maps whereof the contents are shown in FIG.  70  and FIG. 71 which are prestored in the controller  41 , from the control error Eqac. In these maps, an insensitive region is provided around the value zero of Eqac so that the feedback control does not fluctuate in the vicinity of the target value. 
     In a following step S 356 , an exhaust gas amount correction coefficient Gkvqexh of the proportional gain and integral gain is calculated by looking up a map whereof the contents are shown in FIG. 72 which is prestored in the controller  41  from the real exhaust gas amount equivalent value Tqexhd. 
     In a next step S 357 , an opening rate correction coefficient Gkvavnt is calculated referring to a map whereof the contents are shown in FIG. 73 which is prestored in the controller  41  from the real opening rate Rvnte. 
     In a next step S 358 , the proportional gain Gkvntp and integral gain Gkvnti are calculated by the following equations (31) from these basic values and correction coefficients. 
     
       
           Gkvntp=Gkvntp   0   ·Gkvqexh·Gkvavnt   (31)  
       
     
     
       
         
           Gkvnti=Gkvnti 
           0 
           ·Gkvqexh·Gkvavnt  
         
       
     
     The exhaust gas amount correction coefficient Gkvqexh shown in the map of FIG. 72 takes a smaller value the larger the real exhaust gas amount equivalent value Tqexhd. For an identical opening rate of the variable nozzle  53 , the variation of supercharging pressure increases the larger the exhaust gas amount, therefore it is easier to make the supercharging pressure approach the target value. In other words, at a low exhaust gas amount, the variation of supercharging pressure relative to the variation of opening rate is sluggish. Hence, to make the supercharging pressure at a low exhaust gas amount converge to the target value earlier, the exhaust gas amount correction coefficient Gkvqexh is set to be larger as the real exhaust gas amount equivalent value Tqexhd decreases 
     The opening rate correction coefficient Gkvavnt shown in the map of FIG. 73 takes a smaller value the smaller the real opening rate Rvnte. When the opening of the variable nozzle  53  is small, the supercharging pressure reacts more sensitively to a variation in the opening rate than when the opening is large. To average out the response, the opening rate correction coefficient Gkvavnt is set to take a smaller value the smaller the real opening rate Rvnte. 
     In this way, after the feedback correction coefficients are set by the subroutine of FIG. 69, the controller  41  calculates the feedback correction amount Avnt_fb using a subroutine shown in FIG. 74 in a step S 603  of FIG.  66 . 
     Referring to FIG. 74, the controller  41  first reads the intake fresh air amount Qac and delay processing value tQacd of the target intake fresh air amount in a step S 361 . 
     In a step S 362 , it is determined whether or not a feedback control permission flag FVNFB is one. 
     When the feedback control permission flag FVNFB is not one, i.e., when feedback control of the variable nozzle  53  is not performed, the control error Eqac is set to zero in a step S 363 . When the feedback control permission flag FVNFB is one, i.e. when feedback control of the variable nozzle  53  is performed, a value obtained by subtracting the delay processing value tQacd from the cylinder intake fresh air amount Qac is set to the control error Eqac in a step S 354 . The processing of the steps S 362  to S 364  is identical to the processing of the steps S 352  to S 354  of FIG.  69 . 
     In a step S 365 , a proportional correction value Ravfbp is calculated from the following equation (32). 
     
       
           Ravfbp=Gkvntp·Eqac   (32)  
       
     
     In a next step S 366  an integral correction value Ravfbi is calculated by the following equation (33). 
     
       
           Ravfbi=Gkvnti·Eqac+Ravfbi   n−1   −dTravir   (33)  
       
     
     where, 
     Ravfbi n−1 =Ravfbi calculated on immediately preceding occasion the subroutine was executed, and 
     dTravir=variation amount of the learning value Ravir calculated by a subroutine of FIG. 77 described hereafter. 
     In a next step S 367 , the feedback amount Avnt_fb of the opening rate of the variable nozzle  53  is calculated by summing the proportional correction amount Ravfbp and integral correction amount Ravfbi. 
     Apart from the third term on the right-hand side of equation (33) used in the step S 366 , this equation corresponds to the calculation equation in ordinary learning control. According to this invention, the variation amount dTravir of the learning value Ravir is subtracted from the integral correction value Ravfbi obtained in the calculation equation of the prior art learning control. The calculation of the learning value Ravir and its variation amount dTravlr will be described later, but the interval of the calculation of both the integral correction amount Ravfbi and learning value Ravir is ten milliseconds. 
     After the controller  41  calculates the feedback correction amount Avnt_fb by the subroutine of FIG. 74 in this way, a learning permission flag FVLNR is calculated in a step S 604  of FIG.  66 . The learning permission flag FVLNR is a flag which determines whether or not learning of the integral correction amount Ravfbi is permitted. This calculation is performed by a subroutine shown in FIG.  75 . 
     Referring to FIG. 75, the controller  41  first reads the target EGR rate Megr, atmospheric pressure Pa, cooling water temperature Tw, control error Eqac and delay processing value tQacd of the target intake fresh air amount in a step S 371 . 
     In following steps S 372 -S 379 , it is determined whether or not the engine running conditions are suitable for learning of the integral correction amount Ravfbi from the parameters which were read. 
     In the step S 372 , it is determined whether or not the running condition of the diesel engine  1  corresponds to a learning region specified in a map whereof the contents are shown in FIG. 76 which is prestored in the controller  41 , from the rotation speed Ne of the diesel engine  1  and the target fuel injection amount Qsol which represents the load of the diesel engine  1 . The map of FIG. 76 is simplified, but in practice, the region which is the supercharging pressure feedback control region and where the learning sensitivity is good, i.e., the region where the variation of the intake fresh air amount is large relative to the variation of opening rate of the variable nozzle  53  is set as the learning region. 
     In a step S 373 , it is determined whether or not the current value of the learning permission flag FVLNR is one. 
     In a step S 374 , it is determined whether or not the target EGR rate Megr is less than a predetermined rate KVNLRMEGR#. The predetermined rate KVNLRMEGR# is a value for determining whether or not exhaust gas recirculation is to be performed, and when the target EGR rate Megr is less than the predetermined value KVNLRMEGR#, exhaust gas recirculation is effectively not performed. 
     In a step S 375 , it is determined whether or not the atmospheric pressure Pa is higher than a predetermined pressure KVLNRPA#. The predetermined pressure KVLNRPA# is a pressure corresponding to running on high ground, and when the condition of the step S 375  is satisfied, it shows that the vehicle is not running on high ground. 
     In a step S 376 , it is determined whether or not the cooling water temperature Tw is higher than a predetermined temperature KVNLRTW#. The predetermined temperature KVNLRTW# is a value which determines whether or not warm-up of the diesel engine  1  is complete, and when the cooling water temperature Tw is higher than the predetermined temperature KVNLRTW#, it is considered that warm-up is complete. 
     In a step S 377 , it is determined whether or not the absolute value of the ratio of the control error Eqac and the delay processing value tQacd of the target fresh air amount is less than a predetermined value KVNLREQA#. When the absolute value of this ratio is large, it signifies that the control of supercharging pressure is subject to the effect of external disturbance. The predetermined value KVNLREQA# is a reference value for performing this determination, and when the absolute value of this ratio is less than the predetermined value KVNLREQA#, it is considered that there is no effect due to external disturbance. The reason why the ratio of the delay processing value tQacd of the target intake fresh air amount and the control error Eqac is taken as the determining parameter, is in order to maintain the ratio of the control error relative to the target value constant even if the target value varies. However, to simplify the calculation, it is also possible to determine the presence or absence of external disturbance by comparing the absolute value of the control error Eqac with a predetermined value. 
     In a step S 378 , it is determined whether or not the overboost determining flag FOVBST and suppression release flag FCLROB are both zero. If these flags are zero, it signifies that the overboost suppression control is not performed. 
     In a step S 379 , it is determined whether or not an air flow meter fault determining flag FDGMAF is zero, showing the normal state. 
     When all the conditions of the steps S 372 -S 379  are satisfied, the learning permission flag FVLNR is set to one in a step S 380  so as to permit learning of the integral correction amount Ravfbi. When any of the conditions of the steps S 372 -S 379  is not satisfied, the learning permission flag FVLNR is reset to zero in a step S 381  so as to prohibit learning of the integral correction amount Ravfbi. 
     In this way, after setting the learning permission flag FVLNR, the controller  41  calculates the learning value Ravlr in a step S 605  of FIG.  66 . This calculation is performed by the subroutine of FIG.  77 . 
     Referring to FIG. 77, first in a step S 391 , the controller  41  sets the immediately preceding value Ravlr n−1  equal to the learning value Ravlr stored in a non-volatile memory in the controller  41 . 
     In a next step S 392 , it is determined whether or not the learning permission flag FVLNR is one. When the learning permission flag FVLNR is one, learning of the integral correction amount Ravfbi is performed in steps S 393 -S 396 . On the other hand, when the learning permission flag FVLNR is not one, a processing outside the learning region is performed in steps S 397 -S 400 . 
     Here, learning means that the integral correction amount Ravfbi is learned, the learning value Ravlr for opening rate control is calculated based on a learning initial value Ravlr 0  and immediately preceding value Ravlr n−1  of the learning value Ravlr, and the immediately preceding value Ravlr n−1  stored in the non-volatile memory is newly updated to the calculated value. 
     Processing outside the learning region means that the learning value Ravlr for opening rate control is calculated by multiplying the immediately preceding value Ravlr n−1  by a predetermined coefficient. In this case, the value stored in the non-volatile memory is not updated. 
     The specific details of learning will now be described referring to the steps S 393 -S 396 . 
     In the step S 393 , the learning initial value Ravlr 0  is set to equal to the integral correction amount Ravfbi of the opening rate of the variable nozzle  53 . 
     In the next step S 394 , a learning rate Kfntlrn is calculated by looking up a map whereof the contents are shown in FIG. 78 which is prestored in the controller  41 , based on the engine rotation speed Ne and the target fuel injection amount Qsol which represents the engine load. In this map, the learning rate Kvntlrn is increased, the larger the engine rotation speed No and the target fuel injection amount Qsol However, when it increases, the variation of the intake fresh air amount relative to variation of opening rate of the variable nozzle  53  becomes more sensitive. Specifically, when the engine rotation speed Ne and target fuel injection amount Qsol are large, convergence to the target value of the supercharging pressure or intake fresh air amount is advanced by increasing the learning proportion of the feedback correction amount. For this purpose, the learning rate Kvntlrn is set large, the larger the engine rotation speed Ne and target fuel injection amount Qsol. However, the maximum value of the learning rate Kvntlrn is one. 
     In the next step S 395 , the learning initial value Ravlr 0  and immediately preceding value Ravlr n−1  of the learning value Ravlr are weighted by the following equation (34) to calculate the learning value Ravlr. 
     
       
           Ravir=Kvntlrn·Ravlr   0 +(1 −Kvntlrn )· Ravlr   n−1   (34)  
       
     
     According to equation (34), when the learning rate Kvntlrn is the maximum value of one, on the next occasion the control of the opening rate is performed, the total amount of the integral correction amount Ravfbi is used as the learning value Ravlr. When the learning rate Kvntlrn is less than 1, part of the integral correction amount Ravfbi is used as the learning value Ravlr on the next occasion control of the opening rate is performed. 
     In the next step S 396 , the calculated learning value Ravlr is stored in the non-volatile memory. This value is used as the immediately preceding value Ravlr n−1  on the next occasion when the routine is performed. 
     Next, specific details of processing outside the learning region will be described referring to the steps S 397  to S 400 . 
     In the step S 397 , the initial learning value Ravlr 0  is set equal to the immediately preceding value Ravlr −1 . 
     In the next step S 398 , the running region reflection coefficient Gkvntlnq of the learning value is calculated, referring to a map whereof the contents are shown in FIG. 79 which is prestored in the controller  41 , based on the engine rotation speed Ne and target fuel injection amount Qsol. 
     In the next step S 399 , the opening rate reflection coefficient Gkvntlav is calculated, referring to a map whereof the contents are shown in FIG. 80 which is prestored in the controller  41 , based on the real opening rate Rvnte. 
     In the next step S 400 , the learning value Ravir for the opening rate control is calculated by the following equation (35). 
     
       
           Ravir=Ravlr   0 · Gikvnt In q·Gkvnilav   (35)  
       
     
     The equation (35) is applied to have the learning value reflected in supercharging pressure control outside the learning region. The learning value Ravlr obtained is applied to learning control of the opening rate described hereafter, but the value stored in the non-volatile memory is not updated. 
     Referring to the map of FIG. 79, the running region reflection coefficient Gkvntlnq is one when the engine rotation speed Ne and target fuel injection amount Qsol are in the learning region, and become smaller, the further away from the learning region. In a region which is largely removed from the running region where the learning value Ravlr is learned, if opening rate control is performed applying the same learning value Ravlr as in the learning region, the error becomes too large, and the possibility of causing overboost increases. To prevent this overboost, the map characteristics are set so that the running region reflection coefficient Gkvntlnq become smaller the further away from the learning region. 
     In the map of FIG. 80, an opening rate reflection coefficient Gkvntlav is set to be small in a region where the real opening rate Rvnte is small. The variation of intake fresh air amount relative to the variation of opening rate, is larger the smaller the opening rate. As a result, in a region where the opening rate is small, when the learning value is largely reflected in supercharging pressure control, there is a high possibility of causing overboost. To prevent this overboost, in the region where the opening rate is small, the map characteristics are set so that the opening rate reflection coefficient Gkvntlav becomes smaller in the region where the opening rate is small. 
     After performing the processing of the steps S 392 -S 396  or the steps S 397  to S 400  in this way, the controller  41  calculates the difference between the learning value Ravlr and immediately preceding value Ravlr n−1  stored in the non-volatile memory in a step S 401 , as the variation amount dTravlr of the learning value. This variation amount dTravlr is a value used in the calculation of the step S 365  of FIG. 74 described earlier. As can be seen from FIG. 66, the subroutine of FIG. 74 is performed before the subroutine of FIG. 77 which calculates the variation amount dTravlr. Therefore, the variation amount dTravlr calculated in the subroutine of FIG. 77 is used on the next occasion when the subroutine of FIG. 74 is performed. 
     When the subroutine of FIG. 77 terminates, the subroutine of FIG. 66 also terminates. 
     Now, referring again to the main routine of FIG. 38, after calculating the feedback correction amount Avnt_fband the variation amount dTravlr of the learning value by the subroutine of FIG. 66 in the step S 245 , the controller  41  calculates a final command opening rate Trvnt sand a command opening rate linearization processing value Ratdty in a following step S 246 . This calculation is performed by subroutines of FIG.  81  and FIG. 82 
     Referring to FIG. 81, firstly in a step S 411 , the controller  41  reads the open loop control amount Avnt_f of the command opening rate, the feedback correction amount Avnt_fb of the command opening rate and the learning value Ravlr. 
     In a next step S 412 , the command opening rate Avnt is calculated by summing these values. 
     In a next step S 413 , to compensate the response delay of the pressure actuator  54 , advance processing is performed on the command opening rate Avnt using a subroutine of FIG.  82 . The pressure actuator  54  comprises the diaphragm actuator  59  which is operated by the supply pressure of the pressure control valve  56 , so some time is required from when a duty signal is input to the pressure control valve  56  to when the diaphragm actuator  59  actually operates corresponding to the duty signal. The processing of the step S 413  is processing to compensate this response delay. If the variable nozzle  53  is operated by a step motor instead of the pressure actuator  54 , this step is unnecessary. 
     Referring to FIG. 82, the controller  41  first reads the command opening rate Avnt in a step S 421 . 
     In a next step S 422 , it is determined whether or not the absolute value of the difference between the immediately preceding value Avnt n−1  of the command opening rate read on the immediately preceding occasion the subroutine was executed and the command opening rate Avnt read on the present occasion, is smaller than a predetermined value EPSDTY#. 
     When the determination result of the step S 422  is negative, it shows that the command opening rate Avnt is varying. In this case, after resetting a clamp flag FCLPVNDTY of the command opening rate to zero in a step S 423 , the routine proceeds to a step S 424  and subsequent steps. 
     On the other hand, when the determination result of the step S 422  is affirmative, it shows that the command opening rate Avnt is not varying. In this case, after setting the clamp flag FCLPVNDTY of the command opening rate to one in a step S 429 , the routine proceeds to a step S 430  and subsequent steps. 
     In the step S 345  of FIG. 67 described above, the clamp flag FCLPVNDTY is used to determine whether or not feedback control of the opening rate is permitted. The clamp flag FCLPVNDTY varies from zero to one when the variation of the command opening rate Avnt is complete. In this case, as it is determined that feedback control of the opening rate is no longer necessary, the clamp flag FCLPVNDTY is set to one. 
     In the step S 424 , the controller  41  compares the command opening rate Avnt and the immediately preceding value Avnt n−1  of the command opening rate. When Avnt is larger than Avnt n−1 , it shows that the actuator  54  is opening the variable nozzle  53 . In this case, the subroutine sets an actuator advance correction gain Gkact equal to a constant value GKVACTP# for opening in a step S 425 , sets a time constant equivalent value Tcact for actuator advance correction equal to a constant value TCVACTP# for opening in a step S 426 , and proceeds to a step S 432 . 
     On the other hand, when Avnt is not larger than Avnt n−1 , the actuator  54  is closing the variable nozzle  53 . In this case, the subroutine sets the actuator advance correction gain Gkact equal to a constant value GKVACTN# for closing in a step S 427 , sets the time constant equivalent value Tcact for actuator advance correction equal to a constant value TCVACTN# for closing in a step S 428 , and then proceeds to the step S 432 . 
     Here, GKVACTP#&lt;GKVACTN# and TCVACTP#&lt;TCVACTN#. The operation whereby the pressure actuator  54  closes the variable nozzle  53  is performed in opposition to the exhaust gas pressure. Therefore, the actuator advance correction gain Gkact in this case must be set larger than when the variable nozzle  53  is opened. Conversely, the time constant of the actuator advance correction when the pressure actuator  54  closes the variable nozzle  53  must be set smaller than when the variable nozzle  53  is opened. As the time constant equivalent value Tcact is the inverse of the time constant, the value when the pressure actuator  54  closes the variable nozzle  53  must be set larger than the value when the variable nozzle  53  is opened. 
     When the clamp flag FCLPVNDTY of the command opening rate is set to one in the step S 429 , in the subsequent step S 430 , the controller  41  sets the actuator advance correction gain Gkact equal to a value Gkact n−1  set on the immediately preceding occasion the subroutine was executed. 
     In a subsequent step S 431 , the time constant equivalent value Tcact is set equal to a value Tcact n−1  set on the immediately preceding occasion the subroutine was executed, and the routine proceeds to the step S 432 . 
     In the step S 432 , the opening prediction value Cvact is calculated by the following equation (36) using the time constant equivalent value Tcact and command opening rate Avnt. 
     
       
           Cvact=Avnt·Tcact+Cvact   n−1 ·(1 −Tcact )  (36)  
       
     
     where, 
     Cvact n−1 =opening prediction value Cvact calculated on the immediately preceding occasion the subroutine was executed. 
     Further, in a next step S 433 , the final command opening rate Trvnt is calculated by the following equation (37) using the opening prediction value Cvact and command opening rate Avnt. 
     
       
           Trvnt=Gkact·Avnt −( Gkact −1)·Cvact n−1   (37)  
       
     
     The significance of the processing of the steps S 432  and S 433  is identical to that of the calculation of the intermediate value Rqec and target EGR amount Tqec in the steps S 24  and S 25  of FIG.  6 . 
     Hence, in the subroutine of FIG. 82, advance processing is performed taking account only of the response delay of the pressure actuator  54 . The advance correction related to the gas flow lag dependent on the intake air, exhaust gas flowrate and turbo lag is performed by the subroutine of FIG. 60 described above. 
     After calculating the final command opening rate Ttvnt in this way, the controller  41  calculates a command opening rate linearization processing value Ratdty in a step S 414  of FIG.  81 . The command opening rate linearization processing value Ratdty is calculated by looking up a map whereof the contents are shown in FIG. 83 which is prestored in the controller  41 , based on the final command opening rate Trvnt. 
     This linearization processing is required when the opening rate or opening surface area of the variable nozzle  53 , and the duty signal output by the controller  41  through the pressure control valve  56 , have a nonlinear correspondence. 
     Returning now to the main routine of FIG. 38, after the controller  41  calculates the command opening rate linearization processing value Ratdty, a duty value Dtyvnt of the duty signal output to the pressure control valve  56  is calculated in a step S 247 . This calculation is performed using the subroutine of FIG.  84 . 
     Referring to FIG. 84, in a step S 441 , the controller  41  reads the engine rotation speed Ne, target fuel injection amount Qsol, linearization processing value Ratdty of the command opening rate, advance correction time constant inverse value Tcvnt and cooling water temperature Tw of the diesel engine  1 . 
     In a step S 442 , duty signal variation flags are set using the subroutine shown in FIG.  85 . 
     Referring to FIG. 85, the controller  41  first reads the command opening rate Avnt and the advance correction time constant inverse value Tcvnt in a step S 461 . 
     In a next step S 462 , a command opening rate prediction value Adfyvnt is calculated by the following equation (38). 
     
       
           Adlyvnt=Avnt·Tcvnt+Adlyvnt   n−1 ·(1 −Tcvnt )  (38)  
       
     
     where, 
     Adlyvnt n−1 =value of Adlyvnt calculated on the immediately preceding occasion the subroutine was executed. 
     Here, the relation between the command opening rate Avnt and the command opening rate prediction value Adlyvnt corresponds to the relation between the target opening rate Rvnt and the opening prediction value Cavnt. 
     In a following step S 463 , the command opening rate prediction value Adlyvnt is compared with a command opening rate prediction value Adlyvnt n−m  calculated by the subroutine executed M times ago. 
     When Adlyvnt≧Adlyvnt n−M , the command opening rate is increasing or constant. In this case, the subroutine sets an operation direction flag fvnt to one in a step S 464 , and proceeds to a step S 466 . 
     In the step S 466 , it is determined whether or not Adlyvnt=Adlyvnt n−M . When Adlyvnt=Adlyvnt n−M  in a step S 467 , a duty hold flag fvnt 2  is set to one, and the subroutine is terminated. 
     When Adlyvnt=Adlyvnt n−M  is not satisfied, the routine proceeds to a step S 468 . 
     When Adlyvnt&lt;Adlyvnt n−M  in the step S 463 , it shows that the command opening rate is decreasing. In this case, the subroutine resets the operation direction flag fnvt to zero in a step S 465 , and the routine proceeds to the step S 468 . 
     In the step S 468 , the duty hold flag fvnt 2  is reset to zero, and the subroutine is terminated. 
     Thus, after setting the two flags fvnt and fvnt 2 , the controller  41  reads a duty value temperature correction amount Dty_t in a step S 443  of FIG.  84 . The duty value temperature correction amount Dty_t is calculated by a subroutine of FIG. 86 performed independently in synchronism with the REF signal. 
     Referring to FIG. 86, in a step S 471 , the controller  41  first reads the engine rotation speed Ne, target fuel injection amount Qsol and cooling water temperature Tw. 
     In a step S 472 , a basic exhaust gas temperature Texhb is calculated from the engine rotation speed Ne and target fuel injection amount Qsol by looking up a map shown in FIG. 87 previously stored in the memory of the controller  41 . The basic exhaust gas temperature Texhb is the exhaust gas temperature after the diesel engine  1  has completed warming up. 
     In a next step S 473 , a water temperature correction coefficient Ktexh_tw is calculated by looking up a map shown in FIG. 88 stored in the controller  41 , based on the cooling water temperature Tw. 
     In a step S 474 , an exhaust gas temperature Texhi is calculated by multiplying the basic exhaust gas temperature Texhb by the water temperature correction coefficient Ktexh_tw. 
     In a next step S 475 , a real exhaust gas temperature Texhdly is calculated by adding a first order processing delay to the exhaust gas temperature Texhi by the following equation (39). This value is a value which takes account of the delay due to the heat inertia in the variation of exhaust gas temperature. 
     
       
           Texhdly=Texhi·KEXH#+Texhdly   n−1 ·(1 −KEXH# )  (39)  
       
     
     where, 
     KEXH#=constant, and 
     Texhdly n−1 =Texhdly calculated on the immediately preceding occasion when the subroutine was executed. 
     In a following step S 476 , a difference dtexh of the basic exhaust gas temperature Texhb and this real exhaust gas temperature Texhdly is calculated. 
     In a last step S 477 , the duty value temperature correction amount Dty_t is calculated by looking up a map shown in FIG. 89 previously stored in the memory of the controller  41 , based on the difference dtexh. The meaning of the processing of the steps S 476  and S 477  will be described in detail later. 
     After the end of the subroutine, the controller  41  returns to the subroutine of FIG.  84  and performs processing after the step S 444 . Steps S 444 -S 449  are steps which add hysteresis processing to the duty value. 
     Describing this hysteresis processing with reference to FIG. 95, when the linearization processing value Ratdty of the command opening rate Avnt is increasing, the duty value is made to vary according to a straight line which joins a command signal Duty_l_p when the variable nozzle  53  is fully open, and a command signal Duty_h_p when the variable nozzle  53  is fully closed. On the other hand, when the linearization processing value Ratdty is decreasing, the duty value is made to vary according to a straight line which connects a command signal Duty_l_n when the variable nozzle  53  is fully open, and a command signal Duty_h_n when the variable nozzle  53  is fully closed. In the drawing, two lines intersect in the region where the variable nozzle  53  is nearly closed, but this region is a region which is not used in actual control of the pressure control valve  56 . These characteristics are set assuming that the diesel engine  1  has completely warmed up. When the real exhaust gas temperature Texhdly is low, the pressure actuator  54  has the characteristic of opening the variable nozzle  53  larger for the same duty value, as shown in FIG.  90 . Hence, it is necessary to apply the temperature correction amount Dty_tcalculated in the steps S 476 , S 477  of FIG. 86, to compensate the difference in the characteristic of the pressure actuator  54  due to the exhaust gas temperature. 
     Now, the controller  41  determines the operation direction flag fvnt in the step S 444 . When the operation direction flag fvnt is one, i.e., when the command opening rate Avnt is increasing or constant, the processing of steps S 445 , S 446  is performed. In the step S 445 , a duty value Duty_h when the variable nozzle  53  is fully closed, is calculated based on the target fuel injection amount Qsol by looking up a Duty_h_p map shown in FIG.  91 . 
     In the following step S 446 , a duty value Duty_l when the variable nozzle  53  is fully open, is calculated by looking up a Duty_l_p map shown in FIG.  92 . After this processing, the subroutine proceeds to a step S 449 . 
     When the operation direction flag fvnt is zero in the step S 444 , i.e., when the command opening rate Avnt is decreasing, the processing of steps S 447 , S 448  is performed. In the step S 447 , the duty value Duty_h when the variable nozzle  53  is fully closed, is calculated based on the target fuel injection amount Qsol by looking up a Duty_h_n map shown in FIG.  93 . In the following step S 448 , the duty value Duty_l when the variable nozzle  53  is fully open, is calculated based on the target fuel injection amount Qsol by looking up a Duty_l_n map shown in FIG.  94 . 
     After this processing, the subroutine proceeds to a step S 449 . 
     In the step S 449 , a command duty basic value Dty_h is calculated by performing linear interpolation processing by the following equation (40) using the duty values Duty_h, Duty_l found by the above processing, the linearization processing value Ratdty of the command opening rate Avnt, and the temperature correction amount Dty_t. 
     
       
           Dty   —   h= (Duty —   h −Duty —   l )· Ratdty+ Duty —   l+Dty   —   t   (40)  
       
     
     By changing the straight line used for linear interpolation processing in the case where the command opening rate Avnt, is decreasing, and the case where it is not, the command duty basic value Dty_h is made smaller, for the same linearization processing value Ratdty, in the case where the command opening rate Avnt is decreasing than in other cases. 
     In a next step S 450 , the duty hold flag fnt 2  is determined. When the duty hold flag fvnt 2  is one, i.e., the command opening rate prediction value Adlyvnt is not changing, a command duty value Dtyv is set equal to the duty value Dtyvnt n−1  calculated on the immediately preceding occasion the subroutine was executed, in a step S 451 . The duty value Dtyvnt n−1  will be described in detail later. 
     When the duty hold flag fvnt 2  is zero, i.e., when the command opening rate prediction value Adlyvnt is changing, in a step S 452 , the command duty value Dtyv is set equal to the command duty basic value Dty_h calculated in the step S 449 . 
     Thus, after determining the command duty value Dtyv in the step S 451  or step S 452 , in a final step S 453 , the controller  41  performs an operation check on the variable nozzle  53  using the subroutine of FIG. 96 based on the command duty value Dtyv. 
     Referring to FIG. 96, in a step S 481 , the controller  41  first reads the command duty value Dtyv, engine rotation speed Ne, target fuel injection amount Qsol and the cooling water temperature Tw. 
     In subsequent steps S 482 -S 485 , it is determined whether or not operation check conditions are satisfied. An operation check is performed only when all these conditions are satisfied. 
     In the step S 482 , it is determined whether or not the target fuel injection amount Qsol is less than a predetermined value QSOLDIZ#. When this condition is satisfied, it means that the diesel engine  1  is performing fuel cut. 
     In the step S 483 , it is determined whether or not the engine rotation speed Ne is less than a predetermined value NEDIZ#. When this condition is satisfied, it means that the rotation speed Ne of the diesel engine  1  is in an intermediate or low speed region. 
     In the step S 484 , it is determined whether or not the cooling water temperature Tw is less than a predetermined value TWDIZ#. When this condition is satisfied, it means that warming up of the diesel engine  1  is not complete. 
     In the step S 485 , it is determined whether or not an operation check flag Fdiz is zero. When this condition is satisfied, it means that an operation check has not yet been performed. 
     When all the conditions are satisfied, an operation check counter value CtFdiz is incremented in a step S 486 , and the routine proceeds to a step S 487 . 
     If any of the determination results of the steps S 482 -S 484  is not satisfied, the subroutine resets the operation check flag Fdiz to zero in a step S 493 , and proceeds to a step S 494 . However, when the operation check flag fdiz is one in the step S 485 , it proceeds to the step S 494  immediately. 
     In a step S 487 , the operation check counter value CtFdiz is compared with a predetermined upper limiting value CTRDIZH#. 
     When the operation check counter value CtFdiz is smaller than the upper limiting value CTRDIZH#, in a step S 488 , the operation check counter value CtFdiz is compared with a predetermined lower limiting value CTRDIZL#. When the operation check counter value CtFdiz is not less than the lower limiting value CTRDIZL#, in a step S 489 , a duty value Dtyvnt is set for checking operation using a subroutine shown in FIG.  97 . 
     The upper limiting value CTRDIZH# is set to, for example, seven seconds, and the lower limiting value CTRDIZL# is set to, for example, two seconds. In this case, the duty value for checking operation is set only in a five second interval of the difference between the upper limiting value and lower limiting value. 
     Here, referring to FIG. 97, a subroutine for setting the duty value for operation check will be described. 
     The controller  41 , in a step S 501 , first reads the operation check counter value CtFdiz and engine rotation speed Ne. 
     In a following step S 502 , a control pattern value Duty_pu is set by looking up a map shown in FIG. 98 based on the difference of the operation check counter value CtFdiz and lower limiting value CTRDIZL#. This map is previously stored in the memory of the controller  41  The control pattern value Duty_pu is set so that it repeatedly varies between zero and one with a short period according to the elapsed time after the operation check counter value CtFdiz exceeds the lower limiting value CTRDIZL#. 
     In a next step S 503 , a duty value Duty_p_ne commanded to the pressure control valve  56  is calculated by looking up a map shown in FIG. 99 previously stored in the memory of the controller  41 , based on the engine rotation speed Ne. The duty value Duty_p_ne is set supposing that the duty for checking the opening and closing operation of the variable nozzle  53  differs according to the engine rotation speed Ne. For example, when the variable nozzle  53  is to be closed, it must close against the exhaust gas pressure. The exhaust gas pressure increases in accordance with the increase in engine rotation speed Ne. 
     Further, when the engine rotation speed Ne is in the high-speed region, the closing of the variable nozzle  53  to check operation has a major impact on the engine running environment. Therefore, in the high speed region, the duty value Duty 13  p_ne is decreased as the engine rotation speed Ne increases so as to reduce the impact on the engine running environment. 
     In a following step S 504 , the duty value Dtyvnt is calculated by multiplying the duty value Duty_p_ne by the control pattern value Duty_pu, and the subroutine is terminated. 
     In this way, by terminating the subroutine of FIG. 97, the processing of the step S 489  of FIG. 96 is terminated and the subroutine of FIG. 96 is also terminated. 
     On the other hand, in the step S 487  of FIG. 96, when the operation check counter value CtFdiz is not less than the upper limiting value CTRDIZH#, the processing of the step S 490  is performed. Here, an immediately preceding value CtFdiz n−1  of the operation check counter value CtFdiz operation is compared with the upper limiting value CTRDIZH#. If the immediately preceding value CtFdiz n−1 is less than the upper limiting value CTRDIZH#, it means that CTRDIZH# reached the upper limiting value CTRDIZH# for the first time in the repeat execution of this subroutine, the duty value Dtyvnt is set to zero in a step S491, the operation check flag fdiz is set to one in a step S492, and the subroutine is terminated.    
     By once setting the duty value Dtyvnt to zero in the step S 491  when the operation check is completed, the variable nozzle  53  fully opens. This operation aims to maintain control precision during ordinary control performed thereafter. By setting the operation check flag fdiz to one, the determination result of the step S 485  will always be affirmative in the execution of the subroutine thereafter. It means the operation check of the variable nozzle  53  is performed only once after starting the diesel engine  1 . 
     On the other hand, when the immediately preceding value Ctfdiz n−1  of the operation check counter value Ctfdiz is not less than the upper limiting value CTRDIZH# in the step S 490 , the subroutine proceeds to the step S 494 . In the step S 494 , the operation check counter value Ctfdiz is reset to zero, and the routine proceeds to a step S 495 . 
     When the operation check counter value Ctfdiz is less than the predetermined lower limiting value CTRDIZL# in the step S 488 , the subroutine also proceeds to the step S 495 . 
     In the step S 495 , the duty value Dtyvnt for operation check is set equal to the command duty value Dtyv determined in the step S 451  or step S 452  of FIG. 84, and the subroutine is terminated. In this case therefore, the ordinary control of the variable nozzle  53  is performed. 
     In particular, when operation of the pressure actuator  54  is unstable such as at low temperatures etc., this operation check of the variable nozzle  53  makes the operation of the variable nozzle  53  smooth and increases reliability in control of supercharging pressure. 
     In this way, by ending the subroutine of FIG. 96, the processing of the subroutine of FIG. 84 is terminated and the routine of FIG. 38 is also terminated. 
     Next, the effect of the supercharging pressure control of the turbocharger  50  according to this invention during acceleration of the diesel engine  1  will be described referring to FIGS. 104A-104E and FIGS. 105A-105E. 
     FIGS. 104A-104E show an acceleration operation in the small exhaust gas amount region wherein the charging efficiency increases with increase in the exhaust gas amount. This situation corresponds to the case shown by the arrow A of FIG.  100 . 
     The controller  41  separates the response delay of the intake fresh air amount relative to the command signal input into the pressure actuator  54 , into a gas flow lag and the response delay of the pressure actuator  54  itself, and performs advance processing separately on each response delay. Due to the stepwise increase of the target fuel injection amount Qsol and target intake fresh air amount tQac accompanying acceleration shown in FIGS. 104A,  104 B, the target opening rate Rvnt of the adjustable nozzle  53  also decreases stepwise at a time t 1 , as shown in FIG.  104 C. 
     In this case, the open loop control amount Avnt_f of the target opening rate wherein advance processing which compensates the gas flow lag relative to the target opening rate Rvnt, first decreases in stepwise fashion as shown in FIG. 104C at the time t 1 , becomes smaller than Rvnt, and then gradually approaches the target opening rate Rvnt. 
     A value obtained by performing advance processing on the open loop control amount Avnt_f for correcting the response delay of the pressure actuator  54 , varies in stepwise fashion to a still smaller value than the open loop control amount Avnt_f at the time t 1 , as shown in FIG. 104D, follows the open loop control amount Avnt_f, and then slowly approaches the target opening rate Rvnt. 
     Thus, according to this invention, separate advance corrections are performed on two response delays having different characteristics, i.e., the gas flow lag and the response delay of the pressure actuator  54 , and the two kinds of response delays are corrected with high precision. Hence, the cylinder intake fresh air amount Qac relative to the command signal input into the pressure control valve  56  increases with sufficient response, as shown by the solid line in FIG.  104 E. In other words, the precision of advance processing in the control of the opening of the variable nozzle  53  improves. The dotted line of FIG. 104E shows the variation of the cylinder intake fresh air amount Qac when no advance processing is added to the target opening rate Rvnt. 
     In this control device, as the advance correction gain TGKVNTC when the pressure actuator  54  is driven in the increasing direction of supercharging pressure is set larger than the advance gain TGKVNTO when the pressure actuator  54  is driven in the decreasing direction of supercharging pressure in the small exhaust gas amount region, the supercharging pressure can be started with sufficient response relative to the command signal even when the gas flow lag increases due to increase of the ÷pressure. 
     Also, regarding the time constant equivalent value Tcvnt, the value when the pressure actuator  54  is driven in the increasing direction of supercharging pressure is set smaller than the value when the pressure actuator  54  is driven in the decreasing direction of supercharging pressure. 
     The time constant equivalent value Tcvnt corresponds to the inverse of the time constant. When the pressure actuator  54  is driven in the increasing direction of the supercharging pressure that is known to cause a gas flow lag of large time constant, the supercharging pressure can be increased with good response due to this setting of Tcvnt. 
     FIGS. 105A-105E show an acceleration operation in the large exhaust gas amount region wherein the charging efficiency falls with increase in the exhaust gas amount. 
     This corresponds to the case shown by the arrow B of FIG.  100 . 
     Also in this case, the target fuel injection amount Qsol and the target intake fresh air amount tQac increase stepwise due to acceleration, as shown in FIGS. 105A and 105B. However, conversely to the small exhaust gas amount region, the target opening rate Rvnt of the variable nozzle  53  increases stepwise at a time t 2  in the opening direction of the variable nozzle  53 . Under this condition, as described hereabove, the advance correction gain is a positive value less than 1.0, and equation (29) effectively functions as a delay processing equation. 
     Although the open loop control amount Avnt_f of the opening rate of the variable nozzle  53  increases at the time t 2  when the target opening rate Rvnt increases stepwise, the increase amount is less than Rvnt. Subsequently, the open loop control amount Avnt_f gradually approaches the target opening rate Rvnt, as shown in FIGS.  105 C and  105 fD. 
     In the large exhaust gas amount region also, as well as in the small exhaust gas amount region, advance processing is performed to correct the response delay of the pressure actuator  54  relative to the open loop control amount Avnt_f. 
     The value after this advance processing is larger than the open loop control amount Avnt_f as shown by the solid line of FIG. 105D, but this advance processed value will never be larger than the target opening rate Rvnt. In other words, the delay processing due to equation (29) in this situation has a larger effect on the command signal than the advance processing corresponding to the response delay of the pressure actuator  54 . Due to this delay processing, the adjustable nozzle  53  opens gradually. The gradual opening of this variable nozzle  53  has the effect of preventing a temporary decline of the rotation speed of the exhaust gas turbine  52 . 
     As the rotation speed of the exhaust gas turbine  52  does not fall, the cylinder intake fresh air amount Qac increases without delay. The dotted line of FIG. 105E shows the variation of the cylinder intake fresh air amount Qac when advance processing related to the response delay of the pressure actuator  54  is performed, but actual delay processing by equation (29) related to the gas flow lag is not performed. 
     Although it is also possible to determine the large exhaust gas amount region, small exhaust gas amount region and intermediate region based on the charging efficiency of the turbocharger  50  as described hereabove, the calculation of charging efficiency is complex. 
     By classifying the regions using the exhaust gas amount as parameter instead of the charging efficiency as in this embodiment, classification of the regions is easy and the composition of the program of the controller  41  may be simplified. 
     Next, a second embodiment of this invention relating to a subroutine for calculating the target opening rate Rvnt will be described referring to FIGS. 56-58. 
     According to this embodiment, the target opening rate Rvnt is calculated using a subroutine shown in FIG. 56 instead of the subroutine of FIG.  51 . 
     In the subroutine of FIG. 56, the target EGR rate Megr is used for calculating the target opening rate basic value Rvnt 0  instead of the EGR amount equivalent value Qes 0  used in the subroutine of FIG.  51 . As a result, in this subroutine, the step S 303  which calculates the EGR amount equivalent value Qes 0  in the subroutine of FIG. 51 is omitted. 
     Further, in the step S 307 , the target opening rate basic value Rvnt 0  is calculated from the set intake fresh air amount equivalent value tQas 0  and target EGR rate Megr using the map of FIG. 57 instead of the map of FIG.  52 . Likewise, in the step S 308 , the target opening rate basic value Rvnt 0  is calculated from the set intake fresh air amount equivalent value tQas 0  and target EGR rate Megr using the map of FIG. 58 instead of the map of FIG.  53 . 
     The remaining features of the process are identical to those of the subroutine of FIG.  51 . 
     In the maps of FIG.  57  and FIG. 58, the target opening rate basic value Rvnt 0  may be set based on the target intake fresh air amount tQac and real EGR rate Megrd instead of setting it based on the set intake fresh air amount equivalent value tQas 0  and target EGR rate Megr. Further, the target opening rate basic value Rvnt 0  may be set based on the target intake fresh air amount tQac and target EGR rate Megr. 
     In the transient running state of the diesel engine  1 , a delay occurs until the real EGR rate Megrd catches up with the target EGR rate Megr, and due to the deviation from the EGR amount corresponding to the delay, an error occurs in the target opening rate basic value Rvnt 0 . When the target opening rate basic value Rvnt 0  is set by using the real EGR amount Megrd, which is a value obtained by applying delay processing to the target EGR rate Megr, the optimum target intake fresh air amount is obtained for all preselected characteristics including fuel consumption, exhaust gas composition and acceleration performance even in the transient running state of the diesel engine  1 . Further, simpler conformity and simplification of control logic can be achieved. 
     Next, a third embodiment of this invention will be described referring to FIGS. 106-108. 
     In this embodiment, the subroutine of FIG. 106 is used instead of the subroutine for calculating the EGR valve opening surface area Aev of FIG. 37 used in the first and second embodiment. The remaining features are identical to those of the first and second embodiments. 
     In the first and second embodiments, the EGR valve opening surface area Aev is calculated from the EGR flowrate Cqe and target EGR amount Tqek, but according to this embodiment, the real opening rate Rvnte of the variable nozzle  53  is adopted as an approximation of the differential pressure of the EGR valve  6 . 
     The opening surface area Aev of the EGR valve  6  is calculated using the real opening rate Rvnte and target EGR amount Tqec or real EGR rate Megrd as parameters. 
     First, in a step S 511 , the controller  41  reads the target EGR amount Tqec per cylinder at the position of the EGR valve  6 , a flowrate learning correction coefficient Kqac, an EGR flowrate feedback correction coefficient Kqac 0  and an EGR amount feedback correction coefficient Kqac 00 . These are values calculated by the routines of FIG.  6  and FIG.  22 . 
     In a following step S 512 , a target EGR amount Tqek 2  is found per unit exhaust gas amount by the following equation (41).              Tqek2   =       Tqec     Kqac   ·   Kqac0   ·   Kqac00         SVOL                 #               (   41   )                         
     where, 
     SVOL#=exhaust gas amount per cylinder. 
     In a step S 513 , the delay processing value Rvnte of the target opening rate Rvnt calculated by the routine of FIG. 60 is read. 
     In a next step S 514 , a target EGR valve opening surface area Eaevper unit exhaust gas amount is found referring to a map shown in FIG. 107 which is prestored in the controller  41 , based on the delay processing value Rvnte and target EGR amount Tqek per cylinder of the diesel engine  1 . 
     In the map of FIG. 107, the delay processing value Rvnte which is the horizontal axis, may be considered to be approximately equal to the differential pressure upstream and downstream of the EGR valve  6 . For example, providing that the opening of the EGR valve  6  is set constant, the smaller the delay processing value Rvnte, the larger the opening of the variable nozzle  53  and the higher the supercharging pressure. Consequently, the differential pressure upstream and downstream of the EGR valve  6  becomes large. Conversely,the larger the delay processing value Rvnte, the larger the opening of the variable nozzle  53  and the lower the supercharging pressure. Consequently, the differential pressure upstream and downstream of the EGR valve  6  decreases. 
     Thus, the delay processing value Rvnte which is the horizontal axis may be considered to represent the differential pressure upstream and downstream of the EGR valve  6 . By taking the EGR amount as the vertical axis, the opening of the EGR valve  6  can be specified with these parameters as can be understood from the map of FIG.  107 . The figures in FIG. 107 are temporary value assigned to show the relative magnitude of the opening of the EGR valve  6 . 
     The inventors obtained the map of FIG. 107 by experiment, but the EGR valve opening area Aev may also be determined using a theoretically defined map as shown in FIG.  108 . 
     In FIG.  107  and FIG. 108, the characteristics largely differ in the region of the right-hand side of the map, but as control is not actually performed in this region, there is no effect on the control whichever map is used. 
     What is read from these maps is not the opening area of the EGR valve  6 , but the target EGR valve opening area EAev per unit exhaust gas amount. This is in order to be able to apply the map without depending on the exhaust gas amount of the diesel engine  1 . 
     After the controller  41  calculates the target EGR valve opening area EAev per unit exhaust gas amount in the step S 514 , the target EGR valve opening area Aev is calculated by multiplying EAev by the exhaust gas amount per cylinder SVOL# of the diesel engine  1  in a step S 515 , and the subroutine of FIG. 106 is terminated. 
     Thus, by taking the real opening rate Rvnte as an approximation of the upstream/downstream differential pressure of the EGR valve  6 , it is possible to calculate the target EGR valve opening surface area Aev directly without calculating the EGR flowrate Cqe. Therefore, the EGR control logic can be simplified according to this embodiment, and the control precision of the EGR valve also improves. 
     In the above embodiments, when the advance correction gains TGKVNTO, TGKVNTC used for calculation of the open loop control amount Avnt_f of the variable nozzle  53  are set, the charging efficiency is classified using the exhaust gas amount as a parameter. As the intake air amount increases assuming that the exhaust gas amount increases, it is also possible to classify charging efficiency by using the intake air amount as a parameter, and to apply the intake air amount instead of the exhaust gas amount to the horizontal axis of the map of FIG.  62  and FIG.  63 . Specifically, it is classified into a small intake air amount region where the charging efficiency increases with increase of intake air amount, a large intake air amount region where the charging efficiency decreases with increase of intake air amount, and an intermediate region situated therebetween. 
     In the above embodiments, the variable nozzle  53  is driven by the pressure actuator  54 , but it is also possible to use other types of actuator. In all the embodiments, the target opening rate Rvnt is used as an operation target value of the variable nozzle  53 , but it is also possible to use a target opening surface area. 
     Although the invention has been described above by reference to certain embodiments of the invention, the invention is not limited to the embodiments described above. Modifications and variations of the embodiments described above will occur to those skilled in the art, in light of the above teachings. 
     For example, the fresh air amount and supercharging pressure correspond with each other, so the target supercharging pressure may also be used instead of the target intake fresh air amount tQac. 
     The turbocharger to which this invention is applied is not limited to a turbocharger comprising the variable nozzle  53 . This invention may also be applied to all variable geometric turbochargers which permit variation of the geometry of the exhaust gas turbine, such as a turbocharger comprising a scroll or diffuser which modifies the exhaust gas passage cross-sectional surface area of the exhaust gas turbine of the turbocharger. 
     This invention may be applied also to a diesel engine which does not perform exhaust gas recirculation. The diesel engine  1  is not limited to a “low-temperature premixing combustion type” in which the heat generation is produced by a single stage combustion. Thus, the invention may be applied also to an ordinary diesel engine in which diffusion combustion is performed after premixing combustion. 
     The embodiments of this invention in which an exclusive property or privilege is claimed are defined as follows: 
     Industrial Field of Application 
     As mentioned above, this invention compensates the delay in the variation of the intake air amount of a diesel engine due to operation of an actuator of a turbocharger according to the type of delay. Therefore, the response in an acceleration operation of a vehicle fitted with the supercharged diesel engine, is enhanced.