TU Wien
Adaptation eines Interferometers zur Messung der Dicke der menschlichen Hornhaut  
Zurück Inhalt Weiter


 

Anhang

Software

Da zur Programmierung der einzelnen Programmteile die graphisch orientierte Programmiersprache LabView 4.0 verwendet wurde, sind auch die Listings graphisch orientiert. Sie bestehen jeweils aus dem Programmsymbol, der Bedienungsfläche mit Ein- und Ausgabemöglichkeiten sowie dem eigentlichen Blockdiagramm.
 

Motoransteuerung

Initialisierungsprogramm „Init"

Dieses Hilfsprogramm dient zur Initialisierung des Motorcontrollers. Dazu werden verschiedene Einstellungen zur Steuerung des Motors getätigt sowie der Zwischenspeicher des Controllers geleert.

Die Initialisierungsfunktion hat weder Ein- noch Ausgänge. Zu Beginn wird die Steuerung auf die parallele Schnittstelle festgelegt und der Puffer des Controllers entleert. Über ein Testkommando, mit welchem gleichzeitig die Backlash-Kompensation eingestellt wird, wird überprüft, ob die Echofunktion eingeschaltet ist und gegebenenfalls abgeschaltet. Zuletzt wird abermals der Puffer entleert.
 
Symbol „Init"

Bedienungsfläche „Init" Block Diagramm „Init"  

Funktion „setze Geschwindigkeit"

Diese Funktion hat zur Aufgabe, die Geschwindigkeit des Motors zu definieren.

Sie benötigt als Eingang die Nummer des Motors und die gewünschte Geschwindigkeit. Diese Eingaben werden konvertiert und dem Motorcontroller übergeben, worauf die Geschwindigkeit im Controller gespeichert und zukünftig bei allen Bewegungen des Motors verwendet wird.

Symbol „setze Geschwindigkeit"

Bedienungsfläche „setze Geschwindigkeit" Block Diagramm „setze Geschwindigkeit"  

Funktion „fahre nach"

Diese Funktion bewegt den Motor auf eine gewünschte Position.

Sie benötigt als Eingang die Nummer des Motors und die gewünschte Position. Diese Eingaben werden konvertiert und dem Motorcontroller übergeben, der den Motor nun an die jeweilige Stelle bewegt.

Symbol „fahre nach"

Bedienungsfläche „fahre nach" Blockdiagramm „fahre nach"  

Funktion „Motorposition"

Dies ist das Gegenstück zur vorhergehenden Funktion. Sie liefert die momentane Stellung des Motors.

Als Eingang wird die Nummer des Motors benötigt, worauf als Ausgang die momentane Position des Motors sowie ein Statussignal geliefert wird. Die Motornummer wird konvertiert und dem Motorcontroller mit entsprechendem Kommando übergeben. Anschließend wird der Puffer so lange ausgelesen, bis eine gültige Antwort vorhanden ist. Ist diese eine Fehlermeldung, so wird der Puffer gelöscht, der Status FALSE und die Position 0 ausgegeben. Konnte ein richtiger Wert ausgelesen werden, so wird dieser weitergegeben und das Statussignal auf TRUE gesetzt.
 
Symbol „Motorposition"

Bedienungsfläche „Motorposition" Blockdiagramm „Motorposition"  

Funktion „setze auf"

Diese Funktion setzt die momentane Motorposition auf den angegebenen Wert, ohne den Motor zu bewegen.

Als Eingang wird die Motornummer und der neue Positionswert benötigt. Ausgänge sind keine vorhanden.
 
Symbol „setze auf"

Bedienungsfläche „setze auf" Blockdiagramm „setze auf"  

Funktion „Anhalten"

Diese Funktion stoppt alle Motoren, die sich im Moment der Ausführung des Unterprogramms bewegen, und hat keinerlei Ein- oder Ausgänge.

Symbol „Anhalten"

Bedienungsfläche „Anhalten" Diagramm „Anhalten"  

Hauptprogramm

Das Hauptprogramm übernimmt die Steuerung des Motorcontrollers, die Datenerfassung des Interferenzsignals, dessen Verarbeitung und Analyse.

Beim Druck auf die Taste „START" erfolgt eine Messung des Interferometers mit den eingestellten Meß- und Motordaten. Mit „Laden" und „Speichern" wird ein altes Meßergebnis geladen, bzw. das momentan angezeigte Signal gespeichert. Werden die beiden Cursor X1 und X2 am dargestellten Graphen positioniert, so sucht das Programm bei einem Druck auf die Taste „Vermessen" die nächstgelegenen Maxima und zeigt das Meßergebnis an. Es endet mit der Taste „ENDE".

Zu Programmbeginn wird der Motorcontroller durch die Hilfsfunktion „Init" initialisiert, und die Meßgeschwindigkeit des Motors gesetzt. Darauf folgt eine kontinuierliche Abfrage der oben beschriebenen Tasten.

Mit „START" wird ein Meßvorgang eingeleitet. Der Motor wird an die Startposition gebracht und für die Messung in Bewegung gesetzt. Sofort nach dem Start des Motors beginnt das Einlesen des Meßsignals, das, sobald es vollständig ist, angezeigt wird.

Mit „Speichern" wird der dargestellte Graph, samt Titel und Auflösung der Messung in einem File abgelegt. Dieses kann später mit Hilfe des Taste „Laden" wieder eingelesen werden.

Bei einem Druck auf die Taste „Vermessen" werden die Positionen der Cursor X1 und X2 ermittelt, und in ihrer Umgebung nach Maxima gesucht. Mit Hilfe des Brechungsindex n und ihrer Position wird die Dicke des Meßobjekts berechnet.

Symbol

Bedienungsfläche  
START 
Meßbereich 
Auflösung 
Amplitude 
Vermessen 
X1, X2 

Dicke 
Laden 
Speichern 
Nummer 
Geschwindigkeit 
ENDE
Beginn eines Meßvorgangs. 
Bereich um den Nullpunkt, um den der Meßvorgang erfolgt. 
Schrittweite der Abtastpunkte. 
Maximale, im Meßsignal vorkommende, Amplitude. 
Vermessung des Meßsignals mit Hilfe der Cursor X1 und X2. 
Cursor zur Vermessung des Graphen. 
Brechungsindex. 
Ergebnis der Auswertung des Graphen. 
Laden von alten Meßergebnissen. 
Speichern der Meßergebnisse. 
Steckplatznummer des Motors am Controller. 
Meßgeschwindigkeit des Motors. 
Beenden des Programms. 

Diagramm

 


Für Anmerkungen oder Änderungen senden Sie ein e-mail an martin@martin-mandl.com 980403
Zurück Inhalt Weiter