Anleitung zum Messprogramm LIC

Ion-Ion Coincidence List-Mode Program

22.Dec.1992 K. Huber, Strahlenzentrum Univ. Gießen
Version 30.Jul.2004

Table of Contents

1 Über diese Anleitung . . . . . . . . . . . . . . . . . . . . . . 1

2 Funktion von LIC. . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Ablauf der Messung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2.1 Messung der Ionenströme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.2 Messung der Ortsinformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.3 Messung der Laufzeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.4 Messung von korrelierten Orts- und Laufzeit-Daten

(LIC-Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.5 Fehlermeldungen (LIC-Interface) . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.6 Timing (LIC-Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.7 Takt-Karte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 LIC Geräteeinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 LIC Control-Routing Belegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 LIC Data-Routing Belegung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.6 Messdatenformat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Bedienung von LIC . . . . . . . . . . . . . . . . . . . . . . . 17

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

3.2 LIC Start-Menü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.1 Return. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.2 Create new spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.3 Continue old spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.4 Test run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.5 Print hardware info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3 Experiment-Parameter-Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4 Funktionen bei laufendem Experiment . . . . . . . . . . . . . . . . . . . . . . . 21

3.4.1 Stop experiment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.2 Save spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.3 Show header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.4 Analyse spectrum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.4.5 Detach LIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.5 LIC Konfigurations-Menü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.5.1 Return. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.5.2 General parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.5.3 Background program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.5.4 Data Routing hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.5.5 Control Routing hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5.6 Data identification bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Archivierung der Daten . . . . . . . . . . . . . . . . . . . 26

5 Statusanzeigen auf dem Bildschirm . . . . . . . . 28

1 Über diese Anleitung

Diese Anleitung zum LIC-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:

lic.txt Text-Format, kann z.B. mit a2ps in handlichem Format gedruckt werden.

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

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

lic.info

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

und GNU-emacs gelesen werden.

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

2 Funktion von LIC

2.1 Überblick

Für das Ion-Ion-Experiment existieren folgende Datenerfassungsprogramme: [(...) = noch nicht auf VME-System portiert]

       (IBP  Ion-Beam-Profile - neuer Strahl-Analysierer (Timo-mat))
        IIF  Ion-Ion Formfactor - alter Strahl-Analysierer
        IIC  Ion-Ion Coincidence
        IIP  Ion-Ion Pulsed Beam
        LIC  Ion-Ion Coincidence List Mode
       (LIP  Ion-Ion Pulsed Beam List Mode)
        IIM  Ion-Ion Position-Matrix

Sowie die Auswerteprogramme:

        IAC  für IIC-Spektren
        IAP  für IIP-Spektren
        LAC  für LIC-List-Mode-Daten
       (LAP  für LIP-List-Mode-Daten)

Das Koinzidenzverfahren ermöglicht die Ermittelung von zusammengehörigen Reaktionsprodukten in den zwei sich kreuzenden Ionenstrahlen. Die Ionen des schnellen Strahles werden ortsempfindlich mit einem Channelplate und einem nachfolgenden SSL-2401 Position Computer verarbeitet. Die des langsamen Strahles werden mit einem Channeltron aufgefangen. Die Laufzeitunterschiede zwischen den Ionen beider Strahlen werden mittels TPC und ADC zu einem Zeitspektrum verarbeitet, in dem zusammengehörige Ionenpaare zu einem Koinzidenz-Peak akkumulieren.

Das LIC-Messprogramm ist ein Abkömmling des IIC-Messprogrammes und erlaubt zusätzlich die Messung von ortsauflösenden Spektren mit einem Channelplate unter Verwendung eines SSL-2401 Position Computers. Da die anfallenden 3-dimensionalen Spektren (x*y*t=256*256*1024*4Bytes) den Rahmen eines Arbeitsspeichers sprengen, werden die Daten in ’List-Mode-Form’, d.h. im wesentlichen unbearbeitet, über das Netz zum Host-Rechner übertragen. Um vorrübergehende Engpässe bei der Übertragung ausgleichen zu können, verwendet das LIC-Programm den freien Arbeitsspeicher als Puffer. Dieser kann bei kurzzeitigen Messungen auch dazu verwendet werden, Datenraten zu verarbeiten, die größer sind als die Transferrate zum Host-Rechner. Darüber hinaus werden zur Online-Kontrolle die x-y-Daten des Position Computers zu einer Ortsmatrix und die Laufzeit-Daten zu einem Zeitspektrum akkumuliert.

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 mittlere List-Mode-Übertragungsrate liegt je nach VME- und Host-Rechner bei 100-200 kBytes. Bei niedrigen Datenraten wird alle 10s zum Leeren der Puffer eine Close-Open-Sequenz durchgeführt, um auf dem Host-Rechner die Daten zu aktualisieren.

2.2 Ablauf der Messung

2.2.1 Messung der Ionenströme

Die Ionenströme Is bzw. Il vom schnellen und langsamen Strahl werden in Keithly-Elektrometern gemessen. Die analoge Ausgangsspannung der Keithlys (Vollausschlag: 1V) wird in je einem VFC in eine Frequenz gewandelt (1V ==> 10kHz) und über eine UHR/ZLR-Karte gezählt. Die Zählerinhalte werden alle 0.1 Sekunde zum Rechner übertragen und anschließend werden die Zähler gelöscht. Im Rechner werden beide Ströme jeweils für sich integriert. Ferner wird das für die Auswertung relevante Produkt Is*Il bei jeder Übertragung gebildet und ebenfalls integriert. Beim Auslesen und Löschen der Zähler entsteht eine Totzeit kleiner 500ns.

2.2.2 Messung der Ortsinformation

Die Ionen des schnellen Strahles werden ortsempfindlich mit einem Channelplate und einem nachfolgenden SSL-2401 Position Computer verarbeitet. Dieser liefert je 8 Positions-Bits für X und Y an das PCI-Interface, das ein Datenwort (2*8 Bits) bis zur Übertragung an den Rechner zwischenspeichert.

Werden innerhalb der Totzeit des PCI-Interfaces (im Mittel ca. 4us) vom Position Computer weitere Daten angeliefert, so werden diese verworfen, und über den BNC-Ausgang ’Pile-up out’ der (optionalen) PCIx-Karte ein Zählimpuls (TTL) abgegeben, der einem U/D-Zähler zugeführt werden kann. Die Übergänge des PCI-Interfaces in den Zustand ’Busy’ und umgekehrt sind mit ca. 10ns unscharf. Dies führt dazu, dass ein Ereignis, das in diese Übergangszeit fällt, sowohl zum Rechner als auch zum Pile-up-Zähler oder zu keinem von beiden übertragen werden kann. Beim Übergang in den Zustand ’Busy’ gibt es jedoch solche Ereignisse nicht, da dann auch der Position Computer busy ist. Das Zählen der Pile-ups ist deshalb etwa mit dem folgenden Fehler behaftet:

     F= 10ns * N * R
       N= Anzahl der verarbeiteten Ereignisse
       R= Rate der eintreffenden Ereignisse
     Für die maximal zu verarbeitende Rate (100kHz) ergibt sich daraus:
     F/N= 10ns * 100kHz = 0.1%

Der U/D-Zählers benötigt einen Auslese- und Clear-Impuls (TTL, ca. 10Hz, ca. 100ns) zum periodischen Auslesen und Rücksetzen. Da der U/D-Zähler während des Reset-Signals für ankommende Impulse gesperrt ist, erfolgt die Totzeitverlust-Zählung in der Größenordnung 100ns * 10Hz = 1.E-6 zu klein.

Der Position Computer Typ SSL-2502a ist wegen seines internen FIFO-Zwischenspeichers nicht geeignet für eine LIC-Messung da dadurch die Korrelation zu den Laufzeitdaten verloren geht!

2.2.3 Messung der Laufzeit

Die Ionen des langsamen Strahles werden über ein Channeltron erfasst und durch Vorverstärker und Constant-Fraction-Diskriminator zum Startsignal für den TPC verarbeitet. Als Stopsignal dient vorzugsweise der Analog-Strobe des Position-Computers, der eventuell invertiert werden muss (intern oder extern). Weniger geeignet ist der digitale Strobe, den die (optionale) PCIx-Karte direkt oder von Störungen bereinigt anbietet. Das direkte Signal könnte bei einem langen Verbindungskabel zum Position Computer Störungen durch den Datentransfer enthalten. Das direkte ist störungsfrei aber durch Einsynchronisierung um ca. 100ns unscharf. Ungeeignet zu diesem Zweck dürfte hingegen das Busy-Signal sein, das zwar zeitlich genauer ist, aber auch bei allen verworfenen Ereignissen und Störungen auftritt.

Zur Einstellung eines passenden Timings werden sowohl Start- als auch Stop-Signal des TPC über je ein Delay+Gate geführt.

Das TPHC-out-Signal wird einem ’Silena 7411’ ADC zugeführt, der seine Daten über das zugehörige Routing-Interface überträgt.

2.2.4 Messung von korrelierten Orts- und Laufzeit-Daten (LIC-Interface)

In Abhängigkeit von den experimentellen Voraussetzungen treffen die Orts- und Zeitdaten in unterschiedlicher Reihenfolge und mit verschiedener Zählrate ein. Für die nachfolgende Auswertung muss jedoch die Zusammengehörigkeit der Datenwerte als korrelierte Paare erkenntlich sein. Diese Forderung wird durch die LIC-Interface-Karte erfüllt. Das LIC-Interface steuert ein PCI-Interface zur Erfassung der Daten eines ’SSL-2401 Position Computers’ und ein ADC-Interface zur Erfassung der Daten eines ’Silena 7411’ ADC’s mit folgender Logik (im LIC-Mode):

• Das Channelplate startet den Position Computer zur Analyse eines eingetroffenen Ereignisses. Dieser meldet sich mit einem ’Strobe’-Signal nach erfolgter Analyse bei dem PCI-Interface, das die Daten übernimmt und dem LIC-Interface durch ’Ready Pos’ anzeigt, dass es zur Datenübertragung bereit ist. Darauf hin öffnet das LIC-Interface mittels ’Gate TPC’ den TPC für das Startsignal solange bis es das ’Stop Gate’ erhält. Der Position Computer analysiert anschließend möglicherweise bereits das nächste Ereignis. Falls er dieses beim PCI-Interface abzuliefern versucht, bevor die vorhergehenden Daten übertragen sind, so werden die neuen Daten verworfen und ein Zählimpuls am ’Pile-up’-Ausgang der (optionalen) PCIx-Karte generiert.

• Der TPC wird durch das Channeltron gestartet. Der Stop erfolgt durch das verzögerte ’Strobe’-Signal des Position Computers. Falls der TPC sowohl ein Start- als auch ein Stopsignal erhält, und alle am TPC eingestellten Bedingungen (s.u.) erfüllt sind, gibt er über den TPHC-Ausgang ein analoges Signal ab, das vom ADC analysiert wird. Das Ende der Konvertierung wird durch ’Ready Time’ über das ADC-Interface dem LIC-Interface angezeigt. Zur Vermeidung unnötiger Totzeiten wird der TPC durch das LIC-Interface nur für ein durch einen Delay & Gate Generator einstellbares Zeitintevall (Gate TPC) geöffnet.

• Sobald ’Ready Pos’ und ’Ready Time’ beide anstehen, beginnt das LIC-Interface mit der Datenübertragung zum Rechner. Zuerst das Positions-Datenwort und dann das Zeit-Datenwort, das zur Unterscheidung mit einem zusätzlichen Datenkennungsbit (0x20) versehen wird. Anschließend werden Positions- und Zeitzweig gleichzeitig wieder freigegeben.

• Trifft ’Ready Time’ ein, ohne dass ’Ready Pos’ ansteht, so wird der Zeitzweig ohne Datenübertragung gelöscht. Dieser Fall darf im normalen Betrieb eigentlich nicht auftreten, und deutet auf eine falsche Verkabelung oder einen Hardware-Fehler hin.

• Der umgekehrte Fall, dass im Zeitzweig das Datenwort durch TPC- und ADC-Einstellungen verworfen wird, tritt hingegen häufiger auf. Falls es im Zeitzweig zu keiner Datenübertragung kommt, muss das im Ortszweig bereits gespeicherte Datenwort wieder gelöscht werden. Zu diesem Zweck wird nach dem Ende des TPC Gate-Signals (’Stop Gate’) geprüft, ob der Zeitzweig (TPC oder ADC) Busy meldet. Geht das Busy verloren bevor das ’Ready Time’ eintrifft, so ist der Zeitzweig gescheitert, und der Ortszweig muss ebenfalls zurückgesetzt werden. Falls das ’Stop Gate’ Signal fehlt, wartet das LIC-Interface auf das ’Ready Time’ Signal und bricht bei dessen Ausbleiben schließlich mit Timeout (102.4us) ab. In beiden Fällen bleibt das TPC Gate länger als notwendig geöffnet, so dass der TPC möglicherweise bereits wieder das nächste Ereignis verarbeitet, was zu unnützer Totzeit führt.

• Zur Lifetime-Messung werden die ’Busy’-Signale von Position Computer, PCI-Interface, TPC und ADC disjunktiv (ODER) verknüpft und der IFS-Karte zugeführt. Eine Ermittlung der Lifetime in dieser Weise ist vermutlich nicht ganz korrekt, da die beiden Zweige in der ersten Phase zunächst unabhängig von einander mit unterschiedlichen Zählraten laufen.

• Das LIC-Interface ermöglicht zu Testzwecken auch die Messung von Positions- und Zeitspektren alleine mit den Programmen IIM bzw. IIC. Ein Schalter auf der Frontplatte des LIC-Interfaces (Schalterstellung IIM bzw. IIC) schaltet den jeweils unbenutzten Zweig ab und gibt den anderen Zweig bedingungslos frei. Das zusätzliche Datenkennungsbit im Zeitzweig wird nicht gesetzt.

2.2.5 Fehlermeldungen (LIC-Interface)

Die Funktion des LIC-Interfaces wird überwacht und gegebenenfalls wird ein Fehlerdatenwort mit der Kennung 0x10 ausgegeben. Die Übertragung des Fehler-Codes erfolgt immer dann, wenn ein Fehler gespeichert ist und keine Datenübertragung aktiv ist. Errors: die Datenübertragung wird mit Reset von ADC und PCI abgebrochen und statt dessen der Fehler-Code übertragen. Warnings: die Datenübertragung wird fortgeführt und der Fehler-Code anschließend übertragen.

• Error 0x01: unsolicited Data Ready ADC Trifft ’ReadyADC’ ein, ohne dass zuvor ’ReadyPCI’ erkannt wurde, so wird ein Reset auf PCI und ADC durchgeführt. Dieser Fall darf im normalen Betrieb eigentlich nicht auftreten, da ’GateTPC’ erst mit ’ReadyPCI’ freigegeben wird, und deutet auf eine falsche Verkabelung oder einen Hardware-Fehler hin.

• Error 0x02: Timeout waiting for Stop Gate Innerhalb der gesetzten Frist (102.4us) nach ’ReadyPCI’ melden sich weder ’StopGate’ noch ’ReadyADC’.

• Error 0x04: Timeout waiting for Data Ready ADC (Busy ADC) Der ADC meldet sich innerhalb der gesetzten Frist (102.4us) nach ’ReadyPCI’ nicht mit Data Ready, obwohl ’BusyADC’ ansteht.

• Error 0x08: Timeout waiting for Data Ready ADC (Busy TPC) Der ADC meldet sich innerhalb der gesetzten Frist (102.4us) nach ’ReadyPCI’ nicht mit Data Ready, obwohl ’BusyTPC’ ansteht.

• Error 0x10: Timeout waiting for end of Data Ready ADC Data Ready von ADC lässt sich nicht zurücksetzen.

• Error 0x20: Timeout waiting for end of Data Ready PCI Data Ready von PCI lässt sich nicht zurücksetzen.

• Warning 0x40: Data Ready ADC with no leading Stop Gate Das ’ReadyADC’ Signal ist vor dem ’StopGate’ Signal eingetroffen oder ’StopGate’ fehlt ganz.

• Warning 0x80: Stop Gate too early or permanent Das ’StopGate’ Signal ist vor dem ’ReadyPCI’ Signal eingetroffen oder steht permanent an (BNC-Buchse offen).

2.2.6 Timing (LIC-Interface)

Timing, normal run:

anlg.StrobePC _/^^\______________________/^^\____________________
digt.StrobePC ___/^^\______________________/^^\__________________
ReadyPCI      ____/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\__________
GateTPC       _____/^^^^^^^\_____________________________________
StopGate      _____________/^\___________________________________
StartTPC      _______/^\_________________________________________
BusyTPC       _______/^^^^^^^^^\_________________________________
StopTPC       ___________/^\_____________________________________
BusyADC       ________________/^^^^^^^^^^^^^^^^^^^^^^^^^\________
ReadyADC      ________________________________/^^^^^^^\__________
Reset         ______________________________________/^^^\________
Timeout       ___________________________________________________

Timing, normal run, no BusyADC or no BusyTPC:

anlg.StrobePC _/^^\______________________/^^\____________________
digt.StrobePC ___/^^\______________________/^^\__________________
ReadyPCI      ____/^^^^^^^^^^^^^^\__________/^^^^^^^^^\__________
GateTPC       _____/^^^^^^^\_________________/^^^^^^^\___________
StopGate      _____________/^\_______________________/^\_________
GateTPC       _____/^^^^^\___________________/^^^^^\_____________
StartTPC      _______/^\_________________________________________
BusyTPC       _______/^^^^^^^^^\_________________________________
StopTPC       ___________/^\_______________________/^\___________
BusyADC       ___________________________________________________
ReadyADC      ___________________________________________________
Reset         _________________/^^^\_________________/^^^\_______
Timeout       ___________________________________________________

Timing, no StopGate:

anlg.StrobePC _/^^\______________________/^^\____________________
digt.StrobePC ___/^^\______________________/^^\__________________
ReadyPCI      ____/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\__________
GateTPC       _____/^^^^^^^^^^^^^^^^^^^^^^^^^^\__________________
StopGate      ___________________________________________________
StartTPC      _______/^\_________________________________________
BusyTPC       _______/^^^^^^^^^\_________________________________
StopTPC       ___________/^\_____________________________________
BusyADC       ________________/^^^^^^^^^^^^^^^^^^^^^^^^^\________
ReadyADC      ________________________________/^^^^^^^\__________
Reset         ______________________________________/^^^\________
Timeout       ___________________________________________________

Timing, no StopGate, no ReadyADC, Timeout:

     anlg.StrobePC _/^^\______________________/^^\________..._________
     digt.StrobePC ___/^^\______________________/^^\______..._________
     ReadyPCI      ____/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^\____
     GateTPC       _____/^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...^^^^\____
     StopGate      _______________________________________..._________
     StartTPC      _______/^\_____________________________..._________
     BusyTPC       _______/^^^^^^^^^\_____________________..._________
     StopTPC       ___________/^\_________________________..._________
     BusyADC       _______________________________________..._________
     ReadyADC      _______________________________________..._________
     Reset         _______________________________________...___/^^^\_
     Timeout       _______________________________________...___/^\__

2.2.7 Takt-Karte

Die Takte zum Auslesen und Löschen der Zähler für den schnellen und langsamen Strahl werden auf der Taktkarte erzeugt. Aus dem 10MHz Quarztakt des Routing-Systems wird ein Mastertakt (10Hz) untersetzt (durch Steckbrücke auch 1Hz und 100Hz möglich), aus dem die weiteren Takte abgeleitet werden:

             ________________________________
     _______|                                |____Mastertakt
             ___________
     _______| ca. 200ns |_________________________Auslesetakt
                         ___________
     ___________________| ca. 200ns |_____________Reset-Takt

Ferner löst der Mastertakt die vorrangige Übertragung eines Datenwortes aus, das vor den beiden Datenwörtern Is, Il der Stromintegratoren im Rechner eintrifft und somit die Erkennung eines Is-Il-Datenpärchens erlaubt. Dies ist notwendig, um das Produkt Is*Il von zusammengehörigen Stromwerten bilden zu können und Datenverluste bei der Übertragung zu erkennen. Falls die Software solche Unregelmäßigkeiten bemerkt, registriert sie dies im Zähler ’Fast/slow beam sequence errors’. Alle Ionenströme und der Mastertakt werden in diesem Fall verworfen, die Messung dürfte damit im allgemeinen unbrauchbar sein.

Der übertragene Mastertakt wird von der Software zur Messung der ’Realtime’ verwendet. Erfolgt der Stop der Messung nicht durch die Messzeitvorwahl sondern manuell, so kann die von der Software registrierte ’Realtime’ um bis zu 0.1s zu klein sein.

Die beiden Eingänge zur Totzeitmessung von ADC und TPC sind nur in Verbindung mit dem IIC-Messprogramm von Interesse.

Zur Erzeugung definierter Startbedingungen werden bei gestoppter Datenübertragung (durch Hardware oder Software) die Ionenstrom- und Totzeitverlust-Zähler sowie der Mastertakt auf Null gesetzt und gesperrt. Nach einem Start erscheint der erste Mastertakt am Ende der ersten abgelaufenen 1/10 Sekunde.

2.3 LIC Geräteeinstellungen

Folgende Geräteeinstellungen werden bei der Messung von Ort und Laufzeit benötigt:

• Silena 7411 ADC Der ADC wird im RTP-Mode betrieben mit 4 Mikrosekunden RTP-Zeit. Der Peak-Detection-Mode ist ungeeignet, da der TPC Pulse mit einem flachen Dach anliefert.

• Ortec 416A Gate & Delay Generator Je einmal für Start und Stop TPC Timing

DELAY  Gate TPC muss Start und Stop TPC überdecken
WIDTH  0.4 us
AMPLITUDE 4.5 V

• Gate & Delay Generator Für Gate TPC Timing

DELAY  Gate TPC muss Start und Stop TPC überdecken
WIDTH  0.4 us
AMPLITUDE 4.5 V

• Ortec 467 TPC

RANGE  nach Bedarf
MULTIPLIER  nach Bedarf
TPHC OUTPUT DELAY  0 us
ANTI COINC/COINC  COINC
SCA MODE  WINDOW oder nach Bedarf
SCA INHIBIT  IN oder nach Bedarf
SCA LLD  0V oder nach Bedarf
SCA ULD  10V oder nach Bedarf
DC ADJ  0V
STROBE SYNC  INT STOP
STROBE RESET  120 us
STOP INHIBIT MODE  OUT oder nach Bedarf
STOP INHIBIT DELAY  nach Bedarf

• PCI Interface Auf dem PCI Interface muss die Pc2401-Brücke gesteckt sein, um die Karte für den SSL 2401 Position Computer zu konfigurieren. Falls die PCIx Extenderkarte verwendet wird, muss die PCIx-Brücke gesteckt werden.

Achtung! NIM-Geräte liefern 10V als Ausgangspegel wenn sie nicht mit 50 Ohm abgeschlossen werden. Dies ist nicht verträglich mit TTL-Eingängen! Deshalb: 10V-NIM-Ausgänge stets mit 50 Ohm abschließen!

Chapter 2: Funktion von LIC 10

2.4 LIC Control-Routing Belegung

Das Control-Routing wird vom LIC-Programm nicht angesteuert.

Chapter 2: Funktion von LIC 11

2.5 LIC Data-Routing Belegung

 Data-Routing
|===============|
|TAKT           |
|       BUSY ADC|<-- ungenutzt, mit 50 Ohm abschliessen
|       BUSY TPC|<-- ungenutzt, mit 50 Ohm abschliessen
|          RESET|----.
|            UHR|--. |
|---------------|  | |
|IFS            |  | |
|  (RUN, FREI)  |  | |
|===============|  | |
|UHR/ZLR        |  | |
|          RESET|<-|-+
|            UHR|<-+ |        /-------\
|           TAKT|<-|-|--------|  VFC  |-------< langsamer Strahl
|---------------|  | |        \-------/
|IFS            |  | |
|  (RUN, FREI)  |  | |
|===============|  | |
|UHR/ZLR        |  | |
|          RESET|<-|-'
|            UHR|<-'          /-------\
|           TAKT|<------------|  VFC  |-------< schneller Strahl
|---------------|             \-------/
|IFS            |
|  (RUN, FREI)  |
|===============|
weiter auf der nächsten Seite...

Chapter 2: Funktion von LIC 12

|===============|
| IIP/LIP only  |
|---------------|
|IFS (STOP)     |
|===============|                     /---------------\
| IIP/LIP only  |                     | Delay & Gate  |
|---------------|                     | Ortec 416A    |
| IIP/LIP only  |                     |     POS. INPUT|<- Channeltron
|---------------|                     |   DLY'D MARKER|--.
|IFS (STOP)     |                     \---------------/  |
|===============|       /-------\     /---------------\  |
|ADC-Interface  |       |  ADC  |     | TPC Ortec 467 |  |
|        37 pol.|<------|Silena |<----|TPHC OUT  START|<-'
|               |       | 7411  |     |               |
|---------------|       \-------/  .->|GATE       STOP|<-.
|PCIx-Karte     |                 / .-|BUSY           |  |
|      Strobe in|<-}             / /  \---------------/  |
|     Pileup out|->}z. Zt.      / /   /---------------\  |
|  PC Strobe out|->}ungenutzt  / /    | Delay & Gate  |  |
|---------------|             / /     | Ortec 416A    |  |
|PCI-Interface  |            / /      |   DLY'D MARKER|--'
|               |           / /    .->|POS. INPUT     |
|        50 pol.|<------.  / /     |  \---------------/
|               |        \/ /      |
|---------------|        /\/       |
|LIC-Interface  |       / /\       |  /---------------\
|       GATE TPC|-----+' /  \      `--|ANALOG STROBE  |
|       BUSY TPC|<----|-'    `--------| Position Comp.|<- Channelplate
|      STOP Gate|<--. |               |   SSL-2401    |
|       BUSY POS|<--|-|---------------|BUSY           |
|---------------|   | |               \---------------/
|IFS            |   | |    /---------------\
|  (LFT,FREI)   |   | |    | Delay & Gate  |
|               |   | `--->|POS. INPUT     |
|===============|   `------|POS. OUTPUT    |
                           \---------------/

2.6 Messdatenformat

Struktur der LIC-Daten-Files Die LIC-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/.../lic.conf und lic.h Zugang hat.

Anschließend folgen das Laufzeit- und das Positions-Spektrum. Die Länge des Laufzeit-Spektrums ist wählbar. Die Länge des Positions-Spektrums ist mit 256 * 256 Kanälen fest vorgegeben. Die im Standardteil des Headers angegebene Anzahl der Spalten und Zeilen ist: COLS = 256 ROWS = 256 + int((<Länge T-Spektrum> -1) / 256) +1 Die Kanäle der Spektren sind als INTEGER*4 (BYTES = 4) deklariert, d.h. jeder Kanal kann ca. 4*10^9 Ereignisse aufnehmen. Danach folgen die List-Mode-Daten.

     ---
      |
      | Header, 512 Bytes
      |
     ---
      |
      | T-Spektrum, ((ROWS - 256) * 256 * 4) Bytes
      |
     ---
      |
      | X/Y-Spektrum, (256 * 256 * 4) Bytes
      |
     ---
      |
      | List-Mode-Daten, n 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: "LIC" */
            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: "LIC" */
            char rows[lROWS];     /* Number of rows: (s.o.) */
            char cols[lCOLS];     /* Channels/row: "256" */
            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 clkcnt;        /* Realtime from Routing */

UINT4 rltcnt;        /* Realtime from CPU */
UINT4 lftcnt;        /* Lifetime */
UINT4 datcnt;        /* Processed x-y-t data */
UINT4 liscnt;        /* Transfered List Mode bytes */
UINT4 outcnt;        /* ADC data out of range */
UINT4 lsqerr;        /* LIC data sequence errors */
UINT4 licerr;        /* LIC interface errors */
UINT4 rejcnt;        /* Rejected data */
UINT4 fulcnt;        /* Fifo full counter */
UINT4 errcnt;        /* Error counter */
UINT4 runtim;        /* Realtime to run experiment [s] */
UINT2 hdatid;        /* Data identification */
UINT4 adclen;        /* Length of ADC spectrum */
UINT4 poslen;        /* Length of Pos. Comp. spectrum */
UINT4 posoff;        /* Offset of Pos. Comp. spectrum */
} spcdat;   /* Special data of header */
} hdata;        /* Header data */
struct {
char h512[512];         /* Fill 512 bytes block */
} htotal;        /* Total header */
} HEADER;

Struktur der List Mode Daten: List Mode Record: ID-Byte, Data-Byte1, Data-Byte2, ...

Record  ID Byte  Data Bytes
Start and restart marker:  1111 1111  >2: 0xff, ...
Fifo full:  10xx xxxx  -
Lifetime:  x010 0001  1: original ID
ADC data:  x010 0000  2: y,x
Pos. Comp.:  x000 0000  2: high,low
Beam synch, Realtime:  x000 1110  0
Slow beam:  x000 1100  2: high,low
Fast beam:  x000 1010  2: high,low
LIC error:  x001 0000  1: s.u.

Der "Start and restart marker" steht zu Beginn der List Mode Daten und wird bei jedem Restart der Messung als erstes neu geschrieben. Bei mehreren Daten-Bytes kommt das höherwertige zuerst. "Pos. Comp". und "ADC data" dürfen nur in der folgenden Reihenfolge auftreten, sonst liegt ein Fehler (LIC data sequence error) vor:

     Pos. Comp., ADC data

"Beam synch", "Slow beam" und "Fast beam" dürfen nur in folgenden beiden Reihenfolgen auftreten, sonst liegt ein Fehler (Fast/slow beam sequence error) vor:

     Beam synch, Slow beam, Fast beam
     Beam synch, Fast beam, Slow beam

Das "Fifo full Bit" zeigt an, dass durch Überlauf des Fifos-Speichers im Routing wegen Überlast eine unbekannte Anzahl von Daten verloren gegangen ist.

LIC Error Byte: Error 0x01: unsolicited Data Ready ADC Error 0x02: Timeout waiting for Stop Gate Error 0x04: Timeout waiting for Data Ready ADC (Busy ADC) Error 0x08: Timeout waiting for Data Ready ADC (Busy TPC) Error 0x10: Timeout waiting for end of Data Ready ADC Error 0x20: Timeout waiting for end of Data Ready PCI Warning 0x40: Data Ready ADC with no leading Stop Gate Warning 0x80: Stop Gate too early or permanent

3 Bedienung von LIC

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 LIC Top-Menü

3.1.1 Exit LIC

Verlassen des Programmes.

3.1.2 Start experiment

Führt zum LIC Start-Menü. (See Section 3.2 [LIC Start-Menü], page 20.)

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.

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

• Length: t-spectrum; x-y-spectrum Länge von Zeit-Spektrum und Positions-Matrix.

• Timer Restzeit des Timers für die Messzeitvorgabe.

• Realtime Die Zeit in Sekunden, während der das Experiment gestartet war. Diese Zeit wird aus dem Mastertakt der Taktkarte abgeleitet (s.o.). Bei Stop durch Messzeitvorwahl ist sie exakt, bei manuellem Stop kann sie bis zu 0.1s zu klein sein.

• Lifetime Die um die Totzeit korrigierte Zeit (Realtime - Deadtime), die der Messung zur Datenaufnahme zur Verfügung stand.

• MBytes List Mode data transfered Anzahl der List-Mode-Data-Bytes, die bereits zum Host-Rechner übertragen wurden.

• MBytes List Mode data buffered Anzahl der List-Mode-Data-Bytes, die sich noch im lokalen Zwischenspeicher befinden.

• LIC (x-y-t) data Anzahl der vom LIC-Interface empfangenen Orts-Zeit-Datenpaare.

• LIC data sequence errors Anzahl der Fälle, in denen das Orts-Zeit-Datenpaar unvollständig war. Entweder ist das LIC-Interface nicht in den LIC-Modus geschaltet, oder es liegt ein Hardware-Fehler vor.

• Fast/slow beam sequence errors Anzahl der Fälle, in denen das Triplett: Mastertakt, schneller Strahl, langsamer Strahl nicht in Ordnung war.

• Time data out of range Anzahl der Zeit-Daten, die außerhalb der vorgegebenen Grenzen des Zeitspektrums liegen. Als List-Mode-Daten bleiben sie jedoch erhalten.

• LIC interface errors Anzahl der Fälle, in denen das LIC-Interface einen Fehler erkannt hat. Falls Fehler aufgetreten sind, werden auf der nächsten Seite Details ausgegeben:

− Unsolicited Data Ready ADC Trifft ’ReadyADC’ ein, ohne dass zuvor ’ReadyPCI’ erkannt wurde, so wird mit ’Data Accepted’ ein Reset auf PCI und ADC durchgeführt. Dieser Fall darf im normalen Betrieb eigentlich nicht auftreten, da ’GateTPC’ erst mit ’ReadyPCI’ freigegeben wird, und deutet auf eine falsche Verkabelung oder einen Hardware-Fehler hin.

− Stop Gate signals too early or permanent Das ’StopGate’ Signal ist vor dem ’ReadyPCI’ Signal eingetroffen oder steht permanent an (BNC-Buchse offen).

− Timeouts waiting for Stop Gate or Data Ready ADC Innerhalb der gesetzten Frist (102.4us) nach ’ReadyPCI’ melden sich weder ’Stop-Gate’ noch ’ReadyADC’.

− Timeouts waiting for Data Ready ADC (BusyADC) Der ADC meldet sich innerhalb der gesetzten Frist (102.4us) nach ’ReadyPCI’ nicht mit Data Ready, obwohl ’BusyADC’ ansteht.

− Timeouts waiting for Data Ready ADC (BusyTPC) Der ADC meldet sich innerhalb der gesetzten Frist (102.4us) nach ’ReadyPCI’ nicht mit Data Ready, obwohl ’BusyTPC’ ansteht.

− Data Ready ADC with no leading Stop Gate Das ’ReadyADC’ Signal ist vor dem ’StopGate’ Signal eingetroffen oder ’StopGate’ fehlt ganz.

− Timeouts waiting for end of Data Ready ADC Data Ready des ADC läßt sich durch ’Data Accepted’ nicht zurücksetzen.

− Timeouts waiting for end of Data Ready PCI Data Ready des PCI läßt sich durch ’Data Accepted’ nicht zurücksetzen.

• 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. Solche Daten werden nicht in den List-Mode-Daten-File übertragen.

• 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.

nächste Seite:

• Fast beam integration Integration des schnellen Strahls.

• Slow beam integration Integration des langsamen Strahls.

• Fast * slow beam integration Integration des Produktes von schnellem und langsamen Strahl.

• Ferner werden die Experiment-beschreibenden Parameter dargestellt.

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).

LIC verwendet standardmäßig das Programm LAC 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 LIC Konfigurations-Menü. (See Section 3.5 [LIC Konfigurations-Menü], page 22.)

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 LIC 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. (See Section 3.3 [Experiment-Parameter-Eingabe], page 21.) (See Section 3.4 [Funktionen bei laufendem Experiment], page 21.)

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. (See Section 3.3 [Experiment-Parameter-Eingabe], page 21.) (See Section 3.4 [Funktionen bei laufendem Experiment], page 21.)

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. (See Section 3.3 [Experiment-Parameter-Eingabe], page 21.) (See Section 3.4 [Funktionen bei laufendem Experiment], page 21.)

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.

Length of spectrum Anzahl der Kanäle des Laufzeit-Spektrums. Das Positions-Spektrum hat ein festes Format von 256 * 256 Kanälen.

Timer Eingabe einer Messzeitvorwahl in Sekunden Echtzeit. Bei Angabe von 0 oder eines negativen Wertes erfolgt kein automatischer Stop. Bei einem Neustart eines Spektrums ist der Vorbelegungswert immer 0, während bei einem Restart die eventuell noch vorhandene Restzeit als Vorbelegung angeboten wird. Die Messung wird nach Ablauf der angegebenen Zeit angehalten mit der Meldung ’Experiment finished’. Sie muss anschließend mit ’Stop Experiment’ noch gestoppt werden.

Experimentparameter Zur Beschreibung des Experimentes können noch eine Reihe weiterer Parameter eingegeben werden, die für die Auswertung benötigt werden, nicht jedoch für den eigentlichen Messvorgang.

3.4 Funktionen bei laufendem Experiment

3.4.1 Stop experiment

Die Messung wird gestoppt und die Daten werden zum Host-Rechner übertragen (See Chapter 4 [Archivierung der Daten], page 26.). 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

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.

3.4.3 Show header

See Section 3.1.3 [Show header], page 17.

3.4.4 Analyse spectrum

See Section 3.1.4 [Analyse spectrum], page 19.

3.4.5 Detach LIC

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 LIC 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 Messprogram 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 Data identification bits

Festlegen der Datenkennungs-Bits. Zur Unterscheidung der Daten von verschiedenen Datenquellen sind die Messdaten mit einer Kennung versehen. Sie kann ermittelt werden aus der Anzeige der Interfacesteuerungen im Routing-Einschub (siehe Routing-Beschreibung), oder durch Darstellung der Messdaten mittels der Funktion ’Print hardware info’ auf dem Bildschirm.

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.