Verhaltensspezifikation (Pflichtenheft
XCTL-Steuerprogramm)
Hauptfunktion: Diffraktometrie/Reflektometrie
Teilfunktion: Einstellungen und Ablauf
beim LineScan
Dokumentversion: | 2.1.1. (letzte Änderung: 2. November 2001) |
|
Autor: | J. Ullrich, S.Berndt |
|
Änderungen: | Änderungen im Abschnitt: Änderungswünsche |
|
Zustand: | abgeschlossen |
1. Überblick
2. Funktionale Beschreibung
2.1 Einstellungen
2.1.1 StepScan im Standard-Modus
2.1.2 StepScan im Omega2Theta-Modus
2.1.3 Sichern von StepScan-Kurven
2.1.4 Verwenden eines Kontroll-Detektors
2.1.5 ContinuousScan
2.1.6 Start und Beenden der Teilfunktionen
2.2 Ablauf des StepScan
2.2.1 Start eines Scans
2.2.2 Unterbrechen eines Scans
2.2.3 Fortsetzen eines Scans
2.3 Sonstige Funktionen
2.3.1 Kurve laden
2.3.2 Kurve speichern
2.3.3 Kurve löschen
2.3.4 Kurve fixieren
2.4 Start und Beenden der Teilfunktion(Fenster)
2.4.1 Start der Teilfunktion(Fenster)
2.4.2 Beenden der Teilfunktion(Fenster)
3. Daten
3.1 Benutzerschnittstelle
3.1.1 Dialogbox ,Einstellungen StepScan'
3.1.1.1 Steuerung
3.1.1.2 Eingabe/Ausgabe und Prüfung
3.1.2 Dialogbox ,Einstellungen ContinuousScan'
3.1.2.1 Steuerung
3.1.2.2 Eingabe/Ausgabe und Prüfung
3.2 Dateien
3.2.1 ini-Datei
3.2.2 crv-Dateien
3.2.3 bk-Dateien
4. Testfälle
5. Fehler
6. Änderungswünsche
7. Offene Fragen
8. Anmerkungen
9. Verwandte Dokumente
10. Glossar
Die Teilfunktion
'Einstellungen und Ablauf des Linescan' ist Teil des Diffraktometrie/ Reflektometrie-Gesamtvorganges
(Dokument: 'Diffr./Refl.-Gesamtvorgang'). Der Begriff Linescan steht als
Überbegriff für den Stepscan und den Continuousscan. Er beinhaltet
die Scans, bei denen ein 0-dimensionaler Detektor nur über eine Achse
mißt. Der Unterschied zwischen Step- und Continuousscan besteht darin,
daß beim Stepscan die Probe schrittweise und beim Continuousscan
die Probe kontinuierlich bewegt wird. Im Dokument: 'Diffr./Refl.-Gesamtvorgang'
ist sowohl ihre Einordnung in den Gesamtvorgang beschrieben, als auch der
fachliche Hintergrund. Mit der Teilfunktion 'Einstellungen' sind vor dem
Start und der Kontrolle des Linescan alle dafür relevanten Angaben
eingebbar.
Mit der Teilfunktion 'Ablauf
des Linescan'
2.1.1 StepScan im Standard-Modus
Dialogbox ,Einstellungen Stepscan'
Es wird eine Probe über eine Achse von einem Start- zu einem Endwinkel mit einer bestimmten Schrittweite bewegt und in jedem dieser Schritte wird die von der Probe reflektierte Röntgenstrahlung mit Hilfe eines 0-dimensionalen Detektors gemessen. Diese über dem jeweiligen Winkel abgetragene Intensität wird in Form einer Kurve dargestellt.
Im Einzelnen werden eingestellt:
- Der Scan-Typ: Standard.
- Der Motor ('Scan-Achse'), über den die Probe
bewegt wird, mit dem Start-,
Endwinkel und der Schrittweite.
- Der Detektor zum Messen des reflektierten Röntgenstrahls.
Zur Ermittlung der
Impulsrate werden die Zählzeit und die maximale Impulsrate angegeben
(Detektor-Parameter: Zeit, Counts).
Die maximale Impulsrate gibt den Maximalwert
an, den der Detektor zählen darf. Wird diese vor dem Ablauf der Zählzeit
erreicht, wird die max. Impulsrate auf die Zählzeit hochgerechnet.
Anschließend beginnt ein neues Zeitintervall. Beide Angaben sind
durch ein log. ODER verknüpft.
Erforderliche Parameter:
2.1.2
StepScan im Omega2Theta-Modus
DIALOGBOX wie unter 2.1.1
Beim Omega2Theta-Modus
wird die Probe über die Omega-Achse von einem Start- zu einem Endwinkel
mit einer bestimmten Schrittweite bewegt. Dabei wird zusätzlich in
jedem Omega-Schritt ein 0-dimensionaler Detektor um 2 Theta-Schritte über
die Theta-Achse bewegt. Die in jedem Omega-Schritt von der Probe reflektierte
Röntgenstrahlung wird mit diesem Detektor gemessen und bezüglich
der Omega-Winkel als Kurve abgetragen.
Im Einzelnen werden eingestellt:
- Der Scan-Typ: Omega2Theta
- Der Start-, Endwinkel und die Schrittweite des Omega-Motors.
- Der Detektor zum Messen des reflektierten Röntgenstrahls. Zur
Ermittlung der
Impulsrate werden die Zählzeit und die maximale Impulsrate angegeben
(Detektor-Parameter: Zeit, Counts).
Die maximale Impulsrate gibt den Maximalwert
an, den der Detektor zählen darf. Wird diese vor dem Ablauf der Zählzeit
erreicht, wird die max. Impulsrate auf die Zählzeit hochgerechnet.
Anschließend beginnt ein neues Zeitintervall. Beide Angaben sind
durch ein log. ODER verknüpft.
Erforderliche Parameter:
2.1.3 Sichern von StepScan-Kurven
DIALOGBOX wie unter 2.1.1
Beim Standard- sowie Omega2Theta-Scan entsteht je
Messung eine Kurve. Diese kann während der Messung Punkt für
Punkt oder am Ende der Messung in einer Datei ablegt werden ('Speicher-Optionen').
Dabei werden zusätzlich Informationen zur Messung in der Datei gespeichert.
Im Einzelnen werden eingestellt:
- Ständig Sichern (Checkbox: An/Aus).
- Bei Beenden speichern (Checkbox: An/Aus).
- Sicherungs-Verzeichnis für die Kurven-Datei.
Erforderliche Parameter:
2.1.4 Verwenden eines Kontroll-Detektors
DIALOGBOX wie unter 2.1.1
Um verfälschten Intensitätsmessungen
aufgrund eines nichtkonstanten Röntgenstrahls Rechnung zu tragen,
ist es möglich, beim Standard- sowie Omega2Theta-Scan einen zweiten
Detektor als Monitor-Detektor zu benutzen, der in jedem Schritt die Intensität
der Röntgenquelle mißt.
Im Einzelnen werden eingestellt:
- Monitor-Signal (Checkbox: An).
- Monitor-Signal-Button zur Auswahl eines Kontroll-Detektors.
Erforderliche Parameter:
2.1.5 ContinuousScan
In diesem Modus wird die Probe von einem
Startpunkt beginnend über eine Achse mit einer bestimmten Geschwindigkeit
bewegt. Während dieser kontinuierlichen Bewegung der Probe wird eine
bestimmte Zahl von Messungen der reflektierten Strahlung mit einem 0-dimensionalen
Detektor über eine bestimmte Zeit durchgeführt. Der Bereich,
über den die Probe bezüglich der Achse bewegt wird, ergibt sich
aus der Anzahl der Messungen, der Zeit pro Messung und der Geschwindigkeit,
mit der die Probe bewegt wird. Der Continuousscan ist sinnvoll als Übersichtsscan,
zum Anschauen der Strukturen und um Peaks zu erkennen.
Dialogbox ,Einstellungen Continuousscan'
Im Einzelnen werden eingestellt:
- Der Motor ('Scan-Achse'), über den die Probe bewegt wird mit
dem Startwinkel und der Geschwindigkeit des Motors.
- Der Detektor('Sensor') zum Messen des reflektierten Röntgenstrahls.
Die Meßzeit gibt an, wie lange der Detektor die Impulse für
einen Meßpunkt zählt.
- Die Anzahl der Meßpunkte der Messung.
Erforderliche Parameter:
2.1.6 Start und Beenden der Teilfunktionen
Start:
Die Dialogbox 'Einstellungen
Stepscan' wird geöffnet über:
à
das Scanfenster-Menü - ,Setup Stepscan ...'
Die Dialogbox 'Einstellungen
ContinuousScan' wird geöffnet über:
à
das Scanfenster-Menü - ,Setup ContinuousScan ...'
Beendigung:
Die Dialogbox wird geschlossen:
- über die Buttons Abbrechen und OK
- über den Windows-Button 'x'
Nur nachdem gültige Parameter eingegeben wurden (d.h., eine der Einstellungsdialogboxen wurde bereits aufgerufen) und wenn weiterhin gerade kein anderer Scan läuft (dieser müßte vorher unterbrochen werden), kann ein Scanvorgang gestartet werden. Dies geschieht über das Scanfenster-Menü => 'Scan starten'
Daraufhin wird eine Dialogbox angezeigt, in der man einen Dateinamen
auswählen bzw. eingeben kann. .(#Fehler:10)
Dialogbox ,Sichern unter...'
Wird diese Dialogbox verlassen,
ohne einen Dateinamen anzugeben, bekommt die Datei automatisch den Namen
'SCANXXX.crv'. Wobei XXX für die kleinste nicht neg. Zahl steht, für
die so eine Datei noch nicht existiert(z.B. SCAN002.crv, wenn SCAN000.crv
und SCAN001.crv schon existieren). Es folgt eine Messagebox, die über
den jeweils gewählten Scanmodus (Standard, Omega-2Theta, Continuous),
die Scanachse, über welche die Probe bewegt werden soll, sowie den
Bereich, über den die Probe bewegt werden soll, informiert und die
Möglichkeit gibt, den Scanstart abzubrechen bzw. fortzusetzen.
Messageboxen ,Start Scan'
Wurde beim Standard- oder Omega2ThetaScan
in der Einstellungsdialogbox die Speicheroption 'Ständig sichern'
oder 'Bei Beenden speichern' aktiviert, so folgt jetzt eine Dialogbox,
in der man den Dateinamen eingeben kann, unter dem die Meßwerte des
Scans abgelegt werden sollen. Diese Dialogbox erscheint (bei allen Scantypen)
auch wenn sich eine nachgeladene Kurve im Speicher befindet und keine der
Speicheroptionen aktiviert wurde. In diesem Fall wird die aktuelle Hauptkurve
unter dem gewählten Dateinamen (mit falschen Headerinformationen)
abgelegt.
a)Standardscan
Der Motor bewegt sich nun auf die Startposition des Scans. Dies wird
in der Statusleiste des Hauptfensters durch den Text "Anfahren der Startposition
..." angezeigt. Hat der Motor diese Startposition erreicht, beginnt die
erste Messung des Detektors und falls eingestellt, die des Monitordetektors.
Nach erfolgter Messung wird folgender Text in der Statusleiste des Hauptfensters
angezeigt. " Scan ... Winkel = XXX Intensität = YYY verbl. Zeit =
ZZZ Min.", wobei
·XXX
die aktuelle Position des Motors ist,
·YYY
die vom Detektor gemessene Intensität an dieser Position (kein Monitor
eingestellt) ist,
·YYY
der Quotient aus der vom Detektor gemessene Intensität an dieser Position
und der vom Monitordetektor gemessenen Intensität an dieser Position
(Monitor eingestellt) ist,
·
ZZZ die bis zum Ende des Scans verbleibende Zeit ist (da dieser Wert durch
Hochrechnen der Dauer der Messung des ersten Punktes auf die Gesamtzahl
der
Meßpunkte erfolgt, ist diese Angabe im ersten Schritt sowie bei
dynamischer Schrittweitensteuerung falsch).
Anschließend wird
über der Motorposition die dazugehörige Detektorintensität
ins Koordinatensystem des Linescan-Fensters eingezeichnet und bei aktiviertem
'Ständig sichern' in die ausgewählte Datei geschrieben. Nun fährt
der Motor auf den nächsten Meßpunkt. Dieser entspricht, wenn
keine dynamische Schrittweitensteuerung aktiviert ist, der aktuellen Motorposition
+ der eingestellten Schrittweite aus der Einstellungsdialogbox. Bei eingestellter
Schrittweitensteuerung wird die Schrittweite in Abhängigkeit von der
gemessenen Detektorintensität (die bei eingestelltem Monitor mit der
Monitorintensität normiert wird) ermittelt. Dabei wird diese Intensität
mit dem ersten Wert im ini-File unter '[Scan] Level i ' verglichen und
das i ermittelt, für das dieser Wert größer als die gemessene
Intensität ist. Anschließend wird die neue Schrittweite aus
dem Produkt des zweiten Wertes des Level i und der eingestellten Schrittweite
aus der Einstellungsdialogbox gebildet und der nächste Meßpunkt
(aktuelle Motorposition + neue Schrittweite) angefahren. Am nächsten
Meßpunkt angekommen, beginnt die nächste Messung des Detektors
und falls eingestellt des Monitordetektors.
Hat der Motor den letzten Meßpunkt
erreicht und die Messung durchgeführt, dargestellt und bei 'Ständig
sichern' gespeichert, wird in der Statusleiste des Hauptfensters 'Scan
Ready' angezeigt. Jetzt fährt der Motor auf die Position zurück,
auf der er sich vor Beginn des Scans befunden hat. Wenn ,Bei Beenden speichern'
eingestellt ist, so wird jetzt die komplette Kurve in der ausgewählten
Datei abgelegt und folgende Meldung ausgegeben:
Bei 'Ständig sichern' wird der Headerteil
der Datei aktualisiert. Bei 'Ständig sichern' und bei einem Scan ohne
ausgewählte Speicheroptionen wird nun folgende Meldung ausgegeben:
b)Omega2ThetaScan
Der Omega- und der Thetamotor bewegen sich nun auf die Startpositionen
des Scans. Dies wird in der Statusleiste des Hauptfensters durch den Text
"Anfahren der Startposition ..." angezeigt. Haben die Motoren diese Startpositionen
erreicht, beginnt die erste Messung des Detektors und falls eingestellt
des Monitordetektors. Nach erfolgter Messung wird folgender Text in der
Statusleiste des Hauptfensters angezeigt."Scan ... Winkel = XXX Intensität
= YYY verbl. Zeit = ZZZ Min.", wobei
·XXX
die aktuelle Position des Omegamotors ist,
·YYY
die vom Detektor gemessene Intensität an dieser Position (kein Monitor
eingestellt) ist,
·YYY
der Quotient aus der vom Detektor gemessenen Intensität an dieser
Position und der vom Monitordetektor gemessenen Intensität an
dieser
Position (Monitor eingestellt) ist,
·ZZZ
die bis zum Ende des Scans verbleibende Zeit ist(da dieser Wert durch
Hochrechnen der Dauer der Messung des ersten Punktes auf die Gesamtzahl
der Meßpunkte erfolgt, ist diese Angabe im ersten Schritt sowie
bei
dynamischer Schrittweitensteuerung falsch).
Haben die Motoren den letzten Meßpunkt
erreicht und die Messung durchgeführt, dargestellt und bei 'Ständig
sichern' gespeichert, wird in der Statusleiste des Hauptfensters 'Scan
Ready' angezeigt. Jetzt fahren der Omegamotor und der Thetamotor auf die
Position zurück, auf der er sich vor Beginn des Scans befunden hat.
Wenn ,Bei Beenden speichern' eingestellt ist so wird jetzt die komplette
Kurve in der ausgewählten Datei abgelegt. Bei ,Ständig sichern'
wird der Headerteil der Datei aktualisiert. Es werden jeweils dieselben
Meldungen wie beim Standardscan (2.2.1 a)) ausgegeben.
2.2.2 Unterbrechen eines Scans
Ein laufender Scan kann unterbrochen werden.
Dies geschieht entweder über den Hauptfenster-Menüpunkt 'Ausführen'->'Messung
unterbrechen' oder durch Drücken der ESC-Taste. Daraufhin wird der
Motor gestoppt. Bei einem Standard- oder Omega-2ThetaScan erscheint in
der Statusleiste die Meldung 'Messung wurde unterbrochen'. Es werden keine
weiteren Punkte in die aktuelle Kurve aufgenommen. Weiterhin ändert
sich der Menüeintrag des Hauptfenster-Menüs 'Ausführen'
von 'Messung unterbrechen' zu 'Messung fortsetzen'. Es kann jetzt auch
wieder ein neuer Scan gestartet werden (der Menüpunkt 'Scan starten'
ist wieder aktiv). Bei einem Continuousscan erscheint in der Statusleiste
keine Meldung und der Scan kann auch nicht fortgesetzt werden. Der Menüpunkt
'Messung unterbrechen' wird nicht geändert... à
siehe 2.1.5
2.2.3 Fortsetzen eines Scans
Ein unterbrochener Standard- bzw. Omega2Theta-Scan
kann fortgesetzt werden. Dies geschieht entweder über den Hauptfenster-Menüpunkt
'Ausführen'-> 'Messung fortsetzen' oder durch Drücken der ESC-Taste.
Daraufhin wird der Motor auf den nächsten Meßpunkt bewegt und
der Scan wird fortgesetzt.
!!Achtung!! Wenn der Motor während
der unterbrochenen Messung bewegt wurde, so wird ab einer falschen Position
weitergemessen.
In der Statusleiste erscheinen wieder die
aktuellen Scan-Informationen. Es werden wieder weitere Punkte in die aktuelle
Kurve aufgenommen. Weiterhin ändert sich der Menüeintrag des
Hauptfenster-Menüs 'Ausführen' von 'Messung fortsetzen' zu 'Messung
unterbrechen'. Ein Continuousscan kann nicht fortgesetzt werden.
2.3 Sonstige Funktionen
2.3.1 Kurve laden
Eine in einer Datei abgelegte Meßkurve
(Formate '.bk/.crv') kann über den Hauptfenster-Menüpunkt 'Datei'
-> 'Nachladen...' geladen und im Scanfenster dargestellt werden. Dieser
Menüpunkt ist nur anwählbar, wenn ein Linescan-Fenster geöffnet
ist. Eine Auswahl der zu ladenden Datei geschieht über folgende Dialogbox:
Bei einer Datei wird der Ladevorgang abgebrochen,
wenn der Headerteil der Datei weniger als 100 Byte enthält, die [Header]-marke
nicht existiert oder (bei einer CRV-Datei) in den Headerinformationen ein
Filetyp<>1 eingetragen ist. Folgende Fehlermeldung wird ausgegeben:
Außerdem wird das Nachladen abgebrochen, wenn keine Meßwerte
hinter der [DATA]-marke folgen.
Zunächst werden folgende Headerinformationen in die allgemeinen
Einstellungen übernommen (nur bei CRV):
·UseràNutzer
·TargetàName
·OrientationàOrientierung
·Reflectionàuntersuchter
Reflex
·WaveLengthàWellenlänge
2.3.2 Kurve speichern
a)Hauptkurve
Eine im Scanfenster dargestellte Kurve läßt sich über
den Hauptfenster-Menüpunkt 'Datei' -> 'Sichern' oder 'Sichern unter
...' in einer CRV-Datei ablegen, wobei beim 'Sichern unter ...' in folgender
Dialogbox ein Dateiname einzugeben bzw. auszuwählen ist.
DIALOGBOX wie unter 2.2.1
Beim 'Sichern' einer bereits gespeicherten
Kurve wird folgende Meldung in der Statusleiste des Hauptfensters angezeigt:
'File wurde bereits gespeichert!'. Wurde die Kurve noch nicht gespeichert,
so entspricht der Vorgang dem des 'Sichern unter ...'. Nun werden die Headerinformationen
sowie die Daten in diese Datei gespeichert (siehe 3.2.2) Anschließend
wird dieser neue Dateiname in die Titelleiste des Scanfensters eingetragen.
b) fixierte Kurve
Eine fixierte Kurve läßt
sich über das Scanfenster-Menü 'Scan' -> 'Speichern' in einer
über eine Dialogbox (wie unter a) ausgewählten Datei im BK-Format
ablegen. Nun werden die Headerinformationen sowie die Daten in diese Datei
gespeichert (siehe 3.2.3)
2.3.3 Kurve löschen
a)Hauptkurve
Eine Hauptkurve läßt sich über das Hauptfenster-Menü
'Datei' -> 'Neu' löschen. Dabei wird die Kurve aus dem Scanfenster
entfernt und die Titelleiste erhält den Eintrag 'untitled.crv'.
b) fixierte Kurve
Eine fixierte Kurve
läßt sich über das Scanfenster-Menü 'Scan' -> 'Löschen'
löschen. Dabei wird die fixierte Kurve aus dem Scanfenster entfernt.
2.3.4 Kurve fixieren
Eine Hauptkurve läßt sich fixieren,
um so die Möglichkeit zu haben, sie direkt mit anderen Kurven im Scanfenster
vergleichen zu können. Dabei wird eine bereits fixierte Kurve gelöscht.
Diese Funktion wird über das Scanfenster-Menü 'Scan' -> 'Fixieren'
aufgerufen. Diese Kurve wird aber erst beim Start eines neuen Scans bzw.
nach dem Laden einer Kurve farblich als fixiert gekennzeichnet (blau).
Sie bleibt solange fixiert, bis sie gelöscht wird (siehe 2.3.3 b)
oder eine andere Kurve fixiert wird.
2.4 Start und Beenden der Teilfunktion (Fenster)
2.4.1 Start der Teilfunktion (Fenster)
Ein Linescan-Fenster kann über den Hauptfenster-Menüpunkt
'Öffnen' -> 'Scan-Fenster' geöffnet werden. Dies ist nur möglich,
wenn nicht bereits ein anderes Scanfenster geöffnet ist oder die Anzahl
der geöffneten XCTL-Fenster kleiner als 5 ist. Dabei werden die im
[Scan]-Abschnitt des Ini-Files befindlichen Parameter eingelesen bzw. wenn
nicht vorhanden, auf ihre Defaultwerte gesetzt. Anschließend wird
das Scanfenster an die im Ini-File (siehe 3.2.1) angegebene Position gezeichnet.
In das Scanfenster wird ein Koordinatensystem gezeichnet (siehe Pflichtenheft
'Bildnerische Darstellung'). Außerdem wird der Ausdruck 'untitled.crv'
in die Titelleiste des Fensters eingetragen. Die Funktionen unter 2.3.1
bis 2.3.4 lassen sich nur anwählen, wenn ein Scanfenster geöffnet
ist. Nach dem Öffnen eines Scanfensters läßt sich das Scanfenster-Menü
durch Betätigen der rechten Maustaste an der aktuellen Position des
Mauszeigers aufrufen.
2.4.2 Beenden der Teilfunktion (Fenster)
Ein Linescan-Fenster läßt sich
nur über das 'x'-Symbol in der Titelleiste des Scanfensters schließen.
Ein gerade laufender Scan wird abgebrochen. Wenn sich im Fenster eine Hauptkurve
befindet, die noch nicht gespeichert wurde, so erfolgt vor dem Schließen
des Fensters eine Anfrage, ob sie vorher gespeichert werden soll. Anschließend
werden einige Parameter ins Ini-File übernommen (siehe 3.2.1).
3. Daten
3.1 Benutzerschnittstelle
3.1.1 Dialogbox ,Einstellungen StepScan'
Dialogbox ,Einstellungen StepScan'
- Die Dialogbox ist mausgesteuert.
- Der Wechsel zwischen den Dialogelementen ist mittels TAB möglich.
- Das Drücken von Return innerhalb der Dialogbox aktiviert das
OK-Button.
- Alle Checkboxen sind über Shortcuts (de)aktivierbar.
3.1.1.2 Eingabe/Ausgabe und Prüfung
- [Combobox]:Auswahl der Scan-Achse (Motor)
Über die hier ausgewählte Scan-Achse soll die Probe bewegt
werden.
Angezeigt werden alle in der ini-Datei spezifizierten und physisch
verfügbaren Motoren: ini-Datei: [Motor i], Name=
à
Der gerade aktive Motor wird vorausgewählt.
Nur bei Standard Scan ist die Auswahl eines Motors möglich.
- [Textfeld]:Einheit
Dieses nicht durch den Nutzer editierbare Feld zeigt die zum eingestellten
Motor zugehörige Einheit an.
à
Wert kommt vom Motor (aus ini-File des aktuellen Motors)
- [Textfeld]:Minimum
Hier wird die Startposition des ausgewählten Motors für den
Scan eingegeben.
à
Wert bei erstem Aufruf der Box auf -100 * Schrittweite des aktuellen Motors
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich:[min. Winkel des Motors, Schrittweite
des Motors, max.
Winkel des Motors- Schrittweite
des Motors]
Der Wert muß echt kleiner
als das eingegebene Maximum sein.
- [Textfeld]:Schrittweite
Hier wird die Schrittweite, mit der die Probe über den ausgewählten
Motor während des Scans bewegt werden soll, eingegeben.
à
Wert bei erstem Aufruf der Box auf Schrittweite des aktuellen Motors
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich:[Werte ungleich null]
-[Textfeld]:Maximum
Hier wird die Endposition des ausgewählten Motors für den
Scan eingegeben.
à
Wert bei erstem Aufruf der Box auf 100 * Schrittweite des aktuellen Motors
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich:[min. Winkel des Motors+Schrittweite des
Motors, Schrittweite des Motors, max. Winkel des Motors]
b) Gruppenfeld:[Scan-Typ]
- [Combobox]: Auswahl des Scan-Typs
Hier kann die Art des Scans zwischen Standard und Omega2Theta gewählt
werden.
à
Beim ersten Aufruf der Box wird Standard vorausgewählt.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Der Scan-Typ 'Omega2Theta' läßt sich nur auswählen,
wenn sowohl der Omega- als auch der Thetamotor verfügbar ist.
c) Gruppenfeld:[Detektor]
- [Combobox]:Auswahl des Detektors
Hier kann der 0-dimensionale Detektor, mit dem während des Scans
gemessen werden soll, ausgewählt werden.
Angezeigt werden alle in der ini-Datei spezifizierten und physisch
verfügbaren Detektoren: ini-Datei: [Device i], Name=
à
Der gerade aktive Detektor wird vorausgewählt.
- [Textfeld]: Zeit ... sec
Zeitintervall in Sekunden, in welchem der Detektor die Impulsrate zählt.
à
Bei erstem Aufruf der Box aus ini-File: [Scan], ExposureTime=
à
Bei erstem Aufruf der Box und fehlendem Eintrag in ini-Datei auf '1.0'
setzen.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
- Zulässiger Wertebereich: [Wert ungleich null ]
- [Textfeld]: Counts
Maximale Impulsrate, die der Detektor zählen darf.
à
Bei erstem Aufruf der Box aus ini-File: [Scan], ExposureCounts=
à
Bei erstem Aufruf der Box und fehlendem Eintrag in ini-Datei auf '10000'
setzen.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich: [Wert ungleich null]
Detektor-Zeit und -Counts sind durch ein log. ODER verknüpft. Bei
Erfüllung einer Bedingung erfolgt eine Reaktion.
d) Gruppenfeld:[]
- [Checkbox]:Monitor-Signal
Hier kann man einstellen, ob ein Kontrolldetektor benutzt werden soll
oder nicht.
à
Beim ersten Aufruf der Box nicht markiert.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Läßt sich nur aktivieren, wenn ein Detektor zur Verfügung
steht.
- [Button]:
Hier läßt sich ein Monitordetektor auswählen.
Durch Anklicken dieses Buttons wählt man nach dem Rotationsprinzip
einen in der ini-Datei spezifizierten und physisch verfügbaren
Detektor.
Der Button erhält jeweils den Namen des aktuellen Monitors.
à
Dieser Button ist nur dann aktiv, wenn die Checkbox 'Monitor-Signal' markiert
ist.
e) Gruppenfeld:[Speicher-Optionen]
- [Checkbox]:Ständig Sichern
Hier kann man einstellen, ob man während des Scans die Meßwerte
fortlaufend in einer crv-Datei ablegen möchte.
à
Beim ersten Aufruf der Box nicht markiert.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
-[Checkbox]:Bei Beenden speichern
Hier kann man einstellen, ob man die Meßwerte eines Scans erst
nach Beendigung des Scans in einer crv-Datei ablegen möchte.
à
Bei erstem Aufruf der Box aus ini-Datei [Scan], SaveOnReady=
à
Bei erstem Aufruf der Box und fehlendem Eintrag in ini-Datei auf 'markiert'
setzen.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
-[Textfeld]:Sicherungs-Verzeichnis
Hier kann man den Pfad angeben, in dem die Kurvendateien abgelegt werden
soll.
à
Bei erstem Aufruf der Box aus ini-Datei [Scan], DataPath=
à
Bei erstem Aufruf der Box und fehlendem Eintrag in ini-Datei auf 'C:\\'
setzen.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich: [alle existierenden Verzeichnisse, auf
die man Schreibrecht
besitzt]
f) Aktionsschalter: [Abbrechen]
Dialogbox schließen, bereits eingegebene Werte werden verworfen.
g) Aktionsschalter: [OK]
Mit der Taste 'OK' werden die aktuellen Einstellungen überprüft.
Bei Korrektheit aller Werte werden die Werte übernommen und die
Dialogbox geschlossen, sonst bleibt die Dialogbox geöffnet und evtl.
werden einige Einstellungen automatisch geändert:
- 'Maximum' wird nur übernommen, wenn der Wert kleiner oder gleich
dem Maximum des Motors ist.
Sonst wird 'Maximum' auf (Maximum des Motors)
- (Schrittweite des Motors) gesetzt.
- 'Schrittweite' wird übernommen, wenn der Eintrag ungleich 0
ist. (#Fehler:08)
- 'Minimum wird übernommen, wenn der Wert größer oder
gleich dem Minimum des Motors ist (I) und weiterhin kleiner als der Wert
für 'Maximum' ist (II).
Trifft (II) nicht zu, wird 'Minimum' auf 'Maximum'-10*(Schrittweite
des Motors) gesetzt.
Trifft (I) nicht zu, wird 'Minimum' auf (Minimum
des Motors)+10*(Schrittweite des Motors) gesetzt.
- 'Zeit' wird übernommen, wenn der Wert ungleich 0 ist. (#Fehler:08)
- 'Impulse' wird nur übernommen, wenn der Wert ungleich 0 ist.
(#Fehler:08)
- 'Sicherungs-Verzeichnis' wird übernommen, wenn der Pfad existiert.
Sonst wird der Pfad auf "C:\\" gesetzt.
- Alle weiteren Einstellungen werden ohne weitere Prüfung übernommen.
3.1.2 Dialogbox ,Einstellungen ContinuousScan'
Dialogbox ,Einstellungen ContinuousScan'
- Der Wechsel zwischen den Dialogelementen ist mittels TAB möglich.
- Das Drücken von Return innerhalb der Dialogbox aktiviert das
OK-Button.
3.1.2.2 Eingabe/Ausgabe und Prüfung
a)Gruppenfeld :[Scan-Achse]
- [Combobox]:Auswahl der Scan-Achse (Motor)
Über die hier ausgewählte Scan-Achse soll die Probe bewegt
werden.
Angezeigt werden alle in der .ini-Datei spezifizierten und physisch
verfügbaren Motoren: .ini-Datei: [Motor i], Name=
à
Der gerade aktive Motor wird vorausgewählt.
Bei Auswahl eines neuen Motors werden alle Felder außer Meßzeit
auf die jeweiligen Defaultwerte gesetzt.
- [Textfeld]:Einheit
Dieses nicht durch den Nutzer editierbare Feld zeigt die zum eingestellten
Motor zugehörige Einheit an.
à
Wert kommt vom Motor (aus ini-File des akt.Motors)
- [Textfeld]:Startpunkt
Hier wird die Startposition des ausgewählten Motors für den
Scan eingegeben.
à
Wert bei erstem Aufruf der Box auf -100 * Schrittweite des aktuellen Motors
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich: [min. Winkel des Motors, Schrittweite
des Motors, max. Winkel des Motors- Schrittweite des Motors]
- [Textfeld]:Geschwindigkeit
Hier kann man die Geschwindigkeit eingeben, mit der die Probe während
des Scans bewegt werden soll.
à
Beim ersten Aufruf der Box wird Geschwindigkeit des aktuellen Motors gesetzt.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich[keine Einschränkung]
b)Gruppenfeld:[Sensor]
- [Combobox]:Auswahl des Sensors
Hier kann der 0-dimensionale Detektor, mit dem während des Scans
gemessen werden soll, ausgewählt werden.
Angezeigt werden alle in der .ini-Datei spezifizierten und physisch
verfügbaren Detektoren: .ini-Datei: [Device i], Name=
à
Der gerade aktive Detektor wird vorausgewählt.
Bei Auswahl eines neuen Sensors werden alle Felder außer Meßzeit
auf die jeweiligen Defaultwerte gesetzt.
-[Textfeld]:Meßzeit ... sec
Hier kann man die Zeit eingeben, während der der Detektor die
Impulse für einen Meßpunkt zählt.
à
Bei erstem Aufruf der Box aus ini-File: [Scan], ExposureTime=
à
Bei erstem Aufruf der Box und fehlendem Eintrag in ini-Datei auf '1.0'
setzen.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich: [Werte ungleich null]
-[Textfeld]:Meßpunkte
Hier kann man die Anzahl der Meßpunkte des Scans eingeben.
à
Beim ersten Aufruf der Box auf 100 gesetzt.
à
Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.
Zulässiger Wertebereich: [Werte ungleich null]
c) Aktionsschalter: [Abbrechen]
Dialogbox schließen, bereits eingegebene Werte werden verworfen.
d) Aktionsschalter: [OK]
Mit der Taste 'OK' werden die aktuellen Einstellungen
überprüft. Bei Korrektheit aller Werte werden die Werte übernommen
und die Dialogbox geschlossen, sonst bleibt die Dialogbox geöffnet
und eventuell werden einige Einstellungen automatisch geändert:
- 'Meßpunkte' werden übernommen, wenn der Wert ungleich
0 ist, sonst wird er auf 10
gesetzt.
- 'Startpunkt' wird übernommen, wenn Wert größer oder
gleich dem Minimum des
Motors ist. Er wird sonst auf (akt. Winkel des Motors)-30 gesetzt.
- 'Geschwindigkeit' wird ohne Prüfung übernommen.
- 'Meßzeit' wird übernommen, wenn Wert ungleich 0.
Erforderlich ist der Scan-Abschnitt mit zahlreichen Parametern. Dies
soll an einem Beispiel erläutert werden:
Beispiel:
[Scan]
DataPath=C:\DATA\
ExposureTime=1.00
ExposureCounts=150000
Failure=0.02
xo=18
yo=61
dx=694
dy=662
SaveOnReady=1
DynamicStepWidth=1
Level 0 2000 2
Level 1 3000 1.5
Level 2 4000 1.4
Level 3 5000 1.3
Level 4 6000 1.2
Level 5 8000 1.1
Level 6 10000 1
Level 7 12000 0.9
Level 8 16000 0.8
Level 9 20000 0.7
Level 10 25000 0.5
Erklärung:
Die Meßwertreihen werden in einem Dateiformat abgelegt, welches
sich in einen Header- und einen Daten-Abschnitt unterteilt. Dies soll an
einem Beispiel erläutert werden:
Beispiel:
Comment=Diffraktometrie-Meßplatz
[Header]
User=Gartstein
Date=15.05.2000 Time=17:42:08
DataOffset=1000
Point_Number=21
FileType=1
Target=1445 Reflection=[000] Orientation=[001]
ArgumentMin=-10.00 ArgumentWidth=1.000 ArgumentMax=10.00
WaveLength=1.540 Current=25 HV=30
TimePerScan=1.00
[Data]
-9.998 530.2849 0.0000
-8.999 628.6367 0.0000
-7.995 849.3754 0.0000
-6.996 1173.1509 0.0000
-5.998 1869.6578 0.0000
-4.999 3324.6497 0.0000
-3.995 6308.4224 0.0000
-2.996 11779.9170 0.0000
-1.997 18131.5430 0.0000
-0.999 21413.2988 0.0000
0.000 22541.0898 0.0000
1.004 23267.3555 0.0000
2.003 20869.2754 0.0000
3.002 13469.2734 0.0000
4.000 6937.8330 0.0000
5.005 3470.7600 0.0000
6.004 1964.4679 0.0000
7.002 1231.4954 0.0000
8.001 886.4710 0.0000
9.005 617.1450 0.0000
10.004 499.9311 0.0000
Erklärung:
In der 1.Zeile steht Comment=A, wobei A für den Eintrag unter
'Einstellungen' => 'Programm' steht unter 'Besondere Bedingungen'.
Es folgt der Abschnitt [Header], der folgende Einträge enthält:
- 'User' wird aus 'Einstellungen' => 'Programm' unter 'Nutzer' übernommen.
- 'Date' und 'Time' enthalten das aktuelle Datum bzw. die aktuelle
Systemzeit zu Beginn
der Messung.
- 'DataOffset' gibt an, ab welchem Byte die Kurvendaten in der Datei
stehen. Der Wert
ist vom Programm auf 1000 festgesetzt.
- 'Point_Number' gibt die Anzahl der Punkte der Kurve an.
- 'FileType' ist vom Programm auf 1 festgesetzt.
- 'Target', 'Reflection' und 'Orientation' werden aus 'Einstellungen'
=> 'Programm' unter
'Angaben zur Probe' übernommen.
- 'ArgumentMin', 'ArgumentWidth', 'ArgumentMax' enthalten die Werte
für Minimum,
Schrittweite, Maximum des verwendeten Motors.
- 'WaveLength', 'Current', 'HV' werden aus dem 'Einstellungen' => 'Programm'
unter
'Betriebsparameter' übernommen.
- TimePerScan' enthält die Meßzeit pro Schritt.
Es folgt der Abschnitt [Data], der folgende Einträge enthält:
- Jede Zeile enthält die Informationen eines Punktes, bestehend
aus 3 Werten: dem
Winkel, der Intensität und der Z-Koordinate.
- Der Z-Wert ist immer 0, außer
- bei Verwendung eines Monitors
(die gemessene Monitorintensität) oder
- beim Omega2Theta-Scan (der zugehörige
Thetawinkel)
3.2.3 bk-Dateien
Die fixierten Kurven werden in einem Dateiformat abgelegt, welches sich
in einen Header- und einen Daten-Abschnitt unterteilt. Dies soll an einem
Beispiel erläutert werden:
Beispiel:
[Header]
Vergleichs-Scan
X >> Intensity >> Z
[Data]
-9.998 530.2849 0.0000
-8.999 628.6367 0.0000
-7.995 849.3754 0.0000
-6.996 1173.1509 0.0000
-5.998 1869.6578 0.0000
-4.999 3324.6497 0.0000
-3.995 6308.4224 0.0000
-2.996 11779.9170 0.0000
-1.997 18131.5430 0.0000
-0.999 21413.2988 0.0000
0.000 22541.0898 0.0000
1.004 23267.3555 0.0000
2.003 20869.2754 0.0000
3.002 13469.2734 0.0000
4.000 6937.8330 0.0000
5.005 3470.7600 0.0000
6.004 1964.4679 0.0000
7.002 1231.4954 0.0000
8.001 886.4710 0.0000
9.005 617.1450 0.0000
10.004 499.9311 0.0000
Erklärung:
Im [Header]-abschnitt stehen nur die beiden Strings wie im Beispiel.
Es folgt der Abschnitt [Data], der folgende Einträge enthält:
- Jede Zeile enthält die Informationen eines Punktes, bestehend
aus 3 Werten: dem
Winkel, der Intensität und der Z-Koordinate.
- Der Z-Wert ist immer 0, außer
- bei Verwendung
eines Monitors (die gemessene Monitorintensität) oder
- beim Omega2ThetaScan (der zugehörige
Thetawinkel)
4. Testfälle
Folgende Abläufe beinhalten eine minimale Überdeckung der
Funktionalitäten von LineScan und AreaScan. Dabei wurde auf den Test
der fehlerhaften Funktionalitäten (ContinuousScan, External sync.)
verzichtet.
Testabläufe
Bei allen Fehlern siehe auch die Fehlerliste.
Erweiterung um
keine
Nach dem Durcharbeiten des Dokuments Diffraktometrie/Reflektometrie-Gesamtvorgang,
Analyse des XCTL-Steuerprogramms und der zugehörigen Quellen sowie
Klärung offener Fragen mit Physikern entstand dieses Pflichtenheft.
Grundlage für die Form des Dokuments war das Pflichtenheft der Topographie.
Neuerungen zur Version 2.1:
Kurve
Eine Kurve ist eine Folge von Tripeln (x,y,z), wobei x die Motorposition,
y die an dieser Motorposition gemessene Intensität und z eine Zusatzinformation
(z.B. die Monitorintensität), die nicht im Linescan-Fenster dargestellt
wird, angibt. Die Messungen während eines Linescans werden in einer
solchen Struktur abgelegt.
Dynamische Schrittweitensteuerung
Die dynamische Schrittweitensteuerung ist ein Mechanismus, der es erlaubt,
während des laufenden Scans die Schrittweite zum nächsten Meßpunkt
abhängig von der gerade gemessenen Detektorintensität festzulegen.
Dadurch ist es möglich, einen für die Auswertung besonders wichtigen
Bereich (z.B. den Peak) genauer und unwichtige Bereiche nur grob zu betrachten.