Next: , Up: (index)

# Anleitung zum Messprogramm LTI #

(Transfer Ionization List-Mode Program)


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



Next: , Previous: Top, Up: Top

1 Über diese Anleitung

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

lti.txt Text-Format, kann z.B. mit a2ps in handlichem Format gedruckt werden.
lti.dvi DVI-Format, kann z.B. mit dvips auf einem Postscript-Drucker gedruckt werden oder mit xdvi auf einem X-Windows Bildschirm dargestellt werden.
lti.html HTML-Format, kann mit jedem HTML-Browser (z.B. netscape) gelesen werden.
lti.info INFO-Format, kann mit dem GNU-Info-Browser (info -f lti.info) und GNU-emacs gelesen werden.
lti.pdf PDF-Format, mit dem Acrobat-Reader zu lesen.


Next: , Previous: Readme, Up: Top

2 Funktion von LTI


Next: , Previous: Funktion von LTI, Up: Funktion von LTI

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)

In Ergänzung zu den bisherigen zeitauflösenden (eindimensional, mit TPC und ADC, Programm MCA) und ortsauflösenden (zweidimensional, mit Channelplate und SSL-2401 Position Computer, Programm PCI) TI-Messungen, erlaubt das LTI-Messprogramm die gleichzeitige Messung von Orts- und Zeitauflösung. 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 LTI-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:

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.


Next: , Previous: Überblick, Up: Funktion von LTI

2.2 Ablauf der Messung


Next: , Previous: Überblick, Up: Funktion von LTI

2.2.1 Messung der Ortsinformation

Die Erfassung der Channelplate-Ereignisse erfolgt mit dem '2401 Position Computer' der Surface Science Laboratories INC. Dieser liefert je 8 Positions-Bits für X und Y an das PCI-Interface, das ein Datenwort (2*8 bit) 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 LTI-Messung da dadurch die Korrelation zu den Laufzeitdaten verloren geht!


Next: , Previous: Messung der Ortsinformation, Up: Funktion von LTI

2.2.2 Messung der Laufzeit

Die Rückstoßionen werden über ein Channeltron (oder kleines Channelplate) erfasst und durch Vorverstärker und Constant-Fraction-Diskriminator zum Startsignal für den TPC verarbeitet. Als Stopsignal dient der Analog-Strobe des Position-Computers, der eventuell invertiert werden muss (intern oder extern). Der Analog-Strobe ist von seiner zeilichen Qualität her möglicherweise für Timing-Aufgaben nicht besonders geeignet. Die Praxis hat aber gezeigt, dass damit die verschiedenen Ladungszustände ausreichend scharf getrennt werden. Weniger geeignet ist der digitale Strobe, den die (optionale) PCIx-Karte anbietet, da er durch internes Einsynchronisieren um ca. 100ns unscharf ist. 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. Das TPHC-out-Signal wird einem ADC zugeführt, der seine Daten über das zugehörige Routing-Interface überträgt.

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


Next: , Previous: Messung der Laufzeit, Up: Funktion von LTI

2.2.3 Messung von korrelierten Orts- und Laufzeit-Daten (LTI-Interface)

Das LTI-Interface ist baugleich mit dem 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 LTI-Interface-Karte erfüllt. Das LTI-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 LTI-Mode):


Next: , Previous: Messung von korrelierten Orts- und Laufzeit-Daten (LTI-Interface), Up: Funktion von LTI

2.2.4 Fehlermeldungen (LTI-Interface)

Die Funktion des LTI-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.


Next: , Previous: Fehlermeldungen (LTI-Interface), Up: Funktion von LTI

2.2.5 Timing (LTI-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       _______________________________________...___/^\__


Next: , Previous: Timing (LTI-Interface), Up: Funktion von LTI

2.2.6 Realtime Takt

Das LTI-Programm benötigt zum Setzen von Zeitmarken die Eingabe einer 10Hz Taktkarte. Im einfachsten Fall wird dazu der Lifetime-Takt einer sonst ungenutzten IFS-Karte verwendet. Diese muss dazu auf 10Hz Takt gebrückt werden und darf nicht durch das Busy einer benachbarten Interface-Karte belastet sein.


Next: , Previous: Realtime Takt, Up: Funktion von LTI

2.3 LTI Geräteeinstellungen

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

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


Next: , Previous: Geräteeinstellungen, Up: Funktion von LTI

2.4 LTI Control-Routing Belegung

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


Next: , Previous: Control-Routing Belegung, Up: Funktion von LTI

2.5 LTI Data-Routing Belegung

      Data-Routing
     |===============|
     |IFS    (10Hz)  |
     |  (LFT,FREI)   |
     |(als Taktkarte)|
     |===============|
     |U/D-ZLR        |
     |(option.) Count|<-.
     |          Reset|<-|--.               /---------------\
     |           Read|<-|--+-< 10Hz Takt   | Delay & Gate  |
     |---------------|  |                  | Ortec 416A    |
     |IFS            |  |                  |     POS. INPUT|<- Channeltron
     |  (RUN, FREI)  |  |                  |   DLY'D MARKER|--.
     |               |  |                  \---------------/  |
     |===============|  |    /-------\     /---------------\  |
     |ADC-Interface  |  |    |  ADC  |     | TPC Ortec 467 |  |
     |        37 pol.|<-|----|Silena |<----|TPHC OUT  START|<-'
     |               |  |    | 7411  |     |               |
     |---------------|  |    \-------/  .->|GATE       STOP|<-.
     |PCIx-Karte     |  |              / .-|BUSY           |  |
     |(optional)     |  |             / /  \---------------/  |
     |     Pileup out|--'            / /   /---------------\  |
     |  PC Strobe out|--->          / /    | Delay & Gate  |  |
     |---------------|             / /     | Ortec 416A    |  |
     |PCI-Interface  |            / /      |   DLY'D MARKER|--'
     |               |           / /    .->|POS. INPUT     |
     |        50 pol.|<------.  / /     |  \---------------/
     |               |        \/ /      |
     |---------------|        /\/       |
     |LTI-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    |
                                \---------------/


Previous: Data-Routing Belegung, Up: Funktion von LTI

2.6 Messdatenformat

Struktur der LTI-Daten-Files
Die LTI-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/.../lti.conf und lti.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: "LTI" */
                 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: "LTI" */
                 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;        /* LTI data sequence errors */
                 UINT4 ltierr;        /* LTI 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 -
Realtime: x000 1110 0
Lifetime: x010 0001 1: original ID
ADC data: x010 0000 2: y,x
Pos. Comp.: x000 0000 2: high,low
LTI 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 (Sequence error) vor:

     Pos. Comp., ADC data

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



LTI 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


Next: , Previous: Funktion von LTI, Up: Top

3 Bedienung von LTI

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.

--- LTI Top-Menü ---

--- LTI Start-Menü ---

--- LTI Parameter-Eingabe ---

--- LTI Funktionen bei laufendem Experiment ---

--- LTI Konfigurations-Menü ---


Next: , Previous: Bedienung von LTI, Up: Bedienung von LTI

3.1 LTI Top-Menü


Next: , Previous: LTI Top-Men&uuml;, Up: LTI Top-Men&uuml;

3.1.1 Exit LTI

Verlassen des Programmes.


Next: , Previous: Exit LTI, Up: LTI Top-Men&uuml;

3.1.2 Start experiment

Führt zum LTI Start-Menü. (See LTI Start-Menü.)


Next: , Previous: Start experiment, Up: LTI Top-Men&uuml;

3.1.3 Show header

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

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.


Next: , Previous: Show header, Up: LTI Top-Men&uuml;

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

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


Next: , Previous: Analyse spectrum, Up: LTI Top-Men&uuml;

3.1.5 Delete spectrum

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


Next: , Previous: Delete spectrum, Up: LTI Top-Men&uuml;

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.


Next: , Previous: Convert spectrum to ASCII, Up: LTI Top-Men&uuml;

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.


Next: , Previous: Edit header, Up: LTI Top-Men&uuml;

3.1.8 Execute shell command

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


Next: , Previous: Execute shell command, Up: LTI Top-Men&uuml;

3.1.9 Set configuration

Führt zum LTI Konfigurations-Menü. (See LTI Konfigurations-Menü.)


Next: , Previous: Set configuration, Up: LTI Top-Men&uuml;

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


Next: , Previous: LTI Top-Men&uuml;, Up: LTI Top-Men&uuml;

3.2 LTI Start-Menü


Next: , Previous: Start experiment, Up: LTI Start-Men&uuml;

3.2.1 Return

Rückkehr zum Top-Menü.


Next: , Previous: Return, Up: LTI Start-Men&uuml;

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 Experiment-Parameter-Eingabe.)
(See Funktionen bei laufendem Experiment.)


Next: , Previous: Create new spectrum, Up: LTI Start-Men&uuml;

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 Experiment-Parameter-Eingabe.)
(See Funktionen bei laufendem Experiment.)


Next: , Previous: Continue old spectrum, Up: LTI Start-Men&uuml;

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 Experiment-Parameter-Eingabe.)
(See Funktionen bei laufendem Experiment.)


Next: , Previous: Test run, Up: LTI Start-Men&uuml;

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


Next: , Previous: LTI Start-Men&uuml;, Up: LTI Start-Men&uuml;

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.


Next: , Previous: LTI Start-Men&uuml;, Up: LTI Start-Men&uuml;

3.4 Funktionen bei laufendem Experiment


Next: , Previous: Funktionen bei laufendem Experiment, Up: Funktionen bei laufendem Experiment

3.4.1 Stop experiment

Die Messung wird gestoppt und die Daten werden zum Host-Rechner übertragen (See Archivierung der Daten.). 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.


Next: , Previous: Stop experiment., Up: Funktionen bei laufendem Experiment

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.


Next: , Previous: Save spectrum., Up: Funktionen bei laufendem Experiment

3.4.3 Show header

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

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.


Next: , Previous: Show header., Up: Funktionen bei laufendem Experiment

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

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


Next: , Previous: Analyse spectrum., Up: Funktionen bei laufendem Experiment

3.4.5 Detach LTI

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!


Previous: LTI Top-Men&uuml;, Up: LTI Top-Men&uuml;

3.5 LTI 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.


Next: , Previous: LTI Konfigurations-Men&uuml;, Up: LTI Konfigurations-Men&uuml;

3.5.1 Return

Rückkehr zum Top-Menü.


Next: , Previous: Return.., Up: LTI Konfigurations-Men&uuml;

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.


Next: , Previous: General parameters, Up: LTI Konfigurations-Men&uuml;

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:

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.


Next: , Previous: Background program, Up: LTI Konfigurations-Men&uuml;

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:


Previous: Data Routing hardware, Up: LTI Konfigurations-Men&uuml;

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:


Up: Set configuration

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.


Next: , Previous: Bedienung von LTI, Up: Top

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:


Next: , Previous: Archivierung, Up: Top

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.