Grin logo
de en es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Programming

Entwicklung von wiederverwendbaren ActiveX-Komponenten für den Leitstand des MASTER Fahrzeugsimulators

Title: Entwicklung von wiederverwendbaren ActiveX-Komponenten für den Leitstand des MASTER Fahrzeugsimulators

Diploma Thesis , 2002 , 71 Pages , Grade: 1

Autor:in: Mirko Schulz (Author)

Computer Science - Programming
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

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

Excerpt


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 time)

5.3.22 void ClearTrack()

5.3.23 long GetMapWidth()

5.3.24 long GetMapHeight()

5.3.25 long GetTimingInterval()

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

A Projekt MASTER_Seg7

A.1 Projekt-Dateien

A.2 Arbeitsbereich

B Projekt MASTER_Map

B.1 Projekt-Dateien

B.2 Arbeitsbereich

C Projekt MASTER_FlightScala

C.1 Projekt-Dateien

C.2 Arbeitsbereich

D Projekt MASTER_Navigator

D.1 Projekt-Dateien

D.2 Initialisierungsdatei

E Karten

E.1 Karten

E.2 .ini-Dateien

F Hilfsprogramme

Literaturverzeichnis

Zielsetzung und thematische Schwerpunkte

Das Hauptziel dieser Arbeit ist die Konzeption und Implementierung eines Navigationsdisplays für den modularen MASTER-Fahrzeugsimulator. Dabei wird das Augenmerk auf die Entwicklung wiederverwendbarer ActiveX-Steuerelemente unter C++ gelegt, um eine flexible und standardisierte Softwarearchitektur für die Anzeige von Flugdaten wie Position, Höhe und Flugspur in Echtzeit zu gewährleisten.

  • Entwicklung modularer ActiveX-Komponenten für den Leitstand
  • Integration von Echtzeit-Datenaustausch via Shared Memory
  • Realisierung grafischer Anzeigen für Flugzeugpositionen und -höhen
  • Nutzung der Microsoft Foundation Classes (MFC) für die Windows-Programmierung
  • Konfiguration und Persistenz der Steuerelemente über Initialisierungsdateien

Auszug aus dem Buch

2.1 Softwarekomponenten

Sowohl im Maschinenbau als auch in der Architektur gibt es Standardbauteile und Standardverfahren, um eine Konstruktionsaufgabe durchzuführen. Die Verfahren sind den betreffenden Ingenieuren bzw. Architekten wohlbekannt; für Bauteile gibt es Kataloge, in denen diese verzeichnet sind. In der Softwaretechnik gibt es praktisch keine Standardbauteile. Viele Softwareentwickler haben ihre eigenen Bauteile; mit den gängigen Methoden der Wiederverwendung schaffen sich diese Programmierer im Laufe der Zeit ihre eigenen Bauteillager, sie verwenden also Programmcode wieder. Dies ist ganz im Sinne der Wiederverwendung. Allerdings ist der dabei betrachtete Kontext nicht zufriedenstellend: Jeder Programmierer kann nur seine eigenen Bauteile (oder die seines Teams, seiner Firma) wiederverwenden. Wechselt er zu einer anderen Firma, so muß er plötzlich mit völlig neuen Bauteilen umgehen, da er seine eigenen Bauteile aus rechtlichen Gründen nicht mitnehmen darf, und die neue Firma wahrscheinlich ihre eigenen Bauteile verwendet.

Softwarefirmen leisten sich den Luxus der Exklusivität. In vielen Firmen werden eigene Code- und Klassenbibliotheken sowie Frameworks entwickelt. Der Aufwand dafür ist erheblich. Die Entwicklungszeit pracktisch einsetzbarer Klassenbibliotheken und Frameworks beträgt zumeist mehrere Mannjahre. Trotzdem sind diese „Schrauben“ nur innerhalb des eigenen Entwicklungsteams einsetzbar, außerhalb der Firma möchte keiner diese fremden Bauteile haben; man verwendet lieber die eigenen. Nun kommt diese Verhaltensweise der Softwarefirmen und ihrer Entscheidungsträger nicht von ungefähr. Es gab bisher keinen echten Bauteilemarkt für Software. Es gab und gibt zwar Programmcode- und Klassenbibliotheken zu kaufen, doch sind dies nicht wirklich Softwarebauteile. Ein Bauteil - wie eine Schraube - ist etwas fertiges. Es existiert, ist eindeutig spezifiziert, trägt eine Bezeichnung und hat oft ein klar umrissenes Einsatzgebiet. Man kann es bestellen, auspacken und einbauen.

Zusammenfassung der Kapitel

1 Einleitung: Beschreibt die Entstehung des MASTER-Fahrzeugsimulators und den Anwendungsrahmen dieser Arbeit im Bereich der Lehr- und Forschungssimulation.

2 ActiveX: Erläutert die theoretischen Grundlagen von Softwarekomponenten, das Component Object Model (COM) und die spezifische Funktionsweise von ActiveX-Steuerelementen.

3 Erstellung eines ActiveX-Steuerelementes: Bietet einen praktischen Leitfaden für die Entwicklung und Implementierung von Steuerelementen unter Microsoft Visual C++.

4 ActiveX-Steuerelement MASTER_Seg7: Dokumentiert den Entwurf und die Implementierung einer Sieben-Segment-Anzeige zur numerischen Darstellung von Werten.

5 ActiveX-Steuerelement MASTER_Map: Behandelt die Entwicklung einer kartenbasierten Anzeige für Flugzeugpositionen inklusive der notwendigen Koordinatentransformationen.

6 ActiveX-Steuerelement MASTER_FlightScala: Beschreibt die Implementierung einer Skala zur zeitabhängigen Anzeige von Flugzeughöhen.

7 Applikation MASTER_Navigator: Fasst die Zusammenführung der entwickelten Komponenten zu einer voll funktionsfähigen Anwendung für den Simulator-Leitstand zusammen.

8 Zusammenfassung und Ausblick: Reflektiert die Ergebnisse der Diplomarbeit und gibt Anregungen für zukünftige Erweiterungen des Simulators.

Schlüsselwörter

ActiveX, C++, COM, Fahrzeugsimulator, Komponententechnologie, MASTER, Navigationsdisplay, Programmierung, Shared Memory, Softwarearchitektur, Softwarekomponenten, Steuerelemente, Visual C++, Wiederverwendung, WGS84-Koordinaten

Häufig gestellte Fragen

Worum geht es in dieser Diplomarbeit grundsätzlich?

Die Arbeit befasst sich mit der Entwicklung von wiederverwendbaren Softwarekomponenten auf Basis der ActiveX-Technologie, um einen modularen Fahrzeugsimulator in der Lehre und Forschung zu unterstützen.

Was sind die zentralen Themenfelder der Arbeit?

Im Zentrum stehen die objektorientierte Programmierung mit C++, die Anwendung von Microsofts COM-Technologie für Steuerelemente sowie die Visualisierung von Flugdaten für einen Simulator.

Was ist das primäre Ziel der Forschungsarbeit?

Das Ziel ist die Implementierung eines Navigationsdisplays für den "MASTER"-Simulator, das als modularer Baustein verschiedene Flugparameter wie Höhe und Position anzeigt.

Welche wissenschaftliche Methode wird für die Entwicklung verwendet?

Es wird ein softwaretechnischer Ansatz gewählt, bei dem durch Kapselung und definierte Schnittstellen (ActiveX) die Interoperabilität und Wiederverwendbarkeit der Komponenten im Simulator-Umfeld sichergestellt wird.

Was wird im Hauptteil der Arbeit behandelt?

Der Hauptteil gliedert sich in die theoretische Einführung in ActiveX, die detaillierte Anleitung zur Komponentenerstellung und die spezifische Implementierung der drei Steuerelemente für numerische Daten, Kartenansicht und Höhendiagramme.

Welche Schlüsselwörter charakterisieren die Arbeit am besten?

Zu den wichtigsten Begriffen zählen ActiveX, C++, Komponentenarchitektur, Fahrzeugsimulator, Shared Memory und grafische Benutzeroberflächen.

Wie findet der Datenaustausch zwischen Simulator und Display statt?

Die Applikation MASTER_Navigator nutzt eine Shared Memory-Schnittstelle, über die sie die benötigten Flugdaten aus dem Simulator liest und verarbeitet.

Warum wurde das Prinzip der "Schraube" als Vergleich für Softwarebauteile herangezogen?

Der Vergleich verdeutlicht das Defizit in der Softwaretechnik: Im Gegensatz zum Maschinenbau gibt es für Software kaum standardisierte, sofort einsetzbare "Bauteile", weshalb ActiveX hier als Lösungsansatz zur Standardisierung dient.

Excerpt out of 71 pages  - scroll top

Details

Title
Entwicklung von wiederverwendbaren ActiveX-Komponenten für den Leitstand des MASTER Fahrzeugsimulators
College
University of the Federal Armed Forces München  (Fachbereich Elektrotechnik und Technische Informatik)
Grade
1
Author
Mirko Schulz (Author)
Publication Year
2002
Pages
71
Catalog Number
V30892
ISBN (eBook)
9783638320573
Language
German
Tags
Entwicklung ActiveX-Komponenten Leitstand MASTER Fahrzeugsimulators
Product Safety
GRIN Publishing GmbH
Quote paper
Mirko Schulz (Author), 2002, Entwicklung von wiederverwendbaren ActiveX-Komponenten für den Leitstand des MASTER Fahrzeugsimulators, Munich, GRIN Verlag, https://www.grin.com/document/30892
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  71  pages
Grin logo
  • Grin.com
  • Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint