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 times

Info

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
Application number
DE1999146031
Other languages
German (de)
Inventor
Manfred Pisecky
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE1999146031 priority Critical patent/DE19946031A1/en
Priority to JP2000289866A priority patent/JP2001147838A/en
Publication of DE19946031A1 publication Critical patent/DE19946031A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24024Safety, surveillance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24125Watchdog, 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

Control and regulation of various processes require that certain tasks are carried out under real-time conditions precisely with a defined frequency of occurrence. The control and regulation program is run particularly where the control program is divided into several tasks which must be initiated at given times during the course of the program, and this is achieved in the simplest possible manner by recounting at least one counter after running a task and then verifying the state of the, or of each, counter at regular intervals.

Description

Stand der TechnikState of the art

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)

1. 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 abzuarbeitende Aufgabenprogramme (Tasks) unterteilt ist, dadurch gekennzeichnet, 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.1. Process for controlling processes with the aid of a control program which is processed under real-time conditions and which is subdivided into several task programs to be processed with a defined frequency, characterized in that at least one counter after the execution of a task program is counted further and that the status of or each counter is checked at regular intervals. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jedem Aufgabenprogramm ein Zähler zugeordnet wird, der nach dem Abarbeiten des zugehörigen Aufgabenprogramms weitergezählt wird.2. The method according to claim 1, characterized in that that a counter is assigned to each task program after processing the associated Task program is counted further. 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Stand des oder jeden Zählers mit Hilfe eines Überwachungs-Aufgabenprogramms überprüft wird, das mit einer definierten Häufigkeit aufgerufen wird.3. The method according to claim 1 or 2, characterized characterized that the level of the or each counter with the help of a monitoring task program is checked with a defined frequency is called. 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Häufigkeit des tatsächlichen Abarbeitens des Überwachungs-Aufgabenprogramms von einem Watchdog überprüft wird. 4. The method according to claim 3, characterized in that the frequency of actually processing the Monitoring task program from a watchdog is checked.   5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass zur Ablaufsteuerung des Steuerprogramms ein Betriebssystem verwendet wird, wobei der Watchdog abseits der Ablaufsteuerung des Betriebssystems abläuft.5. The method according to claim 4, characterized in that to control the flow of the control program Operating system is used, the watchdog apart from the process control of the operating system expires. 6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass von dem Überwachungs- Ablaufprogramm überprüft wird, ob der Stand des oder jeden Zählers innerhalb mindestens eines definierten Häufigkeits-Fensters liegt.6. The method according to any one of claims 3 to 5, characterized characterized by the surveillance Sequence program is checked whether the status of or each counter within at least one defined Frequency window. 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass jedem Ablaufprogramm ein Häufigkeits-Fenster zugeordnet wird.7. The method according to claim 6, characterized in that each sequence program has a frequency window is assigned. 8. Verfahren nach Anspruch 6 oder 7, dadurch gekennzeichnet, dass eine obere Schwelle und eine untere Schwelle des Häufigkeits-Fensters von einer Ablaufsteuerung des Steuerprogramms festgelegt wird.8. The method according to claim 6 or 7, characterized characterized that an upper threshold and a lower threshold of the frequency window of one Sequence control of the control program is set. 9. 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 jeweils mit einer definierten Häufigkeit abzuarbeitende Aufgabenprogramme (Tasks) unterteilt ist, dadurch gekennzeichnet, dass das Steuergerät Mittel zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 8 aufweist.9. Control device for controlling / regulating processes with the help a control program operating under real-time conditions is executable on the control unit and that in several each with a defined frequency Task programs to be processed divided is characterized in that the control unit Means for performing the method according to one of the Claims 1 to 8.
DE1999146031 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 Withdrawn DE19946031A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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