Pflichtenheft XCTL-Steuerprogramm

Hauptfunktion: Diffraktometrie/Reflektometrie
Teilfunktion: Einstellungen und Ablauf beim AreaScan
Erweiterung: Omega- ,Theta- und Psdkanal-Offset

Dokumentversion: 1.0 (letzte Änderung: 6.August 2001)
Autor: J. Ullrich, S. Berndt
Änderungen:
Zustand: abgeschlossen



Gliederung

1. Überblick
2. Funktionale Beschreibung
3. Daten
3.1. Benutzerschnittstelle
3.2. Dateien
4. Qualitätsbestimmung
5. Anmerkungen
6. Verwandte Dokumente
7. Testfälle
8. Glossar

1. Überblick

Die Teilfunktion 'Festlegen eines Omega- ,Theta- und Psdkanal-Offset' ist als Teil des Diffraktometrie/ Reflektometrie-Gesamtvorganges in das existierende XCTL-Programm zu integrieren. In den Gesamtvorgang läßt sich diese Funktion unter dem Oberbegriff AreaScan einordnen. Die Funktion soll dazu dienen den Unterschied zwischen Realität und Theorie bzgl. der Winkelwerte auszugleichen( 0mega-,Thetaoffset) sowie dem 2Thetawert einen beliebigen Psdkanal zuordnen zu können(Psdkanaloffset) .

2. Funktionale Beschreibung

a) Omega-,Thetaoffset
Der Hintergrund dieser Erweiterung ist folgender:
In der aktuellen Version des Programmes ist es so, daß sich aufgrund der Apperatur die praktischen Ergebnisse oft von den theoretischen zu erwartenden Ergebnissen unterscheidet. So kann es z.B. vorkommen, daß der reale Wert für die Position des Reflexes bei einem Omegawinkel von 10 und einem 2Thetawinkel von 17 gefunden wird. Der theoretische Wert für die Position hätte aber bei einem Omegawinkel von 7 und einem 2Thetawinkel von 18 liegen müssen. Es ergibt sich also ein Unterschied von -3 zwischen dem realen und dem erwarteten Omegawinkel, sowie ein Unterschied von 1 zwischen realem und erwartetem 2Thetawinkel. Da die realen Werte theoretisch falsch sind ist von den Physikern die Möglichkeit gewünscht, vor dem Start eines AreaScans diese Unterschiede anzugeben, so das danach vom Programm sowohl bei der Eingabe der Scanparameter, als auch bei der Darstellung der Spekren des Areascans nur noch mit den theoretischen Werten gearbeitet wird. Diese Offsetwerte sollen beim Speichern der Datenbasis in den Headerinformationen abgelegt werden.

b) Psdkanaloffset
Zusätzlich zu diesen beiden Offsets, ist eine weitere Offsetfunktion gewünscht. Diese Funktion soll nur bei AreaScans mit einem Psd Anwendung finden( Omega2Theta- und StandardScan). Im Augenblick arbeitet das XCTL-Programm so, daß z.B. bei einem Omega2Theta-Scan mit einem Psd der 0. Kanal immer an der Position des 2Thetawinkels gemessen wird und alle folgenden Kanäle dementsprechend größeren Winkelwerten als dem Winkelwert des 0. Kanals entsprechen. Dieser Winkelwert und die zugehörige Intensität bilden also zur Zeit immer den linken Randpunkt des dargestellten Kurvenspektrums. In der Realität ist es aber oft so, daß genau diese Position (2Thetaposition) interessant ist und deshalb im Zentrum des Kurvenspektrums liegen sollte. Um dies zu Erreichen, ist eine Funktion gewollt, die es dem Benutzer noch vor dem Start eines Scans mit Psd ermöglicht einen bestimmten Kanal anzugeben, der jeweils an denen in der AreaScan-Dialogbox eingegebenen Winkelposition(Theta) messen soll (siehe auch Erweiterung 2Theta). Beim Start eines Scans würde dann der Psd jeweils an der durch den Offset verschobenen Thetaposition messen, so daß z.B. die 2Thetaposition immer beim 800.ten Kanal des Psd liegt. Auch in diesem Fall ist ein entsprechender Eintrag im Headerteil eines gespeicherten AreaScans gewünscht.

2.1 Einstellen eines Omega- bzw. ThetaOffset vor dem Start eines AreaScans

DIALOGBOX:



Das Einstellen des Omega- bzw. Thetaoffset erfolgt über die Dialogbox "Einstellungen Offset" vor dem Start eines AreaScans. Die Dialogbox ist vor dem Start eines Scans über die Dialogbox "Einstellungen AreaScan" erreichbar. Wird in dieser Box der Auswahlbutton "Offset verwenden" im Gruppenfeld "Offset" aktiviert, so wird automatisch die Dialogbox "Einstellungen Offset" geöffnet und die entsprechenden Eingaben können getätigt werden. Dieser Dialog kann auch zu einem späteren Zeitpunkt durch betätigen des Button "Einstellungen" wieder aufgerufen werden.

DIALOGBOX:



Im Gruppenfeld "Omega" kann man den Omegaoffset direkt als Winkelwert im TextFeld "Winkel-Offset" im Gruppenfeld "direkt" eingeben. Der hier einzugebene Wert entspricht der Differenz von theoretischem Winkelwert und realem Winkelwert. Hat man auf das entsprechende Textfeld geklickt, so ändert sich die Bezeichnung des Buttons im Omegagruppenfeld von "Offset berechnen" zu "Winkel berechnen". Durch betätigen dieses Buttons ist es möglich den theoretischen Winkel, der dem im Textfeld "Winkel" angegebenen realen Winkelposition im Textfeld "entspricht Winkel" unter Berücksichtigung des aktuell eingestellten Omegaoffset anzuzeigen. Die zweite Möglichkeit einen Omegaoffset festzulegen kann durch Eingaben im Gruppenfeld "indirekt" erfolgen. Es muß hierbei im Textfeld "Winkel" der reale Winkelwert und im Textfeld "entspricht Winkel" der diesem realen Winkel zuzuweisende theoretische Winkelwert eingegeben werden. Wurde eines dieser Textfelder angeklickt, so ändert sich die Bezeichnung des Buttons im Omegagruppenfeld von "Winkel berechnen" zu "Offset berechnen". Durch betätigen dieses Buttons kann nun wiederum der sich aus dem eingegebenen realen und theoretischen Winkelwert ergebende Omega-Winkeloffset berechnet und im Textfeld "Winkel-Offset" angezeigt werden. Auf die gleiche Art und Weise kann man die Offset-Einstellungen für den Thetaoffset im Gruppenfeld "Theta" vornehmen.
Ist der Auswahlbutton der Dialogbox "Einstellungen AreaScan" aktiviert, so sind alle Winkelangaben für Omega und Theta als die theoretischen aufzufassen. Ist der Auswahlbutton beim Verlassen der Dialogbox "Einstellungen AreaScan" aktiviert, so wird der nächste Scan mit den Offseteinstellungen der Box "Einstellungen Offset" durchgeführt. Ist dieser Auswahlbutton nicht aktiviert, so wird der nächste Scan ohne einen Omega- bzw. Thetaoffset durchgeführt. Liegen die realen Omega- und Thetawinkel für Start- oder Endposition durch Einbeziehung der Offsets außerhalb des für die Achse erlaubten Bereiches, so erscheint folgende Meldung.

MESSAGE

bzw.

MESSAGE

Die Dialogbox "Einstellungen AreaScan" wird nicht geschlossen, bis die Offsetwerte oder die Omega- bzw. Thetawerte soweit korrigiert wurden, so daß die realen Winkelwerte in den Gültigkeitsbereich der Achse fallen.

2.2 Einstellen eines Psd-Kanal-Offset vor dem Start eines AreaScans

Das Einstellen eines Psd-Kanal-Offset für einen AreaScan erfolgt in der Dialogbox "Einstellungen AreaScan". Dazu ist es erforderlich, daß ein Psd-Detektor in der Auswahlbox im Gruppenfeld "Detektor" eingestellt ist. Nur unter dieser Bedingung sind Eingaben in das Textfeld "Meßkanalnr.:" im Gruppenfeld "Detektor" möglich. Das Feld ist auch ausgegraut, wenn kein Thetamotor zum Bewegen des Psd verfügbar ist. Ansonsten ist in diesem Textfeld die Nummer des Kanals des Psd angebbar, der sich auf der durch die Angaben in den Feldern "Einstellungen Omega" und "Einstellungen 2Theta" spezifizierten Position befinden soll. Liegen die realen Omega- und Thetawinkel für Start- oder Endposition durch Einbeziehung des Offsets außerhalb des für die Achse erlaubten Bereiches, so erscheint folgende Meldung.

MESSAGE

Die Dialogbox "Einstellungen AreaScan" wird nicht geschlossen, bis der Offsetwert oder die Omega- bzw. Thetawerte soweit korrigiert wurden, so daß die realen Winkelwerte in den Gültigkeitsbereich der Achse fallen.
Ist die eingegebene Kanalnummer ein negativer Wert oder größer als die maximale Kanalnummer die der Psd besitzt, so erfolgt die folgende Fehlermeldung

MESSAGE

und die Dialogbox wird nicht geschlossen.

2.3 Ablauf und Ergebniss eines AreaScans mit Offset

Nachdem alle Einstellungen für den AreaScan mit Offset erfolgt sind (siehe 2.1,2.2 und "Verhaltensspezifikation AreaScan"), kann der AreaScan gestartet werden. Alle Angaben während des Scanablaufes (Statuszeile, Achsenkoordinaten, ...) sind nun nicht mehr die realen Motorpositionen sondern die um den Offset korrigierten theoretischen Winkelwerte.

3. Daten

3.1 Benutzerschnittstelle

3.1.1. Einstellungen AreaScan

DIALOGBOX

3.1.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.
  • Der Checkbutton "Offset verwenden" kann durch Betätigung der Taste o (de)aktiviert werden.
  • 3.1.1.2. Eingabe/Ausgabe und Prüfung

    Hierbei werden nur die neu hinzugekommenen Dialogboxelemente aufgeführt. (alle anderen siehe Verhaltensspezifikation AreaScan)

    a) Gruppenfeld :[Offset]

    Auswahlbutton :[Offset verwenden]
    Dieser Schalter gibt an, ob für den nächsten Scan ein Offset verwendet werden soll. Nur wenn dieser Schalter aktiviert ist, kann der Button "Einstellungen" betätigt werden(sonst ausgegraut).
    Wird dieser Button aktiviert, so öffnet sich automatisch die Dialogbox "Einstellungen Offset".
    --> bei Aufruf der Box deaktiviert

    Aktionschalter :[Einstellungen]
    Durch betätigen dieses Schalters wird die Dialobox "Einstellungen Offset" geöffnet.

    b) im Gruppenfeld [Detektor]

    Textfeld :[Meßkanal]
    In diesem Textfeld ist die Nummer des Kanals des Psd anzugeben, der sich auf der durch die Angaben in den Felder "Einstellungen Omega" und "Einstellungen 2Theta" spezifizierten Position befinden soll. Dieses Feld ist nur durch den Nutzer veränderbar, wenn als Detektor ein Psd ausgewählt ist. Ansonsten ist das Feld ausgegraut.
    --> Wert bei erstem Aufruf der Box auf 0 gesetzt
    --> Bei wiederholtem Aufruf der Box werden die Werte vom letzten Aufruf gesetzt
    zulässiger Wertebereich:[0,1,(Kanalanzahl des Psd) -1]

    c) zu Aktionsschalter :[OK]

  • reale Omega-bzw. Thetawinkel durch Einbeziehen des Offset außerhalb des Gültigkeitsbereiches ==> Werte werden nicht automatisch angepaßt + Meldung erscheint (siehe 2.1, 2.2)
  • Kanalnummer außerhalb des Gültigkeitsbereich ==> Wert wird automatisch auf 0 geändert
  • und Dialogbox wird nicht geschlossen

    3.1.2. Einstellungen Offset

    DIALOGBOX

    3.1.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 OK-Button.
  • 3.1.2.2. Eingabe/Ausgabe und Prüfung

    a) Gruppenfeld :[Omega]
    Hier sind alle Parameter für den Omegaoffset zusammengefaßt.

    a1) Gruppenfeld :[indirekt]
    Hier sind alle Parameter für das indirekte Festlegen eines Omegaoffset zusammengefaßt.

    Textfeld :[Winkel]
    In diesem Feld wird der reale Winkelwert angegeben, der einen anderen (theoretischen) Wert bekommen soll.
    --> Wert bei erstem Aufruf der Box auf 15 gesetzt
    --> Bei wiederholtem Aufruf der Box wird Wert aus "entspricht Winkel" und "Winkel-Offset" vom letzten Aufruf berechnet
    zulässiger Wertebereich:[]

    Textfeld :[entspricht Winkel]
    In diesem Feld wird der theoretische Winkelwert angegeben, der einem (realen) Wert entsprechen werden soll.
    --> Wert bei Aufruf der Box auf 15 gesetzt
    zulässiger Wertebereich:[]

    a2) Gruppenfeld :[direkt]
    Hier ist der Parameter für das direkte Festlegen eines Omegaoffset eingeordnet.

    Textfeld :[Winkel-Offset]
    In diesem Feld wird der Winkeloffsetwert angegeben, der die Differenz zwischen einem theoretischem und einem (realen) Wert wiedergibt.
    --> Wert bei erstem Aufruf der Box auf 0 gesetzt
    --> Bei wiederholtem Aufruf der Box wird der Wert vom letzten Aufruf gesetzt
    zulässiger Wertebereich:[]

    a3) Aktionsschalter:[]
    Dieser Schalter dient zur Berechnung eines Wertes, aus je 2 anderen. Der Schalter trägt die Bezeichnung "Offset berechnen", wenn eine Eingabe in eines der Felder im Gruppenfeld "indirekt" erfolgt ist. In diesem Fall wird durch Betätigen des Schalters der Wert des Feldes "Winkel-Offset" aus den eingegebenen "indirekt"-Parametern neu berechnet. Der Schalter trägt die Bezeichnung "Winkel berechnen", wenn eine Eingabe in das Feld im Gruppenfeld "direkt" erfolgt ist. In diesem Fall wird durch Betätigen des Schalters der Wert des Feldes "entspricht Winkel" aus dem eingegebenen "indirekt"-Parameter( Winkel) und dem Parameter "Winkel-Offset" neu berechnet.

    b) Gruppenfeld :[Theta]
    Hier sind alle Parameter für den Thetaoffset zusammengefaßt. Das Eingeben von Parametern in den Feldern dieses Gruppenfeldes vor einem Scanstart ist nur möglich, wenn in der Dialogbox "Einstellungen AreaScan" der Checkbutton "Theta-Achse fixieren" deaktiviert war. Ansonsten ist das gesamte Gruppenfeld ausgegraut.

    b1) Gruppenfeld :[indirekt]
    Hier sind alle Parameter für das indirekte Festlegen eines Thetaoffset zusammengefaßt.

    Textfeld :[Winkel]
    In diesem Feld wird der reale Winkelwert angegeben, der einen anderen (theoretischen) Wert bekommen soll.
    --> Wert bei erstem Aufruf der Box auf 10 gesetzt
    --> Bei wiederholtem Aufruf der Box wird Wert aus "entspricht Winkel" und "Winkel-Offset" vom letzten Aufruf berechnet
    zulässiger Wertebereich:[]

    Textfeld :[entspricht Winkel]
    In diesem Feld wird der theoretische Winkelwert angegeben, der einem (realen) Wert entsprechen werden soll.
    --> Wert Aufruf der Box auf 10 gesetzt
    zulässiger Wertebereich:[]

    b2) Gruppenfeld :[direkt]
    Hier ist der Parameter für das direkte Festlegen eines Thetaoffset eingeordnet.

    Textfeld :[Winkel-Offset]
    In diesem Feld wird der Winkeloffsetwert angegeben, der die Differenz zwischen einem theoretischem und einem (realen) Wert wiedergibt.
    --> Wert bei erstem Aufruf der Box auf 0 gesetzt
    --> Bei wiederholtem Aufruf der Box wird der Wert vom letzten Aufruf gesetzt
    zulässiger Wertebereich:[]

    b3) Aktionsschalter:[]
    Dieser Schalter dient zur Berechnung eines Wertes, aus je 2 anderen. Der Schalter trägt die Bezeichnung "Offset berechnen", wenn eine Eingabe in eines der Felder im Gruppenfeld "indirekt" erfolgt ist. In diesem Fall wird durch Betätigen des Schalters der Wert des Feldes "Winkel-Offset" aus den eingegebenen "indirekt"-Parametern neu berechnet. Der Schalter trägt die Bezeichnung "Winkel berechnen", wenn eine Eingabe in das Feld im Gruppenfeld "direkt" erfolgt ist. In diesem Fall wird durch Betätigen des Schalters der Wert des Feldes "entspricht Winkel" aus dem eingegebenen "indirekt"-Parameter( Winkel) und dem Parameter "Winkel-Offset" neu berechnet.

    e) Aktionsschalter: [Abbrechen]
    Dialogbox schließen, bereits eingegebene Werte werden verworfen.

    f) Aktionsschalter: [OK]
    Mit der Taste 'OK' werden die aktuellen Werte übernommen und die Dialogbox geschlossen.

    3.2 Dateien

    3.2.1 psd-Datei

    Die Psd-Datei erhält einen ergänzenden Header-einträg zum Psdkanal-Offset, der bei jedem Scan mit einem Psd angelegt wird.
    (alt)
    Comment=Topographie-Meßplatz
    [Header]
    User=Panzner Date=01.02.2001 Time=11:06:11
    DataRows=21 DataColumns=31 FileType=1
    FirstColumn=0 LastColumns=30
    OmegaMin=0.0000 OmegaStep=0.20000 OmegaMax=4.0000
    ThetaMin=0.000 ThetaStep=0.4000 ThetaMax=8.000 MoveRelation=2.00
    Target=p457 Reflection=[658] Orientation=[999]
    WaveLength=1.540 Current=35 HV=40
    TimePerScan=1.00 PsdStep=124194344.000000 PsdAddedChannels=64

    (neu)
    Comment=Topographie-Meßplatz
    [Header]
    User=Panzner Date=01.02.2001 Time=11:06:11
    DataRows=21 DataColumns=31 FileType=1
    FirstColumn=0 LastColumns=30
    OmegaMin=0.0000 OmegaStep=0.20000 OmegaMax=4.0000
    ThetaMin=0.000 ThetaStep=0.4000 ThetaMax=8.000 MoveRelation=2.00
    Target=p457 Reflection=[658] Orientation=[999]
    WaveLength=1.540 Current=35 HV=40
    TimePerScan=1.00 PsdStep=124194344.000000 PsdAddedChannels=64 MeasurementChannel=0

    Erklärung: (nur die neuen Einträge)
    - 'MeasurementChannel' enthält die Meßkanalnummer des Psd; dieser Kanal war immer auf der 2Thetaposition positioniert

    3.2.2 rep-Dateien

    Nur der Psdkanaloffset hat einen Einfluß auf die Thetawerte. Diese geben in diesem Fall die Thetaposition des 0. Kanals des jeweiligen Scans an.
    Alle anderen Offset's haben keine Wirkung.

    4. Qualitätsbestimmung

    Produktqualität Sehr gut Gut Normal Nicht relevant
    Funktionalität . X . .
    Zuverlässigkeit . X . .
    Benutzbarkeit X . . .
    Effizienz . X . .
    Änderbarkeit . X . .
    Übertragbarkeit . . X .

    5. Anmerkungen

  • Betriebssystem: Windows 9x
  • Compiler: Borland C++ 4.5


  • 6. Verwandte Dokumente

    Grundlage für die Implementation sind Gespräche mit den Physikern.

    7. Testfälle

    Folgendes ist zu testen:

    Weitere Testfälle sind mit den Physikern zu klären.

    8. Glossar