EPICS Training @ PSI Controls Section PSI 2014.

Slides:



Advertisements
Ähnliche Präsentationen
Einer der Dienste im Internet
Advertisements

Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Lizenzen und virtuelle Maschinen
Attribute Protocol.
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
Systemverwaltung wie es Ihnen gefällt.
Basis-Architekturen für Web-Anwendungen
Windows 2000 Musterlösungen für Schulen in Baden-Württemberg Musterlösung für schulische Netze mit Windows 2000 © Zentrale Planungsgruppe Netze am Ministerium.
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Attribute Profile.
Netzwerke im Dialogmarketing
RUP-Elemente (Schlüsselkonzepte)
Java: Grundlagen der Sprache
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
Polymorphie (Vielgestaltigkeit)
SQL als Abfragesprache
Sicher durchs Internet
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
Schulen ans Netz Oberhausener Moderatoren
Einführung in die Technik des Internets
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Wismar Business School
Herzlich Willkommen Roland Kistler Sales Engineer
Kurzanleitung für Laptop-Zugang 1. WICHTIG: Bringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellsten Stand. 2. WICHTIG: Installieren Sie.
Kurzanleitung für Laptop-Zugang 1. WICHTIG: Bringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellsten Stand. Entsprechende CDs finden Sie.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
... und alles was dazugehört
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Seniorkom.at vernetzt Jung & Alt Das Internet ist reif
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Automatische Übersetzungen mit Google
Einstellungen im Web für Outlook
Unterwegs im Internet.
Hyperlinks und Anker Links notieren
Loslegen mit EPICS Vortragsreihe auf Deutsch
Steuerung externer Komponenten über ein USB-Interface.
PSI - Überblick und Szenarien
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Typo 3. INSTALLATION TYPO3 INSTALLTOOL EXTENSIONS UND TEMPLATES INSTALLATION TEMPLAVOILA USERMANAGEMENT Inhalt:
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Zeit:Aktion: 08:30Begrüßung, Organisation 08:45Einführung - Was heißt OPC - OLE for Process Control --> Folie - OPC definiert eine offene Schnittstelle,
Präsentation von Lukas Sulzer
Netzwerke.
Das IT - Informationssystem
Dynamische Webseiten-Generierung
+ Arbeitsbericht mit Blick in die Zukunft M. Pernicka
Rechnersysteme: Halbzeit Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Daten und Information.
CMS Content-Management-Systeme (CMS), dienen der Verwaltung und Pflege von Dokumenten und Inhalten in Inter- und Intranetanwendungen. Den Entwickler oder.
Backup der FTP-Daten mit BYSU (Back Your Space Up von George Ruinelli) Eine mögliche Variante, um FTP- Daten bei dem Provider „All-Inkl“ zu sichern.
Kaseya Virtual System Administrator Produkt Update 7.0 Rocco van der Zwet Copyright ©2014 Kaseya 1.
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
->Prinzip ->Systeme ->Peer – to – Peer
2. April 2015Solveigh Matthies BioRem als FESA3-Klasse BioRem-Ansteuerung mit einer FESA3- Klasse Sinn&Zweck Funktionialit ä t Implementierung.
Was wäre wenn….. SNMP (Simple Network Managment Protocol)
Installation, Konfiguration, Online stellen, Zugriff © by Lars Koschinski 2003.
Das IT - Informationssystem
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
Datenverarbeitung Kennen Sie wichtige Fakten? MS-Power-Point-Präs. H.-A. Riepel 00/07.
Digitale Annotationen. Grundlage: John Bradley “Towards a Richer Sense of Digital Annotation: Moving Beyond a Media Orientation of the Annotation of Digital.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Verknüpfung von Tabellen
Loslegen mit EPICS Vortragsreihe auf Deutsch
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Berliner Elektronenspeicherring-Gesellschaft für Synchrotronstrahlung m.b.H., Albert-Einstein-Straße 15, Berlin frontend control at BESSY R. Fleischhauer.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Folie 1 ONLINE USV-Systeme AG Roland Kistler, März 2013 Herzlich Willkommen Roland Kistler Sales Engineer Tel. +49 (89)
Magische Wand Ein Spiel zum Thema: Betriebssysteme.
ZST ZIMO Software Tool © Ing. Arnold Hübsch 2005.
 Präsentation transkript:

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