CanEasy 3.0 - Analyse und Simulation von CAN-Bus

Transcription

CanEasy 3.0 - Analyse und Simulation von CAN-Bus
WHITE PAPER
Kostentreiber Automobilelektronik:
Wie die CAN-Bus-Simulation die Produktivität der
Softwareentwicklung erhöht
Schleißheimer GmbH, Januar 2007
1. Kostentreiber Automobilelektronik
Die Automobilelektronik hat sich in über zwanzig Jahren nicht nur zum Wert-,
sondern auch zum Kostentreiber entwickelt. Branchenexperten erwarten, dass
sich die Entwicklungsbudgets für Elektronik und Software bis zum Anfang des
kommenden Jahrzehnts um mehr als dreißig Prozent1 erhöhen. Zugleich
schätzen Marktexperten von PA Consulting GmbH, dass aktuell rund achtzig
Prozent aller Entwicklungsprojekte die Budgets überschreiten. Dies führt zu
Verlusten von bis zu 500 Euro pro eingebautem Steuergerät2. Gründe sind die
steigende Komplexität der Projekte und kürzere Zeitpläne für Entwicklung und
Tests von neuen Fahrzeugen und Komponenten. Angesichts des
internationalen Wettbewerbs müssen – wie schon in Produktion und
Beschaffung – auch hier die Kosten gesenkt werden. AUTOSAR ist ein starkes
Indiz hierfür. Der neue Standard ermöglicht eine bislang unerreichte
Wiederverwendbarkeit und eine modernere Softwarearchitektur.
Die Entwicklungsprozesse und auch die -Tools müssen optimiert werden. Ihre
Potentiale, Entwicklungs- und Testzeiten zu reduzieren, sowie ihre Bedeutung
für die Softwarequalität sind hoch. Es lohnt sich für Leiter der
Softwareentwicklung wie auch für Tool-Verantwortliche, die Wirtschaftlichkeit
auch etablierter Werkzeuge zu hinterfragen und Schritte zur Kostensenkung
einzuleiten.
2. CAN-Bus-Simulation erhöht Produktivität und vermindert
Kosten
CAN-Bus-Simulationswerkzeuge sind in der Automobilelektronik-Entwicklung
etabliert. Teilweise kommen Standardlösungen zum Einsatz, teilweise
maßgeschneiderte Individualentwicklungen. Die Vorteile liegen auf der Hand:
Der Entwickler kann Steuergeräte, die bei zahlreichen Zulieferern auf
verschiedenen Stufen weitgehend unabhängig voneinander entstehen, in
ihrem Verhalten untereinander simulieren, testen und analysieren. So optimiert
er die eigene Entwicklung in der zukünftigen CAN-Bus-Umgebung. In der
Realität zeigen sich jedoch auch Nachteile, die die Wirtschaftlichkeit der
Entwicklungsteams reduzieren.
1
2
Thomas Walter und Neil Weyh, PA Consulting Group: Kostentreiber kontrollieren, in:
Hanser Automotive, 10/2006, Seite 51.
Thomas Walter und Neil Weyh, PA Consulting Group: ebenda, Seite 51.
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
-2-
Die Hauptnachteile liegen in der mangelnden Autonomie der Entwickler bzw.
in der beschränkten Flexibilität und Funktionalität der Werkzeuge:
Der Entwickler ist bei der Verwendung der Datenbasis und bei Panels
von Vorarbeiten der Experten abhängig
Die Bedienung der Simulationsumgebung ist wenig intuitiv,
unkomfortabel und aufwändig
Erweiterungen erfordern ausgeprägte, teilweise proprietäre
Programmierfähigkeiten
3. Aufgabenteilung und Expertenwissen
Die Produktivität der Entwickler und die Qualität ihrer Arbeit bleiben mit suboptimalen Simulationsumgebungen beschränkt und Kostensenkungspotentiale
verschenkt. Ideal wäre es, wenn jeder Entwickler mit seinen
(durchschnittlichen) Fähigkeiten die Simulationsumgebung weitgehend
selbständig anpassen könnte. Diese Autonomie ist eingeschränkt, da in den
Entwicklungsteams meist eine weitgehende Aufgabenteilung herrscht: Auf der
einen Seite bereiten Experten die Datenbasis vor und erstellen (in proprietären
Programmiersprachen) standardisierte Modelle oder Panels. Auf der anderen
Seite programmieren die eigentlichen Entwickler die Software, testen und
analysieren Fehler. Die Tool-Anbieter befördern diese Trennung zum Teil,
indem sie die Anpassbarkeit auf Vollversionen beschränken. Ebenso
beschränkt ist meist auch die Flexibilität von Individualentwicklungen. Es
besteht somit eine starke, einseitige Abhängigkeit, da die Entwickler auf die
wenigen Experten warten. Dieser Flaschenhals wird meist zulasten der
Softwareentwickler gelöst, indem Panels und Fenster standardisiert werden.
Diese können die spezifischen Anforderungen bei steigender Komplexität nur
unzureichend abdecken.
Die Aufgabenteilung ist nicht grundsätzlich falsch: Zum einen sind die
Entwickler unterschiedlich qualifiziert. Gerade Berufseinsteiger können nicht
ungeleitet schnell produktiv werden. Zum anderen sichern Standards die
Qualität und die OEM-Vorgaben in einem Entwicklungsteam. Dennoch: Die
Autonomie muss gemeinsam mit der Kompetenz der Entwickler weiter erhöht
werden, um die Verlagerung vor allem nach Osteuropa und in Schwellenländer
(Near- oder Offshoring) zu verhindern.
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
-3-
4. Autonomie als Schlüssel für höhere Entwicklerproduktivität
Eine höhere Autonomie der Entwickler ist in der funktionalen, flexiblen
Verbesserung von Simulationsumgebungen mitbegründet:
Die Datenbasis ist in der K-Matrix der Hersteller klar und umfassend
beschrieben sowie strukturiert. Trotzdem muss heute noch bei jeder
Änderung nachdefiniert werden, wie die Datenbasis zu behandeln ist.
Nicht nur jede neue Datenbasis sondern potentiell auch jede Änderung
an ihr bremst die Entwickler. Gerade bei Plattformprojekten, bei denen
die K-Matrix noch häufig modifiziert wird und der Anteil an
Datenbasisänderungen entsprechend hoch ist, müssen sie auf neue
oder überarbeitete Modelle für die Datenbasis, Panels und Views der
Experten warten. Dieser Aufwand muss mit modernen Softwaretools
entfallen, um nicht schon am Anfang und während eines Projekts
immer wieder Zeit zu verlieren.
Gerade bei Panels ist eine Standardisierung wenig hilfreich. Die
Aufgaben der Entwickler weichen zunehmend voneinander ab und
erfordern eine hohe Flexibilität. Besser wäre es, wenn
anwenderspezifische Panels automatisch oder in wenigen Schritten
konfigurierbar wären. Der Entwickler arbeitet dann nicht umständlich in
mehreren Fenstern, um eine Simulation zu beobachten oder Fehler zu
identifizieren. Flexibilität auf die Vollversionen der Experten zu
beschränken ist nicht effizient.
Entwickler arbeiten heute an leistungsfähigen PCs auf die Windows
typische Weise: Starke Nutzung der Maus, drag & drop, Doppelklick,
freies Verschieben von Fenstern, Kontextmenüs, Explorer-Ansichten
oder interaktive Buttons sind Standards in Windows-Anwendungen. Es
ist nicht einzusehen, von diesen Vorteilen nicht vollständig in der CANBus-Simulation oder in anderen Werkzeugen zu profitieren. Bildhaft
gesprochen erinnert dies an Fahren mit angezogener Handbremse.
5. Flexibilität in der Erweiterung an individuelle Anforderungen
Keine CAN-Bus-Simulationsumgebung deckt im Standard alle Anforderungen
ab, die ein Entwickler angesichts der wachsenden Komplexität, Speichergröße
und Geschwindigkeit bereits heutiger Mikrocontroller-Generationen an das
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
-4-
Werkzeug stellt. Die einfache Erweiterbarkeit muss integriertes Konzept einer
modernen Simulationsumgebung sein. Daher müssen auch durchschnittliche
Programmierer ihre Tools weitgehend und schnell an ihre Anforderungen
anpassen können.
Kleine Erweiterungen sind in den meisten Windows-Anwendungen mit VisualBasic for Applications (VBA) möglich. Entwickler sollten mit VBA auch
Simulations- und Analyseumgebungen ausbauen und stets ändern können. Da
VBA jedoch einen relativ hohen Prozessorbedarf hat, der von einigen
Simulationsumgebungen schon (unverhältnismäßig) belastet wird, werden für
größere und spezielle Anforderungen eigene Erweiterungen mit
Standardprogrammiersprachen geschrieben und compiliert. Dies entbindet
nicht von der Pflicht, die Prozessorlast konsequent zu minimieren. Proprietäre
Ansätze in Standard-Tools sowie individuell entwickelte
Simulationsumgebungen helfen angesichts hoher Komplexität und
Termindruck nicht.
Simulationsumgebungen haben ein hohes Potential zur
Produktivitätssteigerung, zur Kostensenkung, zur Beherrschung enger
Zeitpläne und der Qualitätsziele. Dazu müssen sie die Autonomie der
Entwickler stärken. CanEasy 3.0, das Simulationswerkzeug der Schleißheimer
GmbH, erfüllt diese Anforderungen.
6. Zusammenwachsen von Werkzeugen und Einsatzbereichen
Softwareentwickler nutzen noch viel zu oft getrennte Werkzeuge für
Entwicklung und Simulation. Eigentlich gehören beide Aufgabenbereiche
zusammen, da die Simulation innerhalb des Entwicklungsprozesses schon
relativ früh interessiert. Trotz umfangreicher Tests in allen Phasen, bemisst
sich der Aufwand stets an den Fehlern, die der Entwickler trotz eigener Tests
„durchlässt“. Die nahtlose Integration von Entwicklungswerkzeug und
Simulationsumgebung reduziert diesen Grad deutlich.
Restbussimulation und Diagnosewerkzeuge wachsen zunehmend zusammen,
da die Diagnosefunktionalität von proprietären Schnittstellen auf den CAN-Bus
verlagert wird. Technisch verlangt dies die Verarbeitung von
Transportprotokollen, bei denen aufgrund der Informationsmenge von
Diagnoseservices mehrere Botschaften zusammen gefasst werden. Die
Diagnose auf dem CAN-Bus wird so auch simulierbar und analysierbar. Dies
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
-5-
ist die Grundlage für automatisierte Tests, die sicherstellen, dass für alle
Fehlerfälle die richtigen Diagnosen mit allen Informationen erfasst und
gespeichert werden.
CanEasy wird diese Anforderungen in der Zukunft abdecken.
7. Simulationswerkzeug CanEasy
CanEasy, aktuell in der Version 3.0, ist ein windowsbasiertes Simulations- und
Analysesystem für die Steuergeräteentwicklung in CAN-Bus-Umgebungen.
Das System unterstützt die Softwareentwicklung bei Automobilunternehmen
und -zulieferern. Entwickler und Tester führen mit CanEasy vollständige CANBus-Simulationen durch, in denen reale und simulierte Steuergeräte
(Restbussimulation) kombiniert und alle Signale erzeugt, aufgezeichnet und
analysiert werden. Die Simulations- und Analyseumgebung wird weitgehend
automatisch konfiguriert und ist direkt einsetzbar, einfach bedienbar und mit
durchschnittlichen Programmierfähigkeiten erweiterbar. Unterstützt werden
normale CAN-Botschaften (High-Speed- sowie Low-Speed) ebenso wie
Multiplexbotschaften. CanEasy ist in einer DLL (CanDLL.dll - Dynamic Link
Library) gekapselt. Es lässt sich daher als Programmbibliothek in jede andere
Windows-Anwendung, die ebenfalls in einer Hochsprache geschrieben wurde,
integrieren und steht dort als CAN-Bus-Simulationsmodul zur Verfügung. Das
System ist aufgrund der praktischen Anforderungen der SchleißheimerEntwickler entstanden.
CanEasy steigert die Autonomie und damit die Produktivität der Entwickler, in
dem es die Hauptnachteile früherer Generationen an Simulationswerkzeugen
vermeidet:
Der Entwickler ist unabhängig von Vorarbeiten und beginnt direkt mit
dem Projekt; die Konfiguration des Systems ist weitgehend
automatisiert und zugleich flexibel für individuelle Anpassungen.
Die Bedienung von CanEasy ist intuitiv, komfortabel und unaufwändig,
da sie sich an gängigen Windows-Standards wie drag & drop und die
Explorer-Ästhetik hält.
Erweiterungen sind entweder schnell mit VBA/VBScript oder bei
größeren Anforderungen mit Standardprogrammiersprachen möglich.
Daher sind im Allgemeinen nur durchschnittliche, aber keine
proprietären Programmierfähigkeiten erforderlich.
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
-6-
Screenshot: Can-Easy Control-Fenster mit Datenbasis-Informationen
7.1 Einsatz
CanEasy läuft nach kurzer Einrichtung, da automatisch eine lauffähige
Arbeitsumgebung erstellt wird, mit der ein Entwickler oder Tester sofort auch
komplexe Analyse- und Simulationsaufgaben bearbeiten kann. Umfangreiche
Vorbereitung, Programmierung sowie manuelle Konfiguration sind nicht
notwendig. Das System lässt sich anschließend in allen Teilen nach den
Anforderungen des Entwicklers oder Testers konfigurieren. Die Einrichtung
von CanEasy erfolgt in drei Schritten:
1. Schritt
2. Schritt
3. Schritt
Die K-Matrix (Kommunikationsmatrix), in der die Bedeutung aller
Signale und Botschaften mit ihren physikalischen Größen
definiert ist, wird eingelesen;
Der Anwender bestimmt, welche Steuergeräte real im Netzwerk
vorhanden sind und welche Geräte simuliert werden sollen;
Die Busparameter werden festgelegt (z. B. Übertragungsrate,
Abtastzeitpunkte, etc.).
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
-7-
Das System zeichnet mit Hilfe des integrierten Memory-Managers den
gesamten Bus-Verkehr, d. h. alle CAN-Botschaften auf allen Bussen, mit
exaktem 64-Bit-Zeitstempel im Hauptspeicher des PC auf. Die Simulationsund Analyseumgebung erlaubt so den Zugriff auch auf Vergangenheitsdaten.
Eine vorherige Einschränkung ist nicht notwendig. Wird das Protokoll zu
umfangreich, werden nicht benötigte Anteile komprimiert. Dadurch entsteht ein
kompaktes Protokoll, das auch mehrtägige Aufzeichnungen an einem
Arbeitsplatz ermöglicht.
7.2 Bedienung
Die Bedienung des Systems und seine Anpassung an die Anforderungen der
Anwender erfolgen über ein zentrales Fenster (Control-Fenster). CanEasy ist
weitgehend mit der Maus steuerbar:
1. Doppelklick auf ein Objekt
Der Doppelklick öffnet das jeweilige Objekt (Steuergerät, Signal oder
Botschaft) und ermöglicht dessen Bearbeitung in einem Panel.
Teilweise werden Panels und Anzeigen durch Doppelklick erstmals
automatisch generiert.
2. drag & drop
Per drag & drop sind die einzelnen Objekte in der Datenbasis
verschiebbar. Die Reihenfolge von Steuergeräten, Signalen oder
Botschaften lässt sich in der Anzeige verändern oder die einzelnen
Objekte können in andere Panels und Ansichten gezogen werden. So
funktioniert beispielsweise die Überwachung von Botschaften oder
Signalen, indem sie per drag & drop in ein Trace-Fenster gezogen
werden. In der Explorer-Ansicht des Control-Fensters lassen sich auch
mehrere Objekte gleichzeitig verschieben.
3. Kontextmenüs mit der rechten Maustaste
Mit der rechten Maustaste werden alle Befehle, Dialogfenster und zur
Verfügung stehenden Datenbasis-Editoren geöffnet. Diese dienen der
feineren Konfiguration der Objekte.
7.3 Erweiterungen
Die Simulations- und Analyseumgebung erhält mit Hilfe von Plug-Ins
zusätzliche Funktionen oder Ansichten. Standardmäßig stehen eine C++-API,
eine ANSI-C-API sowie ein COM-Interface zur Verfügung. Programmiert wird
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
-8-
entweder in VBA/VBScript für kleinere Änderungen oder mit einer
Hochsprache für größere Erweiterungen mit höheren Anforderungen. Eigen
entwickelte Module werden innerhalb der Baumstruktur des Control-Fensters
dargestellt.
7.4 Zentrale Bedienung über Control-Fenster
Das Control-Fenster dient der zentralen Übersicht und der individuellen
Anpassung des Systems an die Anwenderanforderungen. Dieser steuert und
konfiguriert CanEasy mit seinen Kernanwendungen über eine dargestellte
Baumstruktur. Zudem finden sich in der rechten Fensterhälfte, die in der
Bedienung und im Aussehen dem Windows Explorer ähnelt, zusätzliche
Informationen (z. B. Attribute). Zu den Kernanwendungen zählen TraceFenster, Signal-Plots und User-Panels. Die Datenbasis – im unteren Teil des
Control-Fensters – verzweigt sich je nach eingelesenem Bus in alle simulierten
und realen Steuergeräte mit ihren Botschaften, Signalen und deren Attribute.
Panels mit Botschaften und Signalen, die der Anwender aus dem ControlFenster heraus öffnet, werden automatisch konfiguriert. Über Kontextmenüs
lassen sich Datenbasis-Editoren aufrufen, mit denen Busse, Steuergeräte,
Botschaften und Signale sowie deren Eigenschaften und Attribute flexibel
editiert werden. So kann der Anwender z. B. die Anordnung der einzelnen
Signale innerhalb einer Botschaft festlegen, Wertebereiche von Signalen
ändern oder neue Busse, Steuergeräte, Botschaften und Signale anlegen.
7.5 Exakte Verfolgung im Trace-Fenster
In einem oder mehreren Trace-Fenstern sieht der Anwender Mitschriften der
Steuergerätekommunikation im Verlauf. Diese umfasst alle gesendeten und
empfangenen Signale (Tx/Rx) von bis zu vier CAN-Bussen in normierten
Werten. Die zu überwachenden Signale wählt der Anwender im ControlFenster aus. Die Überwachung der einzelnen Signale oder Botschaften erfolgt
aktualisierend oder fortlaufend (zeitlicher Verlauf). Da CanEasy
Vergangenheitsdaten bereithält, können im Nachhinein noch Daten analysiert
werden, die vor dem Test irrelevant schienen.
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
-9-
Screenshot: Can-Easy Trace-Fenster für ausgewählte Botschaften
7.6 Aufzeichnungen im Signal-Plot
Mit dem Signal-Plotter überwacht der Anwender den zeitlichen Verlauf eines
oder mehrerer selektierter Signale während einer Simulation. Verschiedene
Signalverläufe lassen sich parallel in einem oder in mehreren Fenstern
darstellen. Die Auswahl der zu zeichnenden Signale erfolgt per drag & drop.
Alle Y-T-Plots können gespeichert und zu einem beliebigen Zeitpunkt geladen
und bearbeitet werden. Mit einem Klick auf die entsprechende Stelle im Plot
erhält der Anwender einzelne Messwerte des Graphen. Im Dialog „PlotEigenschaften“ können z. B. die Höhe der Graphen, die Aufteilung der
Zeitachse, Einheiten und Wertebereiche auf der Y-Achse sowie die Farbe des
Graphen verändert werden. Das Anzeigen von Stützpunkten sowie der
Wechsel zwischen interpolierender und bit-weiser Darstellung sind möglich.
7.7 Individuelle Übersicht im User-Panel
Der Anwender stellt in User-Panels Signale und Botschaften sowie reale und
simulierte Steuergeräte individuell so zusammen, wie es für seine
Aufgabenstellung am besten ist. Wichtige Signale oder Botschaften von
verschiedenen Steuergeräten ordnet er auf diese Weise übersichtlich an. Die
gewünschten Objekte zieht der Anwender mit der Maus per drag & drop aus
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
- 10 -
dem Control-Fenster unter das User-Panel-Symbol in der Baumstruktur oder
direkt in das Panel. Jedes User-Panel kann separat gespeichert und später
wieder geladen werden. Hintergrund- und Schriftfarbe von User-Panels sind
individuell einstellbar.
7.8 Technische Anforderungen
Systemvoraussetzungen von CanEasy sind Windows-Betriebssysteme
(Windows NT, Windows 2000, Windows XP), ein Prozessor mit mindestens
400 MHz und 64 MB RAM Arbeitsspeicher. Als Hardware-Interface dienen
Vector-Karten (CanCardX, CANcardXL oder CANcaseXL) mit Treiber Version
3.3.25 oder höher. Andere Schnittstellen können bereitgestellt werden.
Sprechen Sie uns an.
Gerne stellen wir Ihnen eine Testversion von
CanEasy 3.0 zur Verfügung oder erläutern Ihnen
die Möglichkeiten von CanEasy in einem
persönlichen Gespräch.
Hans-Joachim Schleißheimer
Geschäftsführer
Schleißheimer Soft- und Hardwareentwicklung GmbH
Am Kalkofen 10
61206 Wöllstadt
Tel.: +49 (0) 6034/9148-0
Email: [email protected]
www.schleissheimer.de
White Paper: Wie die CAN-Bus-Simulation die Produktivität der Softwareentwicklung erhöht,
www.schleissheimer.de, Januar 2007
- 11 -

Documents pareils