Software-In-The-Loop Software-In-The-Loop - neue
Transcrição
Software-In-The-Loop Software-In-The-Loop - neue
THEMA Entwicklungs-Tools MODELLEXPORT VON MATLAB-MODELLEN IN SABER Software-In-The-Loop DIE AUTOREN Michael Seibt schloß 1993 sein Studium an der FH München Fahrzeugtechnik mit dem Schwerpunkt Luftfahrzeuge ab. Nach verschiedenen EntwicklerTätigkeiten in der Luftfahrtindustrie trat er 1997 als Applikationsingenieur bei der Firma Avant! ein. Seit 1998 arbeitet er als Consultant im Automobil-Sektor (E-Mail: Michael_ Seibt@avanticorp. com) Manfred Thanner studierte an der FH Ulm und der University of Plymouth Elektronik. Nach einer Tätigkeit als Entwickler für Smart Power Devices bei der Robert Bosch GmbH fing er 1997 als Systemingenieur bei Motorola im Bereich Halbleiter in München an. Zur Zeit ist Herr Thanner in der Virtual Garage von Motorola mit der kundenspezifischen Umsetzung von Simulationslösungen im Bereich der Systemsimulation für HW und SW tätig. (E-Mail: [email protected]) 50 Um die miitlerweile sehr komplexen Systeme unterschiedlicher Technologien überhaupt noch beherrschen zu können und um die Entwicklungszyklen zu optimieren, wird gerade in der Automobilindustrie immer mehr auf Simulationstools zurückgegriffen. Dabei wird aufgrund des Einsatzes von sämtlichen Ingenieursdisziplinen wie Mechanik, Elektronik, Hydraulik und auch Software in der Fahrzeugentwicklung von den Simulatoren eine möglichst hohe Abdeckung gefordert. m heutigen Fahrzeug ist nicht nur ein zunehmender Einsatz von Elektronik festzustellen, auch der Software-Anteil spielt eine immer größere Rolle. So werden im aktuellen 7er BMW in der Standardausstattung etwa 20, in der Maximalausstattung sogar bis zu etwa 40 Steuergeräte eingesetzt. Herzstück eines jeden Steuergerätes ist dabei mindestens ein Mikrocontroller. Durch die geschickte Kombination verschiedener Technologien erreicht man zum einen eine I höhere Funktionalität und zugleich größere Integrationsdichte, zum anderen steigt jedoch die Komplexität erheblich (Bild 1). Simulationswerkzeuge für die Systemsimulation Unter den heutigen Simulationswerkzeugen für die Systementwicklung können grundsätzlich zwei Arten identifiziert werden. Zum einen die Hardware-Entwicklungstools, von denen die mechatronischen Anteile abgedeckt werden und zum anderen die Software-Designtools zur Entwicklung Auto & Elektronik 1/2001 Entwicklungs-Tools THEMA von Prozessor-/Controller-Algorithmen. Beide Toolgattungen decken Ihre Domaine ab; teilweise kommt es in ihrer Funktionsabdeckung sogar zu Überlappungen. So werden in typischen SW-Design-Tools die SoftwareAlgorithmen zunächst in Form eines Simulationsmodells als Zustandsautomat oder in der s- bzw. z-Ebene abgebildet und in der Simulation getestet. Danach wird über einen Code-Generator, je nach Verwendungszweck, target-abhängiger oder –unabhängiger Code erzeugt. Auf der HW-Seite kann man ebenfalls auf einem sehr hohen Abstraktionslevel wie der Zustands- oder sEbene beginnen. Über den "Top-Down-Ansatz” erreicht man schließlich die physikalische Ebene. Dabei sind jedoch auf Simulationsebene der Softwareund Hardware-Designflow völlig voneinander isoliert. Dies rührt zum einem daher, dass Hardware und Software oft separat von verschiedenen Entwicklungsgruppen oder Abteilungen mit den entsprechenden Tools erarbeitet wird und zum anderen, dass die Simulationstools meist keine geeigneten Schnittstellen aufweisen (Bild 2). Dies bedeutet jedoch, dass Wechselwirkungen zwischen Software und Hardware, wie sie in einem typischen Steuergerät vorkommen, bei der Simulation nicht oder nur ungenügend berücksichtigt werden können. Bild 1: Prinzipieller Aufbau eines herkömmlichen Steuergerätes Bild 2: Hardware-/Software-Designflow Auto & Elektronik 1/2001 51 THEMA Entwicklungs-Tools Daher liegt es nahe, beide Funktionalitäten miteinander zu kombinieren, um somit das Gesamtsystem betrachten zu können. Zwei Lösungsansätze kommen dabei in Frage: tor bedienen. Als Nachteil ist hier der zusätzliche Konvertierungsprozess zu nennen. Workflow Modellexport 1) Co-Simulation Beide Tools kommunizieren miteinander über IPC-Methoden (Inter-Process-Communication). Im allgemeinen wird zur Synchronisation beider Simulatoren der LockStep-Algorithmus oder der Fixed-TimeStep-Algorithmus verwendet. Ein Simulator, der Master, übernimmt dabei immer die Führung. Der Slave antwortet auf die Anfragen des Masters (Bild 3). Bild 3: Co-Simulation Bild 4: Modell-Export 52 Diese Ansätze haben jedoch allgemein Nachteile bzgl. Genauigkeit und Performance. Effizientere Synchronisationsalgorithmen sind meist sehr aufwendig in der Implementierung und setzen zu deren Nutzung entsprechende Simulatorschnittstellen voraus. Co-Simulations-Lösungen sind außerdem meist umständlicher in ihrer Bedienung und der Anwender muss beide Tools beherrschen. 2) Modell-Export Das im Quell-Simulator entwickelte Modell wird in ein Format konvertiert, das kompatibel zur Modellierungssprache des Target-Simulators ist und anschließend in diesen importiert wird (Bild 4). Die Vorteile liegen hier in der Notwendigkeit von nur einem Simulator bei der Gesamtsimulation. Dadurch entfällt die Synchronisation zwischen verschiedenen Simulatoren und man erhält eine bessere Performance. Außerdem muss der Anwender nur noch einen Simula- Am Beispiel der Gesamtsimulation eines Schiebedachsystems mit Einklemmschutz (EKS) soll die hier gewählte Methode des Modell-Exports dargestellt werden. Dabei wurde der EKS als Software implementiert. Hierbei wurden als Hardware-Entwicklungstool der Schaltungs-Simulator SABER der Firma Avant! verwendet, der aufgrund seiner Mixed-Technology-Fähigkeit (Elektronik analog und digital, Mechanik, Hydraulik, Pneumatik, Magnetik, Optik, Regelungstechnik) und seiner umfassenden Modell-Bibliotheken hohe Akzeptanz in der Automobilindustrie gefunden hat. Für die Software-Seite wurde mit MatlabSimulink/Stateflow einschließlich des RealTime-Workshops (RTW) und StateflowCoder der Firma MathWorks ein weit verbreitetes Tool für Software-Code-Entwicklung/-Generierung gewählt. Für den Modellexport wurde die ANSI-CCode-Generation in den Matlab-Tools sowie das C-Interface der SABER-Modellierungssprache MAST genutzt. Der Prozess des Modellexports beginnt mit der Modellerstellung in Simulink und/oder Stateflow. Anschließend wird über den RTW (RealTime-Workshop) und/oder Stateflow-Coder ein Target-unabhängiger C-Code generiert. Mittels eines vom RTW gestarteten TLC-Skripts wird außerdem aus dem CCode eine DLL, welche das Matlab-Modell beinhaltet, und eine MAST-Schale (Wrapper) automatisch erzeugt. Anschließend wird das fertige SABER-Modell in das Gesamtmodell eingebunden (Bild 5). Beispiel Schiebedach mit Einklemmschutz In Bild 6 ist das gesamte Schiebedachsystem dargestellt, wobei die Hardware in MAST implementiert ist; hinter dem Controller steckt das konvertierte Matlab-Modell. In den Probes ist das Schaltprofil des "Fahrers”, der Positionsverlauf des Fensters sowie das aus dem Motorstrom gewonnene Signal zur Einklemmbewertung zu sehen. Bzgl. des Einklemmschutzes sind vom Gesetzgeber her sehr strenge Auflagen gesetzt. Die maximal auftretende Einklemmkraft darf nicht mehr als 100 N betragen, was somit sehr hohe Anforderungen an den Einklemmschutz stellt (Bild 7). Auto & Elektronik 1/2001 THEMA Entwicklungs-Tools um einen definierten Wert zurück, indem ein Signal erzeugt wird, welches die HBrücke "umpolt” und somit den Motorstrom umkehrt. Bei Erreichen der Endposition erzeugt der Controller ein zweites Signal, das den Motor kurzschließt und dadurch den Motor zum Stehen bringt. Nutzen der Gesamtsimulation Bild 5: Workflow - MatlabSABER-Modellexport 54 Über einen Schalter wird der Stromkreis geschlossen und es fließt Strom über die HBrücke durch den Motor. Dadurch fährt der Motor an und das Schiebedach fährt über eine vom Elektromotor angetriebene Mechanik zu. Findet während des Schließvorgangs ein Einklemmen statt, so wird dies durch einen erhöhten Motorstrom und der aktuellen Fensterposition detektiert. Der im Controller implementierte Algorithmus fährt das Schiebedach Um diesen Auflagen gerecht zu werden, muss das Gesamtsystem, die Software und auch die Hardware gemeinsam betrachtet werden. Dadurch können über die Simulation des Gesamtsystems verschiedene Einflüsse auf den Einklemmschutz untersucht, bewertet und optimiert werden: 컄 Toleranzen Bauteiltoleranzen spielen nicht nur eine wesentliche Rolle in der Erfüllung der Funktionsspezifikation, sondern sind auch ein wesentlicher Kostenfaktor. Über die Vergabe von Toleranzen und Auto & Elektronik 1/2001 THEMA Entwicklungs-Tools Bild 6: Schiebedach-Gesamtmodell mit Einklemmschutz Toleranzverteilungen an den Modellparametern kann über eine anschließende Monte-Carlo-Analyse der Einfluß der Toleranzen auf die Performance des Systems gemacht werden. In Bild 8 ist zu erkennen, dass bei ungünstigen Kombinationen von Paramtern in Ihrem Toleranzbereich die max. Zulässige Einklemmkraft überschritten werden kann. 컄 Antriebsauslegung Bei zu hoch gewählter Motorkonstante kt kann die gesetzlich maximal zulässige Einklemmkraft ebenfalls überschritten wird (Bild 9). Der Einklemmschutz ist in diesem Fall zu träge, um auf das hohe Motormoment zu reagieren. 컄 Alterungs- und Temperatureffekte Durch die Abbildung von Alterungsmodellen und Temperaturabhängigkeiten können deren Einflüsse ebenfalls berücksichtigt werden. Dabei hat der Entwickler die Freiheit, lokale Temperaturen oder sogar Temperaturprofile zu definieren. 컄 Sensorauflösung Nur bei einer ausreichend hoch gewählten Sensorauflösung kann garantiert werden, daß der Einklemmfall rechtzeitig detektiert wird. Dabei ist die Auswahl des Bild 8: Maximale Einklemmkraft aufgrund von Bauteiltoleranzen 56 Sensors stets ein Kompromiss aus Funktion und Preis. Durch Parametervariation sind solche Aussagen in der Simulation leicht erhältlich. 컄 Reaktionszeit Die Gesamt-Reaktionszeit des Einlemmschutzes und damit die maximale Einklemmkraft wird durch die Summe der Todzeitglieder sämtlicher Komponenten zwischen Sensor und Stellglied bestimmt. Anhand einer Transient-Analyse kann beispielsweise sehr leicht der Anteil jeder einzelnen Komponente ermittelt werden. 컄 Fehlfunktionen (FMEA) Ein Einklemmschutz muß ebenfalls eine gewisse Robustheit gegenüber äußeren Störungen aufweisen. Durch den Einsatz Bild 7: Einklemmschutz-Algorithmus in Simulink geeigneter Toolboxen zur FMEA-Analyse wie FMEA/Testify können in ein Simulations-Gesamtmodell gezielt Fehler wie Kurzschlüsse, Unterbrechungen, Masseversatz, Klemmen injiziert und deren Auswirkungen analysiert werden. Auch für den Controller kann mit Hilfe der Gesamtsimulation ein genaueres Anforderungsprofil erstellt werden (Bild 10). Aussagen zu Prozessortakt, Verarbeitungsgeschwindigkeit, nötige Controller-Peripherie, Speicherbedarf und Fixed-Point-Einfluß helfen dem Entwickler bei der späteren Auswahl eines geeigneten Mikrocontroller. Die vorgestellte Methode ermöglicht es sogar unter Verwendung des VC++-Debuggers das Debuggen des Controller-Codes während der Simulation. Es stehen dabei natürlich die für den Debug-Prozess üblichen Mittel wie Breakpoints, (Single-) Auto & Elektronik 1/2001 Entwicklungs-Tools THEMA Bild 9: Einklemmkraft als Funktion der Motorkonstante Bild 10: Maximale Einklemmkraft in Abhängigkeit vom Prozessortakt Stepping und Variablendisplay zur Verfügung. Die Betrachtung der Hardware und der Software für sich liefert nur die halbe Wahrheit. Oft werden deswegen Unzulänglichkeiten im Gesamtsystem erst im Hardware-Versuch oder sogar erst im Feldeinsatz identifiziert. Dies kann im "harmlosesten” Fall zu zeit- und kostenaufwendigen Re-Designs führt, im schlimmsten Fall zu Rückrufaktionen. Durch die Möglichkeit der Simulation des Gesamtsystems -Software und Hardware- steht den Entwicklern der unterschiedlichen Fachbereichen schon in der Konzeptphase eine gemeinsame "Kommunikationsplattform” zur Verfügung. Somit können früh im Designzyklus Schwachstellen im System erkannt und korrigiert werden was letztendlich die vielzitierte "Time-to-Market” erheblich reduziert. Literatur [1] Motor Control Electronics Handbook, Richard Valentine, McGraw-Hill [2] Halbleiter-Schaltungenstechnik, Tietze Schenk, Springer-Verlag [3] Präsentation Joachim Langenwalter, System Simulation in the Automotiv Industry [4] Real-Time Workshop User’s Guide, The MathWorks [5] Simulink User’s Guide, The MathWorks [6] Präsentation Automatischer Modell-Export von Matlab/Simulink Modellen nach Saber, Manfred Thanner 466 Auto & Elektronik 1/2001 57