-
Stand der Technik
-
Die
Erfindung betrifft einen Autocodegenerator nach dem Oberbegriff
des Anspruchs 1, ein Entwicklungswerkzeug nach dem Oberbegriff des
Anspruchs 4, sowie eine Verwendung des Codegenerators und ein entsprechendes
Entwicklungsverfahren nach Anspruch 7 und 8.
-
Bei
der Entwicklung von Steuergeräten,
zB im Bereich Einspritzsysteme für
Verbrennungsmotoren, muss die Steuergerätesoftware durch Einstellung
bestimmter Parameter in der Software an einen konkreten Versuchsträger angepasst
werden. Um die Anzahl der erforderlichen Versuchsträger zu begrenzen
bzw ganz überflüssig zu
machen ist deshalb von Vorteil, den im Steuergerät ablaufenden Code zunächst auf
einem Rechner lauffähig
zu machen.
-
So
ist es zB möglich,
mit einem rechnergestützten
Simulationswerkzeug wie zB einem CAE(Computer Aided Engineering)-Tool
eine Optimierungsschleife des lauffähigen Steuergerätecodes mit
Optimierungsalgorithmen zu schließen und damit ohne Versuchsträger oder
ein relativ teures Hardware-in-the-Loop-System die Steuergerätesoftware offline
zu parametrieren.
-
Derzeit
gibt es Ansätze,
die Lauffähigkeit
des Steuergeräte-C-Codes über Konverter
zu realisieren, wie dies in 1 dargestellt
ist.
-
Die
genannte Figur zeigt beispielhaft die Einbindung und Funktion unterschiedlicher
Werkzeuge in den Entwicklungsprozess der Software. Dabei wird das
System ASCET-SD als Entwicklungswerkzeug
30 für die Software
eingesetzt, das eine graphische Programmierung erlaubt, deren grundsätzliche
Mechanismen und Vorzüge
auch schon in der deutschen Patentschrift
DE 198 37 871 offenbart sind. Aus
der graphisch erstellten Softwarespezifikation
20 zB in
Blockschaltbild-Definition kann dann über einen Autocodegenerator
10 ein
Betriebscode
21 für
Steuergeräte
erzeugt werden. Unter dem Betriebscode
21 wird hier der
zur Steuerung der Geräte
entwickelte Programmcode verstanden. Dieser kann ein C-Code oder
als ablauffähiger
ECU(Electronic Control Unit)-C-Code, also als Maschinencode, sein.
-
Zur
nachfolgenden Abbildung des Verhaltens eines bestimmten Steuergeräts ist allerdings
ein zusätzlicher
Konverter 11 notwendig, der den Betriebscode 21 in
einen Simulationscode 22 umwandelt, welcher wiederum in
ein rechnergestütztes
Simulationswerkzeug 40 wie ein CAE-Tool einlesbar und in
diesem ablauffähig
oder interpretierbar ist.
-
Offenbarung der Erfindung
-
Es
ist Aufgabe der vorliegenden Erfindung, den Entwicklungsprozess
für Software
von Steuergeräten
zu verkürzen,
den erforderlichen Aufwand zu verringern und mögliche Fehlerquellen zu vermeiden.
Insbesondere soll durch die Erfindung die Test- und Anpassungsphase
innerhalb der Programmentwicklung vereinfacht und verkürzt werden.
-
Diese
Aufgabe wird durch einen Autocodegenerator nach Anspruch 1 gelöst, welcher
derart ausgebildet ist, dass der damit erzeugter Code zum Einlesen
in ein rechnergestütztes
Simulationswerkzeug und zum Abbilden eines Steuergeräteverhaltens
in diesem Simulationswerkzeug angepasst ist.
-
Ein
wesentlicher Punkt der Erfindung besteht dabei darin, dass diese
sich die Technologie der Autocodegenerierung zunutze macht. Die
grundlegende Idee ist, als Entwicklungsziel (Target) nicht eine Zielhardware
(Hardware-Target),
sondern eine Zielsoftware (CAE-Target) zu spezifizieren, für die ein
Simulationscode generiert wird. Die an sich bekannte Technologie
der Autocodegenerierung für
die Zielhardware wird damit auf eine Autocodegenerierung für eine Simulationssoftware
erweitert. Dabei wird das idR verwendete Hardware-Target durch ein CAE-Target
ersetzt. Dadurch werden zum einen die im Stand der Technik noch
notwendigen Konverter überflüssig, die
auf einem Betriebscode wie zB einem ablauffähigen ECU-C-Code aufsetzen.
Da der erfindungsgemäße Codegenerator
lediglich eine entsprechende Softwarespezifikation voraussetzt,
ist dieser zum anderen auch unabhängig von einem zusätzlichen
Betriebscodegenerator funktionsfähig.
Auf der Grundlage des Simulationscodes ist ein effizientes Testen
der Geräte
im Wege der Simulation möglich.
-
Bevorzugte
Weiterbildungen des erfindungsgemäßen Autocodegenerators sind
in den Unteransprüchen
2 bis 4 angegeben.
-
Danach
ist in einer vorteilhaften Ausführungsform
vorgesehen, dass der Simulationscode Parameter umfasst, auf deren
Basis die Software an eine vorgegebene Steuergerätehardware angepasst werden
kann. Damit ist auch eine direkte Simulation unterschiedlicher Typen
und Versionen von Steuergeräten
möglich.
-
Abhängig vom
Funktionsumfang des Simulationswerkzeugs kann es zudem von Vorteil
sein, wenn der Simulationscode in einer in diesem Werkzeug ablauffähigen oder
in einer für
dieses Werkzeug interpretierbaren Form vorliegt. Damit lassen sich unterschiedlich
aufgebaute Simulationswerkzeuge mit dem Code aus dem Generator bedienen.
-
Die
eingangs genannte Aufgabe wird auch durch ein Werkzeug zum Entwickeln
von Software für Steuergeräte nach
Anspruch 4 gelöst,
das zusätzlich über den
vorstehend beschriebenen Autocodegenerator verfügt.
-
Ein
wesentlicher Punkt besteht dabei darin, dass ein integriertes Werkzeug
für den
an sich bekannten Generator für
Betriebscode, sowie den Generator für Simulationscode zur Verfügung steht.
So kann zB das System ASCET-SD um den erfindungsgemäßen Autocodegenerator
für CAE-Tools
erweitert werde, wobei die mit ASCET-SD erstellten Funktionen mit
in dem CAE-Tool verfügbaren
Mitteln festgestellt werden. Dabei kann auf bekannte Methoden der
Autocodegenerierung zugegriffen werden. Durch die Integration beide
Codegeneratoren unter einem Entwicklungswerkzeug lässt sich
die Programmentwicklung erheblich beschleunigen, da kein umständlicher
Zugriff auf weitere Komponenten, ie keine zusätzlichen – fehleranfälligen und zeitaufwendigen – Konvertierungsschritte
erforderlich sind.
-
Bevorzugt
wird dabei der Betriebscode der Steuergeräte als C-Code ausgegeben, der die Portierung
auf unterschiedlichste Betriebssystemplattformen erlaubt und dabei
größte Flexibilität in den Hardware-Targets
ermöglicht.
-
Grundsätzlich bleibt
anzumerken, dass die Verwendung des erfindungsgemäßen Autocodegenerators
in jedem Werkzeug zum Entwickeln von Software für Steuergeräte möglich ist, solange dieses eine
Softwarespezifikation erlaubt. Damit ist der Codegenerator besonders
vielseitig einsetzbar und eine Beschleunigung der Test- und Anpassungsphase
innerhalb der Programmentwicklung aus einfacheren Tools heraus möglich.
-
Die
eingangs genannte Aufgabe wird zudem durch ein Verfahren zum Entwickeln
von Software für Steuergeräte nach
Anspruch 7 gelöst,
bei dem aus einer Softwarespezifikation ein Programmcode erzeugt
wird, der zum Abbilden eines Steuergeräteverhaltens in einem rechnergestützten Simulationswerkzeug
angepasst ist.
-
Ein
wesentlicher Punkt des erfindungsgemäßen Verfahrens besteht darin,
dass dieses einfach aufgebaut und leicht zu implementieren ist,
und sich aus seiner Durchführung
die schon vorstehend erwähnten
Vorteile einer Programmentwicklung ergeben.
-
Eine
bevorzugte Weiterbildung des erfindungsgemäßen Verfahrens ist in Unteranspruch
8 angegeben und betrifft das möglichst
parallele Erzeugen von Betriebs- und Simulationscode, wodurch die Programmentwicklung
erheblich beschleunigt wird.
-
Kurze Beschreibung der Zeichnungen
-
Der
erfindungsgemäße Autocodegenerator, das
Entwicklungswerkzeug und das zugehörige Verfahren werden im folgenden
anhand eines Ausführungsbeispiels
näher erläutert.
-
Es
zeigen:
-
1 eine
Schrittfolge zum Erzeugen von simulationsfähigem Programmcode aus einer
Softwarespezifikation unter Nutzung eines herkömmlichen Autocodegenerators
und eines zusätzlichen Konverters,
und
-
2 eine
Schrittfolge zum Erzeugen des gleichen Simulationscodes wie in 1 unter
Nutzung des erfindungsgemäßen Autocodegenerators.
-
Ausführungsformen
der Erfindung
-
Die 1 zeigt
eine Schrittfolge zum Erzeugen von simulationsfähigem Programmcode 22 aus einer
Softwarespezifikation 20 unter Nutzung eines herkömmlichen
Autocodegenerators 10 und eines zusätzlichen Konverters 11,
wie diese schon eingangs erläutert
wurde. Der Konverter 11 wird benötigt, um den vom Autocodegenerator 10 aus
der Softwarespezifikation 20 des Entwicklungswerkzeugs 30 erzeugten
Betriebscode 22 für
ein Steuergerät
derart zu wandeln, dass dieser in ein CAE-Tool 40 einlesbar und
dort simulierbar ist. Diese Art der Programmentwicklung setzt dabei
den zusätzlichen
Konverter 11 sowie zunächst
die Erzeugung des Betriebscodes 21 für das Steuergerät voraus.
Dies macht den Simulationsschritt kompliziert, fehleranfällig und
zeitaufwendig.
-
Die 2 zeigt
eine Schrittfolge zum Erzeugen des gleichen Simulationscodes 22 wie
in 1 unter Nutzung des erfindungsgemäßen Autocodegenerators 15.
Aus der in Ascet-SD 30 erzeugten Softwarespezifikation 20 wird
ohne Umwege der Simulationscode 22 erzeugt, der in das
CAE-Tool eingelesen und dort simuliert – und parametriert – werden kann.
Da sozusagen direkt aus dem Softwareentwurf ein CAE-Target erzeugt
wird, wird die Verwendung unterschiedlicher Versuchsträger überflüssig. Dies war
im Stand der Technik nach 1 noch erforderlich,
um die Nachteile des dort gezeigten Verfahrens zu umgehen. Die Test-
und Anpassungsphase innerhalb der Programmentwicklung wird damit
erheblich vereinfacht und verkürzt,
wobei gleichzeitig die Anzahl von Schnittstellen als potentielle
Fehlerquellen verringert wird.
-
In
einem integrierten Werkzeug zum Erzeugen eines Programmcodes für Steuergeräte kann
zudem ein herkömmlicher
Autocodegenerator 10 vorgesehen sein, der die Softwarespezifikation 20 in
einen Betriebscode 21 für
ein Steuergerät
wandelt, wie in der Schrittfolge der Figur gestrichelt angedeutet
ist. Dadurch entsteht ein besonders kompaktes und effizientes Entwicklungswerkzeug,
dass die Erzeugung von Betriebs- wie Simulationscode 21, 22 gleichermaßen ermöglicht.
-
Insgesamt
lässt der
erfindungsgemäße Autocodegenerator,
das Entwicklungswerkzeug und das Verfahren eine Vereinfachung der
Entwicklung von Software für
Steuergeräte
zu. Insbesondere die schnelle Simulationsmöglichkeit des Softwareentwurfs
trägt zur
Verkürzung
der Test- und Anpassungsphase innerhalb der Programmentwicklung bei.
Dabei lässt
sich der Simulationscode rasch auf unterschiedliche Typen und Versionen
von Steuergeräten
parametrieren.