*********************************** * Anleitung zum Messprogramm ESS * * 'Elektronen-Stoss-Scan-Messung' * *********************************** 29.04.1992 K. Huber Version 26.08.2002 (VME-Version) Sie finden diese Anleitung auf dem SERVIX unter $HOME/ex_home/ex_help/esshlp.txt, wenn Sie auf Ihrem Experiment-Account eingelogged sind. Die Hard- und Software Voraussetzungen sind: VME Experiment-Rechner-System Data-Routing-Einheit Control-Routing-Einheit VT240/330 Terminal oder PC ueber COM oder TeraTerm VxWorks Betriebssystem Netzwerkanschluss zu einem Host-Rechner Das ESS Programm ist eine Weiterentwicklung des ESI Messprogrammes. Es dient der Aufnahme von Elektronen-Stoss-Scan-Spektren. Es werden vier Spektren mit der waehlbaren Laenge von N Kanaelen erzeugt, die als Zeilen einer 4*N Matrix angeordnet sind. Die Erfassung der Messdaten erfolgt ueber sechs Interfaces im Data-Routing: eines fuer die Eingabe der aktuellen Kanalnummer im Spektrum, vier U/D-Zaehler fuer Ionisationssignal, Primaerionenstrom, Elektronenstrom und Messzeit pro Kanal sowie ein spezielles Interface zur Experimentueberwachung und Totzeit- Messung. Das Messprogramm erwartet folgende Anordnung der Interface-Karten im Routing (von links): IFS Karte (Modus: RUN, FREI) Pos-Karte (Kanalnummer; auf Vorrang verdrahtet!) IFS Karte (Modus: STOP; wird fuer die ESS-Messung nicht benoetigt) U/D-Zaehler (Positionszaehler fuer ESW Programm) IFS Karte (Modus: RUN, K2) U/D-Zaehler (Zaehler 1; Ionisationssignal) IFS Karte (Modus: RUN, K2) U/D-Zaehler (Zaehler 2; Primaerionenstrom) IFS Karte (Modus: RUN, K2) U/D-Zaehler (Zaehler 3; Elektronenstrom) IFS Karte (Modus: RUN, K2) U/D-Zaehler (Zaehler 4; Messzeit) IFS Karte (Modus: LFT, FREI) ESS-Karte (Ueberwachung) Die Steuerung des Experimentes erfolgt zur Zeit (Aenderungen sind hier leicht moeglich) ueber acht Interfaces im Control-Routing: eines fuer die Ausgabe der aktuellen Kanalnummer, drei DAC-Interfaces fuer die Elektronenenergie, zwei Timer fuer Mess- und Pausenzeit, einer programmierbaren Zeitbasis und einer digitalen Eingabekarte. Die Anordnung der Interface-Karten im Control- Routing ist durch die in ESS programmierte Anfangsnormierung festgelegt und muss zu dem vom Benutzer zu erstellenden Experiment-Steuer-File passen. Der Ablauf des Experimentes kann durch den Benutzer in gewissen Grenzen ohne Aenderung des Messprogrammes beeinflusst werden durch die Erstellung eines Experiment-Steuer-Files und entsprechenden Interfaces im Control-Routing. Nicht flexibel ist hingegen die Aufnahme der 4*N-Matrizen ueber das Data-Routing. Zur naeheren Erlaeuterung der Zusammenhaenge kann der derzeitige Ausbau des Experimentes dienen: Zu Beginn der Messung erfolgt durch ESS eine Anfangsnormierung ueber fuenf Interfaces im Control-Routing: Einstellung der Netzgeraete fuer die Elektronenenergie ueber drei DAC-Karten, programmieren einer Zeitbasis- karte als Taktgeber zur Messung der Messzeit pro Kanal (4. Spektrum) und Einlesen der Messbereiche fuer Ionen- und Elektronenstrom ueber eine digi- tale Eingabekarte. Der Ablauf des Experimentes besteht aus einer Serie von Messintervallen, wobei fuer jedes Messintervall die Kanalnummer, die Mess- und Pausenzeit, die Elektronenenergie usw. vorgegeben werden durch den Experiment-Steuer- File (s.u.). Die Elektronenenergie wird ueber drei DAC's eingestellt. Da dieser Einstellvorgang eine gewisse Zeit benoetigt, werden die DAC's als erste ueber das Control-Routing geladen. Als naechstes 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 Hochspannunggeraete abgewartet. Das Ende der Pause startet unmittelbar die Messzeit. Gesteuert durch den GATE-Impuls akkumulieren die U/D-Zaehler im Data-Routing waehrend der Messzeit die ankommenden Zaehl- impulse. Die Messzeit wird ermittelt durch Zaehlen eines Zeittaktes, der durch eine programmierbare Zeitbasis im Control-Routing erzeugt wird. Nach Ablauf der Messzeit wird von der Interrupt-Karte ein Read-Impuls zum Uebertragen der Kanalnummer, und der vier U/D-Zaehler erzeugt, sowie ein Reset-Signal zum Loeschen der Zaehler. Mit dem Read-Signal werden Kanal- nummer und Zaehlerinhalte in je ein Senderegister uebertragen, so dass die Interfaces anschliessend sofort wieder frei sind, waehrend die Uebertragung der Daten einige Zeit in Anspruch nehmen kann. Die Kanalnummer wird mit Vorrang zur Uebertragung angemeldet. Damit wird sichergestellt, dass sie zuerst uebertragen wird, um eine Synchronisation der Software zu ermoeg- lichen. Die Daten werden vom Messprogramm erst dann verarbeitet, wenn ein vollstaendiger Datensatz von allen fuenf Datenworten eines Messintervalles uebertragen ist. Dann werden die uebertragenen Werte der vier U/D-Zaehler 1,2,3,4 zu dem jeweils aktuellen Kanal der Spektren 1,2,3,4 addiert. Fehler bei der Uebertragung werden erkannt und registriert (sequence errors). Ein unvollstaendiger Datensatz wird verworfen. Wird ein Zaehler mehrfach ueber- tragen, so werden die zuviel uebertragenen Daten verworfen, und nur das erste Datum wird verarbeitet, falls ein vollstaendiger Datensatz zustande kommt. Jeder solcher Fehler erhoeht den 'Sequence error counter' um eins. Am Ende der Messzeit wird ausserdem ein Interrupt erzeugt, der der Software mitteilt, dass der naechste Zyklus mit der Ausgabe des naechsten Steuer- parametersatzes erfolgen kann. Wird mit kurzen Messintervallen (<0.1ms) gearbeitet, so besteht die Gefahr, dass die anfallenden Messdaten nicht schnell genug verarbeitet werden koennen, und Datenverluste auftreten, die die Messung unbrauchbar machen. Um dies zu vermeiden, werden die Busy-Meldungen der U/D-Zaehler auf einer Sammelleitung des Data-Routing der ESS-Karte zugefuehrt (das POS-Interface braucht dabei nicht beruecksichtigt zu werden, da es mit Vorrang behandelt wird). Von der ESS-Karte wird das gemeinsame Busy-Signal der Interrupt-Karte im Control- Routing zugefuehrt, um dort ein erneutes Read solange zurueck zu halten, wie noch eine der Zaehlerkarten Busy meldet. Zur Ueberwachung kann das Read- Signal der ESS-Karte zugefuehrt werden. Trifft es dort auf eine Busy-Meldung der Zaehler, so wird die Uebertragung 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 fuehrt darueberhinaus die Lifetime-Messung durch unter Beruecksichtigung der gesamten Totzeit der Zaehlerkarten. Die maximale Datenrate ist abhaengig von der verwendeten CPU: MVME162 ?kHz MVME172 ?kHz Messdaten --------- Die Spektren entsprechen dem Strahlenzentrumsstandard und koennen deshalb mit einer Anzahl vorhandener Programme weiterverarbeitet werden. Das Spektrum ist in 512 byte Records segmentiert, mit dem Header im ersten Record. Der Header enthaelt am Anfang einen standardisierten Teil und anschliessend noch eine Reihe weiterer Daten (z.B. Lifetime-, Realtime-Zaehler usw.), zu denen man ueber die Include-Files ~/ex_home/ex_src/.../ess.conf und ess.h Zugang hat. Die Kanaele des Spektrums sind als INTEGER*4 deklariert, d.h. jeder Kanal kann ca. 10**10 Ereignisse aufnehmen. Ein Record enthaelt 128 Kanaele. Der Verschnitt am Ende des Spektrums ist mit Nullen aufgefuellt. Die Spektren werden ueblicherweise auf dem SERVIX unter dem zugeordneten Account gespeichert. zB.: Experiment xxxx Account xxxx File Name Ablage auf ~/ex_home/ex_data/spektr.spe /usr/user/xxxx/ex_home/ex_data/spektr.spe home:spektr.spe /usr/user/xxxx/spektr.spe data:spektr.spe /usr/user/xxxx/ex_home/ex_data/spektr.spe Die Laufwerke home:, data: usw werden in ~/ex_home/ex_param/startup.vxw definiert. Die existierenden Laufwerke koennen mit dem SHOW-Programm (Network (NFS) devices) angezeigt werden. Der Experiment-Kontroll-File muss auf der gleichen Directory unter dem Namen spektr.ECF vorhanden sein. Das Messprogramm hebt seine aktuellen Parameter in dem File ~/ex_home/ex_param/esspar.vxw auf, um sie bei einem nachfolgenden Start als Default-Werte anbieten zu koennen. Bildschirmanzeigen ------------------ In der obersten Zeile wird an erster Stelle der Name des Programmes darge- stellt. 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. Bedienung des Programmes ------------------------ Das Programm ist weitgehend selbsterklaerend. Die notwendigen Eingaben werden in Dialogform angefordert. Der Dialog ist in einer Hyrarchiestruktur auf- gebaut, wobei mittels Menuelisten von einer Dialogebene in die andere ge- wechselt werden kann. Fuer Parametereingaben existieren im Allgemeinen Vorbelegungswerte, die editiert werden koennen. +++ Einstiegsebene Exit ESS Verlassen des Programmes. Start experiment Fuehrt zu einer weiteren Dialogebene, in der eine naehere Spezifikation des Starts erfolgt. Show header Zeigt die wichtigsten Daten des Headers, der jedem Spektrum beigefuegt ist: Name des Experimentes; Name des Programmes; Name des Spektrums. Titelzeile Startzeit und -datum; Stopzeit und -datum. Laenge des Spektrums. Restzeit des Timers fuer die Messzeitvorgabe (Timer). Die Zeit in Sekunden, waehrend der das Experiment gestartet war (Realtime). Die um die Totzeit korrigierte Zeit (Realtime - Deadtime), die der Messung zur Datenaufnahme zur Verfuegung stand (Lifetime). Anzahl der empfangenen Positionsdaten (Positions received). Anzahl der Positionsdaten, die ausserhalb der Spektrengrenzen lagen und deshalb nicht verarbeitet wurden (Positions out of range). Anzahl der von dem Zaehler 1(2,3,4) empfangenen Daten (Counter 1(2,3,4) received). Anzahl der Datenverluste im ESS-Interface (Buffer overruns). Anzahl der Faelle, in denen die erwartete Reihenfolge der ankommenden Daten (erst Kanalnummer dann 4 Zaehlerdaten) durchbrochen wurde (Data sequence errors). Anzahl der Daten, die auf Grund ihrer Datenkennung ausgesondert wurden, weil sie mit dem Experiment in keinem Zusammenhang stehen (Rejected data). Entweder wurde beim Start die Datenkennung falsch angegeben, oder es ist eine zusaetzliche Datenquelle unbeabsichtigt mitgelaufen. Anzahl der Faelle, in denen die Bearbeitung der Daten nicht schritt- halten konnte und Datenverluste auftraten (Fifo overflows). Anzahl der Daten, die durch Hardwarefehler oder -stoerungen ver- stuemmelt uebertragen wurden (Data errors). 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. Analyse spectrum Startet als Subtask ein Auswerteprogramm zur graphischen Darstellung und Auswertung des aktuellen Spektrums. Nach Verlassen des Auswerteprogramms wird in das Messprogramm zurueckgekehrt. Ueblicherweise kann das Startup- Verhalten der Auswerteprogramme konfiguriert werden (^Z -> Set configuration -> Startup mode). ESS verwendet standardmaessig das Programm PEAK als Auswerteprogramm. Unter "Set Configuration" kann ein anderes Auswerteprogramm konfiguriert werden. Set name of spectrum Eingabe eines File-Namens fuer das Spektrum. Dieses kann ein bereits existierendes (Status old) oder ein noch nicht existierendes (Status new) Spektrum sein. Die Angabe muss im File-Format des Host-Rechners erfolgen. Fehlende Laufwerksangaben werden ergaenzt, ferner wird nach dem Laufwerk zur Umgehung eines Systemfehlers './' eingefuegt: ~/ex_home/ex_data/test.spe -> home:./ex_home/ex_data/test.spe home:ex_home/ex_data/test.spe -> home:./ex_home/ex_data/test.spe x/test.spe -> data:./x/test.spe test.spe -> data:./test.spe Die Zugriffe zum Host-Rechner laufen in der Regel ueber NFS und muessen auf dem Host freigegeben sein (/etc/exports). Falls die Freigabe fehlt, kann zur Not auch ueber das Laufwerk 'bootHost:' mittels RSH auf den Host zugegriffen werden, was bei sehr langen Files aber zu Speicherproblemen fuehren kann. Laufwerksdefinitionen siehe: ~/ex_home/ex_param/startup.vxw und SHOW-Programm. Delete spectrum Ein existierendes Spektrum wird geloescht (im Arbeitsspeicher und auf dem Host-Rechner), die Daten sind verloren. Convert spectrum to ASCII Das Spektrum wird mit oder ohne Header und mit oder ohne Kanalnummern in ASCII Form auf einen File geschrieben. Execute shell command Einige der VxWorks-Shell-Kommandos koennen ausgefuehrt werden. Set configuration Unter diesem Menuepunkt erfolgen alle Angaben, die das Messprogramm an das Experiment anpassen. Beim ersten Start wird dieser Menuepunkt stets automatisch aufgerufen. Spaeter sollte er nur noch bei Konfigurations-Aenderungen benutzt werden. Er enthaelt ein Untermenue: Return zurueck zum Hauptmenue General parameters allgemeine Parameter Background program Spezifikation eines Auswerteprogramms Data Routing hardware Anschluss des Data-Routing ans VME Control Routing hardware Anschluss des Control-Routing ans VME Data identification bits Festlegen der Datenkennungs-Bits Ion current converter Ionenstrom-Konversions-Faktoren Electron current converter Elektronenstrom-Konversions-Faktoren Help Kopiert diesen Help-file auf den Bildschirm. +++ Startebene Return Rueckkehr zur uebergeordneten Dialogebene. 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). 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). 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 werden die Daten nicht zum Host-Rechner gerettet, im Speicher bleiben sie aber erhalten und werden erst bei einem erneuten Start geloescht. Waehrend der Messung koennen die Daten mit 'Save spectrum' 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). 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 (zB. Ermittelung der Datenkennung), ein Spektrum wird nicht akkumuliert. +++ Start-Parameter Eingabe Nach dem Start einer Messung muessen die zugehoerigen Parameter eingegeben werden. Einige der Parameterangaben sind notwendig fuer die Durchfuehrung der Messung, andere haben nur beschreibende Funktion. Title Zur Beschreibung der Messung kann eine Titelzeile eingegeben werden. Length of single spectrum Es ist die Laenge N eines einzelnen Spektrums der 4*N Matrix anzugegeben (N < 32768). 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. Zuletzt werden die experimentbeschreibenden Parameter angefordert. Sie haben keinen Einfluss auf die Datenerfassung. +++ Funktionen bei laufendem Experiment Stop experiment Es wird ein Stop der Messung angemeldet, der Experiment-Kontroll-File wird jedoch noch bis zum Ende ausgefuehrt (Abbruch mit ^B moeglich). Danach wird die Messung gestoppt und das Spektrum zum Host-Rechner uebertragen (nicht im Modus "Test Run"). Treten bei der Datenuebertragung Probleme auf, so erfolgt eine Fehlermeldung. Die Daten bleiben erhalten und der Stop kann wiederholt werden. 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"). Show header Siehe oben. Analyse spectrum Startet als Subtask ein Auswerteprogramm zur graphischen Darstellung und Auswertung des aktuellen Spektrums. Die Messung laeuft waehrend der Auswertung weiter. Nach Verlassen des Auswerteprogramms wird in das Messprogramm zurueckgekehrt. (Siehe oben) Detach ESS Hiermit kann das Messprogramm verlassen werden, ohne dass die Messung unterbrochen wird. Die Kontrolle ueber das Messprogrammes 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! Data-Routing |===============| |ESS | | BUSY|---------->Read-Kontrolle (Control-Routing) | READ|<-. |---------------| | |IFS | | | (LFT,FREI) | | |===============| | |U/D-ZLR GATE|<-|---+---