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 -