The present invention relates to a method for operating an internal combustion engine according to a state machine, and also relates to a computer program and a control unit for carrying out the method.
State machines are known in the art, in particular in software development. In general, they graphically represent different states of a system. The individual states of the system are represented by parameters and values assigned thereto, which are queriable by software modules. Such state machines, e.g., as shown in
Known state machines for internal combustion engines have successively increased over time; they have been further and further expanded as needed for special individual applications. This is the reason why existing state machines for internal combustion engines are now very complex and awkward. When known state machines are to be used for individual applications in conjunction with internal combustion engines of a certain type, it is now indispensable that with the implementation of the known state machines a plurality of components or sub-systems, which would not be absolutely necessary for the specific individual applications, must also be installed.
It is an object of the present invention to provide a method, computer program and control unit such that simple and lean adaptation to various internal combustion engines of different types is made possible.
According to the present invention, layer n and all layers hierarchically superordinated thereto in the hierarchical structure of the state machine each represent operating states which the engine of the certain type has in common with engines of another type, and the additional layer and all layers subordinated thereto in the hierarchical structure of the state machine represent operating states which are specific to the engine of the certain type.
Engines of different types may be diesel engines and gasoline engines, for example.
Due to the division of the layers of the state machine according to the present invention, when switching from one type of engine used to another, it is only necessary to replace or adapt those layers in the state machine that are specific to a certain engine. All other layers of the state machine remain unaffected by the change. These other layers/software and engine control unit parts, which depend only on the generic (reusable) layers of the state machine, may be used in different types of engines without adaptation.
In other words, when switching from one type of engine used to another, it is now no longer necessary to transfer the entire state machine, which basically includes the operating states of a plurality of engines of different types. Instead, in a new engine type, it is possible to use initially only those layers of the state machine which represent operating states that are usable for multiple engines, i.e., are engine-type-independent. Only those layers of the additional layers of the state machine which are suitable for the specific engine used need to be transferred to the new type. Even within a selected additional layer, individual un-needed operating state modules may be eliminated or replaced. Other additional layers which are basically available in the state machine may be omitted. In this way, efficient adaptation of the state machine to a desired application is possible.
According to a first exemplary embodiment of the present invention, the state machine for the internal combustion engine has four layers. The first layer represents an operating state “engine trigger.” The operating states “start,” “normal operation,” and “after-run” are defined as sub-states of the operating state “engine trigger” in the second layer. The third layer in turn represents sub-states of the operating states of layer 3. It includes the sub-states “standby,” “ready,” “start phase,” “idle,” “accelerate,” “coast,” and “end.” Finally, the fourth layer includes the “preheat” or “no preheat” states as sub-states of the “ready” operating state in the third layer. In this exemplary embodiment, the first through third layers represent operating states that are non-specific to the engine of the certain type, and the fourth layer includes operating states which are specific to the engine of the certain type.
Other advantageous example embodiments of the method are provided, in which the state machine is designed in such a way that a transition between individual operating states represented by it is only possible under certain circumstances. It is furthermore advantageous if the method provides that the state machine represents not only operating states of the engine, but also different operating states of an engine control unit.
The present invention also provides a computer program for the control unit of the internal combustion engine and by the control unit itself.
Basic structure 12 of the state machine shown in
The uppermost operating state in layer n=1 is “engine trigger” 1-6. In a layer n=2 below the first layer, various operating states of the engine, specifying the superordinate operating state “engine trigger,” are combined; these are the operating states “standby” 2-7 (optional), “start” 2-8, “normal operation” 2-9, and “after-run” 2-10. The term “start” combines all sub-states of the engine that are used for preparing the engine for start, as well as for executing the start. These sub-states are the states “ready” 3-1 and “start phase” 3-2, which are specified in a layer n=3. Similarly, in third layer n=3, the sub-states “idle” 3-3 and “accelerate” 3-4 are described as sub-states for the superordinate state “normal operation” 2-9 in second layer n=2. Third layer n=3 includes the states “start-up” 3-5 and “end” 3-6 as substates to the superordinate operating state “after-run” 2-9 of the engine as it is referred to in the second layer. Finally, the state machine shown in
According to the present invention, the first through third layers n=1 to 3, when they concern the engine, rather than the control unit, represent only the operating states which the engine of a certain type, for example, a gasoline engine, has in common with engines of another type, for example, diesel engines. In contrast, the fourth layer n=4 represents predominantly operating states which are specific to engines of certain types such as diesel engines or gasoline engines.
The individual operating states mentioned so far and the possible transitions between these operating states during the operation of the engine are described in detail below with reference to
As is evident from
When the ignition of the vehicle occurs, i.e., the engine is turned on during “standby” state 2-7 or some other equivalent information is supplied to the control unit, the engine controller exits the “standby” state and switches to a “ready” state 3-1; engine 20 may then immediately start. In the “ready” state, power consumers still may be monitored; in diesel engines, the preheat process may be performed in the “ready” state according to a subordinate layer n=4. However, as soon as starter 15 of the engine is activated and a rotational speed of the engine which is greater than a predefined threshold value Thr0 has been detected, the system exits this “ready” state 3-1 and the engine switches to “start phase” state 3-2. Alternatively, if the ignition is turned off during “ready” state 3-1, no transition to the “start phase” state, but to “coast” state 3-5 takes place.
“Start phase” state 3-2 is used for making the engine bring itself to run. If this cannot be done, i.e., if the engine stalls, which means that the rotational speed of the engine remains below a predefinable threshold value Thr1 for a certain minimum period of time, the system jumps back to “ready” state 3-1. In contrast, if the start phase is successfully completed, i.e., the rotational speed of the engine exceeds a predefinable second threshold value Thr2, state machine 12 transitions within second layer n=2 from operating state “start” 2-8 to operating state “normal operation” 2-9.
More precisely, after the start phase the engine first transitions into an “idle” state 3-3 in third layer n=3 of the state machine, as illustrated in
As soon as the “after-run” state is terminated, the engine switches to “standby” state 2-7 within the second layer. This occurs if the ignition is not turned on again during “after-run” state 2-10.
However, if the ignition is turned on again during this “after-run” state 2-10 in second layer n=2, there are three alternative procedures for controlling the engine. A first alternative is the engine switching from “after-run” state 2-10 to “start” state 2-8 within second layer n=2. With respect to third layer n=3, it is irrelevant for this changeover whether engine 20 is in “coast” state 3-5 or “end” state 3-6 when the ignition is turned on again; in either case, the engine goes into “ready” state 3-1 when the ignition is turned on. Alternatively, there is the possibility to exit “engine trigger” state 1-6 and go into a “reset” state 1-2 of control unit 10 for engine 20. As a third alternative, there is the possibility to go into an “off” state 1-1 of control unit 10.
In addition to operating state “engine trigger” 1-6, which, as described above, includes all essential operating states of the engine, state machine 12 may also include different operating states of engine control unit 10. These are, as
The transitions between these individual states of engine control unit 10, as well as the transitions between these states and the above-described states of the engine, are briefly described below.
The context for discussing the above-described state machine 12 is a situation in which a computer or a microcontroller in control unit 10, on which a computer program for executing the above-described and claimed method runs, is off. Provided control unit 10, together with engine 20, is installed in a vehicle, the computer is off, for example, as long as the doors of the vehicle, e.g., the driver's door, are still closed or another defined wake-up event has not yet occurred. Such an “off” state is labeled in
The engine is normally started after the ignition is turned on from “standby” state 2-7, as described in detail above. In addition, different conditions may be pre-programmed, under which conditions the engine goes from “standby” state 2-7 not into “ready” state 3-1, but into “shut down” state 1-5 of control unit 10. This is the case, for example, if “standby” state 2-7 was assumed after exiting “after-run” state 2-9. The control unit is prepared for shutoff in the “shut down” state. When the “shut down” state has been terminated, the control unit goes automatically into “off” state 1-1. However, if the ignition is turned on again during the “shut down” state or another equivalent event occurs, control unit 10 goes into “reset” state 1-2 to go automatically from there into the “boot” state as described above.
Number | Date | Country | Kind |
---|---|---|---|
103 08 459.2 | Feb 2003 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP04/50166 | 2/19/2004 | WO | 5/4/2006 |