EPICS Training PSI Controls Section PSI 2007 Danksagung

  • Slides: 65
Download presentation
EPICS Training @ PSI Controls Section PSI 2007

EPICS Training @ PSI Controls Section PSI 2007

Danksagung Einige der gezeigten Folien stammen aus der Reihe „Getting started with EPICS Lecture

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

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 unsere Aufgabe? Wir müssen einen Beschleuniger (SLS) mit vielen Komponenten fernsteuern (wegen

Was ist unsere Aufgabe? Wir müssen einen Beschleuniger (SLS) mit vielen Komponenten fernsteuern (wegen radioaktiver Strahlung und der Grösse) EPICS ? Operator Unsere Lösung heisst EPICS Beschleuniger EPICS Training @ PSI

Was ist EPICS? EPICS steht für: Experimental Physics and Industrial Control System EPICS ist:

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

Die Geschichte – 1989 begann die Zusammenarbeit von Los Alamos National Laboratory (GTA) und Argonne National Laboratory (APS) GTA: Ground Test Accelerator (Bob Dalesio & Marty Kraimer) APS: Advanced Photon Source – Ü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 EPICS Training @ PSI

EPICS – wer benutzt das? Einige Mitglieder Kollaboration (nicht vollständig!): – ANL (APS Accelerator,

EPICS – wer benutzt das? Einige Mitglieder 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 – The Australian Synchrotron (Aus. Sy) in Melbourne, Australien EPICS Training @ PSI

Gibt es Alternativen zu EPICS? • Tango/Taco Entwickelt von der ESRF Wird benutzt von

Gibt es Alternativen zu EPICS? • Tango/Taco Entwickelt von der ESRF Wird benutzt von ESRF, Elettra, Soleil • DOOCS Entwickelt und benutzt von DESY • Tine Entwickelt und benutzt von DESY • ACS Entwickelt und benutzt am PSI EPICS Training @ PSI

Die Kontrollsystem Architektur Netzwerkbasiertes Client/Server Modell (daher das EPICS Logo) EPICS Ein Server bietet

Die Kontrollsystem Architektur Netzwerkbasiertes Client/Server Modell (daher das EPICS Logo) EPICS Ein Server bietet Informationen oder Dienste an CA Client CA Server Ein Client nutzt diese Dienste oder fragt nach diesen Informationen 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

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 1. Abfrage: Broadcast (Rundruf) CA Client Antwort: direkte Verbindung Alle

Channel Access im Netz 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

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 EPICS Datenbank CAS CAS Process Prozess Variablen Variables Variablen EPICS Training @ PSI

Was ist EPICS - Zusammenfassung • EPICS ist eine Kontrollsystemarchitektur • EPICS schaffte eine

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

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 TCL/TK Perl Scripts IOC CAS Kommerzielle Instrumente

Teile eines EPICS Kontrollsystems Client Software MEDM TCL/TK Perl Scripts IOC CAS Kommerzielle Instrumente IOC IOC Input Output ALH OAG Apps Eigenbauten Technische Ausrüstung EPICS Training @ PSI Strip. Tool Und viele andere … Channel Access CA Server Software EPICS Datenbank aus Prozess Variablen Records Sequence Programme Eigene Programme Echtzeit Kontrolle

Typische Umsetzung Desktop IOC CAS Kommerzielle Instrumente IOC IOC Laptop Eigenbauten Technische Ausrüstung Die

Typische Umsetzung Desktop IOC CAS Kommerzielle Instrumente IOC IOC Laptop Eigenbauten Technische Ausrüstung Die meisten CAServer Anwednungen basieren auf Unix/Linux oder Windows (mitlerweile sehr selten) EPICS Training @ PSI Die meisten IOCs basieren auf vx. Works (VME), aber auch Linux und Windows (Soft. IOC)

VME Computer • • • VME steht für VERSAmodule Eurocard Industrie Computer Wurde 1980

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 Vx. Works von Wind River • Sehr teuer und in Zukunft nicht mehr der Standard EPICS Training @ PSI

Was ist eine IOC steht für Input Output Controller • Ein spezieller CA Server

Was ist eine 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 vx. Works (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

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 und gelb Start

Wofür braucht man den Sequenzer? State Machine die Ampel ist rot und gelb Start die Ampel ist ausgefallen die Ampel ist gelb die Ampel ist grün EPICS Training @ PSI

Ein paar CA Clients (von der EPICS Website - unvollständig) • ALH: Alarm Handler

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) • Joi. Mint: Java Operator Interface and Management INtegration Toolkit (DESY) • Knobs: Knob Manager und Knob. Config, eine Schnittstelle zu Sun. Dials • MEDM: Motif Editor und Display Manager • Strip. Tool: Strip-chart Plotting Tool • und viele mehr. . . EPICS Training @ PSI

Beispiele für ALH 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

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

Beispiele für ALH EPICS Training @ PSI

Ein paar CA Clients (von der EPICS Website - unvollständig) • ALH: Alarm Handler

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) • Joi. Mint: Java Operator Interface and Management INtegration Toolkit (DESY) • Knobs: Knob Manager und Knob. Config, eine Schnittstelle zu Sun. Dials • MEDM: Motif Editor und Display Manager • Strip. Tool: Strip-chart Plotting Tool • und viele mehr. . . EPICS Training @ PSI

Beispiele für Strip. Tool EPICS Training @ PSI

Beispiele für Strip. Tool EPICS Training @ PSI

Ein paar CA Clients (von der EPICS Website - unvollständig) • ALH: Alarm Handler

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) • Joi. Mint: Java Operator Interface and Management INtegration Toolkit (DESY) • Knobs: Knob Manager und Knob. Config, eine Schnittstelle zu Sun. Dials • MEDM: Motif Editor und Display Manager • Strip. Tool: Strip-chart Plotting Tool • und viele mehr. . . EPICS Training @ PSI

Beispiele für medm EPICS Training @ PSI

Beispiele für medm EPICS Training @ PSI

Channel Access Kommandos “connection request” oder “search request” Channel Access Client Wer hat eine

Channel Access Kommandos “connection request” oder “search request” Channel Access Client Wer hat eine PV mit dem Namen S 1 A: H 1: Current. AO ? “get” oder “caget” “put” oder “caput” Was ist ihr Wert? Ändere den Wert auf 30. 5 AMPS “set a monitor” “camon” Benachichtige mich, wenn sich der Wert ändert CA Client CA Server Channel Access Server Prozess Variablen: Ich habe sie 25. 5 AMPS S 1 A: H 1: Current. AO S 1: P 1: x OK, jetzt ist der Wert 30. 5 AMP “put complete” S 1: P 1: y oder S 1: G 1: vacuum oder 30. 5 ist zu hoch. Sie wird auf das erlaubte Maximum von 27. 5 AMPS gesetzt. Sie sind nicht berechtigt diesen Wert zu ändern. EPICS Training @ PSI Jetzt - 20. 5 AMPS 10. 5 AMPS 0. 0023 AMPS “post an event” oder “post a monitor”

Das Zusammenspiel der Einzelteile Channel Access Client Operator Channel Access Client Netzwerk (Channel Access

Das Zusammenspiel der Einzelteile Channel Access Client Operator Channel Access Client Netzwerk (Channel Access Protokoll) Channel Access Server Prozess Variablen: S 1 A: H 1: Current. AO S 1: P 1: x S 1: P 1: y S 1: G 1: vacuum Computer Schnittstelle Speisegerät Computer Schnittstelle Beam Position Monitor Computer Schnittstelle Vakuum Sonde EPICS Training @ PSI Maschine

Inhalt • • • Was ist EPICS Die einzelnen Komponenten von EPICS Was sind

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? Ein Wert mit einem Datentyp 295, 5 mit einer Einheit

Was ist ein Messwert? Ein Wert mit einem Datentyp 295, 5 mit einer Einheit m. A 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

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 XYZ 1234 Angestellter: James Bond Felder Dienstmarke : 007 Adresse : Whitehall, London Salär : £ 70070. 07 EPICS Training @ PSI Daten

Vom Messwert zum Record record Ein eindeutiger (ai, "ARIDI-PCT: CURRENT") Name ARIDI-PCT: CURRENT {

Vom Messwert zum Record record Ein eindeutiger (ai, "ARIDI-PCT: CURRENT") Name ARIDI-PCT: CURRENT { ai Ein Wert mit einem Typ "m. A") 295, 5 field (EGU, field. Einheit (EGUF, "400") mit einer m. A field (EGUL, "0") mit einem Zeitstempel 17. 2. 2005 14: 21: 16 field (HOPR, "370") mit einer Gültigkeit (Alarmstatus) field (LOPR, "0") NO_ALARM field (DESC, "Beam current in SR") mit technischenfield Grenzen (DTYP, "HY 8401") 0 bis 400 field (INP, "#C 3 S 0 @") 0 bis 370 mit Darstellungsgrenzen } 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

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. Ein Record Name EGU Ein Prozess Variablen 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

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

Einige Record Typen • Analog in • Analog out • Binary in • Binary out • 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, "Demand. Temp") { field(DESC, "Temperature") field(ASG, "")

Ein Record aus Sicht der IOC record(ao, "Demand. Temp") { 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, "#C 0 S 0") field(OROC, "0. 0 e+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. 0 e+00") field(LOLO, "0. 0 e+00") field(HIGH, "0. 0 e+00") field(LOW, "0. 0 e+00") field(HHSV, "NO_ALARM") field(LLSV, "NO_ALARM") field(HSV, "NO_ALARM") field(LSV, "NO_ALARM") field(HYST, "0. 0 e+00") field(ADEL, "0. 0 e+00") field(MDEL, "0. 0 e+00") field(SIOL, "") field(SIMS, "NO_ALARM") field(IVOA, "Continue normally") field(IVOV, "0. 0 e+00") } EPICS Training @ PSI

Das Record Reference Manual • In Englisch (Amerikanisch) • Erklärt Datenbank Konzepte und Records

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

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 MTRT 1 -TEMP: READ Erzähl mir

Ein Beispiel für ein Record Channel Access Client MTRT 1 -TEMP: READ Erzähl mir alles über . VAL. EGU. STAT MTRT 1 -TEMP: READ IOC Prozess Temperatur Sensor == == == 45. 5 51. 5 Grad CC Normal MAJOR Channel Access Server Analog nach Digital Konverter Database Analog In 45. 5°C 51. 5°C 5. 15 V 4. 55 V 132 116 bits MTRT 1 -TEMP: READ INP VAL EGU : Grad C EGUL: -100 Normaler Betrieb 5 - 50°C 0 – 100°C 8 bit ADC 0 – 10 V -10 – 10 V 0 – 255 bits EPICS Training @ PSI EGUF: 100 HIGH: 51 51. 5 Grad C 45. 5

Ein Record einfach auslesen • VME einschalten (es wird ein Record erzeugt, das mit

Ein Record einfach auslesen • VME einschalten (es wird ein Record erzeugt, das mit dem ersten Potentiometer verknüpft ist) • In einem Terminal eingeben: caget MTRT 1 -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 •

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 • Mit dem Befehl medm den Oberflächeneditor öffnen • Menü File

Eine Benutzeroberfläche erzeugen • Mit dem Befehl medm den Oberflächeneditor öffnen • Menü File und New ankicken • Mit der rechten Maustaste in das neue Fenster klicken und unter Object > Monitors einen "Text Monitor" auswählen (die Grösse im Fenster per Maus angeben) • Unter "Readback Channel" den gewünschten Reord-Namen eingeben (MTRT 1 -TEMP: READ) • Auf "Execute" schalten EPICS Training @ PSI

Medm in Bildern MTRT 1 -TEMP: READ EPICS Training @ PSI

Medm in Bildern MTRT 1 -TEMP: READ EPICS Training @ PSI

Dateien zum Temperatur Beispiel • Die lokalen Dateien stehen im Verzeichnis G/TRAINING/T 1 •

Dateien zum Temperatur Beispiel • Die lokalen Dateien stehen im Verzeichnis G/TRAINING/T 1 • Das. template heisst G_TRAINING_T 1_TEMPERATUR. template • Das substituion heisst MTEST-VME-T 1_example. subs • Das erzeugte Record heisst MTRT 1 -TEMP: READ (bzw. MTRT 2 -TEMP-READ, MTRT 3 -TEMP: READ und MTRT 4 -TEMP: READ) EPICS Training @ PSI

Inhalt der Datein DEVICE = MTRT 1 $(DEVICE)-TEMP: READ MTRT 1 -TEMP: READ EPICS

Inhalt der Datein DEVICE = MTRT 1 $(DEVICE)-TEMP: READ MTRT 1 -TEMP: READ EPICS Training @ PSI

Ein zweites Record erzeugen • Wir haben noch einen weiteren “Temperatursensor” – wir brauchen

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

Installieren einer EPICS Datenbank • Ist alles richtig geschrieben? • Installieren in das Boot-Verzeichnis der IOC slsinstall –V –ioc IOC-NAME (im Verzeichnis, das installiert werden soll) • IOC booten (per Knopf = hard reboot) oder • 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

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

Befehle auf dem VME Computer • Eine Liste aller Records erhält man mit dbl • Interessante Felder anschauen kann man mit dbpr "Recordnamen" dbpr "MTRT 1 -TEMP: READ" • Für Vx. Works Befehle benutzt man help EPICS Training @ PSI

Namenskonvention Die Records müssen eindeutige Namen haben 1. X=Beamline, A=Maschine, M=Test (1 Zeichen) 2.

Namenskonvention Die Records müssen eindeutige Namen haben 1. X=Beamline, A=Maschine, M=Test (1 Zeichen) 2. Projektabkürzung (4 Zeichen), z. B. 06 SA, TEST, RI=Ring, DI=DIAGNOSE 3. Optional: Gerät, Gruppe, z. B. OP, ID 4. Gerät, z. B. MO 5. Optional: Funktion (max. 11 Zeichen), z. B. TRY 1 -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 T 1, T 2, T

Namen für Temperaturfühler M = Test TR = Training T 1, T 2, T 3, T 4 = Trainings-IOC TEMP = Temperatur READ = Record zum lesen Für mehr als einen Temperaturfühler TEMP 1 für den ersten, TEMP 2 für den zweiten: MTRT 1 -TEMP 1: READ und MTRT 1 -TEMP 2: READ EPICS Training @ PSI

Aufgabe: medm Oberfläche • Erzeugt eine medm Oberfläche, die Records enthält: – Eure eigenen

Aufgabe: medm Oberfläche • Erzeugt eine medm 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-T

IOC Status Automatisch werden auf jeder IOC Status Records angelegt: medm –x –macro IOC=MTEST-VME-T 1 /work/sls/config/medm/G_IOCMON_ioc_status. adl EPICS Training @ PSI

Inhalt • • • Was ist EPICS Die einzelnen Komponenten von EPICS Was sind

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 MTRT 1 -LI: TEMP 1

Ein Problem in EPICS lösen ADC Analog In Datenbank MTRT 1 -LI: TEMP 1 Problem: INP Sensor T 1 VAL Berechnung MTRT 1 -LI: CALC Binär I/O Binary out Im Linac eingeschaltet EGU: gibt deg C es einen Wasserkühler, der MTRT 1 -LI: COOL-SW INPA werden muss, wenn die durchschnittliche Temperatur OUT INPB VAL der beiden Temperatursensoren über. DOL einen Grenzwert C: 10 steigt. Der Grenzwert ist normalerweise 10 Grad Analog In ADC CALC: ( (A+B)/2 ) > C Celsius. MTRT 2 -LI: TEMP 2 INP EGU: SCAN: 10 second VAL deg C Sensor T 2 IOC EPICS Training @ PSI Kühler

Die subs Datei • Die Datei heisst: MTEST-VME-T 1_example. subs # bedeutet die Zeile

Die subs Datei • Die Datei heisst: MTEST-VME-T 1_example. subs # bedeutet die Zeile ist ein Kommentar EPICS Training @ PSI

Die template Datei • Vordefinierte Records in der Datei G_TRAINING_T 1_COOLER. template • Würde

Die template Datei • Vordefinierte Records in der Datei G_TRAINING_T 1_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? external. Links subs-Datei • Wie hiess

Nüzliche Scripte • Habe ich alles richtig geschrieben? external. Links subs-Datei • Wie hiess noch gleich dieses Record? findrecord Namensteil • Wann hat die IOC zuletzt gebootet? bootinfo IOC-Name • Oder ein paar mehr Infos aus der Datenbank: http: //pc 4860/testplan/hosts_iocs_list_pub. php EPICS Training @ PSI

Wann wird ein Record prozessiert? • Ein Record kann periodisch prozessiert werden oder durch

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

medm Fenster entwickeln Es soll dargestellt werden: • Beide Temperaturen der Sensoren • Die

medm 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 EPICS Training @ PSI

Weitere Aufgaben • Die Durchschnittstemperatur darstellen • Die Grenztemperatur von 10 Grad soll über

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 "#C 2 S 33 @" • Es gibt eine weitere solche Harware Anordnung im Speicherring (alles dupizieren) EPICS Training @ PSI

10 nette Tatsachen über EPICS 1. 2. 3. 4. Es ist gratis Es ist

10 nette Tatsachen über EPICS 1. 2. 3. 4. 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 5. Man kann unter den besten Werkzeuge auswählen … 6. … oder seine eigenen schreiben 7. Der langweilige Teil ist schon gemacht 8. Es gibt bereits eine Menge Erfahrungen in verschiedenen Instituten 9. Eine gute Erweiterung findet internationale Aufmerksamkeit 10. Es ist egal, ob man 10 oder 10 Millionen PVs braucht (beliebig skalierbar) EPICS Training @ PSI

Die EPICS Web Seite Der zentrale Ort, um Informationen über EPICS zu finden -

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