Verhaltensspezifikation (Pflichtenheft)

XCTL-Steuerprogramm

Funktion: 0-dimensionale Detektoren
Teilfunktion: Zählerfenster


Dokumentversion:  1.03 (14.11.2001)
Autor:   U.Sacklowski
 Zustand:  in Bearbeitung
Änderungen zur Version 1.02:   Einbeziehung der Reviews der Projektgruppe 00
 
 

Gliederung

1. Überblick
2. Funktionale Beschreibung
2.1 Verfügbarmachung von 0-dimensionalen Detektoren
2.2 Start des Zählvorganges
2.3 Auswahl des Detektors einschließlich seiner Einstellungen
2.3.1 Auswahl und allgemeine Einstellungen
2.3.2 Spezifische Einstellungen
2.4 Darstellungsarten der Zählrate
2.5 Abspeichern der Meßwerte in der log-Datei
2.6 Beenden des Zählvorganges
3. Daten
3.1 Benutzerschnittstelle
3.1.1 Dialogbox: Zähler-Konfiguration
3.1.2 Dialogbox: Settings for Radicon SCS
3.1.3 Dialogbox: Parameter für Zähleranzeige
3.2 Dateien
3.2.1 ini-Dateien
3.2.2 log-Datei
4. Änderungswünsche und Fehler
5. Offene Fragen
6. Glossar
 

1. Überblick

0-dimensionale Detektoren  zählen die einfallenden Photonen. Eine Zählung kann integral erfolgen, d.h., alle Photonen werden unabhängig von der Eintreffstelle auf dem Detektor gezählt, und ortsauflösend. Genutzt wird hier nur die integrale Zählweise.

Das Einsatzfeld solcher  0-dimensionalen Detektoren liegt bei:

- der Justage (manuelle und automatische), hier als Kontrollgerät hinsichtlich des Justagezustandes,
- der Topographie, hier als Kontrolldetektor zwecks Überprüfung unveränderlicher Meßbedingungen und bei
- der Diffraktometrie/Reflektometrie, hier als Meßgerät für die Ausmessung der Probe.

In allen Anwendungsfällen ist die Zählrate (Photonen (Impulse) je Zeiteinheit) die entscheidende Größe. Sie kann in einem Zählerfenster (siehe Abb. 1) fortlaufend angezeigt werden.

2. Funktionale Beschreibung

Die vom detektor gemessene Zählrate kann in einem Zählerfenster (siehe Abb. 1) fortlaufend angezeigt werden.

Aus diesem Zählerfenster heraus (siehe Abb. 1) und auch über das Hauptmenü: Einstellungen -> Detektoren -> Detektoren... sind alle Funktionen wählbar, wobei ein Teil dieser Funktionen parametergesteuert ist (.ini-Files: Abschnitt [Counter] aus der develop.ini und Abschnitt [Device] aus der hardware.ini.

Abb. 1: Zähler-Fenster mit PopUp-Menü

Bereitgestellte Funktionen:

- Verfügbarmachung von 0-dimensionalen Detektoren
- Start des Zählvorganges
- eine Auswahl des Detektors einschließlich seiner Einstellungen (Zählerfenster Abb. 1, PopUp-Menü 4)
- Wahlmöglichkeiten hinsichtlich der Darstellungsart der Zählrate (Zählerfenster Abb. 1, PopUp-Menü 1, 2, 3)
- Abspeichern der Meßwerte in einer Datei (Zählerfenster Abb. 1, PopUp-Menü 5)
- Beenden des Zählvorganges

Vertreter für die 0-dimensionale Detektorklasse sind der Radicon-Zähler und ein noch älterer Zähler eines ebenfalls russischen Herstellers (siehe: Produktdok. -> Weitere Entwicklerdokumente -> Hardware am Inst. für Physik -> Detektoren).

2.1 Verfügbarmachung von 0-dimensionalen Detektoren

Sämtliche an einem Meßplatz einsetzbaren Detektoren sind in der hardware.ini-Datei  zu führen. In dieser existiert für jeden Detektortyp ein eigener [Devicex] - Abschnitt (x: 0, 1, ...) mit den typspezifischen Angaben. Wird z.B. an einem Meßplatz wahlweise der Radicon-Zähler (Type=Radicon) und auch das ältere russische Zählrohr (Type=Generic) benutzt, so sind für beide Detektoren Device-Abschnitte vorzusehen. Ein dritter Abschnitt könnte für einen fiktiven Testzähler vorgesehen werden. Seine Typbezeichnung muß abweichend von allen vordefinierten Typen sein, z.B. Type=Test (siehe Pkt. 3.2.1: Dokumentation des hardware.ini-Files).

Ein Detektor ist für das Programm verfügbar, wenn er im hardware.ini-File definiert und technisch angeschlossen ist. Sind beide Bedingungen erfüllt, wird er in den entsprechenden Dialogboxen zur Auswahl angeboten. Ausgenommen von der technischen Anschlußüberprüfung ist nur der Testzähler.

Zur gleichen Zeit unterstützt das Programm immer nur einen Detektor. Beim Versuch, einen zweiten Detektor, und mit ihm ein zweites Zählerfenster zu öffnen, erfolgt die Fehlerausschrift: Es ist bereits ein darstellendes Fenster geöffnet. Zum Starten eines anderen Detektors muß also zuvor der bereits aktive geschlossen werden.

2.2 Start des Zählvorganges

Der Start dieser Programmfunktion und damit die Öffnung des Zähler-Fensters und die Anzeige der aktuell gemessenen Meßwerte kann auf zwei unterschiedliche Arten erfolgen:
1. automatisch nach dem Programmstart, wenn die Parameter "Startup" und "Environment" im [Steuerprogramm]-Abschnitt des develop.ini-Files entsprechend gesetzt sind,
2: über die Menüfunktion: Einstellungen -> Detektoren -> Detektoren ...

Standardmäßig wird der Detektor aus dem Abschnitt [Device0] ausgewählt. Ist dieser nicht angeschlossen, gehts weiter zum [Device1] usw. Ist kein Detektor verfügbar (auch keiner vom Typ Test), erfolgt eine System-Fehlernachricht und es kommt zum Programmabbruch. Gleichermaßen wird verfahren, wenn kein [Device0] - Abschnitt existiert (notwendige Voraussetzung).

Die zu verwendende Lage, Geometrie und der Font des Zählerfensters werden dem develop.ini-File unter dem Abschnitt [Counter]- x, y, dx, dy, font entnommen.
Der Name des Detektors wird in der Titelzeile des Zählerfensters angezeigt (Quelle: hardware.ini-File: [Devicex] - Name).
 
 

2.3 Auswahl des Detektors einschließlich seiner Einstellungen

2.3.1 Auswahl und allgemeine Einstellungen

Abb. 2: Dialogbox: Zähler-Konfiguration

Diese Dialogbox ist aufrufbar über:
- PopUp-Menü "Einstellungen Gerät ..." im Zähler-Fenster oder über
- Haupt-Menü: Einstellungen -> Detektoren -> Detektoren ...

Beschreibung der Dialogbox

Feld: Zeitbegrenzung und Impuls-Begrenzung:

Begrenzungsmöglichkeit für die Detektor-Meßzeit und die vom Detektor gemessene Impulszahl. Im Zählerfenster angezeigt wird fortlaufend die Anzahl der Impulse je Meßzeit-Intervall.
Die max. Impulszahl  ist neben der Meßzeit ein zweites Abbruchkriterium. (Grund für diese Angabe ist eine obere technische Schranke des Detektors.) Die tatsächliche Meßzeit kann daher geringer  ausfallen. Wird nämlich die max. Impulszahl vor Ablauf der Meßzeit erreicht, so wird diese Impulszahl auf die vorgegebene Meßzeit hochgerechnet, angezeigt und der Zähler beginnt mit Null ein neues Meßintervall. (hardware.ini-File: [Devicex], ExposureTime, ExposureCounts).

Feld: Meßfehler festlegen:

Festlegung des Meßfehlers in Prozent. Abschaltbar. - Bedeutung noch unklar.

Feld: Sound:

Ein- und Ausschalten der akustischen Meldung der Zählrate. Die Tonhöhe steigt mit zunehmender Zählrate. (hardware.ini-File: [Devicex], Sound).
Sound-Erzeugung: bspw. beim Radicon-Zähler von der Radicon-Steuerkarte.

Kombinationsfenster-Feld: Detektor (unten links)

Wahl eines der angebotenen Detektoren (siehe auch Pkt. 2.2).
Hinweis: Wird ein 1-dimensionaler Detektor ausgewählt, so erfolgt generell eine integrale Messung, d.h., er arbeitet wie ein 0-dimensionaler Detektor.

Feld: Fenster anzeigen: Ein- und Ausblenden des Zählerfensters.

Schalter: Abbrechen: Verwerfen der aktuell eingegebenen Werte und Schließen des Fensters.

Schalter: OK: Übernahme der aktuell eingegebenen Werte und Schließen des Fensters.

Feld: Weitere Einstellungen:

Dieser Button ist nur für den Radicon-Zähler aktiv und er bewirkt das Öffnen des Unterfensters "Settings for Radicon SCS" (Abb. 3). Für alle anderen Detektoren ist dieser Button inaktiv. Die Werte für den russ. SCS-Zähler (Type=Generic) müssen offline durch ein extra Gerät gesetzt werden.

2.3.2 Spezifische Einstellungen

Abb. 3: Spezifische Einstellungen für den Radicon SCS
          (Der untere Schwellwert ist unglücklich, er sollte vom oberen abweichen, z.B. 720.)

Beschreibung der Dialogbox

Felder: Lower Threshold, Upper Threshold, High Voltage:

Der Radicon-Zähler besteht aus dem Detektorblock (außerhalb des PC's), der Interfacekarte (innerhalb des PC's) und einem verbindenden Kabel.

Detektorblock: dieser setzt sich im wesentlichen aus einem Szintillationskristall und einem nachgelagerten Photomultiplier zusammen. Aufgabe des  Szintillationskristalls: einfallende Lichtquanten (Photonen) in Lichtblitze umzuwandeln. Aufgabe des Photomultipliers: Umwandlung der Lichtblitze in einen meßbaren elektrischen Strom.

Wesentliche Betriebsgrößen dieser Kombination sind die Beschleunigerspannung und der untere und der obere Schwellwert, alles einstellbar im Dialogfenster "Settings for Radicon SCS". Mit dem unteren und dem oberen Schwellwert (Lower Threshold, Upper Threshold) legt man fest, in welchem Energiebereich einfallende Lichtquanten registriert werden. Dieser Bereich ist so zu legen, daß nur die durch die Röntgenbeugung entstandenen Lichtquanten gezählt werden, und damit der Ausschluß der störenden hochenergetischen Höhenstrahlung und der niedrigenergetischen Strahlung erfolgt. Wie bereits im Pkt. 1. erwähnt, wird ausschließlich die integrale Arbeitsweise genutzt. Die Beschleunigerspannung ( High Voltage) liegt am Photomultiplier zwischen der Photokatode und der Anode und soll einen aus den wenigen von der Photokatode emittierten Elektronen meßbaren Strom erzeugen.

Werte für Lower Threshold, Upper Threshold  im hardware.ini-File: [Devicex], LowerThresh, UpperTresh.

Werte für High Voltage im hardware.ini-File: [Devicex], HighVoltage.

Cancel, OK: Funktionalität wie beim Dialog-Fenster "Zähler-Konfiguration" (Abbrechen, OK).

2.4 Darstellungsarten der Zählrate

a) Digitale Anzeige / Balken-Darstellung

Eine Auswahl erfolgt über das PopUp-Menü des Zähler-Fensters (Abb. 1). Eine digitale Anzeige, wie sie beispielhaft in Abb. 1 zu sehen ist, kann einmal über den Font beeinflußt werden (develop.ini-File: [Counter], font), zum anderen ist ihr Grad über eine Größenveränderung des Fensters skalierbar. Eine alternative Darstellung zur digitalen Anzeige ist die der Balkendarstellung. Sie kann über die PopUp-Menü-Funktion des Zähler-Fensters "Einstellungen Anzeige ..." gesteuert werden.

b) Einstellungen Anzeige ...

Abb. 4: Parameter für Zähler-Anzeige

Diese Angaben sind unklar und aus dem Quelltext heraus zu interpretieren. Klar ist nur das Feld: Balken-Anzahl . Sie spezifiziert die Anzahl der senkrecht angeordneten Balken im Zähler-Fenster (Wert im develop.ini-File: [Counter] BarNumber). Zu den anderen Angaben  finden sich keine Parameter im .ini-File (evtl. im Abschnitt [Counter] möglich ?).
 

2.5 Abspeichern der Meßwerte in der log-Datei

Die Funktion "Log-File" gestattet, daß ab Wahl dieser Funktion die gemessenen Werte  in einer Datei abgelegt werden. Vorangestellt wird dabei eine Kopfzeile mit allgemeinen Angaben.

Name, Ort und Format der Datei:
Datei-Name: devicex.log   (devicex : Name des aktuellen Detektorabschnittes im .ini-File)
Datei-Pfad: aktuelles Verzeichnis, aus dem heraus das Programm gestartet wurde.
Datei-Format: ascii-Format

Beispiel:
     Logging Device1 starts at 24.11.1999 14:12
     22566.000
     22481.000
     22503.000
     ...

Fallbeschreibungen:

- Ist eine Datei mit dem Namen nicht vorhanden, so wird sie angelegt, ansonsten wird am Ende der bestehenden Datei fortgeschrieben.
- Eine Fortschreibung beginnt immer mit der "Logging Devicex - Zeile".
     Bsp. für eine fortgeschriebene Log-Datei:

   Logging Device1 starts at 24.11.1999 14:12
     22566.000
     22481.000
     22503.000
     Logging Device1 starts at 26.12.1999 10:12
     33566.000
     33481.000

- Eine Fortschreibung erfolgt auch nach einem Ausschalten (keine Aufzeichnung mehr der Meßdaten) und dem anschließenden Einschalten der Log-Funktion.
- Die Ausgabe der Daten endet mit dem Ausschalten der Log-Funktion, mit dem Schließen des Zählerfensters oder dem Schließen der Anwendung.
- Ein zwischenzeitliches Verändern der Zählerparameter während des Schreibens in das Log-Datei schlägt sich nicht im Log-Datei nieder.

2.6 Beenden des Zählvorganges

Dieser Punkt fehlt noch.
 

3. Daten
3.1 Benutzerschnittstelle

3.1.1 Dialogbox: Zähler-Konfiguration

Zur Dialogbox siehe Abb. 2.
Hier ist noch vieles zu ergänzen.

- Feld: Zeitbegrenzung
Wertebereich:       bis       ?
Default-Werte:?
Maßeinheit: Sekunden
hardware.ini-File: [Devicex], ExposureTime

- Feld: Impulsbegrenzung
Wertebereich:       bis       ?
Default-Werte:?
Maßeinheit: Anzahl
hardware.ini-File: [Devicex], ExposureCounts

- Feld: Meßfehler festlegen
Wertebereich:       bis       ?
Default-Wert:?
Maßeinheit: %
.ini-File: ?

- Listbox: Detektorauswahl
Angeboten werden alle die Detektoren mit ihrem Namen, die im .ini-File in einem  [Devicex]-Abschnitt aufgeführt werden und am PC auch angeschlossen sind. Letztere Bedingung ist für den "Test-Zähler" nicht erforderlich.

3.1.2 Dialogbox: Settings for Radicon SCS

Zur Dialogbox siehe Abb. 3.
Hier ist noch vieles zu ergänzen.

- Feld: Lower Threshold
Wertebereich:       bis       ?
Default-Werte: 150,   wenn < 1, dann 150;   wenn Lower Threshold >= Upper Threshold, dann Lower Threshold: 300
Maßeinheit: ?
hardware.ini-File: [Devicex], LowerThresh

- Feld: Upper Threshold
Wertebereich:       bis       ?
Default-Werte: 950,   wenn < 1, dann 1023;   wenn Lower Threshold >= Upper Threshold, dann Upper Threshold: 1023
Maßeinheit: ?
hardware.ini-File: [Devicex], UpperThresh

- Feld: High Voltage
Wertebereich:       bis       ?
Default-Werte:?
Maßeinheit: Volt
hardware.ini-File: [Devicex], HighVoltage
 

3.1.3 Dialogbox: Parameter für Zähleranzeige

Zur Dialogbox siehe Abb. 4.
Hier ist noch vieles zu ergänzen.

- Feld: Max. Intensität
Wertebereich:       bis       ?
Default-Werte:?
Maßeinheit: ?
.ini-File: ?

- Feld: Balken-Anzahl
Wertebereich:       bis       ?
Default-Werte:?
Maßeinheit: Anzahl der Balken im Zähler-Fenster
.ini-File:  [Counter] BarNumber

3.2 Dateien
3.2.1 ini-Dateien

a) develop.ini, Abschnitt Counter

Zur Dokumentation des [Counter]-Abschnittes aus der develop.ini siehe Produktdokumentation -> Entwicklerdokumente -> Gesamtsystem -> Design -> develop.ini

b) harware.ini, Abschnitt Device

Zur Dokumentation des [Device]-Abschnittes aus der hardware.ini siehe Produktdokumentation -> Entwicklerdokumente -> Gesamtsystem -> Design -> hardware.ini

3.2.2 log-Datei

Fehlt noch: bezugnehmend auf den Punkt 2.5 ist das Dateiformat korrekt zu beschreiben.

4. Änderungswünsche und Fehler

Änderungswünsche:
- Die Balkendarstellung ist herauszunehmen. Sie wird nicht benutzt bzw. ist teilweise sogar nicht einmal bekannt.
- Die Dialogbox  "Parameter für Zähleranzeige" ist damit wahrscheinlich überflüssig.
- Die Benutzerschnittstelle ist sowohl in deutsch, als auch in englisch bereitzustellen.

Fehler:
- Beim Radicon SCS werden die Angaben aus dem Fenster "Settings for Radicon SCS" nicht in das .ini-File übernommen
- Beseitigung des Programmabbruchs im Falle keines verfügbaren Detektors
 

5. Offene Fragen

- Obige Änderungswünsche sind abschließend abzuklären
- Dialogbox: Zähler-Konfiguration: "Meßfehler festlegen" klären
- durch Sourcenanalyse beantwortbar bzw. als Änderungangebote zu sehen:
   -- Log-File:
         .. sind Pfad und Name des Log-Files beeinflußbar?
         .. sollten Maßeinheiten und Angaben zum Ende des Loggings übernommen werden?
   -- .ini-File:
         .. werden alle Werte mit dem Schließen eines Fensters/einer Dialogbox übernommen?
         .. welches ist die max. Anzahl der Detektorabschnitte in der hardware.ini-Datei?
   -- Detektor:
        .. wo werden die Schwellwerte und die Arbeitsspannung für den russischen SCS abgelegt?
        .. ist feststellbar, nach welcher Zeit die Impulsbegrenzung erreicht wurde?
- Überarbeitung aus softwareergonomischer Sicht
   -- siehe Dokument: Auswertung der Zuarbeiten zum Dokument v1.00, -
          hier Angaben aus Pkt. 3 und bzgl. der SW-ergon. Bemerkungen zu den einzelnen Fenstern

6. Glossar

Dies ist noch zu erstellen.