Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Getting Started with EPICS Lecture Series Introductory Session II Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 2 Elke Zimoch Original von.

Ähnliche Präsentationen


Präsentation zum Thema: "Getting Started with EPICS Lecture Series Introductory Session II Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 2 Elke Zimoch Original von."—  Präsentation transkript:

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

2 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

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

4 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch IOCs vorgestellt 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 IOC steht für Input Output Controller

5 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch Das Innenleben einer IOC LAN (Netzwerk) Device Support I/O Hardware (Instrumente) IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) Database Sequencer Channel Access

6 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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 CA Client CA Server Workstation IOC Network

7 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch Das Innenleben einer IOC Channel Access LAN (Netzwerk) Device Support I/O Hardware (Instrumente) IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) Sequencer Database

8 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

9 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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 XYZ1234 Angestellter: James Bond Dienstmarke : 007 Adresse : Whitehall, London Salär : £ Einmaliger Name Felder Daten

10 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

11 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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: Ein Record Name L1:water:temperature Ein Feld Name EGU. Ein Punkt zum Zusammenfügen Ein Prozess Variablen Name 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

12 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

13 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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)

14 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

15 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch Graphische Darstellung eines Records

16 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch Ein Record aus Sicht der IOC 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") } 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")

17 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

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

19 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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)

20 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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. Database Processing Binary out L1:water:chillerCtl Berechnung L1:water:tempChk CALC: ( (A+B)/2 ) > C C: 10 SCAN: 10 second Analog In L1:water:temp1 EGU: deg C VAL INP EGU: deg C VAL INP INPB INPA VAL DOLOUT T2 Sensor T1 IOC Datenbank ADC Binär I/O Kühler Analog In L1:water:temp2

21 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch Das Innenleben einer IOC Channel Access LAN (Netzwerk) Device Support I/O Hardware (Instrumente) IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) Database Sequencer

22 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

23 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch SNL setzt State Transition Diagrams (STD) um Status A (State A) Status B (State B) Event Aktion Transition (Übergang) von A nach B State Transition Diagrams (STD) veranschaulichen die möglichen Übergänge des Systems aus einem Status in einen anderen

24 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch STD Beispiel Start schlechtes Vakuum gutes Vakuum Druck > 5.1 uTorr Pumpe einschalten Druck < 4.9 uTorr Pumpe ausschalten

25 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch Das Innenleben einer IOC Channel Access LAN (Netzwerk) I/O Hardware (Instrumente) IOC Die wesentlichen Softwarekomponenten einer IOC (IOC Core) Database Sequencer Device Support

26 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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)

27 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

28 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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) VorteileNachteile 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

29 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

30 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

31 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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*: MachineOSCPUSpeedRec/sec%CPU MVME167vxWorks MHz MVME 2306vxWorksPPC604300MHz MVME5100vxWorksPPC750450MHz40000**10** PCLinuxP42.4GHz Datenbank Design und periodisches Prozessieren beeinflussen die sichtbare Geschwindigkeit *durchgeführt von Steve Hunt (PSI) **Extrapolier von Test durchgeführt von L.Hoff (BNL)

32 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch Aus 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. Sichtbare Leistung Binary out L1:water:chillerCtl Berechnung L1:water:tempChk CALC: ( (A+B)/2 ) > C C: 10 SCAN: 10 second Analog In L1:water:temp1 EGU: deg C VAL INP EGU: deg C VAL INP INPB INPA VAL DOLOUT T2 Sensor T1 IOC Datenbank ADC Binär I/O Kühler Analog In L1:water:temp2 An jetzt prozessieren SCAN: 10 second jetzt prozessieren

33 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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)

34 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

35 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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 MEDM Virtual Linac startet das medm Fenster Start Virtual Linac startet die IOC des virtuellen LINAC 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

36 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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 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.

37 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch 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

38 Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch Danksagung John Maclean (APS-BCDA) Andrew Johnson (APS-Controls) Bob Dalesio (LANL) Deb Kerstiens (LANL) Rozelle Wright (LANL)


Herunterladen ppt "Getting Started with EPICS Lecture Series Introductory Session II Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 2 Elke Zimoch Original von."

Ähnliche Präsentationen


Google-Anzeigen