-
Stand der Technik
-
Die
Erfindung betrifft ein Verfahren zur Steuerung von einem Fahrprogramm
einer Motorsteuerung nach Anspruch 1 und ein Steuerungssystem nach
Anspruch 2.
-
Steuerungsverfahren
zur Steuerung eines Fahrprogramms einer Motorsteuerung und Steuerungssysteme
einer Motorsteuerung erfüllen
eine Vielzahl unterschiedlichster Aufgaben zur Steuerung von Kraftfahrzeugen,
wobei je nach Fahrzeugtyp lediglich ausgewählte Aufgabenbereiche zur Abdeckung
einer individuellen Kraftfahrzeug-Ausführungsvariante erforderlich
sind.
-
Um
unterschiedliche Anforderungen und Anpassungen bei gleicher Steuergerätehardware
zu erfüllen,
muss für
jede Funktionsvariante eine spezielle Software vorgesehen sein,
welche ein spezielles Programm und/oder einen speziellen Datensatz
enthält.
-
Diese
Anpassung eines solchen Steuerungssystems an die dem Fahrzeug typische
Kraftfahrzeug-Ausführungsvariante
führt zu
einer Vielzahl von Steuergeräte-Ausführungsvarianten.
-
Ein
derartiges Steuerungssystem ist beispielsweise in der
DE 199 64 013 A1 beschrieben. Dieses
elektronische Steuerungssystem enthält einen Codespeicher für wenigstens
ein Codewort zur Bestimmung der jeweiligen individuellen Ausführungsvariante,
wobei zugehörige
Programmabschnitte und Datensätze
in Abhängigkeit
von einem jeweiligen Inhalt des Codespeichers ansteuerbar sind.
Dadurch kann das Steuerungssystem für eine Vielzahl unterschiedlicher
Ausführungsvarianten
eine einheitliche Hardware, ein einheitliches Programm oder einheitliche
Datensätze
enthalten.
-
Das
für die
einzelne Ausführungsvariante spezielle
Codewort wird in einen Codespeicher eingegeben, um somit eine spezielle
Steuergeräteausführung anzusteuern
und/oder freizugeben. Hierbei wird die dem jeweiligen Fahrzeugtyp
entsprechende Variante des Steuergeräts durch Eingabe des Codewortes
festgelegt. Ein Fahrprogramm der Motorsteuerung stellt Funktionalitäten bereit,
mit denen ein breites Spektrum an motorischen Randbedingungen und
Kundenwünschen
abgedeckt wird.
-
Für die Aktivierung
dieser Funktionalitäten stehen
zwei Mechanismen zur Verfügung,
die der Funktionsentwickler je nach Ermessen einsetzten kann.
-
Ein
erster Mechanismus enthält
eine Aktivierung eines Teils von Optionen in der Motorsteuerung über Systemkonstanten.
Diese Systemkonstanten stellen sicher, dass nur der tatsächlich benötigte Code
sowie zugehörige
Kennwerte in das Fahrprogramm eingebunden werden. Eine Umschaltung
der Funktionalität
zur Laufzeit des Programms ist dann nicht mehr möglich. Hierbei sind die Systemkonstanten
in entsprechende Präprozessoranweisungen
verpackt.
-
Ein
weiterer Mechanismus enthält
eine Steuerung (bzw eine Ein- und Umschaltung) von Optionen und
Features, welche im Fahrprogramm enthalten sind. Hierbei werden
diese Optionen und Features während
der Applikationsphase der Motorsteuerung zur Laufzeit des Programms
per Codewort gesteuert. Der entsprechende Code und die dazugehörigen Kennwerte
müssen
daher im Steuerungssystem vorgehalten sein, damit diese dann jeweils
in Ansprechen auf ihre Aktivierung zum Einsatz kommen können.
-
Beispielsweise
bietet eine Momentenbegrenzungsfunktion %MDBGRG zahlreiche Möglichkeiten
an, um das Motormoment bei motorischen oder externen Fehlern zu
begrenzen. Auch hierbei kann über
ein Codewort festgelegt werden, welche Begrenzungen für welches
Projekt berücksichtigt werden
sollen.
-
Mit
Abschluss der Applikationsphase werden alle Codewörter in
einem sogenannten "Data-Freeze" festgehalten. Dadurch
wird das dann aktuelle Fahrprogramm mit den zugehörigen Daten
im wesentlichen in einem Serienprogrammstand fixiert. Zu diesem
Zeitpunkt sind immer noch alle per Codewort aktivierbaren Optionen
im Code und dem Kennwertespeicher enthalten. Diese per Codewort
aktivierbaren Optionen können
aufgrund der Fixierung im Serienprogrammstand und der somit invarianten
Codewort-Einstellungen nicht mehr aktiviert werden.
-
Zurückkehrend
zu dem oben genannten Beispiel der Momentenbegrenzungsfunktion,
wird über deren
Codewort festgelegt, welche Begrenzungen für welches Projekt berücksichtigt
werden sollen. Nach der Fixierung im Serienprogrammstand wird auch
die Stellung dieses Codeswortes beim Data-Freeze "eingefroren" und kann nicht verändert werden.
Auch hier liegen aufgrund der jetzt invarianten Codewort-Einstellungen
nicht verwendete Begrenzungen der Momentenbegrenzungsfunktion weiterhin
vor, obwohl diese nicht mehr aktiviert werden können.
-
Somit
liegen in der Motorsteuerung Code- und Datenbereiche ab, die im
Serienprogrammstand niemals genutzt werden, und welche wertvolle
Ressourcen verbrauchen. Dies erfordert eine Bereitstellung von Steuergeräten mit
einem entsprechend großem Speicher, welcher größer als notwendig dimensioniert
sein muss.
-
In
Abhängigkeit
der Motorsteuerung liegt der Anteil des ungenutzten Code- bzw Datenbereichs
am gesamten Fahrprogramm bei mindestens 20%. Mit anderen Worten,
müssen
im Stand der Technik Speicherressourcen mit mindestens 20% Redundanz
bereitgestellt werden. Insbesondere haben Diagnose-Funktionen, welche
mittlerweile über
die Hälfte des
Fahrprogramms ausmachen, vielfach ein weites Spektrum an Optionen
und Spezialeinstellungen, welche über Codewort zu aktivieren
sind.
-
Offenbarung der Erfindung
-
Es
ist Aufgabe der vorliegenden Erfindung, die Motorsteuerung auf einfache,
zuverlässige
und kostengünstige
Art zu verbessern.
-
Diese
Aufgabe wird durch ein Verfahren zur Steuerung von einem Fahrprogramm
einer Motorsteuerung gelöst,
wobei das Fahrprogramm Motorsteuerungs-Optionen enthält, welche
während
einer Applikationsphase der Motorsteuerung zur Laufzeit des Fahrprogramms
mittels eines Codewortes eines Serienprogrammstandes gesteuert werden,
wobei das Verfahren die Schritte enthält: Auslesen eines Codewortes
entsprechend einem Fahrprogramm aus einem Codewortspeicher, Auswerten
des Codewortes mittels eines Präprozessors,
Herausfiltern von nicht aktivierbaren Motorsteuerungs-Optionen im Präprozessor,
Festhalten aller aktivierbarer Motorsteuerungs-Optionen in einem
Kennwertespeicher, und Fixieren des resultierenden Fahrprogramms
im Serienprogrammstand.
-
Ein
wesentlicher Punkt der vorliegenden Erfindung besteht dabei darin,
dass ein geeigneter Codierstandard festgelegt wird, welcher Programmverzweigungen
betrifft, die über
Codewörter
gesteuert werden. Es werden entsprechende Module mit Hilfe eines
(intelligenten) Präprozessors
nachbearbeitet, welcher das entsprechende Codewort des Serienprogrammstandes
auswertet und einen anfallenden redundanten Code, dh Motorsteuerungs-Optionen, welche
nicht mehr aktivierbar sind, herausfiltert. Dieser redundante Code
wird somit eliminiert, wodurch eine wesentliche Ressourceneinsparung
ermöglicht wird.
-
Mit
anderen Worten kann nun ein kleinerer und somit günstigerer
Speicher zum Speichern der Code- und Datenbereiche bereitgestellt
werden, wodurch Kosten eingespart werden. Somit enthält das Fahrprogramm
bei Kenntnis der Seriendaten mittels der Selektion (Filterung) von
nicht aktivierbaren Motorsteuerungs-Optionen durch den Präprozessor
nur noch jenen Code, welcher tatsächlich zur Steuerung des Fahrprogramms
genutzt wird.
-
Somit
werden ungenutzte Optionen, welche über Codewörter abgeschaltet sind und
lediglich Ressourcen verbrauchen, erkannt und verworfen. Zur Beibehaltung
von gleichen Fahrfunktionen reicht dann bereits ein kleinerer Speicher,
bzw für
den Kunden ein günstigeres
Steuergerät
aus.
-
Die
eingangs genannte Aufgabe wird auch durch ein Steuerungssystem zur
Steuerung von einem Fahrprogramm einer Motorsteuerung gelöst, wobei
das Fahrprogramm Motorsteuerungs-Optionen enthält, welche während einer
Applikationsphase der Motorsteuerung zur Laufzeit des Fahrprogramms
mittels eines Codewortes eines Serienprogrammstandes gesteuert werden,
wobei das Steuerungssystem enthält:
einen Codewortspeicher, welcher zumindest ein Codewort entsprechend
einem Fahrprogramm gespeichert hält,
einen Präprozessor, welcher
zum Auswerten des Codewortes und zum Herausfiltern von nicht aktivierbaren
Motorsteuerungs-Optionen ausgebildet ist, und einen Kennwertespeicher
zum Speichern aller aktivierbarer Motorsteuerungs-Optionen.
-
Ein
wesentlicher Punkt des erfindungsgemäßen Steuerungssystems besteht
darin, dass es die schon in Zusammenhang mit dem Verfahren beschriebenen
Vorteile bewirkt.
-
Kurze Beschreibung der Zeichnungen
-
Das
erfindungsgemäße Verfahren
zur Steuerung von einem Fahrprogramm und das Steuerungssystem werden
im folgenden anhand eines Ausführungsbeispiels
näher erläutert. Gleiche
oder gleichwirkende Teile sind hierbei mit gleichen Bezugszeichen
versehen. Es zeigen:
-
1 ein
Ablaufdiagramm zur Erläuterung des
erfindungsgemäßen Verfahrens
zur Steuerung von einem Fahrprogramm einer Motorsteuerung, und
-
2 eine
schematische Darstellung eines beispielhaften Systems zur Erläuterung
des erfindungsgemäßen Steuerungssystems.
-
Ausführungsformen der Erfindung
-
Die 1 zeigt
ein Ablaufdiagramm eines beispielhaften Verfahrens zur Erläuterung
des erfindungsgemäßen Verfahrens
zur Steuerung von einem Fahrprogramm einer Motorsteuerung.
-
Hierbei
enthält
das Fahrprogramm Motorsteuerungs-Optionen, welche während einer
Applikationsphase der Motorsteuerung zur Laufzeit des Fahrprogramms
mittels eines Codewortes eines Serienprogrammstandes gesteuert werden.
-
Gemäss dem Verfahren
wird zunächst
bei Schritt S1 ein Codewort entsprechend einem Fahrprogramm aus
einem Codewortspeicher 10 ausgelesen. Mit Hilfe des Codeworts
können
Optionen, welche im Fahrprogramm enthalten sind, gesteuert (ein- bzw
umgeschaltet) werden. Der entsprechende Code und die dazugehörigen Kennwerte
sind im Steuergerät vorgehalten,
damit diese dann gegebenenfalls zum Einsatz kommen können.
-
In
einem zweiten Schritt S2 wird das Codewort mittels eines Präprozessors 20 ausgewertet.
Mit Hilfe dieser Auswertung im Schritt S2 wird der Präprozessor 20 im
darauf folgenden Schritt S3 jene Motorsteuerungs-Optionen herausfiltern,
welche nicht im Fahrprogramm aktivierbar sind.
-
Somit
werden nicht aktivierbare Motorsteuerungs-Optionen eliminiert, welche
aufgrund der invarianten Codewort-Einstellungen gar nicht mehr aktiviert
werden können.
-
Die
dann nicht verwendeten Motorsteuerungs-Optionen entfallen dann aus
dem Code. Somit müssen
Motorsteuerungs-Optionen, welche im Serienprogrammstand niemals
genutzt werden, nicht mehr zur Speicherung abgelegt werden, wodurch vorteilhafter
Weise wertvolle Ressourcen eingespart werden.
-
In
einem nachfolgenden Schritt S4 werden alle aktivierbaren Motorsteuerungs-Optionen
in einem Kennwertespeicher 30 festgehalten. Aufgrund der
in Schritt S3 durchgeführten
Herausfilterung von nicht aktivierbaren Motorsteuerungs Optionen
kann dabei eine Speicher-(Ressourcen) Einsparung von beispielsweise
mindestens 20% erreicht werden. In einem letzten Schritt S5 wird
das resultierende Fahrprogramm im Serienprogrammstand fixiert.
-
Die 2 zeigt
das Steuerungssystem 40 zur Steuerung von einem Fahrprogramm
einer Motorsteuerung in einer beispielhaften Ausführungsform der
Erfindung. Das Steuerungssystem 40 enthält eine Eingangsschnittstelle 50 und
eine Ausgangsschnittstelle 60. An der Eingangsschnittstelle 50 können Peripherie-Elemente
(nicht gezeigt) angeschlossen sein, welche Sensoren und/oder Stellglieder
enthalten können.
Diese Peripherie-Elemente liefern beispielsweise Messwerte oder
Messergebnisse und übertragen
diese als Eingangssignale.
-
Die
Eingangsschnittstelle 50 überträgt die Eingangssignale im Steuerungssystem 40 auf
einem Leitungs-/Bussystem 70.
-
Das
Steuerungssystem 40 enthält ferner einen Mikrocomputer
(ECU) 80 zur Steuerung von Betriebsabläufen des Fahrzeugs. Ein im
Steuerungssystem 40 enthaltener Codewortspeicher 10 enthält Codewörter entsprechend
einem jeweiligen Fahrprogramm gespeichert, wobei das Codewort während einer
Applikationsphase der Motorsteuerung zur Laufzeit eines Programms
Optionen, welche im Fahrprogramm enthalten sind, ein- bzw umschaltet.
-
Ein
Präprozessor 20 ist
direkt oder über
das Leitungs-/Bussystem 70 mit
dem Codewortspeicher 10 verbunden. Der Präprozessor 20 wertet
hierbei entsprechende Codewörter
des Serienprogrammstandes aus und filtert nicht aktivierbare Motorsteuerungs-Optionen
heraus.
-
Ein
im Steuerungssystem 40 enthaltener Kennwertespeicher 30 hält dann
lediglich aktivierbare Motorsteuerungs-Optionen fest. Auf diese
Weise werden in der Motorsteuerung lediglich Code- und Datenbereiche
abgelegt, welche im Serienprogrammstand benötigt werden.
-
Somit
kann nun ein kleinerer und somit günstigerer Speicher zum Speichern
der Code- und Datenbereiche bereitgestellt werden, wodurch Kosten eingespart
werden. Somit enthält
das Fahrprogramm bei Kenntnis der Seriendaten mittels der Selektion (Filterung)
von nicht aktivierbaren Motorsteuerungs-Optionen durch den Präprozessor
nur noch jenen Code, welcher tatsächlich zur Steuerung des Fahrprogramms
genutzt wird.
-
Eine
Speicherung redundanter Werte wird somit vermieden, wodurch vorteilhafter
Weise eine wesentliche Ressourceneinsparung ermöglicht wird.