05.03.2013 Aufrufe

Automatisierte Applikation mit INCA - ETAS

Automatisierte Applikation mit INCA - ETAS

Automatisierte Applikation mit INCA - ETAS

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!