DE10229520A1 - Controlling vehicle processes, involves copying output parameter of at least one faster task program at start of this program if such an output parameter provided for both faster and slower programs - Google Patents

Controlling vehicle processes, involves copying output parameter of at least one faster task program at start of this program if such an output parameter provided for both faster and slower programs Download PDF

Info

Publication number
DE10229520A1
DE10229520A1 DE2002129520 DE10229520A DE10229520A1 DE 10229520 A1 DE10229520 A1 DE 10229520A1 DE 2002129520 DE2002129520 DE 2002129520 DE 10229520 A DE10229520 A DE 10229520A DE 10229520 A1 DE10229520 A1 DE 10229520A1
Authority
DE
Germany
Prior art keywords
task
task program
faster
program
slower
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
DE2002129520
Other languages
German (de)
Inventor
Uwe Hartmann
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 DE2002129520 priority Critical patent/DE10229520A1/en
Publication of DE10229520A1 publication Critical patent/DE10229520A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

The method involves using at least one faster and at least one slower task program with at least one process parameter in both programs and copying it from one memory area to another. An output parameter of the at least one slower program is copied at the end of at least one faster program and/or an output parameter of the at least one faster program is copied at the start of this program if such an output parameter is provided for both programs. Independent claims are also included for the following: (a) an operating system for controlling processes in vehicles (b) and a device with at least one memory for storing processes in a vehicle.

Description

Stand der TechnikState of the art

Die Erfindung betrifft ein Verfahren und eine Vorrichtung sowie ein entsprechendes Betriebssystem zur Steuerung von Vorgängen bei einem Fahrzeug gemäß den Oberbegriffen der unabhängigen Ansprüche.The invention relates to a method and a device and a corresponding operating system for Control of operations for a vehicle according to the generic terms of independent claims.

Bei Steuervorgängen im Fahrzeug liegen Betriebssysteme als Basis zur Ausführung von Steuervorgängen zugrunde. Bei Betriebssystemen, insbesondere Echtzeit-Betriebssystemen, wie sie z. B. in embedded-systems in der Automobilindustrie eingesetzt werden, sind die Funktionen oft auf mehrere Tasks sogenannte Aufgabenprogramme mit unterschiedlichen Abtastzeiten aufgeteilt, damit zeitkritische Teile öfter gerechnet werden können als weniger zeitkritische Algorithmen bzw. Programme oder Programmteile. Dabei sorgt im Normalfall das Betriebssystem für die Sicherstellung der Datenkonsistenz. So werden von Größen, auf die in mehreren Tasks zugegriffen wird, zu geeigneten Zeitpunkten Kopien angelegt, damit sich z. B. in langsamen Aufgabenprogrammen bzw. Tasks zwischen zwei Zugriffen der Wert nicht ändert, weil in einer schnelleren Task auf die Größe geschrieben wird. Dies ist beispielsweise in der EP 0 799 441 B1 gezeigt.Operating processes in the vehicle are based on operating systems as the basis for executing control processes. In operating systems, especially real-time operating systems, such as z. B. are used in embedded systems in the automotive industry, the functions are often divided into several tasks, so-called task programs with different sampling times, so that time-critical parts can be calculated more often than less time-critical algorithms or programs or program parts. The operating system usually ensures data consistency. For example, copies of sizes that are accessed in several tasks are created at suitable times so that, for. B. in slow task programs or tasks between two accesses, the value does not change because the size is written in a faster task. This is for example in the EP 0 799 441 B1 shown.

In regelungstechnischen Anwendungen, wie z. B. beim Fahrdynamikregelsystem ESP oder auch im Rahmen einer Motor- sowie Getriebesteuerung, usw. genügt es nicht, nur die Datenkonsistenz, wie oben beschrieben zu garantieren. Zusätzlich ist hier wichtig, dass die Kopien von Größen die in unterschiedlichen Tasks bzw. Aufgabenprogrammen verwendet werden zu bestimmten Zeitpunkten erstellt werden, um eine äquidistante Abtastung sicherzustellen; d. h. die Kopien sollten in immer möglichst gleichen zeitlichen Abständen erstellt werden. Zur Zeit verfügbare Echtzeit-Betriebssysteme für eingebettete Systeme sogenannte embedded-systems enthalten dafür keine Mechanismen.In control engineering applications, such as B. in the driving dynamics control system ESP or as part of a Engine and transmission control, etc. is not enough, just data consistency, guarantee as described above. It is also important here that the copies of sizes the can be used in different tasks or task programs be created at specific times to be an equidistant Ensure scanning; d. H. the copies should always be as similar as possible time intervals to be created. Currently available Real time operating systems for embedded systems do not contain any so-called embedded systems Mechanisms.

Es stellt sich somit die Aufgabe, für regelungstechnische Anwendungen im Fahrzeug in einfacher Weise eine zeitlich äquidistante Abtastung zu ermöglichen. Als weitere Aufgabe sollen dann auch besonders zeitkritische Vorgänge ausreichend berücksichtigt werden können.So the task for control engineering Applications in the vehicle in a simple manner an equidistant in time Allow scanning. As a further task, particularly time-critical processes should also be sufficient considered can be.

Vorteile der ErfindungAdvantages of invention

Durch die im folgenden vorgestellte Erfindung wird sichergestellt, dass in eingebetteten Systemen sogenannten embedded-systems mit Echtzeit-Betriebssystem alle Größen, die in mehreren Aufgabenprogrammen oder Tasks, mit unterschiedlichen Abtastzeiten benötigt werden, in zeitlich gleichen Abständen also äquidistant zwischen den Aufgabenprogrammen (Tasks) zur Sicherung der Datenkonsistenz kopiert werden, also ein ungewolltes Überschreiben dieser Größen verhindert wird.Through the presented below Invention ensures that so-called embedded systems embedded systems with real-time operating system all sizes that in several task programs or tasks, with different Sampling times required become, at equal intervals, that is, equidistant between the task programs (Tasks) are copied to ensure data consistency, i.e. a unwanted overwriting of these sizes prevented becomes.

Für regelungstechnische Anwendungen ist die zeitlich äquidistante Abtastung oft unabdingbar, um Berechnungen wie beispielsweise Integration oder Differentiation von Signalen ohne erhöhten Rechenaufwand durchzuführen. Dieser erhöhte Rechenaufwand entstünde dabei beispielsweise durch die Einbeziehung von mitgelieferten Zeitinformationen pro Signal.For control engineering applications is the time equidistant Sampling is often essential to calculations such as integration or Differentiation of signals to carry out without increased computing effort. This increased Computational effort would arise thereby, for example, by including the time information provided per signal.

Somit findet vorteilhafter Weise ein Verfahren und eine Vorrichtung sowie ein Betriebssystem zur Steuerung von Vorgängen bei einem Fahrzeug Einsatz, wobei die Vorgänge durch wenigstens ein schnelleres Aufgabenprogramm und wenigstens ein langsameres Aufgabenprogramm gesteuert werden und wenigstens eine Ausgabegröße in dem wenigstens einen schnelleren Aufgabenprogramm und dem wenigstens einen langsameren Aufgabenprogramm verwendet wird, wobei diese dazu von einem Speicherbereich in einen anderen Speicherbereich kopiert wird und die eine Ausgabegröße für das wenigstens eine langsamere Aufgabenprogramm am Ende des wenigstens einen schnelleren Aufgabenprogramms kopiert wird und/oder eine Ausgabegröße für das wenigstens eine schnellere Aufgabenprogrammn zur Beginn des wenigstens einen schnelleren Aufgabenprogramms kopiert wird, wenn eine solche Ausgabegröße entsprechend für beide Aufgabenprogramme vorgesehen ist.Thus advantageously takes place a method and an apparatus and an operating system for Control of operations in a vehicle use, the processes being carried out by at least one faster one Task program and at least a slower task program are controlled and at least one output variable in the at least one faster task program and at least a slower one Task program is used, this from a memory area is copied into another memory area and the one output size for the at least a slower task program at the end of at least a faster one Task program is copied and / or an output size for the least a faster task programs at the start of at least one faster task program is copied if such an output size is appropriate for both Task programs are provided.

Zweckmäßiger Weise ist dazu jedem Aufgabenprogramm ein eigener Speicherbereich und/oder jeweils ein interner Zähler zugeordnet.Everyone is expedient for this Task program has its own memory area and / or one each internal counter assigned.

Ebenso zweckmäßiger Weise erhalten die Aufgabenprogramme entsprechend einer maximalen Laufzeit jedes Aufgabenprogramms unterschiedliche Priorität.The task programs also receive appropriately different priority according to the maximum duration of each task program.

Von Vorteil ist, dass nach Ablauf des langsamsten Aufgabenprogramms alle Zähler zu Beginn des schnellsten Aufgabenprogramms zurückgesetzt werden, und jeder Ablauf jedes Aufgabenprogramms im jeweiligen Zähler gezählt wird.The advantage is that after expiration of the slowest task program all counters at the beginning of the fastest Task program are reset, and each sequence of each task program is counted in the respective counter.

Zweckmäßiger Weise wird anhand einer Abfrage der Zählerstände zu Beginn und am Ende jedes Aufgabenprogramms wenigstens eine Kopierroutine aufgerufen, wobei vorteilhafter Weise anhand einer Vorschrift, insbesondere anhand einer Tabelle vorgegeben wird, welche Ausgabegröße wohin kopiert wird, also welche Kopierroutinen jeweils aufgerufen werden.It is expedient to use a Query the meter readings at the beginning and at least one copy routine is called at the end of each task program, advantageously using a rule, in particular a table specifies which output size goes where is copied, i.e. which copy routines are called in each case.

In einer vorteilhaften Ausgestaltung ist zusätzlich wenigstens ein Zustandsbit vorgesehen, welches durch das langsamere Aufgabenprogramm setzbar ist, wobei bei gesetztem Zustandsbit das schnellere Aufgabenprogramm direkt auf die Ausgabegröße also das Original der Ausgabegröße und nicht auf die Kopie des langsameren Aufgabenprogramms zugreift, eben bevor diese Kopie erstellt wird.In an advantageous embodiment is additional at least one status bit is provided, which is characterized by the slower Task program can be set, the faster if the status bit is set Task program directly on the output size so the original of the output size and not accesses the copy of the slower task just before this copy is made.

Zweckmäßiger Weise wird in dieser besonderen Ausgestaltung der Erfindung das Zustandsbit dann zurückgesetzt, wenn die entsprechende Ausgabegröße des langsameren Aufgabenprogramms kopiert wird.The status bit is expedient in this particular embodiment of the invention then reset when the corresponding output size of the slower task program is copied.

Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus der Beschreibung sowie den Merkmalen der Ansprüche.Other advantages and beneficial Refinements result from the description and the features of claims.

Zeichnungdrawing

Die Erfindung wird im Weiteren anhand der in der Zeichnung dargestellten Figuren näher erläutert.The invention is further illustrated of the figures shown in the drawing.

Dazu zeigt 1 eine schematische Darstellung einer Steuerung in einem Fahrzeug mit verschiedenen Aufgabenprogrammen (Tasks).This shows 1 is a schematic representation of a controller in a vehicle with different task programs.

2 verdeutlicht das erfindungsgemäße Verfahren anhand dreier Aufgabenprogramme. 2 illustrates the method according to the invention using three task programs.

In 3 ist eine Tabelle als Vorschrift zur Steuerung der Kopier- bzw. Übergaberoutinen angegeben.In 3 a table is given as a regulation for controlling the copying or transfer routines.

4 zeigt eine besondere Ausgestaltung der Erfindung bei welcher ein Zustandsbit gesetzt und rückgesetzt wird. 4 shows a special embodiment of the invention in which a status bit is set and reset.

Beschreibung der Ausführungsbeispieledescription of the embodiments

1 zeigt eine Steuerung 100 mit Eingängen bzw. Eingangsgrößen E und Ausgängen bzw. Ausgangsgrößen A. Dabei kann die Steuerung 100 als singuläres Steuergerät ebenso wie als Netzwerk busverbundener Steuereinheiten aufgebaut sein. 1 shows a control 100 with inputs or input variables E and outputs or output variables A. The control can 100 be constructed as a singular control unit as well as a network of bus-connected control units.

Die Steuerung kann weiterhin über Leitungen, insbesondere wenigstens ein Bussystem mit anderen Steuerungen sowie mit Sensorik oder Aktuatorik zur Steuerung von Vorgängen in einem Fahrzeug verbunden sein. Dabei von Sensorik, weiteren Steuerungen oder Aktuatorik gelieferte Eingangsgrößen sind in einem Block zusammengefasst und mit E bezeichnet.The controller can still be in particular at least one bus system with other controls as well with sensors or actuators to control processes in be connected to a vehicle. Thereby of sensors, further controls Input variables supplied or actuator technology are combined in a block and marked with E.

Die durch die Steuerung 100 ausgegebenen Größen beispielsweise Rückantworten an andere Steuerungen oder Sensorik sowie Aktuatorik insbesondere Steuergrößen werden als Ausgangsgrößen A in einem Block zusammengefasst. In der Steuerung werden, insbesondere im Rahmen eines Betriebssystems, drei Aufgabenprogramme sogenannte Tasks T5, T10 und T20 betrachtet. Diese können abhängig von der Struktur der Steuerung 100 in einem Steuergerät oder in mehreren Steuereinheiten vorhanden sein. Dabei ist es sogar denkbar, eine einzelne Task über mehrere Steuereinheiten zu verteilen. Gleiches gilt für die den einzelnen Aufgabenprogrammen oder Tasks zugeordneten Speicherbereiche SB5, SB10 und SB20. Diese sind jeweils einer Task zugeordnet, können aber sowohl im gleichen Steuergerät bzw. im gleichen Speicher oder auch in verschiedenen Speichern und/oder verschiedenen Steuergeräten, sozusagen als virtueller Speicher, verteilt sein.The one through the controller 100 Output variables, for example responses to other controls or sensors, and actuators, in particular control variables, are combined as output variables A in a block. In the controller, in particular in the context of an operating system, three task programs, so-called tasks T5, T10 and T20, are considered. These can depend on the structure of the control 100 be present in one control unit or in several control units. It is even conceivable to distribute a single task over several control units. The same applies to the memory areas SB5, SB10 and SB20 assigned to the individual task programs or tasks. These are each assigned to a task, but can be distributed both in the same control unit or in the same memory or in different memories and / or different control units, so to speak as virtual memory.

Den einzelnen Aufgabenprogrammen oder Tasks T5, T10 und T20 sind jeweils Zähler Z5, Z10 und Z20 zugeordnet, die einerseits in Hardware oder Software realisiert sein können und als interner Zähler der entsprechenden Task fungieren. Die einzelnen Aufgabenprogramme oder Tasks können dabei auch unter einander Variablen bzw. Größen insbesondere im Rahmen der einzelnen Programmaufgaben austauschen. Da diese Variablen oder Größen im allgemeinen ihre Ausgangspunkte in einer bestimmten Task haben und von dieser ausgegeben werden, entweder als Ausgangsgröße A oder an andere Tasks werden diese Größen im weiteren allgemein als Ausgabegrößen bezeichnet.The individual task programs or tasks T5, T10 and T20 are assigned counters Z5, Z10 and Z20, which can be implemented in hardware or software on the one hand and as an internal counter of the corresponding task. The individual task programs or tasks thereby also variables and sizes among each other, especially in the frame exchange the individual program tasks. Because these variables or Sizes in general have their starting points in and from a particular task output, either as output variable A or to other tasks these sizes further commonly referred to as output sizes.

In 2 wird als Beispiel die Vorgehensweise bei drei Aufgabenprogrammen oder drei Tasks T5, T10 und T20 gezeigt. Zur Sicherung der Datenkonsistenz ist es notwendig, dass die Größen, nachfolgend als Ausgabegrößen bezeichnet, die in mehreren Tasks bzw. Aufgabenprogrammen verwendet werden, im Normalfall auch mehrfach im Speicher beispielsweise einem RAM-Speicher abgelegt werden. D. h. der Speicher ist hier beispielsweise als RAM ausgeführt, jegliche weitere dem Fachmann bekannte Speicherform wie oben erwähnt auch virtuell verteilt in einem Netzwerk kann dabei verwendet werden.In 2 the procedure for three task programs or three tasks T5, T10 and T20 is shown as an example. To ensure data consistency, it is necessary that the variables, hereinafter referred to as output variables, which are used in several tasks or task programs, are normally also stored several times in the memory, for example a RAM memory. I.e. the memory here is designed as RAM, for example, any other form of memory known to the person skilled in the art, as mentioned above, can also be used virtually distributed in a network.

Werden diese Größen, diese Ausgabegrößen nicht mehrfach im Speicher abgelegt, dann kann es z. B. vorkommen, dass sich Größen die in einer schnellen Task geschrieben werden und in einer langsameren Task gelesen werden, während der Laufzeit der langsameren Task ändern. Das bedeutet, dass jedes Aufgabenprogramm, also jede Task vorteilhafter Weise ihren eigenen Speicherbereich SB besitzt. Zu geeigneten Zeitpunkten müssen dabei die Variablen, also hier die Ausgabengrößen umkopiert werden, wenn diese Ausgabegrößen für mehrere Aufgabenprogramme vorgesehen sind. Dazu könnte z. B. eine Größe, die in der Task T10 beispielsweise einer 10 ms-Task, also mit einer maximalen Laufzeit von 10 ms, berechnet wird, an die Task T5, also beispielsweise einer Task mit einer maximalen Laufzeit von 5 ms übergeben werden und zwar an diejenige Task T5, die nach Beendigung der entsprechenden 10 ms-Task T10 als nächstes startet. Dies führt dann jedoch zu nicht äquidistanten Abtastungen, da im Beispiel die Task T10, also die 10 ms-Task unterschiedlich lange Laufzeiten haben kann. Deshalb wird die Kopie der Variablen zu festgelegten Zeitpunkten erzeugt, mit dem Ziel, generell äquidistante Abtastungen sicherzustellen.These sizes, these output sizes are not stored several times in memory, then it can e.g. B. occur that sizes be written in a fast task and in a slower one Task can be read while change the runtime of the slower task. That means everyone Task program, so each task advantageously has its own Has storage area SB. At the appropriate times, the Variables, so here the output sizes are copied over if these output sizes for several Task programs are provided. This could, for. B. a size that in task T10, for example, a 10 ms task, i.e. with a maximum runtime of 10 ms, is calculated to task T5, that is for example, a task with a maximum runtime of 5 ms and that to task T5, which after completion of the corresponding 10 ms task T10 next starts. this leads to then, however, too non-equidistant Sampling, since in the example task T10, i.e. the 10 ms task, is different can have long terms. That is why the copy of the variable generated at fixed times, with the aim of being generally equidistant Ensure scans.

Dazu startet in 2 zunächst die T5-Task, also hier im Beispiel 5 ms, da sie in diesem Beispiel die höhere Priorität gegenüber langsameren Tasks, also hier T10 und T20 besitzt. D. h. zweckmäßiger Weise ist hier eine Priorität abhängig von der maximalen Laufzeit bzw. der Schnelligkeit des Aufgabenprogramms eingeführt. Am Ende der T5-Task werden die Schnittstellengrößen, d. h. in diesem Fall die in der T5-Task T5-0 berechneten Ausgabegrößen A5-0 auf den Speicherbereich SB10 der Task T10 bzw. SB20 der Task T20 umkopiert.To do this starts in 2 First the T5 task, in this example 5 ms, since in this example it has the higher priority over slower tasks, i.e. here T10 and T20. I.e. A priority is expediently introduced here depending on the maximum runtime or the speed of the task program. At the end of the T5 task, the interface sizes, ie in this case the output sizes A5-0 calculated in the T5 task T5-0, are copied to the memory area SB10 of task T10 or SB20 of task T20.

Nach Beendigung der Task T5-0 startet die 10 ms-Task T10-0. Diese Task T10-0 wird durch die nächste 5 ms-Task T5-1 auf grund der höheren Priorität unterbrochen. Am Ende der Task T10-0 werden die Ausgabegrößen A10-0 der Task T10-0 auf die jeweiligen Speicherbereiche der Task T20, also nach SB20 umkopiert, nicht jedoch auf den Speicherbereich der schnelleren T5-Task T5-2. Würde dieses Umkopieren der Ausgabegrößen A10-0 auf SB5, also für T5-2 durchgeführt, dann erhielte im Beispiel die Task T5-2 die Ausgabegröße A10-0 der Task T10-0 und bereits die nächste 5 ms-Task T5-3 die Ergebnisse von T10-1, weil die zweite 10 ms-Task zufällig etwas früher beendet wird als die erste. Das Prinzip der äquidistanten Abtastung wäre in diesem Fall verletzt. Aus diesem Grund wird die Kopierroutine von einer langsamen zu einer schnelleren Task immer zur Beginn der schnelleren Task durchgeführt, d. h. zur Beginn der Task T5-2 werden die Ausgabegrößen A10-0 von T10-0 kopiert und zur Beginn der Task T5-4 diejenigen von T10-1 und T20-0.After task T5-0 ends the 10 ms task T10-0. This task T10-0 is carried out by the next 5 ms task T5-1 due to the higher priority interrupted. At the end of task T10-0, output sizes A10-0 task T10-0 to the respective memory areas of task T20, So copied to SB20, but not to the memory area of the faster T5 task T5-2. Would this copying of the output sizes A10-0 on SB5, so for T5-2 performed, then task T5-2 would have output size A10-0 in the example Task T10-0 and the next one 5 ms task T5-3 the results of T10-1 because the second 10 ms task fortuitously a little earlier will end as the first. The principle of equidistant sampling would be in this case injured. Because of this, the copying routine is slow to a faster task always at the beginning of the faster task carried out, d. H. At the start of task T5-2, output sizes A10-0 are copied from T10-0 and at the start of task T5-4 those of T10-1 and T20-0.

D. h. zur Sicherstellung der äquidistanten Abtastung lauten die Kopierregeln also, dass die Ausgabengrößen für langsamere Tasks am Ende der schnelleren Task umkopiert werden und Ausgabegrößen für schnellere Tasks zur Beginn der schnelleren Task umkopiert werden.I.e. to ensure equidistant scanning So the copying rules are that the output sizes for slower ones Tasks are copied at the end of the faster task and output sizes for faster Tasks are copied at the beginning of the faster task.

Zur Steuerung der Kopierroutinen, also der Vorschrift welche Ausgabegröße bzw. welche Ausgabengrößen von welcher Task zu welcher anderen Task kopiert werden, besitzen die Tasks, also hier T5, T10 und T20 jeweils einen internen Zähler bzw. ist diesen ein Zähler zugeordnet, gemäß Z5, Z10 und Z20 in 1. Hier im Beispiel werden nach 20 ms alle Zähler zu Beginn einer T5-Task auf Null gesetzt, bzw. auf den Anfangswert zurückgesetzt. Am Ende jeder Task wird der entsprechende Zähler um Eins erhöht. Durch Abfrage der Zählerstände zu Beginn und am Ende jeder Task kann dann gesteuert werden, welche Kopierroutinen jeweils aufgerufen werden.To control the copying routines, i.e. the regulation of which output size or which output sizes are copied from which task to which other task, the tasks, in this case T5, T10 and T20, each have an internal counter or a counter is assigned to them, in accordance with Z5, Z10 and Z20 in 1 , Here in the example, after 20 ms, all counters are set to zero at the start of a T5 task or reset to the initial value. At the end of each task, the corresponding counter is increased by one. By querying the counter readings at the beginning and at the end of each task, you can then control which copy routines are called up.

Dies ist beispielsweise anhand von Tabellen gemäß 3 darstellbar. Hier sind für den T5-Zähler Z5 und den T10-Zähler Z10 in Tabellen 300 und 301 die Kopiervorschriften abhängig vom Zählerstand dargestellt. So werden bei T5-Zählerstand, also Z5-Zählerstand 0 und zu Beginn der Task T5 die Ausgabegrößen von T10 auf T5 kopiert sowie von T20 auf T5 und am Ende der T5-Task die Ausgabegrößen von T5 auf T10 und T5 auf T20. Die übrigen Umkopiervorgänge sind ebenfalls beispielhaft wie gerade beschrieben, den Tabellen 300 und 301 zu entnehmen.This is, for example, based on tables 3 represented. The copying instructions for the T5 counter Z5 and the T10 counter Z10 are shown in tables 300 and 301 depending on the counter reading. So at T5 counter reading, i.e. Z5 counter reading 0 and at the beginning of task T5 the output sizes are copied from T10 to T5 and from T20 to T5 and at the end of the T5 task the output sizes from T5 to T10 and T5 to T20. The other copying processes are also examples, as just described, the tables 300 and 301 refer to.

So werden am Ende von T10-1 die Ausgabegrößen A10-1 wie beschrieben auf T5-4 übertragen. Ebenso werden die Größen A20-0 am Ende der Task T20-0 auf T5-4 sowie T10-2 übertragen. Schließlich wird noch A5-4 von T5-4 auf T10-2 umkopiert, wobei dies anhand der in 3 dargestellten Vorschriften gesteuert wird.At the end of T10-1, output sizes A10-1 are transferred to T5-4 as described. The sizes A20-0 are also transferred to T5-4 and T10-2 at the end of task T20-0. Finally, A5-4 is copied from T5-4 to T10-2, this being based on the in 3 shown regulations is controlled.

Somit ist für regelungstechnische Anwendungen eine zeitlich äquidistante Abtastung ohne Einbeziehung von mitgelieferte Zeitinformation, also ohne erhöhten Rechenaufwand sehr einfach durchzuführen.This is for control engineering applications an equidistant in time Sampling without including the time information supplied, i.e. without increased Computing effort very easy to do.

In manchen zeitkritischen Fällen dargestellt in 4, kann in einer schnelleren Task nicht gewartet werden, bis die Kopie einer Ausgabegröße aus einer langsameren Task vorliegt, sondern man möchte auf das Ergebnis einer Berechnung zugreifen, sobald dieses vorliegt, also auf das Original der Ausgabegröße, u.U. unter Verzicht auf die äquidistante Abtastung.In some time critical cases shown in 4 , you cannot wait in a faster task until the copy of an output variable from a slower task is available, but you want to access the result of a calculation as soon as it is available, i.e. the original of the output variable, possibly without the equidistant sampling.

In dieser speziellen Ausgestaltung der Erfindung eben ein kurzfristiges Aufheben der äquidistanten Abtastung ohne insgesamt die äquidistante Abtastung zu verletzen oder in Frage zu stellen setzt die langsamere Task ein Zustandsbit, sobald eine oder mehrere Größen vollständig berechnet wurden. Bei gesetztem Zustandsbit darf die schnellere Task direkt auf das Original der Variablen bzw. der Ausgabegröße zugreifen.In this special embodiment the invention just a short-term abolition of the equidistant Sampling without total the equidistant Hurting or questioning scanning sets the slower one Task a status bit as soon as one or more quantities are fully calculated were. If the status bit is set, the faster task can open directly access the original of the variable or the output size.

Beim nachfolgenden standardmäßigen Kopiervorgang wird das Zustandsbit dann wieder zurückgesetzt. Nun, also bei zurückgesetztem Zustandsbit darf nur die eben erzeugte Kopie der Ausgabegröße in der schnelleren Task verwendet werden. Zwischen dem Setzen des Zustandsbits und der Ausführung der Kopierroutine darf die Ausgabegröße dann nicht mehr verändert werden.In the subsequent standard copying process the status bit is then reset. Well, so with reset Status bit may only be the copy of the output size just created in the faster task can be used. Between setting the status bit and execution the output routine must then no longer be changed in the copy routine.

Bei gesetzten Zustandsbit ist also jeweils das Original gültig, weil es in der langsameren Task fertig berechnet wurde und vor Ablauf der Task nicht mehr geändert wird. Bei nicht gesetztem Zustandsbit ist nur die Kopie gültig.So when the status bit is set the original is valid, because it was calculated in the slower task and before it expired the task no longer changed becomes. If the status bit is not set, only the copy is valid.

Diese zeitliche Abfolge ist eben in 4 dargestellt. Im Beispiel muss die Task T5-1 mit der Kopie der Ausgabegröße arbeiten, weil die Originalgröße in der 10 ms-Task T10-0 noch nicht fertig berechnet wurde und zur Zeit möglicherweise ungültige Werte aufweisen kann. Erst wenn das Ergebnis vorliegt, also das Original der Ausgabegröße AO10-0 fertig berechnet wurde, wird das Zustandsbit gesetzt und es kann auf das Original AO10-0 zugegriffen werden. Anschließend wird die Kopie der Ausgabegröße A10-0 von T10-0 zur Task T5-2 umkopiert.This chronological order is in 4 shown. In the example, task T5-1 has to work with the copy of the output size, because the original size in task 1010 T10-0 has not yet been calculated and may currently have invalid values. The status bit is only set and the original AO10-0 can be accessed only when the result is available, i.e. the original of output variable AO10-0 has been calculated. The copy of output size A10-0 is then copied from T10-0 to task T5-2.

Bei diesem Kopiervorgang wird nun das Zustandsbit wieder zurückgesetzt. Gleiches gilt dann für die nächste Größe AO10-1, also dem Original der Task T10-1 zu dem Zeitpunkt in dem dieses fertig berechnet bzw. bereitgestellt wurde. Auch hier kann auf dieses Original zugegriffen werden und das Zustandsbit wird wiederum gesetzt. Erst bei nachfolgender Erstellung der Kopie A10-1 für T5-4 wird dann wiederum das Zustandsbit rückgesetzt. Gleiches gilt dann auch für AO10-2.With this copying process is now the status bit is reset. The same applies to the next Size AO10-1, So the original of the task T10-1 at the time this was calculated or made available. Again, this can be done Originally accessed and the status bit is set again. Only when the copy A10-1 for T5-4 is subsequently created then the status bit is reset. The same applies to AO10-2.

Die Tasks T5-2 und T5-4 verwenden die bzw. rechnen mit der gerade erstellten Kopie A10-0 bzw. A10-1, wie in der Erfindung vorgesehen und nicht mit dem Original. Die Task T5-3 hat über diese zusätzliche Option des Zustandsbits aber die Möglichkeit bereits mit der fertig berechneten Originalgröße AO10-1 aus der 10 ms-Task T10-1 weiter zu rechnen. Ebenso gilt dies für die Task T5-5 mit der Originalgröße AO10-2 der Task T10-2.Tasks T5-2 and T5-4 use or calculate with the copy A10-0 or A10-1 just created, as provided in the invention and not with the original. Task T5-3 has the option of using this additional option of the status bit to continue calculating with the fully calculated original size AO10-1 from the 10 ms task T10-1. This also applies to task T5-5 with the original size AO10-2 of task T10-2.

Somit ermöglicht die Erfindung auf einfache Weise eine äquidistante Abtastung, wobei in einer speziellen Ausgestaltung zusätzlich in besonders zeitkritischen Situationen durch einen Zusatzmechanismus ohne Verlust der Sicherheit der Mechanismus der äquidistanten Abtastung kurzfristig umgangen werden kann, ohne diesen grundsätzlichen, erfindungsgemäßen Mechanismus der äquidistanten Abtastung mit Fehlern zu belegen. D. h. es wird im Normalfall die äquidistante Abtastung garantiert, wobei trotzdem zeitkritische Ausnahmen mit hoher Sicherheit berücksichtigt werden können.The invention thus enables in a simple manner an equidistant Scanning, in a special embodiment additionally in particularly time-critical situations through an additional mechanism without loss of security the mechanism of equidistant sampling in the short term can be circumvented without this basic mechanism according to the invention the equidistant To prove sampling with errors. I.e. it usually becomes the equidistant Sampling guaranteed, with time-critical exceptions high security taken into account can be.

Claims (11)

Verfahren zur Steuerung von Vorgängen in einem Fahrzeug, wobei die Vorgänge durch wenigstens ein schnelleres Aufgabenprogramm und wenigstens ein langsameres Aufgabenprogramm gesteuert werden, wobei wenigstens eine Ausgabegröße in dem wenigstens einen schnelleren Aufgabenprogramm und dem wenigstens einen langsameren Aufgabenprogramm verwendet wird und dazu von einem Speicherbereich in einen anderen Speicherbereich kopiert wird, dadurch gekennzeichnet, dass eine Ausgabegröße für das wenigstens eine langsamere Aufgabenprogramm am Ende des wenigstens einen schnelleren Aufgabenprogramms kopiert wird und/oder eine Ausgabegröße für das wenigstens eine schnellere Aufgabenprogramm zu Beginn des wenigstens einen schnelleren Aufgabenprogramms kopiert wird, wenn eine solche Ausgabegröße für beide Aufgabenprogramme vorgesehen ist.Method for controlling processes in a vehicle, the processes being controlled by at least one faster task program and at least one slower task program, at least one output variable being used in the at least one faster task program and the at least one slower task program, and for this purpose from a memory area into one is copied to another memory area, characterized in that an output variable for the at least one slower task program is copied at the end of the at least one faster task program and / or an output variable for the at least one faster task program is copied at the beginning of the at least one faster task program, if such Output size is provided for both task programs. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jedem Aufgabenprogramm ein eigener Speicherbereich zugeordnet ist.A method according to claim 1, characterized in that each Task program is assigned its own memory area. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass jedem Aufgabenprogramm jeweils ein interner Zähler zugeordnet ist.A method according to claim 1, characterized in that each An internal counter is assigned to each task program. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Aufgabenprogramme unterschiedliche Priorität abhängig von einer maximalen Laufzeit jedes Aufgabenprogramms besitzen.A method according to claim 1, characterized in that the Task programs have different priorities depending on a maximum run time of each Possess task program. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass nach Ablauf des langsamsten Aufgabenprogrammsalle Zähler zu Beginn des schnellsten Aufgabenprogramms zurückgesetzt werden und jeder Ablauf jedes Aufgabenprogramms im jeweiligen Zähler gezählt wird.A method according to claim 3, characterized in that after The slowest task program runs all counters at the start of the fastest task program reset and each sequence of each task program is counted in the respective counter. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass anhand einer Abfrage der Zählerstände zu Beginn und am Ende jedes Aufgabenprogramms wenigstens eine Kopierroutine aufgerufen wird.A method according to claim 5, characterized in that based on a query of the meter readings at the beginning and at the end of each task program at least one copy routine is called. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass anhand einer Vorschrift, insbesondere anhand einer Tabelle, vorgegeben wird welche Ausgabegröße wohin kopiert wird, also welche Kopierroutinen jeweils aufgerufen werden.A method according to claim 6, characterized in that based on a regulation, in particular based on a table which output size goes where is copied, i.e. which copy routines are called in each case. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass wenigstens ein Zustandsbit durch das langsamere Aufgabenprogramm setztbar ist und dass bei gesetztem Zustandsbit das schnellere Aufgabenprogramm direkt auf die Ausgabegröße des langsameren Aufgabenprogramms zugreift bevor diese kopiert wird.A method according to claim 1, characterized in that at least a status bit can be set by the slower task program and that the faster task program when the status bit is set directly to the output size of the slower Accesses the task program before it is copied. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass dann, wenn die Ausgabegröße des langsameren Aufgabenprogramms kopiert wird, das Zustandsbit zurückgesetzt wird.A method according to claim 8, characterized in that then, if the output size of the slower Task program is copied, the status bit reset becomes. Betriebssystem zur Steuerung von Vorgängen in einem Fahrzeug, bei welchem durch Ausführung von Aufgabenprogrammnen wenigstens einer der Verfahrensschritte nach einem der Ansprüche 1 bis 9 ausgeführt wird.Operating system for controlling processes in a vehicle, at which by execution task programs of at least one of the procedural steps according to one of the claims 1 to 9 executed becomes. Vorrichtung mit wenigstens einem Speicher zur Steuerung von Vorgängen in einem Fahrzeug, wobei erste Mittel enthalten sind, welche die Vorgänge durch wenigstens ein schnelleres Aufgabenprogramm und wenigstens ein langsameres Aufgabenprogramm steuern, wobei wenigstens eine Ausgabegröße in dem wenigstens einen schnelleren Aufgabenprogramm und dem wenigstens einen langsameren Aufgabenprogramm verwendet wird und dazu von einem Speicherbereich des Speichers in einen anderen Speicherbereich kopiert wird, dadurch gekennzeichnet, dass zweite Mittel enthalten sind, die eine Ausgabegröße für das wenigstens eine langsamere Aufgabenprogramm am Ende des wenigstens einen schnelleren Aufgabenprogramms kopieren und/oder eine Ausgabegröße für das wenigstens eine schnellere Aufgabenprogramm zu Beginn des wenigstens einen schnelleren Aufgabenprogramms kopieren, wenn eine solche Ausgabegröße für beide Aufgabenprogramme vorgesehen ist.Device with at least one memory for controlling operations in a vehicle, wherein first means are contained which the operations through at least a faster task program and at least control a slower task program, with at least one Output size in the at least a faster task program and at least a slower task program is used by one Memory area of the memory copied to another memory area is characterized in that second means are included, which is an output variable for the at least a slower task program at the end of at least a faster one Copy task program and / or an output size for the at least one faster task program at the start of at least one faster Copy task program if such an output size for both task programs is provided.
DE2002129520 2002-07-01 2002-07-01 Controlling vehicle processes, involves copying output parameter of at least one faster task program at start of this program if such an output parameter provided for both faster and slower programs Withdrawn DE10229520A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002129520 DE10229520A1 (en) 2002-07-01 2002-07-01 Controlling vehicle processes, involves copying output parameter of at least one faster task program at start of this program if such an output parameter provided for both faster and slower programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002129520 DE10229520A1 (en) 2002-07-01 2002-07-01 Controlling vehicle processes, involves copying output parameter of at least one faster task program at start of this program if such an output parameter provided for both faster and slower programs

Publications (1)

Publication Number Publication Date
DE10229520A1 true DE10229520A1 (en) 2004-01-15

Family

ID=29723598

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002129520 Withdrawn DE10229520A1 (en) 2002-07-01 2002-07-01 Controlling vehicle processes, involves copying output parameter of at least one faster task program at start of this program if such an output parameter provided for both faster and slower programs

Country Status (1)

Country Link
DE (1) DE10229520A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013202774A1 (en) 2013-02-20 2014-08-21 Robert Bosch Gmbh Apparatus for controlling processor of motor vehicle, has primary task that is provided with activating unit for activating secondary task according to secondary repetition period which is multiple of primary repetition period
DE102014216381A1 (en) 2014-08-19 2016-03-10 Robert Bosch Gmbh Control device and operating method for this
DE102015220485A1 (en) 2015-10-21 2017-04-27 Robert Bosch Gmbh Method for writing and reading a data record
DE102016202305A1 (en) 2016-02-16 2017-08-17 Robert Bosch Gmbh Method and device for operating a control device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013202774A1 (en) 2013-02-20 2014-08-21 Robert Bosch Gmbh Apparatus for controlling processor of motor vehicle, has primary task that is provided with activating unit for activating secondary task according to secondary repetition period which is multiple of primary repetition period
DE102014216381A1 (en) 2014-08-19 2016-03-10 Robert Bosch Gmbh Control device and operating method for this
DE102015220485A1 (en) 2015-10-21 2017-04-27 Robert Bosch Gmbh Method for writing and reading a data record
DE102016202305A1 (en) 2016-02-16 2017-08-17 Robert Bosch Gmbh Method and device for operating a control device
WO2017140504A1 (en) 2016-02-16 2017-08-24 Robert Bosch Gmbh Method and device for operating a controller
US11115232B2 (en) 2016-02-16 2021-09-07 Robert Bosch Gmbh Method and device for operating a control unit

Similar Documents

Publication Publication Date Title
EP0655682B1 (en) Multitasking arithmetic unit
DE4222043C1 (en)
DE4410775C2 (en) Control unit and operating method of an operating system for this control unit
EP0886823B1 (en) Method of checking the operability of a computing unit
WO2000004429A1 (en) Control system with personal computer
EP0799441B1 (en) System for controlling technical processes
DE10031642C2 (en) Pulse duration modulation signal generator
EP1479003A2 (en) Method and device for controlling the functional unit of a motor vehicle
EP3417373A1 (en) Method and device for operating a controller
DE19750026A1 (en) Operating method for controller of motor vehicle with IC engine
DE2064383B2 (en) Data processing system with several central processing devices
EP4022403B1 (en) Method and industrial controller for the synchronized calling of a function block in a control program having opc ua
EP0110199B1 (en) Method for the control of data transfer between a data transmitter and a data receiver on a bus, using a control unit which is connected to the bus
DE10229520A1 (en) Controlling vehicle processes, involves copying output parameter of at least one faster task program at start of this program if such an output parameter provided for both faster and slower programs
DE69424387T2 (en) Method and device for modifying the content of a register
DE2932394A1 (en) INTELLIGENT, PROGRAMMABLE PROCESS CONTROL ARRANGEMENT
DE10110444A1 (en) Determining workload of computer apparatus running computer program by determining run time of tasks after completion and subtracting run times upon interruption
DE10061001A1 (en) Automobile technical process control method, involves using microprocessor for execution of control program tasks corresponding to technical processes
DE102018123563B4 (en) Method for inter-core communication in a multi-core processor
EP1137997B1 (en) Multi-master bus system and method for operating the same
DE10065498A1 (en) Reconstructing control program process flow, involves generating table from contents of tables generated during process containing identity of last process carried out before each new task
EP0525214A1 (en) Method of operating an automation apparatus
DE19728971C2 (en) Data processing device and method
DE102010039607B3 (en) Method for the redundant control of processes of an automation system
EP2126700B1 (en) Control of the run time behavior of processes

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee