DE19946031A1 - Control-program-based control internal combustion engine fuel-injection timing, involves dividing control program into several tasks for carrying out at precisely defined times - Google Patents
Control-program-based control internal combustion engine fuel-injection timing, involves dividing control program into several tasks for carrying out at precisely defined timesInfo
- Publication number
- DE19946031A1 DE19946031A1 DE1999146031 DE19946031A DE19946031A1 DE 19946031 A1 DE19946031 A1 DE 19946031A1 DE 1999146031 DE1999146031 DE 1999146031 DE 19946031 A DE19946031 A DE 19946031A DE 19946031 A1 DE19946031 A1 DE 19946031A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- control
- task
- counter
- processed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24024—Safety, surveillance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24125—Watchdog, check at timed intervals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Debugging And Monitoring (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
Description
Die vorliegende Erfindung betrifft ein Verfahren zur Steuerung/Regelung von Prozessen mit Hilfe eines Steuerprogramms, das unter Echtzeit-Bedingungen abgearbeitet wird und das in mehrere jeweils mit einer definierten Häufigkeit aufzurufende Aufgabenprogramme (Tasks) unterteilt ist. Die Erfindung betrifft außerdem ein Steuergerät zum Steuern/Regeln von Prozessen mit Hilfe eines Steuerprogramms, das unter Echtzeit-Bedingungen auf dem Steuergerät ablauffähig ist und das in mehrere abzuarbeitende Aufgabenprogramme (Tasks) unterteilt ist.The present invention relates to a method for Control of processes with the help of a Control program operating under real-time conditions is processed and that in several each with one defined frequency of tasks to be called (Tasks) is divided. The invention also relates to a Control device for controlling / regulating processes with the help a control program based on real-time conditions the control unit is executable and that in several Task programs to be processed is divided.
Ein Verfahren und eine Vorrichtung der eingangs genannten Art sind bspw. aus der DE 195 00 957 A1 bekannt. Dort wird ein Steuergerät zur Steuerung der Kraftstoffeinspritzung einer Brennkraftmaschine offenbart. Auf dem Steuergerät ist ein Steuerprogramm unter Echtzeit-Bedingungen ablauffähig. Das Steuerprogramm ist in mehrere Aufgabenprogramme (Tasks) unterteilt, die während des Ablaufs des Verfahrens in einem bestimmten Zeitabschnitt jeweils mit einer definierten Häufigkeit aufgerufen werden müssen. Den einzelnen Ablaufprogrammen sind verschiedene Prioritäten zugeordnet. Das Steuergerät weist einen Mikrorechner, einen Schreib- /Lese-Speicher (RAM), einen Festwertspeicher (EPROM) und einen nichtflüchtigen Schreib-/Lese-Speicher (EEPROM) auf. A method and a device of the aforementioned Art are known, for example, from DE 195 00 957 A1. There will a control unit for controlling the fuel injection an internal combustion engine disclosed. On the control unit a control program executable under real-time conditions. The control program is divided into several task programs divided into one during the course of the procedure certain time period with a defined Frequency must be called. The single Sequence programs are assigned different priorities. The control device has a microcomputer, a writing / Read memory (RAM), a read-only memory (EPROM) and a non-volatile read / write memory (EEPROM).
Das Steuerprogramm steuert die Vergabe der Rechenzeiten des Prozessors und koordiniert alle ablaufenden Aufgabenprogramme. Das Steuerprogramm erlaubt die quasi parallele Abarbeitung mehrerer Aufgabenprogramme (Multitasking). Hierzu ist das Steuerprogramm bspw. so ausgelegt, dass es ein gerade in Abarbeitung befindliches (rechnendes) Programm jederzeit unterbrechen und ein Aufgabenprogramm, dessen Abarbeitung für den Prozess momentan wichtiger (höherprior) ist, starten kann. Das unterbrochende Aufgabenprogramm wird von dem Steuerprogramm an der unterbrochenen Stelle fortgesetzt, sobald die Abarbeitung des höherprioren Aufgabenprogramms beendet ist. Diese Vorgehensweise wird auch als "Preemptives Scheduling" oder "Preemptives Multitasking" bezeichnet.The control program controls the allocation of the computing times of the Processor and coordinates all running Task programs. The control program allows that parallel processing of several task programs (Multitasking). The control program is for this, for example designed that it is currently being processed Interrupt (arithmetic) program at any time and switch on Task program, its processing for the process is currently more important (higher priority), can start. The interrupted task program is from the control program continued at the interrupted point as soon as the Processing of the higher priority task program has ended. This procedure is also called "preemptive scheduling" or "preemptive multitasking".
Das beschriebene Verfahren zur Steuerung/Regelung von Prozessen mit Hilfe eines Steuerprogramms ist insbesondere für Echtzeit-Systeme, d. h. für Steuersysteme, die bestimmte Steuervorgänge innerhalb von vorgegebenen Zeitgrenzen vorgenommen haben müssen, interessant, da damit eine schnelle Reaktion auf bestimmte Ereignisse möglich ist.The described method for controlling / regulating Processes using a control program is special for real-time systems, d. H. for tax systems that certain Control processes within specified time limits must have made, interesting, because with it a quick response to certain events is possible.
Bei den bekannten Verfahren zur Steuerung/Regelung von Prozessen hat es sich als problematisch herausgestellt, dass nicht immer sichergestellt werden kann, dass Aufgabenprogramme, die mit einer definierten Häufigkeit aufgerufen werden müssen, auch tatsächlich mit dieser Häufigkeit aufgerufen werden.In the known methods for controlling / regulating Processes it turned out to be problematic that it cannot always be ensured that Task programs with a defined frequency have to be called, actually with this Frequency can be called.
Deshalb ist es die Aufgabe der vorliegenden Erfindung ein Verfahren der eingangs genannten Art dahingehend auszugestalten und weiterzubilden, dass auf möglichst einfache Weise sichergestellt werden kann, dass mit einer definierten Häufigkeit aufzurufende Aufgabenprogramme auch tatsächlich mit dieser Häufigkeit aufgerufen werden. Therefore, it is the object of the present invention Procedure of the type mentioned in this regard to design and develop that as possible simple way that can be ensured with a defined task programs to be called actually called with this frequency.
Zur Lösung dieser Aufgabe schlägt die Erfindung ausgehend von dem Verfahren der eingangs genannten Art vor, dass nach dem Abarbeiten eines Aufgabenprogramms mindestens ein Zähler weitergezählt wird und dass in regelmäßigen Abständen der Stand des oder jeden Zählers überprüft wird.To achieve this object, the invention suggests of the procedure of the type mentioned before that after the completion of a task program at least one Counter continues to count and that in regular Intervals the status of or each counter is checked.
Der oder jeder Zähler wird erst weitergezählt, wenn ein Aufgabenprogramm vollständig abgearbeitet worden ist. Es ist denkbar, dass mehreren einzelnen Aufgabenprogrammen oder einer Gruppe von Aufgabenprogrammen ein gemeinsamer Zähler zugeordnet ist. Der Stand dieses Zählers wird in regelmäßigen Abständen überprüft und mit einem vorgegebenen Sollwert verglichen. Bei Abweichungen des Zählerstands von dem Sollwert, kann darauf geschlossen werden, dass einer oder mehrere der Aufgabenprogramme, die dem Zähler zugeordnet sind, nicht mit der geforderten Häufigkeit aufgerufen wurden.The or each counter is only counted on when a Task program has been completely processed. It it is conceivable that several individual task programs or a group of task programs a common Counter is assigned. The status of this counter is shown in checked at regular intervals and with a predetermined Setpoint compared. If the meter reading deviates from the setpoint, it can be concluded that one or more of the task programs that the counter are assigned, not with the required frequency were called.
Alternativ kann auch jedem einzelnen Aufgabenprogramm des Steuerprogramms ein eigener Zähler zugeordnet sein. Das ermöglicht eine Aussage darüber, welches Aufgabenprogramm mit welcher Häufigkeit aufgerufen worden ist.Alternatively, each individual task program of the Control program can be assigned a separate counter. The enables a statement about which task program the frequency with which the call was made.
Bei einer Abweichung des Zählerstands von einem Sollwert können entsprechende Maßnahmen veranlaßt werden. Falls ein Aufgabenprogramm nicht häufig genug abgearbeitet worden ist, kann ihm bspw. eine höhere Priorität zugeordnet werden, damit es in Zukunft häufiger abgearbeitet wird. Nach dem Überprüfen des Stands des oder jeden Zählers kann der Zähler entweder weiterlaufen oder neu gestartet werden. Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass jedem Aufgabenprogramm ein Zähler zugeordnet wird, der nach dem Abarbeiten des zugehörigen Aufgabenprogramms weiter gezählt wird. Dadurch ist eine genaue und zuverlässige Überprüfung der tatsächlichen Häufigkeit mit der die einzelnen Aufgabenprogramme des Steuerprogramms abgearbeitet werden, möglich.If the meter reading deviates from a target value appropriate measures can be initiated. If one Task program was not processed often enough a higher priority, for example so that it will be processed more frequently in the future. After checking the level of or each counter can the counter either continues to run or is restarted. According to an advantageous development of the present Invention is proposed to any task program a counter is assigned, which after processing the associated task program is counted further. Thereby is an accurate and reliable review of the actual frequency with which the individual Task programs of the control program are processed, possible.
Gemäß einer anderen vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass der Stand des oder jeden Zählers mit Hilfe eines Überwachungs- Aufgabenprogrammes (Überwachungs-Task) überprüft wird, das mit einer definierten Häufigkeit aufgerufen wird. Dem Überwachungs-Aufgabenprogramm ist vorzugsweise die höchste Priorität zugeordnet. Der Ablauf der übrigen Aufgabenprogramme des Steuerprogramms wird dann bei einem Aufruf des Überwachungs-Aufgabenprogramms unterbrochen und erst nach vollständiger Abarbeitung des Überwachungs- Aufgabenprogramms wieder fortgesetzt. Dadurch kann sichergestellt werden, dass das Überwachungs- Aufgabenprogramm auch tatsächlich mit der definierten Häufigkeit abgearbeitet wird.According to another advantageous development of the The present invention proposes that the state of the or each meter with the help of a monitoring Task program (monitoring task) is checked that is called with a defined frequency. The Monitoring task program is preferably the highest Priority assigned. The course of the rest Task programs of the control program is then at a Call of the monitoring task program interrupted and only after complete processing of the monitoring Task program continued again. This can ensure that the monitoring Task program actually with the defined Frequency is processed.
Falls das Steuerprogramm keine "Preemptives Multitasking" zuläßt, muss überprüft werden, ob das Überwachungs- Aufgabenprogramm auch tatsächlich mit der definierten Häufigkeit abgearbeitet wird. Dazu wird gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung vorgeschlagen, dass die Häufigkeit des tatsächlichen Abarbeitens des Überwachungs-Aufgabenprogramms von einem Watchdog überprüft wird. Nach dem Abarbeiten des Überwachungs-Aufgabenprogramms erzeugt dieses ein Quittungssignal. Das Ausbleiben des Quittungssignals bei nicht aufgerufenem bzw. nicht abgearbeitetem Überwachungs- Aufgabenprogramm wird durch den Watchdog überwacht. Der Watchdog ist als ein Zeitbegrenzer ausgebildet, der ein Ausbleiben des Quittungssignals über eine definierte Grenzzeit hinaus einer Ablaufsteuerung des Steuerprogramms bspw. mittels eines Unterbrechungssignals (Interrupts) meldet. If the control program does not have "preemptive multitasking" must be checked whether the monitoring Task program actually with the defined Frequency is processed. According to a preferred embodiment of the present invention suggested that the frequency of the actual Execution of the monitoring task program by one Watchdog is checked. After processing the Monitoring task program creates this one Acknowledgment signal. The absence of the acknowledgment signal at monitoring that has not been called up or Task program is monitored by the watchdog. The Watchdog is designed as a time limiter, the one Failure of the acknowledgment signal via a defined Limit time beyond a sequence control of the control program for example by means of an interrupt signal (interrupts) reports.
Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass zur Ablaufsteuerung des Steuerprogramms ein Betriebssystem verwendet wird, wobei der Watchdog abseits der Ablaufsteuerung des Betriebssystems abläuft. Dadurch bleibt der Watchdog unbeeinflusst von Fehlern oder Ausfällen des Betriebssystems und kann auch in solchen Situationen das Überwachungs-Aufgabenprogramm zuverlässig überprüfen.According to a further preferred embodiment of the The present invention proposes that for Sequence control of the control program an operating system is used, with the watchdog away from the Sequence control of the operating system expires. This leaves the watchdog is not influenced by errors or failures of the Operating system and can do that even in such situations Check the monitoring task program reliably.
Vorteilhafterweise wird von dem Überwachungs-Ablaufprogramm überprüft, ob der Stand des oder jeden Zählers innerhalb mindestens eines definierten Häufigkeits-Fensters liegt. Vorzugsweise wird jedem Ablaufprogramm ein Häufigkeits- Fenster zugeordnet. Es wird des Weiteren vorgeschlagen, dass eine obere Schwelle und eine untere Schwelle des Häufigkeits-Fensters von einer Ablaufsteuerung des Steuerprogramms festgelegt wird. Die obere Schwelle und die untere Schwelle des Häufigkeits-Fensters wird individuell für jedes der Ablaufprogramme festgelegt. Es ist denkbar, dass die obere und untere Schwelle des Häufigkeits-Fensters sich in Abhängigkeit von den Betriebszuständen des zu steuernden/regelnden Prozesses verändern. Eine solche Veränderung der Schwellen des Häufigkeits-Fensters wird auch als eine adaptive Anpassung der Schwellen an die Betriebszustände des zu steuernden/regelnden Prozesses bezeichnet. Es ist des weiteren denkbar, dass die obere Schwelle und/oder die untere Schwelle des Häufigkeits- Fensters zeitweise ausgeschaltet werden kann. Während dieser Zeit kann der Zählerstand das Häufigkeits-Fensters über die ausgeschaltete Schwelle verlassen, ohne dass es zu einer Fehlermeldung oder einem Unterbrechungssignal kommt.The monitoring sequence program is advantageous checks whether the status of or each counter within at least one defined frequency window. Each sequence program is preferably given a frequency Window assigned. It is also suggested that an upper threshold and a lower threshold of the Frequency window from a sequential control of the Control program is set. The upper threshold and the the lower threshold of the frequency window becomes individual for each of the sequence programs. It is conceivable that the upper and lower threshold of the frequency window depending on the operating conditions of the change the controlling / regulating process. Such Change the thresholds of the frequency window also as an adaptive adaptation of the thresholds to the Operating states of the process to be controlled / regulated designated. It is also conceivable that the upper Threshold and / or the lower threshold of the frequency Window can be switched off temporarily. While At this time, the count of the frequency window leave over the turned off threshold without it being too an error message or an interruption signal.
Als weitere Lösung der vorliegenden Aufgabe wird ein Steuergerät zum Steuern/Regeln von Prozessen der eingangs genannten Art vorgeschlagen, das Mittel zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 8 aufweist.As a further solution to the problem at hand Control device for controlling / regulating processes of the input mentioned kind suggested the means of implementation of the method according to one of claims 1 to 8.
Ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung wird im Folgenden an Hand der Zeichnungen näher erläutert. Es zeigenA preferred embodiment of the present In the following, the invention is explained in more detail with reference to the drawings explained. Show it
Fig. 1 ein Blockschaltbild eines erfindungsgemäßen Steuergeräts gemäß einer bevorzugten Ausführungsform; und Fig. 1 is a block diagram of a control device according to a preferred embodiment; and
Fig. 2 eine schematische Darstellung eines Ablaufs eines erfindungsgemäßen Verfahrens gemäß einer bevorzugten Ausführungsform. Fig. 2 is a schematic representation of a sequence of a method according to the invention according to a preferred embodiment.
In Fig. 1 bezeichnet das Bezugszeichen 10 ein Kraftstoffeinspritzungs-Steuergerät für eine Brennkraftmaschine. Das Steuergerät 10 weist einen Mikrorechner 11, einen Schreib-/Lese-Speicher (RAM) 12, einen Festwertseicher (EPROM) 13, einen nicht flüchtigen Schreib-/Lese-Speicher (EEPROM) 22 und eine Ein-/Ausgabeeinheit 14 auf. Mit dem Bezugszeichen 23 ist ein Zeittaktzähler des Steuergeräts 10 bezeichnet. An das Steuergerät 10 ist ein Motortemperaturfühler 15, ein Ansauglufttemperaturfühler 16, ein Drosselklappenpotentiometer 17 und eine Sauerstoffsonde 18 ' angeschlossen. Mit dem Bezugszeichen 19 ist ein Signaleingang bezeichnet, aus dem Drehzahl und Kurbelwellenwinkel berechnet werden können. Dieses Signal wird von einem Zündungssteuergerät an das Kraftstoffeinspritzungs-Steuergerät 10 geliefert. Ein weiterer Eingang 20 ist mit dem Zündschloss gekoppelt. Weiterhin steht das Steuergerät 10 mit einem elektromagnetischen Einspritzventil 21 in Verbindung.In Fig. 1, reference numeral 10 denotes a fuel injection control device for an internal combustion engine. The control device 10 has a microcomputer 11 , a read / write memory (RAM) 12 , a read-only memory (EPROM) 13 , a non-volatile read / write memory (EEPROM) 22 and an input / output unit 14 . The reference numeral 23 denotes a time counter of the control device 10 . An engine temperature sensor 15 , an intake air temperature sensor 16 , a throttle valve potentiometer 17 and an oxygen probe 18 ′ are connected to the control unit 10 . Reference number 19 denotes a signal input from which the speed and crankshaft angle can be calculated. This signal is supplied from an ignition control device to the fuel injection control device 10 . Another input 20 is coupled to the ignition lock. Furthermore, the control device 10 is connected to an electromagnetic injection valve 21 .
Die Funktion des Kraftstoffeinspritz-Steuergeräts 10 ist wie folgt: Das Kraftstoffeinspritz-Steuergerät 10 verarbeitet die anliegenden Eingabesignale und berechnet hieraus die Einspritzzeit als Maß für die einzuspritzende Kraftstoffmenge. In Abhängigkeit von Drehzahl und Kurbelwellenwinkel löst das Steuergerät 10 die Einspritzimpulse mit den im Voraus berechneten Einspritzzeiten aus. Die genaue Funktionsweise des Kraftstoffeinspritzungs-Steuergerät 10 ist dem Buch "Auto Elektrik/ Autoelektronik am Ottomotor", VDI-Verlag 1987, S. 258-268 entnehmbar.The function of the fuel injection control unit 10 is as follows: The fuel injection control unit 10 processes the input signals present and uses this to calculate the injection time as a measure of the quantity of fuel to be injected. Depending on the speed and crankshaft angle, the control unit 10 triggers the injection pulses with the injection times calculated in advance. The exact mode of operation of the fuel injection control unit 10 can be found in the book "Auto Elektrik / Autoelektronik am Otto engine", VDI-Verlag 1987, pp. 258-268.
Zur Realisierung eines derartigen Kraftstoffeinspritzungs- Steuergeräts 10 ist ein komplexes Steuerprogramm erforderlich. Das Steuerprogramm ist in eine Reihe von verschiedenen Aufgabenprogrammen (Tasks) unterteilt. Es ist denkbar, die Einteilung in Aufgabenprogramme nach Aufgabengesichtspunkten vorzunehmen. Dazu werden die Programmteile des Steuerprogramms, die bestimmte Aufgaben erfüllen, zu Aufgabenprogrammen zusammengefasst.A complex control program is required to implement such a fuel injection control device 10 . The control program is divided into a number of different task programs. It is conceivable to make the division into task programs according to task aspects. For this purpose, the program parts of the control program that fulfill certain tasks are combined into task programs.
Alternativ wird die Einteilung in Aufgabenprogramme nach Ablaufgesichtspunkten vorgenommen. Es gibt nämlich Programmteile, die innerhalb eines festen Zeitrasters abgearbeitet sein müssen, wobei häufig mehrere unterschiedliche Zeitraster verwendet werden. Weiterhin gibt es Programmteile, die nur innerhalb eines bestimmten Betriebszustandes oder als Reaktion auf ein externes oder internes Ereignis, wie z. B. der Programmstart, das Programmende, der Volllastbetrieb, der Leerlaufbetrieb, der Warmlaufbetrieb, etc. abgearbeitet werden müssen. Weiterhin sind bestimmte Programmteile innerhalb eines festen Winkelrasters in Abhängigkeit des Kurbelwellenwinkels abzuarbeiten. Üblicherweise werden sämtliche Programmteile, die innerhalb des gleichen Zeit-/Winkelrasters abzuarbeiten sind, zu einem Aufgabenprogramm zusammengefasst. Z. B. kann der Zeittaktzähler 23, der in der Interrupt-Service-Routine eines periodisch von der Hardware z. B. jede Millisekunde regenerierten Interrupts inkrementiert wird, den Aufruf eines Aufgabenprogramms innerhalb eines festen Zeitrasters bewirken. In der Interrupt-Service-Routine wird überprüft, ob bei dem aktuellen Zählerstand des Zeittaktzählers ein neues Aufgabenprogramm zu aktivieren ist oder nicht.Alternatively, the division into task programs is carried out according to process aspects. There are program parts that have to be processed within a fixed time grid, whereby several different time grids are often used. There are also program parts that are only within a certain operating state or in response to an external or internal event, such as. B. the program start, the program end, full load operation, idle operation, warm-up operation, etc. must be processed. Furthermore, certain program parts have to be processed within a fixed angular grid depending on the crankshaft angle. Usually, all program parts that are to be processed within the same time / angle grid are combined into a task program. For example, the clock counter 23 , which in the interrupt service routine of a periodically by the hardware z. B. each millisecond regenerated interrupts are incremented, cause a task program to be called within a fixed time frame. The interrupt service routine checks whether a new task program is to be activated at the current counter reading of the time counter.
Zur Koordinierung der Aufrufe der Aufgabenprogramme hat es sich als vorteilhaft erwiesen, den einzelnen Aufgabenprogrammen eine bestimmte Priorität zuzuordnen, die die Dringlichkeit der Abarbeitung des Aufgabenprogramms angibt. Zur Ablaufsteuerung des Steuerprogramms, d. h. für die Verwaltung der Abarbeitung der einzelnen Aufgabenprogramme, wird ein Betriebssystem eingesetzt. Dieses entscheidet dann an Hand eines entsprechenden Programms, welches Aufgabenprogramm zu einem vorgegebenen Zeitpunkt von dem Mikrorechner abgearbeitet werden soll.It has to coordinate the calls of the task programs proved beneficial to the individual Assign a specific priority to task programs the urgency of completing the task program indicates. To control the sequence of the control program, d. H. For managing the processing of each Task programs, an operating system is used. This then decides on the basis of a corresponding one Program, which task program to a given Time from which the microcomputer is to be processed.
Das beschriebene Steuergerät 10 weist Zähler ZE, ZF, ZG, ZH auf, die jeweils einem Aufgabenprogramm E, F, G, H des Steuergeräts 10 zugeordnet sind (vgl. Fig. 2). Die Zähler ZE, ZF, ZG, ZH werden nach dem Abarbeiten des zugeordneten Aufgabenprogramms E, F, G, H inkrementiert. In regelmäßigen Abständen wird der Zählerstand überprüft. Dadurch kann jederzeit sichergestellt werden, dass die Aufgabenprogramme E, F, G, H, die mit einer definierten Häufigkeit aufgerufen werden müssen, auch tatsächlich mit dieser Häufigkeit aufgerufen werden.The control device 10 described has counters ZE, ZF, ZG, ZH, which are each assigned to a task program E, F, G, H of the control device 10 (cf. FIG. 2). The counters ZE, ZF, ZG, ZH are incremented after the assigned task program E, F, G, H have been processed. The meter reading is checked at regular intervals. In this way it can be ensured at all times that the task programs E, F, G, H that must be called up with a defined frequency are actually called up with this frequency.
Ein Ausschnitt aus einem möglichen Programmablauf des Steuerprogramms ist in Fig. 2 dargestellt. Dort sind als Beispiel vier verschiedene Aufgabenprogramme E, F, G, H aufgeführt. Das Aufgabenprogramm E besitzt die niedrige Priorität 0 und soll zwar in einem festen Zeitraster abgearbeitet werden, aber erst dann, wenn kein dringenderes Aufgabenprogramm zur Abarbeitung ansteht. Das Aufgabenprogramm F soll alle einhundert Millisekunden abgearbeitet werden. Ihm ist die Priorität 1 zugeordnet. Das Aufgabenprogramm G soll innerhalb eines festen Winkelrasters von 180 E Kurbelwellenwinkel abgearbeitet werden. Ihm kommt die Priorität 2 zu. Das Aufgabenprogramm H soll schließlich in einem festen Zeitraster alle zehn Millisekunden abgearbeitet werden. Ihm kommt die höchste Priorität 3 zu.A section of a possible program sequence of the control program is shown in FIG. 2. There are four different task programs E, F, G, H listed as an example. Task program E has the low priority 0 and should be processed in a fixed time frame, but only if there is no more urgent task program to be processed. Task program F is to be processed every hundred milliseconds. Priority 1 is assigned to it. Task program G is to be processed within a fixed angular grid of 180 U crankshaft angle. It has priority 2 . Task program H is to be processed every ten milliseconds in a fixed time grid. It has the highest priority 3 .
Bei dem in Fig. 2 dargestellten Programmablauf wird ein Betriebssystem zur Ablaufsteuerung verwendet, bei dem die einzelnen Aufgabenprogramme auf Grund der Anforderung der Abarbeitung eines höherprioren Aufgabenprogramms zu jedem beliebigen Zeitpunkt unterbrochen werden können. Eine derartige Ablaufsteuerung entspricht dem des "Preempitiven Multitasking". Zum Zeitpunkt t1 wird z. B. das Aufgabenprogramm E unterbrochen und die Abarbeitung des Aufgabenprogramms H gestartet. Zum Zeitpunkt t2 ist die Abarbeitung des Aufgabenprogramms H beendet. Es wird anschließend die Abarbeitung des Aufgabenprogramms E an der Unterbrechungsstelle fortgesetzt. Die weiteren Unterbrechungsstellen der einzelnen Aufgabenprogramme können der Fig. 2 entnommen werden. Sämtliche Aufgabenprogramme sind noch durch Interrupt-Service- Routinen von aufgetretenen Interrupt-Anforderungen unterbrechbar. Dies ist jedoch in. Figur zwecks besserer Übersichtlichkeit nicht dargestellt.In the program sequence shown in FIG. 2, an operating system is used for sequence control in which the individual task programs can be interrupted at any time due to the request to process a higher priority task program. Such a sequence control corresponds to that of "preemptive multitasking". At time t1 z. B. the task program E is interrupted and the processing of the task program H is started. At time t2, the processing of task H is ended. Processing of task E is then continued at the point of interruption. The further interruption points of the individual task programs can be seen in FIG. 2. All task programs can still be interrupted by interrupt service routines of interrupt requests that have occurred. However, this is not shown in FIG. 1 for better clarity.
Zum Zeitpunkt t0 werden die Zählerstände ausgelesen und auf 0 gesetzt. Nach dem Abarbeiten des Aufgabenprogramms H wird der Zähler ZH bspw. zu den Zeitpunkten t2, t6, t9 und t12 um 1 inkrementiert. Ebenso wird bspw. der Zähler ZE zu dem Zeitpunkt t13 um 1 inkrementiert. In regelmäßigen Abständen wird der Stand der Zähler ZE, ZF, ZG, ZH von einem Überwachungs-Aufgabenprogramm überprüft. In dem Ausführungsbeispiel aus Fig. 2 wird der Stand der Zähler bspw. zu den Zeitpunkten t0 und t14 überprüft. Anschließend werden die Zähler auf 0 gesetzt und wieder neu gestartet.At time t0, the counter readings are read out and set to 0. After the task program H has been processed, the counter ZH is incremented by 1, for example at times t2, t6, t9 and t12. Likewise, the counter ZE is incremented by 1 at the time t13. The status of the counters ZE, ZF, ZG, ZH is checked at regular intervals by a monitoring task program. In the exemplary embodiment from FIG. 2, the status of the counters is checked, for example, at times t0 and t14. The counters are then set to 0 and restarted.
Durch ein Überwachungs-Ablaufprogramm wird überprüft, ob der Stand der Zähler ZE, ZF, ZG, ZH innerhalb eines den Ablaufprogrammen E, F, G, H jeweils zugeordneten Häufigkeits-Fensters liegt. Die obere und untere Schwelle des Häufigkeits-Fensters wird von der Ablaufsteuerung des Steuerprogramms für jedes Aufgabenprogramm fest vorgegeben. Die obere und untere Schwelle eines Häufigkeits-Fensters kann sich in Abhängigkeit von den Betriebszuständen der Brennkraftmaschine adaptiv verändern. In bestimmten Betriebszuständen der Brennkraftmaschine kann die obere bzw. die untere Schwelle des Häufigkeits-Fensters auch zeitweise gezielt abgeschaltet werden.A monitoring sequence program checks whether the status of the counters ZE, ZF, ZG, ZH within a den Sequence programs E, F, G, H each assigned Frequency window. The upper and lower threshold of the frequency window is controlled by the sequencer Control program fixed for each task program. The upper and lower threshold of a frequency window can vary depending on the operating conditions of the Adaptively change internal combustion engine. In particular Operating states of the internal combustion engine can be the upper one or the lower threshold of the frequency window too can be switched off selectively at times.
Ob das Überwachungs-Aufgabenprogramm tatsächlich so häufig abgearbeitet wird wie vorgegeben, wird mit Hilfe eines Watchdogs überprüft. Um unabhängig von Fehlern oder Ausfällen des Betriebssytems zu sein, läuft der Watchdog abseits der Ablaufsteuerung des Betriebssystems ab.Whether the surveillance task program is actually that common is processed as specified, using a Watchdogs checked. To be independent of errors or If the operating system fails, the watchdog runs apart from the process control of the operating system.
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999146031 DE19946031A1 (en) | 1999-09-25 | 1999-09-25 | Control-program-based control internal combustion engine fuel-injection timing, involves dividing control program into several tasks for carrying out at precisely defined times |
JP2000289866A JP2001147838A (en) | 1999-09-25 | 2000-09-25 | Method for controlling open loop and closed loop of process |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999146031 DE19946031A1 (en) | 1999-09-25 | 1999-09-25 | Control-program-based control internal combustion engine fuel-injection timing, involves dividing control program into several tasks for carrying out at precisely defined times |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19946031A1 true DE19946031A1 (en) | 2001-03-29 |
Family
ID=7923307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999146031 Withdrawn DE19946031A1 (en) | 1999-09-25 | 1999-09-25 | Control-program-based control internal combustion engine fuel-injection timing, involves dividing control program into several tasks for carrying out at precisely defined times |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2001147838A (en) |
DE (1) | DE19946031A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10220341C1 (en) * | 2002-05-07 | 2003-10-30 | Siemens Ag | Method for determining the priority-dependent computing time distribution in a priority-controlled multi-process computing system |
WO2006120174A1 (en) * | 2005-05-09 | 2006-11-16 | Robert Bosch Gmbh | Method for monitoring control devices |
EP2042718A3 (en) * | 2007-09-25 | 2017-07-19 | Denso Corporation | Engine control system designed to manage schedule of engine control tasks |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0512040A (en) * | 1991-07-04 | 1993-01-22 | Mitsubishi Electric Corp | Task execution control system |
JP3110214B2 (en) * | 1993-08-10 | 2000-11-20 | 株式会社東芝 | Controller program execution monitoring device |
JPH0962342A (en) * | 1995-08-21 | 1997-03-07 | Mitsubishi Electric Corp | Computer system and its abnormality monitoring method |
JPH09231105A (en) * | 1996-02-23 | 1997-09-05 | Mitsubishi Electric Corp | Method for detecting program fault |
JPH10198584A (en) * | 1997-01-14 | 1998-07-31 | Nippon Steel Corp | Abnormality monitoring device for application software |
-
1999
- 1999-09-25 DE DE1999146031 patent/DE19946031A1/en not_active Withdrawn
-
2000
- 2000-09-25 JP JP2000289866A patent/JP2001147838A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10220341C1 (en) * | 2002-05-07 | 2003-10-30 | Siemens Ag | Method for determining the priority-dependent computing time distribution in a priority-controlled multi-process computing system |
WO2006120174A1 (en) * | 2005-05-09 | 2006-11-16 | Robert Bosch Gmbh | Method for monitoring control devices |
US8806443B2 (en) | 2005-05-09 | 2014-08-12 | Robert Bosch Gmbh | Method for monitoring control devices |
EP2042718A3 (en) * | 2007-09-25 | 2017-07-19 | Denso Corporation | Engine control system designed to manage schedule of engine control tasks |
Also Published As
Publication number | Publication date |
---|---|
JP2001147838A (en) | 2001-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2556230B1 (en) | Method for adapting the actual injection quantity, injection device and internal combustion engine | |
DE4111072C2 (en) | ||
DE102009027596A1 (en) | Fuel injection control unit | |
DE3033526C2 (en) | ||
DE102010043989B4 (en) | Adaptation method of an injector of an internal combustion engine | |
DE102012111162A1 (en) | Fuel pressure sensor diagnostic apparatus | |
DE10243856A1 (en) | Regulator and method for operating a regulator | |
DE102008001789A1 (en) | Method for operating a metering valve and device for carrying out the method | |
DE102019213787A1 (en) | Method and device for diagnosing a secondary air valve in an engine system with an internal combustion engine | |
DE3835766A1 (en) | ELECTRONIC, ADAPTABLE CONTROL UNIT FOR A COMBUSTION ENGINE | |
DE102018207227B4 (en) | Determining an ash load in a particulate filter for an internal combustion engine | |
DE102015111127B4 (en) | Motor controller | |
DE4445651A1 (en) | Process for the control of technical processes | |
DE19946031A1 (en) | Control-program-based control internal combustion engine fuel-injection timing, involves dividing control program into several tasks for carrying out at precisely defined times | |
DE102019001677B4 (en) | Method for predicting the condition of an injector | |
WO2003069424A2 (en) | Limitation of the response time of a software process | |
DE3009627A1 (en) | DEVICE FOR DETERMINING CONTROL AND CONTROL SIZES OF AN INTERNAL COMBUSTION ENGINE | |
EP1563358B1 (en) | Method for the secure checking of a memory region of a microcontroller in a control device and control device with a protected mikrocontroller | |
DE102016206537A1 (en) | ELECTRONIC CONTROL UNIT FOR ONE VEHICLE | |
DE4117393A1 (en) | DEVICE FOR CONTROLLING THE FUEL INJECTION OF AN INTERNAL COMBUSTION ENGINE | |
DE3813219A1 (en) | METHOD AND DEVICE FOR LAMB CONTROL | |
DE102015216222A1 (en) | Method for component control in a dosing system | |
EP2387660A1 (en) | Method for performing a number of injections | |
DE102015221892A1 (en) | Determination of maximum latency | |
EP1040422B1 (en) | Method for determining the load of a computing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
R016 | Response to examination communication | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |