Loslegen mit EPICS Vortragsreihe auf Deutsch

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Tuning Tools für Windows
Die Installation von Windows 95 erfordert etwas Vorarbeit: Als erstes müssen Sie mit einer Windows 95 Startdiskette den Computer booten.... Dabei wird.
Einer der Dienste im Internet
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Lizenzen und virtuelle Maschinen
Attribute Protocol.
Dynamische Seiten mit Dreamweaver Zugriff auf (mysql) Datenbank mit PHP.
Informatik Tagesprotokoll vom
Multimediasteuerungen
CD-ROMs im Netz Direkter Zugriff auf CD-ROMs via Web-Browser Hartmut Jörg.
Dateisysteme Was sind Dateisysteme (Definition)
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Windows auf öffentlichen PCs
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Atmel AVR JTAG Einführung
Windows Universität zu Köln
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
PC I Kursdauer:3 x 3 Stunden Dozentin:Johanna Vohwinkel.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
Linux-HA-Cluster – Heartbeat mit DRBD
Einführung MySQL mit PHP
PHP Pakete und Beispiele Webengineering Robert Lemke.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
Referat zum Thema „DLL“
... und alles was dazugehört
Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein:
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Installationsdiskette booten Startdiskette und CD-1 einlegen und den Rechner starten Auswahl: Deutsch Auswahl: Farbbildschirm Auswahl: Deutsch Auswahl:
TCP/IP-Ethernet.
Name des Vortragenden Klasse Ort / tt.mm.jjjj Beschreibung Zentraleinheit CPU, Motherbord, RAM.
Michael Haverbeck System Engineer
DNS Domain Name System oder Domain Name Service
Steuerung externer Komponenten über ein USB-Interface.
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Kostenlose Alternative zu Microsoft Office
Tobias Kluge: FAME Middleware / Karlsruhe / The FAME project – Middleware.
Betriebssysteme & BIOS
CGI (Common Gateway Interface)
Computerorientierte Physik VORLESUNG
EPICS PSI Controls Section PSI 2014.
Präsentation von Lukas Sulzer
Saia® Systemkatalog Kapitel A2 – Bedienen und Beobachten
Warum gibt es Netzwerke?
PRO:CONTROL Ziel des Moduls Arbeitspakete
Netzwerke.
Verarbeitung und Computerinneres
1 Windows – mein Betriebssystem 4.2 – Meine eigene digitale Welt.
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter „EVA-WAS-Quickie“ Eingabe – Verarbeitung - Ausgabe.
->Prinzip ->Systeme ->Peer – to – Peer
Was wäre wenn….. SNMP (Simple Network Managment Protocol)
Installation, Konfiguration, Online stellen, Zugriff © by Lars Koschinski 2003.
CODA - Installation Installation der Binärdateien –Venus: Client-Programm –Vice: Server-Programm –Für Windows existiert eine Alpha-Version (Coda Client.
Betriebssysteme: Windows-OS
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
Datenbanken im Web 1.
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
User Mode Linux Sven Wölfel 1. Juni User Mode Inhalt  Was ist UML?  Wofür kann man UML benutzen?
PERL Eike Busse2 Gliederung 1.Einleitung 2.Geschichte 3.Eigenschaften/Merkmale von Perl 4.HTTP Server und Perl 5.Sicherheit 6.Perl programmieren.
Loslegen mit EPICS Vortragsreihe auf Deutsch
Windows und LINUX Linux für Windows Nutzer. Übersicht Warum Windows, warum Linux ? Welches Linux für wen ? Windows und Linux gemeinsam Beispiel ct 2005/2,
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Ein kleiner Einblick für Anfänger
Betriebssysteme Was ist ein BS?
Berliner Elektronenspeicherring-Gesellschaft für Synchrotronstrahlung m.b.H., Albert-Einstein-Straße 15, Berlin frontend control at BESSY R. Fleischhauer.
Folie 1 ONLINE USV-Systeme AG Roland Kistler, März 2013 Herzlich Willkommen Roland Kistler Sales Engineer Tel. +49 (89)
J Walk/GUI400 für Einsteiger License Manager Installationsvorgang © NewServ AG, Uitikon.
 Präsentation transkript:

Loslegen mit EPICS Vortragsreihe auf Deutsch 3/28/2017 Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 2 Elke Zimoch Original von John Maclean 2004 Getting Started with EPICS Lecture Series Introductory Session II Test

Inhaltsübersicht IOCs vorgestellt: Channel Access (CA) 3/28/2017 Inhaltsübersicht IOCs vorgestellt: Channel Access (CA) Record Datenbank Sequencer Gerätetreiber (Device Support) Die richtigen Werkzeuge auswählen Wann benutzt man eine Datenbank Wofür wird der Sequencer gebraucht? Why write your own CA client program? How fast is EPICS? How to find more information Virtual LINAC installation Test

Standard Form eines EPICS Kontrollsystems 3/28/2017 Standard Form eines EPICS Kontrollsystems Client Software MEDM ALH StripTool TCL/TK Perl Scripts OAG Apps Und viele andere … Output IOC CAS IOC Channel Access Input IOC Software EPICS Datenbank Sequence Programme Eigene Programme Kommerzielle Instrumente Eigenbauten Echtzeit Kontrolle Technische Ausrüstung CA Server Anwedungen Prozess Variablen Test

IOCs vorgestellt IOC steht für 3/28/2017 IOCs vorgestellt IOC steht für Input Output Controller 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) or RTEMS PC, Betriebssystem Windows, Linux, RTEMS Apple, Betriebssystem OSX UNIX Workstation, Betriebssystem Solaris Hat normalerweise Input und/oder Output Geräte angeschlossen Ein EPICS Kontrollsystem besteht aus mindestend einem Channel Access Server (normalerweise einer IOC) Eine IOC hat eine oder mehrere Record Datenbanken geladen, die festlegen, was diese IOC macht Test

Das Innenleben einer IOC 3/28/2017 Das Innenleben einer IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) LAN (Netzwerk) IOC Channel Access Database Sequencer Device Support I/O Hardware (Instrumente) Test

Channel Access Erlaubt es anderen Programmen (CA Clients) den Wert von Prozessvariablen auf einer IOC (CA Server) auszulesen und zu ändern CA Clients können die Daten einer Process Variablen Schreiben (Put) Lesen (Get ) Monitoren IOCs sind sowohl CA Clients als auch CA Server. Sie können mit anderen IOCs interagieren Ein CA Client kann Verbindung zu vielen Servern aufbauen Ein CA Server kann viele Clients bedienen Channel Access ist ein sehr effizientes und verlässliches Protrokoll Workstation CA Client Network CA Server IOC

Das Innenleben einer IOC 3/28/2017 Das Innenleben einer IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) LAN (Netzwerk) IOC Channel Access Database Sequencer Device Support I/O Hardware (Instrumente) Test

EPICS Datenbanken – Wofür sind sie gut? 3/28/2017 EPICS Datenbanken – Wofür sind sie gut? Sie bilden eine Schnittstelle zur Steuerung der Geräte Sie ermöglichen eine Verteilte Verarbeitung Sie ermöglichen einen externen Zugriff auf alle Prozess Informationen Sie benutzen universelle, bewährte Objekte (records) um Daten zu sammln, zu bearbeiten und zu verteilen Sie stellen einen universellen Werkzeugsatz zur Verfügung um Anwendungen zu entwickeln Test

Was ist ein Datensatz (Record)? 3/28/2017 Was ist ein Datensatz (Record)? Ein Datensatz ist ein Object mit Einem einmaligen Namen Merkmalen (Feldern) die Informationen (Daten) enthalten Der Fähigkeit, mit diese Daten Aktionen durchzuführen Einmaliger Name XYZ1234 Angestellter: James Bond Dienstmarke : 007 Adresse : Whitehall, London Salär : £70070.07 Felder Daten Test

Was sind EPICS Records? Ein Record ist ein Objekt mit… 3/28/2017 Was sind EPICS Records? Ein Record ist ein Objekt mit… Einem einmaligen Namen, z.B. ARIDI-PCT:CURRENT Kontrollierbaren Merkmalen (Feldern), z.B. EGU Einem Verhalten – festgelegt durch den Record-Typ Optional verknüpft mit Hardware I/O (device support) Links (Verbindungen) zu anderen Records Jedes Feld kann individuell über den Namen angesprochen werden Die Kombination aus einem Record Namen und dem Feld Namen ergibt den Namen eine Prozess Variablen (PV) Der Name einer Prozess Variablen ist das, was Channel Access benötigt um auf Daten zuzugreifen Test

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: L1:water:temperature . 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 “L1:water:temperature” = “L1:water:temperature.VAL”

Was machen Records? Records sind aktiv, sie tun Dinge: 3/28/2017 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 Test

Record types Record-Typen können in vier Klassen eingeteilt werden: 3/28/2017 Record types Record-Typen können in vier Klassen eingeteilt werden: Input (von der Hardware zum Benutzer), z.B. Algorithmen/Steuerung, z.B. Output (vom Benutzer zur Hardware), z.B. Speziell entwickelte Typen, z.B. Analog In (AI) Binary In (BI) Calculation (CALC) Subroutine (SUB) Analog Out (AO) Binary Out (BO) Beam Position Monitor Multi Channel Analyzer (MCA) Test

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

Graphische Darstellung eines Records 3/28/2017 Graphische Darstellung eines Records Test

Ein Record aus Sicht der IOC 3/28/2017 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") } Test

EPICS Datenbank – Was ist das? 3/28/2017 EPICS Datenbank – Was ist das? Eine Sammlung von mehreren EPICS Records , die verschiedene Typen haben können Records, die miteinander verknüpft sein können und als Bausteine für die Entwicklung von Anwendungen benutzt werden Eine Datei, die beim Booten in den Speicher der IOC geladen wird Channel Access kommuniziert mit dieser Kopie der Datenbank im Speicher der IOC Test

Unsere erste Datenbank Channel Access Client ProcTemp .VAL = 45.5 .EGU = Grad C .STAT = Normal ProcTemp .VAL = 51.5 .EGU = Grad C .STAT = MAJOR Erzähl mir alles über ProcTemp IOC Channel Access Server Prozess Temperatur Sensor Analog nach Digital Konverter Database Analog In ProcTemp 45.5 Grad C 51.5 Grad C 45.5°C 51.5°C 5.15V 4.55V 132 bits 116 bits INP VAL EGU :Grad C EGUL: 0 EGUF: 100 Normaler Betrieb 5 - 50°C 0 – 100°C 0 – 10V 8 bit ADC 0 – 10V 0 – 255 bits HIGH: 51

Wann wird ein Record prozessiert? 3/28/2017 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) Test

Database Processing Problem: 3/28/2017 Database Processing ADC Analog In Datenbank Sensor T1 L1:water: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 L1:water:tempChk EGU: deg C L1:water:chillerCtl INPA INPB VAL DOL OUT C: 10 Analog In Kühler ADC CALC: ( (A+B)/2 ) > C L1:water:temp2 SCAN: 10 second T2 Sensor INP VAL EGU: deg C IOC Test

Das Innenleben einer IOC 3/28/2017 Das Innenleben einer IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) LAN (Netzwerk) IOC Channel Access Database Sequencer Device Support I/O Hardware (Instrumente) Test

3/28/2017 Der Sequencer Der Sequencer startet Programme in State Notation Language (SNL) SNL ist eine ‘C’ ähnliche Sprache, welche die Programmierung von Sequenzen vereinfacht Der SNL Quellcode muss compiliert werden Der Sequencer bietet eine Schnittstelle um EPICS in ein Echtzeit System zu integrieren Wozu braucht man so etwas: Um automatische Start-Sequenzen zu realieseren, z.B. für Vakuum oder RF Systeme Um in einen sicheren Zustand zu wechseln, zB. Automatische Abschaltungen Um automatische Kalibration von Geräten zu implementieren Test

SNL setzt State Transition Diagrams (STD) um veranschaulichen die möglichen Übergänge des Systems aus einem Status in einen anderen Status A (State A) Transition (Übergang) von A nach B Event Aktion Status B (State B)

STD Beispiel Start schlechtes Vakuum Druck > 5.1 uTorr Pumpe einschalten gutes Vakuum Druck < 4.9 uTorr Pumpe ausschalten

Das Innenleben einer IOC 3/28/2017 Das Innenleben einer IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) LAN (Netzwerk) IOC Channel Access Database Sequencer Device Support I/O Hardware (Instrumente) Test

Gerätetreiber (Device Support) Die Schnittstelle zwischen Datenbank und Hardware bilden Gerätetreiber (Device bzw. Driver Support) Beispiele für Hardware sind: VME Karten: ADC, DAC, Binary I/O u.s.w. Motor Steuerungen Oszilloskope SPS (PLC)

Device Support (Gerätetreiber) Muss für “neue” Hardware normalerweise neu geschrieben werden Die gute Nachricht – normalerweise hat schon jemand einen Gerätetreiber für Dein Gerät geschrieben, oder für ein ähnliches Auf der EPICS Web Seite findet man eine Liste mit Hardware für die bereits ein Treiber existiert Oder man fragt die anderen EPICS Anwender

Wann sollte man Datenbanken benutzen Für Hardware Verbindungen Für Echtzeit Anforderungen (keine Netzwerk Verzögerungen) Immer, wenn eine Datenbank gut genug ist (Geschmacks Sache) Vorteile Nachteile Vereinfacht Hardware Verbindungen … wenn man einen Gerätetreiber hat Konfiguration statt Programmierung … wenn man verstanden hat, wie eine Datenbank arbeitet Datenbanken können von anderen EPICS Entwicklern leicht verstanden werden Geschwindigkeit

Wann sollte man den Sequencer benutzen? Für komplexe Übergänge zwischen Zuständen und komplexe Sequenzen z.B. parken und aktivieren eines Teleskopspiegels Photograph courtesy of the Gemini Telescopes project

Wann sollte man CA Clients benutzen? Um mit dem Kontrollsystem zu interagieren: Vieles existiert bereits – MEDM, ALH, Strip Tool, archiver u.s.w. Zur Datenanalyse oder Darstellung Zur Überwachung der Abläufe Zum Beispiel um einen Beschleuniger zu betreiben

Wie schnell ist EPICS? EPICS kann schnell oder langsam sein, je nachdem, wie es benutzt wird! Es sollte immer das geeignete Werkzeug für eine Problem benutzt werden: Datenbank, Sequencer, spezielle Programme auf der IOC oder spezielle Client Programme Letztendlichhängt die Geschwindigkeit von der Hardware ab Ein paar Benchmarks*: Machine OS CPU Speed Rec/sec %CPU MVME167 vxWorks 68040 33MHz 6000 50 MVME 2306 PPC604 300MHz 10000 10 MVME5100 PPC750 450MHz 40000** 10** PC Linux P4 2.4GHz 50000 9 *durchgeführt von Steve Hunt (PSI) **Extrapolier von Test durchgeführt von L.Hoff (BNL) Datenbank Design und periodisches Prozessieren beeinflussen die sichtbare Geschwindigkeit

Sichtbare Leistung Problem: 3/28/2017 Sichtbare Leistung ADC Datenbank Analog In Sensor T1 jetzt prozessieren jetzt prozessieren L1:water: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 Aus An INP VAL Binary out L1:water:tempChk EGU: deg C L1:water:chillerCtl INPA 12 INPB VAL DOL OUT 14 jetzt prozessieren C: 10 SCAN: 10 second ADC Analog In Kühler CALC: ( (A+B)/2 ) > C L1:water:temp2 SCAN: 10 second 1 T2 Sensor INP VAL EGU: deg C IOC Test

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

Wie man den virtuellen LINAC installiert Auf Linux, Solaris, Mac OSX Die CD einlegen Die CD mounten (wenn dies nicht automatisch geschieht) Das Programm setup.sh von der CD starten In das Installationsverzeichnis wechseln (cd) Mit dem Programm start.sh sowohl das medm Fenster als auch die IOC des virtuellen LINAC starten Oder die verschiedenen Dinge individuell mit den mitgelieferten Programmen starten

Wie man den virtuellen LINAC installiert - Windows Achtung: Es muss das Programm Exceed V7.0 oder später installiert sein Die CD einlegen Wenn autorun eingeschaltet ist, erscheint ein Fenster mit Anweisungen, wenn nicht, sollte die Datei ‘WIN32/README.HTM’ (auf der CD) mit einem Browser geöffnet werden Die Erweiterungen (Extensions) werden von der CD mit dem Programm ‘WIN32/EPICSEX39ISETUP.EXE’ installiert Der virtuelle LINAC wird von der CD mit dem Programm ‘WIN32/VIRTUALLINACSETUP.EXE’ installliert Die Icons der Programme erscheinen dann auf dem Desktop und im Startmenu ‘MEDM Virtual Linac’ startet das medm Fenster ‘Start Virtual Linac’ startet die IOC des virtuellen LINAC

Wenn man die CD nicht hat Die CD Image Datei und die Versionen für die verschiedenen Betriebssysteme können von folgender Webseite herunter geladen werden http://www.aps.anl.gov/epics/download/examples/index.php Achtung, die CD Image Datei hat image Format. Das bedeutet, man braucht einen Befehl wie zum Beispiel “Create CD from image file” im Brennprogramm unter Windows um die CD zu erzeugen.

Zusammenfassung Input Output Controllers (IOCs) sind ein fundamentaler Teil eines EPICS Kontrollsystems Die Datenbank ist ein elementares Hilfsmittel um einer IOC mitzuteilen, was sie tun soll Eine EPICS Datenbank besteht aus Records, deren Konfiguration die Funktion der Anwendung bestimmt Channel Access ist ein Netzwerk Protokoll, mit dem die Verbindung zu Record Feldern hergestellt wird Sequencer Programme können eingesetzt werden um komplexe Operationen der Reihe nach auszuführen Gerätetreiber (Device Support) erlauben er den Records mit der Hardware zu interagieren EPICS ist schnell, kann aber langsam wirken, wenn es ineffizeint eigesetzt wird

Danksagung John Maclean (APS-BCDA) Andrew Johnson (APS-Controls) Bob Dalesio (LANL) Deb Kerstiens (LANL) Rozelle Wright (LANL)