Erstellung einer grafischen Benutzeroberfläche in MATLAB für die Entwicklungsumgebung VEE Seminararbeitsvortrag Nils Lange Institut für Luft- und Raumfahrtsysteme RWTH Aachen University Univ.-Prof. Dr.-Ing. E. Stumpf 1 von 37
Ablauf einer Auswertung in der VEE Anforderungen an eine GUI Gliederung Was ist die VEE? Ablauf einer Auswertung in der VEE Anforderungen an eine GUI Programmmodifikationen an der VEE Aufbau der GUI GUI Elemente in MATLAB Einbindung der Plots Ladebildschirm Fazit 2 von 37
Ablauf einer Auswertung in der VEE Anforderungen an eine GUI Gliederung Was ist die VEE? Ablauf einer Auswertung in der VEE Anforderungen an eine GUI Programmmodifikationen an der VEE Aufbau der GUI GUI Elemente in MATLAB Einbindung der Plots Ladebildschirm Fazit 3 von 37
Vortex Evaluation Environment Was ist die VEE? Vortex Evaluation Environment Umgebung zur Auswertung von Daten zu Flügelrandwirbeln in MATLAB 4 von 37
Was ist die VEE? Anwendungsgebiete: Daten aus numerischen Simulationsverfahren (Computational Fluid Dynamics, CFD) Messdaten aus Hitzdrahtmessung (Constant-Temperature Anemometry, CTA) Messdaten aus optischem Messverfahren (Particle Image Velocimetry, PIV) 5 von 37
Ablauf einer Auswertung in der VEE Anforderungen an eine GUI Gliederung Was ist die VEE? √ Ablauf einer Auswertung in der VEE Anforderungen an eine GUI Programmmodifikationen an der VEE Aufbau der GUI GUI Elemente in MATLAB Einbindung der Plots Ladebildschirm Fazit 6 von 37
Ablauf einer Auswertung in der VEE Preprocessing Negativ: Konfiguration der Unterprogramme von Hand kompliziertes Navigieren durch Ordnerstruktur Erstellen der Plots manuell Processing Postprocessing 7 von 37
Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI Gliederung Was ist die VEE ? √ Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI Programmmodifikationen an der VEE Aufbau der GUI GUI Elemente in MATLAB Einbindung der Plots Ladebildschirm Fazit 8 von 37
Benutzerfreundliches Konfigurieren und Ausführen Anforderungen GUI Benutzerfreundliches Konfigurieren und Ausführen Konfiguration der Unterprogramme Starten der Unterprogramme Einfacher Wechsel zwischen Unterprogrammen über Tabs Erstellen von Plots Einfache Erweiterbarkeit Einfache Funktionen für das Einfügen neuer Parameter 9 von 37
Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Gliederung Was ist die VEE? √ Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Programmmodifikationen an der VEE Aufbau der GUI GUI Elemente in MATLAB Einbindung der Plots Ladebildschirm Fazit 10 von 37
Programmmodifikationen an der VEE Änderung der Ordnerstruktur logischer Aufbau nicht genutzte Ordner weggelassen sinnvolle Bezeichnungen 11 von 37
Programmodifikationen an der VEE Modifikation der Dateien Aus Parametern der Konfigurationsskripte .mat Dateien erzeugt Skripte für Unterprogramme zu Funktionen gemacht 12 von 37
Programmodifikationen an der VEE Modifikation der Dateien Aus Parametern der Konfigurationsskripte .mat Dateien erzeugt Skripte für Unterprogramme zu Funktionen gemacht Wahrheitswerte von Yes/No Strings zu 1/0 umgewandelt Rückgabewerte für Plots eingefügt Ausgaben für GUI Ladebildschirm erzeugt Funktionalität bleibt erhalten 13 von 37
Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Gliederung Was ist die VEE √ Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Programmmodifikationen an der VEE √ Aufbau der GUI GUI Elemente in MATLAB Einbindung der Plots Ladebildschirm Fazit 14 von 37
Startbildschirm Aufbau der GUI Bevor GUI startet Auswahl des Verfahrens Auswahl des Arbeitsverzeichnis „Submit“ startet GUI 15 von 37
Hierarchie Aufbau der GUI Fenster Tabgruppe Tab Panel Control-Elemente 16 von 37
Aufbau der GUI Layout Parameterblöcke Execute Button 17 von 37
Aufbau der GUI Ausnahme Mehrere Unterpanels Plotanzeigen 18 von 37
Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Gliederung Was ist die VEE √ Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Programmmodifikationen an der VEE √ Aufbau der GUI √ GUI Elemente in MATLAB Einbindung der Plots Ladebildschirm Fazit 19 von 37
Verwendete UIControl Elemente GUI Elemente in MATLAB Verwendete UIControl Elemente Einfache Bedienelemente in MATLAB vorimplementiert Bezeichnung Funktionalität Darstellung pushbutton Einfacher Button zu anklicken checkbox Checkbox mit boolean Wert ausgewählt/nicht ausgewählt popup Dropdown mit einfacher Auswahlmöglichkeit listbox Auswahlmenü mit fixer Größe und mehrfach Auswahlmöglichkeit edit Editierbare Textbox text Fester Text slider Schieberegler 20 von 37
Übergabeparameter des Konstruktors GUI Elemente in MATLAB Übergabeparameter des Konstruktors Typ „Style“ des Elements Startwert „Value“ des Elements Funktion „Callback“ die bei Veränderung aufgerufen wird Oberfläche „Parent“ auf der es sich befindet Position „Position“ auf der Oberfläche Weitere Spezifische Optionen->MATLAB API Negativ: Viele redundante Übergabeparameter 21 von 37
Factory Funktionen GUI Elemente in MATLAB Code wird reduziert GUI einfacher um neue Elemente erweiterbar Für alle benutzten Elemente erstellt 22 von 37
Generalisierte Callback Funktionen GUI Elemente in MATLAB Generalisierte Callback Funktionen Bekommen zusätzlich Namen übergeben Schreiben Veränderungen in Config.mat Für alle benutzten Elemente erstellt 23 von 37
Weitere Hilfsfunktionen GUI Elemente in MATLAB Weitere Hilfsfunktionen Text mit Hilfe Button erzeugen „Popupfähigkeit“ für Listboxen ermöglicht 24 von 37
Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Gliederung Was ist die VEE √ Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Programmmodifikationen an der VEE √ Aufbau der GUI √ GUI Elemente in MATLAB √ Einbindung der Plots Ladebildschirm Fazit 25 von 37
Zunächst nur 1 Panel sichtbar „Execute“ berechnet Werte für Plots Einbindung der Plots Zunächst nur 1 Panel sichtbar „Execute“ berechnet Werte für Plots Danach alle Panel sichtbar 26 von 37
Einbindung der Plots 27 von 37
Manuelles Erstellen der Plots ersetzt durch Menuauswahl Einbindung der Plots Manuelles Erstellen der Plots ersetzt durch Menuauswahl Große Abhängigkeiten Dropdown Menus und Listboxen Keine generalisierten Callback Funktionen möglich 28 von 37
Contour Plot Einbindung der Plots Einzelne Fälle betrachtet Parameter über y/z Ebene geplottet Wert als Farbskala dargestellt Sliden durch Schnitte möglich 29 von 37
Centerdata Plot Einbindung der Plots Parameterverläufe über x- Achse aufgetragen Mehrere Cases können verglichen werden 30 von 37
Verstecken der Config Parameter Einbindung der Plots Verstecken der Config Parameter Oberes Panel wird unsichtbar Parameter in unterem Panel werden nach oben verschoben Panels für Plotanzeigen und Slider werden vergrößert Vorgang umkehrbar 31 von 37
Einbindung der Plots 32 von 37
Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Gliederung Was ist die VEE √ Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Programmmodifikationen an der VEE √ Aufbau der GUI √ GUI Elemente in MATLAB √ Einbindung der Plots √ Ladebildschirm Fazit 33 von 37
Start des Ladebildschirms Sichtbarkeiten werden zwischengespeichert Alle Elemente unsichtbar Gif wird gestartet Logscreen wird sichtbar Beenden des Ladebildschirms Gif wird beendet Logscreen wird unsichtbar Sichtbarkeiten werden wieder hergestellt 34 von 37
Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Gliederung Was ist die VEE √ Ablauf einer Auswertung in der VEE √ Anforderungen an eine GUI √ Programmmodifikationen an der VEE √ Aufbau der GUI √ GUI Elemente in MATLAB √ Einbindung der Plots √ Ladebildschirm √ Fazit 35 von 37
Wurden die Anforderungen erfüllt? Fazit Wurden die Anforderungen erfüllt? Alle Tools können von GUI einfach konfiguriert und ausgeführt werden Über Tabs kann zwischen Tools gewechselt werden Plots können über Menüs ausgewählt und in der GUI erzeugt werden Einfach um neue Bedienelemente erweiterbar Zusätzlich: Slider durch verschiedene Schnitte möglich Ladebildschirm mit Logausgabe 36 von 37
37 von 37