DOKUMENTNAME:

Pflichtenheft RTK-Steuerprogramm
 
Hauptfunktion: Diffraktometrie/Reflektometrie
Teilfunktion: Einstellungen und Ablauf beim AreaScan

Dokumentversion: 1.0 (letzte Änderung: 07.Dezember 2000)
Autor: J. Ullrich, S.Berndt
Zustand:   in Bearbeitung


Inhalt

1. Überblick
2. Funktionale Beschreibung
2.1 Einstellungen
2.1.1 AreaScan im Standard-Modus
2.1.2 AreaScan im Omega2Theta-Modus
2.1.2.1 AreaScan im Omega2Theta-Modus mit einem Psd
2.1.2.2 AreaScan im Omega2Theta-Modus mit einem 0-dimensionalen Detektor
2.1.3 Verwenden eines Absorbers
2.1.4 Sichern von AreaScan-Kurven
2.1.5 Einstellungen für den Detektor
2.1.6 Start und Beenden der Teilfunktionen
2.2 Ablauf des AreaScan
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 Datenbasis laden
2.3.2 Datenbasis speichern
2.3.3 Datenbasis löschen
2.3.4 Kurvenfunktionen
2.3.4.1 Kurve fixieren
2.3.4.2 fixierte Kurve speichern
2.3.4.3 fixierte Kurve löschen
2.3.5 Kontinuierliche Spektren darstellen
2.3.5.1 Kontinuierliche Energiespektren darstellen
2.3.5.2 Kontinuierliche Impulsspektren darstellen
2.3.6 PSD extern synchronisieren
2.3.7 Auswahl einer Kurve der Datenbasis
2.3.8 Kalibrieren des PSD
2.4 Start und Beenden der Teilfunktion Areascanfenster
2.4.1 Start der Teilfunktion Areascanfenster
2.4.2 Beenden der Teilfunktion Areascanfenster
3. Benutzerschnittstelle
3.1 Dialogbox ,Einstellungen AreaScan'
3.1.1 Steuerung
3.1.2 Eingabe/Ausgabe und Prüfung
3.2 Dialogbox ,PSD under Remote Sync'
3.2.1 Steuerung
3.2.2 Eingabe/Ausgabe und Prüfung
3.3 Dialogbox ,Scan-Auswahl'
3.3.1 Steuerung
3.3.2 Eingabe/Ausgabe und Prüfung
3.4 Dialogbox ,PSD-Kalibrierung'
3.4.1 Steuerung
3.4.2 Eingabe/Ausgabe und Prüfung
4. Daten
4.1 ini-Datei
4.2 psd-Dateien
4.3 rep-Dateien
4.4 bk-Dateien
5. Testfälle
6. Fehler und Änderungswünsche
6.1 Fehler aus Nutzersicht
6.2 Änderungswünsche
7. Offene Fragen
 
1. Überblick
 
Die Teilfunktion 'Einstellungen und Ablauf des AreaScan' ist Teil des Diffraktometrie/Reflektometrie-Gesamtvorganges (Dokument: 'Diffr./Refl.-Gesamtvorgang').
Dort 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 AreaScan alle dafür relevanten Angaben eingebbar.
Mit der Teilfunktion 'Ablauf des AreaScan'
- kann die Startposition angefahren werden,
- wird die Messung gestartet mit nachfolgender Information zum Stand und Verlauf der Messung,
- kann die Messung angehalten und zu einem späteren Zeitpunkt fortgesetzt werden, - wird die Messung gestoppt.
Mit der Teilfunktion 'Sonstige Funktionen' können
- Datenbasen geladen, gespeichert und gelöscht ,
- Kurven fixiert, sowie fixierte Kurven gespeichert und gelöscht ,
- die kontinuierlichen Energie- und Impuls-Spektren des PSD angezeigt ,
- einzelne Kurven der aktuellen Datenbasis ausgewählt und betrachtet ,
- der Psd kalibriert , - sowie eine Synchronisation des PSD von einer externen Quelle vorgenommen werden.
 
2. Funktionale Beschreibung
 
2.1 Einstellungen
 
2.1.1 AreaScan im Standard-Modus

DIALOGBOX:

Es wird eine Probe über eine Achse (Omega) 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 1-dimensionalen Detektors (Psd) gemessen. Die über alle Kanäle des Psd abgetragenen Intensitäten zur aktuellen Motorposition werden in Form einer Kurve dargestellt. Somit entsteht fortlaufend eine Datenbasis aus mehreren solcher Kurven.  
Im Einzelnen werden eingestellt:
Die folgenden Parameter des OmegaMotors:
- Startwinkel, Endwinkel, Schrittweite
Der Detektor zum Messen des reflektierten Röntgenstrahls. Dies muß beim StandardScan ein 1-dimensionaler Detektor sein. 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.
Für den Lauf eines StandardScan wird die Theta-Achse fixiert.

Erforderliche Parameter:

 

2.1.2 AreaScan im Omega2Theta-Modus

  2.1.2.1 AreaScan im Omega2Theta-Modus mit einem Psd
 
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 1-dimensionaler Detektor (Psd) um einen bestimmten 2Theta-Schritt über die Theta-Achse bewegt. Die in jedem Omega-Schritt von der Probe reflektierte Röntgenstrahlung wird mit diesem Detektor gemessen und wird bezüglich der Kanäle als Kurve abgetragen. Somit entsteht fortlaufend eine Datenbasis aus mehreren solcher Kurven.
 
Im Einzelnen werden eingestellt:
Die folgenden Parameter des OmegaMotors:
- Startwinkel, Endwinkel, Schrittweite
Die folgenden Parameter des 2ThetaMotors:
- Relation: gibt den Faktor zur Schrittweite des OmegaMotors an
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.2 AreaScan im Omega2Theta-Modus mit einem 0-dimensionalen Detektor
 
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 in jedem Omega-Schritt ein 0-dimensionaler Detektor um das Vielfache(Relation) des aktuellen OmegaSchrittes über die Theta-Achse bewegt, anschließend wird der 0-dimensionale Detektor in der angegebenen Schrittweite über einen Bereich gefahren, dessen Mittelpunkt dem Vielfachen(Relation) des aktuellen OmegaSchrittes entspricht. Die in jedem Omega-Schritt von der Probe reflektierte Röntgenstrahlung wird mit diesem Detektor gemessen und wird bezüglich der Omega-Winkel als Kurve abgetragen. Somit entsteht fortlaufend eine Datenbasis aus mehreren solcher Kurven.
 
Im Einzelnen werden eingestellt:
Die folgenden Parameter des OmegaMotors:
- Startwinkel, Endwinkel, Schrittweite
Die folgenden Parameter des 2ThetaMotors:
- Bereich, Relation, Schritt
Der 0-dimensionale 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 Verwenden eines Absorbers
 
DIALOGBOX wie unter 2.1.1

Die Verwendung eines Absorbers macht nur bei eindimensionalen Detektoren Sinn. Mittels eines Drahtes werden einige Kanäle des Detektors abgeschirmt.
Grund: Herausfiltern des Peaks mit der höchsten Intensität, da diese hier oberhalb der vom Detektor verträglichen liegen kann.  
Im Einzelnen werden eingestellt:
- Absorber benutzen (CheckBox: An)

Erforderliche Parameter:


2.1.4 Sichern von AreaScan-Kurven
 
DIALOGBOX wie unter 2.1.1
 
Man kann die Datenbasis während der Messung Kurve für Kurve oder am Ende der Messung in einer Datei ablegen('Speicher-Optionen'). Dabei werden auch Informationen zur Messung in der Datei gespeichert. In einer weiteren Datei (Report) werden zu allen Kurven Zusatzinformationen abgelegt.
 
Im Einzelnen werden eingestellt:
- Kontinuierlich Sichern (CheckBox: An/Aus)
- Bei Beenden speichern (CheckBox: An/Aus)
- Sicherungs-Verzeichnis für die Dateien
 
Erforderliche Parameter:


2.1.5 Einstellungen für den Detektor
 
DIALOGBOX

Die aktuellen Einstellungen für den Detektor können über eine jeweilige, zum Detektor gehörige, Einstellungsbox geändert werden. Diese Box erreicht man über das Button 'Geräte-Einstellungen'. Die genaue Bedeutung der einzelnen Funktionen der jeweilgen Dialogbox sind einem Pflichtenheft zu den Detektoren zu entnehmen.

2.1.6 Start und Beenden der Teilfunktionen

 
Start:
Die Dialogbox 'Einstellungen AreaScan' wird geöffnet über das Scan-Fenster-Menü: Setup Measurement ...
 
Beendigung:
Die Dialogbox wird geschlossen:
- über die Buttons Abbrechen und OK
- über den Windows-Button 'x'
 
2.2 Ablauf des AreaScan
 
2.2.1 Start eines Scans

Nur wenn gerade kein anderer AreaScan läuft( dieser müßte vorher unterbrochen werden) kann ein Scanvorgang gestartet werden. Dies geschieht über das Scanfenster-Menü => 'Start AreaScan'

Wenn noch eine kontinuierliche Anzeige des Psd-Spektrums aktiv ist, muß diese vorher deaktiviert werden. Es erscheint die folgende Meldung:

Die Anzahl der zu erwartenden Scans darf die maximale Kapazität der Datenbasis nicht überschreiten (maximal 999), sonst erscheint die folgende Meldung:

Es folgt eine Dialogbox, die über den jeweils gewählten Scan-modus(Standard,Omeg2Theta) sowie den Bereich über den die Probe bewegt werden soll, informiert und die Möglichkeit gibt den Scanstart abzubrechen bzw. fortsetzen.

Es folgt jetzt eine Dialogbox, in der man den Dateinamen eingeben kann, unter dem die Meßwerte des Scans abgelegt werden sollen (Speicherung der Kurven erfolgt allerdings nur, falls eine Speicheroption ausgewählt wurde). Wird diese Dialogbox verlassen ohne einen Dateinamen anzugeben bekommt die Datei automatisch den Namen 'SCANXXX.psd'. Wobei XXX für die kleinste nicht neg. Zahl steht für die so eine Datei noch nicht existiert.(z.B. SCAN002.psd wenn SCAN000.psd und SCAN001.psd schon existieren)

DIALOGBOX

a) StandardScan
Der OmegaMotor bewegt sich nun auf die Startposition des AreaScans. 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 Psd. Nach erfolgter Messung wird folgender Text in der Statusleiste des Hauptfensters angezeigt. " Measurement! Omega: XXX P(YYY<>ZZZ) Integral Intensity: PPP > QQQ", wobei
XXX die aktuelle Position des OmegaMotors ist,
YYY die Position des Peak (Kanalnummer des Psd)
ZZZ die an der Peakposition gemessene Intensität
PPP die integrale Intensität (Mittelwert über alle Psd-Kanäle ?)
QQQ die Nummer des aktuellen Scans

Anschließend wird die Meßkurve in das Koordinatensystem des AreaScanfensters eingezeichnet. Bei aktiviertem 'Ständig sichern' wird die Meßkurve in die ausgewählte Datei geschrieben und in der Statuszeile erscheint: 'Scan XXX schreiben', wobei XXX die aktuelle Scan-Nummer ist. Nun fährt der Motor auf den nächsten Meßpunkt. Dieser entspricht der aktuellen OmegaMotor-Position + die eingestellte Schrittweite aus der Einstellungsdialogbox. Am nächsten Meßpunkt angekommen beginnt die nächste Messung des Psd.

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 'XXX Scan's has been measured' angezeigt, wobei XXX die Anzahl der gemessenen Scans (Spektren) ist. 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 Datenbasis 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.


Wenn eine der Speicheroptionen gewählt ist werden jetzt Zusatzinformationen zu den Meßkurven in einer Reportdatei unter dem selben Dateinamen mit der Endung 'rep' abgelegt.

b) Omega2ThetaScan mit einem Psd
Der OmegaMotor und der ThetaMotor bewegen sich nun auf die Startposition des AreaScans. Dies wird in der Statusleiste des Hauptfensters durch den Text "Anfahren der Startposition ..." angezeigt. Haben die Motoren diese Startposition erreicht beginnt die erste Messung des Psd. Nach erfolgter Messung wird folgender Text in der Statusleiste des Hauptfensters angezeigt. " Messung läuft! O: XXX T: YYY P(ZZZ<>PPP) Gesamt-Intensität: QQQ > RRR", wobei
XXX die aktuelle Position des OmegaMotors ist,
YYY die aktuelle Position des ThetaMotors ist,
ZZZ die Position des Peak (Kanalnummer des Psd)
PPP die an der Peakposition gemessene Intensität
QQQ die Gesamtintensität des Psd ist,
RRR die Nummer des aktuellen Scans

Anschließend wird die Meßkurve in das Koordinatensystem des AreaScanfensters eingezeichnet. Bei aktiviertem 'Ständig sichern' wird die Meßkurve in die ausgewählte Datei geschrieben und in der Statuszeile erscheint: 'Scan XXX schreiben', wobei XXX die aktuelle Scan-Nummer ist. Nun fahren die Motoren auf den nächsten Meßpunkt. Dieser entspricht für den OmegaMotor seine aktuelle Position + die eingestellte Schrittweite aus der Einstellungsdialogbox und für den ThetaMotor seine aktuelle Position + die Schrittweite des OmegaMotors * Wert für Relation (in Einstellungsbox festgelegt).Am nächsten Meßpunkt angekommen beginnt die nächste Messung des Psd.

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 'XXX Scan's has been measured' angezeigt, wobei XXX die Anzahl der gemessenen Scans (Spektren) ist. Jetzt fahren die Motoren auf die Position zurück, auf der sie sich vor Beginn des Scans befunden haben.
Wenn 'Bei Beenden speichern eingestellt ist, so wird jetzt die komplette Datenbasis in der ausgewählten Datei abgelegt. Bei 'Ständig sichern' wird der Headerteil der Datei aktualisiert. Es erscheinen die selben Meldungen wie unter a).
Wenn eine der Speicheroptionen gewählt ist werden jetzt Zusatzinformationen zu den Meßkurven in einer Reportdatei unter dem selben Dateinamen mit der Endung 'rep' abgelegt.

c) Omega2ThetaScan mit einem 0-dimensionalen Detektor
Der OmegaMotor und der ThetaMotor bewegen sich nun auf die Startposition des AreaScans. Dies wird in der Statusleiste des Hauptfensters durch den Text "Anfahren der Startposition ..." angezeigt. Haben die Motoren diese Startposition erreicht beginnt die erste Messung des Detektors. Nach erfolgter Messung wird folgender Text in der Statusleiste des Hauptfensters angezeigt. " Measurement! Omega: XXX 2Theta: YYY Intensity: ZZZ", wobei
XXX die aktuelle Position des OmegaMotors ist,
YYY die aktuelle Position des ThetaMotors ist,
ZZZ die vom Detektor gemessene Intensität ist.

Anschließend werden die Meßpunkte in das Koordinatensystem des AreaScanfensters eingezeichnet. Bei aktiviertem 'Ständig sichern' werden die Meßpunkte fortlaufend in die ausgewählte Datei geschrieben und in der Statuszeile erscheint: 'Scan XXX schreiben', wobei XXX die aktuelle Scan-Nummer ist (siehe Fehler). Wenn der ThetaMotor bei der aktuellen OmegaPosition noch nicht den gesamten Thetabereich durchlaufen hat, wird er auf die nächste Position bewegt, die sich aus der (aktuellen Thetaposition)+(Schrittweite des ThetaMotors) (Variable in Einstellungsbox gesetzt) ergibt. Hat der ThetaMotor seine Endposition erreicht, werden beide Motoren auf ihre neuen Startpositionen bewegt und das AreaScan-Fenster neu gezeichnet. Die neue Position des OmegaMotors entspricht der (aktuellen OmegaMotorposition) + (die eingestellte Omega-Schrittweite) aus der Einstellungsdialogbox. Die neue Position des ThetaMotor ist (die neue Omegaposition) * (Wert für 'Relation') - ('Window'/2)(in Einstellungsbox festgelegt). Am nächsten Meßpunkt angekommen beginnt die nächste Messung des Detektors.

Haben die Motoren jeweils die letzten Meßpunkte erreicht und die Messung durchgeführt,dargestellt und bei 'Ständig sichern' gespeichert wird in der Statusleiste des Hauptfensters 'XXX Scan's has been measured' angezeigt, wobei XXX die Anzahl der gemessenen Scans ist. Jetzt fahren die Motoren auf die Position zurück, auf der sie sich vor Beginn des Scans befunden haben.
Wenn 'Bei Beenden speichern eingestellt ist so wird jetzt die komplette Datenbasis in der ausgewählten Datei abgelegt. Bei 'Ständig sichern' wird der Headerteil der Datei aktualisiert. Es erscheinen die selben Meldungen wie unter a).
Wenn eine der Speicheroptionen gewählt ist werden jetzt Zusatzinformationen zu den Meßkurven in einer Reportdatei unter dem selben Dateinamen mit der Endung 'rep' abgelegt.(siehe Fehler)

2.2.2 Unterbrechen eines Scans

Ein laufender AreaScan kann unterbrochen werden. Dies geschieht entweder über den Hauptfenster-Menüpunkt 'Ausführen'->'Messung unterbrechen' oder durch drücken der ESC-Taste. Daraufhin wird die Messung gestoppt.
In der Statusleiste erscheint die Meldung 'Measurement has been interrupted !'. 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 AreaScan gestartet werden (der Menüpunkt 'Scan starten' ist wieder aktiv).

2.2.3 Fortsetzen eines Scans

Ein unterbrochener AreaScan 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'.

2.3 Sonstige Funktionen
 
2.3.1 Datenbasis laden

Eine in einer Datei abgelegte Datenbasis (Format .psd) kann über den Hauptfenster-Menüpunkt 'Datei' -> 'Nachladen...' geladen und im AreaScan-Fenster dargestellt werden.Dieser Menüpunkt ist nur anwählbar, wenn ein AreaScanfenster geöffnet ist. Eine Auswahl der zu ladenden Datei geschieht über folgende Dialogbox.

DIALOGBOX

Bei einer Datei wird der Ladevorgang abgebrochen, wenn der Headerteil der Datei weniger als 50 Byte enthält, die [Header]-marke nicht existiert, oder 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:

  • User->Nutzer
  • Target->Name
  • Orientation->Orientierung
  • Reflection->untersuchter Reflex
  • Substrat->Substrat
  • WaveLength->Wellenlänge

  • Während die Datenbasis geladen wird, erfolgt alle 5 Meßkurven folgende Ausgabe in die Statusleiste 'X Scan's gelesen' wobei X die Anzahl der schon geladenen Meßkurven angibt. Nachdem die Datenbasis geladen wurde, wird die erste Kurve in das auf diese Kurve angepaßte Koordinatensystem des Areascan-Fensters gezeichnet, wobei die gerade angezeigte Kurve entfernt wird, sofern sie nicht fixiert wurde. Eine eventuell im Speicher befindliche Datenbasis wird gelöscht. Der Dateiname der geladenen Datei wird nun in die Titelleiste des AreaScan-Fensters eingetragen.

    2.3.2 Datenbasis speichern

    Eine aktuelle Datenbasis läßt sich über den Hauptfenster-Menüpunkt 'Datei' -> 'Sichern' oder 'Sichern unter ...' in einer PSD-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 Datenbasis wird folgende Meldung in der Statusleiste des Hauptfensters angezeigt:'File wurde bereits gespeichert !'. Wurde die Datenbasis noch nicht gespeichert, so entspricht der Vorgang dem des 'Sichern unter ...'.
    Nun werden die Headerinformationen sowie die Daten in diese Datei gespeichert(siehe 4.2) Anschließend wird dieser neue Dateiname in die Titelleiste des AreaScan-Fensters eingetragen. Außerdem wird unter dem gleichen Dateinamen mit der Endung 'rep' eine Reportdatei angelegt.

    2.3.3 Datenbasis löschen

    Eine Datenbasis läßt sich über das Hauptfenstermenü 'Datei' -> 'Neu' löschen. Dabei wird die Datenbasis aus dem AreaScan-Fenster und aus dem Speicher entfernt und die Titelleiste erhält den Eintrag 'untitled.psd'. Eine Abfrage, ob eine noch nicht gespeicherte Datenbasis eventuell gesichert werden soll, erfolgt nicht.

    2.3.4 Kurvefunktionen

    2.3.4.1 Kurve fixieren

    Nur wenn die Darstellungsart 'Kurve' gewählt ist, läßt sich eine dargestellte Kurve (Hauptkurve) fixieren, um so die Möglichkeit zu haben, sie direkt mit anderen Kurven im AreaScan-Fenster vergleichen zu können. Dabei wird eine gerade fixierte Kurve gelöscht. Diese Funktion wird über das Scanfenstermenü 'Scan' -> 'Fixieren' aufgerufen. Diese Kurve wird aber erst bei Start eines neuen Scans, nach dem Laden einer Datenbasis bzw. dem Löschen der aktuellen Datenbasis farblich als fixiert gekennzeichnet( blau ).Sie bleibt solange fixiert, bis sie gelöscht wird(siehe 2.3.4.3) oder eine andere Kurve fixiert wird.

    2.3.4.2 fixierte Kurve speichern

    Eine fixierte Kurve läßt sich über das Scanfenstermenü 'Scan' -> 'Speichern' in einer über eine Dialogbox (wie unter 2.3.1) ausgewählten Datei im BK-Format ablegen. Nun werden die Headerinformationen sowie die Daten in diese Datei gespeichert(siehe 4.4)

    2.3.4.3 fixierte Kurve löschen

    Eine fixierte Kurve (Darstellungsart: Kurve) läßt sich über das Scanfenstermenü 'Scan' -> 'Löschen' löschen. Dabei wird die fixierte Kurve aus dem AreaScan-Fenster entfernt.

    2.3.5 Kontinuierliche Spektren darstellen

    2.3.5.1 Kontinuierliche Energiespektren darstellen

    Wenn die Darstellungsart 'Kurve' gewählt wurde, kann man sich das Energiespektrum des PSD kontinuierlich anzeigen lassen. Diese Funktion läßt sich über den Scan-Fenster-Menüpunkt 'Psd -> Show Energy-Spectrum' aufrufen. Vorraussetzung ist allerdings, daß ein Psd angeschlossen ist. Sonst erscheint die Meldung:"Kein Psd verfuegbar."
    Der Eintrag im Scanfenster-Menü wird bei Auswahl anschließend markiert. Ist eine andere Darstellungsart als 'Kurve' gewählt, erscheint bei Auswahl des kontinuierliche Spektrums die Meldung:

    Bei aktiver kontinuierlicher Anzeige kann keine andere kontinuierliche Anzeige gestartet, sowie die Dialogbox 'PSD-Kalibrierung' nicht aufgerufen werden. Es erscheint die folgende Meldung:

    Die Meßzeit eines Spektrums wird gesteuert über die Werte Zeit- bzw. Impuls-Begrenzung in der detektorspezifischen Einstellungsbox. Soll die kontinuierliche Darstellung gestoppt werden, muß entweder der entsprechende Eintrag im Scanfenster-Menü gedrückt werden, die ESC-Taste gedrückt oder der Menüpunkt: 'Messung' -> 'Messung unterbrechen' aufgerufen werden. Die Markierung im Scanfenster-Menü wird daraufhin entfernt.

    2.3.5.2 Kontinuierliche Impulsspektren darstellen

    Wenn die Darstellungsart 'Kurve' gewählt wurde, kann man sich das Impulsspektrum des PSD kontinuierlich anzeigen lassen. Diese Funktion läßt sich über den Scan-Fenster-Menüpunkt 'Show Impulse-Spectrum' aufrufen. Vorraussetzung ist allerdings, daß ein Psd angeschlossen ist. Sonst erscheint die Meldung:"Kein Psd verfuegbar."
    Der Eintrag im Scanfenster-Menü wird bei Auswahl anschließend markiert. Ist eine andere Darstellungsart als 'Kurve' gewählt, erscheint bei Auswahl des kontinuierliche Spektrums die Meldung:

    Bei aktiver kontinuierlicher Anzeige kann keine andere kontinuierliche Anzeige gestartet, sowie die Dialogbox 'PSD-Kalibrierung' nicht aufgerufen werden. Es erscheint die folgende Meldung:

    Die Meßzeit eines Spektrums wird gesteuert über die Werte Zeit- bzw. Impuls-Begrenzung in der detektorspezifischen Einstellungsbox.Soll die kontinuierliche Darstellung gestoppt werden, muß entweder der entsprechende Eintrag im Scanfenster-Menü gedrückt werden, die ESC-Taste gedrückt oder der Menüpunkt: 'Messung' -> 'Messung unterbrechen' aufgerufen werden. Die Markierung im Scanfenster-Menü wird daraufhin entfernt.

    2.3.6 PSD extern synchronisieren

    DIALOGBOX

    Diese Funktion läßt sich über den Scan-Fenster-Menüpunkt 'Measure External synchronized..' aufrufen. Sie dient der Nutzung eines anderen Psd. Die gesamte Diffraktometersteuerung (Motorensteuerung) wird in diesem Fall durch das dortige System vorgenommen. Der Psd wird über das von der Firma mitgelieferte Programm betrieben. Das RTK-Steuerprogramm hat nur die Aufgabe, die vom Psd gemessenen Zählraten abzufragen und in einer Datei abzulegen.
    Diese Funktion ist bei dieser Programmversion nicht vollständig, bzw. fehlerhaft implementiert. Sie funktioniert hier daher nicht, wird aber wohl in Hamburg und Grenoble verwendet.Voraussetzung für diese Funktion ist ein angeschlossener Psd und ein ThetaMotor. Sonst erscheint die Meldung:

    2.3.7 Auswahl einer Scan-Kurve

    Wenn die Darstellungsart 'Kurve' gewählt wurde, kann man zwischen den einzelnen Kurven einer aktuellen (aufgenommenen oder geladenen) Datenbasis hin-und herwechseln, sie nacheinander betrachten oder eine bestimmte Kurve direkt auswählen. Das AreaScan-Fenster wird dabei im Hintergrund entsprechend aktualisiert. Diese Funktion läßt sich über den Scan-Fenster-Menüpunkt 'Choose Scan...' aufrufen.

    2.3.8 Kalibrieren des PSD

    DIALOGBOX

    Diese Funktion läßt sich über den Scan-Fenster-Menüpunkt 'Psd -> Calibrate...' aufrufen.
    Durch Bewegen eines Peaks mit Hilfe des ThetaMotors innerhalb des Darstellungsfensters vom linken Rand zum rechten Rand wird versucht, den Winkel zu ermitteln, der einem Kanal des Psd entspricht.
    Bei Aufruf der Dialogbox wird im Hintergrund das Spektrum des Psd kontinuierlich angezeigt.

    Voraussetzung für diese Funktion ist ein angeschlossener Psd und ein ThetaMotor. Sonst erscheint die Meldung:

    Bei aktiver kontinuierlicher Anzeige kann keine PSD-Kalibrierung vorgenommen werden. Es erscheint die folgende Meldung:

    2.4 Start und Beenden der Teilfunktion Areascanfenster

    2.4.1 Start der Teilfunktion Areascanfenster

    FENSTER

    Ein AreaScan-Fenster kann über den Hauptfenster-Menüpunkt 'Öffnen' -> 'AreaScan-Fenster' geöffnet werden. Dies ist nur möglich, wenn nicht bereits ein anderes AreaScan-Fenster geöffnet ist oder die Anzahl der geöffneten RTK-Fenster kleiner als 5 ist. Dabei werden die im [AreaScan]-Abschnitt des Ini-Files befindlichen Parameter eingelesen bzw. wenn nicht vorhanden auf ihre Defaultwerte gesetzt. Anschließend wird das AreaScan-Fenster an die im Ini-File (siehe 4.1) angegebene Position gezeichnet. In das Scanfenster wird ein Koordinatensystem gezeichnet(siehe Pflichtenheft 'Bildnerische Darstellung'). Außerdem wird der Ausdruck 'untitled.psd' 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.

    2.4.2 Beenden der Teilfunktion Areascanfenster

    Ein AreaScan-Fenster läßt sich nur über das 'x'-Symbol in der Titelleiste des AreaScan-Fensters schließen. Ein gerade laufender Scan wird abgebrochen. Wenn sich im Speicher eine Datenbasis 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 4.1).

    3. Benutzerschnittstelle

    3.1 Dialogbox ,Einstellungen AreaScan' !

    DIALOGBOX


     

    3.1.1 Steuerung

    - 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.2 Eingabe/Ausgabe und Prüfung
     
    a) Gruppenfeld :[Einstellungen Omega]

    - [Textfeld]:Minimum
    Hier wird die Startposition des ausgewählten Motors für den Scan eingegeben.
    --> Wert bei erstem Aufruf vom Motor
    --> 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]:Maximum
    Hier wird die Endposition des ausgwählten Motors für den Scan eingegeben.
    --> Wert bei erstem Aufruf vom Motor
    --> 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]

    - [Textfeld]:Schritt
    Hier wird die Schrittweite, mit der der Motor bewegt werden soll, eingegeben.
    --> Wert bei erstem Aufruf der Box auf Schrittweite des Motors
    --> Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt
    zulässiger Wertebereich:[alle Werte] -> Fehler

    b) Gruppenfeld :[Einstellungen 2Theta]

    - [Textfeld]:Schritt
    Eingaben sind hier nur bei einem O2T-Scan mit einem 0-dim. Detektor möglich.
    Der Wert gibt die Schrittweite des Thetamotors an.
    --> Wert wird bei Aufruf des Scan-Fensters auf Relation * Omega-Schrittweite gesetzt.
    --> Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.

    - [Textfeld]:Relation
    Eingaben sind hier nur beim Omega2Theta-Scan möglich.
    Gibt das Verhältnis an, in dem Omega- und Thetamotor zueinander stehen bzgl. Schrittweite, Maximum und Minimum.
    --> Wert wird bei Aufruf des Scan-Fensters auf 2.0 gesetzt.
    --> Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt

    - [Textfeld]:Bereich
    Eingaben sind hier nur bei einem O2T-Scan mit einem 0-dim. Detektor möglich.
    Der Wert gibt den Gesamtbereich an, den der Thetamotor in einem Omega-Schritt durchlaufen soll.
    --> Wert wird bei Aufruf des Scan-Fensters auf ThetaMax-ThetaMin gesetzt.
    --> Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt.

    - [Checkbox]: Theta-Achse fixieren
    a)Bei Benutzung eines Psd kann die Theta-Achse fixiert werden. --> StandardScan
    sonst --> Omega2Theta
    In diesem Fall wird das gesamte Gruppenfeld ausgegraut, sonst nur 'Schritt' und 'Bereich' ausgegraut.
    --> Beim Aufruf der Box ist die Checkbox nicht markiert.

    b)Ist ein 0-dim. Detektor ausgewählt, ist die Checkbox ausgegraut.
    --> Beim Aufruf der Box ist die Checkbox markiert.

    c) Gruppenfeld:[Detektor]

    - [Combobox]:Auswahl des Detektors
    Hier kann der 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.
    Wechselt man von einem 0-dimensionalen Detektor auf einen Psd oder umgekehrt, so werden automatisch die Eingabefelder im Gruppenfeld 'Einstellungen 2Theta' entsprechend gesperrt bzw. freigegeben und mit Werten belegt. Desweiteren wird die Omegaschrittweite, das Sicherungsverzeichnis und SaveEachScan auf ihre Ursprungswerte zurueckgesetzt. (->Fehler)

    - [Textfeld]: Meßzeit ... sec
    Zeitintervall in Sekunden, in welchem der Detektor die Impulsrate zählt.
    --> Bei erstem Aufruf der Box aus ini-File: [AreaScan],  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]: Impulse
    Maximale Impulsrate, die der Detektor zählen darf.
    --> Bei erstem Aufruf der Box auf 30000 gesetzt
    --> 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.

    - [Aktionsschalter]: Geräte-Einstellungen
    Aufruf eines Einstellungsdialogs für den ausgewählten Detektor, sofern eine Einstellungbox vorhanden ist.

    - [Checkbox]: Absorber benutzen
    Hier kann man einstellen, ob während des Scans ein Absorber benutzt wird.
    --> Beim ersten Aufruf der Box nicht markiert.
    --> Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt

    d) Gruppenfeld:[Motor-Einheiten]
    Dieses nicht duch den Nutzer editierbare Feld zeigt die zu den Motoren zugehörige Einheit an.
    --> Wert kommt vom OmegaMotor
    --> Wert wird nur einmal bei Aufruf der Box gesetzt.

    e) Gruppenfeld:[Speicher-Optionen]

    - [Untergruppenfeld]: Format
    Hier sind keine Einstellungen möglich
    --> 'DIB' ist ausgegraut
    --> 'Standard' ist markiert

    - [Checkbox]:Kontinuierlich sichern
    Hier kann man einstellen, ob man während des Scans die Meßkurven fortlaufend in einer psd-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ßkurven eines Scans erst nach Beendigung des Scans in einer psd-Datei ablegen möchte.
    --> Bei erstem Aufruf der Box nicht markiert.
    --> 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 [AreaScan],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: [Parameter aktualisieren]
    übernahme von einigen Dialogeinträgen ohne Prüfung:
    - Sicherungs-Verzeichnis
    - Kontinuierlich sichern
    - Omegaschrittweite
    - Thetarelation
    - Speicherformat
    Die Dialogbox bleibt geöffnet.

    g) Aktionsschalter: [Abbrechen]

    Dialogbox schließen, bereits eingegebene Werte werden bis auf die Auswahl eines neuen Detektors verworfen. Wenn zwischendurch 'Parameter aktualisieren' aufgerufen wurde, so werden die dort übernommenen Werte nicht zurückgesetzt.

    h) 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:
    - 'Omega-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.(hier erfolgt keine Anzeige des korrigierten Wertes(siehe Fehler))
    - 'Omega-Minimum' wird übernommen, wenn der Wert größer oder gleich dem Minimum des Motors ist
        Sonst wird 'Minimum' auf  (Minimum des Motors) + (Schrittweite des Motors) gesetzt.
    - 'Theta-Bereich' wird übernommen, wenn der Wert ungleich 0 ist
        Sonst wird er auf  ((OmegaMax)-(OmegaMin))*Relation gesetzt.
    - 'Theta-Schrittweite' wird übernommen, wenn der Wert ungleich 0 ist
        Sonst wird er auf  (Omega-Schrittweite)* Relation gesetzt.
    - 'Meßzeit' wird übernommen, wenn der Wert ungleich 0 ist.
    - 'Impulse' wird nur übernommen, wenn der Wert ungleich 0 ist.
    - '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.2 Dialogbox ,PSD under Remote Sync' !

    Vorbemerkung: Diese Dialogbox funktioniert nicht! (Siehe auch unter 2.3.6)

    DIALOGBOX


     
    3.2.1 Steuerung

    - Die Dialogbox ist mausgesteuert.
    - Der Wechsel zwischen den Dialogelementen ist mittels TAB möglich.
    - Das Drücken von Return innerhalb der Dialogbox aktiviert das Leave-Button.
     
    3.2.2 Eingabe/Ausgabe und Prüfung

    a)Gruppenfeld :

    - [Textfeld]:Datafiles(Datenpfad)
    Hier erfolgt die Eingabe eines Datenpfades
    Voreingestellt ist: C:\\Work\

    - [Textfeld]:Datafiles(Dateiname)
    Hier erfolgt die Eingabe eines Dateinamens
    Voreingestellt ist: GESI_474

    - [Textfeld]:Datafiles(Extension)
    In diesem nicht durch den Nutzer editierbaren Feld steht die Extension. Der Wert ist bei Aufruf immer '000'. Dieser Wert wird bei Ausführung (Start) beim Anlegen einer neuen Datei jeweils um den Wert 1 erhöht.

    - [Textfeld]:?
    Informationsfeld über den aktuellen Zustand der Messung

    b) Aktionsschalter: [Start]

    ? Starten der Datenaufnahme.

    c) Aktionsschalter: [Interrupt]

    ? Unterbrechen der Datenaufnahme.

    d) Aktionsschalter: [Stop]

    ? Beenden der Datenaufnahme.

    e) Aktionsschalter: [Leave]

    Dialogbox schließen ohne Überprüfung von Eingaben.

    3.3 Dialogbox ,Scan-Auswahl' !

    DIALOGBOX
     

    3.3.1 Steuerung ?

    - Die Dialogbox ist mausgesteuert.
    - Tastatureingaben sind nur im Feld 'ScanId' möglich:
    die Eingaben werden durch Drücken des 'Update'-Buttons aktiviert.
     
    3.3.2 Eingabe/Ausgabe und Prüfung
     
    a) Gruppenfeld :[Scan-Auswahl]

    - [Textfeld]:Max.ScanId
    Dieses nicht duch den Nutzer editierbare Feld zeigt die Anzahl der zur Datenbasis gehörenden Kurven an.
    --> Wert kommt von Datenbasis

    - [Textfeld]:Omega
    Dieses nicht duch den Nutzer editierbare Feld zeigt die Omegaposition der gerade dargestellten Kurve der Datenbasis an.(siehe Fehler)
    --> Wert kommt von Datenbasis (Reportkurve)

    - [Textfeld]:Maximum
    Dieses nicht duch den Nutzer editierbare Feld zeigt die maximale Intensität der gerade dargestellten Kurve der Datenbasis an.
    --> Wert wird jedesmal aus gerade dargestellter Kurve ermittelt

    - [Textfeld]:ScanId
    Hier wird die gewünschte Scan-Kurve ausgewählt.
    --> Wert bei erstem Aufruf der Box auf 0
    --> Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt
    zulässiger Wertebereich:[0..Max.ScanId]

    b) ScrollBar:
    Hier wird die gewünschte Scan-Kurve ausgewählt.
    Der Wert '0' ist am unteren Ende des ScrollBars, die Max.ScanId am oberen. Beim anclicken auf dem oberen bzw. unteren Bereich des Scrollbars wird der Index der anzuzeigenden Kurve um 10 erhöht bzw. verringert.

    c) Aktionsschalter: [Update]

    Aktualisieren des AreaScan-Fensters mit gewählter ScanId, sowie aktualisieren der Werte im Gruppenfeld 'Scan-Auswahl'.

    d) Aktionsschalter: [Abbruch]

    Dialogbox schließen, bereits eingegebene Werte im Feld 'ScanId' werden verworfen.

    e) Aktionsschalter: [OK]

    Der Schalter macht das selbe wie 'Abbruch'.

    3.4 Dialogbox ,PSD-Kalibrierung'

    DIALOGBOX
     

    3.4.1 Steuerung

    - Die Dialogbox ist mausgesteuert.
    - Der Wechsel zwischen den Dialogelementen ist mittels TAB möglich.
    - Das zweimalige Drücken von Return innerhalb der Dialogbox aktiviert das Beenden-Button.

    3.4.2 Eingabe/Ausgabe und Prüfung
     
    a) ScrollBar:
    Hier kann der gesamte Bereich des ThetaMotors abgefahren werden.
    Der minimale Wert ist am linken, der maximale am rechten Rand.

    b) Textfeld: [Winkel 2Theta (alt)]
    Dieses nicht duch den Nutzer editierbare Feld zeigt fortlaufend die aktuelle ThetaPosition an. Der Wert wird vom ThetaMotor geholt.

    c) Textfeld: [Winkel 2Theta (neu)]
    Hier ist die Eingabe einer neuen Thetaposition möglich, die durch Drücken der Enter-Taste oder des Beenden-Buttons angefahren wird. Bei Aufruf der Dialogbox enthält das Feld die aktuelle ThetaPosition.
    zulässiger Wertebereich:[Bereich des Motors]

    d) Textfeld: [Einheit]
    Dieses nicht duch den Nutzer editierbare Feld zeigt die aktuelle Einheit des ThetaMotors an. Der Wert kommt vom ThetaMotor.

    e) Aktionsschalter: [Linke Position erreicht]
    Festlegen der linken Peak-Position.
    Wenn die rechte Peak-Position noch nicht festgelegt war, wird die Eingabe übernommen und das Button ausgegraut.
    Wenn die rechte Peak-Position schon festgelegt wurde, erfolgt ein Test, ob diese Thetamotor-Position der Position vom rechten Peak entspricht. Ist dem so, so erfolgt keine Berechnung. Wenn die Positionen nicht gleich sind, wird überprüft, ob die Kanäle, auf denen der rechte bzw. linke Peak liegen übereinstimmen. In diesem Fall erfolgt eine Fehlermeldung und die Eingabe wird nicht übernommen.
    Ansonsten wird der neu berechnete Wert für Textfeld g) eingetragen.

    f) Aktionsschalter: [Rechte Position erreicht]
    Festlegen der rechten Peak-Position.
    Wenn die linke Peak-Position noch nicht festgelegt war, wird die Eingabe übernommen und das Button ausgegraut.
    Wenn die linke Peak-Position schon festgelegt wurde, erfolgt ein Test, ob diese Thetamotor-Position der Position vom linken Peak entspricht. Ist dem so, so erfolgt keine Berechnung. Wenn die Positionen nicht gleich sind, wird überprüft, ob die Kanäle, auf denen der rechte bzw. linke Peak liegen übereinstimmen. In diesem Fall erfolgt eine Fehlermeldung und die Eingabe wird nicht übernommen.
    Ansonsten wird der neu berechnete Wert für Textfeld g) eingetragen.

    g) Textfeld: [Winkel je Kanal]
    Dieses nicht duch den Nutzer editierbare Feld zeigt den Winkel des ThetaMotors an, der durch einen Psd-Kanal abgedeckt wird. Der Wert wird aus den Festlegungen für die linke bzw. rechte Position ermittelt. Bei Aufruf der Dialogbox kommt der Wert vom Psd.

    h) Aktionsschalter: [Abbrechen]
    Dialogbox schließen, eine eventuell eingegebene neue Position wird nicht angefahren. Sämtliche weiteren Aktionen, die vorher stattfanden, werden übernommen.

    i) Aktionsschalter: [Beenden]
    Dialogbox schließen, wenn im Textfeld c) keine Eingabe erfolgt ist, sonst wird erst diese neue Position angefahren und durch ein weiteres Drücken auf das Beenden-Button die Dialogbox geschlossen. Sämtliche weiteren Aktionen werden übernommen.

    4. Daten
     
    4.1 ini-Datei

    Folgende Abschnitte und Parameter sind erforderlich:
    Beispiel:
    [AreaScan]
    ExposureTime=1.00
    ExposureCounts=20000
    WriteAbsorberPosition=0
    Failure=0.02
    xo=18
    yo=24
    dx=822
    dy=598
    DataPath=c:\
    SaveOnReady=0
    Report=Integral
    Level0=0.02
    Level1=0.05
    Level2=0.10
    Level3=0.20
    Level4=0.30
    Level5=0.40
    Level6=0.50
    Level7=0.60
    Level8=0.70
    Level9=0.80
    Level10=0.90
    Level11=1.0
    LevelNumber=11
    swPalette=0

    Erklärung:

    4.2 psd-Dateien

    Die Meßwertreihen werden in folgendem Dateiformat abgelegt:

    Beispiel:
    Comment=Topographie-Meßplatz
    [Header]
    User=Gartstein
    Date=18.11.2000
    Time= 11:24:45
    DataRows=62
    DataColumns=200
    FileType=1
    FirstColumn=0
    LastColumns=199
    OmegaMin=-9.9697
    OmegaStep=0.1000
    OmegaMax=10.0801
    ThetaMin=-19.9394
    ThetaStep=0.2000
    ThetaMax=20.1603
    MoveRelation=2.00
    Target=1445
    Reflection=[113]
    Orientation=[001]
    WaveLength=1.540
    Current=35
    HV=40
    TimePerScan=1.00
    PsdStep=2.00000
    PsdAddedChannels=2
    [Data]

    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.
    - 'DataRows' Anzahl der Kurven der Datenbasis, entspricht der Anzahl der Zeilen im [Data]-Abschnitt
    - 'DataColumns' Anzahl der Werte je Meßkurve (entspricht Anzahl der Kanäle)
    - 'FileType' Der Wert ist vom Programm auf 1 festgesetzt.
    - 'FirstColumn' ist die erste Kanalnummer
    - 'LastColumns' ist die letzte Kanalnummer
    - 'OmegaMin' Startwinkel des Omegamotors
    - 'OmegaStep' Schrittweite des Omegamotors
    - 'OmegaMax' Endwinkel des Omegamotors
    - 'ThetaMin' Startwinkel des Thetamotors
    - 'ThetaStep' Schrittweite des Thetamotors
    - 'ThetaMax' Endwinkel des Thetamotors
    - 'MoveRelation' gibt Vielfaches an, mit dem sich Winkel bzw. Schrittweite des Theta- vom Omegamotor unterscheiden
    - 'Target', 'Reflection' und 'Orientation' werden aus 'Einstellungen' => 'Programm' unter 'Angaben zur Probe' übernommen.
    - 'WaveLength', 'Current', 'HV' werden aus dem 'Einstellungen' => 'Programm' unter 'Betriebsparameter' übernommen.
    - 'TimePerScan' enthält die Meßzeit pro Schritt.
    - 'PsdStep' gibt den Winkel an, der einem einzelnen Psd-Kanal entspricht (dieser Eintrag existiert nur, bei Psd-scan)
    - 'PsdAddedChannels' gibt an, wieviele Kanäle zu einem zusammengefaßt werden sollen(dieser Eintrag existiert nur, bei Psd-scan)
    Es folgt der Abschnitt [Data], der folgende Einträge enthält:
    - Jede Zeile enthält die Informationen einer Meßkurve, bestehend aus den Intensitätswerten.

    4.3 rep-Dateien

    In der Reportdateien werden Zusatzinformationen zu den Kurven der Datenbasis gespeichert.
    Beispiel:
    # Report: ScanId Omega : Theta : Integral Intensity
    0 0.0000 0.000 22237.770
    1 0.2000 0.400 22033.301
    2 0.4000 0.800 22261.508
    3 0.6000 1.200 22345.400
    4 0.8000 1.600 22311.459
    5 1.0000 2.000 22189.031
    6 1.2000 2.400 22305.283
    7 1.4000 2.800 22323.213
    8 1.6000 3.200 22333.986
    9 1.8000 3.600 22051.859
    10 2.0000 4.000 22181.195
    11 2.2000 4.400 22196.865
    12 2.4000 4.800 22449.119
    13 2.6000 5.200 22095.006
    14 2.8000 5.600 22286.973
    15 3.0000 6.000 22175.146
    16 3.2000 6.400 22311.459
    17 3.4000 6.800 22283.057
    18 3.6000 7.200 22407.045
    19 3.8000 7.600 22386.875
    20 4.0000 8.000 22321.254
    Erklärung:
    In der ersten Zeile stehen die Erklärungen zu den 4 Spalten:
    - in der ersten Spalte steht die Kurvennummer
    - in der zweiten Spalte steht die Omega-Position zu dieser Kurve
    - in der dritten Spalte steht die Theta-Position zu dieser Kurve (=Omegawert * Relation)
    - in der vierten Spalte steht abhängig von der Programmeinstellung (im ini-File):

    Die Zahlenwerte einer Zeile gehören zu einer Kurve.

    4.4 bk-Dateien

    Fixierte Kurven werden in folgendem Format gespeichert:

    Beispiel:
    [Header]
    Vergleichs-Scan
    X >> Intensity >> Z
    [Data]
    0.000 7.835 0.000
    -3600.091 7.835 2.000
    -7200.181 9.794 4.000
    -10800.271 4.897 6.000
    -14400.362 7.835 8.000
    -18000.453 4.897 10.000
    -21600.543 1.959 12.000
    -25200.633 7.835 14.000
    -28800.723 8.815 16.000
    -32400.812 7.835 18.000
    -36000.902 8.815 20.000
    -39600.992 5.877 22.000
    -43201.082 5.877 24.000
    -46801.172 8.815 26.000
    -50401.262 6.856 28.000
    -54001.352 8.815 30.000
    -57601.441 5.877 32.000
    -61201.531 2.938 34.000
    -64801.621 4.897 36.000
    -68401.711 8.815 38.000
    ...

    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 Theta-Winkel, der Intensität und der Kanalnummer.

    5. Testfälle
     
    Hier sind umfassende Testfälle zu spezifizieren, wie Kombinationen von Eingabewerten und die Reaktion darauf beim OK- und Abbrechen-Button. Des weiteren ist zu testen, ob die Werte in das .ini-File übernommen werden.

    6. Fehler und Änderungswünsche
     
    6.1 Fehler aus Nutzersicht

    6.2 Änderungswünsche
     
    7. Offene Fragen