METHOD AND APPARATUS FOR CONTROLLING INTERNAL COMBUSTION ENGINES

Abstract: The invention relates to a method and an apparatus for controlling an internal combustion engine in which correction characteristics indicating whether or not various control constants proper or not are calculated through loop control of at least one of operation parameters, such as, an air-fuel ratio, on the basis of air-fuel ratio correction factors subjected to learning to thereby rationalize the control constants such as fundamental injection time so as to realize proper fuel injection and proper ignition timing control.

Description: BACKGROUND OF THE INVENTION The present invention relates to a method and an apparatus for controlling internal combustion engines specifically for controlling operation variables of a regulator which regulates the operating condition of the internal combustion engine. In a known internal combustion engine control apparatus, the operation condition of the internal combustion engine is detected, the fuel flow necessary at present is calculated by means of an arithemtic unit, and the injection valve is driven on the basis of the result of calculation. In such an internal combustion engine control apparatus, however, there has been a problem in that the secular change in injection valve and/or air flow sensor or variations in manufacturing the same makes it difficult to obtain a proper fuel flow. To solve such a problem, there has been proposed an apparatus additionally provided with a calibration learning function, for example, as disclosed in U.S. Patent No. 4,130,095. According to the calibration learning function, when a correction signal based on an output signal of an oxygen sensor provided in an exhaust system deviates from an ideal state, the amount of deviation is regarded as an amount of the secular change or variations in production and stored in a rewritable memory element. In practice, the above amount of deviation is used as a correction term in a computing equation for determining a fuel flow. In an internal combustion engine control apparatus, ignition timing control is carried out in addition to the above-mentioned fuel control. One of basic parameters for determining the ignition timing is an amount of air sucked into an internal combustion engine every cycle. In such a control apparatus, there are problems in the points as follows. One of the problems is such that when the output of an air amount flow varies due to secular change or variations in production as described above, it becomes impossible to obtain the ignition timing accurately because the variations in the air flow sensor per se for detecting the amount of air which is one of a basic parameters for determining the ignition timing cannot be detected, while the fuel feed amount can be corrected finally by means of the calibration learning function. A second one of the problems is as follows. In such a control apparatus, control constants for determining the fuel amount etc., are stored in a memory element or electronic memory means so that those control constants are read out from the memory element or electronic memory means to determine the fuel amount in operating the internal combustion engine. In such a control apparatus, however, the control constants to be stored in the memory element or electronic memory means are determined in a manner such that under the condition that the internal combustion engine is being actually operated, values of control constants required for the operation of the engine, for example, the values with which the exhaust harmful components becomes minimum, the values with which the output torque becomes maximum, and the like, are searched in various operational regions of the engine to thereby obtain the most optimum values which satisfy the required characteristics while changing the values of control constants again and again artificially. Accordingly, it takes a long time and many hands to finally determine the values of control constants and there is a limit in accuracy of the thus obtained control constants. Prior art document EP-A-191 923 discloses a method and apparatus for controlling the operation conditions of an internal combustion engine. According to the disclosed method, the ignition time is primarily controlled in accordance with a basic map which is stored in a read only memory. The values stored in this first map are corrected by factors which are stored in a second map, this second map being stored in a random access memory. The values in the second map are successively updated by a learning operation. The control values are further corrected with so-called global factors, which are factors which do not depend on the operation condition or which in other words would be the same at each position of a map. The engine is controlled by means of a feedback loop, where actuators are controlled in accordance with values outputted by a λ-sensor and values describing the engine speed. SUMMARY OF THE INVENTION It is an object of the present invention to provide a control apparatus and a method for controlling internal combustion engines in which control constants of a control signal for controlling the operation variables of a regulator which regulates the operating conditions of the internal combustion engine can be maintained at optimum values, and in which initial control constants of a control signal for controlling the operation variables of a regulator which regulates the operating condition of the internal combustion engine can be determined to be optimum values. This object is solved in accordance with the features of the independent claims, dependent claims are directed on preferred embodiments of the present invention. The feature of the present invention is in that characteristic correction values indicating whether the control constants are proper or not are obtained on the basis of deviation components of a control system obtained by feedback control and the control constants are corrected to be optimum values on the basis of the characteristic correction values. BRIEF DESCRIPTION OF THE DRAWINGS Other features and advantages of the present invention will be apparent from the following description taken in connection with the accompanying drawings, wherein: Fig. 1 is a view illustrating the configuration of an embodiment of the present invention; Fig. 2 is a block diagram showing the control in the embodiment of Fig. 1; Fig. 3 is a diagram for explaining an A/F correction factor; Fig. 4 is a view showing the configuration of a memory map for learning; Fig. 5 is a view showing the configuration of a comparison map; Fig. 6 is a view showing a map changing process; Fig. 7 is a flowchart of a learning routine; Fig. 8 is a flowchart of a map changing routine; Fig. 9 is a view showing the configuration of a map; Fig. 10 is a diagram showing the T s characteristic index; Fig. 11 is a diagram showing the T s characteristic; Fig. 12 is a diagram showing the Q a characteristic index; Fig. 13 is a view showing the whole leaning value and the learning value for every factor; Fig. 14 is a flowchart of correction; Fig. 15 is a block diagram for explaining the operation function; Fig. 16 is a brief flowchart of a characteristic correction routine; Fig. 17 is a flowchart of a correction logic; Fig. 18 is a flowchart of a simple logic; Fig. 19 is a flowchart of a detailed logic; Fig. 20 is a view illustrating the configuration of another embodiment of the present invention; and Fig. 21 is a flowchart for explaining the operation of the embodiment of Fig. 20. DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to the accompanying drawings, preferred embodiments of the present invention will be described hereunder. For a car gasoline engine, it is necessary to collectively control the operating condition so as to reduce the harmful components in the exhaust gas and so as to improve the fuel economy. To this end, used is an electronic engine control variable regulator (hereinafter referred to as "EEC") in which various signals indicating operation condition of the engine are fetched from various sensors by means of a controller using a microcomputer so that various control for fuel feed amount, ignition timing, etc., are carried out on the basis of the fetched signals to thereby realize optimum engine operating condition. Referring to Figs. 1 and 2, description will be made about an embodiment of the present invention, that is, an example of the control system in which an EEC as described above is applied to a fuel injection type internal combustion engine. Fig. 1 is a partially cut-away sectional view of the whole of an engine control system. In Fig. 1 the intake air is supplied through an air cleaner 2, a throttle chamber 4 and an intake manifold 6 into a cylinder 8. The gas combusted in the cylinder 8 is exhausted therefrom through an exhaust manifold 10 into the atmosphere. The throttle chamber 4 contains an injector 12 for injecting the fuel. The fuel injected from this injector 12 is atomized in the air path of the throttle chamber 4, and mixed with the intake air to make up a mixture gas, which is supplied via the intake manifold 6 to the combustion chamber of the cylinder 8 by the opening of the intake valve 20. A throttle valve 14 is mounted near the outlet of the injector 12, which valve 14 is so constructed as to be mechanically interlocked with the accelerator pedal and driven by the driver. An air path 22 is arranged upstream of the throttle valve 14 of the throttle chamber 4, and contains a hot-wire air flowmeter, that is, a flow rate sensor 24 made of an electrical heat resistance wire to pick up an electrical signal AF changing with the air velocity. Since the flow rate sensor 24 made of a heat resistance wire (hot wire) is arranged in the air bypass 22, it is protected from the high temperature gas at back fire in the cylinder 8 on the one hand and from the contamination by the dust in the intake air on the other hand. The outlet of the air bypass 22 is opened to a point near the narrowest portion of the venturi, while the entrance thereof is open upstream of the venturi. The injector 12 is supplied with the fuel pressurized through a fuel pump 32 from a fuel tank 30. Upon application of an injection signal from the control circuit 60 to the injector 12, the fuel is injected into the intake manifold 6 from the injector 12. The mixture gas taken in by way of the intake valve 20 is compressed by the piston 50, and burnt by a spark started on the spark plug (not shown). This combustion energy is converted into kinetic energy. The cylinder 8 is cooled by the cooling water 54. The temperature of the cooling water is measured by water temperature sensor 56, and the resulting measurement TW is used as an engine temperature. The exhaust manifold 10 has an oxygen sensor 142, which measures the oxygen concentration in the exhaust gas and produces a measurement λ. The crankshaft not shown carries a crank angle sensor for producing a reference angle signal and a position signal respectively for each reference crank angle and a predetermined angle (such as 0.5 degree) in accordance with the rotation of the engine. The output of the crank angle sensor, the output signal TW of the water temperature sensor 56, the output signal λ of the oxygen sensor 142, and the electrical signal AF from the hot wire 24 are applied to the control circuit 60 including a microcomputer and the like, an output of which drives the injector 12 and the ignition coil. Further, a bypass 26 leading to the intake manifold 6 is arranged over the throttle valve 14 in the throttle chamber 4, and includes a bypass valve 61 controlled to open and close. This bypass valve 61 faces the bypass 26 arranged around the throttle valve 14 and is operated by a pulse current to change the sectional area of the bypass 26 by the lift thereof. This lift drives and controls a drive unit in response to the output of the control circuit 60. Specifically, the control circuit 60 produces a periodical operation signal for controlling the drive unit, so that the drive unit adjusts the lift of the bypass valve 61 in response to this periodical operation signal. An EGR control valve 90 is for controlling the path communicating between the exhaust manifold 10 and the intake manifold 6 and thus to control the amount of EGR from the exhaust manifold 10 to the intake manifold 6. In this way, the injector 12 of Fig. 1 is controlled thereby to regulate the air-fuel ratio and the fuel increment, while the engine speed is controlled in idle state (ISC) by the bypass valve 61 and the injector 12, to which is added to EGR amount control. Fig. 2 shows the whole configuration of the control circuit 60 using a microcomputer, including a central processing unit 102 (CPU), a read only memory 104 (ROM), a random access memory 106 (RAM), and an input/output circuit 108. The CPU 102 computes the input data from the input/output circuit 108 by various programs stored in ROM 104, and returns the result of computation to the input/output circuit 108. RAM 106 is used as an intermediate storage necessary for the computation. Exchange of data between CPU 102, ROM 104, RAM 106 and the input/output circuit 108 is effected through a bus line 110 including a data bus, a control bus and an address bus. The input/output circuit 108 includes input means such as a first analog-digital converter 122 (hereinafter called ADC1), a second analog-digital converter (hereinafter called ADC2), 124, an angular signal processing circuit 126 and a discrete input/output circuit (hereinafter called DIO) 128 for inputting and outputting a 1-bit data. ADC1 includes a multiplexer (hereinafter called MPX) 162 supplied with outputs from a battery voltage sensor (hereinafter called VBS) 132, a cooling water temperature sensor (hereinafter called TWS) 56, an atmospheric temperature sensor (hereinafter called TAS) 136, a regulation voltage generator (hereinafter called VRS) 138, a throttle sensor (hereinafter called OTHS) 140 and an oxygen sensor (hereinafter called O₂S), 142. MPX 162 selects one of the inputs and applies it to an analog-digital converter circuit (hereinafter called ADC) 164. A digital output of the ADC 164 is held in a register (hereinafter called REG) 166. The output of a flow rate sensor (hereinafter called AFS) 24, on the other hand, is applied to ADC2 124, and converted into a digital value through an analog-digital converter circuit (hereinafter called ADC) 172 and is set in a register (hereinafter called REG) 174. An angle sensor (hereinafter called ANGLS) 146 produces a signal representing a reference crank angle such as 180 degree (hereinafter called REF) and a signal representing a small angle such as 1 degree (hereinafter POS) and applies them to an angular signal processing circuit 126 for waveform shaping. DIO 128 is supplied with signals from an idle switch 148 (hereinafter called IDLE-SW) which operate when the throttle valve 14 is returned to the full-closed position, a top gear switch (hereinafter called TOP-SW) 150 and a starter switch (hereinafter called START-SW) 152. Now, a circuit for producing a pulse based on the result of computation of CPU and objects of control will be explained. An injector control circuit (hereinafter called INJC) 1134 is for converting a digital computation result into a pulse output. A pulse INJ having a duration corresponding to the fuel injection amount is produced by INJC 1134 and applied through an AND gate 1136 to the injector 12. An ignition pulse generator circuit (hereinafter called IGNC) 1138 includes a register (hereinafter called ADV) for setting an ignition timing and a register (hereinafter called DWL) for setting an ignition coil primary current start timing. These data are set by CPU. The pulse ING is generated on the basis of the data thus set, and is applied through an AND gate 1140 to an amplifier 62 for supplying a primary current to the ignition coil. The opening rate of the bypass valve 61 is controlled by a pulse ISC applied thereto through the AND gate 1144 from a control circuit 1142 (hereinafter called ISCC). ISCC 1142 has a register ISCD for setting a pulse duration and a register ISCP for setting a pulse period. An EGR amount control pulse generator circuit (hereinafter called EGRC) 1178 for controlling the EGR control valve 90 includes a register EGRD for setting a value representing a duty cycle of the pulse and a register EGRP for setting a value representing a pulse period. The output pulse EGR of this EGRC is applied through the AND gate 1156 to a transistor 90. The 1-bit input/output signal, on the other hand, is controlled by the circuit DIO 128. Input signals include the IDLE-SW signal, the START-SW signal and the TOP-SW signal, while the output signals include a pulse output signal for driving the fuel pump. This DIO includes a register DDR 192 for determining whether or not a terminal is used as an input terminal and the register DOUT 194 for latching the output data. A mode register (hereinafter called MOD) 1160 is for holding commands for specifying various conditions in the input/output circuit 108. By setting a command in this mode register 1160, for example, all the AND gates 1136, 1140, 1144 and 1156 can be actuated or deactivated as desired. It is thus possible to control the start and stop of the output of the INJC, IGNC and ISCC by setting a command in the MOD register 1160. DIO 128 produces a signal DIO1 for controlling the fuel pump 32. In the EEC illustrated in Figs. 1 and 2, the fuel injection by means of the injector 12 is carried out periodically intermittently in synchronism with the rotation of the engine, and the control of the fuel injection amount is performed by controlling the valve opening time of the injector 12, that is, the fuel injection time T i in one fuel injection operation. In the embodiment of the present invention, the fuel injection time T i is basically determined as follows. T i = α ·T p ·(K ℓ + K t - K s ) + T s (1) where K const represents an injector factor, T p a fundamental fuel injection time, α air-fuel ratio correction factor, T s ineffective fuel injection time, K ℓ a steady-state learning factor, K t a transient-state learning factor, K s an ineffective fuel injection time factor, Q a an intake air flow rate, and N the engine speed. That is, the fundamental fuel injection time T p is determined on the basis of the engine intake air flow rate Q a and the engine speed N in accordance with the equation (2) so as to briefly obtain the theoretical air-fuel ratio (A/F = 14.7), and the air-fuel ratio correction factor α is corrected on the basis of the signal λ of the oxygen sensor 142 so as to correct the air-fuel ratio by means of feedback to thereby obtain more accurate theoretical air-fuel ratio. Thereafter, variations in characteristics and/or secular changes of various actuators and sensors related to the air-ruel ratio control are compensated on the basis of the steady-state learning factor K ℓ , acceleration and deceleration characteristics are corrected on the basis of the transient-state learning factor K t , and the shift factor is subtracted from the resultant in rapid deceleration operation. Thus, the fuel injection time T i is determined. Let the output signal of the oxygen sensor 142 by λ. This signal λ is produced in digital form (taking a high-level or low-level value alone) according to the presence or absence of oxygen in the exhaust gas. In order to permit an air-fuel ratio control on the basis of the digital signal, the output signal λ of the oxygen sensor 142 is checked, and the control factor α is changed stepwise upward or downward each time the output signal λ changes from high (air-fuel ratio on rich side) to low level (air-fuel ratio on lean side) or from low level to high level, followed by gradual increase or decrease thereof. The manner of change in the control factor α according to the rich or lean state of the signal λ is shown in Fig. 3. An extreme value of the control factor α which appears at the time of reversal of the output signal λ of the oxygen sensor 142 is checked, so that the extreme value obtained at the time of change from lean to rich state of air-fuel mixture gas is assumed to be α max and the extreme value obtained at the time of change from rich to lean state is assumed to be α min . From these values, the average value α ave of the factor α is obtained by the equation below. In an embodiment of the present invention, an upper limit T.U.L and a lower limit T.L.L of this average value α ave are set as shown in Fig. 3, and when the average value α ave deviates from the range between T.U.L and T.L.L, the error between the average value α ave and α = 1.0 is taken out and used as a learning factor Kℓ. The process of taking out this learning factor Kℓ is performed in all engine operating regions subjected to oxygen feedback control. Fig. 4 shows an example of the memory map for writing the learning factor Kℓ, in which the engine operating regions are determined by the engine speed N and the basic fuel injection time Tp, and each learning factor Kℓ determined as above is stored therein according to each operating region. The learning factor Kℓ is picked up only when and on condition that at least n extreme values of the control factor α (n: a predetermined value such as 5) have appeared continuously while the engine operating conditions remain in the same operating region. The map of Fig. 4, which is used to store the learning factor Kℓ used for controlling the fuel injection time Ti steadily according to equation (1), is defined as a steady-state learning map. As seen from the map of Fig. 4, according to the embodiment, the basic fuel injection time Tp, which corresponds to engine load as apparent from equation (2), is divided into eight parts from 0 to TP7, and so is divided the engine speed from 0 to N₇, so that a total of 64 (= 8 x 8) dividing points are obtained and used as engine operating regions. In this embodiment, the learning factors Kℓ are not directly written or corrected in the steady-state learning map but by use of another two maps including a buffer map and a comparison map as shown in Fig. 5 having the same regional configuration as the steady-state learning map. A routine for preparation of a steady-state learning map using a plurality of maps as above will be explained with reference to Fig. 6. Initially, the steady-state learning map and the comparison map are both cleared as shown in Fig. 6 (A). When the engine is operated under this condition and each time the value of the learning factor Kℓ is determined for each operating region, it is sequentially written in a corresponding area of the buffer map alone. The routine for determining the learning factor Kℓ in this process will be described later. In this case, the factor Kℓ in equation (1) is set to 1.0. The number of the operating regions in which the learning factor Kℓ is written in the buffer map is increased as the engine contunues to be operated. The learning factors Kℓ for all the 64 operating regions provided in the map, however, cannot be determined easily by normal engine operation since the operating regions include sufficient margins over actual engine operation. When the number C of the operating regions where the learning factor Kℓ is written in the buffer map under the condition of Fig. 6 (A) reaches a predetermined value ℓ, therefore, the same data of number C written in the buffer map is also written in the comparison map as shown in Fig. 6 (B). The value ℓ is determined smaller than the number 64 of the operating regions provided in these maps, and is set to the range from 20 to 30 in this case. Next, as shown in Fig. 6 (C), with reference to the data in the number of C written in the buffer map, predetermined learning factor Kℓ is written in all the operating regions to complete the whole buffer map. This state is expressed by D in the drawing. This data D is transferred to the steady-state learning map, followed by transfer to the buffer map of the data C which has thus far been stored in the comparison map as shown in Fig. 6 (D). As a result, all the regions of the steady-state learning map is stored with the learning factor Kℓ, so that the fuel injection time Ti begins to be controlled according to equation (1) using the learning factor Kℓ of the steady-state learning map at the time point when the condition of Fig. 6 (D) is obtained. Up to this time, the calculation of equation (1) is conducted with the constant 1.0 as the learning factor Kℓ. After the engine control has been entered with the steady-state learning map in this manner, the learning factors Kℓ in the steady-state learning map and the buffer map are corrected by a new factor as shown in Fig. 6 (E) each time a new learning factor Kℓ is obtained by the learning in a corresponding operating region as shown in Fig. 3, thus changing the data D and C to D′ and C′ respectively. Each time the correction is made by the new factor (in the case of the buffer map, not only the correction but also the new writing in the operating regions that have not thus far written with any learning factor), the control factor α is temporarily made 1.0, and the data C′ written in the buffer map is compared with the data C stored in the comparison map to check to see whether or not the difference in the number of factors in respective regions reaches a predetermined number m . If it has reached the number m , the data F of the buffer map of Fig. 6 (F) is transferred to the comparison map as shown in Fig. 6 (B). Then, as shown in Fig. 6 (C), on the basis of the value of the data in the regions already corrected, the factors of all the regions are corrected and written in the steady-state learning map. The routine of Figs. 6(B) to 6(D) is repeated. In other words, Fig. 6 (F) indicates the processes from (B) to (D) sequentially conducted. The number m mentioned above is a predetermined value such as 10 smaller than number ℓ. According to this embodiment, the air-fuel ratio can be controlled while maintaining the average value of the control factor α always near 1.0 by the learning factor K , resulting in a high responsiveness to fully prevent the exhaust gas from deteriorating during the transient state. In addition, the decision of the time point where the steady-state learning map is to be rewritten by learning is very rationally made by comparison between the buffer map and the comparison map, so that the learning becomes possible accurately meeting the aging of the characteristics of the parts, thus keeping the exhaust gas characteristic uniform over a long period of time. According to the present embodiment, in the regions of the steady-state learning map shown in Fig. 4 where the basic fuel injection time Tp is Tp7 or more and the engine speed N is N₇ or more, the learning factor Kℓ in the regions in the column to the extreme right in the lowest line of the map is used for control, and therefore an optimum power correction is automatically effected all the time even when the engine operating conditions enter the power running area. Now, an embodiment of the learning routine of the learning factor Kℓ and the routine for executing the process shown in Fig. 6 will be explained with reference to the flowcharts of Figs. 7 and 8. The process according to these flowcharts is repeated at regular intervals of time such as 40 msec after engine start. First, in Fig. 7, step 300 decides whether or not the oxygen feedback control has been started, and if the result is "Yes", the process is passed to step 302. If the answer is "No", by contrast, the process proceeds to step 332. At step 302, whether or not the signal of the oxygen sensor has crossed the level of λ = 1 (air-fuel ratio A/F of 14.7). If the answer is "No", the process is passed to step 332 where the well-known integrating process is performed (the process for determining the change in the incrementing and decrementing portions of the control factor α). If the result is "Yes", the process is passed to step 304, where the average value α ave shown in equation (3) is calculated. Step 306 decides whether or not the average value α ave is included in the range between upper and lower limits shown in Fig. 3, and if it is included, it indicates that normal feedback control is effected so that the counter is cleared at step 326 and the process is passed to step 332. If the average value α ave is not included in the range between upper and lower limits, by contrast, the error between the average value α ave and unity is determined as a learning compensation amount Kℓ at step 308. Then, step 310 calculates the present operating region determined from the basic fuel injection time Tp and the engine speed N shown in Fig. 4, followed by step 312 where it is compared with the immediately preceding operating region of the routine to decide whether or not the operating region has undergone a change. If it is found that the operating region has changed, that is, when the answer is "Yes", an operating region is not determined where the learning compensation amount Kℓ is to be written, and therefore the process is passed to step 326. If the operating region remains unchanged, on the other hand, the counter is counted up at step 314, followed by step 316 to decide whether or not the counter has reached n . If the count is not n , that is, when the answer is "No", the process proceeds to step 332. If the count is found to have reached n , by contrast, that is, when the answer is "Yes", step 318 clears the counter, and the process is passed to step 320. Step 320 decides whether or not the first steady-state learning map has been prepared by the operation from (B) to (D) in Fig. 6. If the map is not yet prepared, the process proceeds to step 322 and so on to perform the operation of (A) explained with reference to Fig. 6. Step 322 decides whether or not the factor Kℓ has already been written in the operating region involved. If it is already written, that is, when the answer is "Yes", the process is passed to step 332 without any further process. If the result is "No", on the other hand, step 324 writes the learning compensation amount Kℓ calculated at step 308 in the operating region involved. If it is found that the fisst steady-state learning map has been prepared, or the answer is "Yes" at step 320, then the process is passed to step 328 and so on to perform the operation of (E) and (F) explained with reference to Fig. 6. Step 328 adds the learning compensation amount Kℓ to the dividing point of the steady-state learning map and the buffer map, followed by step 330 where the air-fuel ratio compensation factor is made 1.0. By repeating the processes according to steps 300 to 332, the operations (A), (E) and (F) described with reference to Fig. 6 are performed. Now, the operations of (B), (C) and (D) explained with reference to Fig. 6 will be described with reference to the flowchart of Fig. 8. Step 350 decides whether or not the first steady-state learning map has been prepared, and if it has not yet been prepared, that is, when the answer is "No", the process is passed to step 354 to check the number of regions written of the buffer map. If the number has reached ℓ, the process is passed to step 356, while the process proceeds to step 370 in the opposite case. If the steady-state learning map is found to have been prepared that is, when the answer is "Yes" at step 350, step 352 checks the difference between the data on the buffer map and the comparison map. If there is a difference of m between the data between buffer map and comparison map, the process proceeds to step 356 to prepare a steady-state learning map. If the data difference is less than m , by contrast, the process is passed to step 370. At step 356, the flag in the process of preparing a map is set to prohibit the writing of the learning result. Step 358 transfers the data in the buffer map to the comparison map, followed by step 360 where the steady-state map is prepared by use of the buffer map. Step 362 transfers the data of the buffer map thus prepared to the steady-state learning map, followed by step 364 where the data of the comparison map is transferred to the buffer map. Step 366 sets the flag meaning that the steady-state learning map has been prepared. This flag is used for decision at step 350 and step 320 is Fig. 7. Step 368 resets the flag indicating the process of map preparation set at step 356. The foregoing is a process for forming the steady-state learning factor owing to the O₂ feedback control by use of an O₂ sensor and the steady-state learning of the air-fuel ratio correction factor. The learning factor is used in determining the secular-change correction factor and control constants which will be described later. Next, description will be made about the main portion of the embodiment of the present invention, that is, the characteristic indexes obtained on the basis of learning factors in the two different operating conditions and the operation of the device for correcting the secular change correction factors and control constants by making reference to the characteristic indexes. First, let the condition where the control constants do not accord with the physical characteristics of the engine, sensors and actuators be called "unmatched condition". Assuming that the learning is in the steady-state non-learned state where the learning factors of the equation (1) are Kℓ = 1.0, K t = 0, and K s = 0, the fuel injection time is expressed by the following equation (4) by use of the injector factor K const , the ineffective fuel injection time T s , and the air flow characteristic Q a in the unmatched condition. Ti = K const ·Q a /N·α+T s (4) This state can be expressed by use of matched values K const , Q a *, and T s * as follows in the equation (5) in which the feedback factor α is deleted. From the equations (4) and (5), the following equation (6) is established. Arranging the equation (6) by use of T p * = K const *·Q a */N, the following equation (7) is established. Kℓ(N, T p *) = E1 · E2 · E3 (7) E1 = (T s * - T s )/T p + 1.0 (8) E2 = K const */K const (9) E3 = Q a */Q a (10) From the equations (7) - (10), it can be understood that the following components are reflected to the Kℓ in the form of products as follows: T s ; E1 (mainly the function of T p *, see Fig. 13) K const ; E2 (constant) Q a ; E3 (function of Q a ) Next, K ℓ (N, T p *) will be considered in the case where the N, T p * are divided so that the iso air-flow lines are arranged diametrically as shown in Fig. 9 (Q a1 - Q a7 ). For the sake of simplicity, a map of 4 x 4 is considered, and let the learning values be the intersections. Then, the errors E for various factors in the unmatched condition are as follows in accordance with the equation (7). With respect to E1: T p * T p1 T p2 T p3 T p4 E1 a1 a2 a3 a4 With respect to E2: K const */K const = b1 With respect to E3: Q Q1 Q a 2 Q a 3 Q a 4 Q a 5 Q a 6 Q a 7 Q a */Q a c1 c2 c3 c4 c5 c6 c7 Accordingly, the map of K ℓ (N, T p *) at this time becomes as shown in following Table 1. As seen in the Table 1, with respect to the vertical axis T p , the value of E1 changes successively to be a1, a2, .... ; on the diametrical lines, the values E3 c1, c2, .... of the unmatched Q a are multiplied; and to all the value of map, the value b1 of E2 of the unmatched injector factor is multiplied. The factors of the K ℓ map are regarded as a matrix and the elements of the matrix are represented by Mij as shown in the Table 1. The elements of the matrix reflect the matching factors in the form as shown in the Table 1. For example, as shown in Fig. 10, the values a1 - a3 which are normalized with the value a4 of E1 at the T p4 can be obtained through division as shown in the following Table 2 with respect to the elements of matrix of the K ℓ map (Table 1). E1(T p 1)/E1(T p 4) = a1/a4 M44/M11 - - E1(T p 2)/E1(T p 4) = a2/a4 M33/M11 M34/M12 - E1(T p 3)/E1(T p 4) = a3/a4 M22/M11 M23/M12 M24/M13 Accordingly, if the characteristic with respect to this T p is captured, it is possible to correct the ineffective fuel injection time T s to establish matched condition, for example, on the basis of the tendency as shown in Fig. 11 (the value of E1 changes largely in proportion to the unmatched amount of the ineffective fuel injection time T s in the region where the value of the fundamental fuel injection time T p is small). That is, first, if the E1(T pi )/E1(T p4 ) is obtained by division of the learning value K ℓ on the iso air-flow lines, the character as shown in Fig. 10 is obtained. From the relation of equation (11), E1 = 1/E1(T p4 ){(T s *-T s )/T p +1.0} (11) the values E1(T p4 ) and (T s *-T s ) can be deduced by the method of least square by using the respective values of E1(T pi )/E1(T p4 ) at the four points T p1 - T p4 . Accordingly, the following equation (12) can be obtained. T s + (T s * - T s ) = T s * (12) The characteristic of E1 due to (T s *-T s ) can be calculated over the whole region of learning. Accordingly, the influence of E1 on the presently obtained learning value K ℓ can be eliminated. That is, the processing at this case can be made to be K ℓ ⇒ K ℓ ′ (∵ K ℓ ′ = K ℓ /E1(T pi )). Accordingly, from the equation (7), the characteristic can be obtained as expressed by the following equation (13). K ℓ ′(N, T p *) = E2 · E3 (13) This is the learning value K ℓ obtained when T s = T s * is established. Fig. 12 shows the case where the value of Q a is corrected in the same manner as Fig. 10. The calculation of the matrix (Table 1) is shown in the following Table 3. E3(Q a 1)/E3(Q a 4) = c1/c4 M41/M44 - - E3(Q a 2)/E3(Q a 4) = c2/c4 M42/M44 M31/M33 - E3(Q a 3)/E3(Q a 4) = c3/c4 M43/M44 M32/M33 M21/M22 E3(Q a 4)/E3(Q a 4) = c4/c4 1 1 1 E3(Q a 5)/E3(Q a 4) = c5/c4 M12/M44 M23/M22 M21/M33 E3(Q a 6)/E3(Q a 4) = c6/c4 M13/M11 M24/M22 - E3(Q a 7)/E3(Q a 4) = c7/c4 M14/M11 - - Here, in actual, since there is no way to determine the value E3(Q a4 ), the following process is carried out. K ℓ ′ ⇒ K ℓ ″ (∵ K ℓ ″ = K ℓ ′/E3(Q ai )·E3(Q a4 )) From the equation (13), the following equation (14) can be obtained. Accordingly, the following relation is established. Q a = Q a * / E3(Q a4 ) K const = K const * · E3(Q a4 ) Therefore, the following relation can be obtained. Taking the thus obtained characteristic into consideration, the matching factors in the unmatched condition are defined as follows. Klcd2 : K const correction factor Klcd1 : T s correction factor Klcd3 : Q a correction factor Taking the equations (4) and (5) into consideration, the matching factors are expressed as follows. Klcd2 = K const */K const (15) Klcd1 = T s * - T s (16) Klcd3 = Q a */Q a (17) Accordingly, K const * = Klcd2 · K const (18) T s * = T s + Klcd1 (19) Q a * = Klcd3 · Q a (20) Accordingly, the fuel injection time is expressed as follows. According to the equations (21) and (22), the factors to be corrected are distinguished for K const , T s and Q a in view of the changes appearing K ℓ due to the O₂ feedback, depending on the main causes of generation of the changes. Particularly, the fundamental fuel injection time T p is corrected with the product of the correction factor Klcd2 of the injector factor K const and the correction factor Klcd3 of the Q a , as shown in the equation (22). Further, the fuel injection time T i is obtained by adding the battery correction time (T s + Klcd1) to the fundamental fuel injection time T p , as shown in the equation (22). Consequently, the correction for the fuel injection time, which has been carried out generally with K ℓ , is classified depending on the main causes, and, particularly, the fundamental fuel injection time T p can be corrected in the manner as shown in the above equation (22). That is, separate learning for every cause can be realized. As shown in Fig. 13, the learning factor K ℓ can be separated into the K const correction factor Klcd2, the T s correction factor Klcd1, and the Q a correction factor Klcd3. Based on the foregoing analysis, the matching procedure will be described hereunder by making reference to Fig. 14. First, in the block B10, the respective initial values of K const , T s , and Q a are given. At this time, the K ℓ (N, T p ) map is in the not-learned state. Next, in the blocks B20 and B30, the O₂ feedback is carried out, various operation conditions (mode operations) are realized, the learning is performed on the K ℓ (N, T p ) map, so that the K ℓ (N, T p ) map in the learned state is obtained in the block B40. Next, in the blocks B50 - B80, from the thus obtained K ℓ (N, T p ) map the separation for every cause as shown in Fig. 13 is performed. Here, first, the correction on the air flow rate is carried out. From the characteristic of the elements of matrix in the Table 1, it is understood that the values normalized with c4, which is the value of E3 in the case of Q a4 , can be calculated by division of the elements of matrix as shown in the Table 3. From the Table 3, it is understood that there are several ways of calculation depending on the elements. In the case where learning has been carried out on the K ℓ map, average processing may be performed when it is judged that the average processing is effective in view of scattering of values. In the case where learning has been less performed, on the contrary, it will do to carry out correction by obtaining values of irreducible minimum. That is, with respect to the correction factor Klcd3 of the Q a , correction is made in a manner as shown in the following equations so as to make the relative error constant be 1/c4. Klcd3e represents the value which has been subjected to relative error correction. Klcd3e = ci/c4 (23) Q ai * = Klcd3e · Q ai (24) Klcd3 = c4 · Klcd3e (25) At the same time with the foregoing correction on Q a , the diagonal elements of the K ℓ map is calibrated as shown in the following equation (26). This is correction to be carried out because influence factors on the K ℓ map have been eliminated through the correction on the Q a table with the equation (24). Mij = Mij · (c4/ck) (26) where k = j - i + 4 (27) i, j; 1, 2, 3, 4 That is, uniform correction is performed on the diagonal elements in the condition of j - i = constant. As a result, the term related to Q a in the K ℓ map becomes ci = c4. The foregoing map be summarized as follows. From the K ℓ (N, T p ) map which has been subjected to learning, the Q a error characteristic is flattened to form a Q a correction table. Map correction corresponding to the Q a correction is performed on the K ℓ (N, T p ) map. A method is proposed as follows for correction on K const and T s . That is the way of correction on T s through division of matrix elements of the K ℓ (N, T p ) map. As shown in Fig. 11, in the case where there is unmatching in the ineffective fuel injection time T s and (T s * - T s ) is not "0", the characteristic curve of E1 with respect to T p becomes hyperbola and the value of E1 approaches 1 (one) as the value of T p becomes large. Accordingly, the correction term Klcd1 of T s is adjusted so as to make the values of a1/a4 and a2/a4 with respect to T p1 and T p2 in the low load region approach 1 (one) to thereby find an optimum value of T s . Here, for example, in the case where the value of T s is small, the values of a1/a4 and a2/a4 in a low load region become larger than 1 (one), and therefore operation is made so as to increase the value of Klcd1. In the case where the value of T s is large, on the contrary, operation is made so as to make the value of Klcd1 small. At this time, if the value of a1/a4 presents a tendency of increase/decrease stably, the degree of increase/decrease of Klcd1 may be set as shown in the following equation (28) in order to raise the converging speed of T s . Klcd1 = Klcd1 + (constant) · a1/a4 (28) The calculation of factors a1/a4 etc. is as shown in Fig. 11. Assuming that the value of the K ℓ (N, T p ) map becomes substantially constant K ℓF when the optimum value of T s comes into a predetermined range in the foregoing process, and if the common terms are bound so that the respective values of elements become near 1 (one), the following equations are established taking into consideration the conditions of E1 = 1 of the equation (8) and E3 = Q a */Q a of the equation (10). K const */K const · c4 = K ℓF (29) Klcd2 = K const */K const (30) From the equation (25), Klcd3 = ci = c4 · (ci/c4) = c4 · Klcd3e (31) From the equations (30) and (31), the following equation (32) is established. Klcd2 · Klcd3 = K const */K const · c4 · Klcd3e (32) Substituting the equation (29) into the equation (32), the following equation (33) is established. Klcd2 · Klcd3 = K ℓF · Klcd3e (33) The foregoing may be summarized as follows. That is, a characteristic value which becomes a function of T p is calculated depending on the unmatched value of T s from the revised K ℓ map, and the T s correction value is normalized by use of the calculated characteristic value as a reference. Next, a product of an uniform error of Q a and an error rate of K const is obtained by use of the values of common factors in the K ℓ map substantially flattened by the foregoing operation. Through the foregoing operation, the values of T s and K const can be calibrated. Thus the normalization of the control constants can be realized by repeating the foregoing operation. Further, since the control constants can be normalized, the calculation of the fundamental fuel injection time can be normalized so as to make the setting of ignition time proper to thereby make it possible to realize proper engine control collectively. Specific operation of the embodiment will be described hereunder. Fig. 15 shows a control constant correction device. An air-fuel ratio feedback means 400 generates an air-fuel ratio correction factor α through O₂ feedback. A steady-state learning means 500 carries out the steady learning shown in Figs. 7 and 8 so as to make learning on the air-fuel ratio correction factor in the steady state. Next, a characteristic index calculation means 600 calculates characteristic indexes with respect to the respective control constants by use of the air-fuel ratio correction factor subjected to the steady-state learning. Then, a control constant correction means 700 executes correction processing on the control constants by making reference to the characteristic indexes. Here, the characteristic indexes with respect to the control constants are defined as the values of ai/a4, ci/c4 etc., as shown in Figs. 10 and 12, and obtained through division between the elements of the air-fuel ratio correction factor α subjected to the learning. Further, at this time, since the air-fuel ratio correction factor α has a value near 1.0, the above processing can be carried out through subtraction in place of division. Next, the foregoing processing will be described more in detail by use of flowcharts. Fig. 16 is a brief flowchart for executing a characteristic correction routine 2000 after the steady-state learning step 500 (executed by the steady-state learning means 500 in Fig. 15). Fig. 17 is a brief flowchart of this characteristic correction routine HIMBASE. In Fig. 17, first, judgement is made as to whether the number of learning is equal to or larger than a predetermined value NA in the step 2010. Then, the processing is shifted to the step 2020 if the answer is "Yes" in the step 2010, while the characteristic correction processing is not carried out if the answer is "No". From the step 2020 to the step 2050, determination is made as to which one of a detailed logic 2060 and a simple logic 2070 is to be executed. That is, the detailed logic 2060 is executed only in the case where the judgement proves that the number of obtained values of the Q a characteristic QAN is larger than a predetermined value QANS and the number of obtained values of the T s characteristic NTS is larger than a predetermined value NTSS, while the simple logic 2070 is executed in the other case. Fig. 18 is a flowchart showing the processing contents of the simple logic HIMSIMP. In executing this logic, first, a matching state flag operation step 2110 is performed. In this step, it is determined that the matching or correction processing has been completed when the amount of change in values of the learning map obtained in the steady-state learning relative to the proceding values falls within a predetermined range, while it is determined that there is a matching error or correction error when the amount of change exceeds a given limit. In either case, either one of flags FHIMC and FHIME is set correspondingly. In the steps 2120 and 2130, judgement is made as to whether those flags FHIMC and FHIME are set respectively. In either step, if the judgement proves that the matching has been completed, the processing is ended here so as to be shifted to return. After returning upon completion of matching, the operation is actuated so as to execute another task with a predetermined considerably long period so that the matching processing is executed periodically. Upon occurrence of a matching error, on the other hand, the matching error processing step 2150 is executed. In this embodiment, as the contents of the matching error processing step 2150, the correction processing is basically released and only the control is executed on the air-fuel ratio correction factor by the steady state learning. In the case where the judgement proves that the matching has not been completed and no error has not been generated, that is, the answer is "Yes" in the step 2130, the processing in the steps 2135 et seq is executed. In the step 2135, the i-changeover processing is executed. The contents are as follows. That is, in this embodiment, there are two systems of maps, one being used as a present used map, the other being used as a calculation map. In this step 2135, the map change-over is executed in accordance with the conditions i = 1 or i = 0. In the next step 2140, the map values necessary for K const correction in the region where T p is large is searched. This is because, in the region where T p is large, the influence of T s is little and the influence of K const controls the whole under the condition that the variation in the Q a characteristic is less. Next, the step 2140 for intermediate average processing of the air-fuel ratio control constant α is executed. In this step, the maximum and minimum values are removed from the map values α extracted in the step 2140 and the remainder values are averaged. In the case where the number of the extracted values is 2 (two), the average of the two values is produced as the intermediate average value ALPROC, while in the case where only one value has been extracted, the extracted value is produced as it is as the intermediate average value ALPRO. In the step 2170, the average value ALPRO is substituted into the K const correction value KLCD2. In the succeeding map condition search processing step 2180, the map value K ℓ is searched in the region where the value of T p in the map is small, and the intermediate average processing is executed in the step 2190 similarly to the above case. In the succeeding step 2200, the T s correction value Klcd1 is calculated through multiplication by the gain KKKCD1. Subsequently the foregoing calculation, the learning map related to K const and T s is corrected in the map correction processing step 2210, and upon completion of map correction, the map is changed over in the step 2220 so that control can be performed with new factors. The foregoing are the contents of the characteristic correction processing by the simple logic HIMSIMP. Next, referring to Fig. 19, the detailed logic HIMPREC will be described. In the flowchart of Fig. 19, the correction processing in the unmatched condition of all the Q a , K const , and T s will be described. In the steps 2410, 2420, 2430, 2435 and 2450, the processing of matching completion and error judgement is executed in the same manner as in the case of the simple logic. In the Q a characteristic table calculation processing step 2440, the characteristic indexes related to Q a are calculated. In this step, when only part of the characteristic indexes are calculated, the remainder is calculated by interpolation calculation so that all the characteristic indexes are calculated. Even in the case where the learning has not been entirely completed, the correction processing in this step can be executed by the interpolation processing. In the succeeding T s characteristic table calculation processing 2460, the characteristic indexes related to T s are calculated in the same manner as in the step 2440. The T s characteristic indexes present a monotonous characteristic as explained with respect to Fig. 11. Accordingly, in the case where the result of calculation does not present such a monotonous characteristic, it is judged that there is an error and the error flag FTSCMPER is set. Thus, when an error exists, the processing in the judgement step 2470 is ended. In the case where no error exists, the T s correction value Klcd1 is calculated in the succeeding step 2480. In the succeeding map correction processing step 2500, the learning map is corrected with Q a , K const , and T s . Upon completion of the learning map correction, the map is changed over in the same manner as in the foregoing case so as to make the engine control with new correction values. The foregoing is the explanation for the detailed logic HINPREC. The relation between the control constants and the correction values may be summarized as follows. (1) Control Constants (a) Injector (scalar values) K const : injector factor T s : injector ineffective fuel injection time (b) Intake air flow rate sensor (linear table) Q a (i) : air flow rate characteristic (2) Correction Values Klcd2 : injector factor correction value K const : K consto x Klcd2 Klcd1 : ineffective fuel injection time correction value T s = T so + Klcd1 Klcd3(i) = air flow rate characteristic correction value Q a (i) = Q ao (i) x Klcd3(i) Here, K consto , T so and Q ao (i) are initial reference values. The foregoing correction for various control constants requires a two-dimensional map of air-fuel ratio correction factor for the engine speed and load. On the other hand, here, description will be made hereunder about correction for various control constants taking a serious view of efficiency of use of memories, that is, correction for various control constants which can be realized with a small number of memories. As shown in Fig. 15, an air-fuel ratio correction factor generated in the air-fuel ratio feedback means 400 is stored in the steady-state learning means 500. The way of storage of air-fuel ratio correction factor varies depending on the condition of correction. By way of the values stored in the steady-state learning means 500, characteristic indexes are calculated in the characteristic index calculation means 600 and the control constants are corrected in the control constant correction means 700. To realize the correction with a small number of memories, the various control constants are subjected to sequential correction. Fig. 20 shows an embodiment in which diagnosis processing is externally carried out. In this embodiment, a serial communication port SCI is provided in each of an engine control unit and an external engine diagnosis system to make it possible to make an access between a processor in the engine diagnosis system and a RAM in the engine control unit so that data D₁ and D₂ stored in the RAM can be read from the processor. Fig. 21 shows the processing executed in this embodiment of Fig. 20. In executing this processing, an engine identifying code previously assigned to the engine and the data D₁ and D₂ are read into the engine diagnosis system from the engine control unit (C/U) in the steps 900000 and 900100 respectively. Then, the data of history of the engine and the data of results of past diagnosis on another engine similar to the present engine are read into the engine diagnosis system from an external storage device in the steps 900102 and 900104 respectively. On the basis of those data, the diagnosis processing mainly including the same diagnosis processing as described above and the pattern matching of the foregoing history data with the data of diagnosis result is carried out in the step 900106 and the result of diagnosis is stored again in the step 900108. In this embodiment, therefore, diagnosis can be carried out objectively and accurately because the data in the engine control unit (C/U) is transferred to the external engine diagnosis system so that diagnosis can be performed while referring to history data peculiar to the engine and examples of other engines. In this embodiment, alternatively, the result of diagnosis may be written in the memory in the engine control unit (C/U). In this embodiment, further alternatively, the control apparatus may be arranged such that the engine is driven so that diagnosis is performed while fetching data in operation on board. Thus, according to the present invention, the characteristics of sensors and actuators provided in an engine control apparatus can be desiredly subjected to diagnosis, so that the operating conditions of the engine control apparatus can be always surely grasped, on-line gas control and self diagnosis can be performed, and rational car operating and maintenance can be attained easily.

Claims: A control apparatus for controlling an internal combustion engine, comprising (a) operating condition detection means (24, 42, 56, 132, 136, 138, 140, 142, 146, 148) each detecting an operating condition parameter of an internal combustion engine of a car; (b) regulation means (12, 32, 61, 62, 90) for regulating the operating conditions; (c) a control signal generation means (60) for generating a control signal for controlling said regulation means on the basis of an output of said operating condition detection means; and (d) feedback means (60, 108, 400) for generating a control signal (Ti, Tp) with control constants (Ts, Kconst, Qa) for controlling said regulation means (12, 62) by feeding back an output (λ) of said operating condition detection means (142) to generate a feedback factor (α) used for modifying the control signal to obtain a target value of the feedback output, (e) learning means for producing a map of learning factors (Kl) corresponding to the deviation of the average value of the feedback factor (α) from a target value therof for various running states (Tp, N), characterized by (f) means for extracting from said learning factors (Kl) characteristic indices (Klcd1, Klcd2, Klcd3) used to separately correct one of different control constants by calculating a ratio between learning factors (Kl) of two different engine running states, wherein only said one control constant changes, repeating said calculations for several of the mentioned running states to obtain a characteristic for said one control constant, and (g) means (60, 700) for normalizing said control constants by applying the respective characteristic to the latest control constants (Ts, Kconst, Qa) so as to correct said control signal (Ti, Tp). The control apparatus according to claims 1 or 2, wherein said control signal generation means (60) include memory means, and said means (400, 500, 600, 700) are further setting initial control constants being stored in said memory means. The control apparatus according to claim 1 or 2, wherein said operating condition detection means include: an fair-fuel ratio sensor (42) for detecting an air-fuel ratio on the basis of exhaust gas components of the engine and an air-flow sensor (24) for detecting an amount of air sucked into the engine; said control signal generation means include: an injection signal generation means (60) for generating fuel injection signal on the basis of an output of said air-flow sensor; wherein said control constants normalized by the constant normalizing means (400, 500, 600, 700) are used for optimized generation of said injection signal on the basis of an output of said air-fuel ratio sensor. The control apparatus according to claim 1 or 2, wherein said operating condition detection means include: an air-flow sensor (24) for detecting an amount of air sucked into an engine; an engine speed sensor (146) for detecting the engine speed of said engine; and an air-fuel ratio sensor (42) for detecting an air-fuel ratio on the bais of exhaust gas components of said engine; said control signal generation means include: an injection signal generation means (60) for obtaining an injection pulse width T p in accordance with the expression where Kconst represents an injector constant, Q a an output of said air-flow sensor, and N an output of said engine speed sensor; and a variation component memory (106) for storing variation components determined on the basis of deviations between air-fuel ratio target values previously set in accordance with a plurality of predetermined operating conditions of said engine and air-fuel ratio detection values detected by said air-fuel ratio detection sensor under a plurality of corresponding engine operating conditions; wherein said means (400, 500, 600) calculate correction values of constants to be used for correcting at least output characteristics of the output Q a of said air-flow sensor on the basis of the contents of said variation component memory; and said normalizing means (700) correct the output Q a of said air-flow sensor by using the correction values obtained by said correction calculation means. A control method for controlling an internal combustion engine, comprising the steps of (a) detecting operating condition parameters of an internal combustion engine of a car; (b) regulating the operating conditions; (c) generating a control signal for controlling said regulation means on the basis of an output of said operating condition detection means; (d) generating a control signal (Ti, Tp) with control constants (Ts, Kconst, Qa) for controlling said regulation means (12, 62) by feeding back an output (λ) of said operating condition detection means (142) to generate a feedback factor (α) used for modifying the control signal to obtain a target value of the feedback output, (e) providing a map of learning factors corresponding to the deviation of the average value of the feedback factor (α) from a target value thereof for various running states (Tp, N), characterized by the steps of (f) extracting from said learning factors (Kl) characteristic indexes (Klcd1, Klcd2, Klcd3) used to separately correct one of different control constants by calculating a ratio between learning factors (Kl) of two different engine running states, wherein only said one control constant changes, repeating said calculations for several of the mentioned running states to obtain a characteristic for said one control constant and (g) normalizing said control constants by applying the respective characteristic to the latest control constants (Ts, Kconst, Qa) so as to correct said control signal (Ti, Tp). A method according to claim 5, comprising the steps of detecting an amount (Qa) of intake air flow by an air-flow sensor (24); detecting an engine speed (N); calculating a fuel injection pulse width T in accordance with an expression of T = Kconst · Qa/N + Ts where Kconst represents an injector constant, Ts represents an ineffective time constant of the injection system, detecting an air-fuel ratio (λ) by a gas sensor (142) disposed in an exhaust pipe, learning (B40) variation of the output characteristic (α) of said fuel injection system (12) and said air flow sensor (24) on the basis of the detected air-fuel ratio (λ) so as to produce a map storing correction factors (Kl) corresponding to various engine running states (Tp, N), extracting (B50, B60, B70) the characteristic indexes (Klcd1, Klcd2, Klcd3) corresponding to the parameters of Ts, Kconst and Qa, and correcting said parameters (B80) of Ts, Kconst and Qa by appling said characteristic indexes (Klcd1, Klcd2, Klcd3) to the latest parameters of Ts, Kconst and Qa, wherein correction (2600, 2610, 2620) of said parameters is made in the order of Ts, Qa and Kconst. The method according to claim 6, wherein said deviations between said air-fuel ratio target values previously set and said air-fuel ratio detection values actually detected are calculated and held as a plurality of predetermined air-fuel ratio correction factors, and wherein separately from said calculated characteristic correction values to be used for correcting variations of the response characteristic, characteristic correction factors for control characteristic of at least one actuator for actuating said engine are calculated on the basis of at least two air-fuel ratio correction factors in the different engine operating conditions among said calculated and held plurality of predetermined air-fuel ratio correction factors, whereby abnormality is judged on the corresponding sensor and actuator by using the numerical values of said characteristic correction factors.

Inventors: AMANO, MATSUO, ATAGO, TAKESHI, ISHII, JUNICHI, KURIHARA, NOBUO, MAKINO, JUNICHI
Applicants: HITACHI, LTD.
Application year: 1989
Main classification: F02D41
IPC codes: F02D41, F02B1