Im Frühjahr 2001 wurde an der Universität der Bundeswehr München mit der Entwicklung eines modularen Fahrzeugsimulators für den Einsatz in Lehre und angewandter Forschung/Entwicklung begonnen. Projektname ist das Akronym „MASTER“, welches für Modular Advanced Simulator for Education and Research steht. Das Projekt ist eingeteilt in drei Entwicklungsphasen (siehe Abbildung 1.1). Ziel der ersten Phase ist der Aufbau eines Entwicklungssimulators mit einem Experimentalcockpit. In Phase 2 wird der Simulator erweitert um ein reales Cockpit und um einen Simulatordom. In der dritten Phase ist es geplant, den bisherigen Simulator mit einer Bewegungsplattform auszustatten. Ein besonderes Merkmal dieses Simulators ist es, daß der Simulatordom mit unterschiedlichen, austauschbaren Cockpitmodulen betrieben werden kann. Dies ermöglicht die Simulation sowohl für Land- als auch Luftfahrzeuge. Das Projekt ist so strukturiert, daß ein Großteil der Entwicklung im Rahmen von Studentenprojekten durchgeführt werden kann. Hierbei sollen die in verschiedenen Vorlesungen erworbenen Fähigkeiten an einem realen Projekt angewandt werden.
Die Rechnertopologie des Simulators ist entsprechend seines modularen Gesamtaufbaus strukturiert. Gemäß den Simulatorkomponenten Bedienerstation, Experimentalcockpit, EAV-Modul, Simulatorcockpit, Simulatordom und Bewegungsplattform lassen sich auch rechnerseitig einzelne „Funktionseinheiten“ definieren, zwischen denen im aktiven Simulatorbetrieb Informationen teilweise in Echtzeit ausgetauscht werden müssen.
Es ist beabsichtigt die genannten Rechnermodule weitgehend auf der Basis bestehender PC-Technologie auszuführen. Wo immer möglich, soll die Implementierung der Software unter Verwendung von Standards erfolgen. Damit kann eine weitgehende Flexibilität und Interoperabilität der einzelnen Simulatorkomponenten erreicht werden.
Im Rahmen dieser Arbeit soll für den im Aufbau befindlichen Simulator ein Navigationsdisplay konzipiert und auf der Basis von ActiveX-Steuerelementen in C++ implementiert werden
Inhaltsverzeichnis
- 1 Einleitung
- 2 ActiveX
- 2.1 Softwarekomponenten
- 2.2 Anforderungen an Softwarekomponenten
- 2.3 COM als Basis
- 2.4 ActiveX-Steuerelemente
- 3 Erstellung eines ActiveX-Steuerelementes
- 3.1 Erstellen eines ActiveX-Steuerelementes mit dem Assistenten
- 3.2 Testcontainer für ActiveX-Steuerelemente
- 3.3 Eigenen Programmcode einfügen
- 3.3.1 Vordefinierte Eigenschaften
- 3.3.2 Benutzerdefinierte Eigenschaften
- 3.3.3 Member-Variablen
- 3.3.4 Member-Funktionen
- 3.3.5 Ereignisse
- 3.4 Hinweise zur Implementierung
- 4 ActiveX-Steuerelement MASTER_Seg7
- 4.1 Beschreibung
- 4.2 Implementierung
- 4.2.1 Entwurf auf dem Papier
- 4.2.2 Zeichnen des Elementes
- 4.2.3 Berechnung der Farbe für inaktive Segmente
- 4.2.4 Berechnung der einzelnen Digits
- 4.3 Eigenschaften und Methoden
- 4.3.1 void AboutBox()
- 4.3.2 short GetAnzahlDigits()
- 4.3.3 void SetAnzahlDigits (short anzahl)
- 4.3.4 OLE_COLOR GetBackColor()
- 4.3.5 void SetBackColor(OLE_COLOR backcolor).
- 4.3.6 OLE_COLOR GetForeColor() . .
- 4.3.7 void SetForeColor(OLE_COLOR forecolor)
- 4.3.8 double GetValue()
- 4.3.9 void SetValue(double value)
- 4.3.10 short GetDarstellung()
- 4.3.11 void SetDarstellung(short darstellung)
- 5 ActiveX-Steuerelement MASTER_Map
- 5.1 Beschreibung
- 5.2 Implementierung
- 5.2.1 Zeichnen des Elementes
- 5.2.2 Karte und zugehörige Koordinaten
- 5.2.3 Umrechnen der WGS84-Position in Pixelkoordinaten
- 5.2.4 Richtung des Flugzeugs
- 5.3 Eigenschaften und Methoden
- 5.3.1 void AboutBox()
- 5.3.2 OLE_COLOR GetBackColor()
- 5.3.3 void SetBackColor(OLE_COLOR backcolor).
- 5.3.4 OLE_COLOR GetForeColor() .
- 5.3.5 void SetForeColor(OLE_COLOR forecolor)
- 5.3.6 double GetZoom()
- 5.3.7 void SetZoom(double zoom)
- 5.3.8 CString GetFile() . .
- 5.3.9 void SetFile(LPCTSTR file)
- 5.3.10 BOOL GetTrack()
- 5.3.11 void SetTrack(BOOL track)
- 5.3.12 BOOL GetCenter() . .
- 5.3.13 void SetCenter(BOOL center)
- 5.3.14 BOOL GetTiming()
- 5.3.15 void SetTiming(BOOL timing)
- 5.3.16 long GetMapXScroll()
- 5.3.17 void SetMapXScroll(long xscroll)
- 5.3.18 long GetMapYScroll()
- 5.3.19 void SetMapYScroll(long yscroll).
- 5.3.20 void PixPosition(long xpos, long ypos)
- 5.3.21 void WGS84Position(double laenge, double breite, double ti- me).
- 5.3.22 void ClearTrack().
- 5.3.23 long GetMapWidth()
- 5.3.24 long GetMapHeight().
- 5.3.25 long GetTiming Interval()
- 5.3.26 SetTimingInterval(long interval)
- 5.4 Ereignisse
- 5.4.1 void MousePosition(double laenge, double breite)
- 5.4.2 void PositionChanged(long xtop, long ytop)
- 6 ActiveX-Steuerelement MASTER_FlightScala
- 6.1 Beschreibung
- 6.2 Implementierung
- 6.2.1 Zeichnen des Elementes
- 6.2.2 Skalaeinteilung .
- 6.3 Eigenschaften und Methoden
- 6.3.1 void AboutBox()
- 6.3.2 OLE_COLOR GetBackColor()
- 6.3.3 void SetBackColor(OLE_COLOR backcolor).
- 6.3.4 OLE_COLOR GetForeColor() . .
- 6.3.5 void SetForeColor(OLE_COLOR forecolor)
- 6.3.6 double GetZoom()
- 6.3.7 void SetZoom(double zoom)
- 6.3.8 BOOL GetTrack()
- 6.3.9 void SetTrack(BOOL track)
- 6.3.10 BOOL AutoScroll()
- 6.3.11 void AutoScroll(BOOL scroll)
- 6.3.12 long GetScrollPosition()
- 6.3.13 void SetScrollPosition(long scrollpos).
- 6.3.14 void ClearTrack().
- 6.3.15 long GetScrollWidth()
- 6.3.16 BOOL GetTiming()
- 6.3.17 void SetTiming(BOOL timing)
- 6.3.18 long GetTimingInterval() .
- 6.3.19 SetTimingInterval(long interval) .
- 6.3.20 void Position(double hoehe, double zeit)
- 6.3.21 short AnzahlHLinien()
- 6.3.22 void AnzahlHLinien(short anzahl)
- 6.4 Ereignisse . .
- 6.4.1 void MousePosition(double hoehe)
- 7 Applikation MASTER_Navigator
- 7.1 Beschreibung
- 7.2 Implementierung
- 7.2.1 ActiveX-Steuerelemente einfügen
- 7.2.2 Erstellen der Bedienoberfläche
- 7.2.3 Laden und Speichern der Einstellungen
- 7.2.4 Laden der Karte
- 7.2.5 Manuelles Eingeben der Position
- 7.2.6 Starten und Anhalten der Navigation
- 7.2.7 Abfragen des Shared Memory und Zurückschreiben der Zeit
- 8 Zusammenfassung und Ausblick
Zielsetzung und Themenschwerpunkte
Die Diplomarbeit befasst sich mit der Entwicklung von wiederverwendbaren ActiveX-Komponenten für den Leitstand des MASTER Fahrzeugsimulators. Ziel ist es, die Modulare und flexible Gestaltung des Simulators durch die Verwendung von ActiveX-Steuerelementen zu gewährleisten. Die Arbeit fokussiert auf die Entwicklung von drei Steuerelementen: MASTER_Seg7 (Sieben-Segment-Anzeige), MASTER_Map (Flugzeugposition auf einer Landkarte), und MASTER_FlightScala (Flugzeughöhe über der Zeit).
- Entwicklung wiederverwendbarer ActiveX-Komponenten
- Modulare Gestaltung des Fahrzeugsimulators
- Anwendungen von ActiveX-Steuerelementen im Leitstand
- Datenaustausch zwischen Simulatorkomponenten über Shared Memory
- Implementierung eines Navigationsdisplays
Zusammenfassung der Kapitel
- Kapitel 1: Einleitung - Das Kapitel stellt den MASTER Fahrzeugsimulator im Kontext der Lehre und Forschung vor und erläutert die Notwendigkeit der Entwicklung von wiederverwendbaren ActiveX-Komponenten.
- Kapitel 2: ActiveX - Das Kapitel bietet eine Einführung in die Welt von Softwarekomponenten, die Anforderungen an Softwarekomponenten und COM als Grundlage für ActiveX. Der Fokus liegt auf ActiveX-Steuerelementen und deren Einsatz im Simulator.
- Kapitel 3: Erstellung eines ActiveX-Steuerelementes - Dieses Kapitel beschreibt die Erstellung eines ActiveX-Steuerelementes mit dem Assistenten, die Verwendung von Testcontainern und die Integration eigenen Programmcodes. Die Bereiche Eigenschaften, Member-Variablen, Member-Funktionen und Ereignisse werden detailliert behandelt.
- Kapitel 4: ActiveX-Steuerelement MASTER_Seg7 - Dieses Kapitel beschreibt die Entwicklung der Sieben-Segment-Anzeige. Es werden der Entwurf, die Implementierung, die Berechnung von Segmentfarben und die Funktionen zur Darstellung rationaler Zahlen und Winkelkoordinaten erläutert.
- Kapitel 5: ActiveX-Steuerelement MASTER_Map - Dieses Kapitel präsentiert die Entwicklung des Karten-Steuerelements. Es werden das Zeichnen des Elementes, die Koordinatentransformation und die Funktionalitäten zur Darstellung der Flugzeugposition und Flugbahn erklärt.
- Kapitel 6: ActiveX-Steuerelement MASTER_FlightScala - Das Kapitel widmet sich der Entwicklung des Höhen-Zeit-Diagramms. Es werden die Implementierung des Elementes, die Skalaeinteilung und die Eigenschaften zur Steuerung des Diagramms behandelt.
- Kapitel 7: Applikation MASTER_Navigator - Dieses Kapitel erläutert die Integration der drei entwickelten ActiveX-Steuerelemente in eine Applikation zur Navigation. Die Themen Bedienoberfläche, Laden von Einstellungen, Eingeben von Positionen, Starten und Anhalten der Navigation werden behandelt.
Schlüsselwörter
Die Diplomarbeit beschäftigt sich mit der Entwicklung von ActiveX-Komponenten für einen Fahrzeugsimulator. Wichtige Schlüsselwörter sind: ActiveX, COM, Softwarekomponenten, Modulare Simulation, MASTER Fahrzeugsimulator, Navigationsdisplay, Shared Memory, Sieben-Segment-Anzeige, Kartenanzeige, Höhen-Zeit-Diagramm.
- Arbeit zitieren
- Mirko Schulz (Autor:in), 2002, Entwicklung von wiederverwendbaren ActiveX-Komponenten für den Leitstand des MASTER Fahrzeugsimulators, München, GRIN Verlag, https://www.grin.com/document/30892