Einbindung
2-dimensionaler Detektoren
in das RTK-Steuerprogramm

Studienarbeit von

Sebastian Lühnsdorf & Alexander Schad

Im Rahmen des Projekts Software Sanierung
unter der Leitung von Prof. K. Bothe

HUB-IfI

Pflichtenheft


 
Version
Autor
Datum
Status
Kommentar
1.0

schad@informatik.hu-berlin.de

2000/05/28
Erstfassung
1.1

schad@informatik.hu-berlin.de

2000/06/22
Überarbeitung
a)

--> Version 1.2

a)Nach der Besprechung mit Herrn Panzner und Herrn Sacklowski am 2000/06/13 und dem Telefonat mit Herrn Jenichen (Proscan) am 2000/06/20.

1. Zielbestimmung

Mit dem Programm soll es möglich sein, einen 2-dimensionalen Detektor aus dem bestehenden RTK-Steuerprogramm heraus anzusteuern. Das Programm soll die Zeitberechnung zwischen zwei Meßzyklen übernehmen und automatisch die Signale erzeugen, die für die Aktivierung des Detektors nötig sind. Dadurch soll die Arbeit mit der Motorsteuerung des RTK-Steuerprogramms und dem 2-dimensionalen Detektor praktisch automatisiert ablaufen.

Die Integrationszeit soll über das Fenster Einstellungen AreaScan (Feld: Meßzeit) eingebbar sein. Aus dieser Zeit und der sogenannten Totzeit (die Zeit, die für das Auslesen des Detektors und das Schreiben der Meßdaten auf die Festplatte benötigt wird) wird dann der zeitliche Abstand zwischen zwei Trigger-Impulsen berechnet. Die Totzeit sowie der Hardware-Modus sollen über die bestehende Konfigurationsdatei (*.ini) einstellbar sein. Die Totzeit ist stark hardwareabhängig und muß noch experimentell bestimmt werden.

Die allgemeinen Einstellungen zu diesem Detektor werden über ein bereits von der Physik erworbenes proprietäres Programm namens CCDView getätigt. Die Aktivierung des Detektors erfolgt entweder über die Software ( -> welche?) oder über ein externes Signal an den Controllerkasten des Detektors.

Das RTK-Steuerprogramm muß auf dem gleichen Rechner laufen wie die CCDView Software, um das Einlesen der gemessenen Daten, ihre Konvertierung und die Ausgabe in die Ausgabedatei (Datei auf der Festplatte) zu gewährleisten. Eingelesen werden nur  1-dimensionale Meßdaten des Detektors. Die Ausgabedatei ist genauso aufgebaut, wie sie auch bei den Messungen mit dem Psd erstellt wird.  2-dimensionale Meßdaten werden nicht vom RTK-Steuerprogramm eingelesen. Dieses, einschließlich Konvertierung und Darstellung, ist nur mit der mit dem Detektor mitgelieferten Software möglich. 

Die Einbindung des CCD-Detektors in das vorhandene RTK-Programm soll möglichst von der vorhandenen Nutzer-Oberfläche (ohne Änderungen/Erweiterungen) ausgehen, d.h. es werden existierende Fenster und Dialogboxen verwendet. Für diesen Detektor irrelevante Eingabefelder bzw. Menüpunkte werden ausgegraut. Im Unterschied zu den bisherigen AreaScans wird auch nicht die jeweils aktuell gemessene Kurve angezeigt.

Es sind weder für den Detektor selbst noch für die Software, die ihn im Moment ansteuert (bis auf eine Anleitung, die das Userinterface erklärt) irgendwelche technische Dokumentationen verfügbar. Allerdings besteht telefonischer Kontakt zum Hersteller.

1.1. Mußkriterien

-Eingebbarkeit der Integrationszeit (Meßzeit)

-Einstellbarkeit der Totzeit (Zeit für das Auslesen des Detektors + Zeit für das Schreiben der Files auf die Festplatte) in einer Konfigurationsdatei

-Einstellbarkeit des Hardwaremodus in der Konfigurationsdatei

-Korrektes senden der Trigger-Signale zum Detektor und somit Installation eines völlig automatisierten Meßvorgangs

-Konvertierung der 1-dimensionalen Meßdaten ins PSD-Format und ihre anschließende Abspeicherung im Data-Abschnitt der Ausgabedatei und somit die nachfolgende Ermöglichung der grafischen Auswertung durch das RTK-Steuerprogramm.

-Nahtlose Integration in die Benutzeroberfläche.

1.2. Wunschkriterien 

Nachfolgende Kriterien sind einer späteren Ausbaustufe vorbehalten.

- Darstellung der aktuell gemessenen Kurven im Area Scan - Fenster
- Einlesen und Bearbeiten 2-dimensionaler Meßdaten

1.3. Abgrenzungskriterien

-Keine allgemeinen Einstellungen zum Detektor (wird vom proprietären Programm CCDView übernommen)

-Keine Auswertung der 1-dimensionalen Ergebnisdaten. Dies wird von bereits im RTK-Steuerprogramm existierenden Komponenten vorgenommen. Es wird von Mitarbeitern und Studenten des Fachbereichs Physik der Humboldt Universität zu Berlin genutzt.

2. Produkteinsatz

Das Produkt dient der automatisierten Ansteuerung eines 2-dimensionalen Detektors im Rahmen des RTK-Steuerprogramms. 

2.1. Anwendungsbereiche

Einstellen der Integrationszeit und starten des Meßvorgangs. Einlesen, konvertieren und abspeichern der 1-dimensionalen Meßdaten.

2.2. Zielgruppen

Mitarbeiter und Studenten des Fachbereichs Physik der Humboldt Universität zu Berlin.

2.3. Betriebsbedingungen

Laborumgebung.

3. Produktumgebung

Noch offen.

3.1. Software

Betriebssystem: derzeit Windows 3.x, später Windows 9x.

Anwendungssoftware:

CCDView (Hersteller: Proscan)

RTK-Steuerprogramm (Hersteller: HUB-Physik, AG Röntgenbeugung an Schichtensystemen)

3.2. Hardware

Rechner: Noch offen.

Detektor: CCD (Hersteller: Proscan)

Controller: HSSC-1 (Proscan)

Eine BNC-Schnittstellenkarte muß noch beschafft werden.

3.3. Orgware

keine.



3.4. Produktschnittstellen

Es müssen Trigger-Signale an den CCD versandt werden. Der externe Trigger des Controllers wird über ein BNC Kabel angesteuert. Das Signal ist ein Active Low Impuls (+5V auf 0V), d.h. daß ein ständiges +5V Signal für jedes Trigger-Signal kurzzeitig auf 0V herunter gesetzt wird.

4. Produktfunktionen

/F10/Eingabe von Parametern für den Meßvorgang.

/F20/Auslesen der Totzeit und des Betriebsmodus (1D/2D) aus Konfigurationsdatei.

/F30/Berechnung der Gesamtdauer eines Zyklus.

/F40/Ansteuern des Detektors mittels Trigger-Signalen.

/F50/Abspeicherung der Produktdaten im Header-Abschnitt der Ergebnisdatei

/F60/Einlesen von 1-dimensionalen Meßdaten.

/F70/Konvertierung von 1-dimensionalen Meßdaten.

/F80/Abspeichern von 1-dimensionalen Meßdaten im Data-Abschnitt der Ergebnisdatei.

5. Produktdaten

/D10/Für jeden Meßvorgang sind folgende Daten zu speichern - Angaben in Klammern sind Bezeichnungen innerhalb des Header-Abschnittes:
Benutzername (User), Datum (Date), Uhrzeit (Time), Omega Minimum (OmegaMin), Omega Maximum (OmegaMax), Omega Schrittweite (OmegaStep), Theta Minimum (ThetaMin), Theta Maximum (ThetaMax), Theta Schrittweite (ThetaStep), Theta Relation (MoveRelation), Substrat ? (Target), Reflex (Reflection), Orientierung (Orientation), Wellenlänge (WaveLength), Strom (Current), Hochspannung (HV), Integrationszeit (IntegrationTime), Meßzeit / Zyklusdauer (TimePerScan).
Zu klären ist, ob auch die Bezeichner Totzeit (DelayTime) und Hardwaremodus (Mode) in dem Header-Abschnitt aufgenommen werden sollen und damit der neue Header strukturell vom alten abweicht.

Zusätzlich werden in einem neuen [Device]-Abschnitt der *.ini-Datei die Bezeichner Totzeit (DelayTime), Hardwaremodus (Mode) und Detektor (Type) gespeichert.

6. Produkt-Leistungen

/L10/Das Produkt muß in der Lage sein, die Zyklusdauer möglichst genau zu berechnen.

/L20/Trigger-Signale müssen möglichst kurz nach Ablauf der Zyklusdauer abgeschickt werden.

7. Benutzungsschnittstelle

/B10/Standardmäßig ist eine mausorientierte Bedienung vorzusehen.

/B20/Die Bedienungsoberfläche ist auf Mausbedienung auszulegen; eine Bedienung ohne Maus muß aber auch möglich sein.

/B30/Allgemeine Angaben werden über die Dialogbox Allgemeine Einstellungen vorgenommen.

/B40/Spezielle Einstellungen für den Meßvorgang erfolgen über die Dialogbox Einstellungen Area Scan.

/B50/Zentrales Bezugsfenster ist das AreaScan-Fenster. Verwendet werden hier nur die beiden PopUp-Menüpunkte Setup Measurement und Start Area Scan.



8. Qualitätsbestimmung


 
Produktqualität
Sehr Gut
Gut
Normal
Nicht Relevant
Funktionalität
Angemessenheit
ü
Richtigkeit
ü
Interoperabilität
ü
Ordnungsmäßigkeit
ü
Sicherheit
ü
Zuverlässigkeit
Reife
ü
Fehlertoleranz
ü
Wiederherstellbarkeit
ü
Benutzbarkeit
Verständlichkeit
ü
Erlernbarkeit
ü
Bedienbarkeit
ü
Effizienz
Zeitverhalten
ü
Verbrauchsverhalten
ü
Änderbarkeit
Analysierbarkeit
ü
Modifizierbarkeit
ü
Stabilität
ü
Prüfbarkeit
ü
Übertragbarkeit
Anpaßbarkeit
ü
Installierbarkeit
ü
Konformität
ü
Austauschbarkeit
ü

9. Globale Testfälle

/T10/Berechnung der Gesamtdauer eines Zyklus.

/T20/Ansteuern des Detektors mittels Trigger-Signalen.

/T30/Durchlauf eines kompletten Meßvorgangs.

10. Entwicklungsumgebung

Betriebssystem: Windows 9x

Compiler: Borland C++ 4.5



A. Screenshots

Einstellungen AreaScan

Beim Bildschirm 'Einstellungen AreaScan' sind alle Felder aktiv, ausgenommen die Felder: 'Einstellungen 2Theta': 'Schritt' und 'Bereich',  'Detektor - Geräte Einstellungen' und 'Detektor - Absorber benutzen'. Für das Feld 'Detektor: Impulse' ist noch der Maximalwert zu erfragen. Beim Psd wird hier generell 10.000 eingegeben (integrale Zeit des Psd). Ein größerer Wert würde zu zu großen Totzeiten führen.

Allgemeine Einstellungen

Es sind alle Felder aktiv.