Automatisierte Applikation mit INCA - ETAS
Automatisierte Applikation mit INCA - ETAS
Automatisierte Applikation mit INCA - ETAS
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Von Dr. rer. nat.<br />
Peter Fischer,<br />
ZF Friedrichshafen AG<br />
20<br />
RT 1.2007<br />
<strong>Automatisierte</strong><br />
<strong>Applikation</strong> <strong>mit</strong> <strong>INCA</strong><br />
Ein und dasselbe Grundprogramm erlaubt die Erzeugung<br />
verschiedener <strong>Applikation</strong>en<br />
Die Software für ein Kfz-Steuergerät besteht aus einem so genannten Grundprogramm und Daten. Diese<br />
Daten werden auch als <strong>Applikation</strong> bzw. „calibration data“ bezeichnet. Mit ein und demselben Grundprogramm<br />
können durch unterschiedliche <strong>Applikation</strong>en Varianten für unterschiedliche Fahrzeuge und<br />
Kunden erzeugt werden. Teile einer solchen <strong>Applikation</strong>, z. B. die Abstimmung einer Kupplung, werden<br />
oft als so genannte Datenkonserven verwaltet. Dies betrifft nicht nur Daten aus der Fahrzeugabstimmung,<br />
sondern auch Konfigurationsdaten, wie beispielsweise kundenspezifische Diagnoseschnittstellen<br />
oder Art und Umfang der Fahrzeugkommunikation. Durch Kombination einer Grundapplikation <strong>mit</strong> verschiedenen<br />
Datenkonserven wird dann die Software für einen ganz bestimmten Fahrzeugtyp erzeugt.<br />
I m<br />
Rahmen eines automatisierten<br />
Testprozesses bei der Software-Entwicklung<br />
für Kfz-Steuergeräte stellt<br />
sich oft die Frage, wie verschiedene<br />
<strong>Applikation</strong>en erzeugt werden können.<br />
Der vorliegende Bericht zeigt<br />
eine Möglichkeit auf, wie bei der<br />
ZF Friedrichshafen aus einem Grundprogramm<br />
automatisiert verschiedene<br />
<strong>Applikation</strong>en erzeugt werden können.<br />
Dabei wird das API (Application<br />
Program Interface) von <strong>INCA</strong> benutzt.<br />
<strong>Automatisierte</strong>s Testen<br />
von Software in der Serie<br />
Erfahrungsgemäß hört die Entwicklung<br />
der Software eines Kfz-Steuergeräts<br />
nicht auf, nachdem sie <strong>mit</strong> einem<br />
Kunden in Serie gebracht wurde. Vielmehr<br />
erfolgt eine ständige Weiterentwicklung<br />
<strong>mit</strong> neuen Funktionen oder<br />
<strong>mit</strong> Anpassungen für weitere Kunden.<br />
Daher muss stets gewährleistet werden,<br />
dass alle bisherigen Funktionen<br />
auch weiterhin zuverlässig funktionieren.<br />
Dies wird u. a. durch umfangreiche<br />
automatisierte Tests sichergestellt.<br />
Aufgrund des hohen Rechenzeitbedarfs<br />
müssen solche Tests möglichst<br />
unbeaufsichtigt z. B. über Nacht ablaufen.<br />
Voraussetzung dafür ist, dass<br />
dabei keine Benutzereingaben erforderlich<br />
sind.<br />
Sollen dabei unterschiedliche <strong>Applikation</strong>en<br />
getestet werden, ist es von<br />
Vorteil, wenn auch diese ohne Benutzerinteraktionen<br />
erzeugt werden<br />
können.<br />
<strong>Automatisierte</strong> <strong>Applikation</strong><br />
<strong>mit</strong> dem <strong>INCA</strong> Tool API<br />
Das Mess- und <strong>Applikation</strong>swerkzeug<br />
<strong>INCA</strong> von <strong>ETAS</strong> bietet über seine Tool<br />
API die Möglichkeit, verschiedene<br />
Komponenten von <strong>INCA</strong> über den<br />
Windows ® COM-Kommunikationsmechanismus<br />
aus einer eigenen <strong>Applikation</strong><br />
heraus zu steuern. Es besteht<br />
u. a. Zugriff auf die <strong>INCA</strong>-<br />
Datenbank, den <strong>Applikation</strong>sdatenmanager<br />
und die Experimentier- und<br />
Hardware-Konfigurationsumgebung.<br />
Die COM-Schnittstelle steht als C/C++<br />
Quelldatei incacom.cpp/.h zur Verfügung.<br />
Strukturierte Verwaltung<br />
von Datenkonserven<br />
Typischerweise wird ein und dasselbe<br />
Steuergeräteprojekt für mehrere unterschiedliche<br />
Kunden und Fahrzeugvarianten<br />
verwendet. Selbst einzelne<br />
<strong>Applikation</strong>svarianten werden als eigene<br />
Datenkonserven verwaltet. Diese<br />
Vielfalt der Varianten fordert eine<br />
strukturierte Verwaltung der verschiedenen<br />
Datenkonserven.<br />
Hierzu werden die Konserven (DCM-<br />
Dateien) in einer hierarchischen Verzeichnisstruktur<br />
vorgehalten, getrennt<br />
nach den Funktionalitäten einer Getriebesteuerung:<br />
• Fahrstrategie<br />
• Kupplung<br />
• Getriebe<br />
• Antriebssystem<br />
• Steuergerät<br />
• Diagnose<br />
Die einzelnen Konserven haben „sprechende“<br />
Namen, die auch den Kundennamen<br />
beinhalten. Der Inhalt einer<br />
bestimmten Konserve für die Kupplung<br />
umfasst beispielsweise alle Daten,<br />
um aus dem Grundprogramm die<br />
speziellen Eigenschaften der Kupplung<br />
für einen bestimmten Fahrzeugtyp<br />
auszuprägen.<br />
Werkzeug für die automatisierte<br />
<strong>Applikation</strong> von Datenkonserven<br />
auf HEX-Dateien<br />
Auf der Basis der <strong>INCA</strong> Tool API<br />
wurde von der ZF Friedrichshafen<br />
das Windows ® -Kommandozeilen-Tool<br />
CALWIN (CALibration With INca)<br />
entwickelt. Es nutzt einen Teil der<br />
Tool API, um ein Kfz-Steuergeräteprogramm<br />
automatisiert <strong>mit</strong> einer oder<br />
mehreren Datenkonserven zu kalibrieren.<br />
CALWIN bietet die Möglichkeit,<br />
in einem Schritt gleich mehrere Datenkonserven<br />
für mehrere verschiedene<br />
Kunden zu verarbeiten. DCM-Dateien<br />
und Kunden werden hierzu übersichtlich<br />
in einer XML-Datei verwaltet<br />
(Bild 1). Für jeden angegebenen Kunden<br />
wird eine eigene kalibrierte HEX-<br />
Datei generiert.<br />
Im Einzelnen werden folgende Aktionen<br />
automatisch durchgeführt:<br />
• Aufbau einer Verbindung <strong>mit</strong> <strong>INCA</strong>.<br />
• Anlegen eines Projekts in der <strong>INCA</strong>-<br />
Datenbank, bestehend aus einer<br />
A2L-Datei (Datenbeschreibung des<br />
Steuergeräteprogramms) und einer<br />
HEX-Datei (Steuergeräteprogramm).<br />
• Nutzung des <strong>INCA</strong>-<strong>Applikation</strong>sdatenmanagers,<br />
um eine oder mehrere<br />
Datenkonserven im DCM-Format<br />
über das Projekt zu kopieren.<br />
• Exportieren des applizierten Steuergerätedatensatzes<br />
als HEX-Datei <strong>mit</strong><br />
neuem Namen. Diese kann direkt<br />
auf ein Steuergerät geflasht werden.<br />
• Je nach Bedarf beliebig häufige<br />
Wiederholung der letzten beiden<br />
Schritte, um weitere HEX-Dateien zu<br />
erzeugen.<br />
Zusätzlich benötigt CALWIN das zu<br />
kalibrierende Steuergeräteprojekt (proj)<br />
bestehend aus A2L- und HEX-Datei<br />
und den Pfad, unter dem die kalibrierten<br />
HEX-Dateien abgelegt werden.<br />
Das Kommandozeilen-Tool liest alle<br />
Daten ein und organisiert die <strong>Applikation</strong><br />
der Konserven über die <strong>INCA</strong><br />
Tool API (Bild 2).<br />
Bild 1 (oben):<br />
XML-Datei zur Beschreibung<br />
der DCM-Konserven<br />
und Kundenvarianten.<br />
Bild 2:<br />
CALWIN erzeugt aus einem<br />
Grundprogramm, der zugehörigen<br />
Datenbeschreibung und einer<br />
Anzahl von Datenkonserven die<br />
gewünschten HEX-Dateien.<br />
Integration in eine übergeordnete<br />
Testablaufsteuerung<br />
Im Bild 3 ist der grundsätzliche Ablauf<br />
eines automatisierten Tests einer<br />
Steuergerätesoftware dargestellt.<br />
Dieser Test kann regelmäßig z. B. auf<br />
einem Hardware-in-the-Loop-System<br />
durchgeführt werden, um bestimmte<br />
Funktionen eines Steuerungssystems<br />
zyklisch zu prüfen. Durch die automatische<br />
Erzeugung von HEX-Files <strong>mit</strong><br />
unterschiedlichen <strong>Applikation</strong>en ist<br />
es erstmals möglich, alle zu erzeugenden<br />
Programmversionen innerhalb<br />
des Testablaufs zu generieren.<br />
■➔<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
21<br />
2007.1 RT
Bild 4:<br />
Einsatz von<br />
CALWIN zur<br />
Konfiguration<br />
(so genannte<br />
Grundapplikation)<br />
von<br />
Steuergerätesoftware.<br />
22<br />
RT 1.2007<br />
Vorbereitung der Fahrzeugabstimmung<br />
In einem weiteren Anwendungsfall<br />
wird CALWIN dazu benutzt, die von<br />
der Software-Entwicklung erzeugten<br />
Steuergeräteprogramme zu konfigurieren.<br />
Durch die Anwendung spezieller<br />
Konserven werden OEM- und<br />
fahrzeugspezifische Eigenschaften wie<br />
beispielsweise die Diagnoseschnittstelle<br />
oder spezifische Kundenfunktionen<br />
eingestellt (Bild 4).<br />
Dabei wird derselbe softwaretechnische<br />
Prozess wie bei der Fahrzeugabstimmung<br />
angewandt – nämlich<br />
die Einstellung von ganz bestimmten<br />
Werten für die Parameter des Programms.<br />
Mit CALWIN muss diese Tätigkeit nicht<br />
mehr manuell durchgeführt werden,<br />
sondern kann automatisiert im Rahmen<br />
der Auslieferung eines Programms<br />
erfolgen.<br />
Fazit<br />
Mit der offenen Schnittstelle von <strong>INCA</strong><br />
Tool API ist es gelungen, Steuergerätesoftware<br />
automatisiert zu applizieren.<br />
In einer ersten Anwendung innerhalb<br />
eines automatisierten Tests werden<br />
während des Ablaufs dynamisch die<br />
verschiedenen Kundenvarianten erzeugt.<br />
Diese werden dann auf einfache<br />
Weise auf Basis des neuesten<br />
Entwicklungsstands automatisiert getestet.<br />
für alle<br />
Varianten<br />
An einer anderen Stelle im Entwicklungsprozess<br />
übernimmt das entwickelte<br />
Tool CALWIN die automatische<br />
Erzeugung von Varianten der Steuergerätesoftware,<br />
bevor diese in den<br />
Fahrzeugen abgestimmt wird.<br />
Darüber hinaus sind natürlich noch<br />
viele weitere Anwendungsfälle auf<br />
dem Gebiet der Steuergeräte-<strong>Applikation</strong><br />
möglich.<br />
Erzeugung der Steuergerätesoftware<br />
auf Basis der neuesten Quellen<br />
Erzeugung der Datenbeschreibung<br />
Ausprägung einer Kundenvariante <strong>mit</strong> CALWIN<br />
automatisches Flashen des Steuergeräts<br />
für alle Tests automatischen Test durchführen<br />
Testergebnisse dokumentieren<br />
Bild 3:<br />
CALWIN ermöglicht die<br />
automatische Erzeugung<br />
von Varianten einer<br />
Steuergerätesoftware,<br />
die im selben Ablauf getestet<br />
werden können.