Verhaltensspezifikation (modifiziertes Pflichtenheft)

XCTL-Steuerprogramm

Funktion: 0-dimensionale Detektoren
Teilfunktion: Zählerfenster


Dokumentversion:  2.00 (20.12.04)
Autor:   U.Sacklowski
 Zustand:  in Bearbeitung
 

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 Weitere Einstellungen
2.4 Darstellungsarten der Zählrate
2.5 Abspeichern der Messwerte 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: Einstellungen für den Psd
3.1.4 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 und geben die Anzahl als integralen Wert aus, - eine Ortsauflösung, wie beim 1-dimensionalen Detektor möglich, findet nicht statt.

Das Einsatzfeld solcher  0-dimensionalen Detektoren liegt bei:

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.

Ein Spezialfall für einen 0-dimensionalen Detektor ist die Verwendung eines 1-dimensionalen Detektors mit vollständiger integraler Zählweise (nur ein Wert je Zeiteinheit). In diesem Fall erfolgt keine Ortsauflösung, womit er wie ein 0-dimensionaler Detektor wirkt. Dieser Spezialfall wird von den Physikern nicht genutzt, wird jedoch hier mit dokumentiert, da dies das Programm unterstützt.

2. Funktionale Beschreibung

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

Aus diesem Zählerfenster heraus sind über ein PopUp-Menü (s. Abb. 1) alle Funktionen wählbar. Zusätzlich ist über das Hauptmenü: Einstellungen -> Detektoren -> Detektoren... die Funktion 'Einstellungen Gerät ...' wählbar.
Dabei ist ein Teil dieser Funktionen über die .ini-Dateien parametergesteuert (.ini-Dateien: Abschnitt [Counter] aus der <progr.-name>.ini und Abschnitt [Device] aus der hardware.ini. )

Abb. 1: Zähler-Fenster mit PopUp-Menü ('Test' ist der Name des ausgewählten Detektors aus dem Device-Abschnitt.)

Bereitgestellte Funktionen:

* Funktion, die nicht aus dem Programm heraus wählbar ist. Sie wird durch Parameter initiiert und wird beim Programmstart automatisch abgearbeitet.
** Funktion, die über ein Menü, aber auch über Parameter initiiert und bei dem Programmstart automatisch abgearbeitet werden kann.

2.1 Verfügbarmachung von 0-dimensionalen Detektoren

Sämtliche an einem Messplatz eingesetzten Detektoren sind in der hardware.ini-Datei  zu führen. In dieser existiert für jeden Detektor ein eigener [Devicex] - Abschnitt (x: 0, 1, ...) mit den typspezifischen Angaben. Wird z. B. an einem Messplatz wahlweise der Radicon-Zähler (Type=Radicon) oder das ältere russische Zählrohr (Type=Generic) benutzt, so sind für beide Detektoren Device-Abschnitte vorzusehen. Ebenso sind zwei Device-Abschnitte erforderlich, wenn mit zwei Radicon-Zählern gearbeitet wird.

Vertreter für die 0-dimensionalen Detektoren sind der Radicon-Zähler und ein noch älterer Zähler eines ebenfalls russischen Herstellers (siehe Web-Seite: Entwicklerdok. > Weitere Entwicklerdokumente und Dok.-Hilfen > Hardware am Inst. für Physik > Detektoren).
Ein Vertreter für einen 1-dimensionalen Detektor ist der Braun-Psd, ebenfalls im obigen Dokument beschrieben. Eine detaillierte Dokumentation hierzu ist zu finden unter > Benutzerdokumentation > Detektornutzung > PSD-Nutzung .

Darüber hinaus gibt es fiktive (simulierte) 0- und 1-dimensionale Testzähler. Drei solche Testzähler sind implementiert, beschrieben unter Entwicklerdok. > Entwicklertabelle > Detektornutzung > Analyse und Definition . Für die Seminare haben wir diese drei Testzähler bereitgestellt:
- Type=Test, Name=Counter: 0-dim. Zähler, der Werte einer real vermessenen Probe realisiert
- Type=Simulant, Name=Simulant: 0-dim. Zähler, der vom Programm zufällig berechnete Werte ausgibt
- Type=PSD, Name=PSD: 1-dim. Zähler, der vom Programm zufällig berechnete Werte ausgibt und bei integraler Zählweise (Kanaladdition) wie ein 0-dim. Zähler wirkt.

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

Zur gleichen Zeit unterstützt das Programm immer nur ein Zählerfenster.

2.2 Start des Zählvorganges

Der Start dieser Programmfunktion und damit die Öffnung des Zähler-Fensters und die Anzeige der aktuell gemessenen Messwerte kann auf zwei unterschiedliche Arten erfolgen:

  1. automatisch nach dem Programmstart, wenn die Parameter "Startup" und "Environment" im [Steuerprogramm]-Abschnitt der <progr.-name>.ini-Datei entsprechend gesetzt sind (siehe Web-Seite: > Entwicklerdokumente > Entwicklertabelle > Gesamtsystem > Design > Konfigurationsdateien > develop.ini),
  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, erfolgt eine Programmnachricht 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 der <progr.-name>.ini-Datei aus dem Abschnitt [Counter]- x0, y0, dx, dy, font entnommen.
Der Name des Detektors wird in der Titelzeile des Zählerfensters angezeigt (Quelle: hardware.ini-Datei: [Devicex] - Name).
 
 

2.3 Auswahl des Detektors einschließlich seiner Einstellungen

2.3.1 Auswahl und allgemeine Einstellungen

Für die Detektorauswahl und die Vorgabe allgemeiner Einstellungen ist die Dialogbox Zähler-Konfiguration zuständig (s. Abb. 2). Sie ist aufrufbar über:

Abb. 2: Dialogbox: Zähler-Konfiguration

Beschreibung der Dialogbox

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

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

Kombinationsfenster-Feld: Detektor (unten links)
Ausahl 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. In der Praxis kommt dies fast nicht zur Anwendung.)

Markierungs-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 Schalter ist nur für einen Radicon- oder für einen realen bzw. simulierten Psd-Detektor aktiv und er bewirkt das Öffnen eines Unterfensters (s. Abb. 3 und 4). Für alle anderen Detektoren ist dieser Schalter 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 Weitere Einstellungen

2.3.2.1 Radicon SCS

Diese Dialogbox ist nur bei einem real angeschlossenen Radicon SCS verfügbar. Simulierte 0-dimensionale Detektoren stellen diese nicht bereit.

Abb. 3: Erweiterte Einstellungen für den Radicon SCS
          (Gleichheit der Schwellwerte ist zwar möglich, realistischerweise sollte jedoch der untere Wert kleiner sein (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 Photonen in Lichtblitze umzuwandeln. Aufgabe des Photomultipliers: Umwandlung der Lichtblitze in einen messbaren elektrischen Strom.

Wesentliche Betriebsgrößen dieser Kombination sind die Beschleunigerspannung und der untere und der obere Schwellwert, alles einstellbar im Dialogbox "Settings for Radicon SCS". Mit dem unteren und dem oberen Schwellwert (Lower Threshold, Upper Threshold) legt man fest, in welchem Energiebereich einfallende Photonen registriert werden. Dieser Bereich ist so zu legen, dass nur die von der Röntgenbeugung herkommenden Photonen gezählt werden, und damit der Ausschluss 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 messbaren Strom erzeugen.

Werte für Lower Threshold, Upper Threshold  im hardware.ini-Datei: [Devicex], LowerThresh, UpperTresh.
Werte für High Voltage im hardware.ini-Datei: [Devicex], HighVoltage.
Schalter Cancel und OK: Funktionalität wie beim Dialog-Fenster "Zähler-Konfiguration" (Abbrechen, OK).

2.3.2.2 PSD

Diese Dialogbox wird neben einem realen PSD auch durch den simulierten PSD unterstützt. Die Dialogbox wird wegen der Vollständigkeit zwar hier abgebildet, jedoch nicht weiter beschrieben. Grund: Wie weiter oben bereits erläutert, wird der PSD für die Zählerfunktion nicht eingesetzt.

Beschreibung der Dialogbox: Siehe > Benutzerdokumentation > Detektornutzung > PSD-Nutzung

Abb. 4: Erweiterte Einstellungen für den PSD

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 beeinflusst werden (<progr.-name>.ini-Datei: [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, wird jedoch nicht sofort wirksam. Ein zwischenzeitlicher Wechsel zur Digitalanzeige und wieder zurück ist erforderlich. Innerhalb der ausgegebenen Balken sind der aktuelle Wert schwarz und die zurückliegenden Werte rot. Sind die Balken am rechten Fensterrand angelangt, setzt sich die Anzeige am linken Fensterrand fort.

b) Einstellungen Anzeige ...

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

Die Angaben dieser Dialogbox beziehen sich ausschließlich auf die Balkendarstellung.
- Balken-Anzahl:   Sie spezifiziert die Anzahl der senkrecht angeordneten Balken im Zähler-Fenster (Wert in der <progr.-name>.ini-Datei: [Counter] BarNumber).
- Max. Intensität: Wert wird dem oberen Rand des Zählerfensters zugeordnet.
- Logarithmische Dartstellung: Unklar, - sollte eine logarithmische Skalierung der Balkenintensitäten bewirken.
 

2.5 Abspeichern der Messwerte in der log-Datei

Die Funktion "Log-Datei" gestattet, dass 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-Datei)
Datei-Pfad: aktuelles Verzeichnis, aus dem heraus das Programm gestartet wurde.
Datei-Format: ascii-Format

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

Fallbeschreibungen:

2.6 Beenden des Zählvorganges

Der Zählvorgang endet mit dem Schließen des Zählerfensters 'Zähler: [gerätename]' über den Schließen-Knopf (Kreuz oben rechts) oder durch das Löschen der Checkbox 'Anzeigen' in derDialogbox 'Zähler-Konfiguration' (Abb. 2).
 

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: 0.1 bis 500
Default-Wert: hardware.ini-File: [Devicex], ExposureTime
Maßeinheit: Sekunden

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

- Kombinationsfenster: 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 die simulierten 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 Wert < 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 Wert < 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: Einstellungen für den PSD

 Zur Dialogbox siehe Abb. 4.
Eine detaillierte Dokumentation hierzu steht noch aus. Einige Angaben sind zu finden unter > Benutzerdokumentation > Detektornutzung > PSD-Nutzung.

3.1.4 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) <progr.-name>.ini, Abschnitt Counter

Zur Dokumentation des [Counter]-Abschnittes aus der <progr.-name>.ini siehe > Entwicklerdokumente > Tab. zu den Entwicklerdokumenten > Gesamtsystem > Design > Konfigurations-Dateien >develop.ini

b) harware.ini, Abschnitt Device

Zur Dokumentation des [Device]-Abschnittes aus der hardware.ini siehe  > Entwicklerdokumente > Tab. zu den Entwicklerdokumenten > Gesamtsystem > Design > Konfigurations-Dateien > hardware.ini

3.2.2 log-Datei

Das Dateiformat der .log-Dateien ist informal im Abschnitt 2.5 beschrieben.
Eine formale Beschreibung in Form eines regulären Ausdrucks hat eine Seminargruppe angeboten:
{Logging [device] starts at [dd.mm.yyyy] [hh:mm] [CRLF] ([value] [CRLF])* }*
Sie bemerkt dann noch hierzu, dass dies evtl. keine wichtigen Informationen zum Verständnis der .log-Dateien dem Dokument hinzufügt.

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: "Messfehler festlegen" klären
- durch Sourcenanalyse beantwortbar bzw. als Änderungangebote zu sehen:
   -- Log-File:
         .. sind Pfad und Name des Log-Files beeinflussbar?
         .. 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.