Anleitung zum Messprogramm MASS

Elektronen-Stoß-WQ-Massen-Messung

06.Apr.2001 K. Huber, Strahlenzentrum Univ. Gießen
Version 13.Mai.2020

Inhaltsverzeichnis

1 Anleitungs-Formate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Funktion von MASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Überblick. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Ablauf der Messung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.3 MASS Geräteeinstellungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.4 MASS Control-Routing Belegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.5 MASS Data-Routing Belegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6 Messdatenformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Bedienung von MASS . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1 MASS Top-Menü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1.1 Exit MASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1.2 Start experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1.3 Show header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1.4 Analyse spectrum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.5 Delete spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.6 Convert spectrum to ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.7 Edit header of spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.1.8 Execute shell command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1.9 Set configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.1.10 Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2 MASS Start-Menü. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.1 Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.2 Create new spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.3 Continue old spectrum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.4 Test run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2.5 Print hardware info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.3 Experiment-Parameter-Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.4 Funktionen bei laufendem Experiment . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4.1 Stop experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4.2 Save spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4.3 Show header. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4.4 Analyse spectrum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4.5 Detach MASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.5 MASS Konfigurations-Menü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.5.1 Return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.5.2 General parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.5.3 Background program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.5.4 Data Routing hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.5 Control Routing hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.6 Ion current converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5.7 ADC to kGauss conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4 Archivierung der Daten . . . . . . . . . . . . . . . . . . . . . . . 22

5 Statusanzeigen auf dem Bildschirm. . . . . . . . . . . 24

1 Anleitungs-Formate

Diese Anleitung zum MASS-Messprogramm steht in verschiedenen Formaten zur Verfügung. Die entsprechenden Files finden Sie auf dem Servix unter /usr/exp/ex help oder auf Ihrem Experiment-Account unter $HOME/ex home/ex help:

esw .txt Text-Format, kann z.B. mit a2ps in handlichem Format gedruckt werden. Es fehlen jedoch Bilder und Grafiken.

esw.dvi DVI-Format, kann z.B. mit dvips auf einem Postscript-Drucker gedruckt werden oder mit xdvi auf einem X-Windows Bildschirm dargestellt werden.

esw.html HTML-Format, kann mit jedem HTML-Browser (z.B. netscape) gelesen werden.

esw.info

INFO-Format, kann mit dem GNU-Info-Browser (info -f esw.info)

und GNU-emacs gelesen werden. Es fehlen jedoch Bilder und Grafiken.

esw.pdf  PDF-Format, mit dem Acrobat-Reader zu lesen.

2 Funktion von MASS

2.1 Überblick

Für das Elektron-Ion-Stoß-Experiment existieren folgende Datenerfassungsprogramme:

ESW Elektronen-Stoß WQ Absolutmessungen
ESS  Elektronen-Stoß WQ Scan-Messungen
MASS Elektronen-Stoß WQ Massen-Messungen
DRM Dielektronische Rekombinations-Matrix
ECF Hilfsprogramm zur Erstellung von ESS Steuer-Files

Sowie die Auswerteprogramme:

WQA für ESW-Spektren

Das MASS Programm ist ein Abkömmling des ESS Messprogrammes. Es dient der Aufnahme von Massen-Scan-Spektren. Es werden vier Spektren mit der wählbaren Länge von N Kanälen erzeugt, die als Zeilen einer 4*N Matrix angeordnet sind:

1. Primärionenstrom

2. Magnetfeld am Anfang der Messintervalle

3. Magnetfeld am Ende der Messintervalle

4. Messzeit pro Kanal

Die Hard- und Software Voraussetzungen sind:

• VME Experiment-Rechner-System

• Data-Routing-Einheit

• Control-Routing-Einheit

• VT240/330 Terminal oder PC mit TeraTerm

• VxWorks Betriebssystem

• Netzwerkanschluss zu einem Host-Rechner

Die maximale Datenrate ist abhängig von der verwendeten CPU:

MVME162  ?kHz
MVME172  ?kHz

2.2 Ablauf der Messung

Die Erfassung der Messdaten erfolgt über fünf Interfaces im Data-Routing:

• eines für die Eingabe der aktuellen Kanalnummer im Spektrum

• zwei U/D-Zähler für Primärionenstrom und Messzeit pro Kanal

• ein spezielles Interface zur Experimentüberwachung und TotzeitMessung

• ein ADC-Interface mit angeschlossenem Silena-ADC zur Messung des Magnetfeldes

Die restlichen Interfaces im Data-Routing werden für die MASS-Messung nicht benötigt.

Die Steuerung des Experimentes erfolgt zur Zeit über fünf Interfaces im Control-Routing: • eines für die Ausgabe der aktuellen Kanalnummer

• zwei Timer für Mess- und Pausenzeit

• einer programmierbaren Zeitbasis

• einer digitalen Eingabekarte

Das Netzgerät des Ablenkmagneten wird über die COM3-Schnittstelle des VME-Rechners kontrolliert.

Im Gegensatz zum ESS Programm wird der Ablauf des Experimentes nicht durch einen Experiment-Steuer-File kontrolliert sondern ist fest einprogrammiert, um die Messung zu vereinfachen.

Zu Beginn der Messung erfolgt eine Anfangsnormierung:

• Fahren des Magneten auf Null (wegen Hysterese) und anschließend auf den gewünschten Startwert

• Programmieren der Zeitbasiskarte als Taktgeber zur Messung der Messzeit pro Kanal (4. Spektrum)

• Einlesen des Messbereiches für den Ionenstrom über die digitale Eingabekarte

Der Ablauf des Experimentes besteht aus einer Serie von Messintervallen, wobei für jedes Messintervall das Magnetfeld, die Kanalnummer und die Mess- und Pausenzeit durch MASS ausgegeben werden. Das Magnetfeld wird über den COM3-Port des VME-Rechners gesetzt und anschließend gewartet bis die MPS-Kontrolle (Magnet-Power-Supply) wieder Ready meldet. Dieses Ready bedeutet jedoch nur, dass der gewünschte Strom eingestellt ist, nicht dass das Magnetfeld schon seinen Endwert erreicht hat. Als nächstes wird die aktuelle Kanalnummer über das Control-Routing ausgegeben zum Positions-Interface im Data-Routing. Anschließend wird der Messzeit-Timer geladen und zum Schluss wird der Pausen-Timer geladen und gestartet. Mit dem Pausen-Timer kann das Einschwingen des Magneten abgewartet werden. Das Ende der Pause startet unmittelbar die Messzeit. Gesteuert durch den GATE-Impuls akkumulieren die U/D-Zähler im Data-Routing während der Messzeit die ankommenden Zählimpulse. Die Messzeit wird ermittelt durch Zählen eines Zeittaktes, der durch die programmierbare Zeitbasis im Control-Routing erzeugt wird. Nach Ablauf der Messzeit wird von der Interrupt-Karte ein Read-Impuls zum Übertragen der Kanalnummer, und der U/D-Zähler erzeugt, sowie ein Reset-Signal zum Löschen der Zähler. Mit dem Read-Signal werden Kanalnummer und Zählerinhalte in je ein Senderegister übertragen, so dass die Interfaces anschließend sofort wieder frei sind, während die Übertragung der Daten einige Zeit in Anspruch nehmen kann. Die Kanalnummer wird mit Vorrang zur Übertragung angemeldet. Damit wird sichergestellt, dass sie zuerst übertragen wird, um eine Synchronisation der Software zu ermöglichen. Die Daten werden vom Messprogramm erst dann verarbeitet, wenn ein vollständiger Datensatz von allen drei Datenworten eines Messintervalles übertragen ist. Dann werden die übertragenen Werte der zwei U/D-Zähler 2 und 4 in dem jeweils aktuellen Kanal der Spektren 1 bzw 4 abgelegt. Fehler bei der Übertragung werden erkannt und registriert (sequence errors). Ein unvollständiger Datensatz wird verworfen. Wird ein Zähler mehrfach übertragen, so werden die zuviel übertragenen Daten verworfen, und nur das erste Datum wird verarbeitet, falls ein vollständiger Datensatz zustande kommt. Jeder solcher Fehler erhöht den ’Sequence error counter’ um eins. Die ADC-Daten sind nicht in diese Kontrolle eingebunden. Das erste ADC-Datenwort, das nach der Kanalnummer übertragen wird, wird im aktuellen Kanal des Spektrums 2 abgelegt und das letzte im Spektrum 3. Damit kann bei entsprechendem Timing der Sample-Impulse zum Starten des ADC (z.B. 1kHz periodisch) das Magnetfeld am Anfang und am Ende eines Messintervalles ermittelt werden, um die Pausenzeit optimieren zu können. Zur Zeit wird nur das Read-Signal der Interrupt-Karte als Sample-Impuls verwendet, so dass das Magnetfeld nur im Spektrum 2 aufgezeichnet wird.

Am Ende der Messzeit wird außerdem ein Interrupt erzeugt, der der Software mitteilt, dass der nächste Zyklus mit der Ausgabe des nächsten Steuerparametersatzes erfolgen kann.

Wird mit kurzen Messintervallen (<?ms) gearbeitet, so besteht die Gefahr, dass die anfallenden Messdaten nicht schnell genug verarbeitet werden können und Datenverluste auftreten, die die Messung unbrauchbar machen. Um dies zu vermeiden, werden die Busy-Meldungen der U/D-Zähler auf einer Sammelleitung des Data-Routing der ESS-Karte zugeführt (das POS-Interface braucht dabei nicht berücksichtigt zu werden, da es mit Vorrang behandelt wird). Von der ESS-Karte wird das gemeinsame Busy-Signal der Interrupt-Karte im Control-Routing zugeführt, um dort ein erneutes Read solange zurück zu halten, wie noch eine der Zählerkarten Busy meldet. Zur Überwachung kann das Read-Signal der ESS-Karte zugeführt werden. Trifft es dort auf eine Busy-Meldung der Zähler, so wird die Übertragung eines entsprechenden Fehlerwortes zum Messprogramm veranlasst, das mit dem Fehler ’Buffer overrun’ reagiert. Die ESS-Karte setzt in diesem Falle die ’Overrun LED’. Die ESS-Karte führt darüberhinaus die Lifetime-Messung durch unter Berücksichtigung der gesamten Totzeit der Zählerkarten.

Nachtrag (25.Feb.10): durch die 16Bit-Zähler und die maximale Frequenz der Spannungs-Frequenz-Wandler von 500kHz führen Messintervalle über ca. 130ms zum Überlaufen der Zähler. Um dies zu vermeiden werden ab der Version 25.Feb.10 überlange Messzeiten in aufeinanderfolgende Intervalle von maximal 100ms zerlegt. Die Pausenzeit wird nur einmal am Anfang einer solchen Intervallserie durchgefúhrt. Innerhalb der Serie wird ein Minimalwert (0.001ms) verwendet.

2.3 MASS Geräteeinstellungen

(fehlt!)

Kapitel 2: Funktion von MASS 5

2.4 MASS Control-Routing Belegung

   Control-Routing
|====================|
|Messber.-Sign.-Vert.|
|(Slot18)          In|<------------ Ionenstrom-Konverter
|             4 * Out|--------+---> Elektronenstrom-Konverter
|====================|        |
|Read/Reset-Verteiler|        |
|(Slot16,17)       In|<-.     |
|       4 * Reset Out|--|-----|---> Reset (Data-Routing)
|        4 * Read Out|--|-----|---> Read (Data-Routing)
|====================|  |     |
| ESW/ESS-Umschalter |  |     |
|(Slot14,15)         |  |     |
|        Gate ESS Out|--|-----|---> Gate-Signal-Verteiler (Data-Routing)
|        Read ESS Out|--|-----|---> ESS-Kontr./Kanalnr., Read (Data-Routing)
|        Read ESW Out|--|-----|---> ESW-Kanalzähler (Data Routing)
|      Read/Reset Out|--'     |
|         Gate ESS In|<-----. |
|         Read ESS In|<-.   | |
|         Read ESW In|<-|---|-|---- Winkelschrg.-Interf. (Control Routing)
|====================|  |   | |
| Interrupt Eingabe  |  |   | |
|(Slot13)    !Busy In|<-|---|-|---- ESS-Kontrolle, Busy (Data-Routing)
|          Read/Reset|--'   | |
|               Start|<---. | |
|====================|    | | |
|  Messber.-Eingabe  |    | | |
|(Slot12)     Ser. In|<---|-|-'
|====================|    | |
| Zeitbasis-Ausgabe  |    | |
|(Slot11)         Out|----|-|-----> Messzeit, Count (Data Routing)
|====================|    | |
| Pausenzeit-Ausgabe |    | |
|(Slot10)  !Intervall|--. | |
|====================|  | | |
|  Messzeit-Ausgabe  |  | | |
|(Slot09)  Ext. Start|<-' | |
|          !Intervall|----' |
|           Intervall|------'
|====================|
weiter auf der nächsten Seite...

|====================|
|Kanalnummer-Ausgabe |
|(Slot08)     20 pol.|-----------> ESS-Kanalnr., 20 pol. (Data Routing)
|====================|
| DAC3-Datenausgabe  |
|(Slot07)    Ser. Out|-----------> DAC3
|====================|
| DAC2-Datenausgabe  |
|(Slot06)    Ser. Out|-----------> DAC2
|====================|
| DAC1-Datenausgabe  |
|(Slot05)    Ser. Out|-----------> DAC1
|====================|
|   Adress-Decoder   |
|(Slot04)            |
|====================|
:Winkelschrg.-Interf.:
:(Slot01-03)      Out:-----------> ESW-Kanalzähler (Data Routing)
:(ESI & ESW)   UP/!DO:-----------> ESW-Kanalzähler (Data Routing)
:(Messungen)      Res:-----------> ESW-Kanalzähler (Data Routing)
:                Out2:-----------> ESW/ESS-Umschalter (Control Routing)
:        Phono Buchse:<----------- Winkelschrittgeber e-Kanone
|====================|

2.5 MASS Data-Routing Belegung

Das Messprogramm erwartet folgende Anordnung der Interface-Karten im Data-Routing (von links):

IFS  Karte (Modus: RUN, FREI)
Pos-Karte (Kanalnummer; auf Vorrang verdrahtet!)
IFS  Karte (Modus: RUN; wird für die MASS-Messung nicht benötigt)
U/D-Zähler (Positionszähler für ESW Programm)
IFS  Karte (Modus: RUN, K2; wird für die MASS-Messung nicht benötigt)
U/D-Zähler (Zähler 1; Ionisationssignal)
IFS  Karte (Modus: RUN, K2)
U/D-Zähler (Zähler 2; Primärionenstrom)
IFS  Karte (Modus: RUN, K2; wird für die MASS-Messung nicht benötigt)
U/D-Zähler (Zähler 3; Elektronenstrom)
IFS  Karte (Modus: RUN, K2)
U/D-Zähler (Zähler 4; Messzeit)
IFS  Karte (Modus: LFT, FREI)
ESS-Karte (Überwachung)
IFS  Karte (Modus: RUN, FREI)
ADC-Interface (Silena ADC Interface)

  Data-Routing
|===============|
|ADC-Interface  |               |---------------|
|40-pol. Stecker|<------------->|  Silena ADC   |
|---------------|  ,----------->|Sample         |
|IFS (RUN,FREI) |  |            |---------------|
|===============|  |
|ESS            |  |
|           BUSY|--|------->Read-Kontrolle (Control-Routing)
|           READ|<-+
|---------------|  |
|IFS (LFT,FREI) |  |
|===============|  |
|U/D-ZLR    GATE|<-|---+---<Gate  (Control-Routing)
|          RESET|<-|-+-|---<Reset (Control-Routing)
|           READ|<-+-|-|---<Read  (Control-Routing)
|          COUNT|<-|-|-|---<Messzeit (Control-Routing)
|---------------|  | | |
|IFS (RUN, K2)  |  | | |
|===============|  | | |
|U/D-ZLR    GATE|<-|-|-+
|          RESET|<-|-+ |
|           READ|<-+ | |
|          COUNT|<-|-|-|---<Elektronenstrom
|---------------|  | | |
|IFS (RUN, K2)  |  | | |
|===============|  | | |
|U/D-ZLR    GATE|<-|-|-+
|          RESET|<-|-+ |
|           READ|<-+ | |
|          COUNT|<-|-|-|---<Primärionenstrom
|---------------|  | | |
|IFS (RUN, K2)  |  | | |
|===============|  | | |
|U/D-ZLR    GATE|<-|-|-'
|          RESET|<-|-'
|           READ|<-+
|          COUNT|<-|-------<Ionisationssignal
|---------------|  |
|IFS (RUN, K2)  |  |
|===============|  |
:U/D-ZLR        :  |
: ESI & ESW     :  |
: Messungen     :  |
:---------------:  |
:IFS (STOP)     :  |
|===============|  |
|POS            |  |
|           READ|<-'
|20-pol. Stecker|<---------<Kanalnummer (Control-Routing)
|---------------|
|IFS (RUN,FREI) |
|===============|

2.6 Messdatenformat

Struktur der MASS-Daten-Files Die MASS-Messdaten-Files entsprechen dem Strahlenzentrumsstandard und können deshalb mit einer Anzahl vorhandener Programme weiterverarbeitet werden. Sie beginnen mit einem Header von 512 Bytes Länge, der am Anfang einen standardisierten Teil enthält und anschließend noch eine Reihe weiterer Daten (z.B. Lifetime-, Realtime-Zähler usw.), zu denen man über die Include-Files ~/ex home/ex src/.../mass.conf und mass.h Zugang hat. Anschließend folgen die 4 Spektren in der Reihenfolge:

1. Primärionenstrom

2. Magnetfeld am Anfang der Messintervalle

3. Magnetfeld am Ende der Messintervalle

4. Messzeit pro Kanal

Die Länge der Spektren ist wählbar. Die Kanäle der Spektren sind als INTEGER*4 (BYTES = 4) deklariert, d.h. jeder Kanal kann ca. 4*10^9 Ereignisse aufnehmen.

---
|
| Header, 512 Bytes
|
---
|
| Primärionenstrom, (Anz. Kanäle * 4) Bytes
|
---
|
| Magnetfeld am Anfang der Messintervalle (Anz. Kanäle * 4) Bytes
|
---
|
| Magnetfeld am Ende der Messintervalle (Anz. Kanäle * 4) Bytes
|
---
|
| Messzeit pro Kanal, (Anz. Kanäle * 4) Bytes
|
---

Struktur der Header Daten:

#define lIDHDR 8
#define lHDLEN 1
#define lEXPMNT 6
#define lIDPRG 8
#define lSTDAT 9
#define lSTTIM 8
#define lSPDAT 9
#define lSPTIM 8
#define lSPENAM 8
#define lSPTYPE 4
#define lROWS 6
#define lCOLS 6
#define lBYTES 1
#define lHDFREE 4
#define lRESRV 38
#define lLTXT 4
#define lTEXT 80
Plattformabhängige Definitionen:
UINT2: 2 Bytes "unsigned int"
UINT4: 4 Bytes "unsigned int"
typedef union {
    struct {
        struct {
            char idhdr[lIDHDR];   /* Identification of header: "STRZ-VXW" */
            char hdlen[lHDLEN];   /* Length of header: "1" */
            char expmnt[lEXPMNT]; /* Experiment */
            char idprg[lIDPRG];   /* ID of generating Program: "MASS" */
            char stdat[lSTDAT];   /* Date of start */
            char sttim[lSTTIM];   /* Time of start */
            char spdat[lSPDAT];   /* Date of stop */
            char sptim[lSPTIM];   /* Time of stop */
            char spenam[lSPENAM]; /* Name of spectrum */
            char sptype[lSPTYPE]; /* Type of spectrum: "MCA2" */
            char rows[lROWS];     /* Number of rows: "     4" */
            char cols[lCOLS];     /* Channels/row: " <var>" */
            char bytes[lBYTES];   /* Bytes/channel: "4" */
            char hdfree[lHDFREE]; /* First free byte in header (0,...) */
            char resrv[lRESRV];   /* Reserved */
            char ltxt[lLTXT];     /* Length of text: "80" */
            char text[lTEXT];     /* Text */
        } stddat;   /* Standard data of header */
        struct {
            UINT2 status;       /* Status of spectrum */
            UINT4 rltcnt;       /* Realtime */

UINT4 lftcnt;       /* Lifetime */
UINT4 datcnt;       /* Processed positions */
UINT4 outcnt;       /* Positions out of range */
UINT4 ct2cnt;       /* Counter 2 */
UINT4 ct4cnt;       /* Counter 4 */
UINT4 adccnt;       /* ADC */
UINT4 seqcnt;       /* Sequence errors */
UINT4 bovcnt;       /* Buffer overruns */
UINT4 rejcnt;       /* Rejected data */
UINT4 errcnt;       /* Error counter */
UINT4 fulcnt;       /* Fifo full counter */
UINT4 hdatid;       /* Data identification */
UINT2 staplo;       /* Status of plot */
UINT2 slen;         /* Length of single spectrum  */
REAL4 expar[14];    /* Extended MASS parameters */
char gastype[50];   /* Type of gas, MASS only */
UINT4 runtim;       /* Realtime to run experiment [s] */
} spcdat;   /* Special data of header */
} hdata;        /* Header data */
struct {
char h512[512];         /* Fill 512 bytes block */
} htotal;        /* Total header */
} HEADER;

3 Bedienung von MASS

Das Programm ist weitgehend selbsterklärend. Die notwendigen Eingaben werden in Dialogform angefordert. Der Dialog ist in einer Hierarchiestruktur aufgebaut, wobei mittels Menülisten von einer Dialogebene in die andere gewechselt werden kann. Für Parametereingaben existieren im Allgemeinen Vorbelegungswerte, die editiert werden können.

3.1 MASS Top-Menü

3.1.1 Exit MASS

Verlassen des Programmes.

3.1.2 Start experiment

Führt zum MASS Start-Menü. (Siehe ⟨undefined⟩ [MASS Start-Menü], Seite ⟨undefined⟩.)

3.1.3 Show header

Zeigt die wichtigsten Daten des Headers, der jedem Spektrum beigefügt ist:

• Experiment; Program; Spectrum Name des Experimentes; Name des Programmes; Name des Spektrums.

• Title Titelzeile zur Beschreibung des Experimentes (z.B. Gasdruck im WW-Raum).

• Start; Stop Startzeit und -datum; Stopzeit und -datum.

• Length Zeilen * Spalten des Spektrums.

• Realtime Die Zeit in Sekunden, während der das Experiment gestartet war.

• Lifetime Die um die Totzeit korrigierte Zeit (Realtime - Deadtime), die zur Datenaufnahme zur Verfügung stand. Es wird nur die Lifetime des Positionszählers registriert.

• Positions received Anzahl der empfangenen Positionsdaten.

• Positions out of range Anzahl der Positionsdaten, die außerhalb der Spektrengrenzen lagen und deshalb nicht verarbeitet wurden.

• Counter 2(4) received Anzahl der von dem Zähler 2(4) empfangenen Daten.

• Buffer overruns Anzahl der Datenverluste im ESS-Interface.

• Data sequence errors Anzahl der Fälle, in denen die erwartete Reihenfolge der ankommenden Daten (erst Kanalnummer dann 2 Zählerdaten) durchbrochen wurde.

• Rejected data Anzahl der Daten, die auf Grund ihrer Datenkennung ausgesondert wurden, weil sie mit dem Experiment in keinem Zusammenhang stehen. Entweder wurde beim Start die Datenkennung falsch angegeben, oder es ist eine zusätzliche Datenquelle unbeabsichtigt mitgelaufen.

• Fifo overflows Anzahl der Fälle, in denen die Bearbeitung der Daten nicht schritthalten konnte und Datenverluste auftraten.

• Data errors Anzahl der Daten, die durch Hardwarefehler oder -störungen verstümmelt übertragen wurden.

• Auflistung der experimentbeschreibenden Parameter.

Die Darstellung des Headers kann mit der Leertaste wiederholt und mit der Return-Taste beendet werden. Für ein nicht existierendes Spektrum (Status new) erfolgt eine gekürzte Ausgabe.

3.1.4 Analyse spectrum

Startet als Subtask ein Auswerteprogramm zur graphischen Darstellung und Auswertung des aktuellen Spektrums. Eine gestartete Messung läuft während der Auswertung weiter. Nach Verlassen des Auswerteprogramms wird in das Messprogramm zurückgekehrt. Üblicherweise kann das Startup-Verhalten der Auswerteprogramme konfiguriert werden (^Z -> Set configuration -> Startup mode).

MASS verwendet standardmäßig das Programm PEAK als Auswerteprogramm. Unter "Set Configuration" kann ein anderes Auswerteprogramm konfiguriert werden.

3.1.5 Delete spectrum

Ein existierendes Spektrum wird gelöscht (im Arbeitsspeicher und auf dem Host-Rechner), die Daten sind verloren.

3.1.6 Convert spectrum to ASCII

Das Spektrum wird mit oder ohne Header und mit oder ohne Kanalnummern in ASCII Form auf einen File geschrieben.

3.1.7 Edit header of spectrum

Falls die Eingabe der Header-Daten fehlerhaft war, besteht hier die Möglichkeit zur Korrektur. Jedoch nur für die experimentbeschreibenden und nicht für die messungsrelevanten (z.B. Spektrumslänge) Header-Daten.

3.1.8 Execute shell command

Einige der VxWorks-Shell-Kommandos (cd, ls, pwd, whoami) können ausgeführt werden.

3.1.9 Set configuration

Führt zum MASS Konfigurations-Menü. (Siehe ⟨undefined⟩ [MASS Konfigurations-Menü], Seite ⟨undefined⟩.)

3.1.10 Help

Bringt diese Anleitung über das menüorientierte GNU-INFO-Programm auf den Bildschirm. INFO läuft dabei auf einem Server (z.Z. Servix).

3.2 MASS Start-Menü

3.2.1 Return

Rückkehr zum Top-Menü.

3.2.2 Create new spectrum

Start der Messung, falls noch kein Spektrum des angegebenen Namens existiert (Status new). Das Spektrum wird auf der Platte des Host-Rechners angelegt, ist zunächst jedoch noch leer. Für ein bereits existierendes Spektrum erfolgt eine Fehlermeldung (Status old).

Für den Start einer Messung müssen die zugehörigen Parameter eingegeben werden. (Siehe Abschnitt 3.3 [Experiment-Parameter-Eingabe], Seite 15.) (Siehe Abschnitt 3.4 [Funktionen bei laufendem Experiment], Seite 16.)

3.2.3 Continue old spectrum

Start der Messung, falls sie mit einem bereits existierenden Spektrum (Status old) fortgesetzt werden soll. Das Spektrum wird vom Host-Rechner geladen, falls es noch nicht da ist. Für ein noch nicht existierendes Spektrum erfolgt eine Fehlermeldung (Status new).

Für den Restart der Messung kann nur ein Teil der zugehörigen Parameter geändert werden. (Siehe Abschnitt 3.3 [Experiment-Parameter-Eingabe], Seite 15.) (Siehe Abschnitt 3.4 [Funktionen bei laufendem Experiment], Seite 16.)

3.2.4 Test run

Start der Messung, falls noch kein Spektrum des angegebenen Namens existiert (Status new), ohne jedoch auf dem Host-Rechner einen File anzulegen. Beim Stop der Messung wird angefragt, ob die Messdaten noch gerettet werden sollen. Auch während der Messung können die Daten mit ’Save spectrum’ zum Host-Rechner gerettet werden.

Die Messdaten können während des TEST RUNs im Speicher (nicht auf der Platte) gelöscht werden mittels einer Funktion im Display-Programm (Analyse spectrum).

Für den Start der Messung müssen die zugehörigen Parameter eingegeben werden. (Siehe Abschnitt 3.3 [Experiment-Parameter-Eingabe], Seite 15.) (Siehe Abschnitt 3.4 [Funktionen bei laufendem Experiment], Seite 16.)

3.2.5 Print hardware info

Druckt wahlweise den Hardware-Status oder Status und Daten, so wie sie vom Experiment übertragen werden, direkt auf dem Bildschirm aus. Diese Funktion dient Diagnosezwecken (z.B. Ermittelung der Datenkennung).

3.3 Experiment-Parameter-Eingabe

Für den Start einer Messung müssen die zugehörigen Parameter eingegeben werden. Einige der Parameterangaben sind notwendig für die Durchführung der Messung, andere haben nur beschreibende Funktion. Für den Restart der Messung kann nur ein Teil der zugehörigen Parameter geändert werden.

Title Zur Beschreibung der Messung kann eine Titelzeile eingegeben werden (z.B. Gasdruck im WW-Raum).

Length of single spectrum Es ist die Länge N eines einzelnen Spektrums der 4*N Matrix anzugegeben (N < 32768).

ID of ESS position interface Angabe der Datenkennung des linken Interfaces (Kanalnummereingabe, z.Z. 0x00).

Weitere Eingaben auf der nächsten Seite:

B min. Startwert für den Magnetfeld-Scan [kGauss].

B max. Endwert für den Magnetfeld-Scan [kGauss].

Startup time Pausenzeit nach Einstellen des Magnetfeld-Startwertes [s].

Pause time Pausenzeit nach einem Magnetfeldschritt [ms].

Gate time Messzeit [ms]

Die folgenden Parameter sind experimentbeschreibend, sie haben keinen Einfluss auf die Datenerfassung:

Acceleration voltage Quellen-Extraktions-Spannung [kV].

Diaphragm horizontal Schlitzblende horizontal [mm].

Diaphragm vertical Schlitzblende horizontal [mm].

Faraday cup # Faraday Cup Nummer.

Gas pressure Gasdruck in der Quelle [mb].

Gas type Angaben zum Gastyp.

Time base spectrum 4 Zeitbasis für das 4. Spektrum; bei Angabe von n (ganzzahlig) ergibt einen Zeitakt 2**(-n) MHz.

Ion current converter Die Ionenstrom-Konverter-Einstellung wird nur ausgelesen und die Werte im Header des Spektrum abgelegt. Sollte die Einstellung verändert werden, so wird ein ’Update Converter data’ nötig.

3.4 Funktionen bei laufendem Experiment

3.4.1 Stop experiment

Die Messung wird gestoppt und die Daten werden zum Host-Rechner übertragen (Siehe Kapitel 4 [Archivierung der Daten], Seite 22.). Im Modus "Test Run" wird allerdings zuerst abgefragt, ob die Daten gerettet werden sollen, Default ist "no".

Treten bei der Datenübertragung Probleme auf, so erfolgt eine Fehlermeldung. Die Daten bleiben erhalten und der Stop kann wiederholt werden.

3.4.2 Save spectrum

Alte Version: Während der laufenden Messung kann das Spektrum zum Host-Rechner gerettet werden. Auf einem Unix-Host wird dabei ein bereits existierendes Spektrum gleichen Namens überschrieben. Ebenso wird ein auf diese Weise gerettetes Spektrum am Ende bei einem "Stop experiment" wieder überschrieben (nicht im Modus "Test Run"). Soll es erhalten bleiben, so muss es zuvor umbenannt werden.

Neue Version: Es existieren mehrere Möglichkeiten um während einer laufenden Messung das Spektrum zum Host-Rechner zu retten:

Number of backups Es wird höchstens die angegebene Anzahl Backups durchgeführt.

Time between backups [min] Zeitlicher Abstand zwischen den Backups in Minuten und Zeit bis zum ersten Backup. Im Falle einer Scan-Messung wird nach Ablauf dieser Zeit ggf. noch auf das Ende eines Scan-Durchlaufs gewartet.

Save to master(0)/new(1) file Das Backup kann sowohl auf den normalen Daten-File (Master) erfolgen, der dann jeweils überschrieben wird, oder es wird jedes Mal ein neuer File angelegt, dessen Name Datum und Uhrzeit enthält.

Stop data while saving(0/1) bei Messungen von Spektren Wenn die Messung während des Backups weiterläuft könnte das ein ’schiefes’ Spektrum zur Folge haben falls die Zeit für die Datenübertragung nicht deutlich kürzer ist als die Messzeit.

Save at end of scan(0/1) bei Scan-Messungen Ein Backup mitten in einem Scan-Durchlauf hat eine Stufe in den Messdaten zur Folge.

3.4.3 Show header

Siehe Abschnitt 3.1.3 [Show header], Seite 12.

3.4.4 Analyse spectrum

Siehe Abschnitt 3.1.4 [Analyse spectrum], Seite 13.

3.4.5 Detach MASS

Hiermit kann das Messprogramm verlassen werden, ohne dass die Messung unterbrochen wird. Die Kontrolle über das Messprogramm gewinnt man zurück durch einen erneuten Start.

Achtung: es existiert zur Zeit keine Sicherung gegen ein weiteres Starten eines anderen Messprogrammes, das die laufende Messung stören könnte!

3.5 MASS Konfigurations-Menü

Unter diesem Konfigurations-Menü erfolgen alle notwendigen Anpassungen des Programmes. Beim allerersten Start des Messprogrammes wird dieser Menüpunkt stets automatisch aufgerufen. Danach sollte er nur noch bei Konfigurationsänderungen benutzt werden.

3.5.1 Return

Rückkehr zum Top-Menü.

3.5.2 General parameters

Name of experiment Dieser Name wird im Header des Spektrums als Experimentname eingetragen.

Print verbose messages Bei Angabe einer "1" werden ausführlichere Meldungen ausgegeben.

Delay messages Gelegentlich wird eine vorausgehende von einer nachfolgenden Meldung so rasch überschrieben, dass sie nicht gelesen weren kann. Hier kann für Meldungen eine Mindestverweilzeit (in Sek.) auf dem Bildschirm angegeben werden. Dies verzögert natürlich die Bedienung des Programmes und sollte deshalb nur für Testzwecke eingeschaltet werden.

Check task stack Unter VxWorks wird der Stack einer Task aus Zeitgründen nicht auf Überlauf geprüft. Ein Überlauf führt in der Regel jedoch zur Zerstörung der Task und auch des Systems. Eine "1" führt beim Stop der Task zu einer Prüfung des Stack. Im Allgemeinen nur bei Problemen notwendig.

3.5.3 Background program

Unter dem Menüpunkt "Analyse spectrum" wird ein Auswerteprogramm gestartet, das an dieser Stelle spezifiziert werden muss. Im folgenden Beispiel wird davon ausgegangen, dass das Messprogramm MCA das Auswerteprogramm PEAK verwendet:

File: /usr/exp/ex prog/peakv.o Dies ist der Pfad zum Auswerteprogramm PEAK. Unter ~/ex home/ex prog/peakv.o findet man es ebenso.

Symbol: peak Dies ist das Symbol unter dem PEAK unter VxWorks registriert ist. Es ist in der Regel der Programmname mit einem Unterstrich davor.

Task: tMcaBg Dies ist ein frei wählbarer Task-Name für das Auswerteprogramm, der sich jedoch von allen bereits vorhandenen Task-Namen unterscheiden muss.

Argmts: ,,"peak mca.vxw",,’S’ Dies sind die Argumente, die dem Auswerteprogramm mitgegeben werden können. Bei den Standardauswerteprogrammen (PEAK, WQA, IAC, IAP, LAC usw.) haben sie folgende Funktion:

• Im ersten Argument kann ein Programmname angegeben werden, mit dem das Auswerteprogramm sich meldet.

• Im zweiten Argument kann eine Titelzeile für das Auswerteprogramm angegeben werden, die direkt nach dem Start ausgegeben wird.

• Im dritten Argument kann ein File-Name für den Parameter-File des Auswerteprogrammes angegeben werden, in dem dieses sich alle wesentlichen Daten aufhebt, um sie bei einem Restart wieder verwenden zu können. Für verschiedene Auswerteprogramme müssen diese Namen unbedingt verschieden sein. Für das gleiche Auswerteprogramm bei verschiedenen Messprogrammen können sie gleich sein. Um Probleme zu vermeiden, sollte in dem Namen sowohl Mess- als auch Auswerteprogramm erkenntlich sein.

• Im vierten Argument kann ein Pfadname zu einem alternativen Help-File angegeben werden.

• Im fünften Argument kann der Modus, in dem das Auswerteprogramm gestartet wird,

angegeben werden:

S Einzelspektrums-Darstellung.
M Matrix-Darstellung (Hidden Lines).
C Matrix-Darstellung (Contour Plot).
I Peak-Integration, Wirkungsquerschnitts-Berechn. usw.
X S oder M wird passend ausgewählt.

Task priority: 100 Priorität unter der die Auswertung läuft. 100 ist ein guter Wert!

Task options: 0x00000008 0x00000008 bedeutet, dass die Task den Floating-Point-Prozessor benutzt.

Task stack: 5000 Unter VxWorks wird das Stack einer Task aus Zeitgründen nicht dynamisch verwaltet, sondern beim Start fest zugeteilt. Es muss ausreichend groß gewählt werden, da es während der Laufzeit nicht überwacht wird und ein Überlauf zur Zerstörung von Task und System führt. Für die Standardauswerteprogramme ist 5000 ausreichend, ansonsten sollte man eher einen Werte von 20000 nehmen.

Unload: 1 Eine "1" bedeutet, dass das Auswerteprogramm nach der Rückkehr ins Messprogramm wieder aus dem Speicher gelöscht wird. Dies sollte die Regel sein.

Stack check: 0 Unter VxWorks wird das Stack einer Task aus Zeitgründen nicht auf Überlauf geprüft. Ein Überlauf führt in der Regel jedoch zur Zerstörung der Task und auch des Systems. Eine "1" führt beim Stop der Task zu einer Prüfung des Stack. Im Allgemeinen nur bei Problemen notwendig.

3.5.4 Data Routing hardware

Falls das Data-Routing im Experiment zum Einsatz kommt, muss die Software wissen, auf welchem Wege das Data-Routing ans VME angeschlossen ist. Es gibt hierfür mehrere Möglichkeiten:

• Direkter Anschluss an das Prozessor-Board (MVME162, MVME172)

• Anschluss an die Interface-Boards VIPC610 oder IPC01. Dabei wird für das Data-Routing üblicherweise der IP-Slot C/D verwendet (unterer frontseitiger Stecker).

• Anschluss an ein anderes Interface-Board. Dessen VME-Bus-Adresse muss eingetragen werden.

3.5.5 Control Routing hardware

Falls das Control-Routing im Experiment zum Einsatz kommt, muss die Software wissen, auf welchem Wege das Control-Routing ans VME angeschlossen ist. Es gibt hierfür mehrere Möglichkeiten:

• Direkter Anschluss an das Prozessor-Board (MVME162, MVME172)

• Anschluss an die Interface-Boards VIPC610 oder IPC01. Dabei wird für das Control-Routing üblicherweise der IP-Slot A/B verwendet (oberer frontseitiger Stecker).

• Anschluss an ein anderes Interface-Board. Dessen VME-Bus-Adresse und die Interrupt Priorität müssen eingetragen werden.

3.5.6 Ion current converter

Der Ionenstrom wird über einen Spannungs-Frequenz-Konverter in eine Frequenz gewandelt. Der Konverter ist so ausgelegt, dass er bei Vollausschlag auf dem Keithly-Elektrometer 500kHz abgibt. Für die einzelnen Messbereiche kann es jedoch geringfügige Abweichungen geben, die durch eine exakte Messung bestimmt werden müssen. In den Ionenstrom-Konversions-Faktoren können diese Abweichungen berücksichtigt werden.

Kapitel 3: Bedienung von MASS 21

3.5.7 ADC to kGauss conversion

Festlegen des Konversionsfaktors zur Umrechnung der ADC-Zahlenwerte in kGauss-Werte des Magnetfeldes.

4 Archivierung der Daten

Die VME-Systeme besitzen in der Regel keine eigenen Medien zum Speichern der Messdaten sondern sie benutzen die Dienste von Servern im Netzwerk.

Unter VxWorks, dem Betriebssystem der VME-Rechner, wird im Boot-File des VME-Rechners der Server und der User-Account festgelegt, von dem das System gebootet wird. Nach dem Booten eines VME-Rechners ist, wie bei einem normalen Login, die Home-Directory des Users als Work-Directory eingestellt. Mit cd "path" ("’s nicht vergessen!) bewegt man sich in fast gewohnter Weise durch die Directory-Hierarchie. Die Schreibweise für Pfadangaben richtet sich nach dem Host-Rechner.

Diese Netzwerkzugriffe erfolgen über RSH oder FTP (im Boot-File festgelegt). Für RSH muss der File $HOME/.rhosts die entsprechende Freigabe enthalten.

Für den Transfer großer Datenmengen, insbesondere bei "List-Mode" Messungen, sind RSH und FTP jedoch nicht geeignet. In solchen Fällen sollte der Datentransfer über NFS erfolgen. Dazu muss auf dem Host-Rechner der /etc/exports File die notwendigen Freigaben enthalten und in den Boot-Script-File $HOME/ex home/ex param/startup.vxw müssen die benötigten NFS-Verbindungen eingetragen werden.

Um das Ganze übersichtlich zu halten, werden die VME-Systeme in der Regel zur Zeit folgendermaßen betrieben:

• Die Host-Rechner sind Unix-Rechner (Servix, Atomix).

• Zu jedem Experiment "xxxx" gibt es auf dem Host-Rechner einen gleichnamigen Account. Meistens trägt der VME-Rechner ebenfalls diesen Namen. Auf einem solchen Experiment-Account sind folgende Directories vorhanden ($HOME = Home Directory des Accounts):

           $HOME/ex_home/ex_data:   Messdaten
           $HOME/ex_home/ex_help:   Help-Files für die Mess- und Auswerteprogramme
           $HOME/ex_home/ex_param:  Parametersätze der Mess- und Auswerteprogramme
           $HOME/ex_home/ex_prog:   Mess- und Auswerteprogramme
           $HOME/ex_home/vxw:       VxWorks Betriebssysteme für die VME-Rechner

• Das Booten und die nachfolgenden Nicht-NFS-Zugriffe erfolgen über RSH auf den Servix. Bei der Angabe des Messdatenpfades werden folgende Schreibweisen als RSH-Verbindung verstanden:

           bootHost:spektr.spe      $HOME/spektr.spe
           bootHost:ddd/spektr.spe  $HOME/ddd/spektr.spe
           ~/spektr.spe             $HOME/spektr.spe
           ~/ddd/spektr.spe         $HOME/ddd/spektr.spe
           spektr.spe               ./spektr.spe
           ddd/spektr.spe           ./ddd/spektr.spe

• Als NFS-Verbindungen stehen die Laufwerks-Bezeichnungen "home:" und "data:" zur

Verfügung, die auf dem Servix zu folgenden Directories führen:

           home:spektr.spe          $HOME/spektr.spe
           data:spektr.spe          $HOME/ex_home/ex_data/spektr.spe

Weitere NFS-Laufwerke können im Boot-Script-File freigegeben bzw. neu definiert werden.

Die existierenden NFS-Laufwerke können Sie sich mit dem SHOW-Programm unter "Network(NFS) devices" anzeigen lassen.

• Zur Umgehung eines aktuellen VxWorks-Systemfehlers wird nach der Laufwerksangabe

’./’ eingefügt:

      home:ex_home/ex_data/test.spe   -> home:./ex_home/ex_data/test.spe

• Das Messprogramm hebt seine aktuellen Parameter in dem File

      $HOME/ex_home/ex_param/<Programmname>par.vxw

auf, um sie bei einem nachfolgenden Start als Default-Werte anbieten zu können.

5 Statusanzeigen auf dem Bildschirm

In der obersten Zeile wird an erster Stelle der Name des Programmes dargestellt. An zweiter Stelle folgt die Statusinformation offline/online/test, die anzeigt ob die Messung gestartet ist oder nicht. Dann folgt der Name des Spektrums und am Ende der Zeile eine detaillierte Statusanzeige in hexadezimaler Form von folgender Bedeutung:

STATUS of spectrum (hexadecimal) 0001 Spectrum created on disk 0002 Spectrum saved on disk 0004 Spectrum created in memory 0008 Spectrum loaded in memory 0010 Experiment online 0020 Autonomous stop of experiment 0040 Test run 0100 Experiment failure 0200 Wrong typ of spectrum 0400 Error reading header of spectrum 0800 Error reading spectrum file 1000 Header loaded

Die zweite Zeile dient der Ausgabe von Fehlermeldungen (blinkend), sowie Informationen über die augenblicklichen Aktivitäten des Programmes.