Thermostat malfunction detecting system for engine cooling system

Malfunction of an engine coolant thermostat is detected from the engine side coolant temperature by the subsequent behavior of the coolant temperature. When an open-malfunction occurs, the coolant temperature becomes considerably different from that normally expected for times at which the thermostat is expected to be closed. When a closure-malfunction occurs, the coolant temperature becomes considerably different from that normally expected for times at which the thermostat is expected to be opened. Alternatively, the malfunction may be detected from the difference between the engine side coolant temperature and the radiator side coolant temperature.

CROSS REFERENCE TO RELATED APPLICATIONS
 This application relates to and incorporate herein by reference Japanese
 Patent Applications No. 8-336579 filed on Dec. 17, 1996, No. 8-344749
 filed on Dec. 25, 1996 and No. 9-283208 filed on Oct. 16, 1997.
 BACKGROUND OF THE INVENTION
 1. Field of the Invention
 The present invention relates to a thermostat malfunction detecting system
 of an engine cooling system for detecting whether a thermostat for
 controlling the temperature of coolant of an engine is in malfunction or
 not.
 2. Related Art
 Generally, a thermostat which opens/closes in correspondence to the
 temperature of a coolant (cooling water) is provided in a coolant
 circulating path for circulating the coolant between a water jacket within
 an engine and a radiator in the water-cooled type engine. It is closed
 from the start of the engine until when the warm-up operation is completed
 to halt the circulation of the coolant to raise the temperature of the
 coolant quickly to the required temperature range and to improve the fuel
 consumption and to reduce noxious exhaust noxious exhaust noxious exhaust
 emission. The thermostat automatically opens when the temperature of the
 coolant on the engine side exceeds the required temperature range to
 circulate the low temperature coolant on the radiator side to the engine
 side to lower or maintain the temperature of the coolant on the engine
 side to the required temperature range.
 As modes of malfunction of the thermostat, there are an open-malfunction
 during which the thermostat is kept opened and a closure-malfunction
 during which it is kept closed. When the open-malfunction occurs, the cold
 coolant within the radiator is circulated to the engine from the beginning
 of start even during the cold start time during which the engine is
 started while it is cold, so that the temperature of the coolant on the
 engine side is hampered from rising after the start, thus retarding the
 warm-up of the engine and increasing the fuel consumption and noxious
 exhaust noxious exhaust noxious exhaust emission. When the
 closure-malfunction occurs, the cold coolant on the radiator side is not
 circulated even when the temperature of the coolant on the engine side
 exceeds the required temperature range, so that there is a possibility
 that the temperature of the coolant on the engine side keeps rising,
 causing an over-heat of the engine in the end.
 Thus, there has been a possibility that even when the thermostat has the
 open-malfunction, a driver continues to drive a vehicle without knowing it
 for a long period of time and continues to drive the vehicle until engine
 overheats when it has the closure-malfunction.
 It is noted that there has been a technology of providing coolant
 temperature sensors at the inlet and outlet of the radiator, respectively,
 to evaluate the heat radiating performance of the radiator based on the
 temperature of coolant at the inlet and outlet of the radiator to detect
 the deterioration of the radiator as disclosed in Japanese Patent
 Application Laid-Open No. Hei. 4-19329. However, because the thermostat
 opens/closes automatically in correspondence to the temperature of the
 coolant on the engine side, the malfunction of the thermostat cannot be
 detected even if the coolant temperature on the radiator side which is not
 related to the to opening/closing operation of the thermostat is detected
 at the two spots as disclosed. Still more, the cost becomes high because
 two temperature sensors have to be provided anew on the radiator side.
 SUMMARY OF THE INVENTION
 Accordingly, it is an object of the present invention to provide a
 thermostat malfunction detecting system of a cooling system of an internal
 combustion engine which detects the malfunction of the thermostat
 accurately at relatively low cost.
 According to a first aspect of the present invention, a thermostat
 malfunction detecting system of detects, based on the behavior of a
 coolant temperature on the engine side, the coolant temperature on the
 path for circulating the coolant on the engine side from the thermostat
 (engine side coolant temperature) and diagnoses the thermostat whether it
 has an open-malfunction by which it is not closed and is kept opened
 (open-malfunction) based on the engine side coolant temperature detected
 in a temperature range in which the thermostat is normally closed. Because
 the behavior of the engine side coolant temperature is largely different
 during the normal time and during the open-malfunction in the temperature
 range in which the thermostat is normally closed, the thermostat may be
 diagnosed whether it has the open-malfunction accurately from the behavior
 of the engine side coolant temperature in this temperature range. Still
 more, because the coolant temperature may be detected by using the coolant
 temperature sensor for controlling the engine provided in the conventional
 engine, no new coolant temperature sensor needs to be added to the engine
 control system.
 When a closure-malfunction by which the thermostat is not opened and is
 kept closed occurs, the thermostat is not opened, the coolant is not
 circulated and the engine side coolant temperature continues to rise up.
 Accordingly, the thermostat malfunction detecting system diagnoses the
 thermostat whether it has the closure-malfunction based on the detected
 engine side coolant temperature in the temperature range in which the
 thermostat is normally opened. Because the behavior of the engine side
 coolant temperature is largely different during the normal time and during
 the closure-malfunction in the temperature range in which the thermostat
 is normally opened, the thermostat may be diagnosed accurately whether it
 has the closure-malfunction from the behavior of the engine side coolant
 temperature in this temperature range.
 According to a second aspect of the present invention, a thermostat
 malfunction detecting system detects the coolant temperature on the path
 for circulating the coolant on the engine side from the thermostat (engine
 side coolant temperature) as well as a coolant temperature on the path for
 circulating the coolant on the radiator side from the thermostat (radiator
 side coolant temperature) and diagnoses the thermostat whether it has a
 malfunction based on the engine side coolant temperature and the radiator
 side coolant temperature. Thereby, the malfunction of the thermostat can
 be detected accurately. Still more, because the engine side coolant
 temperature may be detected by using the coolant temperature sensor for
 controlling the engine which has been provided in the conventional engine
 and just a radiator side coolant temperature detecting means needs to be
 added anew to the engine control system, the structure can be relatively
 simple and the increase of the cost is minimized.
 According to a third aspect of the present invention, a thermostat
 malfunction detecting system determines that the thermostat has a
 malfunction when a coolant temperature drops below a malfunction
 discriminating temperature which is lower than the thermostat closing
 temperature after when the coolant temperature reaches a warm-up
 completion temperature. That is, when the drop of the coolant temperature
 does not stop even if the coolant temperature drops below the thermostat
 closing temperature, it may be considered that the open-malfunction has
 occurred. Thereby, the open-malfunction of the thermostat may be detected
 by using the conventional coolant temperature sensor provided on the
 coolant circulating path of the engine and no new sensor or the like needs
 to be added, satisfying the demand on the reduction of the cost.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
 First Embodiment
 In a cooling system of an engine shown in FIG. 1, a water jacket 12 is
 provided within a cylinder block and a cylinder head of an engine 11 and a
 coolant (cooling water) is supplied within the water jacket 12. A
 thermostat 13 is provided at the outlet part of the water jacket 12 so
 that the high temperature coolant which passes through the thermostat 13
 is sent to a radiator 15 via a coolant circulating path 14. The coolant
 whose heat has been radiated by the radiator 15 and whose temperature has
 dropped is returned to the water jacket 12 via a coolant circulating path
 16. Accordingly, when a valve within the thermostat 13 is opened, the
 coolant circulates through the path of the water jacket 12, the thermostat
 13, the coolant circulating path 14, the radiator 15, the coolant
 circulating path 16 and the water jacket 12 to cool and maintain the
 engine 11 to a required temperature.
 A water pump 17 is provided at the inlet of the water jacket 12. It is
 rotationally driven by the power of the engine transmitted via a belt 19
 to forcibly circulate the coolant within the coolant circulating paths. A
 radiator fan 18, i.e. an electrically driven fan, is provided behind the
 radiator 15 to enhance the heat radiating effect of the radiator 15 and to
 promote the cooling of the coolant within the radiator 15.
 A coolant temperature sensor 20 for detecting the temperature of the
 coolant within the water jacket 12 (coolant temperature on the engine
 side) which is the coolant circulating path on the side of the engine 11
 rather than the thermostat 13 is provided in the cylinder block of the
 engine 11. It is noted that the coolant temperature sensor 20 may be set
 at any position as long as it is on the coolant circulating path on the
 side of the engine 11 rather than the thermostat 13. That is, it may be
 set at the cylinder head side of the water jacket 12 for example.
 An output signal of the coolant temperature sensor 20 is applied to an
 electronic control unit (ECU) 22. The ECU 22 mainly comprised of a
 microcomputer controls the engine 11 and diagnoses the malfunction of the
 thermostat 13. It is to be noted that the ECU 22 may be comprised of two
 ECUs separated as an engine control ECU and a thermostat malfunction
 diagnosis ECU or may be arranged so as to control the engine and to
 diagnose the malfunction of the thermostat 13 by one ECU.
 In addition to the coolant temperature signal from the coolant temperature
 sensor 20, the ECU 22 receives an engine speed signal from an engine speed
 sensor 23, an intake air amount signal from an intake air sensor 24, an
 intake air temperature signal from an intake air temperature sensor 25, a
 vehicle speed signal from a vehicle speed sensor 26 and a signal
 indicating an operating state of a blower motor (not shown) of an air
 conditioner 27 as information for controlling the engine 11 and to
 diagnose the malfunction of the thermostat 13. The ECU 22 is connected to
 an alarm lamp 28 for alarming a malfunction of the thermostat 13 and to a
 backup RAM 29 which is a rewritable non-volatile memory for storing
 information of the malfunction of the thermostat 13 and the like. The
 backup RAM 29 is arranged such that electric power is supplied from a
 battery not shown even when the engine is stopped to keep the memory of
 the information on malfunction to allow the information on malfunction to
 be read out during repair and inspection.
 Each program for diagnosing the malfunction of the thermostat is stored in
 a ROM (memory) built in the ECU 22. The thermostat 13 is diagnosed whether
 it has the open-malfunction or the closure-malfunction by performing those
 programs.
 At this time, the thermostat 13 is diagnosed whether it has the
 open-malfunction during which the thermostat 13 is kept opened by either
 one of the following five diagnosing methods (1) through (5).
 (1) First Diagnosis of Open-Malfunction
 At first, the first diagnosis of the open-malfunction will be explained
 with reference to FIG. 2 showing the behavior of the engine side coolant
 temperature after starting the engine when the open-malfunction of the
 thermostat 13 has occurred as compared with the case when the thermostat
 13 operates normally. At the time of cold start when the engine 11 is
 started while it is cold, the engine side coolant temperature starts to
 rise quickly right after the start of the engine as shown by the dot-chain
 line because the valve in the thermostat is closed and the coolant is
 stopped from circulating when the thermostat 13 operates normally.
 However, the cold coolant within the radiator 15 is circulated through the
 engine 11 from the beginning of the start of the engine even during the
 cold start when the open-malfunction occurs, so that the engine side
 coolant temperature drops temporarily as shown by the solid line because
 the cold coolant on the radiator 15 side flows in right after the start of
 the engine even during the cold start. The engine side coolant temperature
 then rises up moderately. The temporary drop of the engine side coolant
 temperature right after the start of the engine which occurs during the
 open-malfunction is a phenomenon which occurs because the radiator side
 coolant temperature is lower than the engine side coolant temperature
 because the radiator is exposed to the outside cold air while the engine
 is kept stopped.
 Based on this temporary drop of the engine side coolant temperature right
 after the start of the engine which occurs upon the open-malfunction, the
 first diagnosis of the open-malfunction is implemented whether the
 open-malfunction has occurred or not by determining the degree of drop of
 the engine side coolant temperature right after the start of the engine
 and by comparing the degree of drop with a reference value (reference).
 This open-malfunction detecting program shown in FIG. 3 is initiated per
 every predetermined time or every predetermined crank angle rotation after
 when an ignition key (IG key) is turned on.
 When this program is initiated, it is determined at first in Step 101
 whether or not the IG key is ON and the engine is not started yet. When
 the engine is not started yet, the process advances to Step 102 to store
 the engine side coolant temperature detected by the coolant temperature
 sensor 20 as initial values of a starting time coolant temperature THWS
 and a lowest coolant temperature THWmin. Then, the process advances to
 Step 103 to turn on a starter (not shown) to start the engine 11.
 After that, it is determined in Step 104 whether it is the cold start or
 not by determining whether the starting time coolant temperature THWS is
 lower than a predetermined temperature thws which is set to be lower than
 a valve closing temperature of the thermostat 13. When it is not the cold
 start, the program is finished without implementing the diagnosing
 processes thereafter.
 When it is the cold start on the other hand, the lowest coolant temperature
 THWmin is updated every time when the engine side coolant temperature THW
 drops during the period from the start until when a predetermined time
 elapses by the processes in Steps 105 through 108. The process advances to
 Step 109 at the time when the predetermined time has elapsed since the
 start of the engine to subtract the lowest coolant temperature THWmin up
 to then from the starting time coolant temperature THWS to find a decrease
 of engine side coolant temperature .DELTA.THW after the start of the
 engine.
 After that, the decrease of engine side coolant temperature .DELTA.THW
 after the start is compared with the reference value .DELTA.thw in Step
 110. If the decrease of engine side coolant temperature .DELTA.THW is
 greater than the reference value, the process advances to Step 111 to
 determine that the thermostat 13 has the open-malfunction. Then, this
 program ends by storing the information on the open-malfunction in the
 backup RAM 29 in Step 112 and by lighting or flashing the alarm lamp 28 to
 warn a driver in Step 113. It is noted that when the decrease of engine
 side coolant temperature .DELTA.THW is determined to be less than the
 reference value .DELTA.thw in Step 110, this program ends by determining
 that no open-malfunction exists.
 Although the diagnosis of the open-malfunction has been implemented by the
 decrease of engine side coolant temperature .DELTA.THW after the start of
 this program, it may be implemented by the rate of drop of the engine side
 coolant temperature after the start (the rise of coolant temperature per
 predetermined time, the rise of coolant temperature per predetermined
 number of times of ignition or the rise of coolant temperature per
 predetermined quantity of heat generated by the engine).
 (2) Second Diagnosis of Open-Malfunction
 As understood from FIG. 4, when the open-malfunction occurs, the cold
 coolant within the radiator 15 is circulated through the engine 11 from
 the beginning of the start of the engine 11 even during the cold start, so
 that the engine side coolant temperature rises considerably moderately as
 compared to the case when the thermostat 13 operates normally.
 Based on this characteristic, the second diagnosis of the open-malfunction
 is implemented by determining the degree of rise of the engine side
 coolant temperature within a predetermined time after the start of the
 engine by an open-malfunction diagnosing program shown in FIG. 5.
 When this program is initiated, the engine 11 is started after reading the
 coolant temperature at the time of starting similarly to the first
 diagnosis of the open-malfunction (1) in Steps 121 through 124 and when it
 is the case of the cold start, the processing steps after Step 125 are
 executed as follows. At first, a time during which an idling state is
 continuing from the cold start is accumulated by a post-start temporal
 timer in Steps 125 and 126. When the accumulated time becomes equal to the
 predetermined time to (in Step 127), the increase of engine side coolant
 temperature .DELTA.THW within the predetermined time to after the cold
 start is calculated by subtracting the coolant temperature at the starting
 time from the present engine side coolant temperature in Step 128.
 When the idling state does not continue until the predetermined time to
 elapses after the cold start, i.e. when it is determined to be NO in Step
 125, the program ends without implementing the diagnostic processing steps
 on and after Step 126. It is because the quantity of heat generated by
 engine fluctuates within the predetermined time and the increase of engine
 side coolant temperature .DELTA.THW fluctuates when the idling state does
 not continue for the predetermined time to.
 When the idling state continues for the predetermined time to after the
 cold start, the increase of engine side coolant temperature .DELTA.THW
 calculated in Step 128 is compared with the reference value .DELTA.THW in
 Step 129. When the increase of engine side coolant temperature .DELTA.THW
 is greater than the reference value, i.e. when the speed of increase of
 the engine side coolant temperature is fast, the process advances to Step
 130 to determine that the thermostat 13 is closed normally and ends the
 program.
 When the increase of engine side coolant temperature .DELTA.THW is
 determined to be less than the reference value .DELTA.thw in Step 129 on
 the other hand, i.e. when the speed of increase of the engine side coolant
 temperature is slow, the process advances to Step 131 to determine that
 the thermostat 13 has the open-malfunction. Then, the program ends by
 storing the information on the open-malfunction in the backup RAM 29 in
 Step 132 and by lighting or flashing the alarm lamp 28 to warn the driver
 of that in Step 133.
 It is noted that the open-malfunction has been diagnosed while the idling
 state continues in consideration of that the engine operating state may
 influence on the behavior of the engine side coolant temperature in the
 program, the open-malfunction may be diagnosed even in the operating state
 other than the idling state if there is a period during which the
 operating state is continuously almost constant.
 (3) Third Diagnosis of Open-Malfunction
 It is arranged so that the diagnosis would not be influenced by the
 fluctuation of the engine operating state in the second diagnosis of
 open-malfunction (2) by calculating the increase of engine side coolant
 temperature .DELTA.THW when the idling state is continuing for the
 predetermined time from the cold start in order to calculate the increase
 of coolant temperature .DELTA.THW within the predetermined time to after
 the cold start. Accordingly, the open-malfunction cannot be diagnosed
 unless the idling state continues for the predetermined time to from the
 cold start in the second diagnosis of the open-malfunction (2).
 Therefore, in this third diagnosis of the open-malfunction (3), the
 influence of the fluctuation of the increase of the engine side coolant
 temperature caused by the fluctuation of the engine operating state is
 eliminated in order to be able to diagnose the open-malfunction accurately
 even when the idling state does not continue from the cold start by
 accumulating the quantity of heat generated by engine after the cold start
 and by calculating the increase of the engine side coolant temperature
 during the period until when the accumulated value reaches a predetermined
 value.
 In this malfunction diagnosing program shown in FIG. 6 for implementing the
 third diagnosis of the open-malfunction, processing steps of this program
 are the same as those of the program shown in FIG. 5 and used in the
 second diagnosis of the open-malfunction (2) except for Steps 125a through
 127a related to the calculation of the increase of the engine side coolant
 temperature.
 After reading the engine speed NE and the intake air amount GA during the
 cold start in Step 125a, the quantity of heat Q generated by the engine 11
 is calculated for the existing engine speed NE and the engine load GA/NE
 in Step 126a from a two-dimensional map of the quantity of heat Q
 parameterized by the engine speed NE and the load GA/NE. Then, the
 accumulated value of quantity of heat generated by engine .SIGMA.Q(i) is
 updated by accumulating the latest quantity of heat generated by engine Q
 to the previously accumulated value of the quantity of heat generated by
 engine .SIGMA.Q(i-1) in Step 126b and it is determined whether or not the
 accumulated value of quantity of heat generated by engine .SIGMA.Q(i) up
 to this time has reached the predetermined value .SIGMA.q(i) or not in
 Step 127a.
 When the accumulated value of quantity of heat generated by engine
 .SIGMA.Q(i) after the cold start has reached the predetermined value
 .SIGMA.q(i), the process advances to Step 128 to calculate the increase of
 engine side coolant temperature .DELTA.THW after the cold start by
 subtracting the coolant temperature at the starting time from the present
 engine side coolant temperature. The processes thereafter are the same as
 those in the second diagnosis of the open-malfunction (2).
 By calculating the increase of engine side coolant temperature .DELTA.THW
 until when the accumulated value of quantity of heat generated by engine
 .SIGMA.Q(i) after the cold start reaches the predetermined value to
 diagnosis of the open-malfunction, the influence of the fluctuation of the
 increase of the engine side coolant temperature caused by the fluctuation
 of the engine operating state may be eliminated, allowing the accuracy in
 diagnosing the open-malfunction to be improved.
 It is noted that the open-malfunction may be diagnosed by accumulating a
 number of times of ignition, instead of the quantity of heat Q generated
 by engine 11, and by calculating the increase of the engine side coolant
 temperature until when the accumulated value reaches the predetermined
 value. The influence of the fluctuation of the increase of the engine side
 coolant temperature caused by the fluctuation of the engine operating
 state may be reduced also in this case, allowing the accuracy in
 diagnosing the open-malfunction to be improved.
 (4) Fourth Diagnosis of Open-Malfunction
 In the fourth diagnosis of the open-malfunction shown in FIG. 8, the
 starting time coolant temperature THWS is read before the start in Steps
 141 and 142. Then, after calculating a reference value K for determining
 the open-malfunction corresponding to the starting time coolant
 temperature THWS by a preset map or equation in Step 143, the engine 11 is
 started in Step 144. Then, in case of the cold start, the time during
 which the idling state continues from the start is accumulated by a
 post-start temporal timer in Step 145 through 147. The accumulating
 operation of the post-start temporal timer is continued until when the
 engine side coolant temperature THW detected by the coolant temperature
 sensor 20 rises up to a predetermined temperature thw in Step 148.
 When the accelerator or throttle valve is operated to terminate the idling
 state before the engine side coolant temperature THW rises to the
 predetermined temperature thw (when it is determined to be NO in Step
 146), this program ends without implementing the diagnostic processes
 thereafter. It is because the quantity of heat generated by engine
 fluctuates and the increase of the engine side coolant temperature THW
 fluctuates when the idling state is terminated.
 Then, when the idling state continues until when the engine side coolant
 temperature THW rises up to the predetermined temperature thw after the
 cold start, the accumulated time of the post-start temporal timer, i.e.
 the time required for the engine side coolant temperature THW to rises up
 to the predetermined temperature thw from the cold start, is compared with
 the reference value K calculated in Step 143. When this time is shorter
 than the reference value K, i.e. when the speed of increase of the engine
 side coolant temperature is fast, the process advances to Step 150 to
 determine that the thermostat 13 is closed normally and to end the
 program.
 When it is determined in Step 149 that the time required for the engine
 side coolant temperature THW to rise up to the predetermined temperature
 thw is greater than the reference value K on the other hand, i.e. when the
 speed of increase of the engine side coolant temperature is slow, the
 process advances to Step 151 to determine that the thermostat 13 has the
 open-malfunction. Then, the program ends after storing the information on
 the open-malfunction in the backup RAM 29 in Step 152 and lighting or
 flashing the alarm lamp 28 to warn the driver of that in Step 153.
 The reference value K for determining the open-malfunction corresponding to
 the starting time coolant temperature THWS is calculated in Step 143 in
 this program in consideration of that the time required for the engine
 side coolant temperature THW to rise up to the predetermined temperature
 after the cold start differs depending on the starting time coolant
 temperature THWS. Thereby, the open-malfunction may be diagnosed reliably
 without being influenced by the starting time coolant temperature THWS.
 It is noted that the open-malfunction may be diagnosed by accumulating the
 time until when the increase of the engine side coolant temperature THW
 after the start reaches the predetermined value instead of accumulating
 the time until when the engine side coolant temperature THW rises up to
 the predetermined temperature. This method has a merit that the influence
 of the starting time coolant temperature THWS given to the accumulated
 time is lessened.
 Further, the object of the accumulation may be changed from the elapsed
 time from the start to the quantity of heat generated by engine or the
 number of times of ignition. When the quantity of heat generated by engine
 is to be accumulated, it may be achieved by implementing the same
 procedure from Steps 125a through 126b shown in FIG. 6. Then, the
 open-malfunction may be diagnosed by comparing the accumulated value of
 the quantity of heat generated by engine (or number of times of ignition)
 until when the engine side coolant temperature reaches the predetermined
 temperature after the cold start or until when the increase of the engine
 side coolant temperature reaches the predetermined degree with the
 reference value. Thereby, the influence of the fluctuation of the engine
 side coolant temperature caused by the fluctuation of the engine operating
 state may be eliminated and the open-malfunction may be diagnosed
 accurately even if the idling state does not continue.
 (5) Fifth Diagnosis of Open-Malfunction
 In this fifth diagnosis, the increase of the engine side coolant
 temperature .DELTA.THW is determined per predetermined time after the
 start of the engine as shown in FIG. 9 to diagnose the open-malfunction
 based on the number of times when the increase of the engine side coolant
 temperature drops below a reference value. This diagnosing program is
 shown in FIGS. 10 and 11.
 When this program is initiated, the engine 11 is started after reading the
 starting time coolant temperature in Steps 161 through 164 similarly to
 the first diagnosis of the open-malfunction. In case of the cold start,
 the processing steps after Step 165 are executed as follows. At first, a
 virtual or provisional fail counter is cleared in Step 165. Then,
 processes for calculating the increase of engine side coolant temperature
 .DELTA.THW within a predetermined time per predetermined time are repeated
 until when the engine side coolant temperature THW reaches the valve
 opening temperature of the thermostat 13 in the ensuing Steps 166 through
 171.
 That is, when the engine side coolant temperature THW is lower than the
 valve opening temperature of the thermostat 13, the quantity of heat
 generated by engine Q is calculated from the two-dimensional map from the
 engine speed NE and the intake air amount GA (load GA/NE) and the
 accumulated value of quantity of heat generated by engine .SIGMA.Q(i) is
 updated by accumulating the quantity of heat generated by engine Q of this
 time to the previously accumulated value of the quantity of heat generated
 by engine .SIGMA.Q(i-1) by the processes in Steps 167 through 169. This
 accumulated value of quantity of heat generated by engine .SIGMA.Q is used
 in calculating the reference value of the open-malfunction.
 Then, the engine side coolant temperature THW at each moment is stored as
 the present coolant temperature THWF(i) in Step 171 every time when the
 predetermined time elapses and the increase of coolant temperature
 .DELTA.THW per predetermined time is calculated by subtracting the
 previous coolant temperature THWF(i-1) from the present coolant
 temperature THWF(i) in Step 172.
 After that, the reference value .SIGMA.q corresponding to the accumulated
 value of quantity of heat generated by engine .SIGMA.Q(i) within the
 predetermined time calculated in Step 169 is calculated by the map or
 expression set in advance in Step 173. Thereby, the reference value
 .SIGMA.q, in which the influence of the fluctuation of the increase of the
 engine side coolant temperature caused by the fluctuation of the engine
 operating state is taken into consideration, is calculated. After
 calculating the reference value, the accumulated value of quantity of heat
 generated by engine .SIGMA.Q(i) is cleared. Then, the increase of coolant
 temperature .DELTA.THW per predetermined time is compared with the
 reference value calculated in Step 173. When the increase of coolant
 temperature .DELTA.THW is less than the reference value, there is a
 possibility of the open-malfunction, so that the process advances to Step
 175 to increment the virtual fail counter and ends the program. It is
 noted that when the increase of coolant temperature .DELTA.THW per
 predetermined time is greater than the reference value, the program is
 finished without doing anything.
 Thus, the processes of calculating the increase of coolant temperature
 .DELTA.THW per predetermined time to compare with the reference value and
 of incrementing the virtual fail counter when the
 .DELTA.THW.gtoreq.reference value are repeated until when the engine side
 coolant temperature THW reaches the valve opening temperature of the
 thermostat 13. When the engine side coolant temperature THW reaches the
 valve opening temperature, the above-mentioned process is finished. Then,
 the process advances to Step 176 to compare the value of the virtual fail
 counter with a predetermined value. When the value of the virtual fail
 counter is greater than the predetermined value, the process advances to
 Step 177 to determine that the thermostat 13 has the open-malfunction.
 Then, the program ends after storing the information on the
 open-malfunction in the backup RAM 29 in Step 178 and lighting or flashing
 the alarm lamp 28 to warn the driver of that in Step 179. It is noted that
 when it is determined that the value of the virtual fail counter is
 smaller than the predetermined value in Step 176, it is not determined to
 be the open-malfunction and the program ends.
 Although the increase of coolant temperature .DELTA.THW per predetermined
 time has been calculated in this program, the increase of temperature per
 predetermined quantity of heat generated by engine or the increase of
 temperature per predetermined number of times of ignition may be
 calculated to compare with the reference value. In short, the thermostat
 13 may be diagnosed whether it has the open-malfunction or not by
 periodically determining the increase of the engine side coolant
 temperature after the start of the engine and based on the number of times
 when the increase of the engine side coolant temperature is less than the
 reference value. Thereby, the open-malfunction may be diagnosed repeatedly
 based on the increase of the engine side coolant temperature and the
 open-malfunction may be diagnosed reliably.
 While the thermostat 13 has been diagnosed whether it has the
 open-malfunction or not during idling (or during the period in which the
 almost constant operating state continues) by considering that the
 behavior of the engine side coolant temperature is influenced by the
 engine operating state and the behavior of the engine side coolant
 temperature has been determined based on the quantity of heat generated by
 engine or the number of times of ignition in each of the first through
 fifth diagnosis of the open-malfunction, the behavior of the engine side
 coolant temperature is influenced not only by the engine operating state
 but also by the factors such as the vehicle speed, outside temperature,
 intake air temperature and operating state of the air conditioner which
 influence the radiation of the coolant. Accordingly, the data such as the
 reference value, predetermined period and detected coolant temperature
 used in the diagnosis of the open-malfunction may be corrected based at
 least on one of the vehicle speed, outside temperature, intake air
 temperature and operating state of the air conditioner. Thereby, the
 open-malfunction may be diagnosed while taking the radiation of the
 coolant into consideration and the accuracy in diagnosing the
 open-malfunction may be improved that much.
 Further, because no heat is generated by the engine when fuel is cut off,
 the elapsed time, the number of times of ignition and the quantity of heat
 generated by engine may be accumulated except for the period during which
 the fuel is cut off.
 The diagnosis of the closure-malfunction during which the thermostat 13 is
 kept closed is implemented by either one of the following two methods.
 (1) First Diagnosis of Closure-Malfunction
 The first diagnosis of the closure-malfunction is made based on the
 behavior of the engine side coolant temperature when the
 closure-malfunction occurs in comparison with the case when the thermostat
 operates normally. As shown in FIG. 12, when the engine side coolant
 temperature exceeds a thermostat valve opening temperature, the valve of
 the thermostat 13 is opened when it is normal and the cold coolant on the
 radiator 15 side is circulated to the engine 11, thus dropping the engine
 side coolant temperature. When the thermostat 13 has the
 closure-malfunction on the other hand, the valve of the thermostat 13 is
 not opened, no coolant is circulated and the engine side coolant
 temperature continues to rise up.
 The thermostat 13 is diagnosed whether it has the closure-malfunction or
 not by comparing the rate of change of the engine side coolant temperature
 with a reference value after when the engine side coolant temperature
 reaches the thermostat valve opening temperature. Here, the rate of change
 of the engine side coolant temperature may be determined by any one of the
 variation of coolant temperature per predetermined time, the variation of
 coolant temperature per predetermined number of times of ignition and the
 variation of coolant temperature per predetermined quantity of heat
 generated by engine.
 The processing steps of the closure-malfunction diagnosing program is shown
 in FIG. 13 and is initiated per every predetermined time (e.g. per 200 ms)
 after when the IG key has been turned on.
 When the program is initiated, the engine side coolant temperature THW
 detected by the coolant temperature sensor 20 is read in Step 201. Then,
 it is determined whether the sensors (the coolant temperature sensor 20,
 the intake air amount sensor 24, the intake air temperature sensor 25 and
 the vehicle speed sensor 26) used in the diagnosis of the
 closure-malfunction are normal or not in Step 202. The determination
 whether those sensors are normal or not is made by determining whether the
 output voltage of the sensors are within a predetermined voltage range or
 not. When all the relevant sensors are determined to be abnormal, the
 program ends without implementing the processes thereafter because the
 diagnosis of the malfunction cannot be carried out normally.
 When the sensors are normal, the process advances to Step 203 to determine
 whether misfire has occurred or not. When the misfire occurs, the quantity
 of heat generated by engine drops and the behavior of the engine side
 coolant temperature fluctuates, so that the program ends with implementing
 the processes thereafter.
 When no misfire has occurred, the process advances to Step 204 to determine
 whether it is the cold start or not by determining whether the engine side
 coolant temperature THWS at the time of start is lower than 60.degree. C.
 or not (the predetermined temperature less than the valve closing
 temperature of the thermostat 13). When it is not the cold start, the
 program ends without implementing the processes thereafter.
 When it is the cold start, the process advances to Step 205 to determine
 whether the accumulated value of quantity of heat generated by engine
 SQENG accumulated by a program for accumulating quantity of heat generated
 by engine described later with reference to FIG. 14 has reached the
 reference quantity of heat (sqeng) or not. The reference quantity of heat
 is the quantity of heat generated by engine necessary for the normal
 thermostat 13 to open the valve reliably after the cold start.
 Accordingly, when the accumulated value of quantity of heat generated by
 engine SQENG has not reached the reference quantity of heat, the program
 ends without implementing the processes thereafter.
 When the accumulated value of quantity of heat generated by engine SQENG
 has reached the reference quantity of heat on the other hand, the process
 advances to Step 206 to determine whether or not a closure-malfunction
 flag XDTHWCL which is set by a closure-malfunction flag setting program
 described later with reference to FIG. 16 is "0", meaning the
 closure-malfunction. It is noted that the closure-malfunction flag XDTHWCL
 is set at "1" which means normal during the initialization.
 When the closure-malfunction flag XDTHWCL is "0" meaning the
 closure-malfunction, the process advances to Step 207 to determine that
 the thermostat 13 has the closure-malfunction. Then, the program ends
 after storing the information on the closure-malfunction (engine speed,
 intake air amount, engine side coolant temperature, vehicle speed and a
 malfunction mode at the time of the closure-malfunction) in the backup RAM
 29 in Step 208 and lighting or flashing the alarm lamp 28 to warn the
 driver of that in Step 209.
 Accumulation of heat generated by engine is attained by the program shown
 in FIG. 14 and is initiated per predetermined time (e.g. per 100 ms) after
 when the IG key has been turned on and accumulates the quantity of heat
 generated by engine after the start as follows. At first, an intake air
 mount GA, an intake air temperature THA, a vehicle speed SPD and an
 operating state ELB of a blower fan of the air conditioner 27 are read in
 Step 221. It is then determined in Step 222 whether fuel is being cut off
 or not. The quantity of heat generated by engine becomes zero and the
 engine side coolant temperature drops due to the radiation during when the
 fuel is cut off. Accordingly, the process advances to Step 226 when the
 fuel is being cut off to subtract a predetermined value (e.g. 10) from the
 previously accumulated value of the quantity of heat generated by engine
 SQENG(i-1) to cancel the influence of the fuel cut off.
 When the fuel is not being cut off on the other hand, the process advances
 to Step 223 to calculate the quantity of heat generated by engine QENG in
 response to the intake air amount GA from a map shown in FIG. 15. It is
 noted that the intake air pressure or fuel injection amount may be used
 instead of the intake air amount GA as the parameter for calculating the
 quantity of heat generated by engine QENG.
 After calculating the quantity of heat generated by engine QENG, the
 process advances to Step 224 to accumulate the quantity of heat generated
 by engine QENG of this time to the previously accumulated value of the
 quantity of heat generated by engine SQENG(i-1) to update the accumulated
 value of quantity of heat generated by engine SQENG(i). After that, the
 accumulated value of quantity of heat generated by engine SQENG(i) is
 corrected by multiplying correction factors KQTHA, KQSPD and KQEPB
 corresponding to the intake air temperature THA, the vehicle speed SPD and
 the operating state of the blower fan of the air conditioner 27 ELB in
 Step 225.
 The correction factor KQTHA corresponding to the intake air temperature THA
 is calculated corresponding to the intake air amount GA from a map shown
 in FIG. 16a. It is noted that the outside air temperature may be used
 instead of the intake air temperature THA. The correction factor KQSPD
 corresponding to the vehicle speed SPD is calculated corresponding to the
 vehicle speed SPD from a map shown in FIG. 16b. The correction factor
 KQELB corresponding to the operating state of the blower fan ELB is
 calculated corresponding to ON/OFF of the blower fan from a map shown in
 FIG. 16c.
 The accumulated value of quantity of heat generated by engine SQENG(i) is
 corrected corresponding to the intake air temperature THA, the vehicle
 speed SPD and the operating state of the blower fan ELB, because the
 radiation of the coolant is influenced and the behavior of the engine side
 coolant temperature is fluctuated by all of the intake air temperature
 THA, the vehicle speed SPD and the operating state of the blower fan ELB.
 It is noted that because the radiation of the coolant changes depending on
 the operation modes of the blower fan (strong/weak blow, introduction of
 outside air or air is circulated within the compartment), the correction
 factor KQELB may be changed depending on the operation modes.
 The closure-malfunction flag setting program is shown in FIG. 17 and is
 initiated per predetermined time (e.g. per 100 ms) after when the IG key
 has been turned on and sets the closure-malfunction flag XDTHWCL as
 follows. At first, the variation of the engine side coolant temperature
 DTHW per predetermined time (e.g. per 100 ms) is calculated by subtracting
 the engine side coolant temperature THW(i) of this time from the previous
 engine side coolant temperature THW(i-1) in Step 231.
 After that, it is determined whether the electrically driven radiator fan
 18 is off or not in Step 232. When the radiator fan 18 is OFF, the process
 advances to Step 233 to determine whether a predetermined time (e.g. five
 seconds) has elapsed or not after when the radiator fan 18 has been
 switched from ON to OFF. When this time has elapsed, the process advances
 to Step 234 to determine the closure-malfunction. When the response of
 either one of the Steps 232 and 233 is "No", i.e. the radiator fan 18 is
 ON or the predetermined time (e.g. five seconds) has not elapsed from when
 the radiator fan 18 is switched from ON to OFF, the program ends without
 determining the closure-malfunction so as not to be influenced by the heat
 radiation of the coolant caused by the flow of the radiator fan 18.
 When the predetermined time (e.g. five seconds) has elapsed since when the
 radiator fan 18 has been turned off, the variation of the coolant
 temperature DTHW is compared with the reference value dthw (e.g. 0.degree.
 C.) in Step 234. When the variation of the coolant temperature DTHW is
 smaller than the reference value, the thermostat 13 is assumed to be
 opening normally, so that the program ends by advancing to Step 235 to set
 the closure-malfunction flag XDTHWCL at "1" indicating that the thermostat
 13 is normal.
 When the variation of coolant temperature DTHW is greater than the
 reference value dthw on the other hand, i.e. when the engine side coolant
 temperature THW continuously rises up abnormally, the process advances to
 Step 236 to set the closure-malfunction flag XDTHWCL at "0" indicating the
 closure-malfunction and ends the program. It is noted that the reference
 value which is compared with the variation of coolant temperature DTHW in
 Step 234 is not limited only to 0.degree. C. and may be a plus
 temperature.
 (2) Second Diagnosis of Closure-Malfunction
 While the variation of coolant temperature DTHW per predetermined time has
 been calculated in the first diagnosis of the closure-malfunction, the
 variation of coolant temperature DTHWSQ per predetermined quantity of heat
 generated by engine is calculated in the second diagnosis of
 closure-malfunction. Further, while the closure-malfunction has been
 diagnosed when the accumulated value of the quantity of heat generated by
 engine after the start reached the predetermined value in the first
 diagnosis of closure-malfunction, the diagnosis of closure-malfunction is
 implemented when the engine side coolant temperature exceeds the valve
 opening temperature of the thermostat 13 by a predetermined temperature.
 The second diagnosis of closure-malfunction is shown in FIG. 19 and is
 initiated per every predetermined time (e.g. per 200 ms) after when the IG
 key has been turned.
 When the program is initiated, the engine side coolant temperature THW
 detected by the coolant temperature sensor 20 is read and the variation of
 coolant temperature DTHWSQ per predetermined quantity of heat generated by
 engine calculated by the coolant temperature variation calculating program
 shown in FIG. 19 is read in Step 241. When it is determined that the
 sensors such as the coolant temperature sensor 20 used in the diagnosis of
 closure-malfunction are normal and no misfire has occurred in Steps 242
 and 243, the process advances to Step 244 to compare the engine side
 coolant temperature THW with a temperature such as 95.degree. C. which is
 higher than the valve opening temperature (e.g. 90.degree. C.) of the
 thermostat 13 by a predetermined temperature (e.g. 5.degree. C.). This
 temperature causes the thermostat 13 to open certainly if the thermostat
 13 is normal. Accordingly, the program ends without implementing the
 diagnostic processes thereafter when the engine side coolant temperature
 THW is less than 95.degree. C.
 When the engine side coolant temperature THW exceeds 95.degree. C. on the
 other hand, the process advances to Step 245 to compare the variation of
 coolant temperature DTHWSQ per predetermined quantity of heat generated by
 engine with the reference value dthwsq (e.g. 0.degree. C.). When the
 variation of coolant temperature DTHWSQ is less than the reference value,
 the thermostat 13 is assumed to be opening normally, so that the program
 ends without implementing the processes thereafter.
 When the variation of coolant temperature DTHWSQ is greater than the
 reference value, it means that the engine side coolant temperature THW is
 continuously rising up abnormally, so that the process advances to Step
 246 to determine that the thermostat 13 has the closure-malfunction. Then,
 the program ends after storing the information on the closure-malfunction
 in the backup RAM 29 in Step 247 and lighting or flashing the alarm lamp
 28 to warn the driver of that in Step 248.
 The coolant temperature variation calculating program shown in FIG. 20 is
 initiated per predetermined time (e.g. per 100 ms) after when the IG key
 has been turned on and calculates the variation of coolant temperature
 DTHWSQ per predetermined quantity of heat generated by engine as follows.
 At first, the accumulated value of quantity of heat generated by engine
 SQENG calculated by the program for accumulating the quantity of heat
 generated by engine described before with reference to FIG. 14 and the
 engine side coolant temperature THW are read in Step 251.
 After that, it is determined whether the accumulated value of quantity of
 heat generated by engine SQENG has exceeded the predetermined value (FIG.
 17) or not. The variation DTHWSQ of the engine side coolant temperature is
 calculated by subtracting the coolant temperature THW of this time from
 the previous coolant temperature THWO in Step 253 every time when the
 accumulated value of quantity of heat generated by engine SQENG exceeds
 the predetermined value. After that, the program ends after updating the
 previous coolant temperature THWO by the coolant temperature THW of this
 time and clearing the accumulated value of quantity of heat generated by
 engine SQENG.
 It is noted that although the variation of coolant temperature DTHWSQ per
 predetermined quantity of heat generated by engine has been calculated in
 this program, the variation of coolant temperature per predetermined
 number of times of ignition may be calculated. Further, the variation of
 coolant temperature per predetermined time may be calculated during the
 period in which the idling state continues or an almost constant operating
 state continues.
 It is noted that although the radiator fan 18 has been composed of the
 electrically driven fan in the example of the system structure of FIG. 1,
 the radiator fan may be linked with the water pump 17 so that the radiator
 fan and the water pump 17 are driven together by the power of the engine.
 Further, the position where the thermostat 13 is mounted is not limited
 only to the outlet part of the water jacket 12. It may be mounted at the
 inlet part or other parts of the water jacket 12.
 The above first embodiment may be arranged such that only either one of the
 open-malfunction diagnosing program or the closure-malfunction diagnosing
 program is implemented.
 Second Embodiment
 A second embodiment of the present invention will be explained below with
 reference to FIGS. 21 through 28. While the cooling system of the engine
 11 shown in FIG. 21 is similar to that of the first embodiment shown in
 FIG. 1, the water pump 17 is provided at the inlet of the water jacket 12
 and is linked with a cooling fan 18 provided behind the radiator 15 so
 that the water pump 17 and the radiator fan 18 are driven together by
 engine power transmitted via the belt 19. The circulation of the coolant
 within the coolant circulating path is accelerated by the rotation of the
 water pump 17 and the heat radiating effect of the radiator 15 is enhanced
 by the rotation of the cooling fan 18 to accelerate the cooling of the
 coolant within the radiator 15.
 In addition to the engine side coolant temperature sensor 20, a radiator
 side coolant temperature sensor 21 for detecting the temperature of the
 coolant (radiator side coolant temperature) supplied to the engine 11 is
 provided on the way of the coolant circulating path 14 on the radiator 15
 side from the thermostat 13. It is noted that the position where the
 radiator side coolant temperature sensor 21 is mounted may be any place on
 the coolant circulating path on the radiator 15 side from the thermostat
 13 and may be provided on the radiator 15 for example.
 Programs for diagnosing the thermostat malfunction shown in FIGS. 22
 through 24 are stored in a ROM built within the ECU 22. The thermostat 13
 is diagnosed whether it has the open-malfunction or the
 closure-malfunction by executing those programs.
 The malfunction diagnosing program for controlling the processes of the
 whole diagnosis of the malfunction of the thermostat is repeatedly
 activated per predetermined time or per crank angle after when the
 ignition switch not shown is turned on. When this program is initiated, an
 open-malfunction diagnosing program shown in FIG. 23 is executed in Step
 2100 to diagnose whether the open-malfunction in which the thermostat 13
 is kept opened occurred or not. After that, a closure-malfunction
 diagnosing program shown in FIG. 24 is executed in Step 2200 to diagnose
 whether the closure-malfunction in which the thermostat 13 is kept closed
 occurred or not.
 The behavior of the engine side coolant temperature Te and of the radiator
 side coolant temperature Tr when the open-malfunction has occurred as
 compared with those in the normal time are shown in FIGS. 25 and 26.
 Because the thermostat 13 is closed when it is normal at the time of cold
 start when the engine 11 is started while it is cold, the coolant is
 stopped from circulating to accelerate the rise of the engine side coolant
 temperature. Thus, because the radiator side coolant temperature rarely
 rises, the difference of temperature between the engine side coolant
 temperature and the radiator side coolant temperature should normally
 increase as time elapses. When the open-malfunction occurs on the other
 hand, the cold coolant within the radiator 15 is circulated to the water
 jacket 12 of the engine 11 from the beginning of the start even at the
 time of cold start, so that the difference of temperature between the
 engine side coolant temperature and the radiator side coolant temperature
 after the start is considerably small as compared with the case of the
 normal thermostat.
 Based on this point, the thermostat 13 is determined whether it is normally
 closed or has the open-malfunction depending on whether the difference of
 temperature between the engine side coolant temperature Te and the
 radiator side coolant temperature Tr at a predetermined period after the
 cold start is large or not in the open-malfunction diagnosing program
 shown in FIG. 23. In more detail, it is determined in Step 2101 whether it
 is the cold start or not by determining whether the engine side coolant
 temperature Te at the time of start is less than the valve closing
 temperature of the thermostat 13. If it is not the cold start, the program
 ends without diagnosing the open-malfunction.
 The diagnostic of the open-malfunction is implemented at the time of cold
 start because the engine side coolant temperature Te and the radiator side
 coolant temperature Tr are almost equal or close to each other and because
 the increase of the coolant temperature at the time of open-malfunction is
 largely different from that at the normal time in the period during which
 the engine side coolant temperature Te reaches the valve opening
 temperature of the thermostat 13 after the cold start and the
 open-malfunction may be readily detected as compared with other operating
 period.
 When it is determined to be the cold start in Step 2101, the process
 advances to Step 2102 to determine whether the open-malfunction diagnosing
 conditions hold or not. Here, the open-malfunction diagnosing conditions
 are (a) both the engine side coolant temperature sensor 20 and the
 radiator side coolant temperature sensor 21 are normal, (b) a
 predetermined time has elapsed after the cold start (the predetermined
 time is set within the time T1 during which the engine side coolant
 temperature Te reaches the valve opening temperature of the thermostat 13
 after the cold start), and (c) the engine side coolant temperature Te is
 lower than the valve opening temperature of the thermostat 13. When all of
 these conditions (a) through (c) are met, the open-malfunction diagnosing
 conditions hold.
 Here, the condition (a), i.e., whether the both coolant temperature sensors
 20 and 21 are normal, is determined whether an output voltage of the
 coolant temperature sensors 20 and 21 falls within a predetermined range.
 The condition (b), i.e., whether the predetermined time has elapsed after
 the cold start, is a temporal condition necessary until when a clear
 difference appears in the behavior of the coolant temperature during the
 open-malfunction time and during the normal time. The condition (c), i.e.,
 whether the engine side coolant temperature Te is lower than the valve
 opening temperature of the thermostat 13, is set because it becomes
 difficult to discriminate the open-malfunction when the engine side
 coolant temperature Te exceeds the valve opening temperature of the
 thermostat 13 and the thermostat 13 is opened.
 When conditions (a) through (c) are not met in Step 2102, the
 open-malfunction diagnosing conditions do not hold and the program ends
 without implementing the diagnosis of the open-malfunction.
 When all the conditions (1) through (3) are met and the open-malfunction
 diagnosing conditions hold on the other hand, the process advances to Step
 2103 to calculate a difference of temperature (Te-Tr) between the engine
 side coolant temperature Te and the radiator side coolant temperature Tr.
 Then, an open-malfunction discriminating reference value .alpha. for
 determining the open-malfunction from the difference of temperature
 (Te-Tr) is calculated from a map or a mathematical expression by
 parameterizing at least one of an intake air amount GA, an engine speed
 Ne, an intake air temperature, a vehicle speed and the operating state of
 the blower motor of the air-conditioner 27 which are parameters
 influencing the calorific heat value of the engine 11 and the radiation of
 the coolant.
 After that, the difference of temperature (Te-Tr) between the engine side
 coolant temperature Te and the radiator side coolant temperature Tr is
 compared with the open-malfunction discriminating reference value .alpha.
 in Step 2105. When the difference of temperature (Te-Tr) is greater than
 the open-malfunction discriminating reference value .alpha., the process
 advances to Step 2106 to determine that the thermostat 13 is normally
 opened as it should be and then to end the program.
 When the difference of temperature (Te-Tr) between the engine side coolant
 temperature Te and the radiator side coolant temperature Tr is smaller
 than the open-malfunction discriminating reference value .alpha. on the
 other hand, the process advances to Step 2107 to determine that the
 thermostat 13 has the open-malfunction. The program ends after lighting or
 flashing the alarm lamp 28 in Step 2108 to warn the driver of that and by
 storing the information on the open-malfunction in the backup RAM 29.
 The closure-malfunction diagnosing program shown in FIG. 24 is based on the
 behavior of the engine side coolant temperature Te and the radiator side
 coolant temperature Tr shown in FIGS. 27 and 28 when the
 closure-malfunction by which the thermostat 13 is kept closed occurs as
 compared with the case of the normal thermostat. When the engine side
 coolant temperature exceeds the thermostat valve opening temperature, the
 valve is opened when the thermostat 13 is normal and the cold coolant on
 the radiator side circulates to the engine 11, thus dropping the engine
 side coolant temperature and increasing the radiator side coolant
 temperature, so that the difference of temperature between the engine side
 coolant temperature and the radiator side coolant temperature becomes
 small as time elapses. When the closure-malfunction occurs on the other
 hand, the thermostat 13 is not opened even when the engine side coolant
 temperature Te exceeds the thermostat valve opening temperature, no
 coolant is circulated and the engine side coolant temperature Te
 continuously rises up. However, because the radiator side coolant
 temperature Tr does not rise so much, the difference of temperature
 between the engine side coolant temperature Te and the radiator side
 coolant temperature Tr becomes greater as time elapses.
 Based on this point, the closure-malfunction diagnosing program shown in
 FIG. 24 determines the thermostat 13 whether it normally opens or has the
 closure-malfunction by determining whether the difference of temperature
 between the engine side coolant temperature Te and the radiator side
 coolant temperature Tr is large or small within a predetermined period
 after when the engine side coolant temperature reaches the valve opening
 temperature of the thermostat 13 at time T1 from the cold start. In more
 detail, it is determined whether or not the engine side coolant
 temperature Te at the starting time is less than the valve closing
 temperature of the thermostat 13 in Step 2201. When it is not the cold
 start, the program ends without diagnosing the closure-malfunction.
 When it is determined to be cold start in Step 2201 on the other hand, the
 process advances to Step 2202 to determine whether or not
 closure-malfunction diagnosing conditions hold. Here, the
 closure-malfunction diagnosing conditions are (a) both the coolant
 temperature sensor 20 and the radiator side coolant temperature sensor 21
 are normal, (b) a predetermined time has elapsed after when the engine
 side coolant temperature Te has exceeded the valve opening temperature of
 the thermostat 13 and (c) the engine side coolant temperature Te is higher
 than the valve closing temperature of the thermostat 13. When all of these
 conditions (a) through (c) are met, the closure-malfunction diagnosing
 conditions hold.
 Here, the condition (b) (i.e. whether or not the predetermined time has
 elapsed after exceeding the valve opening temperature of the thermostat
 13) is a temporal condition necessary until when a clear difference
 appears in the behavior of the coolant temperatures Te and Tr during the
 closure-malfunction time and during the normal time. The condition (c),
 i.e., whether the engine side coolant temperature Te is higher than the
 valve closing temperature of the thermostat 13, is set because it becomes
 difficult to discriminate the closure-malfunction when the engine side
 coolant temperature Te is less than the valve closing temperature of the
 thermostat 13 and the thermostat 13 is closed.
 When conditions (a) through (c) are not met in Step 2202, the
 closure-malfunction diagnosing conditions do not hold and the program ends
 without implementing the diagnosis of the closure-malfunction.
 When all the conditions (a) through (c) are met and the closure-malfunction
 diagnosing conditions hold on the other hand, the process advances to Step
 2203 to calculate a difference of temperature (Te-Tr) between the engine
 side coolant temperature Te and the radiator side coolant temperature Tr.
 Then, a closure-malfunction discriminating reference value .beta. for
 determining the closure-malfunction from the difference of temperature
 (Te-Tr) is calculated from a map or a mathematical expression by
 parameterizing at least one of the intake air amount GA, the engine speed
 Ne, the intake air temperature, the vehicle speed and the operating state
 of the blower motor of the air-conditioner 27 which are parameters
 influencing the calorific heat value of the engine 11 and the radiation of
 the coolant.
 After that, the difference of temperature (Te-Tr) between the engine side
 coolant temperature Te and the radiator side coolant temperature Tr is
 compared with the closure-malfunction discriminating reference value
 .beta. in Step 2205. When the difference of temperature (Te-Tr) is less
 than the closure-malfunction discriminating reference value .beta., the
 process advances to Step 2206 to determine that the thermostat 13 is
 normally closed as it should be and then to end the program.
 When the difference of temperature (Te-Tr) between the engine side coolant
 temperature Te and the radiator side coolant temperature Tr is larger than
 the closure-malfunction discriminating reference value .beta. on the other
 hand, the process advances to Step 2207 to determine that the thermostat
 13 has the closure-malfunction. The program ends after lighting or
 flashing the alarm lamp 28 in Step 2208 to warn the driver of that and by
 storing the information on the closure-malfunction in the backup RAM 29.
 According to the second embodiment, the malfunction of the thermostat 13
 can be detected based on the engine side coolant temperature Te and the
 radiator side coolant temperature Tr detected by the engine side coolant
 temperature sensor 20 and the radiator side coolant temperature sensor 21,
 so that the aggravation of fuel consumption, the increase of noxious
 exhaust emission and the overheat caused by the malfunction of the
 thermostat 13 may be prevented beforehand. Still more, because the coolant
 temperature sensor for controlling the engine which is provided in the
 conventional engine may be used as the coolant temperature sensor 20, the
 system may be relatively simply constructed just by adding the radiator
 side coolant temperature sensor 21 anew to the conventional engine control
 system and the increase of the cost is minimized, thus satisfying the
 demand of reducing the cost.
 Further, because the closure-malfunction discriminating reference value is
 calculated by parameterizing at least one of the intake air amount GA, the
 engine speed Ne, the intake air temperature, the vehicle speed and the
 operating state of the blower motor of the air-conditioner 27 which are
 the parameters influencing the calorific value of the engine 11 and the
 radiation of the coolant, it becomes possible to determine the malfunction
 while considering the calorific value of the engine 11 and the radiation
 of the coolant and thereby the accuracy in diagnosing the malfunction may
 be enhanced.
 Modifications of Second Embodiment
 Alternatively to the second embodiment, the diagnosis whether the
 thermostat 13 has the open-malfunction/closure-malfunction is implemented
 based on the rate of change of temperature of the engine side coolant
 temperature Te and the radiator side coolant temperature Tr in this
 modification shown in FIGS. 29 and 30.
 Similarly to the case shown in FIG. 23, the open-malfunction diagnosing
 program shown in FIG. 29 executes the processes for diagnosing the
 open-malfunction on and after Step 2103a when it is the cold start and the
 open-malfunction diagnosing conditions hold in Steps 2101 and 2102. The
 open-malfunction diagnosing conditions are the same as those in the second
 embodiment. In diagnosing the open-malfunction, the rate of change of
 engine side coolant temperature .DELTA.Te calculated from an absolute
 value of the difference between the previous engine side coolant
 temperature Te(i-1) and the current engine side coolant temperature Te(i)
 and the rate of change of radiator side coolant temperature .DELTA.Tr is
 calculated from the absolute value of the difference between the previous
 radiator side coolant temperature Tr(i-1) and the current radiator side
 coolant temperature Tr(i) in Step 2103a.
 After that, an open-malfunction discriminating reference value .gamma. for
 determining the open-malfunction from the rate of change of engine side
 coolant temperature .DELTA.Te and an open-malfunction discriminating
 reference value .delta. for determining the open-malfunction from the rate
 of change of radiator side coolant temperature .DELTA.Tr are calculated
 from a map or a mathematical expression by parameterizing at least one of
 the intake air amount GA, the engine speed Ne, the intake air temperature,
 the vehicle speed and the operating state of the blower motor of the
 air-conditioner 27 which are the parameters influencing the calorific heat
 value of the engine 11 and the radiation of the coolant in Step 2104a.
 Then, it is determined whether or not the rate of change of engine side
 coolant temperature .DELTA.Te is larger than the open-malfunction
 discriminating reference value .gamma. and the rate of change of radiator
 side coolant temperature .DELTA.Tr is less than the open-malfunction
 discriminating reference value .delta. in Step 2105a. When the both
 conditions of .DELTA.Te.gtoreq..gamma. and .DELTA.Tr.ltoreq..delta. are
 met, the process advances to Step 2106 to determine that the thermostat 13
 is normally opened and to end the program.
 When even one of the both conditions of .DELTA.Te.gtoreq..gamma. and
 .DELTA.Tr.ltoreq..delta. are not met on the other hand, the process
 advances to Step 2107 to determine that the thermostat 13 has the
 open-malfunction and ends the program after lighting or flashing the alarm
 lamp 28 to warn the driver of that in Step 2108 and storing the
 information on the open-malfunction in the backup RAM 29.
 Meanwhile, the closure-malfunction diagnosing program shown in FIG. 30
 executes, similarly to the case shown in FIG. 24, the processes for
 diagnosing the closure-malfunction on and after Step 2203a when it is the
 cold start and the closure-malfunction diagnosing conditions hold in Steps
 2201 and 2202. The closure-malfunction diagnosing conditions are the same
 as those in the second embodiment. In diagnosing the closure-malfunction,
 the rate of change of engine side coolant temperature .DELTA.Te is
 calculated from an absolute value of the difference between the previous
 engine side coolant temperature Te(i-1) and the engine side coolant
 temperature Te(i) of this time and the rate of change of radiator side
 coolant temperature .DELTA.Tr is calculated from the absolute value of the
 difference between the previous radiator side coolant temperature Tr(i-1)
 and the current radiator side coolant temperature Tr(i) in Step 2203a.
 After that, a closure-malfunction discriminating reference value .epsilon.
 for determining the closure-malfunction from the rate .DELTA.Te/.DELTA.Tr
 of the rate of change of engine side coolant temperature .DELTA.Te and the
 rate of change of radiator side coolant temperature .DELTA.Tr is
 calculated from a map or a mathematical expression by parameterizing at
 least one of the intake air amount GA, the engine speed Ne, the intake air
 temperature, the vehicle speed and the operating state of the blower motor
 of the air-conditioner 27 which are the parameters influencing the
 calorific value of the engine 11 and the radiation of the coolant in Step
 2204a.
 Then, the rate .DELTA.Te/.DELTA.Tr of the rate of change of engine side
 coolant temperature .DELTA.Te and the rate of change of radiator side
 coolant temperature .DELTA.Tr is compared with the closure-malfunction
 discriminating reference value .epsilon. in Step 2205a. When the
 .DELTA.Te/.DELTA.Tr.ltoreq..epsilon., the process advances to Step 2206 to
 determine that the thermostat 13 is normally opened and to end the
 program.
 When the .DELTA.Te/.DELTA.Tr&gt;.epsilon. on the other hand, the process
 advances to Step 2207 to determine that the thermostat 13 has the
 closure-malfunction and ends the program after lighting or flashing the
 alarm lamp 28 to warn the driver of that in Step 2208 and storing the
 information on the closure-malfunction in the backup RAM 29.
 While the thermostat 13 has been diagnosed whether it has the
 open-malfunction after the elapse of the predetermined time from the cold
 start in the second embodiment and its modification, the open-malfunction
 may be diagnosed after an elapse of a predetermined time after when the
 thermostat 13 which has been opened is closed (after T2 in FIGS. 25 and
 26). That is, the open-malfunction may be diagnosed in the temperature
 range in which the thermostat 13 is normally closed.
 Further, the intake pipe pressure may be used instead of the intake air
 amount and the outside-air temperature may be used instead of the intake
 air temperature as the parameters used in calculating the malfunction
 discriminating reference value.
 Although the cooling fan 18 for cooling the radiator 15 is driven by the
 power of the engine 11 in the embodiments having the system structure
 shown in FIG. 21, an electrically driven fan which is driven by an
 electric motor may be used. Further, the position where the thermostat 13
 is mounted is not limited only to the outlet part of the water jacket 12
 and may be mounted at other parts such as the inlet part of the water
 jacket 12.
 Still more, because the behavior of the engine side coolant temperature and
 the radiator side coolant temperature are influenced by the malfunction of
 the water pump 17, the radiator fan 18 and the blower motor of the
 air-conditioner 27, it is possible to arrange so as to diagnose the
 malfunction of the water pump 17, the radiator fan 18 and the blower motor
 of the air-conditioner 27 from the engine side coolant temperature and the
 radiator side coolant temperature.
 Further, the output signal of the radiator side coolant temperature sensor
 21 may be used as information for controlling the engine when the coolant
 temperature sensor 20 is out of order. The second embodiment and its
 modifications may be arranged so as to implement only either one of the
 open-malfunction diagnosing program or the closure-malfunction diagnosing
 program.
 Third Embodiment
 The whole cooling system of the engine 11 of the this embodiment shown in
 FIG. 31 is the same as that of the first embodiment in which only one
 coolant temperature sensor 20 is provided at the engine side. The ECU 22
 diagnoses the thermostat 13 whether it has the open-malfunction by
 executing each diagnosis routine shown in FIGS. 32 and 33 after engine
 warm-up completion even under normal engine running condition which
 follows idling.
 In FIG. 34, When the coolant temperature THW detected by the engine side
 coolant temperature sensor 20 exceeds the thermostat opening temperature,
 the thermostat 13 opens when it is normal, so that the cold coolant on the
 radiator 15 side flows into the engine 11 side to suppress the coolant
 temperature from rising. Then, the coolant temperature drops below the
 thermostat opening temperature. When the coolant temperature THW drops
 below the thermostat closing temperature after that, the thermostat 13 is
 closed and the coolant is stopped from circulating from the radiator 15
 side to the engine 11 side. Then, the coolant on the engine 11 side is
 warmed up by the heat of the engine 11 and the coolant temperature THW
 rises up more than the thermostat closing temperature. Accordingly, the
 state in which the coolant temperature THW drops largely below the
 thermostat closing temperature does not continue for a long period of
 time.
 Based on this point, the thermostat 13 is determined to have the
 open-malfunction when the state in which the coolant temperature THW drops
 below the malfunction discriminating temperature (e.g. 70.degree. C.)
 which is lower than the thermostat closing temperature continues for a
 predetermined time since when the coolant temperature THW has exceeded the
 warm-up completion temperature (e.g. 80.degree. C.) after the start of the
 engine in the this embodiment.
 The thermostat open-malfunction diagnosing routine shown in FIG. 32 is
 initiated per predetermined time (e.g. 32 ms). When this program is
 initiated, data of the intake air temperature THA, the intake pipe
 pressure PM and the coolant temperature THW output respectively from an
 intake air temperature sensor 25, an intake pipe pressure sensor 24 and
 the coolant temperature sensor 20 in Step 3101. Then, it is determined
 whether the following malfunction diagnosing conditions (d) through (g)
 hold in Steps 3102 through 3105:
 (d) A warm-up completion flag XTHW which is set in the routine in FIG. 33
 is "1" indicating that the warm-up has been completed. That is, the
 coolant temperature THW has risen up more than 80.degree. C. for example
 which is the warm-up completion temperature (Step 3102);
 (e) The intake air temperature THA is higher than 0.degree. C. (Step 3103);
 (f) The state in which the intake pipe pressure PM is larger than a
 predetermined value KPM (i.e. non-low load state) is continuing for more
 than the predetermined time (Step 3104); and
 (g) Fuel is supplied continuously, that is, fuel cut-off is not continuing
 for more than the predetermined time (Step 3105).
 When all of these conditions (d) through (g) are satisfied (when the
 determinations of Steps 3102 through 3105 are all "Yes" ) indicating that
 the engine 11 is in other than the idling or deceleration, the malfunction
 diagnosing conditions hold. When there is even one condition which is not
 satisfied, the malfunction diagnosing conditions do not hold and the this
 routine ends without implementing the diagnosis of malfunction.
 Here, the conditions (e) through (g) (Steps 3103 through 3105) are what for
 determining whether it is the operating state during which the coolant
 temperature THW is inclined to drop. When any one of Steps 3103 through
 3105 is "No", i.e., the intake air temperature is THA.ltoreq.0.degree. C.,
 the low load state (PM&lt;KPM) is continuing for more than the predetermined
 time, or the fuel cut-off is continuing for more than the predetermined
 time, it is the operating state during which the coolant temperature THW
 inclines to drop. When the operating state during which the coolant
 temperature THW inclines to drop continues, the coolant temperature THW
 may drop continuously and moderately even if the thermostat 13 is closed,
 so that the discrimination of the malfunction is inhibited by the
 processes in Steps 3103 through 3105 to prevent an erroneous
 discrimination of the open-malfunction of the thermostat 13 in advance.
 When this malfunction diagnosing conditions hold, i.e. the warm-up
 completion flag XTHW=1 (warm-up is completed) and it is not the operating
 state during which the coolant temperature THW inclines to drop (when all
 "Yes" in Steps 3102 through 3105), the process advances to Step 3106 to
 determine whether or not the state in which the coolant temperature THW
 drops below the malfunction discriminating temperature (e.g. 70.degree.
 C.) which is lower than the thermostat closing temperature for more than
 the predetermined time To. When it is "Yes", the process advances to Step
 3107 to determine that the thermostat 13 has the open-malfunction and ends
 the routine after lighting or flashing the alarm lamp 28 to warn the
 driver of that and storing the malfunction information in the backup RAM
 29. When the state during which the THW&lt;70.degree. C. (malfunction
 discriminating temperature reference value) is not continuing for more
 than the predetermined time To on the other hand, it is not determined to
 be the open-malfunction and the routine ends.
 It is noted that although it has been determined whether or not the
 thermostat 13 has the open-malfunction by determining whether the state
 during which the coolant temperature THW&lt;70.degree. C., the thermostat 13
 may be determined to have the open-malfunction when the coolant
 temperature THW drops below the malfunction discriminating temperature.
 Thereby, the thermostat 13 may be determined whether it has the
 open-malfunction or not by setting the malfunction discriminating
 temperature at a temperature fully lower than the thermostat closing
 temperature.
 The warm-up completion flag setting routine shown in FIG. 33 is initiated
 per predetermined time (e.g. 32 ms) and reads the coolant temperature THW
 detected by the coolant temperature sensor 20 at first in Step 3111. Then,
 it is determined whether the warm-up completion flag XTHW is "o"
 indicating that the warm-up has not been completed in Step 3112. When it
 has been set as XTHW=1 (warm-up is completed), the routine ends as it is.
 When XTHW=0 (warm-up is not completed), the process advances to Step 3113
 to determine whether the coolant temperature THW has exceeded 80.degree.
 C., for example, which is the warm-up completion temperature. When it has
 not exceeded 80.degree. C., the routine ends as it is. When it has
 exceeded 80.degree. C., i.e. when the warm-up has been completed, the
 process advances to Step 3114 to set the warm-up completion flag XTHW to
 "1" meaning that the warm-up has been completed and ends the routine. It
 is noted that the warm-up completion flag XTHW is reset to "0" by the
 initialization process at the starting time of the engine.
 Because the open-malfunction of the thermostat 13 may be detected from the
 coolant temperature THW detected by the coolant temperature sensor 20 in
 the third embodiment described above, no new sensor or the like for
 detecting the open-malfunction is necessary, satisfying the demand of
 reducing the cost.
 It is noted that it is possible to add a function of determining the
 closure-malfunction of the thermostat 13 or the malfunction of the
 radiator fan 18 when the coolant temperature THW rises more than a
 predetermined temperature higher than the thermostat opening temperature
 or when that state continues for the predetermined time. Further, the
 outside air temperature may be used instead of the intake air temperature
 in Step 3103.
 Modification of Third Embodiment
 A modification in which the third embodiment is applied to a vehicle
 provided with an electronic throttle system will be explained below based
 on FIGS. 35 through 40. As described before, when the thermostat 13
 operates normally, the coolant temperature THW is controlled almost within
 the temperature range from the thermostat closing temperature to the
 thermostat opening temperature (required coolant temperature range) and
 the state in which the coolant temperature THW is out of the required
 coolant temperature range will not continue for a long time in the normal
 operating state.
 Based on this point, it is determined that the thermostat 13 has the
 closure-malfunction in which it is kept closed when the coolant
 temperature THW continuously rises up even when the predetermined time To
 has elapsed since when the coolant temperature THW has risen more than the
 thermostat opening temperature as shown in FIG. 39 in this modification.
 Further, it is determined that the thermostat 13 has the open-malfunction
 in which it is kept opened when the coolant temperature THW continuously
 drops even when the predetermined time To has elapsed since when the
 coolant temperature THW has dropped below the thermostat closing
 temperature.
 This modified diagnosis routine is shown in FIGS. 35 through 38. The
 thermostat malfunction diagnosing routine shown in FIG. 35 is initiated
 per predetermined time (e.g. 32 ms). When this program is initiated, the
 coolant temperature THW detected by the coolant temperature sensor 20 is
 read in Step 3201. Then, it is determined in Step 3202 whether or not a
 low load flag XLOADL set/reset by the routine in FIG. 36 is "0", i.e. a
 middle load or high load range.
 When XLOADL=0 (the middle load or high load range), it is determined in
 Steps 3203 through 3206 whether the thermostat 13 has the open-malfunction
 or not. At first, it is determined whether or not the coolant temperature
 THW is lower than the thermostat closing temperature KTHWCL in Step 3203.
 When it is "Yes", the process advances to Step 3204 to determine whether
 or not the coolant temperature THW continuously drops. When it is "Yes",
 it is determined whether or not the predetermined time To during which the
 coolant temperature THW continuously drops has elapsed.
 When the predetermined time To during which the coolant temperature THW
 continuously drops has elapsed, the process advances to Step 3206 to
 determine that the thermostat 13 has the open-malfunction. Then, the
 routine ends after lighting or flashing the alarm lamp 28 to warn the
 driver of that and storing the malfunction information in the backup RAM
 29.
 When it is determined to be "No" either in Step 3204 or 3205, i.e. the time
 during which the coolant temperature THW continuously drops has not
 reached the predetermined time, on the other hand, it is not determined to
 be the open-malfunction and the routine ends.
 When it is determined to be "No" either in Step 3202 or 3203, i.e. XLOADL=1
 (low load range) or the coolant temperature THW is more than the
 thermostat closing temperature KTHWCL, the process advances to Step 3207
 to determine whether or not a high load flag XLOADH set/reset in the
 routine in FIG. 37 is "0", i.e., the low load or middle load range.
 When XLOADH=0 (the low load or middle load range), it is determined in
 Steps 3208 through 3211 whether the thermostat 13 has the
 closure-malfunction or not. At first, it is determined whether or not the
 coolant temperature THW is higher than the thermostat opening temperature
 KTHWOP in Step 3208. When it is "Yes", the process advances to Step 3209
 to determine whether or not the coolant temperature THW continuously
 rises. When it is "Yes", it is determined whether or not the predetermined
 time during which the coolant temperature THW continuously rises has
 elapsed.
 When the predetermined time To during which the coolant temperature THW
 continuously rises has elapsed, the process advances to Step 3211 to
 determine that the thermostat 13 has the closure-malfunction. Then, the
 routine ends after lighting or flashing the alarm lamp 28 to warn the
 driver of that and storing the malfunction information in the backup RAM
 29 and by limiting the throttle opening by a target throttle opening
 computing routine shown in FIG. 38 to limit the intake air amount to limit
 the output of the engine (calorific heat value of the engine) and to limit
 ON of the air-conditioner 27 (drive of the compressor) to limit the engine
 load in Step 3212.
 Thus, switching to the control mode by which the intake air amount is
 limited and ON time of the air-conditioner is limited reduces the load of
 the engine, prevent the engine from overheating and enables rimp-home
 running to a service station. It is noted that it is possible to arrange
 so as to implement only either one of the limit of the intake air amount
 and the limit of ON of the air-conditioner.
 When it is determined to be "No" in either one of Steps 3208 through 3210,
 i.e., the coolant temperature THW is below the thermostat opening
 temperature KTHWOP, or the time during which the coolant temperature THW
 continuously rises up does not reach the predetermined time To, it is not
 determined to be the closure-malfunction and the routine ends.
 The process in Step 3202 thus inhibits the discrimination of the
 open-malfunction during the low load range and the process in Step 3207
 inhibits the discrimination of the closure-malfunction during the high
 load range. That is, because there is a case when the coolant temperature
 THW continuously and moderately drops even when the thermostat 13 is
 closed in the low load range, an erroneous discrimination of the
 open-malfunction may be prevented by inhibiting the discrimination of the
 open-malfunction. Further, because there is a case when the coolant
 temperature THW continuously and moderately rises even when the thermostat
 13 is opened in the high load range, an erroneous discrimination of the
 closure-malfunction may be prevented by inhibiting the discrimination of
 the closure-malfunction.
 It is noted that although both the open-malfunction and the
 closure-malfunction have been detected in the thermostat malfunction
 diagnosing routine in FIG. 35, it is possible to arrange so as to detect
 only either one of the closure-malfunction and the open-malfunction.
 The low load discriminating routine for Step 3202 in FIG. 35 is shown in
 FIG. 36 and is initiated per predetermined time (e.g., per 8 ms). When
 this routine is initiated, the intake pipe pressure PM and the throttle
 opening TA are read in Step 3221 at first. Then, it is determined whether
 or not the present operating range is the low load range as follows in
 Steps 3222 through 3225. Here, the low load range is the operating range
 in which the coolant temperature THW may continuously drops even when the
 coolant temperature THW drops below the thermostat closing temperature
 KTHWCL and the thermostat 13 is closed when the thermostat 13 operates
 normally.
 At first, the intake pipe pressure PM is compared with a low load
 discriminating value KPMLOADL in Step 3222. When the intake pipe pressure
 PM is less than the low load discriminating value KPMLOADL, it is
 determined to be the low load range and the process advances to Step 3227
 to set the low load flag XLOADL to "1". The low load discriminating value
 KPMLOADL is set in correspondence with an engine speed at that moment by
 using a table or a mathematical expression of the KPMLOADL set by
 parameterizing the engine speed in advance.
 When it is determined that the intake-pipe pressure PM is greater than the
 low load discriminating value KPMLOADL, the process advances to Step 3223
 to compare the throttle opening TA with the low load discriminating value
 KPMLOADL. When the throttle opening TA is less than the low load
 discriminating value KPMLOADL, it is determined to be the low load range
 and the process advances to Step 3227 to set the low load flag XLOADL to
 "1". The low load discriminating value KPMLOADL is also set in
 correspondence with the engine speed at that moment by using the table or
 the mathematical expression in advance.
 When it is determined in Step 3223 that the throttle opening TA is greater
 than the low load discriminating value KPMLOADL, the process advances to
 Step 3224 to determine whether fuel is supplied normally or cut off for
 deceleration. When the fuel is being cut off, it is determined to be the
 low load range and the process advances to Step 3227 to set the low load
 flag XLOADL to "1".
 When the fuel is supplied normally without fuel cut-off, the process
 advances to Step 3225 to determine whether the predetermined time during
 which the three conditions of PM&gt;PLMLOADL at Step 3222, TA&gt;KTALOADL at
 Step 3223 and normal fuel supply at Step 3224 are all satisfied has
 elapsed. When the predetermined time has not elapsed, it is determined to
 be the low load range and the process advances to Step 3227 to set the low
 load flag XLOADL to "1" and to end the routine.
 When it is determined to be "Yes" in all of Steps 3222 through 3225 on the
 other hand, i.e. the predetermined time during which all the conditions
 are satisfied has elapsed, it is determined to be the middle load or the
 high load range. Then, the process advances to Step 3226 to set the low
 load flag XLOADL to "0" and to end the routine.
 The high load discriminating routine for Step 3207 shown in FIG. 35 is
 shown in FIG. 37 and is initiated per predetermined time (e.g., per 8 ms).
 When this routine is initiated, the intake pipe pressure PM, the throttle
 opening TA and an air-conditioner signal AC are read in Step 3231 at
 first. Then, it is determined whether or not the present operating range
 is the high load range as follows in Steps 3232 through 3235. Here, the
 high load range is the operating range in which the coolant temperature
 THW may continuously rise even when the coolant temperature THW rises
 above the thermostat opening temperature KTHWOP and the thermostat 13 is
 opened when the thermostat 13 operates normally.
 At first, the intake pipe pressure PM is compared with the high load
 discriminating value KPMLOADH in Step 3232. When the intake pipe pressure
 PM is more than the high load discriminating value KPMLOADH, it is
 determined to be the high load range and the process advances to Step 3237
 to set the high load flag XLOADH to "1". The high load discriminating
 value KPMLOADL is set in correspondence to an engine speed at that moment
 by using a table or a mathematical expression of the KPMLOADH set by
 parameterizing the engine speed in advance.
 When it is determined that the intake-pipe pressure PM is smaller than the
 high load discriminating value KPMLOADH in Step 3232, the process advances
 to Step 3233 to compare the throttle opening TA with the high load
 discriminating value KPMLOADH. When the throttle opening TA is greater
 than the high load discriminating value KPMLOADH, it is determined to be
 the high load range and the process advances to Step 3237 to set the high
 load flag XLOADH to "1". The high load discriminating value KPMLOADH
 described above is also set in correspondence with the engine speed at
 that moment by using the table or the mathematical expression in advance.
 When it is determined in Step 3233 that the throttle opening TA is smaller
 than the high load discriminating value KPMLOADH, the process advances to
 Step 3234 to determine whether or not the air-conditioner signal AC is
 OFF. When it is not OFF (i.e., ON), it is determined to be the high load
 range and the process advances to Step 3237 to set the high load flag
 XLOADH to "1".
 When the air-conditioner signal AC is OFF, the process advances to Step
 3235 to determine whether the predetermined time during which the three
 conditions of PM&lt;PLMLOADH at Step 3232, TA&lt;KTALOADL at Step 3233 and the
 air-conditioner signal AC is OFF at Step 3234 are all satisfied has
 elapsed. When the predetermined time has not elapsed yet, it is determined
 to be the high load range and the process advances to Step 3237 to set the
 high load flag XLOADH to "1" and to end the routine.
 When it is determined to be "Yes" in all of Steps 3232 through 3235 on the
 other hand, i.e., the predetermined time during which all those conditions
 are satisfied has elapsed, it is determined to be the low load or the
 middle load range. Then, the process advances to Step 3236 to reset the
 high load flag XLOADH to "0" and to end the routine.
 The target throttle opening computing routine shown in FIG. 38 is initiated
 per predetermined time (e.g., per 2 ms) and computes a target throttle
 opening TAC in correspondence with the control of an accelerator pedal
 (not shown). The detail of the method for computing the target throttle
 opening TAC is known in the art. After computing the target throttle
 opening TAC, it is determined in Step 3242 whether the thermostat 13 has
 the open-malfunction or not based on the result of the diagnosis of the
 malfunction by the routine shown in FIG. 35. When it is not the
 open-malfunction, the routine ends as it is. In this case, the aperture of
 the throttle valve is controlled in response to the target throttle
 opening TAC computed in Step 3241.
 When the open-malfunction has occurred on the other hand, the process
 advances from Step 3242 to Step 3243 to correct the target throttle
 opening TAC by multiplying a correction factor a to the target throttle
 opening TAC calculated in Step 3241. Here, the target throttle opening TAC
 at the time of open-malfunction is reduced as compared with that during
 the normal time by setting the correction factor .alpha.&lt;0 to limit the
 intake air amount. It is noted that a map for calculating the target
 throttle opening TAC during the open-malfunction may be prepared and
 stored in the ROM in advance to calculate the target throttle opening TAC
 during the open-malfunction from this map.
 Then, a lower limit guarding process is implemented so that the target
 throttle opening TAC during the open-malfunction will not become too small
 in Step 3224 and then the routine ends.
 It is noted that it is possible to arrange so as to limit the intake air
 amount and to limit ON time of the air-conditioner (switching to the
 control mode during a malfunction) when a malfunction other than that of
 the thermostat 13 (such as a malfunction of the radiator fan 18, the drop
 of coolant level and the like) occurs in the engine cooling system.
 Further, each routine shown in FIGS. 35 through 37 may be applied to a
 vehicle not provided with the electronic throttle. In this case, ON/OFF of
 the air-conditioner is implemented in Step 3212 in FIG. 35.
 While preferred embodiments and modifications thereof have been described,
 further variations thereto will occur to those skilled in the art within
 the scope of the present inventive concepts which are delineated by the
 following claims.