This application is based on and incorporates herein by reference Japanese Patent Application No. 2000-130180 filed Apr. 28, 2000.
The present invention relates to a self-diagnosis function of a vehicle control apparatus for controlling a vehicle, and more particularly to a technique that realizes the self-diagnosis function with an object-oriented programming.
A vehicle control computer system is required to have high operation reliability. If the failure of components in such a system is not detected consistently, a vehicle is disabled to run as intended. Therefore, the computer system is provided with a self-diagnosis function to improve the operation reliability.
U.S. patent application Ser. No. 09/383,277 assigned to the same assignee of the present application proposes an object-oriented programming. In this proposed programming, the object that executes processing on a diagnosis target is separated in a self-diagnosis program as a malfunction detection object. Thus, this technique requires that only the malfunction detection object is changed and other objects are re-used, when the diagnosis target is changed.
(1) Cases in which diagnosis target is changed are classified into two sub-cases, that is, the sub-case in which the configuration of the diagnosis target is changed and the sub-case in which the number of diagnosis targets is increased or decreased. For example, in the former sub-case, a water temperature sensor A is used for a certain vehicle type but a water temperature sensor B is used for another vehicle type. In the latter sub-case, a sensor C is not used for a certain vehicle type but the sensor C is used for another vehicle type.
In the case that the same vehicle control is implemented for different vehicle types and vehicle grades, the sensor having the same function is used. Therefore, the configuration of diagnosis target is often changed as in the former sub-case. In the case that only the configuration of diagnosis target is changed, the change of the malfunction detection processing (malfunction detection logic) should be changed, but the malfunction information should not be changed.
On the other hand, the malfunction information corresponds to the malfunction item that is predetermined by regulations or vehicle manufacturers. Therefore, it is required to change the malfunction information when the number of the malfunction items is changed due to a request from a manufacturer, but it is not required to change the malfunction detection processing in some cases.
Thus, although the malfunction detection processing is programmed in the object-oriented manner for each unit of diagnosis targets by separating the processing that depend on the diagnosis target, some re-usable objects are included in the malfunction detection object in some cases of changing diagnosis targets.
(2) Furthermore, in the case that the malfunction detection processing is programmed in the object-oriented manner for each unit of diagnosis targets, two or more malfunction detection objects are involved in the malfunction detection processing redundantly in some cases. This is because the malfunction detection processing is the same, though the diagnosis target is different. The redundancy can be a cause that prevents implementation of a compact self-diagnosis program.
(3) Furthermore, the malfunction information is determined at first in the self-diagnosis program forming process, and is rarely changed later in the course of a vehicle development. On the other hand, the malfunction detection processing for each malfunction information can be changed very often in the course of the vehicle development because sensors and/or detection logic (algorithm) may have to undergo some modifications and changes. If the malfunction information is fixed for the same object, it is required to consider the relation to the malfunction information even when only the malfunction detection processing needs be changed. Thus, the object-oriented programming work becomes heavy.
It is therefore an object of the present invention to improve re-usability of a self-diagnosis program.
It is another object of the present invention to realize a compact self-diagnosis program and to reduce a programming work for a self-diagnosis.
According to the present invention, a vehicle control apparatus has a self-diagnosis program which is programmed in an object-oriented design. The self-diagnosis program includes a plurality of object units which are provided separately from each other to be replaceable independently of each other. The self-diagnosis program includes a malfunction detection object for detecting a malfunction provided for each malfunction detection processing, and a malfunction information storage object for storing the malfunction information provided for each malfunction item.
Further, the self-diagnosis program preferably includes a malfunction information management object which has the correlative relation between the malfunction detection object and the malfunction information storage object. Upon receiving a normality/abnormality message from the malfunction detection object, the malfunction information management object determines the corresponding malfunction information storage object and stores the malfunction information.