EPICS Training @ PSI Controls Section PSI 2014
Danksagung Einige der gezeigten Folien stammen aus der Reihe „Getting started with EPICS Lecture Series at APS“ Mein besonderer Dank gilt Ned Arnold und John Maclean von der Advanced Photon Source. Die originalen Vorträge finden sich auf der Seite www.aps.anl.gov/epics/docs/GSWE.php EPICS Training @ PSI
Inhalt Was ist EPICS Die einzelnen Komponenten von EPICS Was sind Records Ein Beispiel für ein Record Ein Problem mit EPICS lösen EPICS Training @ PSI
? EPICS Was ist unsere Aufgabe? Wir müssen einen Beschleuniger (SLS) mit vielen Komponenten fernsteuern (wegen radioaktiver Strahlung und der Grösse) Unsere Lösung heisst EPICS ? EPICS Operator Beschleuniger EPICS Training @ PSI
Was ist EPICS? EPICS steht für: Experimental Physics and Industrial Control System EPICS ist: Es ist eine Kollaboration Es ist eine Werkzeugsammlung Es ist eine Kontrollsystemarchitektur EPICS Training @ PSI
Die Geschichte 1989 begann die Zusammenarbeit von Los Alamos National Laboratory (GTA) und Argonne National Laboratory (APS) (Jeff Hill, Bob Dalesio & Marty Kraimer) Über 150 Lizenzen wurden vergeben, bevor EPICS 2004 zur freien Software (Open Source) wurde Tägliche Zusammenarbeit: z.B. die Maillisten “Tech Talk” Der Einsatz für die Kollaboration ist verschieden Hilfe bei Fehlersuche Veröffentlichung von Werkzeugen, Systemen und Beratung GTA: Ground Test Accelerator APS: Advanced Photon Source EPICS Training @ PSI
EPICS – wer benutzt das? Einige Mitglieder der Kollaboration (nicht vollständig!): ANL (APS Accelerator, APS Beamlines, IPNS) in Chicago, USA LANL in Los Alamos, USA ORNL (SNS) in Oak Ridge, USA SLAC (SSRL, LCLS) in Standford, USA JLAB (CEBAF) in Newport, USA DESY in Hamburg, Deutschland BESSY in Berlin, Deutschland PSI in Villigen, Schweiz KEK in Tsukuba, Japan DIAMOND Light Source (Rutherford Appleton Laboratory) in Oxfordshire, England Iter (Test-Fusionsreaktor), Südfankreich EPICS Training @ PSI
Gibt es Alternativen zu EPICS? System Name: EPICS TANGO DOOCS Tine ACS PVSS (Cern) Kollaborationen: Werden an mehreren Instituten benutzt Pro: Bugs werden woanders gefunden Contra: Kompliziert auf lokale Probleme anzupassen Lokale Systeme: An einem Institut entwickelt und benutzt Pro: Lokale Probleme werden optiomal behandelt Contra: Man ist auf sich gestellt Kommerzielle Systeme Pro: Probleme outsourcen Contra: Teuer! EPICS Training @ PSI
Die Kontrollsystem Architektur Netzwerkbasiertes Client/Server Modell (daher das EPICS Logo) EPICS Ein Server bietet Informationen oder Dienste an Ein Client nutzt diese Dienste oder fragt nach diesen Informationen CA CA Client Client CA CA Server Server Hier bezieht sich Client und Server auf ihre Rolle bezüglich Channel Access d.h. Channel Access Client und Channel Access Server EPICS Training @ PSI
Was ist Channel Access Ein Protokoll, wie “Daten” übertragen werden Ein Datenpaket wird als Prozess Variable bezeichnet Eine Prozess Variable hat einen Namen, mit dem man die Daten abrufen kann Die genauen Abläufe von Channel Access sind für Nutzer und die meisten Programmierer unwichtig Channel Access ist nicht von einer (Programmier-) Sprache abhängig EPICS Training @ PSI
Channel Access im Netz CA Client Netzwerk CA Server 1 CA Server 2 1. Abfrage: Broadcast (Rundruf) CA Client Antwort: direkte Verbindung Alle weiteren Abfragen oder Antworten gehen direkt (Point-To-Point) Netzwerk CA Server 1 CA Server 2 CA Server 3 EPICS Training @ PSI
Eine Kontrollsystem Architektur Ein Netzwerkbasiertes “Client/Server” Modell, dessen elementarer Datensatz eine Prozess Variable ist Das Channel Access Protokoll legt fest, wie die Daten der Prozess Variablen zwischen Server und Client übertragen werden Die Gesamtmenge der Prozess Variablen bildet eine Distributed Real-time Database (verteilte Echtzeit-Datenbank) die den Maschinenzustand, Informationen und Parameter enthält Prozess Variablen CAS Process Variables EPICS Datenbank EPICS Training @ PSI
Was ist EPICS - Zusammenfassung EPICS ist eine Kontrollsystemarchitektur EPICS schaffte eine Verbindung zwischen dem Beschleuniger und dem Operator EPICS benutzt für diese Verbindung ein Protokoll namens Channel Access Channel Access basiert auf Datenpaketen, die Prozess Variablen genannt werden EPICS wird von vielen Instituten auf der ganzen Welt genutzt EPICS Training @ PSI
Inhalt Was ist EPICS Die einzelnen Komponenten von EPICS Was sind Records Ein Beispiel für ein Record Ein Problem mit EPICS lösen EPICS Training @ PSI
Teile eines EPICS Kontrollsystems Client Software MEDM ALH StripTool TCL/TK Perl Scripts OAG Apps Und viele andere … Output IOC CAS IOC Channel Access Input CA Server Software EPICS Datenbank aus Prozess Variablen Eigene Programme Echtzeit Kontrolle Sequence Programme Records Kommerzielle Instrumente Eigenbauten Technische Ausrüstung EPICS Training @ PSI
Typische Umsetzung Kommerzielle Instrumente IOC CAS Eigenbauten Technische Ausrüstung Desktop Laptop Die meisten CAServer Anwednungen basieren auf Unix/Linux oder Windows IOCs basieren auf vxWorks (VME), aber auch Linux und Windows (SoftIOC) EPICS Training @ PSI
VME Computer VME steht für VERSAmodule Eurocard Industrie Computer Wurde 1980 entwickelt und seitdem verbessert Es ist kein PC Echtzeit fähig (d.h. berechenbare Verzögerungen) Betriebssystem ist VxWorks von Wind River Sehr teuer (in Zukunft nicht mehr der Standard?) EPICS Training @ PSI
Was ist eine IOC IOC steht für Input Output Controller Ein spezieller CA Server und gleichzeitig ein CA Client Ein Computer auf dem die Software “IOC Core” läuft Dieser Computer kann sein: VME basiert, Betriebssystem vxWorks (einzige Möglichkeit bis Release 3.14) oder RTEMS PC, Betriebssystem Windows, Linux, RTEMS Apple, Betriebssystem OSX UNIX Workstation, Betriebssystem Solaris Dieser Computer hat normalerweise Input und/oder Output Geräte angeschlossen Ein EPICS Kontrollsystem besteht aus mindestends einem Channel Access Server (normalerweise einer IOC) Eine IOC hat eine oder mehrere Record Datenbanken geladen, die festlegen, was diese IOC macht EPICS Training @ PSI
Das Innenleben einer IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) LAN (Netzwerk) IOC Channel Access Database Sequencer Device Support I/O Hardware (Instrumente) EPICS Training @ PSI
Wofür braucht man den Sequenzer? State Machine die Ampel ist rot die Ampel ist gelb die Ampel ist rot und gelb die Ampel ist ausgefallen Start die Ampel ist grün EPICS Training @ PSI
Ein paar CA Clients (von der EPICS Website - unvollständig) ALH: Alarm Handler BURT: Backup and Restore Tool CASR: Host-based Save/Restore CAU: Channel Access Utility Channel Archiver (SNS) Channel Watcher (SLAC) EDM: Extensible Display Manager (ORNL) JoiMint: Java Operator Interface and Management INtegration Toolkit (DESY) Knobs: Knob Manager und KnobConfig, eine Schnittstelle zu SunDials MEDM: Motif Editor und Display Manager StripTool: Strip-chart Plotting Tool und viele mehr ... EPICS Training @ PSI
Beispiele für ALH EPICS Training @ PSI
Alarme und ihre Farben NO_ALARM Grün Alles in Ordnung MINOR Gelb Warnung MAJOR Rot Fehler INVALID Weiss Gerät existiert nicht Not connected Weisses Feld oder Violett Record nicht bekannt EPICS Training @ PSI
Beispiele für ALH EPICS Training @ PSI
Ein paar CA Clients (von der EPICS Website - unvollständig) ALH: Alarm Handler BURT: Backup and Restore Tool CASR: Host-based Save/Restore CAU: Channel Access Utility Channel Archiver (SNS) Channel Watcher (SLAC) EDM: Extensible Display Manager (ORNL) JoiMint: Java Operator Interface and Management INtegration Toolkit (DESY) Knobs: Knob Manager und KnobConfig, eine Schnittstelle zu SunDials MEDM: Motif Editor und Display Manager StripTool: Strip-chart Plotting Tool und viele mehr ... EPICS Training @ PSI
Beispiele für StripTool EPICS Training @ PSI
Ein paar CA Clients caQtDM: Display Manager (von der EPICS Website - unvollständig) ALH: Alarm Handler BURT: Backup and Restore Tool CASR: Host-based Save/Restore CAU: Channel Access Utility Channel Archiver (SNS) Channel Watcher (SLAC) EDM: Extensible Display Manager (ORNL) JoiMint: Java Operator Interface and Management INtegration Toolkit (DESY) Knobs: Knob Manager und KnobConfig, eine Schnittstelle zu SunDials MEDM: Motif Editor und Display Manager StripTool: Strip-chart Plotting Tool und viele mehr ... caQtDM: Display Manager EPICS Training @ PSI
Beispiele für caQtDM EPICS Training @ PSI
Channel Access Kommandos “connection request” oder “search request” “get” oder “caget” “put” oder “caput” “set a monitor” “camon” Ändere den Wert auf 30.5 AMPS Benachichtige mich, wenn sich der Wert ändert Wer hat eine PV mit dem Namen S1A:H1:CurrentAO ? Was ist ihr Wert? Channel Access Client CA Client CA Server Channel Access Server Ich habe sie 25.5 AMPS OK, jetzt ist der Wert 30.5 AMP Jetzt 20.5 AMPS Jetzt 10.5 AMPS Jetzt -0.0023 AMPS Prozess Variablen: S1A:H1:CurrentAO S1:P1:x S1:P1:y S1:G1:vacuum “put complete” “post an event” oder “post a monitor” 30.5 ist zu hoch. Sie wird auf das erlaubte Maximum von 27.5 AMPS gesetzt. oder oder Sie sind nicht berechtigt diesen Wert zu ändern. EPICS Training @ PSI
Das Zusammenspiel der Einzelteile Channel Access Client Operator Channel Access Client Channel Access Client Netzwerk (Channel Access Protokoll) Channel Access Server Prozess Variablen: Speise-gerät Computer Schnittstelle S1A:H1:CurrentAO S1:P1:x S1:P1:y S1:G1:vacuum Let’s take an example: Suppose you had a particle accelerator to control. Among many other things, Beam Position Monitor Computer Schnittstelle Vakuum Sonde Computer Schnittstelle Maschine EPICS Training @ PSI
Inhalt Was ist EPICS Die einzelnen Komponenten von EPICS Was sind Records Ein Beispiel für ein Record Ein Problem mit EPICS lösen EPICS Training @ PSI
Was ist ein Messwert? 295,5 Ein Wert mit einem Datentyp mit einer Einheit mA mit einem Zeitstempel 17.2.2005 14:21:16 mit einer Gültigkeit (Alarmstatus) NO_ALARM mit technischen Grenzen 0 bis 400 mit Darstellungsgrenzen 0 bis 370 mit einer Bedeutung „Beam current in SR“ Ein Messwert ist ein Objekt mit mehreren zugehörigen Daten EPICS Training @ PSI
Was ist ein Record? Ein Record ist ein Objekt mit Einem eindeutigen Namen Merkmalen (Feldern) die Informationen (Daten) enthalten Der Fähigkeit, mit diese Daten Aktionen durchzuführen Eindeutiger Name XYZ1234 Angestellter: James Bond Dienstmarke : 007 Adresse : Whitehall, London Salär : £70070.07 Felder Daten EPICS Training @ PSI
Vom Messwert zum Record record (ai, "ARIDI-PCT:CURRENT") { Ein eindeutiger Name ARIDI-PCT:CURRENT 295,5 Ein Wert mit einem Typ ai field (EGU, "mA") field (EGUF, "400") field (EGUL, "0") mit einer Einheit mA mit einem Zeitstempel 17.2.2005 14:21:16 field (HOPR, "370") field (LOPR, "0") mit einer Gültigkeit (Alarmstatus) NO_ALARM field (DESC, "Beam current in SR") mit technischen Grenzen 0 bis 400 field (DTYP, "HY8401") field (INP, "#C3 S0 @") mit Darstellungsgrenzen 0 bis 370 } mit einer Bedeutung „Beam current in SR“ Von der Hardware gelesen: EPICS Training @ PSI
Ein Prozess Variablen Name Ein PV Name besteht aus zwei Teilen: Dem Record Namen und Dem Namen eines Feldes, das zu diesem Record gehört Zum Beispiel: ARIDI-PCT:CURRENT . EGU Ein Prozess Variablen Name Ein Record Name Ein Feld Name Ein Punkt zum Zusammenfügen Wenn kein Feld Name angegeben wird, benutzt Channel Access als Standard das .VAL Feld z.B. gilt für Channel Access ARIDI-PCT:CURRENT = ARIDI-PCT:CURRENT.VAL EPICS Training @ PSI
Was machen Records? Records sind aktiv, sie tun Dinge: Daten von anderen Records oder von der Hardware lesen (get) Rechnungen ausführen Grenzwerte überprüfen und Alarme auslösen Daten in andere Records oder auf die Hardware schreiben (put) Andere Records aktivieren oder deaktivieren Auf Signale (interrupts) von der Hardware warten Was ein Record tut, hängt von seinem Typ und den Werten seiner Felder ab Eine grosse Auswahl an Records existiert bereits Neue Record-Typen können hinzugefügt werden, wenn sie gebraucht werden Ein Record tut nichts, bis es prozessiert wird EPICS Training @ PSI
Einige Record Typen Analog in Analog out Binary in Binary out Calculation Calculation out Compression Data fanout Event Fanout Histogram Motor Multi bit binary input Multi bit binary output PID control Pulse counter Pulse delay Scan Select Sequence String in String out Subarray Subroutine Waveform EPICS Training @ PSI
Ein Record aus Sicht der IOC record(ao,"DemandTemp") { field(DESC,"Temperature") field(ASG,"") field(SCAN,"Passive") field(PINI,"NO") field(PHAS,"0") field(EVNT,"0") field(DTYP,"VMIC 4100") field(DISV,"1") field(SDIS,"") field(DISS,"NO_ALARM") field(PRIO,"LOW") field(FLNK,"") field(OUT,"#C0 S0") field(OROC,"0.0e+00") field(DOL,"") field(OMSL,"supervisory") field(OIF,"Full") field(PREC,"1") field(LINR,"NO CONVERSION") field(EGUF,"100") field(EGUL,"0") field(EGU,"Celcius") field(DRVH,"100") field(DRVL,"0") field(HOPR,"80") field(LOPR,"10") field(HIHI,"0.0e+00") field(LOLO,"0.0e+00") field(HIGH,"0.0e+00") field(LOW,"0.0e+00") field(HHSV,"NO_ALARM") field(LLSV,"NO_ALARM") field(HSV,"NO_ALARM") field(LSV,"NO_ALARM") field(HYST,"0.0e+00") field(ADEL,"0.0e+00") field(MDEL,"0.0e+00") field(SIOL,"") field(SIML,"") field(SIMS,"NO_ALARM") field(IVOA,"Continue normally") field(IVOV,"0.0e+00") } EPICS Training @ PSI
Das Record Reference Manual In Englisch (Amerikanisch) Erklärt Datenbank Konzepte und Records Für jeden Recordtyp sind alle Felder erklärt Besipiel: Feld HSV für ai Record Es gibt ein paar Felder, die jeder Recordtyp hat, diese sind am Anfang erklärt Die beschriebenen Records sind in der Basis Version von EPICS inbegriffen Es gibt noch mehr Records, Dokumentation siehe Internet EPICS Training @ PSI
Inhalt Was ist EPICS Die einzelnen Komponenten von EPICS Was sind Records Ein Beispiel für ein Record Ein Problem mit EPICS lösen EPICS Training @ PSI
Ein Beispiel für ein Record Channel Access Client MTRT1-TEMP:READ .VAL = 45.5 .EGU = Grad C .STAT = Normal MTRT1-TEMP:READ .VAL = 51.5 .EGU = Grad C .STAT = MAJOR Erzähl mir alles über MTRT1-TEMP:READ IOC Channel Access Server Analog nach Digital Konverter Prozess Temperatur Sensor Database Analog In MTRT1-TEMP:READ 45.5 Grad C 51.5 Grad C 116 bits 132 bits 45.5°C 51.5°C 4.55V 5.15V INP VAL EGU :Grad C EGUL: -100 EGUF: 100 8 bit ADC -10 – 10V 0 – 255 bits Normaler Betrieb 5 - 50°C 0 – 100°C 0 – 10V HIGH: 51 EPICS Training @ PSI
Ein Record einfach auslesen VME einschalten (es wird ein Record erzeugt, das mit dem ersten Potentiometer verknüpft ist) In einem Terminal eingeben: caget MTRT1-TEMP:READ (die 1 wird für andere Trainings-Stationen durch die entsprechende Zahl ersetzt) Das Potentiometer bewegen Erneut den Wert abfragen EPICS Training @ PSI
CA Komandozeilen Befehle Lesen eines PV mit dem Namen <NAME> caget NAME Informationen über das Record cainfo NAME Einen Monitor setzen camon NAME (Abbrechen mit [Ctrl] + [c]) Wenn ich die genauen Befehle vergessen habe ca EPICS Training @ PSI
Eine Benutzeroberfläche erzeugen Zum Starten des Qt Designers: (neue Oberfläche erzeugen) qtdesigner & Zum Starten einer existierenden Oberfläche (GUI): startDM <name>.ui & EPICS Training @ PSI
Eine caQtDM Oberfläche erzeugen (1/) “Main Window” auswählen erzeugen EPICS Training @ PSI
Eine caQtDM Oberfläche erzeugen (2/) EPICS Training @ PSI
Eine caQtDM Oberfläche erzeugen (3/) MTRT1-TEMP:READ EPICS Training @ PSI
Eine caQtDM Oberfläche erzeugen (4/) Temperature.ui EPICS Training @ PSI
Eine Benutzeroberfläche starten Zum Starten des Qt Designers: (neue Oberfläche erzeugen) dtdesigner & Zum Starten einer existierenden Oberfläche (GUI): startDM <name>.ui & EPICS Training @ PSI
Eine laufende caQtDM Oberfläche EPICS Training @ PSI
Dateien zum Temperatur Beispiel In das richtige lokale Verzeichnis wechseln cd G/TRAINING/T1 Folgende Dateien im Editor öffnen: G_TRAINING_T1_TEMPERATUR.template MTEST-VME-T1_example.subs Zum Beispiel mit nedit & (klick auf file -> open) EPICS Training @ PSI
Inhalt der Datein DEVICE = MTRT1 $(DEVICE)-TEMP:READ MTRT1-TEMP:READ EPICS Training @ PSI
Ein zweites Record erzeugen Wir haben noch einen weiteren “Temperatursensor” – wir brauchen ein zweites Record: EPICS Training @ PSI
Installieren einer EPICS Datenbank Ist alles richtig geschrieben? Installieren in das Boot-Verzeichnis der IOC swit –V –ioc IOC-NAME (im Verzeichnis, das installiert werden soll) IOC booten: Einloggen auf der IOC per rmc IOC-NAME und dem Befehl (soft reboot) reboot EPICS Training @ PSI
Was passiert beim booten Boot Info der VME-IOC: wo steht das startup.script Lade startup.script Im startup.script: liste von .subs Dateien Lade .subs Dateien In den .subs Dateien: Liste von .template Dateien Lade .template Dateien mit Ersetzung Erzeuge alle geladenen Records EPICS Training @ PSI
Befehle auf dem VME Computer Eine Liste aller Records erhält man mit dbl Interessante Felder anschauen kann man mit dbpr "Recordnamen" dbpr "MTRT1-TEMP:READ" Für VxWorks Befehle benutzt man help EPICS Training @ PSI
[1][2] – [3] – [4] : [5] Namenskonvention Die Records müssen eindeutige Namen haben X=Beamline, A=Maschine, M=Test (1 Zeichen) Projektabkürzung (4 Zeichen), z.B. 06SA, TEST, RI=Ring, DI=DIAGNOSE Optional: Gerät, Gruppe, z.B. OP, ID Gerät, z.B. MO Optional: Funktion (max. 11 Zeichen), z.B. TRY1-SET [1][2] – [3] – [4] : [5] Länge [3]+Länge [4] maximal 12 Zeichen EPICS: Namen maximal 27 Zeichen EPICS Training @ PSI
Namen für Temperaturfühler M = Test TR = Training T1, T2, T3, T4 = Trainings-IOC TEMP = Temperatur READ = Record zum lesen Für mehr als einen Temperaturfühler TEMP1 für den ersten, TEMP2 für den zweiten: MTRT1-TEMP1:READ und MTRT1-TEMP2:READ EPICS Training @ PSI
Aufgabe: caQtDM Oberfläche Erzeugt eine caQtDM Oberfläche, die Records enthält: Eure eigenen Records Alle Records eurer Nachbarn Die Alarmzustände der Records Eine zweite Oberfläche soll die Records darstellen, die mit dem Namen der IOC beginnen: MTEST-VME-T….. EPICS Training @ PSI
IOC Status Automatisch werden auf jeder IOC Status Records angelegt: medm –x –macro IOC=MTEST-VME-T1 /work/sls/config/medm/G_IOCMON_ioc_status.adl EPICS Training @ PSI
Inhalt Was ist EPICS Die einzelnen Komponenten von EPICS Was sind Records Ein Beispiel für ein Record Ein Problem mit EPICS lösen EPICS Training @ PSI
Ein Problem in EPICS lösen ADC Analog In Datenbank Sensor T1 MTRT1-LI-COOL:TEMP1 Problem: Im Linac gibt es einen Wasserkühler, der eingeschaltet werden muss, wenn die durchschnittliche Temperatur der beiden Temperatursensoren über einen Grenzwert steigt. Der Grenzwert ist normalerweise 10 Grad Celsius. Binär I/O Berechnung INP VAL Binary out MTRT1-LI-COOL:CALC EGU: deg C MTRT1-LI-COOL:SW INPA INPB VAL DOL OUT C: 10 ADC Analog In Kühler CALC: ( (A+B)/2 ) > C MTRT1-LI-COOL:TEMP2 SCAN: 10 second T2 Sensor INP VAL EGU: deg C IOC EPICS Training @ PSI
# bedeutet die Zeile ist ein Kommentar Die subs Datei Die Datei heisst: MTEST-VME-T1_example.subs # bedeutet die Zeile ist ein Kommentar EPICS Training @ PSI
Die template Datei bereits vorhandenes Temperatur-Record kopieren! Vordefinierte Records in der Datei G_TRAINING_T1_COOLER.template Würde die IOC mit dieser Datei booten? Record Felder aus den Notizen abschreiben … bereits vorhandenes Temperatur-Record kopieren! EPICS Training @ PSI
Nüzliche Scripte Habe ich alles richtig geschrieben? externalLinks xxx.subs Beispiel: externalLinks MTEST-VME-T1_example.subs Wie hiess noch gleich dieses Record? findrecord Namensteil Beispiel: findrecord MTRT1-LI Wann hat die IOC zuletzt gebootet? bootinfo IOC-Name Beispiel: bootinfo MTEST-VME-T1 EPICS Training @ PSI
Wann wird ein Record prozessiert? Ein Record kann periodisch prozessiert werden oder durch ein Event ausgelöst Periodisch: Standard Perioden (scan rates) sind: 10, 5, 2, 1, 0.5, 0.2 und 0.1 Sekunden Spezielle Perioden können konfiguriert werden, bis zu den Grenzen, die durch die Hardware und das Kontrollsystem vogegeben sind Event gesteuert: Events können sein Hardware Interrupts Anfrage eines andern Records über eine Verbindung (Link) EPICS Events Channel Access Schreibzugriffe (Puts) EPICS Training @ PSI
caQtDM Fenster entwickeln Es soll dargestellt werden: Beide Temperaturen der Sensoren Die Alarmzustände der Sensoren Der Schaltzustand des Kühlers als Text und als "Lampe", die gelb leuchtet wenn das Gerät eingeschaltet ist Eine Überschrift Eine Grafik der Temperaturen (zur Zeit) EPICS Training @ PSI
Weitere Aufgaben Die Durchschnittstemperatur darstellen Die Grenztemperatur von 10 Grad soll über ein neues Record von der medm Oberfläche aus verstellt werden könen Es soll auch eine untere Grenztemperatur geben, ab der eine Heizung eingestellt wird Noch ein calc Record Noch ein bo Record "#C2 S33 @" Es gibt eine weitere solche Harware Anordnung im Speicherring (alles dupizieren) EPICS Training @ PSI
10 nette Tatsachen über EPICS Es ist gratis Es ist Open Source (Quellcode ist zugänglich) Es gibt eine Menge Leute, die es benutzen Alles was ein Client wissen muss um auf die Daten zuzugreifen ist der PV Name Man kann unter den besten Werkzeuge auswählen … … oder seine eigenen schreiben Der langweilige Teil ist schon gemacht Es gibt bereits eine Menge Erfahrungen in verschiedenen Instituten Eine gute Erweiterung findet internationale Aufmerksamkeit Es ist egal, ob man 10 oder 10 Millionen PVs braucht (beliebig skalierbar) EPICS Training @ PSI
http://www.aps.anl.gov/epics Die EPICS Web Seite Der zentrale Ort, um Informationen über EPICS zu finden - Dokumentation - CA Clients - Device support (Gerätetreiber) - Tech-talk (Mailing Liste und Archiv) http://www.aps.anl.gov/epics EPICS Training @ PSI