DE102014107072A1 - Method for parallel programming of a plurality of vehicle control devices - Google Patents

Method for parallel programming of a plurality of vehicle control devices Download PDF

Info

Publication number
DE102014107072A1
DE102014107072A1 DE102014107072.0A DE102014107072A DE102014107072A1 DE 102014107072 A1 DE102014107072 A1 DE 102014107072A1 DE 102014107072 A DE102014107072 A DE 102014107072A DE 102014107072 A1 DE102014107072 A1 DE 102014107072A1
Authority
DE
Germany
Prior art keywords
programming
vehicle control
flowchart
sequences
control devices
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
DE102014107072.0A
Other languages
German (de)
Inventor
Gerald Zoppelt
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.)
Dr Ing HCF Porsche AG
Original Assignee
Dr Ing HCF Porsche 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 Dr Ing HCF Porsche AG filed Critical Dr Ing HCF Porsche AG
Priority to DE102014107072.0A priority Critical patent/DE102014107072A1/en
Publication of DE102014107072A1 publication Critical patent/DE102014107072A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Die vorliegende Erfindung schlägt ein Verfahren zur parallelen Programmierung einer Mehrzahl von Fahrzeugsteuergeräten vor, welches die folgenden Schritte aufweist: Erfassen der mittels einer zugehörigen Programmiersequenz jeweils zu programmierenden Fahrzeugsteuergeräte; Bestimmen der zur Programmierung eines jeden Fahrzeugsteuergerätes mittels der zugehörigen Programmiersequenz jeweils zu erwartenden Schnittstellenauslastung; Bestimmen der zur Programmierung eines jeden Fahrzeugsteuergerätes mittels der zugehörigen Programmiersequenz jeweils zu erwartenden Programmierdauer; Durchführen eines iterativen Prüfalgorithmus zum Bestimmen eines optimierten Ablaufschemas zum Ausführen der einzelnen Programmiersequenzen in Abhängigkeit der zu programmierenden Fahrzeugsteuergeräte, in Abhängigkeit der jeweils zu erwartenden Schnittstellenauslastungen und in Abhängigkeit der jeweils zu erwartenden Programmierdauer; und Programmieren der Fahrzeugsteuergeräte gemäß dem optimierten Ablaufschema.The present invention proposes a method for the parallel programming of a plurality of vehicle control devices, comprising the following steps: detecting the vehicle control devices to be respectively programmed by means of an associated programming sequence; Determining the respectively to be expected for programming each vehicle control unit by means of the associated programming sequence interface utilization; Determining the respective programming duration to be programmed for programming each vehicle control unit by means of the associated programming sequence; Performing an iterative test algorithm for determining an optimized flowchart for executing the individual programming sequences as a function of the vehicle control devices to be programmed, as a function of the respectively expected interface loadings and depending on the respectively expected programming duration; and programming the vehicle control devices in accordance with the optimized flowchart.

Description

Die vorliegende Erfindung geht aus von einem Verfahren und einem System zur Programmierung einer Mehrzahl von Fahrzeugsteuergeräten. The present invention is based on a method and a system for programming a plurality of vehicle control devices.

Es ist hinlänglich bekannt, dass in Fahrzeugen zunehmend elektronische Module zur Steuerung oder Regelung eingesetzt werden. Solche Module weisen typischerweise eine individuelle Steuersoftware auf, welche die eigentliche Steuerung oder Regelung vornimmt. Bei der Erstinstallation eines jeden Steuergeräts muss daher zunächst die entsprechende Steuersoftware auf das jeweilige Steuergerät gespielt werden. Das Aufspielen der Steuersoftware kann je nach Schnittstelle und Anzahl der zu programmierenden Steuergeräte vergleichsweise zeitintensiv und somit kostenträchtig sein. Es ist daher ein Bestreben, die Zeiten für das Programmieren der Steuergeräte zu reduzieren. It is well known that electronic control modules are increasingly being used in vehicles. Such modules typically have an individual control software, which performs the actual control or regulation. For the first installation of each control unit, therefore, the corresponding control software must first be played on the respective control unit. Depending on the interface and the number of control units to be programmed, the uploading of the control software can be comparatively time-intensive and thus cost-intensive. It is therefore an effort to reduce the times for programming the controllers.

Eine bekannte Lösung zur Beschleunigung der Steuergeräteprogrammierung besteht darin, mehrere Steuergeräte mit entsprechenden Programmiersequenzen parallel zu programmieren. Gegenüber einer seriellen Programmierung kann hierdurch eine für das Programmieren aller Steuergeräte benötigte Gesamtdauer erheblich reduziert werden. Allerdings wird dabei die Gesamtdauer maßgeblich mitbestimmt durch die Programmierdauer derjenigen Programmiersequenz, die unter den parallel geschalteten Programmiersequenzen die meiste Zeit für das Programmieren beansprucht. Erst mit Abschluss dieser Programmiersequenz wird dann in der Regel eine neue Übermittelung von parallel geschalteten Programmiersequenzen an die Schnittstelle gestartet. Typischerweise kann sich die Programmierdauer der einzelnen Programmiersequenzen erheblich voneinander unterscheiden. Das kann in nachteiliger Weise dazu führen, dass ein Teil der maximal möglichen Schnittstellenauslastung vakant bleibt, während die am meisten Zeit beanspruchende Programmiersequenz ihre Programmierung abschließt. One known solution for speeding up ECU programming is to program several ECUs in parallel with corresponding programming sequences. Compared to serial programming, this can significantly reduce the total time needed to program all ECUs. However, the total duration is decisively influenced by the programming duration of that programming sequence which takes up most of the time for programming among the parallel-connected programming sequences. Only with the completion of this programming sequence is a new transfer of parallel programming sequences to the interface started as a rule. Typically, the programming time of the individual programming sequences can differ considerably from one another. This can disadvantageously result in some of the maximum possible interface utilization remaining vacant, while the most time-consuming programming sequence completes its programming.

Es ist Aufgabe der vorliegenden Erfindung die bisherigen Verfahren zur parallelen Programmierung einer Mehrzahl von Fahrzeugsteuergeräten hinsichtlich ihrer Effizienz zu verbessern. Insbesondere soll die für das Programmieren der Mehrzahl von Fahrzeugsteuergeräten benötigte Gesamtdauer reduziert werden. It is an object of the present invention to improve the previous method for parallel programming of a plurality of vehicle control devices in terms of their efficiency. In particular, the total duration required for programming the plurality of vehicle control units is to be reduced.

Die Aufgabe der vorliegenden Erfindung wird gelöst durch ein Verfahren zur parallelen Programmierung einer Mehrzahl von Fahrzeugsteuergeräten mit den Schritten:

  • – Erfassen der mittels einer zugehörigen Programmiersequenz jeweils zu programmierenden Fahrzeugsteuergeräte;
  • – Bestimmen der zur Programmierung eines jeden Fahrzeugsteuergerätes mittels der zugehörigen Programmiersequenz jeweils zu erwartenden Schnittstellenauslastung;
  • – Bestimmen der zur Programmierung eines jeden Fahrzeugsteuergerätes mittels der zugehörigen Programmiersequenz jeweils zu erwartenden Programmierdauer;
  • – Durchführen eines iterativen Prüfalgorithmus zum Bestimmen eines optimierten Ablaufschemas zum Ausführen der einzelnen Programmiersequenzen in Abhängigkeit der zu programmierenden Fahrzeugsteuergeräte, in Abhängigkeit der jeweils zu erwartenden Schnittstellenauslastungen und in Abhängigkeit der jeweils zu erwartenden Programmierdauern; und
  • – Programmieren der Fahrzeugsteuergeräte gemäß dem optimierten Ablaufschema.
The object of the present invention is achieved by a method for parallel programming of a plurality of vehicle control devices with the steps:
  • Detecting the vehicle control devices to be respectively programmed by means of an associated programming sequence;
  • Determining the respective interface utilization to be used for programming each vehicle control unit by means of the associated programming sequence;
  • Determining the programming duration to be expected for programming each vehicle control device by means of the associated programming sequence;
  • - Performing an iterative test algorithm for determining an optimized flowchart for executing the individual programming sequences depending on the vehicle control units to be programmed, depending on the respective expected interface loadings and depending on the respective expected programming times; and
  • - Programming the vehicle control units according to the optimized flowchart.

Gegenüber dem Stand der Technik hat das erfindungsgemäße Verfahren den Vorteil des Prüfalgorithmus, der in Abhängigkeit der zu programmierenden Fahrzeugsteuergeräte, der von der Programmiersequenz in Anspruch genommenen Schnittstellenauslastung und der Programmierdauer der einzelnen Programmiersequenzen festlegt, welche Programmiersequenz zu welchem Zeitpunkt zur parallelen Programmierung herangezogen wird. Insbesondere wird durch den Prüfalgorithmus die individuelle Charakteristik der unterschiedlichen Prüfungssequenzen, insbesondere hinsichtlich ihrer unterschiedlichen Schnittstellenauslastung und Programmierdauer, berücksichtigt. Entsprechend wird die durch das Ablaufschema festgelegte zeitliche Abfolge der zu programmierenden Programmiersequenzen derart angepasst sein, dass Zeitspannen, in denen trotz der parallelen Programmierung nur eine einzelne Programmiersequenz programmiert wird, möglichst minimal gehalten werden. Dadurch wird beim Programmieren eine durchschnittliche Schnittstellenauslastung pro Zeiteinheit erhöht, was in vorteilhafter Weise zu einer Verkürzung der Gesamtdauer bei der Programmierung führt. Compared to the prior art, the method according to the invention has the advantage of the test algorithm, which defines the programming sequence used by the programming sequence depending on the program to be programmed and the programming duration of the individual programming sequences, which programming sequence is used at which time for parallel programming. In particular, the test algorithm takes into account the individual characteristics of the different test sequences, in particular with regard to their different interface utilization and programming duration. Accordingly, the time sequence of the programming sequences to be programmed as determined by the flowchart will be adjusted such that periods of time in which only a single programming sequence is programmed despite the parallel programming are kept as minimal as possible. As a result, an average interface load per unit time is increased during programming, which advantageously leads to a shortening of the total programming time.

Vorzugsweise ist es vorgesehen, dass das Verfahren bei einer Erstinstallation von Fahrzeugsteuergeräten durchgeführt wird. Beispielsweise ist eines der Fahrzeugsteuergeräte für ein Infotainmentsystem, einen Parkassistenten oder eine Klimaanlage vorgesehen. Durch die ordnungsgemäße Programmierung mit der zugehörigen Programmiersequenz wird die Funktionalität der Fahrzeugsteuergeräte für deren späteren Betrieb bestimmt und sichergestellt. Insbesondere ist es durch das Erfassen der Fahrzeugsteuergeräte möglich, bei der Programmierung zu berücksichtigen, dass sich die Anzahl und Art der einzelnen Bauteile für die jeweiligen Fahrzeuge, beispielsweise durch unterschiedliche Sonderausstattungen und/oder durch ihren Modelltyp, unterscheiden kann. Weiterhin ist es denkbar, dass zum Bestimmen der Programmierdauer und der Schnittstellenauslastung für das jeweilige Fahrzeugsteuergerät eine Datenbank bemüht wird, in der die entsprechenden Informationen über die Schnittstellenauslastung und die Programmierdauer für die einzelnen Fahrzeugsteuergeräte gespeichert werden und abrufbereit für das Verfahren zur Verfügung stehen. Preferably, it is provided that the method is carried out in an initial installation of vehicle control units. For example, one of the vehicle control units for an infotainment system, a parking assistant or an air conditioning system is provided. By proper programming with the associated programming sequence, the functionality of the vehicle control units is determined and ensured for their subsequent operation. In particular, by detecting the vehicle control devices, it is possible to take into account in the programming that the number and type of the individual components for the respective Vehicles, for example, by different optional equipment and / or by their model type, can distinguish. Furthermore, it is conceivable that for determining the programming duration and the interface load for the respective vehicle control unit, a database is sought, in which the corresponding information about the interface utilization and the programming time for the individual vehicle control units are stored and ready for retrieval available for the process.

Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind den Unteransprüchen sowie der Beschreibung unter Bezugnahme auf die Zeichnungen entnehmbar. Advantageous embodiments and modifications of the invention are the dependent claims and the description with reference to the drawings.

Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass durch den Prüfalgorithmus das Ablaufschema derart festgelegt wird, dass beim Programmieren der Fahrzeugsteuergeräte mindestens zwei Programmiersequenzen zeitversetzt zueinander gestartet werden. Insbesondere ist es vorgesehen, dass durch den Prüfalgorithmus das Ablaufschema derart festgelegt wird, dass neben den mindestens zwei zeitlich zueinander versetzten Programmiersequenzen mindestens zwei Programmiersequenzen zeitgleich, vorzugsweise zu einem gemeinsamen Startpunkt t0, gestartet werden. Dadurch werden Programmiersequenzen in vorteilhafter Weise sequentiell bzw. nacheinander geschaltet, auch wenn die Programmierung einer vorher gestarteten parallelen Programmiersequenz noch nicht abgeschlossen ist. D.h. der sonst vakante Teil der maximalen Schnittstellenauslastung wird in vorteilhafter Weise zum Starten von weiteren Programmiersequenzen genutzt, während beispielsweise parallel noch eine lang dauernde Programmiersequenz programmiert wird. Es ist dabei bevorzugt vorgesehen, dass die nacheinander geschalteten Programmiersequenzen denselben oder zumindest einen Teil desselben Schnittstellenbereichs nutzen. Dadurch lassen sich in vorteilhafter Weise mehr Programmiersequenzen im Vergleich zu einer Programmierung, bei der die parallel laufenden Programmiersequenzen immer nur gleichzeitig gestartet werden, innerhalb eines Ablaufschemas integrieren. According to a preferred embodiment of the present invention, it is provided that the flowchart is determined by the test algorithm in such a way that at least two programming sequences are started with a time offset from one another when the vehicle control devices are programmed. In particular, it is provided that the flowchart is determined by the check algorithm such that in addition to the at least two mutually offset programming sequences at least two programming sequences at the same time, preferably to a common starting point t 0 , are started. As a result, programming sequences are advantageously switched sequentially or successively, even if the programming of a previously started parallel programming sequence has not yet been completed. This means that the otherwise vacant part of the maximum interface utilization is advantageously used for starting further programming sequences, while, for example, a long programming sequence is programmed in parallel. It is preferably provided that the sequentially switched programming sequences use the same or at least a part of the same interface area. As a result, advantageously more programming sequences can be integrated within a flowchart compared to programming in which the programming sequences running in parallel are only ever started simultaneously.

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass der Prüfalgorithmus die folgenden Teilschritte umfasst:

  • – Einfügen einer Programmiersequenz in ein Ablaufschema zu einem Startpunkt tl,
  • – wobei in einem ersten Teilschritt eine Liste aus allen noch potenziell einsetzbaren Programmiersequenzen zum Zeitpunkt tl erstellt wird und
  • – wobei in einem zweiten Teilschritt die Programmiersequenz aus der Liste mit der längsten Programmierdauer in das Ablaufschema eingefügt wird,
  • – Wiederholen des ersten und des zweiten Teilschritts in einem dritten Teilschritt, bis die Liste leer ist,
  • – Bestimmen eines weiteren Startpunkts tl+1 im Ablaufschema als Zeitpunkt, zu dem eines der bereits integrierten Programmiersequenzen als nächstes beendet wird, in einem vierten Teilschritt und
  • – Wiederholung des ersten, zweiten und dritten Teilschritts für den weiteren Startpunkt tl+1 in einem fünften Verfahrensschritt.
According to a further preferred embodiment of the present invention, it is provided that the checking algorithm comprises the following substeps:
  • Inserting a programming sequence into a flowchart to a starting point t l ,
  • - In a first sub-step, a list of all still potentially usable programming sequences at time t l is created and
  • Wherein in a second sub-step the programming sequence from the list with the longest programming duration is inserted into the flowchart,
  • Repeating the first and second substeps in a third substep until the list is empty,
  • Determining a further starting point t l + 1 in the flowchart as the point in time at which one of the already integrated programming sequences is terminated next, in a fourth sub-step and
  • - Repetition of the first, second and third substep for the further starting point t l + 1 in a fifth method step.

Es ist dem Fachmann klar, dass das Erstellen der Liste im ersten Teilschritt einem Bilden eines Ensembles an potenziell einsetzbaren Programmiersequenzen entspricht und sich nicht auf ein explizites Realisieren einer Liste beschränkt. Das Erstellen der Liste versteht sich vielmehr als formelle Eingrenzung auf die Programmiersequenzen, die noch zum jeweiligen Zeitpunkt integrierbar sind. Durch den Prüfalgorithmus wird in vorteilhafter Weise ein Ablaufschema realisiert, mit dem eine effiziente Programmierung der Mehrheit der Fahrzeugsteuergeräte möglich ist, indem dafür gesorgt wird, dass beim parallelen Programmieren möglichst viele Programmiersequenzen durchgeführt werden, solange eine bereits begonnene und entsprechend lange Programmiersequenz noch nicht abgeschlossen ist. It is clear to the person skilled in the art that creating the list in the first sub-step corresponds to forming an ensemble of potentially usable programming sequences and is not limited to an explicit realization of a list. Rather, the creation of the list is a formal limitation to the programming sequences that can still be integrated at any given time. The test algorithm advantageously implements a flowchart with which an efficient programming of the majority of the vehicle control devices is possible by ensuring that as many programming sequences as possible are executed during parallel programming as long as an already started and correspondingly long programming sequence has not yet been completed ,

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass im ersten Teilschritt die Liste gebildet wird durch eine oder mehrere Programmiersequenzen, für deren Einsetzen in das bis dahin zusammengesetzte Ablaufschema ein Einsetzen

  • – ohne Überschreiten der maximalen Schnittstellenauslastung,
  • – ohne Überschreiten einer erlaubten Maximalanzahl an parallel laufenden Programmiersequenzen und/oder
  • – ohne Konflikt zu einer noch zu integrierenden, d. h. einer noch nicht integrierten, Programmiersequenz
angenommen wird. Insbesondere lässt sich die erlaubte Maximalanzahl im Vorfeld festlegen. Weiterhin ist es denkbar, dass manche Programmiersequenzen die vorherige Programmierung einer noch nicht in das Ablaufschema integrierten Programmiersequenz voraussetzen, beispielsweise wenn die Programmiersequenzen bestimmte Prioritäten oder gegenseitige Abhängigkeiten aufweisen. Um einen möglichen Konflikt zu umgehen, lässt sich diese Programmiersequenz so lange aus der Liste halten, bis die erforderliche vorausgesetzte Programmiersequenz in das Ablaufschema integriert ist. Dadurch wird die optimale Integration der Programmiersequenzen in das Ablaufschema in vorteilhafter Weise weiter verbessert. According to a further preferred embodiment of the present invention, it is provided that in the first sub-step, the list is formed by one or more programming sequences, for their insertion into the hitherto assembled flowchart insertion
  • - without exceeding the maximum interface load,
  • - Without exceeding an allowed maximum number of parallel programming sequences and / or
  • - Without conflict with a still to be integrated, ie a not yet integrated, programming sequence
Is accepted. In particular, the permitted maximum number can be determined in advance. Furthermore, it is conceivable that some programming sequences require the prior programming of a programming sequence not yet integrated into the sequence diagram, for example if the programming sequences have particular priorities or mutual dependencies. To avoid a potential conflict, this programming sequence can be kept out of the list until the required prerequisite programming sequence is integrated into the flowchart. This advantageously further improves the optimal integration of the programming sequences into the flowchart.

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass der Prüfalgorithmus beendet wird, wenn

  • – die letzte der zu integrierenden Programmiersequenzen eingesetzt wird und/oder
  • – als weiterer Startzeitpunkt tl+1 der Zeitpunkt bestimmt wird, zu dem die erste in das Ablaufschema integrierte Programmiersequenz nach einer Programmierdauer td beendet wird.
According to a further preferred embodiment of the present invention it is provided that the test algorithm is terminated when
  • - The last of the programming sequences to be integrated is used and / or
  • - is determined as a further start time t l + 1, the time at which the first integrated in the flowchart programming sequence is terminated after a programming time t d .

Insbesondere lässt sich in vorteilhafter Weise festlegen, ob die parallele Programmierung mit den Programmiersequenzen ohne oder mit Unterbrechung durchgeführt werden soll. Es ist dabei vorstellbar, dass es unter manchen Umständen von Vorteil ist, die Programmierung der Mehrzahl an Fahrzeugsteuergeräten zu unterbrechen, um beispielsweise einen anderen Fertigungsschritt für das Fahrzeug zwischenzuschalten. In particular, it can be advantageously determined whether the parallel programming with the programming sequences should be performed without or with interruption. It is conceivable that in some circumstances it is advantageous to interrupt the programming of the plurality of vehicle control devices, for example, to interpose another manufacturing step for the vehicle.

Wird das Beenden des Prüfalgorithmus durch die Programmierdauer der als erstes eingesetzten Programmiersequenz bestimmt, lassen sich die zu integrierenden Programmiersequenzen auf mehrere Ablaufschemas verteilen, zwischen denen beim Programmieren eine problemlose Unterbrechung realisierbar ist. Dadurch lässt sich die Programmierung in vorteilhafter Weise möglichst flexibel in einen Fertigungsprozess eines Fahrzeugs integrieren. If the termination of the test algorithm is determined by the programming duration of the programming sequence used first, the programming sequences to be integrated can be distributed over several flowcharts between which a problem-free interruption can be achieved during programming. As a result, programming can advantageously be integrated as flexibly as possible into a production process of a vehicle.

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass die noch zu integrierenden Programmiersequenzen in ein weiteres Ablaufschema eingesetzt werden. Vorzugsweise werden die bereits im Ablaufschema integrierten Programmiersequenzen bei der Realisierung des weiteren Ablaufschemas berücksichtigt bzw. nicht erneut in das Ablaufschema eingesetzt. According to a further preferred embodiment of the present invention, it is provided that the programming sequences still to be integrated are used in a further flowchart. Preferably, the programming sequences already integrated in the flowchart are taken into account in the implementation of the further flowchart or are not reused in the flowchart.

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass die noch zu integrierenden Programmiersequenzen nach aufsteigender Programmierdauer sortiert werden. Dabei ist es vorstellbar, dass die Sortierung unmittelbar nach dem Bestimmen der Programmierdauer erstellt wird. Dadurch wird eine spätere Listenbildung für den ersten Teilschritt in vorteilhafter Weise vereinfacht. According to a further preferred embodiment of the present invention, it is provided that the programming sequences still to be integrated are sorted according to increasing programming duration. It is conceivable that the sorting is created immediately after determining the programming time. As a result, a later list formation for the first sub-step is advantageously simplified.

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass eine Vorauswahl an noch zu integrierenden Programmiersequenzen getroffen wird. Beispielsweise gibt es zu einem Fahrzeugsteuergerät mehrere mögliche Programmiersequenzen und durch die Vorauswahl wird diejenige ausgewählt, die aufgespielt werden soll. Dadurch lässt sich die Programmierung der Fahrzeugsteuergeräte in vorteilhafter Weise weiter individualisieren. According to a further preferred embodiment of the present invention, it is provided that a preselection of programming sequences still to be integrated is made. For example, there are several possible programming sequences for a vehicle control unit, and the pre-selection selects the one that is to be loaded. As a result, the programming of the vehicle control devices can be further customized in an advantageous manner.

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass zur Kommunikation mit einer Schnittstelle eine Ethernet- oder CAN-Verbindung verwendet wird. Dadurch lassen sich möglichst hohe Übertragungsraten der Programmiersequenzen realisieren, um die für die Programmierung der Mehrzahl an Fahrzeugsteuergeräten benötigte Gesamtdauer weiter zu verkürzen. According to a further preferred embodiment of the present invention, it is provided that an Ethernet or CAN connection is used for communication with an interface. As a result, the highest possible transmission rates of the programming sequences can be realized in order to further reduce the total duration required for programming the plurality of vehicle control units.

Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass das Ablaufschema für eine die Programmierung steuernde Programmiervorrichtung in eine maschinenlesbare Form konvertiert wird. Dadurch lässt sich das erstellte Ablaufschema in vorteilhafter Weise zur Steuerung der Programmiervorrichtung nutzen. According to a further preferred embodiment of the present invention, it is provided that the flowchart for a programming device controlling programming device is converted into a machine-readable form. As a result, the generated flowchart can advantageously be used to control the programming device.

Ein weiterer Gegenstand der vorliegenden Erfindung ist ein System zur Programmierung einer Mehrzahl von Fahrzeugsteuergeräten, wobei das System neben der Mehrzahl von Fahrzeugsteuergeräten eine Schnittstelle zur Kommunikation mit der Mehrzahl von Fahrzeugsteuergeräten und eine Programmiervorrichtung zur Programmierung der Mehrzahl von Fahrzeugsteuergeräten umfasst, wobei die Schnittstelle, die Programmiervorrichtung und die Mehrzahl von Fahrzeugsteuergeräten derart konfiguriert sind, dass die Fahrzeugsteuergeräte über die Schnittstelle nach dem erfindungsgemäßen Verfahren programmierbar sind. A further subject matter of the present invention is a system for programming a plurality of vehicle control devices, wherein the system comprises, in addition to the plurality of vehicle control devices, an interface for communication with the plurality of vehicle control devices and a programming device for programming the plurality of vehicle control devices, wherein the interface, the programming device and the plurality of vehicle control devices are configured such that the vehicle control devices are programmable via the interface according to the inventive method.

Weitere Einzelheiten, Merkmale und Vorteile der Erfindung ergeben sich aus den Zeichnungen sowie aus der nachfolgenden Beschreibung von bevorzugten Ausführungsformen anhand der Zeichnungen. Die Zeichnungen illustrieren dabei lediglich beispielhafte Ausführungsformen der Erfindung, welche den Erfindungsgedanken nicht einschränken. Further details, features and advantages of the invention will become apparent from the drawings and from the following description of preferred embodiments with reference to the drawings. The drawings illustrate only exemplary embodiments of the invention, which do not limit the inventive concept.

1 zeigt schematisch ein Verfahren zum parallelen Programmieren einer Mehrzahl von Fahrzeugsteuergeräten gemäß einer ersten beispielhaften Ausführungsform der vorliegenden Erfindung. 1 12 schematically illustrates a method of parallel programming a plurality of vehicle control devices according to a first exemplary embodiment of the present invention.

2 zeigt schematisch ein Verfahren zum parallelen Programmieren einer Mehrzahl von Fahrzeugsteuergeräten gemäß einer zweiten beispielhaften Ausführungsform der vorliegenden Erfindung. 2 12 schematically illustrates a method of parallel programming a plurality of vehicle control devices according to a second exemplary embodiment of the present invention.

In den verschiedenen Figuren sind gleiche Teile stets mit den gleichen Bezugszeichen versehen und werden daher in der Regel auch jeweils nur einmal benannt bzw. erwähnt. In the various figures, the same parts are always provided with the same reference numerals and are therefore usually named or mentioned only once in each case.

In 1 ist schematisch ein Verfahren zum parallelen Programmieren einer Mehrzahl von Fahrzeugsteuergeräten 3 gemäß einer ersten beispielhaften Ausführungsform dargestellt. Vorzugsweise ist die Mehrzahl der Fahrzeugsteuergeräte 3 Bestandteil eines gerade gefertigten Fahrzeugs, dessen Fahrzeugsteuergeräte 3 unmittelbar nach der Fertigstellung des Fahrzeugs noch nicht programmiert sind. Um die Funktionalität der individuellen Fahrzeugsteuergeräte 3 für deren späteren Betrieb sicherzustellen, müssen sie mit den entsprechenden Programmiersequenzen 2 bespielt bzw. versorgt werden (auch als "Flashen" der Fahrzeugsteuergeräte bezeichnet). Dazu wird eine Datenverbindung zwischen einer Programmiervorrichtung 4 und einer Schnittstelle 1 mit einer gegebenen maximalen Schnittstellenauslastung, vorzugsweise eine Ethernet- oder CAN-Verbindung, hergestellt, wobei die Schnittstelle 1 mit den einzelnen Fahrzeugsteuergeräten 3 verbunden ist. Für ein Programmieren der Mehrzahl von Fahrzeugsteuergeräten 3 ist es dann vorzugsweise vorgesehen, die einzelnen Fahrzeugsteuergeräte 3 jeweils mit einer für das einzelne Fahrzeugsteuergerät vorgesehenen individuellen Programmiersequenz 2 zu programmieren. Dabei unterscheiden sich die individuellen Programmiersequenzen 2 typischerweise auch hinsichtlich ihrer benötigten Schnittstellenauslastung und Programmierdauer. Um den Zeitaufwand des Programmierens, insbesondere bei der Erstprogrammierung, gering zu halten, ist vorgesehen, dass mehrere Programmiersequenzen 2 parallel, d. h. zeitgleich, zur Schnittstelle 1 übermittelt werden, sofern ihre Schnittstellenauslastung in der Summe (d. h. Summe über die jeweiligen Schnittstellenauslastungen der parallel zur Schnittstelle 1 übermittelten Programmiersequenzen 2) nicht die maximale Schnittstellenauslastung 7 überschreitet. Für eine kontrollierte Abfolge der an die Schnittstelle 1 übermittelten Programmiersequenzen 2 ist vorzugsweise ein Ablaufschema 8 vorgesehen. Dabei legt das Ablaufschema 8 bevorzugt fest,

  • – welche Programmiersequenzen 2 parallel an die Schnittstelle 1 übermittelt werden,
  • – welche Programmiersequenzen 2 aufeinanderfolgend an die Schnittstelle 1 übermittelt werden und/oder
  • – bevorzugt welche Programmiersequenzen 2 zu welcher Zeit 6 gestartet werden. Die Ordnung der individuellen Programmiersequenzen 2 im Ablaufschema 8 wird dann zeitbestimmender Faktor für eine Gesamtdauer, die für das Programmieren der Mehrzahl der Fahrzeugsteuergeräte 2 benötigt wird. Zur Optimierung des Ablaufschemas 8 ist es insbesondere vorgesehen, dass mehrere Programmiersequenzen 2 im Ablaufschema 8 zeitversetzt zueinander angeordnet sind. Insbesondere werden die Programmiersequenzen 2 derart in das Ablaufschema 8 integriert, dass beim parallelen Programmieren mindestens zwei Programmiersequenzen 2 aufeinanderfolgend gestartet werden, während parallel dazu eine andere Programmiersequenz übermittelt wird.
In 1 schematically is a method for parallel programming of a plurality of vehicle control devices 3 illustrated according to a first exemplary embodiment. Preferably the majority of vehicle control devices 3 Part of a vehicle just manufactured, its vehicle control units 3 are not programmed immediately after the completion of the vehicle. To the functionality of the individual vehicle control devices 3 to ensure their subsequent operation, they must with the appropriate programming sequences 2 recorded (also referred to as "flashing" the vehicle control units). For this purpose, a data connection between a programming device 4 and an interface 1 with a given maximum interface utilization, preferably an Ethernet or CAN connection, the interface 1 with the individual vehicle control units 3 connected is. For programming the plurality of vehicle control devices 3 It is then preferably provided, the individual vehicle control units 3 each with an individual programming sequence provided for the individual vehicle control unit 2 to program. The individual programming sequences differ here 2 typically also in terms of their required interface utilization and programming time. In order to keep the time required for programming, especially during the initial programming, low, it is provided that several programming sequences 2 parallel, ie at the same time, to the interface 1 provided that their interface utilization is in the sum (ie sum over the respective interface loadings parallel to the interface 1 transmitted programming sequences 2 ) not the maximum interface load 7 exceeds. For a controlled sequence to the interface 1 transmitted programming sequences 2 is preferably a flowchart 8th intended. The flowchart defines this 8th favors
  • - which programming sequences 2 parallel to the interface 1 be transmitted
  • - which programming sequences 2 consecutively to the interface 1 be transmitted and / or
  • - prefers which programming sequences 2 at what time 6 to be started. The order of the individual programming sequences 2 in the flowchart 8th then becomes the time-determining factor for a total time required for programming the majority of the vehicle control devices 2 is needed. To optimize the flowchart 8th In particular, it is provided that several programming sequences 2 in the flowchart 8th are arranged offset in time to each other. In particular, the programming sequences become 2 so in the flowchart 8th integrated, that during parallel programming at least two programming sequences 2 be started sequentially while another programming sequence is transmitted in parallel.

Insbesondere ist es vorgesehen, dass für ein Bestimmen eines effektiven Ablaufschemas 8 zunächst die mit einer zugehörigen Programmiersequenz 2 jeweils zu programmierenden Fahrzeugsteuergeräte 3 erfasst werden. Anschließend wird vorzugsweise eine jeweils zu erwartende Schnittstellenauslastung und zu erwartende Programmierdauer bestimmt. Abhängig von dem Fahrzeugsteuergerät 3, der Schnittstellenauslastung und der Programmierdauer wird dann vorzugsweise im Rahmen eines iterativen Prüfalgorithmus das optimale Ablaufschema 8 erstellt und anschließend basierend auf dem erstellten optimierten Ablaufschema die Fahrzeugsteuergeräte 3 programmiert. In particular, it is provided that for determining an effective flowchart 8th first with an associated programming sequence 2 each to be programmed vehicle control units 3 be recorded. Subsequently, an expected interface load and expected programming time are preferably determined. Depending on the vehicle control unit 3 , the interface utilization and the programming time is then preferably in the context of an iterative test algorithm, the optimal flowchart 8th and then generate the vehicle control units based on the optimized flowchart that has been created 3 programmed.

In 2 ist ein Verfahren zum parallelen Programmieren einer Mehrzahl von Fahrzeugsteuergeräten 3 gemäß einer zweiten beispielhaften Ausführungsform der vorliegenden Erfindung dargestellt. Insbesondere ist es hier vorgesehen, anhand des iterativen Prüfalgorithmus das Ablaufschema 8 für ein effektives Programmieren der Mehrzahl an Fahrzeugsteuergeräten 3 möglichst optimal aufzufüllen. Für den Prüfalgorithmus ist es vorgesehen, dass er folgende Teilschritte umfasst:

  • Einfügen einer Programmiersequenz 2 in ein Ablaufschema 8 zu einem Startpunkt tl, wobei in einem ersten Teilschritt eine Liste aus allen noch potenziell einsetzbaren Programmiersequenzen 2 zum Zeitpunkt tl erstellt wird und wobei in einem zweiten Teilschritt die Programmiersequenz 2 aus der Liste mit der längsten Programmierdauer in das Ablaufschema 8 eingefügt wird,
  • – Wiederholen des ersten und des zweiten Teilschritts in einem dritten Teilschritt, bis die Liste leer ist,
  • – Bestimmen eines weiteren Startpunkts tl+1 im Ablaufschema als der Zeitpunkt, zu dem eines der integrierten Programmiersequenzen 2 als nächstes endet in einem vierten Teilschritt und
  • – Wiederholung des ersten, zweiten und dritten Teilschritts für den weiteren Startpunkt tl+1 in einem fünften Verfahrensschritt. Insbesondere ist es vorgesehen, dass, nachdem alle zu programmierenden Fahrzeugsteuergeräte 3 erfasst wurden, die individuell bestimmten Programmiersequenzen 2 hinsichtlich ihrer Programmierdauer sortiert werden. Die Programmiersequenz 2 mit der längsten Programmierdauer wird dann als erste Programmiersequenz 31 in das Ablaufschema 8 zum Startpunkt t0 integriert. Dabei belegt die erste Programmiersequenz 31 mit ihrer Schnittstellenauslastung einen Teil der maximalen (zur Verfügung stehenden) Schnittstellenauslastung 7. Um den noch vakanten Teil der maximalen Schnittstellenauslastung mit weiteren Programmiersequenzen 32, 32‘ zu bestücken, ist es vorgesehen zu prüfen, ob und welche der noch zu integrierenden Programmiersequenzen zum selben Startpunkt t0 in das Ablaufschema 8 integrierbar sind. Beispielsweise kommen solche Programmiersequenzen nicht in Frage, deren erforderte Schnittstellenauslastung größer ist als der noch vakante Teil der maximalen Schnittstellenauslastung. Es ist auch denkbar, dass andere Programmiersequenzen zurückgestellt werden sollen, wenn sie zum Beispiel die Existenz eines vorher mit einer Programmiersequenz 2 programmierten Fahrzeuggeräts benötigen. Insbesondere werden die in Frage kommenden Programmiersequenzen 2 in einer Liste zusammengefasst. Es ist dem Fachmann klar, dass das Erstellen der Liste einem Bilden eines Ensembles an potenziell einsetzbaren Programmiersequenzen 2 entspricht und sich nicht auf ein explizites Realisieren der Liste beschränkt. Das Erstellen der Liste versteht sich vielmehr als Eingrenzung auf die Programmiersequenzen, die noch zum jeweiligen Zeitpunkt integrierbar sind. Beispielsweise ist es auch denkbar, dass der erste und der zweite Teilschritt zusammengefasst werden durch einen Suchalgorithmus, der unter allen noch zu integrierenden Programmiersequenzen 2 diejenige sucht, deren Programmierdauer am längsten ist und gleichzeitig noch kompatibel zum vakanten Teil der maximalen Schnittstellenauslastung ist. Die entsprechend dem ersten und zweiten Teilschritt ermittelte weitere Programmiersequenz 32, 32‘ wird eingefügt. Anschließend wird die Auswahl unter Verwendung des ersten und zweiten Teilschritts zusammen mit dem Einfügen wiederholt, bis die Liste leer ist. Damit sind die Programmiersequenzen 2 festgelegt, deren Übermittelung an die Schnittstelle bei t0 beginnen soll. Dabei ist es vorstellbar, dass die maximale Schnittstellenauslastung 7 nicht vollständig belegt ist und stattdessen eine Schnittstellenvakanz 15 übrig bleibt.
In 2 is a method for parallel programming of a plurality of vehicle control devices 3 according to a second exemplary embodiment of the present invention. In particular, it is provided here, based on the iterative test algorithm, the flowchart 8th for effectively programming the plurality of vehicle control devices 3 as optimal as possible. The test algorithm is intended to comprise the following sub-steps:
  • - Insert a programming sequence 2 into a flowchart 8th to a starting point t l , wherein in a first sub-step a list of all still potentially usable programming sequences 2 is created at the time t l and wherein in a second sub-step the programming sequence 2 from the list with the longest programming time in the flowchart 8th is inserted
  • Repeating the first and second substeps in a third substep until the list is empty,
  • Determining a further starting point t l + 1 in the flowchart as the time at which one of the integrated programming sequences 2 next ends in a fourth sub-step and
  • - Repetition of the first, second and third substep for the further starting point t l + 1 in a fifth method step. In particular, it is provided that, after all to be programmed vehicle control units 3 were recorded, the individually determined programming sequences 2 be sorted in terms of their programming time. The programming sequence 2 with the longest programming time is then as the first programming sequence 31 into the flowchart 8th integrated to the starting point t 0 . The first programming sequence occupies this 31 with their interface utilization a part of the maximum (available) interface utilization 7 , To the still vacant part of the maximum interface utilization with further programming sequences 32 . 32 ' It is intended to check whether and which of the programming sequences still to be integrated at the same starting point t 0 in the flowchart 8th can be integrated. For example, such programming sequences are out of the question whose required interface utilization is greater than the still vacant part of the maximum interface utilization. It is also conceivable that other programming sequences should be reset if, for example, they have the existence of a previous one with a programming sequence 2 require programmed vehicle unit. In particular, the candidate programming sequences 2 summarized in a list. It will be apparent to those skilled in the art that creating the list involves forming an ensemble of potentially usable programming sequences 2 corresponds and is not limited to an explicit realization of the list. Rather, the creation of the list is intended as a limitation to the programming sequences which can still be integrated at the respective time. For example, it is also conceivable for the first and the second sub-step to be combined by a search algorithm which is among all programming sequences still to be integrated 2 searches for the one whose programming duration is the longest and at the same time still compatible with the vacant part of the maximum interface load. The further programming sequence determined in accordance with the first and second sub-steps 32 . 32 ' is inserted. Then, the selection is repeated using the first and second substeps along with the insertion until the list is empty. This is the programming sequences 2 whose transmission to the interface is to start at t 0 . It is conceivable that the maximum interface load 7 is not fully occupied and instead an interface vacancy 15 remains.

Weiterhin ist es hierbei vorgesehen, dass das Auffüllen des Ablaufschemas 8 wiederholt wird, um für eine Belegung des Ablaufschemas 8 mit Programmiersequenzen 2 zum Startpunkt tl+1 zu sorgen, wobei zum Zeitpunkt des Startpunkts tl+1, beispielsweise zum Zeitpunkt t1 23, mindestens eine bereits integrierte Programmiersequenz im Ablaufschema vorgesehen ist, deren Übermittelung an die Schnittstelle 1 zu diesem Zeitpunkt noch nicht abgeschlossen ist. Vorzugsweise handelt es sich bei dieser bereits integrierten Programmiersequenz 2 um die erste in das Ablaufschema (zum Startpunkt t0 22) integrierte Programmiersequenz 31. Insbesondere wird das Belegen des Ablaufschemas 8 für so viele verschiedene Startpunkte tl+1 wiederholt, bis alle zu integrierenden Programmiersequenzen vom Ablaufschema 8 umfasst werden. In dem dargestellten Ablaufschema sind entsprechend die erste integrierte Programmiersequenz 33 zum Zeitpunkt t1 und die erste integrierte Programmiersequenz 34 zum Startpunkt t2 zu finden. Es ist auch denkbar, dass das Auffüllen des Ablaufschemas 8 beendet wird, sobald der Zeitpunkt des nächsten Startpunkts tl+1 zeitlich nach dem geplanten Abschluss der Übermittelung der ersten in das Ablaufschema eingetragenen Programmiersequenz 31 stattfinden würde. In einem solchen Szenario würde die Gesamtdauer der Programmierung für die in das Ablaufschema 8 integrierten Programmiersequenzen 2 durch die Programmierdauer 21 der ersten in das Ablaufschema 8 integrierten Programmiersequenz 31 festgelegt. Furthermore, it is provided here that the filling of the flowchart 8th is repeated in order for an occupancy of the flowchart 8th with programming sequences 2 to provide the starting point t l + 1 , wherein at the time of the starting point t l + 1 , for example, at the time t 1 23 , at least one already integrated programming sequence is provided in the flowchart, their transmission to the interface 1 is not completed at this time. Preferably, this already integrated programming sequence 2 to the first in the flow chart (to the starting point t 0 22 ) integrated programming sequence 31 , In particular, the documentation of the flowchart becomes 8th for so many different starting points t l + 1 repeated until all programming sequences to be integrated from the flow chart 8th be included. In the illustrated flowchart, accordingly, the first integrated programming sequence 33 at time t 1 and the first integrated programming sequence 34 to find the starting point t 2 . It is also conceivable that the replenishment of the flowchart 8th is terminated as soon as the time of the next starting point t l + 1 after the scheduled completion of the transmission of the first program sequence entered in the flowchart timing 31 would take place. In such a scenario, the total duration of programming would be in the flowchart 8th integrated programming sequences 2 through the programming time 21 the first in the flowchart 8th integrated programming sequence 31 established.

Insbesondere ist beispielhaft auf der linken Seite der 2 eine sortierte Liste 40 von Programmiersequenzen, die mit abnehmender Programmierdauer von oben nach unten sortiert sind, dargestellt, wobei die Ausdehnung der Programmsequenzen entlang einer vertikal verlaufenden Richtung deren jeweilige Programmierdauer 21 und die Ausdehnung der Programmiersequenzen entlang einer horizontal verlaufenden Richtung deren jeweilig Schnittstellenauslastung repräsentiert. Die Programmiersequenz 31 mit der längsten Programmdauer wird sodann als erstes in das Ablaufschema 8 integriert. Um den noch vakanten Teil der maximalen Schnittstellenauslastung 7 zu nutzen, werden im Ablaufschema 8 zur Startsequenz t0 zwei weitere Programmiersequenzen 32, 32‘ eingefügt, ohne dabei die maximale Schnittstellenauslastung 7 zu überschreiten. Die übrig bleibende Schnittstellenvakanz 15 lässt sich dann mit keiner der noch zu integrierenden Programmiersequenzen aus der sortierten Liste 40 füllen. Statt das Ablaufschema 8 an dieser Stelle zu unterbrechen und die noch zu programmierenden Programmiersequenzen in ein neues Ablaufschema 8 einzufügen, wird das Füllen des Ablaufschemas 8 zum Zeitpunkt t1 fortgesetzt, wobei zum Zeitpunkt t1 die bereits eingesetzte Programmiersequenz 32‘ mit der kürzesten Programmierdauer beendet wird. Insbesondere wird die erste Programmiersequenz 33 zum Zeitpunkt t1 eingesetzt und geprüft, ob zum Zeitpunkt t1 noch Platz ist für eine zusätzliche, noch nicht eingesetzte Programmiersequenz aus der sortierten Liste 40. Da ein Einfügen einer zusätzlichen Programmiersequenz zum Zeitpunkt t1 die maximale Schnittstellenauslastung 7 überschreiten würde, wird die noch aus der ursprünglich sortierten Liste 40 übrig bleibende Programmiersequenz 2 als erste Programmiersequenz 34 zum Zeitpunkt t2 in das Ablaufschema 8 eingesetzt. Damit sind alle Programmiersequenzen aus der sortierten Liste 40 in dem Ablaufschema 8 für eine möglichst effektive und zeitsparende Programmierung integriert. In particular, on the left side of the example is 2 a sorted list 40 of programming sequences that are sorted with decreasing programming time from top to bottom, shown, with the extension of the program sequences along a vertical direction of their respective programming duration 21 and represents the extent of the programming sequences along a horizontally extending direction of their respective interface utilization. The programming sequence 31 with the longest program duration is then first in the flowchart 8th integrated. To the still vacant part of the maximum interface load 7 to use, are in the flowchart 8th to start sequence t 0 two more programming sequences 32 . 32 ' inserted without losing the maximum interface load 7 To exceed. The remaining interface vacancy 15 can then with none of the still to be integrated programming sequences from the sorted list 40 to fill. Instead of the flowchart 8th at this point to interrupt and the programming sequences still to be programmed in a new flowchart 8th will be filling the flowchart 8th at time t 1 , wherein at time t 1, the already used programming sequence 32 ' terminated with the shortest programming time. In particular, the first programming sequence 33 is used at time t 1 and checked whether at time t 1 there is still room for an additional, not yet used programming sequence from the sorted list 40 , Since an insertion of an additional programming sequence at time t 1, the maximum interface utilization 7 which is still out of the originally sorted list 40 remaining programming sequence 2 as the first programming sequence 34 at time t 2 in the flowchart 8th used. Thus all programming sequences are from the sorted list 40 in the flowchart 8th integrated for the most effective and time-saving programming.

Claims (11)

Verfahren zur parallelen Programmierung einer Mehrzahl von Fahrzeugsteuergeräten (3) mit den Schritten: – Erfassen der mittels einer zugehörigen Programmiersequenz (2) jeweils zu programmierenden Fahrzeugsteuergeräte (3); – Bestimmen der zur Programmierung eines jeden Fahrzeugsteuergerätes (3) mittels der zugehörigen Programmiersequenz (2) jeweils zu erwartenden Schnittstellenauslastung; – Bestimmen der zur Programmierung eines jeden Fahrzeugsteuergerätes (3) mittels der zugehörigen Programmiersequenz (2) jeweils zu erwartenden Programmierdauer; – Durchführen eines iterativen Prüfalgorithmus zum Bestimmen eines optimierten Ablaufschemas (8) zum Ausführen der einzelnen Programmiersequenzen (2) in Abhängigkeit der zu programmierenden Fahrzeugsteuergeräte (3), in Abhängigkeit der jeweils zu erwartenden Schnittstellenauslastungen und in Abhängigkeit der jeweils zu erwartenden Programmierdauer; und – Programmieren der Fahrzeugsteuergeräte (3) gemäß dem optimierten Ablaufschema. Method for the parallel programming of a plurality of vehicle control devices ( 3 ) with the steps: - detecting the by means of an associated programming sequence ( 2 ) each to be programmed vehicle control units ( 3 ); Determining the programming for each vehicle control unit ( 3 ) by means of the associated programming sequence ( 2 ) in each case expected interface load; Determining the programming for each vehicle control unit ( 3 ) by means of the associated programming sequence ( 2 ) each expected programming time; Performing an iterative check algorithm for determining an optimized flowchart ( 8th ) for executing the individual programming sequences ( 2 ) depending on the vehicle control units to be programmed ( 3 ), depending on the respective expected load on the interfaces and on the expected programming duration; and - programming the vehicle control devices ( 3 ) according to the optimized flowchart. Verfahren gemäß Anspruch 1, wobei durch den Prüfalgorithmus das Ablaufschema (8) derart festgelegt wird, dass beim Programmieren der Fahrzeugsteuergeräte (3) mindestens zwei Programmiersequenzen (2) zeitversetzt zueinander gestartet werden. A method according to claim 1, wherein the check algorithm comprises the flowchart ( 8th ) is set such that when programming the vehicle control devices ( 3 ) at least two programming sequences ( 2 ) are started with a time delay to each other. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der Prüfalgorithmus die folgenden Teilschritte umfasst: – Einfügen einer Programmiersequenz (2) in ein Ablaufschema (8) zu einem Startpunkt tl, – wobei in einem ersten Teilschritt eine Liste aus allen noch potenziell einsetzbaren Programmiersequenzen (2) zum Zeitpunkt tl erstellt wird und – wobei in einem zweiten Teilschritt die Programmiersequenz (2) aus der Liste mit einer längsten Programmierdauer in das Ablaufschema (8) eingefügt wird, – Wiederholen des ersten und des zweiten Teilschritts in einem dritten Teilschritt, bis die Liste leer ist, – Bestimmen eines weiteren Startpunkts tl+1 im Ablaufschema (8) als Zeitpunkt, zu dem eine der bereits integrierten Programmiersequenzen (2) als nächstes beendet wird, in einem vierten Teilschritt und – Wiederholung des ersten, zweiten und dritten Teilschritts für den weiteren Startpunkt tl+1 in einem fünften Verfahrensschritt. Method according to one of the preceding claims, wherein the checking algorithm comprises the following substeps: - inserting a programming sequence ( 2 ) into a flowchart ( 8th ) to a starting point t l , - wherein in a first sub-step a list of all still potentially usable programming sequences ( 2 ) is created at time t l and - wherein in a second sub-step the programming sequence ( 2 ) from the list with the longest programming duration in the flowchart ( 8th ), repeating the first and second sub-steps in a third sub-step until the list is empty, determining a further starting point t 1 + 1 in the flowchart ( 8th ) as the time at which one of the already integrated programming sequences ( 2 ) is finished next, in a fourth sub-step and - repeating the first, second and third sub-steps for the further starting point t l + 1 in a fifth method step. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei im ersten Teilschritt die Liste gebildet wird durch eine oder mehrere Programmiersequenzen (2), für deren Einsetzen in das bis dahin zusammengesetzte Ablaufschema (8) ein Einsetzen – ohne Überschreiten der maximalen Schnittstellenauslastung, – ohne Überschreiten einer erlaubten Maximalanzahl an parallel laufenden Programmiersequenzen (2) und/oder – ohne Konflikt zu einer noch zu integrierenden Programmiersequenz (2) angenommen wird. Method according to one of the preceding claims, wherein in the first sub-step the list is formed by one or more programming sequences ( 2 ), for their inclusion in the hitherto compound flowchart ( 8th ) an insertion - without exceeding the maximum interface load, - without exceeding a permitted maximum number of parallel programming sequences ( 2 ) and / or - without conflict with a programming sequence still to be integrated ( 2 ) Is accepted. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei der Prüfalgorithmus beendet wird, wenn die letzte der zu integrierenden Programmiersequenzen (2) eingesetzt wird und/oder als weiterer Startzeitpunkt tl+1 der Zeitpunkt bestimmt wird, zu dem die erste in das Ablaufschema (8) integrierte Programmiersequenz (31) nach einer Programmierdauer td (21) beendet wird. Method according to one of the preceding claims, wherein the checking algorithm is ended when the last of the programming sequences to be integrated ( 2 ) is used and / or as a further start time t l + 1, the time is determined at which the first in the flowchart ( 8th ) integrated programming sequence ( 31 ) after a programming period t d ( 21 ) is terminated. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die noch zu integrierenden Programmiersequenzen (2) in ein weiteres Ablaufschema eingesetzt werden. Method according to one of the preceding claims, wherein the programming sequences ( 2 ) are used in another flowchart. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die noch zu integrierenden Programmiersequenzen (2) nach aufsteigender Programmierdauer sortiert werden. Method according to one of the preceding claims, wherein the programming sequences ( 2 ) are sorted according to increasing programming time. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei eine Vorauswahl an noch zu integrierenden Programmiersequenzen (2) getroffen wird. Method according to one of the preceding claims, wherein a pre-selection of programming sequences still to be integrated ( 2 ) is taken. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei zur Kommunikation mit einer Schnittstelle eine Ethernet- oder CAN-Verbindung verwendet wird.  Method according to one of the preceding claims, wherein an Ethernet or CAN connection is used for communication with an interface. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei das Ablaufschema (8) für eine die Programmierung koordinierende Programmiervorrichtung (4) in eine maschinenlesbare Form konvertiert wird. Method according to one of the preceding claims, wherein the flowchart ( 8th ) for a programming coordinating programming device ( 4 ) is converted into a machine-readable form. System zur Programmierung einer Mehrzahl von Fahrzeugsteuergeräten (3), wobei das System neben der Mehrzahl von Fahrzeugsteuergeräten (3) eine Schnittstelle (1) zur Kommunikation mit einer Mehrzahl von Fahrzeugsteuergeräten (3) und eine Programmiervorrichtung (4) zur Programmierung der Mehrzahl von Fahrzeugsteuergeräten (3) umfasst, wobei die Schnittstelle (1), die Programmiervorrichtung (4) und die Mehrzahl von Fahrzeugsteuergeräten (3) derart konfiguriert sind, dass die Fahrzeugsteuergeräte (3) über die Schnittstelle (1) nach einem Verfahren gemäß einem der vorhergehenden Ansprüche programmierbar sind. System for programming a plurality of vehicle control devices ( 3 ), the system besides the plurality of vehicle control devices ( 3 ) an interface ( 1 ) for communication with a plurality of vehicle control devices ( 3 ) and a programming device ( 4 ) for programming the plurality of vehicle control devices ( 3 ), wherein the interface ( 1 ), the programming device ( 4 ) and the plurality of vehicle control devices ( 3 ) are configured such that the vehicle control devices ( 3 ) via the interface ( 1 ) are programmable according to a method according to one of the preceding claims.
DE102014107072.0A 2014-05-20 2014-05-20 Method for parallel programming of a plurality of vehicle control devices Withdrawn DE102014107072A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014107072.0A DE102014107072A1 (en) 2014-05-20 2014-05-20 Method for parallel programming of a plurality of vehicle control devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014107072.0A DE102014107072A1 (en) 2014-05-20 2014-05-20 Method for parallel programming of a plurality of vehicle control devices

Publications (1)

Publication Number Publication Date
DE102014107072A1 true DE102014107072A1 (en) 2015-11-26

Family

ID=54431562

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014107072.0A Withdrawn DE102014107072A1 (en) 2014-05-20 2014-05-20 Method for parallel programming of a plurality of vehicle control devices

Country Status (1)

Country Link
DE (1) DE102014107072A1 (en)

Similar Documents

Publication Publication Date Title
DE19744230B4 (en) Control units for a system and method for operating a control unit
EP3180969B1 (en) Population of printed circuit boards
EP3510456B1 (en) Method for assembling an object
DE102005010476A1 (en) Control unit with configurable hardware modules
DE102005010477A1 (en) Device and method for processing prioritized control processes
EP3487032B1 (en) Method and charging column to charge multiple electric vehicles
EP3311550B1 (en) Method for communication between software components in a vehicle
EP3015992B1 (en) Method for managing prioritized input data
DE102014106774A1 (en) Electronic Machine Management System
EP1799986B1 (en) Apparatus and method for reading adaptive values out of motor vehicle control devices
DE102015100566A1 (en) Method and light mechanism for mixed critical applications
DE3318410A1 (en) Method for changing and optimising data and program cycles for programmed control devices in motor vehicles
EP1899773B1 (en) Method for determination of the processing sequence of components of a function plan and electronic data processing unit for carrying out said method
WO2020074650A1 (en) Method for data processing and programmable logic controller
EP3474650B1 (en) Method for producing a retrofitting set for an assembly machine
DE102015226184A1 (en) Improved method and apparatus for configuring and controlling vehicle electrical equipment
DE102014107072A1 (en) Method for parallel programming of a plurality of vehicle control devices
WO2008101916A1 (en) Method for the conversion of ladder diagrams
EP2071245A2 (en) Heating system
WO2005096108A2 (en) Control system for operating functions on interacting appliances
EP2962162B1 (en) Method for setting up and/or implementing a programming process of a control device of a transport means
DE102005012255A1 (en) Method for controlling a controllable aggregate
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
DE102018129816B4 (en) METHOD OF CONTROLLING A SHIFT TIMING IN THE FULL THROTTLE CONDITION AND AUTOMATIC TRANSMISSION CONTROLLED BY SUCH
DE10158939A1 (en) Controlling vehicle operating processes, involves controller receiving input parameters, allocating parameter sets for adapting controller to input parameters; allocation is variable

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee