EP0612917A1 - Engine control - Google Patents

Engine control Download PDF

Info

Publication number
EP0612917A1
EP0612917A1 EP93102978A EP93102978A EP0612917A1 EP 0612917 A1 EP0612917 A1 EP 0612917A1 EP 93102978 A EP93102978 A EP 93102978A EP 93102978 A EP93102978 A EP 93102978A EP 0612917 A1 EP0612917 A1 EP 0612917A1
Authority
EP
European Patent Office
Prior art keywords
time
list
motor control
control according
job
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.)
Granted
Application number
EP93102978A
Other languages
German (de)
French (fr)
Other versions
EP0612917B1 (en
Inventor
Heinz Dipl.-Ing. Neugebauer (Fh)
Herbert Dipl.-Ing. Ziegler (Fh)
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE59303660T priority Critical patent/DE59303660D1/en
Priority to EP19930102978 priority patent/EP0612917B1/en
Publication of EP0612917A1 publication Critical patent/EP0612917A1/en
Application granted granted Critical
Publication of EP0612917B1 publication Critical patent/EP0612917B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/266Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the computer being backed-up or assisted by another circuit, e.g. analogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

A control (1) for an engine of a motor vehicle contains a computing component (2) by means of which measured values which represent operational variables of the engine (e.g. the intake air temperature) are detected and evaluated and control signals for actuators which act on the operation of the engine (e.g. control the injection of fuel) are produced. The control 1 has an operating system which simplifies the management of operations which are to be initiated in a time-dependent manner. It includes a first time monitoring for operations whose activation is to be tested at short time intervals (e.g. diagnostic communication), and a second time monitoring for operations whose activation is to be tested at long time intervals (e.g. measurement of the intake air temperature and coolant temperature, heating of the lambda probe heater etc.). <IMAGE>

Description

Die Erfindung betrifft eine Motorsteuerung nach dem Oberbegriff von Anspruch 1.The invention relates to an engine control according to the preamble of claim 1.

Bei einer bekannten Motorsteuerung (DE 38 26 526 A1) laufen Programme unterschiedlicher zeitlicher Priorität ab, und zwar zeitunabhängige Programme und kurbelwinkelabhängige Programme. Prioritätshoch sind Programme, mit denen bei einem vorgegebenen Kurbelwinkel ein Motorsteuervorgang ausgelöst wird, z.B. Kraftstoff eingespritzt oder gezündet wird. Mit niedriger Priorität laufen sogenannte Hintergrundprogramme ab. Zeitabhängige Programme sind in verschiedene Gruppen eingeteilt, mindestens eine sogenannte abstandskürzeste Programmgruppe und abstandlängere Programme. An die abstandskürzesten Programme ist mindestens eines der abstandslängeren Programme angefügt, wobei eine Verbundgruppe gebildet wird. Dieses Betriebssystem ist aufwendig.In a known engine control system (DE 38 26 526 A1), programs of different temporal priority run, namely time-independent programs and programs dependent on crank angle. Priority-high are programs that trigger an engine control process at a given crank angle, e.g. Fuel is injected or ignited. So-called background programs run with low priority. Time-dependent programs are divided into different groups, at least one so-called shortest-distance program group and longer-distance programs. At least one of the longer programs is appended to the shortest-distance programs, forming a network group. This operating system is complex.

Bei vielen Anwendungen in der Motorsteuerungstechnik ist es wichtig, Aufgaben, die von der Motorsteuerung abzuarbeiten sind - im folgenden auch als Tasks bezeichnet - nicht durch kurbelwellenabhängige Anstöße zu aktivieren, sondern zeitabhängig anzustoßen. Ein Echtheitbetriebssystem hat deshalb Hilfsmittel zur Verfügung zu stellen, die es erlauben, zeitabhängige Ereignisse zu steuern.For many applications in engine control technology, it is important not to activate tasks that are to be processed by the engine control system - also referred to as tasks below - by triggering them depending on the crankshaft, but rather to initiate them as a function of time. An authenticity operating system therefore has to provide tools that allow time-dependent events to be controlled.

Der Erfindung liegt die Aufgabe zugrunde, eine Motorsteuerung zu schaffen, durch deren Betriebssystem der Aufwand für die Zeitverwaltung verringert wird.The invention has for its object to provide a motor controller, the operating system reduces the effort for time management.

Diese Aufgabe wird erfindungsgemäß durch die Motorsteuerung nach Anspruch 1 gelöst.This object is achieved according to the invention by the engine control according to claim 1.

Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen niedergelegt.Advantageous further developments of the invention are laid down in the subclaims.

Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung erläutert. Es zeigen:

Figur 1
die wesentlichen Bestandteile einer erfindungsgemäßen Motorsteuerung als Blockschaltbild,
Figur 2
den Aufbau einer ersten Zeitüberwachung der Motorsteuerung nach Figur 1,
Figur 3
ein Struktogramm einer zyklischen Routine der ersten Zeitüberwachung,
Figur 4
den Aufbau einer zweiten Zeitüberwachung der Motorsteuerung nach Figur 1,
Figur 5
das Struktogramm einer zyklischen Routine der zweiten Zeitüberwachung,
Figur 6
das Struktogramm einer Routine zur Erteilung eines Zeitauftrags, und
Figur 7
das Struktogramm einer Routine zum Löschen eines Zeitauftrags.
An embodiment of the invention is explained below with reference to the drawing. Show it:
Figure 1
the essential components of an engine control according to the invention as a block diagram,
Figure 2
the structure of a first time monitoring of the motor control according to FIG. 1,
Figure 3
a structogram of a cyclical routine of the first time monitoring,
Figure 4
the structure of a second time monitoring of the engine control system according to FIG. 1,
Figure 5
the structure diagram of a cyclical routine of the second time monitoring,
Figure 6
the structogram of a routine for placing a time task, and
Figure 7
the structogram of a routine for deleting a time job.

Wesentliche Bestandteile einer Motorsteuerung 1 sind ein Rechenteil 2 und ein Echtzeitteil 3 (Figur 1). Der Rechenteil und der Echtzeitteil sind durch ein sog. Zwei- oder Drei-Port-RAM 4, durch mehrere sog. Handshake-Leitungen 5 und durch eine Interrupt-Leitung 6 miteinander verbunden.Essential components of an engine control system 1 are a computing part 2 and a real-time part 3 (FIG. 1). The computing part and the real-time part are connected to one another by a so-called two-port or three-port RAM 4, by a plurality of so-called handshake lines 5 and by an interrupt line 6.

An den Rechenteil 2 sind ebenfalls mehrere Eingangsleitungen 10 und Ausgangssleitungen 11 angeschlossen. Über eine Eingangsleitung 10 gelangen z.B. analoge Temperatursignale zu dem Rechenteil und werden in diesem in einem internen AD-Wandler digitalisiert. Andere Eingangsleitungen 10 sind an einen sog. HSI-Eingang und an Port-Pins des Rechenteils 2 angeschlossen. Über die Ausgangsleitungen 11 werden von einem sog. HSO-Ausgang des Rechenteils pulsweitenmodulierte Steuersignale LLFS an den Leerlauffüllungssteller des Motors und Signale TEV an das Tankentlüftungsventil des Fahrzeugs ausgegeben. In der Zeichnung sind die nicht zu der Motorsteuerung 1 gehörenden Fahrzeugs- und Motorbestandteile nicht dargestellt, ebenso nicht der interne Aufbau der verwendeten Prozessoren, da sie den Handbüchern des Herstellers entnommen werden können. Von den Eingangs- und Ausgangsleitungen sind nur einige wenige stellvertretend für alle tatsächlich vorhandenen Leitungen dargestellt.Several input lines 10 and output lines 11 are also connected to the computing part 2. Analogue temperature signals, for example, reach the computing part via an input line 10 and are digitized in this in an internal AD converter. Other input lines 10 are connected to a so-called HSI input and to port pins of the computing part 2. About the output lines 11 are from a so-called HSO output of the computation part, pulse-width-modulated control signals LLFS to the engine idling fill actuator and signals TEV to the vehicle tank vent valve. In the drawing, the vehicle and engine components not belonging to the engine control 1 are not shown, nor is the internal structure of the processors used, since they can be found in the manufacturer's manuals. Only a few of the input and output lines are shown as representative of all actually existing lines.

Eine Leitung 14 bildet eine serielle Schnittstelle des Rechenteils 2 und über einen Bus 15 ist dieser mit zwei Speicherbausteinen, einem RAM 16 und einem EPROM 17, verbunden.A line 14 forms a serial interface of the computing part 2 and via a bus 15 it is connected to two memory components, a RAM 16 and an EPROM 17.

Die Aufgabe des Rechenteils in 2 ist es, die - entweder direkt oder über den Echtzeitteil 3 - empfangenen Meßdaten zu erfassen und auszuwerten und darauf basierend Steuersignale für die Zündung, die Einspritzung usw. zu berechnen und über den Echtzeitteil 3 an die entsprechenden Aktoren auszugeben. Um die Arbeiten mit der erforderlichen Genauigkeit und Schnelligkeit erledigen zu können, wird für die Motorsteuerung ein Betriebssystem eingesetzt, das wie nachfolgend beschrieben ausgebildet ist.The task of the computing part in FIG. 2 is to record and evaluate the measurement data received, either directly or via the real-time part 3, and to calculate control signals for the ignition, injection, etc. based on this and output them to the corresponding actuators via the real-time part 3. In order to be able to do the work with the required accuracy and speed, an operating system is used for the motor control, which is designed as described below.

Das Betriebssystem enthält eine Zeitverwaltung, durch die folgende Anforderungen zu erfüllen sind:

  • Ein Zeitereignis ist von jeder Task (jedem Auftrag) zu jeden Zeitpunkt einer - in bestimmten Grenzen - wählbaren Laufzeit zu starten.
  • Ein gestartetes aber noch nicht erreichtes Zeitereignis muß jederzeit und von jeder Task abgebrochen können.
  • Die Reaktion auf einen Zeitauftrag hat innerhalb einer Grundeinheit des Systemzeitrasters zu erfolgen.
The operating system contains a time management, by means of which the following requirements must be met:
  • A time event is to be started by every task (every order) at any time of a selectable runtime - within certain limits.
  • A started but not yet reached time event must be able to be canceled at any time and by any task.
  • The response to a time job must take place within a basic unit of the system time grid.

Der Eintritt eines Zeitereignisses ist hierbei gleichzusetzen mit der Aussage, daß die für das Ereignis vorgegebene Wartezeit abgelaufen ist.The occurrence of a time event is to be equated with the statement that the waiting time specified for the event has expired.

Die vorliegende Motorsteuerung weist zwei verschieden ablaufende Zeitüberwachungen auf. Das Zeitraster ist für beide Zeitüberwachungen gleich und beträgt 10 ms. Eine feinere Zeitstufung ist möglich, aber nicht erforderlich. Sie hängt von dem verwendeten Prozessor ab.The present engine control system has two different time monitors. The time grid is the same for both time monitors and is 10 ms. A finer grading is possible, but not necessary. It depends on the processor used.

Eine erste Zeitüberwachung ZV_KURZ des Betriebssystem generiert kurze Zeitintervalle, d.h. Zeitintervalle bis etwa 50 ms, wie nachfolgend beschrieben. Jeder Task, d.h. jedem von der ersten Motorsteuerung abzuarbeitenden Auftrag, wird ein eigener Zeiteintrag zugeordnet, der durch die Zeitverwaltung verwaltet wird. Nach einer Aktivierung der Task wird dieser Zeiteintrag auf seinen Initialwert gesetzt. Beim Eintragen eines Zeitauftrags wird der einzutragende Ereigniszeitpunkt aus der aktuellen Systemzeit plus dem Zeitintervall des Auftrags errechnet.A first time monitoring ZV_KURZ of the operating system generates short time intervals, i.e. Time intervals up to about 50 ms as described below. Every task, i.e. each order to be processed by the first engine control is assigned its own time entry, which is managed by the time management. After activating the task, this time entry is set to its initial value. When entering a time order, the event time to be entered is calculated from the current system time plus the time interval of the order.

Durch die erste Zeitüberwachung wird nun bei jedem Programmdurchlauf ein Taskszeitzähler mit der aktuellen Systemzeit AKZEIT verglichen. Erreicht der Zähler seinen Endstand, d.h. die eingetragene Wartezeit ist abgelaufen, werden die zur Abarbeitung der Tasks durchzuführenden Aktionen aktiviert oder angestoßen. Zeitlich sehr kurze Aktionen werden dabei noch während des Ablaufs des Zeitverwaltung sofort ausgeführt, andernfalls wird eine Task in den Zustand "bereit" versetzt. Jede Aktion wird durch ein Programmteil - z.B. ein Unterprogramm - durchgeführt. Dementsprechend ist jeder Aktion eine Adresse in einem Programmspeicher zugeordnet.Due to the first time monitoring, a task time counter is now compared with the current system time AKZEIT with each program run. When the counter reaches its final value, i.e. the entered waiting time has expired, the actions to be carried out to process the tasks are activated or initiated. Very short actions are carried out immediately while the time management is running, otherwise a task is set to the "ready" state. Each action is carried out by a program part - e.g. a subroutine - carried out. Accordingly, each action is assigned an address in a program memory.

Vorteilhaft ist bei dieser ersten Zeitüberwachung der geringe Verwaltungsaufwand beim Erteilen und Löschen von Zeitaufträgen. Allerdings ist der Aufwand an Verarbeitungszeit für das Anfragen der Zeitzähler größer, da bei jedem Grundzeitereignis jeder Zähler abgefragt werden muß. Diese Zeitverwaltung eignet sich somit in erster Linie für wiederkehrende Ereignisse mit unterschiedlicher Zeitdauer. Für einmalig auftretende Ereignisse hingegen ist der Verarbeitungsaufwand relativ hoch.The advantage of this first time monitoring is the low administrative effort when placing and deleting time orders. However, the amount of processing time is for querying the time counters larger, since each counter must be queried for every basic time event. This time management is therefore primarily suitable for recurring events with different durations. For one-off events, however, the processing effort is relatively high.

Die erste Zeitverwaltung wird in erster Linie für die Diagnosekommunikation, d.h. zum durchführen eines Datenaustausches zwischen der Motorsteuerung 1 und einem externen Diagnosegerät, eingesetzt.The first time management is primarily used for diagnostic communication, i.e. used to carry out a data exchange between the engine control 1 and an external diagnostic device.

Die erste Zeitüberwachung weist drei Tabellen auf:

  • eine Zeitauftragsliste 19 (Figur 2),
  • eine Adressenliste für die auszuführenden Aktionen und
  • eine Tabelle der zyklischen Zeiten.
The first time monitoring has three tables:
  • a time job list 19 (Figure 2),
  • an address list for the actions to be performed and
  • a table of cyclical times.

Der Aufbau der Zeitauftragsliste 19, die als Tabelle in dem RAM 16 abgelegt ist, ist aus Figur 2 ersichtlich. Jedem Zeitauftrag wird ein Listenplatz 0,1, ..., n zugeteilt. Jeder Zeitauftrag besteht aus 4 Bytes. Zwei davon werden in eine erste Zeile 20 eines Listenplatzes, z.B. des Listenplatzes 0, eingeschrieben. Von diesen stellt das höherwertige High-Byte die Adresse und das niederwertige Low-Byte die zugehörige Statusinformation dar. Diese Statusinformation ist folgendermaßen codiert:

2⁶ = Zeitauftrag wird nach Ablauf neu erteilt

Figure imgb0001

2⁷ = Zeitauftrag ist eingetragen und nicht abgelaufen
Figure imgb0002
.
The structure of the time job list 19, which is stored as a table in the RAM 16, can be seen from FIG. A list position 0.1, ..., n is assigned to each time task. Each time job consists of 4 bytes. Two of these are written into a first line 20 of a list position, for example list position 0. Of these, the high-order high byte represents the address and the low-order low byte the associated status information. This status information is coded as follows:

2⁶ = Time order is re-issued after the expiry
Figure imgb0001

2⁷ = time task has been entered and has not expired
Figure imgb0002
.

In einer zweiten Zeile 21 des Listenplatzes wird der Ereigniszeitpunkt eingetragen, d.h. der Zeitpunkt, zu dem mit Ablauf Wartezeit das jeweilige Ereignis eintritt und die zugehörige Aktion gestartet wird. Die für ein Ereignis berechnete und in die Zeile 21 eingetragene Zeit wird in dem Systemzeitraster, d.h. alle 10 ms, mit der aktuellen Zeit verglichen, die von einer hier nicht hergestellten Systemzeituhr geliefert wird. Stimmen beide Zeiten überein, so wird das jeweilige Ereignis ausgelöst, z.B. ein Programmlauf gestartet, ein Bitt gesetzt oder eine Task einer Prioritätsstufe zugeordnet.The time of the event is entered in a second line 21 of the list position, ie the time at which the respective event occurs with the expiration of the waiting time and the associated action is started. The time calculated for an event and entered in line 21 is compared in the system time grid, ie every 10 ms, with the current time, that of a time not produced here System clock is delivered. If both times match, the respective event is triggered, for example a program run is started, a request is set or a task is assigned to a priority level.

Ein Zeitauftrag wird durch einen Makroaufruf SETZA (= "setze Zeitauftrag") mit den Parametern Zeitintervall, Listenplatz, Reg_1, Reg_2 und Reg_3 erteilt. Darin ist das Zeitintervall die Zeitdauer ab dem augenblicklichen Zeitpunkt bis zu dem Zeitpunkt, zu dem das Ereignis auftritt. Das Zeitintervall kann eine Konstante oder eine festlegbare Größe sein. Der Listenplatz gibt an, an welcher Stelle in der Liste das Zeitereignis eingetragen wird eintreten und welche Aktionen beim Eintreten des Ereignisses durchzuführen sind. Der Status enthält die oben genannten zusätzlichen Informationen über den Zeitauftrag. Reg_1 bis Reg_3 sind Arbeitsregister der jeweiligen Taskebene.A time job is issued by a macro call SETZA (= "set time job") with the parameters time interval, list position, Reg_1, Reg_2 and Reg_3. Therein the time interval is the length of time from the current point in time to the point in time at which the event occurs. The time interval can be a constant or a definable quantity. The list position indicates at which point in the list the time event is entered and which actions are to be carried out when the event occurs. The status contains the above-mentioned additional information about the time task. Reg_1 to Reg_3 are working registers of the respective task level.

Ein bereits erteilter Zeitauftrag kann mit einem Aufruf RESZA (= "reset Zeitauftrag") mit den Parametern Status, Listenplatz, Reg_1 und Reg_2 annulliert werden.A time task that has already been issued can be canceled by calling RESZA (= "reset time task") with the parameters status, list position, Reg_1 and Reg_2.

Die vorstehend beschriebene erste Zeitüberwachung ZV_KURZ ist in einem Struktogramm 22 in Figur 3 in der Übersicht dargestellt.The above-described first time monitoring ZV_KURZ is shown in a structure diagram 22 in FIG. 3 in the overview.

Eine zweite Zeitüberwachung ZV_LANG, ist so realisiert, daß die Bearbeitungszeit, die zu jedem Grundzeitereignis auftritt, möglichst gering ist und daß auch einmalige Ereignisse ohne großen Mehraufwand verwaltet werden können. Sie wird eingesetzt für Zeitintervalle ab etwa 50 ms bis zu der bei der hier beschriebenen Motorsteuerung maximal zulässigen Zeit von rund 655.350 ms. Bei Eintritt eines Zeitereignisses hier auszuführende Aktionen sind, eine Task zu aktivieren oder Zeitmarken an eine oder mehrere Tasks weiterzuleiten. Die zweite Zeitüberwachung wird z.B. für die Steuerung einer Nachlaufzeit, während der die Motorsteuerung nach Abschalten der Zündung noch Aufgaben (z.B. Fehlersuche) durchführen und deshalb mit Strom versorgt werden muß. Sie wird auch zum Steuern der Ansaugluft- und Kühlmittel-Temperaturmessung, der λ-Sondenheizung, der Erzeugung des Drosselklappen-Istwertsignals, der Kraftstoffpumpe und von vielem anderem eingesetzt.A second time monitor ZV_LANG is implemented in such a way that the processing time that occurs for each basic time event is as short as possible and that even one-off events can be managed without much additional effort. It is used for time intervals from approximately 50 ms up to the maximum permissible time of around 655,350 ms in the motor control described here. When a time event occurs, actions to be performed here are to activate a task or to forward time stamps to one or more tasks. The second time monitoring is used, for example, to control a run-on time during which the motor control After switching off the ignition, carry out tasks (e.g. troubleshooting) and must therefore be supplied with power. It is also used to control intake air and coolant temperature measurement, λ-probe heating, the generation of the actual throttle valve signal, the fuel pump and much more.

Wesentlicher Bestandteil der zweiten Zeitüberwachung sind zwei Listen: eine Zeitauftragsliste 24, die frei definierbare Zeitereignisse enthält, und eine Adreßliste 24, die die Anfangsadressen der auszuführenden Aktionen, die den einzelnen Zeitaufträgen zugeordnet sind, aufnimmt (Figur 4). Wird ein Zeitauftrag erteilt, wird er in die Zeitauftragsliste 24 eingetragen. Ist der erteilte Zeitauftrag nicht der einzige in der Liste, werden die Aufträge nach den Ereigniszeitpunkten sortiert. Derjenige Zeitauftrag, dessen Ereigniszeitpunkt als nächster Auftritt, steht danach als erster in der Liste. Der Auftrag mit dem am weitesten in der Zukunft liegenden Zeit ist an der letzten Stelle in der Liste aufgeführt. Der Vorteil dieser zweiten Zeitüberwachung liegt in der geringen Bearbeitungsdauer. Bei jedem im Grundzeitraster auftretenden Zeitverwaltungsaufruf muß immer nur der erste Eintrag auf Ablauf abgefragt werden. Ist dessen Ereignis noch nicht eingetreten, d.h. die Zeit bis zum Ereignis noch nicht abgelaufen, so braucht die Liste 24 nicht weiter abgefragt werden.An essential part of the second time monitoring are two lists: a time job list 24, which contains freely definable time events, and an address list 24, which contains the start addresses of the actions to be carried out, which are assigned to the individual time jobs (FIG. 4). If a time order is placed, it is entered in the time order list 24. If the time order placed is not the only one in the list, the orders are sorted according to the event times. The time task whose event time is the next occurrence is then the first in the list. The job with the furthest future is at the bottom of the list. The advantage of this second time monitoring is the short processing time. With every time management call occurring in the basic time grid, only the first entry must be queried for expiry. Has the event not yet occurred, i.e. the time until the event has not yet expired, the list 24 need not be queried any further.

Sind bereits mehrere Aufträge in der Liste 24 enthalten, so müßte, wenn ein neuer Auftrag erteilt wird und er wegen seiner Ereigniszeit nicht hinten an der Liste angefügt werden kann, zumindest ein Teil der Zeitauftragsliste umkopiert werden. Solche zeitraubenden Umkopieraktionen und die damit verbundene Prozessorbelastung werden aber hier durch sogenannte Linkverbindungen vermieden. Jeder Zeitauftrag in der Zeitauftragsliste 24 weist neben einem Zeitfeld 26 auch ein Linkfeld 27 auf, das die Verbindung zwischen den einzelnen Zeitaufträgen herstellt. Bei einem Sortiervorgang müssen im ungünstigsten Fall maximal drei Links - auch als Pointer oder Adreßzeiger bezeichnet - 28 behandelt werden. Der Anfang der Liste wird in einem sogenannten Listenanker 30 vermerkt, der die Anzahl der Listeneinträge (im Beispiel 5) und einen Verweis auf den ersten Zeitauftrag in der Liste (im Beispiel: Listenplatz 3) enthält.If there are already several orders in the list 24, then if a new order is placed and it cannot be added to the end of the list due to its event time, at least part of the time order list would have to be copied over. Such time-consuming copying actions and the associated processor load are avoided here by so-called link connections. In addition to a time field 26, each time order in the time order list 24 also has a link field 27 which establishes the connection between the individual time orders. During a sorting process In the worst case, a maximum of three links - also referred to as pointers or address pointers - 28 must be treated. The beginning of the list is noted in a so-called list anchor 30, which contains the number of list entries (in the example 5) and a reference to the first time order in the list (in the example: list position 3).

Die Adreßliste 25 enthält in den einzelnen Listenplätzen die Adressen 32 der auszuführenden Aktionen, die dem jeweiligen Zeitereignis zugeordnet sind.The address list 25 contains in the individual list places the addresses 32 of the actions to be carried out, which are assigned to the respective time event.

Die Verwaltung von Zeitaufträgen schließt drei Routinen ein:

  • Erteilung von Zeitaufträgen,
  • zyklische Überprüfung auf abgelaufene oder eingetretene Zeitereignisse und Überprüfung der damit verbundenen Aktionen, sowie
  • vorzeitiges Abbrechen von generierten Zeitaufträgen, ohne daß eine zugeordnete Aktion ausgeführt wird.
Ein Zeitauftrag wird durch eine Task mit einem Makroaufruf
ZAERT [Listenplatz], [Zeitintervall]
erteilt. Dessen Parameter sind:
   Listenplatz gibt an, an welcher Stelle in der Liste das Zeitereignis eingetragen wird und welche Aktionen bei Eintreten des Ereignisses durchgeführt werden.
   Zeitintervall ist die Zeitdauer ab dem augenblicklichen Zeitpunkt, bis das Ereignis eintritt. Das Zeitintervall kann eine Konstante oder eine vorgebbare Größe sein.The management of time orders includes three routines:
  • Placing time orders,
  • cyclical checking for expired or occurring time events and checking the associated actions, as well
  • premature cancellation of generated time orders without an assigned action being carried out.
A time job is created by a task with a macro call
ZAERT [ list position ] , [ time interval ]
granted. Its parameters are:
List position specifies at which point in the list the time event is entered and which actions are carried out when the event occurs.
Time interval is the length of time from the current point in time until the event occurs. The time interval can be a constant or a predeterminable quantity.

Ist ein Zeitauftrag bereits erteilt worden und noch nicht abgelaufen, so wird der ursprüngliche Auftrag ignoriert, und das Ereignis auf die neue Zeit gesetzt.If a time job has already been issued and has not yet expired, the original job is ignored and the event is set to the new time.

Ein bereits erteilter Zeitauftrag kann mit einem Aufruf
ZADEL [Listenplatz]
annulliert werden; er wird dabei aus der Zeitauftragsliste entfernt.
A time order that has already been placed can be called up with a call
ZADEL [ list place ]
be canceled; it is removed from the time task list.

Im Raster der Systemgrundzeit, d.h. in Intervallen von 10 ms, wird die Zeitauftragsliste nach abgelaufenen Zeitaufträgen durchsucht. Wird ein abgelaufener Zeitauftrag gefunden, d.h. ein Auftrag dessen Wartezeit abgelaufen ist, wird er aus der Liste entfernt und die mit ihm verbundenen Aktionen ausgeführt. Anschließend wird die Liste erneut nach einem weiteren abgelaufenen Zeitauftrag durchsucht. Der Vorgang wird solange wiederholt, bis kein abgelaufener Zeitauftrag in der Liste mehr vorhanden ist. Die hierzu durchgeführte zyklische Zeitüberwachungsroutine SUABZA ( = suche nach abgelaufenen Zeitaufträgen) ist in Figur 5 in Form eines Struktogramms 34 veranschaulicht.In the grid of the system base time, i.e. at intervals of 10 ms, the time job list is searched for expired time jobs. If an expired time job is found, i.e. An order whose waiting time has expired is removed from the list and the actions associated with it are carried out. The list is then searched again for another expired time job. The process is repeated until there is no longer an expired time job in the list. The cyclical time monitoring routine SUABZA (= search for expired time orders) carried out for this purpose is illustrated in FIG. 5 in the form of a structogram 34.

Beim Einrichten eines neuen Zeitauftrags sind programmtechnisch folgende Schritte durchzuführen:
In einem Datenmodul SYSDAT.A96, in dem der RAM-Speicher 16 beschrieben ist, ist eine Tabelle ZA_LIST_LA um die Anzahl der neu einzufügenden Zeitaufträge zu vergrößern. Dies ist durch eine Platzreservierung von 4 Bytes pro Zeitauftrag möglich. In einem Modul ZEITVERW.A96 ist für jeden Zeitauftrag eine EQU-Anweisung oder Zuordnungsanweisung des Listenplatzes vorhanden. Jedem neuem Zeitauftrag ist seine Listenplatznummer über eine EQU-Anweisung zuzuteilen. In einer Tabelle AKTIONS_TAB wird die Anfangsadresse des Programmabschnitts eingetragen, der bei dem Zeitereignis auszuführen ist. Der Platz an dem die Anfangsadresse hinterlegt wird, muß mit der Listenplatznummer übereinstimmen. Die Aktionen, die auszuführen sind, werden am Ende des Moduls definiert. Die Programmsequenz ist mit einem unbedingten Sprung auf das Label SUABZA abzuschließen.
When setting up a new time job, the following steps must be carried out in the program:
In a data module SYSDAT.A96, in which the RAM 16 is described, a table ZA_LIST_LA is to be increased by the number of new time orders to be inserted. This is possible by reserving 4 bytes per time job. In a module ZEITVERW.A96 there is an EQU instruction or assignment instruction for the list position for each time task. Each new time task must be assigned its list position number using an EQU instruction. The start address of the program section to be executed in the time event is entered in a table AKTIONS_TAB. The place where the start address is stored must match the list place number. The actions to be performed are defined at the end of the module. The program sequence must be concluded with an unconditional jump to the SUABZA label.

Eine bei der Zeitauftragserteilung abzuwickelnde Routine SETIM ( = setze Zeitauftrag) ist in Figur 6 in Gestalt eines Struktogramms 35 dargestellt. Entsprechend ist die zum Löschen eines Zeitauftrags abzuarbeitende Routine deltim ( = setze Zeitauftrag) durch ein Struktogramm 36 in Figur 7 verdeutlicht. Die einzelnen Schritte dieser Struktogramme 22 und 34 bis 36 sind in Klartext niedergelegt, so daß die Struktogramme selbst erläuternd sind.A routine SETIM (= set time job) to be processed when the time job is issued is shown in FIG. 6 in the form of a structogram 35. The routine deltim (= set time job) to be processed to delete a time job is correspondingly illustrated by a structogram 36 in FIG. The individual steps of these structograms 22 and 34 to 36 are laid down in plain text, so that the structograms themselves are explanatory.

Claims (9)

Motorsteuerung (1) mit einem Rechenteil (2), durch den Meßwerte, die Betriebsgrößen des Motors wiedergeben, programmgesteuert erfaßt und ausgewertet und Steuersignale für Stellglieder, die auf den Motorbetrieb einwirken, erzeugt werden, und mit einem die Erfassung und Auswertung und die Erzeugung von Steuersignalen steuernden Betriebssystem, unter welchem unterschiedliche Arten von Programmen zeitabhängig aktiviert werden,
dadurch gekennzeichnet, daß durch das Betriebssystem eine Zeitverwaltung mit folgenden Zeitüberwachungen festgelegt ist: - eine erste Zeitüberwachung für Aufgaben, deren jeweilige Aktivierungszeit in kurzen Zeitabständen zu überprüfen ist, und - eine zweite Zeitüberwachung für Aufgaben, deren jeweilige Aktivierungszeit in langen Zeitabständen zu überprüfen ist.
Motor control (1) with a computing part (2), through the measured values, the operating variables of the motor, recorded and evaluated under program control and control signals for actuators which act on the motor operation are generated, and with one the detection and evaluation and the generation of Operating system controlling control signals, under which different types of programs are activated depending on time,
characterized in that the operating system defines a time management with the following time monitors: - a first time monitoring for tasks, the respective activation time of which must be checked at short intervals, and - a second time monitor for tasks, the respective activation time of which must be checked at long intervals.
Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß durch die erste Zeitüberwachung Aufgaben verwaltet werden, deren Abarbeitung oder Aktivierung innerhalb einiger wenige Systemzeiteinheiten zu erfolgen hat, und durch die zweite Zeitüberwachung Aufgaben verwaltet werden, deren Abarbeitung oder Aktivierung eine größere Anzahl Systemzeiteinheiten dauert.Motor control according to claim 1, characterized in that tasks are managed by the first time monitoring, the processing or activation of which has to take place within a few system time units, and tasks are managed by the second time monitoring, the processing or activation of which takes a larger number of system time units. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die Systemzeit in ein Raster mit einer Zeiteinheit von 10 ms unterteilt ist.Motor control according to claim 1, characterized in that the system time is divided into a grid with a time unit of 10 ms. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die erste Zeitüberwachung drei Tabellen einschließt: - eine Zeitauftragsliste (19), - eine Adressenliste für die auszuführenden Aktionen und - eine Tabelle der zyklischen Zeiten. Motor control according to claim 1, characterized in that the first time monitoring includes three tables: - a time task list (19), - an address list for the actions to be carried out and - a table of cyclical times. Motorsteuerung nach Anspruch 4, dadurch gekennzeichnet, daß in der Zeitauftragsliste (19) jeder Zeitauftrag in einen Listenplatz (0,..., n) eingetragen wird, und daß der einzutragende Zeitauftrag eine Adresse, eine Statusinformation und einen Zeitpunkt, an dem die dem Zeitauftrag zugeordnete Aktion zu aktivieren ist, enthält.Motor control according to claim 4, characterized in that in the time job list (19) each time job is entered in a list place (0, ..., n), and in that the time job to be entered contains an address, status information and a time at which the Time task assigned to activate is included. Motorsteuerung nach Anspruch 5, dadurch gekennzeichnet, daß der eingetragene Zeitpunkt bei jedem Programmdurchlauf mit dem Inhalt eines die aktuelle Systemzeit (AKZEIT) darstellenden Zählers verglichen und im Falle einer Übereinstimmung die dem Zeitauftrag zugeordneten Aktionen angestoßen werden.Motor control according to Claim 5, characterized in that the entered time is compared with the content of a counter representing the current system time (AKZEIT) each time the program is run and, in the event of a match, the actions assigned to the time task are triggered. Motorsteuerung nach Anspruch 1, dadurch gekennzeichnet, daß die zweite Zeitüberwachung eine Zeitauftragsliste (24), in der die Zeitaufträge abgelegt sind, und eine Adreßliste (25) enthält, in der die Anfangsadressen der Aktionen abgelegt sind, die den einzelnen Zeitaufträgen zugeordnet sind.Motor control according to Claim 1, characterized in that the second time monitor contains a time job list (24) in which the time jobs are stored and an address list (25) in which the start addresses of the actions which are assigned to the individual time jobs are stored. Motorsteuerung nach Anspruch 7, dadurch gekennzeichnet, daß die Zeitaufträge in der Zeitauftragsliste (24) in aufsteigender zeitlicher Reihenfolge angeordnet sind und daß diese Reihenfolge durch Links (Pointer), realisiert ist, die die Verbindungen zwischen den einzelnen Zeitaufträgen festlegen.Motor control according to claim 7, characterized in that the time orders in the time order list (24) are arranged in ascending chronological order and that this order is realized by links (pointers) which define the connections between the individual time orders. Motorsteuerung nach Anspruch 7, dadurch gekennzeichnet, daß bei jedem im Systemzeitraster erfolgenden Aufruf durch die Zeitverwaltung jeweils nur der erste Auftrag in der Zeitauftragsliste (24) auf Ablauf abgefragt wird.Motor control according to claim 7, characterized in that each time the time management calls in the system time grid, only the first order in the time order list (24) is queried for expiry.
EP19930102978 1993-02-25 1993-02-25 Engine control Expired - Lifetime EP0612917B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE59303660T DE59303660D1 (en) 1993-02-25 1993-02-25 Engine control
EP19930102978 EP0612917B1 (en) 1993-02-25 1993-02-25 Engine control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19930102978 EP0612917B1 (en) 1993-02-25 1993-02-25 Engine control

Publications (2)

Publication Number Publication Date
EP0612917A1 true EP0612917A1 (en) 1994-08-31
EP0612917B1 EP0612917B1 (en) 1996-09-04

Family

ID=8212638

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19930102978 Expired - Lifetime EP0612917B1 (en) 1993-02-25 1993-02-25 Engine control

Country Status (2)

Country Link
EP (1) EP0612917B1 (en)
DE (1) DE59303660D1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0017219A2 (en) * 1979-04-06 1980-10-15 Hitachi, Ltd. Electronic type engine control method and apparatus
DE3826526A1 (en) * 1988-08-04 1990-02-08 Bosch Gmbh Robert METHOD AND DEVICE FOR ADJUSTING THE OPERATING SIZE OF AN INTERNAL COMBUSTION ENGINE

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0017219A2 (en) * 1979-04-06 1980-10-15 Hitachi, Ltd. Electronic type engine control method and apparatus
DE3826526A1 (en) * 1988-08-04 1990-02-08 Bosch Gmbh Robert METHOD AND DEVICE FOR ADJUSTING THE OPERATING SIZE OF AN INTERNAL COMBUSTION ENGINE

Also Published As

Publication number Publication date
DE59303660D1 (en) 1996-10-10
EP0612917B1 (en) 1996-09-04

Similar Documents

Publication Publication Date Title
EP1330685B1 (en) Testing method and testing device for starting up systems which are controlled by means of a program logic
EP0525432B1 (en) Method of changing system configuration data in a telecommunications exchange system
DE19744230B4 (en) Control units for a system and method for operating a control unit
EP0759195B1 (en) Running system for a technical installation
DE4125389C1 (en)
DE102006028695A1 (en) Electronic control system with malfunction monitoring
DE4410775A1 (en) Electronic control system for automobile applications
DE3513937A1 (en) METHOD FOR MONITORING A SPEED SIGNAL
EP1300792A2 (en) Computer based method and system for monitoring the use of licenses
EP0799441B1 (en) System for controlling technical processes
EP0525350B1 (en) Method and arrangement for testing control apparatus
EP1005216A2 (en) Method and system for the validation of configuration data for telecommunications systems
EP0838054A1 (en) Graphic control process and device for controlling operations in a network management system
EP0303869A1 (en) Digital communication system with a modular structure comprising technical operation communication means
DE3318410A1 (en) Method for changing and optimising data and program cycles for programmed control devices in motor vehicles
EP0612917B1 (en) Engine control
DE102019005935A1 (en) NUMERIC CONTROL UNIT
EP1514180A2 (en) Limitation of the response time of a software process
EP0990964A1 (en) Method for operating an automatic device
EP0175162A2 (en) Electronic apparatus for generating an electrical fuel-measuring signal for a combustion engine
DE4428818B4 (en) Method for adjusting a mass-produced internal combustion engine
EP0677147B1 (en) Controller in an arithmetic unit
DE19647407A1 (en) Control device, in particular for use in a motor vehicle
EP0608456A1 (en) Engine control
DE3610717A1 (en) METHOD AND DIGITAL CONTROL UNIT FOR DETERMINING AND CONTROLLING PULSE WIDTH-MODULATED OPERATING SIZES IN AN INTERNAL COMBUSTION ENGINE

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LI LU MC NL PT SE

17P Request for examination filed

Effective date: 19940915

RBV Designated contracting states (corrected)

Designated state(s): DE FR GB IT

17Q First examination report despatched

Effective date: 19950516

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT

REF Corresponds to:

Ref document number: 59303660

Country of ref document: DE

Date of ref document: 19961010

ET Fr: translation filed
ITF It: translation for a ep patent filed

Owner name: STUDIO JAUMANN

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 19961107

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20040205

Year of fee payment: 12

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20050225

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20050225

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20050225

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20090219

Year of fee payment: 17

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20090213

Year of fee payment: 17

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

Effective date: 20101029

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100301

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20100901