# Anleitung zum Messprogramm IIC # ********************************** *(Messung von Ion-Ion-Koinzidenz-Spektren)* 29.Apr.1992 K. Huber, Strahlenzentrum Univ. Giessen Version 30.Jul.2004 1 Ueber diese Anleitung *********************** Diese Anleitung zum IIC-Messprogramm steht in verschiedenen Formaten zur Verfuegung. Die entsprechenden Files finden Sie auf dem Servix unter /usr/exp/ex_help oder auf Ihrem Experiment-Account unter $HOME/ex_home/ex_help: iic.txt Text-Format, kann z.B. mit `a2ps' in handlichem Format gedruckt werden. iic.dvi DVI-Format, kann z.B. mit `dvips' auf einem Postscript-Drucker gedruckt werden oder mit `xdvi' auf einem X-Windows Bildschirm dargestellt werden. iic.html HTML-Format, kann mit jedem HTML-Browser (z.B. `netscape') gelesen werden. iic.info INFO-Format, kann mit dem `GNU-Info-Browser' (`info -f iic.info') und `GNU-emacs' gelesen werden. So wird der Info-Browser bedient (Start mit Tastenfolge TAB, ENTER): *Note info::. (Zurueck mit L, L, ...). iic.pdf PDF-Format, mit dem `Acrobat-Reader' zu lesen. 2 Funktion von IIC ****************** 2.1 Ueberblick ============== Fuer 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 fuer IIC-Spektren IAP fuer IIP-Spektren LAC fuer LIC-List-Mode-Daten (LAP fuer LIP-List-Mode-Daten) Das IIC-Messprogramm dient der Datenerfassung bei Einsatz des Koinzidenzverfahrens. Dabei werden die Reaktionsprodukte im schnellen und langsamen Strahl ueber eine Koinzidenz ermittelt. 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 abhaengig von der verwendeten CPU: MVME162 ?kHz MVME172 ?kHz 2.2 Ablauf der Messung ====================== 2.2.1 Messung der Channeltronpulse ---------------------------------- Mit einem TPC und einem nachfolgenden ADC wird ein Koinzidenzspektrum (1024 Kanaele) gemessen fuer die getrennt nachgewiesenen Reaktionsprodukte des schnellen und langsamen Strahls. Fuer die IIC-Messung existieren verschiedene Hardware-Varianten, die alle durch das IIC-Messprogramm abgedeckt werden (s.u.): A. Channeltron-Channeltron-Koinzidenzen mit IIC-Aufbau Langsamer und schneller Strahl werden beide ueber Channeltrons nachgewiesen. Zur Totzeitmessung werden der Taktkarte (ID=7) die Totzeitsignale von TPC und ADC zugefuehrt. Da der ADC selber keinen Ausgang fuer das Busy-Signal besitzt, ist dieses ueber die IFS-Karte (Buchse OUT, Busy intern mit Bruecke verdrahtet) zugaenglich gemacht. B. Channeltron-Channeltron-Koinzidenzen mit LIC-Aufbau Wie A., jedoch wird ein modifizierter LIC-Aufbau verwendet. Dies erspart das Umstecken von Interface-Karten. Die Totzeitmessung erfolgt dann ueber die LIC-Karte (ID=0). C. Channeltron-Channelplate-Koinzidenzen mit LIC-Aufbau Wie beim LIC-Experiment wird der langsame Strahl ueber ein Channeltron und der schnelle Strahl mit einem Channelplate nachgewiesen. Die Totzeitmessung erfolgt ueber die LIC-Karte (ID=0). 2.2.2 Messung der Ionenstroeme ------------------------------ Die Ionenstroeme Is bzw. Il vom schnellen und langsamen Strahl werden mit Keithly-Elektrometern gemessen. Die analoge Ausgangsspannung der Keithly's (Vollausschlag: 1V) wird in je einem VFC in eine Frequenz gewandelt (1V ==> 10kHz) und ueber eine UHR/ZLR-Karte gezaehlt. Die Zaehlerinhalte werden alle 0.1 Sekunde zum Rechner uebertragen und anschliessend werden die Zaehler geloescht. Im Rechner werden beide Stroeme jeweils fuer sich integriert. Ferner wird das fuer die Auswertung relevante Produkt Is*Il bei jeder Uebertragung gebildet und ebenfalls integriert. Beim Auslesen und Loeschen der Zaehler entsteht eine Totzeit kleiner 500ns. 2.2.3 Takt-Karte ---------------- Die Takte zum Auslesen und Loeschen der Zaehler fuer den schnellen und langsamen Strahl werden auf der Taktkarte erzeugt. Aus dem 10MHz Quarztakt des Routing-Systems wird ein Mastertakt (10Hz) untersetzt (durch Steckbruecke auch 1Hz und 100Hz moeglich), aus dem die weiteren Takte abgeleitet werden: ________________________________ _______| |____ Mastertakt ___________ _______| ca. 200ns |_________________________ Auslesetakt ___________ ___________________| ca. 200ns |_____________ Reset-Takt Ferner loest der Mastertakt die vorrangige Uebertragung eines Datenwortes aus, das vor den beiden Datenwoertern Is, Il der Stromintegratoren im Rechner eintrifft und somit die Erkennung eines Is-Il-Datenpaerchens erlaubt. Dies ist notwendig, um das Produkt Is*Il von zusammengehoerigen Stromwerten bilden zu koennen und Datenverluste bei der Uebertragung zu erkennen. Falls die Software solche Unregelmaessigkeiten bemerkt, registriert sie dies im Zaehler 'Sequence errors'. Alle Ionenstroeme und der Mastertakt werden in diesem Fall verworfen, die Messung duerfte damit im allgemeinen unbrauchbar sein. Der uebertragene Mastertakt wird von der Software zur Messung der 'Realtime' verwendet. Zur Erzeugung definierter Startbedingungen werden bei gestoppter Datenuebertragung (durch Hardware oder Software) die Ionenstrom- und Totzeitverlust-Zaehler sowie der Mastertakt auf Null gesetzt und gesperrt. Nach einem Start erscheint der erste Mastertakt am Ende der ersten abgelaufenen 1/10 Sekunde. Erfolgt der Stop nicht durch die Messzeitvorwahl (s.u.), so kann die von der Software registrierte 'Realtime' um bis zu 0.1s zu klein sein. Weiterhin erfasst die Taktkarte die Totzeitsignale von ADC und TPC disjunktiv (ODER) zusammen und meldet das Ergebnis als BUSY an die zugehoerige IFS-Karte, wo es zur Lifetime-Messung verarbeitet wird (nur fuer den IIC-Aufbau). Die disjunktive Zusammenfassung von ADC- und TPC-Totzeit ist nicht ganz korrekt, da ADC und TPC fuer eine gewisse Zeit parallel arbeiten koennen. So kann insbesondere der TPC bereits wieder starten bevor der ADC ganz fertig ist. Lediglich das mit Verzoegerung auftretende Ausgangssignal des TPC muss einen freien ADC vorfinden. Die ADC-Totzeit wird also maximal um den am TPC eingestellten Zeitbereich zu gross beruecksichtigt. ________ ________ _______| |______________________| |____________ TPC-busy _ _ ___________| |______________________________| |______________ TPC-out _____________________________ ________________ ___________| |__| ADC-busy Unter den gegebenen Bedingungen: haeufige Totzeit durch den TPC und seltene Totzeit durch den ADC, sollte der Fehler jedoch gering sein. Bei Messungen mit dem LIC-Aufbau wird die Totzeit ueber das LIC-Interface gemessen, und die Lifetime-Kennung ist entsprechend anzugeben. 2.2.4 Totzeitanzeige -------------------- Diese Karte erlaubt (nur IIC-Aufbau) eine analoge Totzeitanzeige. Sie muss direkt rechts von der Taktkarte stecken. Sie zeigt dann die aus ADC und TPC abgeleitete Totzeit an, die auch zur Lifetime-Messung verwendet wird. 2.3 IIC Geraeteeinstellungen ============================ Folgende NIM-Geraete werden bei der Messung von Ort und Laufzeit eingesetzt: *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* DELAY : nach Bedarf WIDTH : 0.4 Mikrosekunden AMPLITUDE : 4 Volt *Ortec 467 TPC* RANGE : nach Bedarf MULTIPLIER : nach Bedarf TPHC OUTPUT DELAY : 0 Mikrosekunden 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 Mikrosekunden STOP INHIBIT MODE : OUT oder nach Bedarf STOP INHIBIT DELAY : nach Bedarf *DRM Interface* Auf dem DRM Interface muessen Ein- und Ausgang des Strobe-Signals mittels Steckbruecken richtig eingestellt werden: Strobe Eingang : int. Strobe Strobe Ausgang : Strobe out 2.4 IIC Control-Routing Belegung ================================ Das Control-Routing wird vom IIC-Programm nicht angesteuert. 2.5 IIC Data-Routing Belegung ============================= *A. IIC-Messung mit IIC-Aufbau fuer Channeltron-Channeltron Koinzidenzen* Die Lifetime-Messung erfolgt ueber die TAKT-Karte (ueber 'Set Configuration' Lifetime ID = 0x2f einstellen!). Anordnung der Interface-Karten im Data-Routing-Ueberrahmen Pos. Adr. Karte Funktion Kommentar ------------------------------------------------------------------ 1. Bus-Abschluss 2. 0 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 3. ADC-Karte ADC-Interface 4. frei } wegen 5. frei } Kompatibilitaet 6. frei } mit LIC-Aufbau 7. 3 IFS-Karte Interfacesteuerung }(Modus: STOP) 8. IIP/LII1 IIP/LII-Karte } 9. frei/LII2 LII-Karte } IIP/LIP Messungen 10. 4 IFS-Karte Interfacesteuerung }(Modus: STOP) 11. U/D-ZLR Up/Down-Zaehler } 12. 5 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 13. UHR/ZLR 1 Schneller Strahl (Modus: extern) 14. 6 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 15. UHR/ZLR 2 Langsamer Strahl (Modus: extern) 16. 7 IFS-Karte Interfacesteuerung (Modus: LFT, FREI) 17. TAKT Taktgeberkarte 18. TOTZEIT Totzeitanzeige (optional) 19. RST-Karte Routing-Steuerung (Modus: RUN) 20. Computer-Interface ------------------------------------------------------------------ Pos. Adr. Karte Funktion Kommentar * Bei der IFS-Karte auf Pos. 2 muss BUSY auf OUT verdrahtet sein! Data-Routing |===============| |Totzeitanzeige | |(optional) | |===============| |TAKT BUSY TPC|<-------. | BUSY ADC|<-----. | | RESET|----. | | | UHR|--. | | | |---------------| | | | | |IFS (LFT,FREI) | | | | | |===============| | | | | |UHR/ZLR RESET|<-|-+ | | | UHR|<-+ | | | /-------\ | TAKT|<-|-|-|-|---------| VFC |-------< langsamer Strahl |---------------| | | | | \-------/ |IFS (RUN,FREI) | | | | | |===============| | | | | |UHR/ZLR RESET|<-|-' | | | UHR|<-' | | /-------\ | TAKT|<-----|-|---------| VFC |-------< schneller Strahl |---------------| | | \-------/ |IFS (RUN,FREI) | | | |===============| | | | IIP/LIP | | | |---------------| | | |IFS (STOP) | | | |===============| | | | IIP/LIP | | | |---------------| | | | IIP/LIP | | | |---------------| | | |IFS (STOP) | | | |===============| | | | frei | | | |---------------| | | | frei | | | |---------------| | | /---------------\ | frei | | `------------|BUSY | |===============| | /-------\ | TPC Ortec 467 | |ADC-Interface | | | ADC | | |--< schneller Strahl | 37 pol.|<-----|--|Silena |<--|TPHC OUT | Channeltron-Pulse |---------------| | | 7411 | | |--< langsamer Strahl |IFS (RUN,FREI) | | \-------/ \---------------/ | Busy OUT|------' |===============| *B. IIC-Messung mit LIC-Aufbau fuer Channeltron-Channeltron Koinzidenzen* LIC-Karte muss auf IIC-Mode geschaltet werden; die Lifetime-Messung erfolgt ueber die LIC-Karte (ueber 'Set Configuration' Lifetime ID = 0x21 einstellen!); Pos. Computer, Delay & Gate, DRM-Interface sind ungenutzt; die ungenutzten Kabelverbindungen koennen bestehen bleiben. Diese Variante wurde bisher noch nicht eingesetzt!!! (31.05.01) Anordnung der Interface-Karten im Data-Routing-Ueberrahmen Pos. Adr. Karte Funktion Kommentar ------------------------------------------------------------------ 1. Bus-Abschluss 2. 0 IFS-Karte Interfacesteuerung (Modus: LFT, FREI) 3. LIC-Karte LIC-Interface (Modus: IIC) 4. DRM-Karte } Pos.-Comp.-Interface 5. DRM-Karte } 6. ADC-Karte ADC-Interface 7. 3 IFS-Karte Interfacesteuerung }(Modus: STOP) 8. IIP/LII1 IIP/LII-Karte } 9. frei/LII2 LII-Karte } IIP/LIP Messungen 10. 4 IFS-Karte Interfacesteuerung }(Modus: STOP) 11. U/D-ZLR Up/Down-Zaehler } 12. 5 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 13. UHR/ZLR 1 Schneller Strahl (Modus: extern) 14. 6 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 15. UHR/ZLR 2 Langsamer Strahl (Modus: extern) 16. 7 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 17. TAKT Taktgeberkarte 18. TOTZEIT Totzeitanzeige (optional) 19. RST-Karte Routing-Steuerung (Modus: RUN) 20. Computer-Interface ------------------------------------------------------------------ Pos. Adr. Karte Funktion Kommentar 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) | |===============| | IIP/LIP only | |---------------| |IFS (STOP) | |===============| | IIP/LIP only | |---------------| | IIP/LIP only | |---------------| |IFS (STOP) | |===============| /-------\ /---------------\ |ADC-Interface | | ADC | | TPC Ortec 467 | | 37 pol.|<----|Silena |<------|TPHC OUT START|<- Channeltron | | | 7411 | | | |---------------| \-------/ .-->|GATE STOP|<- Channeltron | (Bus-Bruecke) | / .--|BUSY | | PILE UP|->) z. Zt / / \---------------/ | STROBE IN|<-) ungenutzt / / /---------------\ | STROBE OUT|-------. / / | Delay & Gate | | - - - - - | \ / / | Ortec 416A | | | `-/-/------>|POS. INPUT | |DRM-Interface | / / | DLY'D MARKER |--> frei | | / / .-------|POS. OUTPUT | | 50 pol.|<----. / / / \---------------/ | | \/ / / |---------------| /\/ / |LIC-Interface | / /\/ /---------------\ | GATE TPC|----' / /\ | Position Comp.| | BUSY TPC|<----' / `----------| SSL-2401 |<- Channelplate | STOP TPC|<-----' | | | BUSY POS|<--------------------|BUSY | |---------------| \---------------/ |IFS (LFT,FREI) | |===============| Data-Routing *C. IIC-Messung mit LIC-Aufbau fuer Channeltron-Channelplate Koinzidenzen* Die LIC-Karte muss auf IIC-Mode geschaltet werden; die Lifetime-Messung erfolgt ueber die LIC-Karte (ueber 'Set Configuration' Lifetime ID = 0x21 einstellen!). Anordnung der Interface-Karten im Data-Routing-Ueberrahmen Pos. Adr. Karte Funktion Kommentar ------------------------------------------------------------------ 1. Bus-Abschluss 2. 0 IFS-Karte Interfacesteuerung (Modus: LFT, FREI) 3. LIC-Karte LIC-Interface (Modus: IIC) 4. DRM-Karte } Pos.-Comp.-Interface 5. DRM-Karte } Bruecke zum ADC-Interface! 6. ADC-Karte ADC-Interface 7. 3 IFS-Karte Interfacesteuerung }(Modus: STOP) 8. IIP/LII1 IIP/LII-Karte } 9. frei/LII2 LII-Karte } IIP/LIP Messungen 10. 4 IFS-Karte Interfacesteuerung }(Modus: STOP) 11. U/D-ZLR Up/Down-Zaehler } 12. 5 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 13. UHR/ZLR 1 Schneller Strahl (Modus: extern) 14. 6 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 15. UHR/ZLR 2 Langsamer Strahl (Modus: extern) 16. 7 IFS-Karte Interfacesteuerung (Modus: RUN, FREI) 17. TAKT Taktgeberkarte 18. TOTZEIT Totzeitanzeige (optional) 19. RST-Karte Routing-Steuerung (Modus: RUN) 20. Computer-Interface ------------------------------------------------------------------ Pos. Adr. Karte Funktion Kommentar 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) | |===============| | IIP/LIP only | |---------------| |IFS (STOP) | |===============| | IIP/LIP only | |---------------| | IIP/LIP only | |---------------| |IFS (STOP) | |===============| /-------\ /---------------\ |ADC-Interface | | ADC | | TPC Ortec 467 | | 37 pol.|<----|Silena |<------|TPHC OUT START|<- Channeltron | | | 7411 | | | (langsamer Strahl) |---------------| \-------/ .-->|GATE STOP|<-. | (Bus-Bruecke) | / .--|BUSY | | | PILE UP|->) z. Zt. / / \---------------/ | | STROBE IN|<-) ungenutzt / / /---------------\ | | STROBE OUT|-------. / / | Delay & Gate | | | - - - - - | \ / / | Ortec 416A | | | | `-/-/------>|POS. INPUT | | |DRM-Interface | / / | DLY'D MARKER |--' | | / / .-------|POS. OUTPUT | | 50 pol.|<----. / / / \---------------/ | | \/ / / |---------------| /\/ / |LIC-Interface | / /\/ /---------------\ | GATE TPC|----' / /\ | Position Comp.| | BUSY TPC|<----' / `----------| SSL-2401 |<- Channelplate | STOP TPC|<-----' | | (schneller Strahl) | BUSY POS|<--------------------|BUSY | |---------------| \---------------/ |IFS (LFT,FREI) | |===============| Data-Routing 2.6 Messdatenformat =================== *Struktur der IIC-Daten-Files* Die IIC-Messdaten-Files entsprechen dem Strahlenzentrumsstandard und koennen deshalb mit einer Anzahl vorhandener Programme weiterverarbeitet werden. Sie beginnen mit einem Header von 512 Bytes Laenge, der am Anfang einen standardisierten Teil enthaelt und anschliessend noch eine Reihe weiterer Daten (z.B. Lifetime-, Realtime-Zaehler usw.), zu denen man ueber die Include-Files ~/ex_home/ex_src/.../iic.conf und iic.h Zugang hat. Die Laenge des Koinzidenz-Spektrums ist 1024 Kanaele. Die Kanaele sind als INTEGER*4 (BYTES = 4) deklariert, d.h. jeder Kanal kann ca. 4*10^9 Ereignisse aufnehmen. --- | | Header, 512 Bytes | --- | | Spektrum, (1024 * 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 Plattformabhaengige 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: "IIC " */ 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: "IICA" */ char rows[lROWS]; /* Number of rows: " 1" */ char cols[lCOLS]; /* Channels/row: " 1024" */ 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 data */ UINT4 outcnt; /* Data out of range */ UINT4 seqcnt; /* Sequence errors */ UINT4 rejcnt; /* Rejected data */ UINT4 fulcnt; /* Fifo full counter */ UINT4 errcnt; /* Data error counter */ UINT4 runtim; /* Realtime to run experiment [s] */ UINT2 hdatid; /* Data identification */ UINT4 ifast; /* Integrated current fast beam */ UINT4 islow; /* Integrated current slow beam */ REAL8 ifis; /* Integrated (ifast * islow) */ REAL4 expar[8]; /* Extended IIC parameters */ /* Fast/slow beam */ /* 0/4 Acc. voltage */ /* 1/5 Ion mass */ /* 2/6 Ion charge */ /* 3/7 Meass. range of current */ } spcdat; /* Special data of header */ } hdata; /* Header data */ struct { char h512[512]; /* Fill 512 bytes block */ } htotal; /* Total header */ } HEADER; Fuer die alten, mit dem PDP11-System gemessenen Spektren, ist folgendes zu beachten: Anlaesslich eines Umbaus des Experimentes (Aug. 94) wurde der Realtime-Takt von 1Hz auf 10Hz erhoeht. IIC wurde dahingegen geaendert, dass es nach wie vor bei SHOW HEADER die Realtime in Sekunden ausgibt und die gemessenen Spektren sich den Auswerteprogrammen durch den Parameter sptype='IIPA' als Spektrentyp mit 0.1s Realtime-Basis zu erkennen geben. 3 Bedienung von IIC ******************* Das Programm ist weitgehend selbsterklaerend. Die notwendigen Eingaben werden in Dialogform angefordert. Der Dialog ist in einer Hierarchiestruktur aufgebaut, wobei mittels Menuelisten von einer Dialogebene in die andere gewechselt werden kann. Fuer Parametereingaben existieren im Allgemeinen Vorbelegungswerte, die editiert werden koennen. 3.1 IIC Top-Menue ================= 3.1.1 Exit IIC -------------- Verlassen des Programmes. 3.1.2 Start experiment ---------------------- Fuehrt zum IIC Start-Menue. (*Note IIC Start-Menue::.) 3.1.3 Show header ----------------- Zeigt die wichtigsten Daten des Headers, der jedem Spektrum beigefuegt 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* Laenge des Spektrums. * *Timer* Restzeit des Timers fuer die Messzeitvorgabe. * *Realtime* Die Zeit in Sekunden, waehrend 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 Verfuegung stand. * *ADC data* Anzahl der durch den ADC verarbeiteten Daten. * *ADC out of range* Anzahl der ADC-Daten, die ausserhalb der Spektrumsgrenzen liegen und deshalb nicht verarbeitet wurden. * *Data sequence errors* Anzahl der Faelle, in denen das Triplett: Mastertakt, schneller Strahl, langsamer Strahl nicht in Ordnung war. * *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 zusaetzliche Datenquelle unbeabsichtigt mitgelaufen. * *Fifo overflows* Anzahl der Faelle, in denen die Bearbeitung der Daten nicht schritthalten konnte und Datenverluste auftraten. * *Data errors* Anzahl der Daten, die durch Hardwarefehler oder -stoerungen verstuemmelt uebertragen wurden. _naechste 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 * Auflistung der experimentbeschreibenden Parameter. Die Darstellung des Headers kann mit der Leertaste wiederholt und mit der Return-Taste beendet werden. Fuer ein nicht existierendes Spektrum (Status new) erfolgt eine gekuerzte Ausgabe. 3.1.4 Analyse spectrum ---------------------- Startet als Subtask ein Auswerteprogramm zur graphischen Darstellung und Auswertung des aktuellen Spektrums. Eine gestartete Messung laeuft waehrend der Auswertung weiter. Nach Verlassen des Auswerteprogramms wird in das Messprogramm zurueckgekehrt. Ueblicherweise kann das Startup-Verhalten der Auswerteprogramme konfiguriert werden (^Z -> Set configuration -> Startup mode). IIC verwendet standardmaessig das Programm IAC als Auswerteprogramm. Unter "Set Configuration" kann ein anderes Auswerteprogramm konfiguriert werden. 3.1.5 Delete spectrum --------------------- Ein existierendes Spektrum wird geloescht (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 Moeglichkeit zur Korrektur. Jedoch nur fuer die experimentbeschreibenden und nicht fuer die messungsrelevanten (z.B. Spektrumslaenge) Header-Daten. 3.1.8 Execute shell command --------------------------- Einige der VxWorks-Shell-Kommandos (cd, ls, pwd, whoami) koennen ausgefuehrt werden. 3.1.9 Set configuration ----------------------- Fuehrt zum IIC Konfigurations-Menue. (*Note IIC Konfigurations-Menue::.) 3.1.10 Help ----------- Bringt diese Anleitung ueber das menueorientierte GNU-INFO-Programm auf den Bildschirm. INFO laeuft dabei auf einem Server (z.Z. Servix). 3.2 IIC Start-Menue =================== 3.2.1 Return ------------ Rueckkehr zum Top-Menue. 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 zunaechst jedoch noch leer. Fuer ein bereits existierendes Spektrum erfolgt eine Fehlermeldung (Status old). Fuer den Start einer Messung muessen die zugehoerigen Parameter eingegeben werden. (*Note Experiment-Parameter-Eingabe::.) (*Note Funktionen bei laufendem Experiment::.) 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. Fuer ein noch nicht existierendes Spektrum erfolgt eine Fehlermeldung (Status new). Fuer den Restart der Messung kann nur ein Teil der zugehoerigen Parameter geaendert werden. (*Note Experiment-Parameter-Eingabe::.) (*Note Funktionen bei laufendem Experiment::.) 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 waehrend der Messung koennen die Daten mit 'Save spectrum' zum Host-Rechner gerettet werden. Die Messdaten koennen waehrend des TEST RUNs im Speicher (nicht auf der Platte) geloescht werden mittels einer Funktion im Display-Programm (Analyse spectrum). Fuer den Start der Messung muessen die zugehoerigen Parameter eingegeben werden. (*Note Experiment-Parameter-Eingabe::.) (*Note Funktionen bei laufendem Experiment::.) 3.2.5 Print hardware info ------------------------- Druckt wahlweise den Hardware-Status oder Status und Daten, so wie sie vom Experiment uebertragen werden, direkt auf dem Bildschirm aus. Diese Funktion dient Diagnosezwecken (z.B. Ermittelung der Datenkennung). 3.3 Experiment-Parameter-Eingabe ================================ Fuer den Start einer Messung muessen die zugehoerigen Parameter eingegeben werden. Einige der Parameterangaben sind notwendig fuer die Durchfuehrung der Messung, andere haben nur beschreibende Funktion. Fuer den Restart der Messung kann nur ein Teil der zugehoerigen Parameter geaendert werden. *Title* Zur Beschreibung der Messung kann eine Titelzeile eingegeben werden. *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, waehrend 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 anschliessend mit 'Stop Experiment' noch gestoppt werden. *Experimentparameter* Zur Beschreibung des Experimentes koennen noch eine Reihe weiterer Parameter eingegeben werden, die fuer die Auswertung benoetigt werden, nicht jedoch fuer 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 uebertragen (*Note Archivierung der Daten::.). Im Modus "Test Run" wird allerdings zuerst abgefragt, ob die Daten gerettet werden sollen, Default ist "no". Treten bei der Datenuebertragung Probleme auf, so erfolgt eine Fehlermeldung. Die Daten bleiben erhalten und der Stop kann wiederholt werden. 3.4.2 Save spectrum ------------------- Waehrend der laufenden Messung kann das Spektrum zum Host-Rechner gerettet werden. Auf einem Unix-Host wird dabei ein bereits existierendes Spektrum gleichen Namens ueberschrieben. Ebenso wird ein auf diese Weise gerettetes Spektrum am Ende bei einem "Stop experiment" wieder ueberschrieben (nicht im Modus "Test Run"). Soll es erhalten bleiben, so muss es zuvor umbenannt werden. 3.4.3 Show header ----------------- *Note Show header::. 3.4.4 Analyse spectrum ---------------------- *Note Analyse spectrum::. 3.4.5 Detach IIC ---------------- Hiermit kann das Messprogramm verlassen werden, ohne dass die Messung unterbrochen wird. Die Kontrolle ueber das Messprogramm gewinnt man zurueck durch einen erneuten Start. *Achtung:* es existiert zur Zeit keine Sicherung gegen ein weiteres Starten eines anderen Messprogrammes, das die laufende Messung stoeren koennte! 3.5 IIC Konfigurations-Menue ============================ Unter diesem Konfigurations-Menue erfolgen alle notwendigen Anpassungen des Programmes. Beim allerersten Start des Messprogrammes wird dieser Menuepunkt stets automatisch aufgerufen. Danach sollte er nur noch bei Konfigurationsaenderungen benutzt werden. 3.5.1 Return ------------ Rueckkehr zum Top-Menue. 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 ausfuehrlichere Meldungen ausgegeben. *Delay messages* Gelegentlich wird eine vorausgehende von einer nachfolgenden Meldung so rasch ueberschrieben, dass sie nicht gelesen weren kann. Hier kann fuer Meldungen eine Mindestverweilzeit (in Sek.) auf dem Bildschirm angegeben werden. Dies verzoegert natuerlich die Bedienung des Programmes und sollte deshalb nur fuer Testzwecke eingeschaltet werden. *Check task stack* Unter VxWorks wird der Stack einer Task aus Zeitgruenden nicht auf Ueberlauf geprueft. Ein Ueberlauf fuehrt in der Regel jedoch zur Zerstoerung der Task und auch des Systems. Eine "1" fuehrt beim Stop der Task zu einer Pruefung des Stack. Im Allgemeinen nur bei Problemen notwendig. 3.5.3 Background program ------------------------ Unter dem Menuepunkt "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 waehlbarer Task-Name fuer 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 koennen. 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 fuer das Auswerteprogramm angegeben werden, die direkt nach dem Start ausgegeben wird. * Im dritten Argument kann ein File-Name fuer den Parameter-File des Auswerteprogrammes angegeben werden, in dem dieses sich alle wesentlichen Daten aufhebt, um sie bei einem Restart wieder verwenden zu koennen. Fuer verschiedene Auswerteprogramme muessen diese Namen unbedingt verschieden sein. Fuer das gleiche Auswerteprogramm bei verschiedenen Messprogrammen koennen 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 fuenften 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 ausgewaehlt. *Task priority: 100* Prioritaet unter der die Auswertung laeuft. 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 Zeitgruenden nicht dynamisch verwaltet, sondern beim Start fest zugeteilt. Es muss ausreichend gross gewaehlt werden, da es waehrend der Laufzeit nicht ueberwacht wird und ein Ueberlauf zur Zerstoerung von Task und System fuehrt. Fuer die Standardauswerteprogramme ist 5000 ausreichend, ansonsten sollte man eher einen Werte von 20000 nehmen. *Unload: 1* Eine "1" bedeutet, dass das Auswerteprogramm nach der Rueckkehr ins Messprogramm wieder aus dem Speicher geloescht wird. Dies sollte die Regel sein. *Stack check: 0* Unter VxWorks wird das Stack einer Task aus Zeitgruenden nicht auf Ueberlauf geprueft. Ein Ueberlauf fuehrt in der Regel jedoch zur Zerstoerung der Task und auch des Systems. Eine "1" fuehrt beim Stop der Task zu einer Pruefung 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 hierfuer mehrere Moeglichkeiten: * Direkter Anschluss an das Prozessor-Board (MVME162, MVME172) * Anschluss an die Interface-Boards VIPC610 oder IPC01. Dabei wird fuer das Data-Routing ueblicherweise 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 hierfuer mehrere Moeglichkeiten: * Direkter Anschluss an das Prozessor-Board (MVME162, MVME172) * Anschluss an die Interface-Boards VIPC610 oder IPC01. Dabei wird fuer das Control-Routing ueblicherweise der IP-Slot A/B verwendet (oberer frontseitiger Stecker). * Anschluss an ein anderes Interface-Board. Dessen VME-Bus-Adresse und die Interrupt_Prioritaet muessen 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 fuer Pfadangaben richtet sich nach dem Host-Rechner. Diese Netzwerkzugriffe erfolgen ueber RSH oder FTP (im Boot-File festgelegt). Fuer RSH muss der File $HOME/.rhosts die entsprechende Freigabe enthalten. Fuer den Transfer grosser Datenmengen, insbesondere bei "List-Mode" Messungen, sind RSH und FTP jedoch nicht geeignet. In solchen Faellen sollte der Datentransfer ueber 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 muessen die benoetigten NFS-Verbindungen eingetragen werden. Um das Ganze uebersichtlich zu halten, werden die VME-Systeme in der Regel zur Zeit folgendermassen betrieben: * Die Host-Rechner sind Unix-Rechner (Servix, Atomix). * Zu jedem Experiment "xxxx" gibt es auf dem Host-Rechner einen gleichnamigen Account. Meistens traegt 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 fuer die Mess- und Auswerteprogramme $HOME/ex_home/ex_param: Parametersaetze der Mess- und Auswerteprogramme $HOME/ex_home/ex_prog: Mess- und Auswerteprogramme $HOME/ex_home/vxw: VxWorks Betriebssysteme fuer die VME-Rechner * Das Booten und die nachfolgenden Nicht-NFS-Zugriffe erfolgen ueber 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 Verfuegung, die auf dem Servix zu folgenden Directories fuehren: home:spektr.spe $HOME/spektr.spe data:spektr.spe $HOME/ex_home/ex_data/spektr.spe Weitere NFS-Laufwerke koennen im Boot-Script-File freigegeben bzw. neu definiert werden. Die existierenden NFS-Laufwerke koennen Sie sich mit dem SHOW-Programm unter "Network(NFS) devices" anzeigen lassen. * Zur Umgehung eines aktuellen VxWorks-Systemfehlers wird nach der Laufwerksangabe './' eingefuegt: 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/par.vxw auf, um sie bei einem nachfolgenden Start als Default-Werte anbieten zu koennen. 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 ueber die augenblicklichen Aktivitaeten des Programmes.