Options
2016
Bachelor Thesis
Titel
Entwicklung einer erweiterbaren C++-Klassenbibliothek zur Ansteuerung eines Ultraschallprüfsystems
Abstract
Um schnell und effizient den Zustand und die Standfestigkeit von Lichtmasten beurteilenzu können, ist es unter anderem notwendig, ohne zu graben oder den Mast zu beschädigen, Informationen darüber zu erhalten, wie der Zustand des Teils des Mastes ist, der unter der Erdoberfläche verborgen liegt. Daher wurde ein System entwickelt, welches auf Basis von elektromagnetischem Ultraschall arbeitet und in der Lage ist, mögliche Oberflächenschäden des Mastes, auch unter der Erdoberfläche, zu detektieren. Dies funktioniert, indem durch Einwirken eines statischen oder quasistatischen und eines hochfrequenten Magnetfeldes auf den Mast eine Ultraschallwelle direkt im Mast erzeugt wird, welche den Mast entlang läuft und an Störstellen oder dem Mastendereflektiert wird. Die reflektierte, zurücklaufende Welle kann durch den Prüfkopf, welcher sie auch erzeugt hat, erkannt werden und so anhand der Laufzeit des Ultraschallsignales bestimmt werden, in welcher Distanz zum Ursprung die Welle reflektiert wurde (Siehe Kap. 2). Durch die so gewonnenen Informationen ist es dann z.B. möglich, in einer graphischen Nutzeroberfläche ein Abbild des Mastes darzustellen, bei dem zu sehen ist, an welchen Stellen des Mastes die Ultraschallwellen in welchem Maße reflektiert werden. Dafür die Zukunft auch neue Generationen dieses Systems geplant sind und die vorhandene Software nicht auf diese erweiterbar ist, ist es notwendig, eine Software zu entwickeln, welche sowohl mit der alten Hardwarekompatibel bleibt, als auch für zukünftige Versionen erweiterbar ist. Das Ziel dieser Arbeit besteht darin, eine C++-Klassenbibliothek zu entwickeln, welche es ermöglicht, sowohl vorhandene als auch zukünftige Hardwaregenerationen zu steuern und in eine graphische Nutzeroberfläche einzubinden, ohne die Nutzeroberfläche auf neue Hardware anpassen zu müssen. Erreicht wird dies, indem die entsprechende Hardwareklasse, wie in Kapitel 4.3 zu sehen, als Referenz an die Klasse ""EmusHandling"" übergeben wird, die diese zu einem Pointer auf die Basisklasse ""EmusBaseClass"" umwandelt, welchen sie als Member-Variable hält. Somit können alle Funktionen der Basisklasse und der ausgewählten Hardwareklasse über die Handlingklasse aufgerufen werden. Bei der Klasse ""EmusFrontEnd"" handelt es sich um die Hardwareschnittstelle für die aktuelle Hardware. Die Hauptaufgaben dieser Hardwareklasse bestehen darin, die Zustände der Hardware zu setzen, die Antworten der Hardware auszuwerten und die Messdaten anzunehmen, zu dekodieren (Siehe Kap. 4.4.8) und weiterzugeben. Das Verfahren zur Dekodierung hängt hierbei davon ab, in welchem der beiden möglichen Zustände, also Sample oder Calib, die Daten aufgenommen wurden. Außerdem ist es wichtig, sowohl beim Auslesen von Messdaten als auch bei sonstigen Antworten der Hardware, immer genau die richtige Menge an Daten aus dementsprechenden Hardware-Buffer auszulesen, da sonst alle nachfolgenden Informationen fehlerhaft sind. Um dies zu gewährleisten, wird während dem Auslesen immer die Anzahl der erhaltenen Werte und so wieder erwarteten Werte verglichen. Um sowohl Antworten als auch Messdaten unabhängig voneinander und der restlichen Software zu machen, müssen die entsprechenden Funktionen in je einem eigenen Thread laufen. Bei der Verwendung von Threads muss hierbei darauf geachtet werden, dass die gewählte Bibliothek nicht die Einbindung in eine .Net Umgebung verhindert (Siehe Kap. 4.4.4).Durch die neu entwickelte Klassenbibliothek ist es zum einen möglich, die ""alte"" Hardware weiter zu betreiben und mit einer neuen, übersichtlicheren und benutzerfreundlichen Oberfläche zu verbinden. Zum anderen ist die neue Prüfsoftware durch die abstrakte Einbindung einer gemeinsamen Basisklasse für alle Hardwareschnittstellen und somit auch für alle zukünftigen Hardwaregenerationen erweiterbar, die auf elektromagnetischem Ultraschall basieren.
ThesisNote
Saarbrücken, Hochschule für Technik und Wirtschaft des Saarlandes, Bachelor Thesis, 2016
Author(s)
Verlagsort
Saarbrücken