# Anleitung zum Messprogramm ESS # 1 Anleitungs-Formate 2 Funktion von ESS 2.1 Überblick 2.2 Experimentsteuerung und Messdatenerfassung 2.3 Start der Messung 2.4 Ablauf der Messung 2.5 Stop der Messung 2.6 Geräteeinstellungen 2.7 Messdatenformat 3 Bedienung von ESS 3.1 ESS Top-Menü 3.1.1 Exit ESS 3.1.2 Start experiment 3.1.3 Show header 3.1.4 Analyse spectrum 3.1.5 Delete spectrum 3.1.6 Convert spectrum to ASCII 3.1.7 Edit header of spectrum 3.1.8 Execute shell command 3.1.9 Set configuration 3.1.10 Help 3.2 ESS Start-Menü 3.2.1 Return 3.2.2 Create new spectrum 3.2.3 Continue old spectrum 3.2.4 Test run 3.2.5 Print hardware info 3.3 Experiment-Parameter-Eingabe 3.4 Funktionen bei laufendem Experiment 3.4.1 Stop experiment 3.4.2 Save spectrum 3.4.3 Show header 3.4.4 Analyse spectrum 3.4.5 Detach ESS 3.5 ESS Konfigurations-Menü 3.5.1 Return 3.5.2 General parameters 3.5.3 Background program 3.5.4 Data Routing hardware 3.5.5 Control Routing hardware 3.5.6 Data identification bits 3.5.7 Control Routing configuration 3.5.8 Electron current converter 3.5.9 Ion current converter 3.5.10 Configuration of e-Gun 4 Archivierung der Daten 5 Statusanzeigen auf dem Bildschirm 6 Anhang 6.1 Scan Strategien 6.1.1 Alle Scans 6.1.2 Short Scan 6.1.3 Double Scan 6.1.4 Long Scan 6.2 ESW/ESS Hardware 6.3 ESW/ESS Oldies # Anleitung zum Messprogramm ESS # ********************************** *(Elektronen-Stoß-WQ-Scan-Messungen mit Multi-Mode-Kanone)* 29.Apr.1992 K. Huber, Strahlenzentrum Univ. Gießen Version 18.Sep.2020 1 Anleitungs-Formate ******************** Diese Anleitung zum ESS-Messprogramm steht in verschiedenen Formaten zur Verfügung. Die entsprechenden Files finden Sie auf dem Host-Rechner (z.Z. Ionix) unter /usr/exp/ex_help oder auf Ihrem Experiment-Account unter $HOME/ex_home/ex_help: ess.txt Text-Format, kann z.B. mit ‘a2ps’ in handlichem Format gedruckt werden. Es fehlen jedoch Bilder und Grafiken. ess.dvi DVI-Format, kann z.B. mit ‘dvips’ auf einem Postscript-Drucker gedruckt werden oder mit ‘xdvi’ auf einem X-Windows Bildschirm dargestellt werden. ess.html HTML-Format, kann mit jedem HTML-Browser gelesen werden. ess.info INFO-Format, kann mit dem ‘GNU-Info-Browser’ (‘info -f ess.info’) und ‘GNU-emacs’ gelesen werden. Es fehlen jedoch Bilder und Grafiken. So wird der Info-Browser bedient (Start mit Tastenfolge TAB, ENTER): *Note info::. (Zurück mit L, L, ...). ess.pdf PDF-Format, mit dem ‘Acrobat-Reader’ zu lesen. 2 Funktion von ESS ****************** 2.1 Überblick ============= Für das Elektron-Ion-Stoß-Experiment existieren folgende Datenerfassungsprogramme: ESW Elektronen-Stoß WQ Absolutmessungen ESS Elektronen-Stoß WQ Scan-Messungen MASS Elektronen-Stoß WQ Massen-Messungen DRM Dielektronische Rekombinations-Matrix eGUN Test- und Kontrollprogramm für die Multi-Mode-Kanone Sowie die Auswerteprogramme: WQA für ESW-Spektren Das aktuelle ESS Programm dient der Messung von Elektronen-Stoss-Scan-Spektren mit der 3.5 kV Multi-Mode-Elektronenkanone. Es werden fünf Spektren mit der wählbaren Länge von N Kanälen erzeugt, die als Zeilen einer 5*N Matrix angeordnet sind: 1. Ionisationssignal 2. Primärionenstrom 3. Elektronenstrom an der Kathode 4. Messzeit pro Kanal 5. Elektronenstromverluste vor Wechselwirkungszone Die Hard- und Software Voraussetzungen sind: • VME Experiment-Rechner-System • Data-Routing-Einheit • Control-Routing-Einheit • VT240/330 Terminal oder PC mit TeraTerm • VxWorks Betriebssystem • Netzwerkanschluss zu einem Host-Rechner Die maximale Datenrate ist abhängig von der verwendeten CPU: MVME162 ?kHz MVME172 ?kHz 2.2 Experimentsteuerung und Messdatenerfassung ============================================== Die Steuerung des Experimentes erfolgt über acht Interfaces im Control-Routing: 1. Ausgabe der aktuellen Kanalnummer 2. LWL-Interface für die DAC-Steuerung 3. LWL-Interface für die DAC-Steuerung 4. LWL-Interface für die DAC-Steuerung 5. Timer für Pausenzeit 6. Timer für Messzeit 7. Interrupt Eingabekarte 8. Programmierbare Zeitbasis 9. Digitale Eingabekarte Die Anordnung der Interface-Karten im Control-Routing wird durch das ESS Konfigurationsmenü festgelegt. Die Erfassung der Messdaten erfolgt über sechs Interfaces im Data-Routing und zwei 8-fach ADCs im Control-Routing mit denen folgende Daten erfasst werden: 1. Eingabe der aktuellen Kanalnummer im Spektrum 2. Ionisationssignal 3. Primärionenstrom 4. Elektronenstrom an der Kathode 5. Messzeit pro Kanal 6. Experimentüberwachung und Totzeitmessung 7. Neun Plattenströme 2.3 Start der Messung ===================== Die Messung wird gesteuert durch einen internen Experiment-Control-File (ECF), der für jede Messung mit Hilfe der vorgegebenen Parameter neu erstellt wird. Mit dieser Technik ist es möglich mit dem ESS-Programm unterschiedliche Scans durchzuführen. Zur Zeit sind drei Varianten implementiert: 1. Short Scan Beim Short Scan wird die Elektronenenergie ausschließlich mit dem Kepco gefahren und ist deshalb auf einen Bereich von 200eV beschränkt. Dafür kann dieser Bereich sehr schnell durchlaufen werden um Schwankungen des Ionenstroms möglichst herausmitteln zu können. 2. Double Scan Mit dem Double Scan können zwei unterschiedliche Short Scan Bereiche abwechselnd gemessen werden um z.B. zusätzlich zu einer Messung einen Untergrund zu ermitteln. Die Übergänge von einem Bereich zum anderen sind optimiert da dabei die FUG-Spannung angepasst werden muss, was mit zusätzlichem Zeitaufwand verbunden ist. Ferner besteht die Möglichkeit zur Zeitersparnis jeden Bereich mehrfach zu scannen bevor zum nächsten gewechselt wird. 3. Long Scan Der Long Scan erlaubt Scans über den ganzen Energiebereich. Er wird mit der FUG-Spannung durchgeführt wobei zur Beschleunigung ausgenutzt wird, dass das Kepco die verzögerte Reaktion des FUG bis zu 200V ausgleichen kann. Um über den ganzen gescannten Energiebereich eine vergleichbare Statistik zu erhalten, wird die Messzeit der einzelnen Schritte an die Energieabhängigkeit des Elektronenstroms angepasst. Nach der Eingabe der für den Scan notwendigen Parameter wird ein vollständiger Scan-Durchlauf in Echtzeit ohne Kanonenspannungen simuliert, um die Durchführbarkeit des Scans zu überprüfen. Anschließend wird ein ausführliches Protokoll auf dem Bildschirm ausgegeben, das darüber informiert was an Scan-Dauer, Wirkungsgrad usw. zu erwarten ist. Für den Betrieb der Multi-Mode-Kanone lassen sich 16 Modes definieren. Zu Beginn der Messung wird die Kanone auf den passenden Mode und die gewünschte Energie eingestellt. Um dabei unzulässige Betriebszustände zu vermeiden, wird zuvor der aktuelle Zustand der Kanone erfragt und anschließend der einzustellende. Danach wird folgendermaßen verfahren: • Wenn der alte Zustand bekannt ist und für den neuen Zustand der Kanonen-Modus nicht geändert werden muss, kann der neue Zustand direkt, kontrolliert angefahren werden. • Wenn der alte Zustand bekannt ist und der neue Zustand einen neuen Kanonen-Modus erfordert, dann wird die Kanone zuerst kontrolliert runtergefahren und anschließend im neuen Modus kontrolliert in den neuen Zustand gefahren. • Wenn allerding der alte Zustand nicht bekannt ist, dann werden alle Spannungen der Kanone in *einem* Schritt auf null gesetzt bevor der neue Zustand angefahren wird. Kontrolliertes Fahren der Kanone bedeutet: • Das Fahren der Kanone wird mit den beiden Timern im Control-Routing kontrolliert. Die in dem aktuellen Modus festgelegte maximale Geschwindigkeit für Energieänderungen (Ramp Speed) wird dabei beachtet. • Der benötigte Energieschritt wird gemäß der maximalen Energieschrittweite (Step Size) in Teilschritten durchgeführt. • Nach jedem Teilschritt werden die Plattenströme kontrolliert: • Bei Überschreitung eines Warn-Limits wird eine Warnung auf dem Bildschirm ausgegeben und eine zusätzliche Pause von 100ms eingefügt. • Bei Überschreitung eines Stop-Limits werden alle Spannungen der Kanone in einem Schritt auf null gesetzt und der Start wird mit Fehlermeldung abgebrochen. Während der Einstellung der Kanone werden Spannungen und Ströme im Sekundentakt auf dem Bildschirm ausgegeben. Nach erreichen der Startenergie erfolgt je nach Konfiguration des aktuellen Modes direkt der Start der Messung oder es wird eine Eingabe des Forschers erwartet. 2.4 Ablauf der Messung ====================== Der Ablauf des Experimentes besteht aus einer Serie von Messintervallen, wobei für jedes Messintervall die Kanalnummer, die Mess- und Pausenzeit, die Elektronenenergie usw. vorgegeben werden durch den Experiment-Control-File. Die zur Einstellung einer Elektronenenergie benötigten acht Spannungswerte werden mittels LWL über DACs eingestellt. Da dieser Einstellvorgang eine gewisse Zeit benötigt, werden die DAC’s als erste über das Control-Routing geladen. Als nächstes wird die aktuelle Kanalnummer zum Positions-Interface im Control-Routing ausgegeben. Anschliessend wird der Messzeit-Timer geladen und zum Schluss wird der Pausen-Timer geladen und gestartet. Mit dem Pausen-Timer wird das Einschwingen der Hochspannunggeräte abgewartet. Das Ende der Pause startet unmittelbar die Messzeit. Gesteuert durch einen GATE-Impuls akkumulieren die U/D-Zähler im Data-Routing während der Messzeit die ankommenden Zählimpulse. Die Messzeit wird ermittelt durch Zählen eines Zeittaktes, der durch eine programmierbare Zeitbasis im Control-Routing erzeugt wird. Dem Ionisationssignal werden mit Hilfe einer programmierbaren Totzeit Nachimpulse des Channeltrons abgeschnitten. Nach Ablauf der Messzeit wird von der Interrupt-Karte ein Read-Impuls zum Übertragen der Kanalnummer, und der vier U/D-Zähler erzeugt, sowie ein Reset-Signal zum Löschen der Zähler. Mit dem Read-Signal werden Kanalnummer und Zählerinhalte in je ein Senderegister übertragen, so dass die Interfaces anschliessend sofort wieder frei sind, während die Übertragung der Daten einige Zeit in Anspruch nehmen kann. Die Kanalnummer wird mit Vorrang zur Übertragung angemeldet. Damit wird sichergestellt, dass sie zuerst übertragen wird, um eine Synchronisation der Software zu ermöglichen. Die Daten werden vom Messprogramm erst dann verarbeitet, wenn ein vollständiger Datensatz von allen fünf Datenworten eines Messintervalles übertragen ist. Dann werden die übertragenen Werte der vier U/D-Zähler 1,2,3,4 zu dem jeweils aktuellen Kanal der Spektren 1,2,3,4 addiert. Fehler bei der Übertragung werden erkannt und registriert (sequence errors). Ein unvollständiger Datensatz wird verworfen. Wird ein Zähler mehrfach übertragen, so werden die zuviel übertragenen Daten verworfen, und nur das erste Datum wird verarbeitet, falls ein vollständiger Datensatz zustande kommt. Jeder solcher Fehler erhöht den ’Sequence error counter’ um eins. Wird mit kurzen Messintervallen (<0.1ms) gearbeitet, so besteht die Gefahr, dass die anfallenden Messdaten nicht schnell genug verarbeitet werden können, und Datenverluste auftreten, die die Messung unbrauchbar machen. Um dies zu vermeiden, werden die Busy-Meldungen der U/D-Zähler auf einer Sammelleitung des Data-Routing der ESS-Karte zugeführt (das POS-Interface braucht dabei nicht berücksichtigt zu werden, da es mit Vorrang behandelt wird). Von der ESS-Karte wird das gemeinsame Busy-Signal der Interrupt-Karte im Control-Routing zugeführt, um dort ein erneutes Read solange zurück zu halten, wie noch eine der Zählerkarten Busy meldet. Zur Überwachung kann das Read-Signal der ESS-Karte zugeführt werden. Trifft es dort auf eine Busy-Meldung der Zähler, so wird die Übertragung eines entsprechenden Fehlerwortes zum Messprogramm veranlasst, das mit dem Fehler ’Buffer overrun’ reagiert. Die ESS-Karte setzt in diesem Falle die ’Overrun LED’. Die ESS-Karte führt darüberhinaus die Lifetime-Messung durch unter Berücksichtigung der gesamten Totzeit der Zählerkarten. Die Messzeit je Kanal wird ermittelt durch Zählen eines Zeittaktes, der durch eine programmierbare Zeitbasis im Control-Routing erzeugt wird. Für jedes Messintervall werden alle acht Plattenströme mittels ADCs im Control-Routing gemessen und zum Schutz der Elektronenkanone mit den Warn- und Stopgrenzen verglichen. Die Elektronenstromverluste auf den Platten vor der Wechselwirkungszone (1, 2, 3, WWZ1) werden addiert und mit Hilfe der verschiedenen Eichungen (Kathodenstrommessung, ADC) werden die Spannungswerte der ADCs umgerechnet in Einheiten des Elektronenstroms an der Kathode und im Spektrum 5 gesammelt. Am Ende jeder Messzeit wird ein Interrupt erzeugt, der der Software mitteilt, dass der nächste Zyklus mit der Ausgabe des nächsten Steuerparametersatzes erfolgen kann. 2.5 Stop der Messung ==================== Wenn die Messung gestoppt wird muss noch der aktuelle Scan-Durchlauf beendet werden. Ein vorzeitiger Abbruch ist möglich, führt allerdings zu einer Stufe in den Spektren. Da das Messzeitspektrum gleichermaßen davon betroffen ist, sollte eine Korrektur möglich sein. 2.6 Geräteeinstellungen ======================= *Control-Routing-Einstellungen* Zur Unterdrückung der Nachimpulse des Channeltrons ist eine paralysierende Totzeit nachgeschaltet. Die Totzeitkarte ist über das Control-Routing programmierbar, wird zur Zeit jedoch mit einer festen Einstellung über Steckerprogrammierung eingesetzt. Die Totzeit berechnet sich für 20MHz Quarzfrequenz (Standard) nach folgender Formel (siehe: Doku. Hardware, progr. Totzeit): Totzeit = (N + 3.5)*50ns + 11ns +-25ns N: progr. Zeittakte Ein Wert von N=96 –> T=4.975us +-25ns hat sich bewährt (Alex B.). *Data-Routing-Einstellungen* Die Kanalnummer muss als erste übertragen werden, um ein gesichertes Erkennen eines Datenpaketes (5 Data-Routing Werte) zu ermöglichen. Deshalb wird diese Karte im Vorrangmodus betrieben. Die vier U/D-Zähler werden im Kopplungsmodus K2 betrieben. Das zu diesem Betrieb notwendige Bus-Signal liefert die ESS-Karte. *Messbereichseinstellung (Schrank 4)* Das Modul für die Messbereichseinstellung hat vier gleiche Ausgänge, über die sowohl die Messbereichseinstellung für die Elektronenstrommessung als auch für die Ionenstrommessung zur Verfügung stehen. Für beide muss die Polarität der Kodierung (serielles Hofmann-Protokoll) mit einem Schalter auf der Rückseite eingestellt werden: - für Elektronen + für Ionen Die Einstellung wird auf der Frontseite angezeigt. *Digitale Stromanzeige (Schrank 2 und 4)* In Schrank 4 gibt es eine für Elektronen und Ionen gemeinsame digitale Anzeige, bei der die 5...-Bereiche für Elektronen jedoch falsch anzeigen. Deshalb ist zur Zeit ein Zähler (Schrank 2) zur Elektronenstrommessung in Einsatz. Da dieser jedoch nicht über die Messbereichseinstellung gesteuert werden kann, müssen die Zählerwerte [kHz] auf Ströme [mA] umgerechnet werden: Strom [mA] = Messbereich [mA] / 500 [kHz] * Anzeige [kHz] Messbereich Faktor 1500 3.0 500 1.0 150 0.3 50 0.1 15 0.03 2.7 Messdatenformat =================== *Struktur der ESS-Daten-Files* Die ESS-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/.../ess.conf und ess.h Zugang hat. Anschließend folgen die 5 Spektren in der Reihenfolge: 1. Ionisationssignal 2. Primärionenstrom 3. Elektronenstrom 4. Messzeit pro Kanal 5. Elektronenstromverluste vor der Wechselwirkungszone Die Länge der Spektren ist wählbar. Die Kanäle der Spektren sind als INTEGER*4 (BYTES = 4) deklariert, d.h. jeder Kanal kann ca. 4*10^9 Ereignisse aufnehmen. --- | | Header, 512 Bytes | --- | | Ionisationssignal, (Anz. Kanäle * 4) Bytes | --- | | Primärionenstrom, (Anz. Kanäle * 4) Bytes | --- | | Elektronenstrom, (Anz. Kanäle * 4) Bytes | --- | | Messzeit pro Kanal, (Anz. Kanäle * 4) Bytes | --- | | Elektronenstromverluste, (Anz. Kanäle * 4) Bytes | --- *Struktur der Header Daten:* #define lIDHDR 8 #define lHDLEN 1 #define lEXPMNT 6 #define lIDPRG 8 #define lSTDAT 9 #define lSTTIM 8 #define lSPDAT 9 #define lSPTIM 8 #define lSPENAM 8 #define lSPTYPE 4 #define lROWS 6 #define lCOLS 6 #define lBYTES 1 #define lHDFREE 4 #define lRESRV 38 #define lLTXT 4 #define lTEXT 80 Plattformabhängige Definitionen: UINT2: 2 Bytes "unsigned int" UINT4: 4 Bytes "unsigned int" typedef union { struct { struct { char idhdr[lIDHDR]; /* Identification of header: "STRZ-VXW" */ char hdlen[lHDLEN]; /* Length of header: "1" */ char expmnt[lEXPMNT]; /* Experiment */ char idprg[lIDPRG]; /* ID of generating Program: "ESS " */ char stdat[lSTDAT]; /* Date of start */ char sttim[lSTTIM]; /* Time of start */ char spdat[lSPDAT]; /* Date of stop */ char sptim[lSPTIM]; /* Time of stop */ char spenam[lSPENAM]; /* Name of spectrum */ char sptype[lSPTYPE]; /* Type of spectrum: "MCA2" */ char rows[lROWS]; /* Number of rows: " 5" */ char cols[lCOLS]; /* Channels/row: " " */ 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 ESS_type { UINT2 status; /* Status of spectrum */ UINT4 rltcnt; /* Realtime */ UINT4 lftcnt; /* Lifetime */ UINT4 datcnt; /* Processed positions */ UINT4 outcnt; /* Positions out of range */ UINT4 ct1cnt; /* Counter 1 */ UINT4 ct2cnt; /* Counter 2 */ UINT4 ct3cnt; /* Counter 3 */ UINT4 ct4cnt; /* Counter 4 */ UINT4 seqcnt; /* Sequence errors */ UINT4 bovcnt; /* Buffer overruns */ UINT4 fulcnt; /* Fifo full counter */ UINT4 rejcnt; /* Rejected data */ UINT4 errcnt; /* Error counter */ UINT2 slen; /* Length of single spectrum */ REAL4 expar[15]; /* Extended ESS parameters */ REAL4 gunpar[10]; /* Gun parameters */ REAL4 deadtm; /* Deadtime of event counter [10^-6s] */ REAL4 dtmerr; /* Error deadtime of event counter [10^-6s] */ UINT4 runtim; /* Realtime to run experiment [s] */ /* ECF parameter */ char ecfid[2]; /* ECF ID: S, D, L */ UINT4 steps[2]; /* Number of energy steps */ REAL8 stpsiz[2]; /* Energy step size [eV] */ REAL8 mine[2]; /* Min. scan energy [eV] */ REAL8 maxe[2]; /* Max. scan energy [eV] */ REAL8 ontime[2]; /* Step time [ms] */ REAL8 offtime[2]; /* Pause time [ms] */ } spcdat_ESS; /* Special data of ESS type header */ } hdata; /* Header data */ struct { char h512[512]; /* Fill 512 bytes block */ } htotal; /* Total header */ } HEADER; 3 Bedienung von ESS ******************* 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 ESS Top-Menü ================ 3.1.1 Exit ESS -------------- Verlassen des Programmes. 3.1.2 Start experiment ---------------------- Führt zum ESS Start-Menü. (*Note ESS Start-Menü::.) 3.1.3 Show header ----------------- Zeigt die wichtigsten Daten des Headers, der jedem Spektrum beigefügt ist: • *Experiment; Program; Spectrum* Name des Experimentes; Name des Programmes; Name des Spektrums. • *Title* Titelzeile zur Beschreibung des Experimentes (z.B. Gasdruck im WW-Raum). • *Start; Stop* Startzeit und -datum; Stopzeit und -datum. • *Length* Zeilen * Spalten des Spektrums. • *Timer* Restzeit des Timers für die Messzeitvorgabe. • *Realtime* Die Zeit in Sekunden, während der das Experiment gestartet war. Bei Stop durch Messzeitvorwahl ist sie exakt, bei manuellem Stop kann sie bis zu 1s zu klein sein. • *Lifetime* Die um die Totzeit korrigierte Zeit (Realtime - Deadtime), die zur Datenaufnahme zur Verfügung stand. Es wird nur die Lifetime des Positionszählers registriert. • *Positions received* Anzahl der empfangenen Positionsdaten. • *Positions out of range* Anzahl der Positionsdaten, die außerhalb der Spektrengrenzen lagen und deshalb nicht verarbeitet wurden. • *Counter 1(2,3,4) received* Anzahl der von dem Zähler 1(2,3,4) empfangenen Daten. • *Data sequence errors* Anzahl der Fälle, in denen die erwartete Reihenfolge der ankommenden Daten (erst Kanalnummer dann 4 Zählerdaten) durchbrochen wurde. • *Rejected data* Anzahl der Daten, die auf Grund ihrer Datenkennung ausgesondert wurden, weil sie mit dem Experiment in keinem Zusammenhang stehen. Entweder wurde beim Start die Datenkennung falsch angegeben, oder es ist eine zusätzliche Datenquelle unbeabsichtigt mitgelaufen. • *Fifo overflows* Anzahl der Fälle, in denen die Bearbeitung der Daten nicht schritthalten konnte und Datenverluste auftraten. • *Data errors* Anzahl der Daten, die durch Hardwarefehler oder -störungen verstümmelt übertragen wurden. • *Scan Energy* Dies ist die zur Zeit der Ausgabe auf dem Bildschirm gerade aktuelle Elektronenenergie. • *Loop Time* Die gesamte Zeit für jeden Durchlauf wird gemessen und angezeigt. • *Duty Cycle* Das Verhältnis von Messzeit zur Gesamtzeit eines Durchlaufs wird als "Wirkungsgrad" angezeigt. • *I0 ... I8* Anzeige der neun Plattenströme, die nach jedem Spannungsschritt gemessen werden. • *U0 ... U7* Anzeige der acht eingestellten Plattenspannungen. Diese Ausgaben werden im Sekundentakt wiederholt. Mit der Return-Taste kommt man zur nächsten Seite des Headers: • *Experimentbeschreibende Parameter* • *Parameter der Experiment-Steuerung* • *Messzeitbasis und Strom-Konverter* 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). ESS verwendet standardmäßig das Programm PEAK als Auswerteprogramm. Unter "Set Configuration" kann ein anderes Auswerteprogramm konfiguriert werden. 3.1.5 Delete spectrum --------------------- Ein existierendes Spektrum wird gelöscht (im Arbeitsspeicher und auf dem Host-Rechner), die Daten sind verloren. 3.1.6 Convert spectrum to ASCII ------------------------------- Das Spektrum wird mit oder ohne Header und mit oder ohne Kanalnummern in ASCII Form auf einen File geschrieben. 3.1.7 Edit header of spectrum ----------------------------- Falls die Eingabe der Header-Daten fehlerhaft war, besteht hier die Möglichkeit zur Korrektur. Jedoch nur für die experimentbeschreibenden und nicht für die messungsrelevanten (z.B. Spektrumslänge) Header-Daten. 3.1.8 Execute shell command --------------------------- Einige der VxWorks-Shell-Kommandos (cd, ls, pwd, whoami) können ausgeführt werden. 3.1.9 Set configuration ----------------------- Führt zum ESS Konfigurations-Menü. (*Note ESS Konfigurations-Menü::.) 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. Ionix). Wenn INFO mit ’Q’ oder ’q’ normal beendet wird, dann erfolgt die direkte Rückkehr zum Messprogramm. Wird INFO jedoch mit ’^C’ abgebrochen, so bleibt das Login auf dem INFO-Server erhalten und muss mit ’exit’ oder ’logout’ beendet werden! 3.2 ESS 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. (*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. 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. (*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 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. (*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 ü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 sind für die Auswertung relevant oder haben nur beschreibende Funktion. Für den Restart der Messung kann nur ein Teil der zugehörigen Parameter geändert werden. *Für die Auswertung relevante Parameter* • *Title* • *Experimentbeschreibende Parameter* • *Deadtime of event counter* Zur Unterdrückung der Nachimpulse des Channeltrons ist eine paralysierende Totzeit nachgeschaltet, deren Wert für die Auswertung relevant ist. Zur Zeit ist sie fest auf 4.975µs +-25ns eingestellt, die Alex B. ermittelt hat (*Note Geräteeinstellungen::.). • *Konvertereinstellungen* Die Konvertereinstellungen für die Elektronen- und Ionenstrommessung werden ausgelesen und angezeigt. Sollte eine Änderung der Konvertereinstellungen während der Parametereingabe vorgenommen werden, so müssen sie anschließend mit dem Menüpunkt <*Read Converter*> aktualisiert werden. *Select Scan Mode* Drei verschiedene Scans stehen zur Auswahl: 1. *Short Scan* Beim Short Scan wird die Elektronenenergie ausschließlich mit dem Kepco gefahren und ist deshalb auf einen Bereich von 200eV beschränkt. Dafür kann dieser Bereich sehr schnell durchlaufen werden um Schwankungen des Ionenstroms möglichst herausmitteln zu können. 2. *Double Scan* Mit dem Double Scan können zwei unterschiedliche Short Scan Bereiche abwechselnd gemessen werden um z.B. zusätzlich zu einer Messung einen Untergrund zu ermitteln. Die Übergänge von einem Bereich zum anderen sind optimiert da dabei die FUG-Spannung angepasst werden muss, was mit zusätzlichem Zeitaufwand verbunden ist. Ferner besteht die Möglichkeit zur Zeitersparnis jeden Bereich mehrfach zu scannen bevor zum nächsten gewechselt wird. 3. *Long Scan* Der Long Scan erlaubt Scans über den ganzen Energiebereich. Er wird mit der FUG-Spannung durchgeführt wobei zur Beschleunigung ausgenutzt wird, dass das Kepco die verzögerte Reaktion des FUG bis zu 100V ausgleichen kann. Um über den ganzen gescannten Energiebereich eine vergleichbare Statistik zu erhalten, wird die Messzeit der einzelnen Schritte an die Energieabhn̈gigkeit des Elektronenstroms angepasst. *Select eGun Mode* Im nächsten Schritt stehen 16 Modes zur Auswahl, in denen die Elektronenkanone betrieben werden kann. Diese eGun Modes müssen zuvor einmal definiert werden. *Make Experiment Control File for Short/Double/Long Scan* Der Ablauf der Scans wird intern über den Experiment-Control-File (ECF) gesteuert, der für jeden Scan neu erstellt wird. • Gemeinsame Parameter • Min scan energy • Max scan energy • Energy step size • Step time • Pause time (guter Wert: 0.3ms) • Time base spectrum 4 Das Messzeitspektrum zählt die Takte eines programmierbaren Impulsgebers. Dessen 1MHz Basisfrequenz wird in Zweierpotenzen untersetzt. • Double Scan Parameter • Repeats each loop Zur Zeitersparnis kann jeder der beiden Messbereiche mehrfach durchlaufen werden bevor zum nächsten gewechselt wird. • Long Scan Parameter • Step time formula Anpassung der Schrittmesszeiten an die Energieabhn̈gigkeit des Elektronenstroms. Der Perveanz-Parameter, der diese Abhängigkeit beschreibt, wird bei der Definition des eGun Modes angegeben. Nach Eingabe der Parameter wird die Steuerdatei erstellt und anschließend damit eine Simulation durchgeführt und auf dem Bildschirm protokolliert. • Energien und Zeiten werden an das digitale Raster angepasst • Es wird die Gesamtzeit für einen Scan-Durchlauf gemessen und es werden die einzelnen Beiträge bestimmt. • Der "Wirkungsgrad" wird errechnet. • Die Genauigkeit der Daten in Spektrum 4 ist abhängig von der Taktfrequenz und wird errechnet. 3.4 Funktionen bei laufendem Experiment ======================================= 3.4.1 Stop experiment --------------------- Die Messung wird gestoppt und die Daten werden zum Host-Rechner übertragen (*Note 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. 3.4.2 Save spectrum ------------------- *Alte Version:* Während der laufenden Messung kann das Spektrum zum Host-Rechner gerettet werden. Auf einem Unix-Host wird dabei ein bereits existierendes Spektrum gleichen Namens überschrieben. Ebenso wird ein auf diese Weise gerettetes Spektrum am Ende bei einem "Stop experiment" wieder überschrieben (nicht im Modus "Test Run"). Soll es erhalten bleiben, so muss es zuvor umbenannt werden. *Neue Version:* Es existieren mehrere Möglichkeiten um während einer laufenden Messung das Spektrum zum Host-Rechner zu retten: *Number of backups* Es wird höchstens die angegebene Anzahl Backups durchgeführt. *Time between backups [min]* Zeitlicher Abstand zwischen den Backups in Minuten und Zeit bis zum ersten Backup. Im Falle einer Scan-Messung wird nach Ablauf dieser Zeit ggf. noch auf das Ende eines Scan-Durchlaufs gewartet. *Save to master(0)/new(1) file* Das Backup kann sowohl auf den normalen Daten-File (Master) erfolgen, der dann jeweils überschrieben wird, oder es wird jedes Mal ein neuer File angelegt, dessen Name Datum und Uhrzeit enthält. *Stop data while saving(0/1)* bei Messungen von Spektren Wenn die Messung während des Backups weiterläuft könnte das ein ’schiefes’ Spektrum zur Folge haben falls die Zeit für die Datenübertragung nicht deutlich kürzer ist als die Messzeit. *Save at end of scan(0/1)* bei Scan-Messungen Ein Backup mitten in einem Scan-Durchlauf hat eine Stufe in den Messdaten zur Folge. 3.4.3 Show header ----------------- Zeigt die wichtigsten Daten des Headers, der jedem Spektrum beigefügt ist: • *Experiment; Program; Spectrum* Name des Experimentes; Name des Programmes; Name des Spektrums. • *Title* Titelzeile zur Beschreibung des Experimentes (z.B. Gasdruck im WW-Raum). • *Start; Stop* Startzeit und -datum; Stopzeit und -datum. • *Length* Zeilen * Spalten des Spektrums. • *Timer* Restzeit des Timers für die Messzeitvorgabe. • *Realtime* Die Zeit in Sekunden, während der das Experiment gestartet war. Bei Stop durch Messzeitvorwahl ist sie exakt, bei manuellem Stop kann sie bis zu 1s zu klein sein. • *Lifetime* Die um die Totzeit korrigierte Zeit (Realtime - Deadtime), die zur Datenaufnahme zur Verfügung stand. Es wird nur die Lifetime des Positionszählers registriert. • *Positions received* Anzahl der empfangenen Positionsdaten. • *Positions out of range* Anzahl der Positionsdaten, die außerhalb der Spektrengrenzen lagen und deshalb nicht verarbeitet wurden. • *Counter 1(2,3,4) received* Anzahl der von dem Zähler 1(2,3,4) empfangenen Daten. • *Data sequence errors* Anzahl der Fälle, in denen die erwartete Reihenfolge der ankommenden Daten (erst Kanalnummer dann 4 Zählerdaten) durchbrochen wurde. • *Rejected data* Anzahl der Daten, die auf Grund ihrer Datenkennung ausgesondert wurden, weil sie mit dem Experiment in keinem Zusammenhang stehen. Entweder wurde beim Start die Datenkennung falsch angegeben, oder es ist eine zusätzliche Datenquelle unbeabsichtigt mitgelaufen. • *Fifo overflows* Anzahl der Fälle, in denen die Bearbeitung der Daten nicht schritthalten konnte und Datenverluste auftraten. • *Data errors* Anzahl der Daten, die durch Hardwarefehler oder -störungen verstümmelt übertragen wurden. • *Scan Energy* Dies ist die zur Zeit der Ausgabe auf dem Bildschirm gerade aktuelle Elektronenenergie. • *Loop Time* Die gesamte Zeit für jeden Durchlauf wird gemessen und angezeigt. • *Duty Cycle* Das Verhältnis von Messzeit zur Gesamtzeit eines Durchlaufs wird als "Wirkungsgrad" angezeigt. • *I0 ... I8* Anzeige der neun Plattenströme, die nach jedem Spannungsschritt gemessen werden. • *U0 ... U7* Anzeige der acht eingestellten Plattenspannungen. Diese Ausgaben werden im Sekundentakt wiederholt. Mit der Return-Taste kommt man zur nächsten Seite des Headers: • *Experimentbeschreibende Parameter* • *Parameter der Experiment-Steuerung* • *Messzeitbasis und Strom-Konverter* 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.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). ESS verwendet standardmäßig das Programm PEAK als Auswerteprogramm. Unter "Set Configuration" kann ein anderes Auswerteprogramm konfiguriert werden. 3.4.5 Detach ESS ---------------- 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 ESS Konfigurations-Menü =========================== Unter diesem Konfigurations-Menü erfolgen alle notwendigen Anpassungen des Programmes. Beim allerersten Start des Messprogrammes wird dieser Menüpunkt stets automatisch aufgerufen. Danach sollte er nur noch bei Konfigurationsänderungen benutzt werden. 3.5.1 Return ------------ Rückkehr zum Top-Menü. 3.5.2 General parameters ------------------------ *Name of experiment* Dieser Name wird im Header des Spektrums als Experimentname eingetragen. *Print verbose messages* Bei Angabe einer "1" werden ausführlichere Meldungen ausgegeben. *Delay messages* Gelegentlich wird eine vorausgehende von einer nachfolgenden Meldung so rasch überschrieben, dass sie nicht gelesen weren kann. Hier kann für Meldungen eine Mindestverweilzeit (in Sek.) auf dem Bildschirm angegeben werden. Dies verzögert natürlich die Bedienung des Programmes und sollte deshalb nur für Testzwecke eingeschaltet werden. *Check task stack* Unter VxWorks wird der Stack einer Task aus Zeitgründen nicht auf Überlauf geprüft. Ein Überlauf führt in der Regel jedoch zur Zerstörung der Task und auch des Systems. Eine "1" führt beim Stop der Task zu einer Prüfung des Stack. Im Allgemeinen nur bei Problemen notwendig. 3.5.3 Background program ------------------------ Unter dem Menüpunkt "Analyse spectrum" wird ein Auswerteprogramm gestartet, das an dieser Stelle spezifiziert werden muss. Im folgenden Beispiel wird davon ausgegangen, dass das Messprogramm MCA das Auswerteprogramm PEAK verwendet: *File: /usr/exp/ex_prog/peakv.o* Dies ist der Pfad zum Auswerteprogramm PEAK. Unter ~/ex_home/ex_prog/peakv.o findet man es ebenso. *Symbol: _peak* Dies ist das Symbol unter dem PEAK unter VxWorks registriert ist. Es ist in der Regel der Programmname mit einem Unterstrich davor. *Task: tMcaBg* Dies ist ein frei wählbarer Task-Name für das Auswerteprogramm, der sich jedoch von allen bereits vorhandenen Task-Namen unterscheiden muss. *Argmts: ,,"peak_mca.vxw",,’S’* Dies sind die Argumente, die dem Auswerteprogramm mitgegeben werden können. Bei den Standardauswerteprogrammen (PEAK, WQA, IAC, IAP, LAC usw.) haben sie folgende Funktion: • Im ersten Argument kann ein Programmname angegeben werden, mit dem das Auswerteprogramm sich meldet. • Im zweiten Argument kann eine Titelzeile für das Auswerteprogramm angegeben werden, die direkt nach dem Start ausgegeben wird. • Im dritten Argument kann ein File-Name für den Parameter-File des Auswerteprogrammes angegeben werden, in dem dieses sich alle wesentlichen Daten aufhebt, um sie bei einem Restart wieder verwenden zu können. Für verschiedene Auswerteprogramme müssen diese Namen unbedingt verschieden sein. Für das gleiche Auswerteprogramm bei verschiedenen Messprogrammen können sie gleich sein. Um Probleme zu vermeiden, sollte in dem Namen sowohl Mess- als auch Auswerteprogramm erkenntlich sein. • Im vierten Argument kann ein Pfadname zu einem alternativen Help-File angegeben werden. • Im fünften Argument kann der Modus, in dem das Auswerteprogramm gestartet wird, angegeben werden: S Einzelspektrums-Darstellung. M Matrix-Darstellung (Hidden Lines). C Matrix-Darstellung (Contour Plot). I Peak-Integration, Wirkungsquerschnitts-Berechn. usw. X S oder M wird passend ausgewählt. *Task priority: 100* Priorität unter der die Auswertung läuft. 100 ist ein guter Wert! *Task options: 0x00000008* 0x00000008 bedeutet, dass die Task den Floating-Point-Prozessor benutzt. *Task stack: 5000* Unter VxWorks wird das Stack einer Task aus Zeitgründen nicht dynamisch verwaltet, sondern beim Start fest zugeteilt. Es muss ausreichend groß gewählt werden, da es während der Laufzeit nicht überwacht wird und ein Überlauf zur Zerstörung von Task und System führt. Für die Standardauswerteprogramme ist 5000 ausreichend, ansonsten sollte man eher einen Werte von 20000 nehmen. *Unload: 1* Eine "1" bedeutet, dass das Auswerteprogramm nach der Rückkehr ins Messprogramm wieder aus dem Speicher gelöscht wird. Dies sollte die Regel sein. *Stack check: 0* Unter VxWorks wird das Stack einer Task aus Zeitgründen nicht auf Überlauf geprüft. Ein Überlauf führt in der Regel jedoch zur Zerstörung der Task und auch des Systems. Eine "1" führt beim Stop der Task zu einer Prüfung des Stack. Im Allgemeinen nur bei Problemen notwendig. 3.5.4 Data Routing hardware --------------------------- Falls das Data-Routing im Experiment zum Einsatz kommt, muss die Software wissen, auf welchem Wege das Data-Routing ans VME angeschlossen ist. Es gibt hierfür mehrere Möglichkeiten: • Direkter Anschluss an das Prozessor-Board (MVME162, MVME172) • Anschluss an die Interface-Boards VIPC610 oder IPC01. Dabei wird für das Data-Routing üblicherweise der IP-Slot C/D verwendet (unterer frontseitiger Stecker). • Anschluss an ein anderes Interface-Board. Dessen VME-Bus-Adresse muss eingetragen werden. 3.5.5 Control Routing hardware ------------------------------ Falls das Control-Routing im Experiment zum Einsatz kommt, muss die Software wissen, auf welchem Wege das Control-Routing ans VME angeschlossen ist. Es gibt hierfür mehrere Möglichkeiten: • Direkter Anschluss an das Prozessor-Board (MVME162, MVME172) • Anschluss an die Interface-Boards VIPC610 oder IPC01. Dabei wird für das Control-Routing üblicherweise der IP-Slot A/B verwendet (oberer frontseitiger Stecker). • Anschluss an ein anderes Interface-Board. Dessen VME-Bus-Adresse und die Interrupt_Priorität müssen eingetragen werden. 3.5.6 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. 3.5.7 Control Routing configuration ----------------------------------- Über diese Eingabe erfährt das ESW-Programm an welcher Position des Control Routing sich die benötigten Interface-Karten (PSO, ADC,...) befinden. Diese Karten werden von einem Adress-Decoder gesteuert, der unmittelbar links davon steckt. In der höherwertigen Ziffer ist dessen Steckplatz-ID anzugeben, die der Adress-Decoder durch LEDs binär codiert anzeigt. Der Adress-Decoder stellt für die nachfolgenden Interface-Karten acht Registeradressen bereit, wovon jede Interface-Karte eine bestimmte Anzahl benötigt. Die Registeradressen werden in aufsteigender Nummer von links nach rechts an die Karten vergeben (niederwertige Ziffer). Nach der Eingabe wird geprüft ob die Registeradressen ansprechbar sind. 3.5.8 Electron current converter -------------------------------- Der Elektronenstrom wird über einen Spannungs-Frequenz-Konverter in eine Frequenz gewandelt. Der Konverter ist so ausgelegt, dass er bei Vollausschlag auf dem Keithly-Elektrometer 500kHz abgibt. Für die einzelnen Messbereiche kann es jedoch geringfügige Abweichungen geben, die durch eine exakte Messung bestimmt werden müssen. In den Elektronenstrom-Konversions-Faktoren können diese Abweichungen berücksichtigt werden. 3.5.9 Ion current converter --------------------------- Der Ionenstrom wird über einen Spannungs-Frequenz-Konverter in eine Frequenz gewandelt. Der Konverter ist so ausgelegt, dass er bei Vollausschlag auf dem Keithly-Elektrometer 500kHz abgibt. Für die einzelnen Messbereiche kann es jedoch geringfügige Abweichungen geben, die durch eine exakte Messung bestimmt werden müssen. In den Ionenstrom-Konversions-Faktoren können diese Abweichungen berücksichtigt werden. 3.5.10 Configuration of e-Gun ----------------------------- • *Configuration* Unter diesem Menüpunkt können die acht Spannungen und neun Ströme der Kanone mit einer kurzen Beschreibung versehen werden. • *Wiring* Zur Einstellung der Kanone werden acht Spannungswerte ausgegeben. Anzugeben ist, über welchen Weg (PSO -> LWL -> DAC) dies geschieht: * Jede PSO-Karte kann zwei LWL bedienen. * Jeder LWL kann eine DAC-Karte mit zwei DACs bedienen. * Jede DAC-Karte liefert zwei Steuerspannungen mit *dem selben (!!!)* Ground-Potential. Bei der PSO/LWL/DAC/Ux Verkabelung gibt es Freiheiten. Zur Zeit (Okt. 2020) ist die folgende Anordnung verdrahtet: Voltage PSO LWL DAC U0 1 0 0 Cath/P5 raw voltage U1 1 0 1 Cath/P5 fine voltage U2 1 1 0 Cath/P5: FUG 140-3500 U3 2 1 0 P1/P4: FUG 140-2000 U4 2 0 0 P1/P4 voltage U5 3 0 0 P2/P3: TREK 609E-6 U6 3 1 0 P6: FUG 140-6500 U7 3 1 1 Coll.: FUG 4200-3500 • *Limits* Unter diesem Menüpunkt sind für die acht Spannungen und neun Ströme Grenzwerte festzulegen: * Für die Spannungen sind Grenzen anzugeben die nicht unter- bzw. überschritten werden dürfen. * Für die Ströme sind sowohl Warn-Grenzen anzugeben, bei deren Überschreiten Warnungen ausgegeben werden, als auch Stop-Grenzen deren Überschreiten zu einem Abbruch der Messung führen. • *Calibrations* Unter diesem Menüpunkt sind für die acht Spannungen und neun Ströme die Eichungen festzulegen: * Für die Spannungen ist anzugeben welche Werte die HV-Geräte liefern würden bei einer Steuerspannung von 0V bzw. 10V, auch wenn sie tatsächlich mit anderen Werten zu steuern sind. U0 Cath/P5 raw voltage U1 Cath/P5 fine voltage U2 Cath/P5: FUG 140-3500 U3 P1/P4: FUG 140-2000 U4 P1/P4 voltage U5 P2/P3: TREK 609E-6 U6 P6: FUG 140-6500 U7 Coll.: FUG 4200-3500 Für die Spannungen U2 bis U7 ist die Eichung unkritisch und es können die berechneten Werte verwendet werden. Für die Kathodenregelung (U0, U1) jedoch sollten die genauen Werte durch Messung ermittelt werden. Die Durchführung einer solchen Eichung ist im Anhang der egun-Doku ausführlich beschrieben. Ferner existiert für egun eine Programmfunktion um mittels Keithley2000 eine Eichung durchzuführen. * Für die zugehörigen DACs ist anzugeben in welchem Spannungsbereich sie betrieben werden sollen. * Für die Ströme ist anzugeben bei welchen Strömen die kontaktlose Strommessung 0V bzw. 10V liefert. • *Define eGun Modes* Für die Multi-Mode-Kanone können 16 Modes definiert werden, in denen ihre speziellen Eigenschaften festgelegt werden: * Kurze Beschreibung des Modus * Maximal zulässige Elektronenenergie * Maximal zulässiges Tempo bei Energieänderungen * Faktoren zur Berechnung der Plattenspannungen aus der Elektronenenergie 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 (Ionix). • 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 Host. 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 Host 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/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. 6 Anhang ******** 6.1 Scan Strategien =================== 6.1.1 Alle Scans ---------------- *Regelung der Kathodenspannung* Mit DAC0 und DAC1 (18 Bit) wird der Sollwert für die Kathodenspannung vorgegeben. Der Sollwert ergibt sich als die Summe der von DAC0 (grob, Aufl. 15.25885mV, max. 4000V) und von DAC1 (fein, Aufl. 1.525885mV, max. 400V) eingestellten Spannungen, d.h. zu maximal 4400V. Über die Rückkopplung mittels Messwiderstand (1/400) versucht das KEPCO den Sollwert einzustellen. Da das KEPCO aber nur einen Spannungshub von +-100V besitzt muss zunächst das aufgestockte FUG Netzgerät mit DAC2 in die Nähe des Sollwertes gestellt werden. *Regelung der Stangenspannung* (Ziehelektrode) Die Stangenspannung wird auf die gleiche Weise geregelt wie die Kathodenspannung. Da sie jedoch eine geringere Genauigkeit verlangt kommt nur die grobe Auflösung (DAC4, 18Bit) für den Sollwert zum Einsatz. Mit dem Spannungteiler von 1/200 ergibt sich eine Auflösung von 7.629mV bei max. 2000V. *Überlaufen der 16-Bit-Zähler* Um ein Überlaufen der 16-Bit-Zähler für Ströme und Zeittakt bei langen Messzeiten pro Kanal zu vermeiden erfolgt die Datenübertragung alle 50 bzw. 100ms statt nur bei jedem Kanalwechsel. Dadurch werden beliebig lange Messzeiten pro Kanal möglich. *Check und Anpassung der Parameter* MINEX: Eingabe min. Elektronen-Energie MAXEX: Eingabe max. Elektronen-Energie STPSIZX: Eingabe Scan Schrittweite MINE: angepasste min. Elektronen-Energie MAXE: angepasste max. Elektronen-Energie STPSIZ: angepasste Scan Schrittweite Die Elektronen-Energie wird mittels DAC0 grob und DAC1 fein eingestellt, was aber nur innerhalb der Auflösung von DAC1 möglich ist. Deshalb wird MINE durch Rundung von MINEX an die DAC1-Auflösung angepasst. Ebenso wird die Schrittweite STPSIZ an die DAC1-Auflösung angepasst. Aus der Differenz MAXEX-MINEX und der Schrittweite STPSIZ wird die Anzahl der Schritte für den DAC1 berechnet und mit deren Hilfe die angepasste Scan-End-Energie MAXE. 6.1.2 Short Scan ---------------- *Aufgabe* Mit dem Short Scan können schnelle Scans innerhalb der +-100V Grenzen der KEPKO-Netzgeräte durchgeführt werden. Die FUG-Netzgeräte werden dabei nicht nachgeführt. Die FUG-Spannung wird so gewählt, dass der maximale Spannungshub des KEPCO zur Verfügung steht. Der Startpunkt für den Scan wird mit DAC0 und DAC1 eingestellt und ist auf ein LSB von DAC0 Fehler behaftet (15.25885mV). Der Scan wird alleine mit DAC1 durchgeführt und ist deshalb von Schritt zu Schritt 10 mal genauer (1.525885mV), absolut jedoch mit dem DAC0 Fehler belastet. *Ablauf des Scans* U0: Kathode Sollwert grob, Kepco U1: Kathode Sollwert fein, Kepco U2: Kathode FUG U3: P1 FUG U4: P1 Sollwert grob, Kepco U5: P2 Trek U6: P6 FUG U7: Kollektor FUG U 0V MINE Basis MAXE 0-7 |-----------------| Start 0,1,4,5 |<-------| Start 1,4,5 |--------------->| Loop 1,4,5 |<---------------| Loop 0,1,4,5 |------->| Stop 0-7 |<----------------| Stop Nach dem Start wird die Kanone (alle U) kontrolliert auf die Scan-Basis-Energie (MINE+MAXE)/2 hochgefahren. Anschließend werden U0, U1, U4, U5 auf MINE gesetzt, dem Scan Start. Während des Scans werden nur die schnellen Netzgeräte (Kepco, Trek) gefahren, da die FUG beim Hoch- und Runterfahren unterschiedlich schnell sind und sie deshalb im Mittel wegwandern würden. Die Kathodenspannung wird dabei nur über die Feineinstellung U1 gefahren wegen der besseren Auflösung und des kleineren DAC-Fehlers. P6- und Kollektor-Spannung haben als Vorspannung die Kathoden-Spannung U0+U1+U6 bzw. U0+U1+U7 und machen deshalb den Spannungs-Sweep mit. Am Ende der Messung werden U0, U1, U4, U5 auf die Scan-Basis-Energie gesetzt und anschließend die Kanone kontrolliert runter gefahren. Bei einem Abbruch der Messung wird die Kanone von der aktuellen Energie kontrolliert runter gefahren. 6.1.3 Double Scan ----------------- *Aufgabe* Der Double Scan ist eine Erweiterung des Short Scans. Mit ihm kann abwechselnd an zwei Positionen ein Short Scan durchgeführt werden. Der Übergang von einem Scan-Bereich zum nächsten benötigt einige Zeit wenn der Spannungssprung groß ist, da dazu die FUG-Netzgeräte zum Einsatz kommen. Um trotzdem einen ausreichenden Wirkungsgrad zu ermöglichen, können die einzelnen Scan-Schleifen n-fach wiederholt werden bevor der Schritt zum nächsten Scan erfolgt. Die FUG-Spannung wird so gewählt, dass der maximale Spannungshub des KEPCO zur Verfügung steht. Der Startpunkt für den Scan wird mit DAC0 und DAC1 eingestellt und ist auf ein LSB von DAC0 Fehler behaftet (15.25885mV). Der Scan wird alleine mit DAC1 durchgeführt und ist deshalb von Schritt zu Schritt 10 mal genauer (1.525885mV), absolut jedoch mit dem DAC0 Fehler belastet. *Ablauf des Scans* U0: Kathode Sollwert grob, Kepco U1: Kathode Sollwert fein, Kepco U2: Kathode FUG U3: P1 FUG U4: P1 Sollwert grob, Kepco U5: P2 Trek U6: P6 FUG U7: Kollektor FUG U 0V MINE0 Basis0 MAXE0 MINE1 Basis1 MAXE1 0-7 |---------------->| Start 0,1,4,5 |<-------| Loop 1,4,5 |--------------->| n Loops 1,4,5 |<---------------| n Loops 0,1,4,5 |------->| Loop 0-7 |---------------------->| Loop 0,1,4,5 |<-------| Loop 1,4,5 |--------------->| n Loops 1,4,5 |<---------------| n Loops 0,1,4,5 |------->| Loop 0-7 |<-------------------------------| Loop 0-7 |------->| Loop 0-7 |<----------------| Stop Nach dem Start wird die Kanone (alle U) kontrolliert auf die untere Scan-Basis (MINE0+MAXE0)/2 hochgefahren. Anschließend werden U0, U1, U4, U5 auf MINE0 gesetzt, dem Scan Start. Während des Scans werden nur die schnellen Netzgeraete U1, U4, U5 (Kepco, Trek) gefahren, da die FUG beim Hoch- und Runterfahren unterschiedlich schnell sind und sie deshalb im Mittel wegwandern würden. Die Kathodenspannung wird dabei nur über die Feineinstellung U1 gefahren wegen der besseren Auflösung und des kleineren DAC-Fehlers. P6- und Kollektor-Spannung haben als Vorspannung die Kathoden-Spannung U0+U1+U6 bzw. U0+U1+U7 und machen deshalb den Spannungs-Sweep mit. Anschließend wird die Kanone auf die obere Scan-Basis (MINE1+MAXE1)/2 gefahren um dort den Scan durchzuführen. Bei der Rückkehr zur unteren Scan-Basis wird ein U0-7 Zwischenschritt benötigt da sonst der nachfolgende U0145 Schritt in die gleiche Richtung führen würde wie der vorausgehende U0-7 Schritt. Bei vollem Scanbereich (+-100V) würde dies zu einem Übersteuern des Kepco führen da die FUG noch nicht ihre Sollspannung erreicht haben. Am Ende der Messung wird die Kanone von der unteren Scan-Basis-Energie kontrolliert runter gefahren. Bei einem Abbruch der Messung wird die Kanone von der aktuellen Energie kontrolliert runter gefahren. 6.1.4 Long Scan --------------- *Aufgabe* Der Long Scan ist eine Erweiterung des Short Scans. Durch Nachführen der FUG-Netzgeräte sind die Scans nicht mehr an die +-100V Grenzen der KEPKO-Netzgeräte gebunden. Durch Angabe einer Perveanz können die Messzeiten pro Kanal an die energieabhängigen Elektronenströme angepasst werden. *Ablauf des Scans* U0: Kathode Sollwert grob, Kepco U1: Kathode Sollwert fein, Kepco U2: Kathode FUG U3: P1 FUG U4: P1 Sollwert grob, Kepco U5: P2 Trek U6: P6 FUG U7: Kollektor FUG U 0V MINE Basis MAXE 0-7 |------->| Start 0-7 |--------------->| Loop 0-7 |<---------------| Loop 0-7 |<-------| Stop Nach dem Start wird die Kanone (alle U) kontrolliert auf die Scan-Start-Energie MINE hochgefahren. Während des Scans werden alle Netzgeräte (Kepco, Trek, FUG) gefahren. Dies hat zur Folge, dass auf die langsamen FUG gewartet werden muss. Allerdings können Mess- und Pausenzeit dabei berücksichtigt werden da alle Verzögerungen der FUG-Spannungen über die Kathoden- und Stangen-Spannungsregelung bis zu +-100V ausgeglichen werden. Dies trifft auch für die P6- und Kollektor-Spannungen zu, denn diese haben als Vorspannung die Kathoden-Spannung. Am Ende der Messung wird die Kanone kontrolliert runter gefahren. Bei einem Abbruch der Messung wird die Kanone von der aktuellen Energie kontrolliert runter gefahren. Für den Long-Scan müssen sowohl U0 (grob) als auch U1 (fein) zur Einstellung des Energie-Sollwertes verwendet werden. Es bieten sich zwei Varianten mit unterschiedlicher Auswirkung auf die Genauigkeit des Sollwertes an. Aktuell implementierte Variante: Für jeden Kanal werden U0 und U1 neu berechnet weshalb rechnerisch der Sollwert immer exakt erreicht wird. Allerdings summieren sich die Fehler beider DACs (1 LSB: U0 15.25885mV, U1 1.525885mV) Alternative Variante: Der U0-Wert wird solange festgehalten wie der dynamische Bereich von U1 (400V) nicht verlassen wird. Damit wird eine 10-fach höhere Genauigkeit innerhalb eines dynamischen Bereichs von U1 erreicht (1.525885mV). Die Übergänge zwischen den einzelnen Bereichen mit unterschiedlichen U0-Werten sind jedoch mit den 10-fach größeren Fehlern des DAC0 (15.25885mV) behaftet. Auch rechnerisch wird der Sollwert nicht immer erreicht, da das Verhältnis U0/U1 nicht exakt 10 ist (s.h essEGUN.c), wodurch der Sollwert innerhalb des dynamischen Bereichs von U1 kontinuierlich ansteigt bzw. abfällt, da die Kanalbreite auf U0 bezogen ist. Bei einem Bezug auf U1 würde dies vermieden, dann würden aber die nachfolgenden Bereiche jeweils höher bzw. niedriger liegen bis dies durch einen U1-Schritt (1.5mV) wieder korrigiert werden kann. 6.2 ESW/ESS Hardware ==================== (Kein Textformat-Bild vorhanden, siehe: html, pdf, dvi) (Kein Textformat-Bild vorhanden, siehe: html, pdf, dvi) *ESS/ESW Control-Routing* |====================| |Read/Reset-Verteiler| |(Slot17,18) In|<-. | 4 * Reset Out|--|---------> Reset (Data-Routing) | 4 * Read Out|--|---------> Read (Data-Routing) |====================| | | ESW/ESS-Umschalter | | |SCAN/DCB-Karte | | |(Slot15,16) | | | Gate ESS Out|--|---------> Gate-Sign.-Vert. (Data-Routing) | Read ESS Out|--|---------> ESS-Kontr./Kanalnr., Read (Data-Routing) | Read ESW Out|--|---------> ESW-Kanalzaehler (Data Routing) | Read/Reset Out|--' | Gate ESS In|<-----. | Read ESS In|<-. | | Read ESW In|<-|---|------ Winkelschrg.-Teiler, Out2 (Winkelschrg.-Elektr.) |====================| | | | Progr. Totzeit In|<-|---|----- Ionisationssignal (CFD NIM-Crate) |(0x36) Out|--|---|----> Ionisationssignal (Data Routing) |--------------------| | | | Interrupt Eingabe | | | |(0x35) !Busy In|<-|---|------ ESS-Kontrolle, Busy (Data-Routing) | Read/Reset|--' | | Start|<---. | |--------------------| | | | Messber.-Eingabe | | | |(0x34) Ser. In|<---|-|------ Messbereichssignal |--------------------| | | | Zeittakt-Ausgabe | | | |(0x33) Out|----|-|-----> Messzeit, Count (Data Routing) |--------------------| | | | Pausenzeit-Ausgabe | | | |(0x32) !Intervall|--. | | |--------------------| | | | | Messzeit-Ausgabe | | | | |(0x31) Ext. Start|<-' | | | !Intervall|----' | | Intervall|------' |--------------------| |Kanalnummer-Ausgabe | |(0x30) 20 pol.|-----------> ESS-Kanalnr., 20 pol. (Data Routing) |--------------------| | Adress-Decoder | |(Slot07) | |====================| | ADC2-Dateneingabe | |(0x07) 8-fach In|<----------- Abschaltautomatik D-Sub25 2 |--------------------| | ADC1-Dateneingabe | |(0x06) 8-fach In|<----------- Abschaltautomatik D-Sub25 1 |--------------------| | PSO2-Datenausgabe |-----> LWL1, DAC0/1: P6 FUG 140-6500 / frei |(0x04/05) Ser. Out|-----> LWL0, DAC0/1: P2,P3 TREK 609E-6 / Koll. FUG 4200-3500 |--------------------| | PSO1-Datenausgabe |-----> LWL1, DAC0/1: P1,P4 FUG 140-2000 / frei |(0x02/03) Ser. Out|-----> LWL0, DAC0/1: P1,P4 Sollwert grob / frei |--------------------| | PSO0-Datenausgabe |-----> LWL1, DAC0/1: Kath. FUG140-3500 / frei |(0x00/01) Ser. Out|-----> LWL0, DAC0/1: Kath.,P5 Sollwert grob / fein |--------------------| | Adress-Decoder | |(Slot01) | |====================| *Winkelschrittgeber-Elektronik* | | |====================| |Winkelschrg.-Teiler | |(ESW Messungen) Out|-----------> ESW-Kanalzaehler (Data Routing) | UP/!DO|-----------> ESW-Kanalzaehler (Data Routing) | Res|-----------> ESW-Kanalzaehler (Data Routing) | Out2|-----------> ESW/ESS-Umschalter (Control Routing) | Phono Buchse|<----------- Winkelschrittgeber e-Kanone |====================| | | *ESW/ESS Data-Routing* |===============| |Gate-Signal | | Verteiler In|<---------Interrupt Eingabe (Contr.-Rout.) | READ|<-----|---