Getting Started with EPICS - PowerPoint PPT Presentation

About This Presentation
Title:

Getting Started with EPICS

Description:

Title: EPICS Getting Started Lecture Series Author: IPD Last modified by: Elke Created Date: 5/27/2003 8:34:38 PM Document presentation format – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 48
Provided by: IPD71
Category:

less

Transcript and Presenter's Notes

Title: Getting Started with EPICS


1
Loslegen mit EPICS Vortragsreihe auf Deutsch
  • Einleitung Teil 1

Elke Zimoch Original von Ned Arnold 2004
2
Loslegen mit EPICS
  • Zwei Kontrollgruppen des Argon National
    Laboratory haben im Jahr 2004 die Vortragsreihe
    Getting Started with EPICS entwickelt. Im
    Dezember des Jahres entstand auf dem EPICS
    Workshop in Japan die Idee, diese Vortragsreihe
    ganz oder teilweise zu übersetzten. Daraus ist
    die deutsche Version Loslegen mit EPICS
    entstanden. Die Vortragsreihe umfasst die
    folgenden Themen
  • Einleitungen zu EPICS
  • Getting Started with Using EPICS Tools
  • Getting Started with Developing EPICS Tools
  • Getting Started with Input/Output Controllers
  • Applications/Special Topics

3
Einleitung Teil 1
  • Inhalt
  • Was ist EPICS
  • Wie arbeitet EPICS
  • Ein kleines EPICS Wörterbuch
  • Einführung in die Anwendung des Virtual LINAC

4
Was ist EPICS?
  • Eine Kollaboration
  • Eine Kontrollsystem Architektur
  • Eine Software Werkzeugsammlung

5
Was ist EPICS? Eine Kollaboration
  • 1989 begann die Zusammenarbeit von LANL/GTA und
    ANL/APS
  • (Bob Dalesio Marty Kraimer)
  • Über 150 Lizenzen wurden vergeben, bevor EPICS
    zur freien Software (Open Source) wurde
  • Ein Beispiel Der EPICS Workshop 2004 in Santa Fe
  • über 100 Teilnehmer
  • von 34 Institutionen
  • über 75 Presentationen in drei Tagen
  • Tägliche Zusammenarbeit die Maillisten Tech
    Talk etc.
  • Der Einsatz für die Kollaboration ist verschieden
  • Hilfe bei Fehlersuche
  • Veröffentlichung von Werkzeugen, Systemen und
    Beratung

LANL Los Alamos National Laboratory GTA Ground
Test Accelerator ANL Argonne National
Laboratory APS Advanced Photon Source
6
Was ist EPICS? Eine Kollaboration
  • 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 (SLS) in Villigen, Schweiz
  • KEK in Tsukuba, Japan
  • DIAMOND Light Source (Rutherford Appleton
    Laboratory) in Oxfordshire, England
  • The Australian Synchrotron (AusSy) in Melbourne,
    Australien

7
Was ist EPICS?
  • Eine Kollaboration
  • Eine Kontrollsystem Architektur
  • Eine Software Werkzeugsammlung

8
Was ist EPICS? - Eine Kontrollsystem Architektur
  • Netzwerkbasiertes Client/Server Modell (daher das
    EPICS Logo)

EPICS
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

9
Was ist EPICS? - Eine Kontrollsystem Architektur
  • Channel Access Clients (CAC) sind Programme, die
    den Zugriff auf diese Prozess Variablen für ihre
    Ausführung benötigen

StripTool
MEDM
CAC
CAC
Der Dienst, den Channel Access Server (CAS)
anbieten, ist Zugriff auf eine sogenannte Prozess
Variable
Prozess Variablen
Prozess Variablen
CAS
CAS
Eine Prozess Variable (PV) ist ein Datensatz
mit einem Namen
10
Was ist EPICS? - Eine Kontrollsystem Architektur
  • Eine Prozess Variable (PV) ist ein Datensatz mit
    einem Namen, zum Beispiel ein Setzwert, ein
    Rücklesewert, ein Status, ein Parameter usw.
  • Beispiele von PV Namen und Werten
  • ARIDI-PCTCURRENT 320 mA
  • X10SA-OP-SH1SIZE-SET 5 mm
  • BOOSTERgateValvePosition OPEN
  • S3DIPOLEPSsetPoint 123.4 Amps
  • APSMode Stored Beam
  • BL3HISTOGRAM 3, 8, 1, 2, 56, 44, 32, 43, 3,
    5, 1
  • Die Namen sind im Prinzip willkürlich und folgen
    in jedem Institut einer anderen Namenskonvention

SLS
APS
11
Was ist EPICS? - Eine Kontrollsystem Architektur
  • Eine Prozess Variable ist ein Datensatz mit einem
    Namen und Attributen
  • Beispiele für Attribute
  • Alarm Severity Wichtigkeit eines
    Fehlerzustandes (NO_ALARM, MINOR, MAJOR, INVALID)
  • Alarm Status Grund für einen Fehlerzustand
    (z.B. READ_error)
  • Zeitstempel (Wann wurde der Wert gesetzt)
  • Anzahl der Werte (array)
  • Normaler Betriebsbereich
  • Begrenzung der Werte
  • Engineering Unit Einheit (z.B. mA, mm, MW)

12
Was ist EPICS? - 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
13
Was ist EPICS? - Eine Kontrollsystem Architektur
  • Normalerweise sind Channel Access Verbindungen
    auf ein Subnetz beschränkt, aber man kann über
    Konfigurationen einstellen, dass die Verbindungen
    auch weitreichender sind.
  • Physikalische Hirarchien können durch den Einsatz
    von Gateways aufgebaut werden.

Gateway
14
Was ist EPICS?
  • Eine Kollaboration
  • Eine Kontrollsystem Architektur
  • Eine Software Werkzeugsammlung

15
Was ist EPICS? - Eine Software Werkzeugsammlung
Mein spezielles Daten- erfassungs- programm
  • Jedes Programm und jede Anwendung, die mit dem
    Channel Access Protokoll arbeitet, kann man als
    EPICS verträglich bezeichnen.

StripTool
MEDM
CAC
CAC
CAC
Man kann EPICS als eine Werkzeugsammlung
betrachten, die aus allen EPICS verträglichen
Programmen besteht. Jeder kann sich das Werkzeug
aussuchen, das am besten zur Aufgabenstelllung
passt, oder auch ein eigenes entwickeln.
Meine Beschleuniger Simmulation (PVs)
CAS
iocCore (PVs)
LabView (PVs)
CAS
CAC
CAS
CAC
16
Was ist EPICS? Eine Zusammenfassung
  • Eine Kollaboration
  • Eine weltweite Kollaboration, die Designs,
    Software Werkzeuge und Erfahrungen zur
    Entwicklung von Kontrollsystemen für Grossanlagen
    untereinander austauscht
  • Eine Kontrollsystem Architektur
  • Ein Client/Server Modell mit einem effizienten
    Kommunikationsprotokoll (Channel Access) für den
    Austausch einfacher Daten
  • Eine verteilte Echtzeit-Datenbank der
    Maschinenwerte
  • Eine Software Werkzeugsammlung
  • Eine Sammlung von gemeinschaftlich entwickelten
    Software Werkzeugen zum Aufbau eines
    verständlichen und erweiterbaren Kontrollsystems

17
Einleitung Teil 1
  • Inhalt
  • Was ist EPICS
  • Wie arbeitet EPICS
  • Ein kleines EPICS Wörterbuch
  • Einführung in die Anwendung des Virtual LINAC

18
Was kann EPICS leisten?
  • Fernsteuerung und Überwachung von technischer
    Ausrüstung
  • Daten-Konvertierung und -Filterung
  • Regelschleifen
  • Zugriffsüberwachung
  • Beschränkung der Betriebszustände
  • Fehler-Erfassung/-Meldung/-Aufzeichnung
  • Daten-Archivierung/-Darstellung
  • Automatisierung von Abläufen
  • Modellierung/Simulation
  • Speichern und Laden von komplexen
    Betriebszuständen
  • Datenerfassung
  • Datenanalyse

19
Wie macht EPICS das?
Channel Access Client
Operator
Channel Access Client
Channel Access Client
Netzwerk (Channel Access Protokoll)
Channel Access Server
Prozess Variablen
Speise-gerät
Computer Schnittstelle
S1AH1CurrentAO S1P1x S1P1y S1G1vacuum
Beam Position Monitor
Computer Schnittstelle
Vakuum Sonde
Maschine
Computer Schnittstelle
20
Wo wird was gemacht?
Fernsteuerung und Überwachung
Beschränkung der Betriebszustände
Fehler-Meldung Aufzeichnung
Automatisierung von Abläufen
Modellierung Simulation
Daten-Archivierung/-Darstellung
Konfiguration der Betriebszustände
Regelschleifen
Channel Access Client
Operator
Channel Access Client
Channel Access Client
Netzwerk (Channel Access Protokoll)
Channel Access Server
Prozess Variablen
Speise-gerät
Computer Schnittstelle
S1AH1CurrentAO S1P1x S1P1y S1G1vacuum
Automatisierung von Abläufen
Zugriffsüberwachung
Beschränkung der Betriebszustände
Fehler-Erfassung
Regelschleifen
Daten-Konvertierung und -Filterung
Daten-Archivierung
iocCore
Beam Position Monitor
Computer Schnittstelle
Vakuum Sonde
Maschine
Computer Schnittstelle
21
Standard Form eines EPICS Kontrollsystems
Output
Channel Access
Input
Kommerzielle Instrumente
Eigenbauten
Technische Ausrüstung
22
Typische Umsetzung eines EPICS Kontrollsystems
23
Typische Umsetzung eines EPICS Kontrollsystems
Desktop
Laptop
Die meisten IOCs basieren auf vxWorks (meistens
VME)
Die meisten CAS Anwednungen basieren auf
Unix/Linux oder Windows
24
Typische Umsetzung eines EPICS Kontrollsystems
Mit dem EPICS Release 3.14 wurden die
Beschränkungen für das Betriebssystem von iocCore
abgeschafft.
RTEMS
vxWorks
25
Typische Umsetzung eines EPICS Kontrollsystems
Zeiten ändern sich Ansteuerung eines Motors mit
EPICS
circa 2002
circa 1995
26
Standard Form eines EPICS Kontrollsystems
Client Software
MEDM
OAG Apps
ALH
StripTool
TCL/TK
Und viele andere
Perl Scripts
Output
Channel Access
Input
Kommerzielle Instrumente
Eigenbauten
Technische Ausrüstung
27
Unabhängige 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 ...

28
Standard Form eines EPICS Kontrollsystems
Output
Channel Access
Input
Kommerzielle Instrumente
Eigenbauten
Technische Ausrüstung
29
Channel Access auf einer Folie
connection request oder search request
put oder caPut
get oder caGet
set a monitor
Wer hat eine PV mit dem Namen S1AH1CurrentAO ?
Ändere den Wert auf 30.5 AMPS
Benachichtige mich, wenn sich der Wert ändert
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
S1AH1CurrentAO S1P1x S1P1y S1G1vacuum
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
Sie sind nicht berechtigt diesen Wert zu ändern.
oder
30
Hauptmerkmale von Channel Access
  • Clients broadcast (Meldung an alle) PV Namen um
    den Server zu finden, auf dem sie existieren
  • Channel Access Security kann eingesetzt werden
    um den Zugriff auf Prozess Variablen zu begrenzen
  • Clients können auf die Meldung put request
    warten, bevor sie weiterarbeiten
  • Clients können Monitore (set monitors) auf PVs
    setzten und werden dann über Änderungen der Werte
    informiert

31
Standard Form eines EPICS Kontrollsystems
Output
Channel Access
Input
IOC Software
EPICS Datenbank
Sequence Programme
Eigene Programme
Kommerzielle Instrumente
Eigenbauten
Echtzeit Kontrolle
Technische Ausrüstung
32
IOC Software auf einer Folie
Network (Channel Access)
IOC Software
EPICS iocCore Dienste und Programme von EPICS
mitgeliefert
Anwendungsspezifische Datenbank aus Records
Anwendungs- spezifische Programme z.B. State
Notation Language
Record
Record
Record
Record
Record
Record
Record
Record
Record
Record
Record
Record
Record
Record
Record
Record
Treiber (Device/Driver Support) von EPICS
mitgeliefert/erweiterbar
Neue Treiber (Device Support)
Unterstützte Instrumente
Unterstützte Instrumente
Neue Ausrüstung
Unterstützte Instrumente
mitgeliefert
Notwendig
Optional
33
Hauptmerkmale der IOC Software
  • Es gibt zwei wesentliche Andwendungsabhängige
    Komponenten
  • Die Echtzeitdatenbank bestehend aus Records
    (notwendig)
  • State Notation Language (SNL) Programme, um
    Status basierte Abläufe umzusetzen (optional)
  • Maschinenstatus, Informationen und
    Kontrollparameter werden durch sogenannte
    Records in der anwendungsspezifischen Datenbank
    definiert.
  • Die Daten innerhalb eines Records sind über
    Prozess Variablen zugänglich.
  • Records sind mit bestimmten Funktionalitäten
    verknüpft (Skalierung, Filtern, Fehlererkennung,
    Berechnungen, usw). Es gibt unterschiedliche
    Record-Typen mit unterschiedlichen Funktionen und
    Einsatzmöglichkeiten.
  • Records sind häufig mit Ein-/Ausgabe Geräten
    verbunden, die über Device Support (Treiber)
    angesteuert werden.

34
Standard Form eines EPICS Kontrollsystems
Output
Channel Access
Input
Kommerzielle Instrumente
Eigenbauten
CA Server Anwedungen
Technische Ausrüstung
Prozess Variablen
35
Häufig benutzte CA Server Anwendungen
  • IOC Core
  • PV Gateway
  • CA Server Interface to LabVIEW
  • CA Server Schnittstelle zu PC
    Bilderfassungs-Systemen

Gateway
CAS
CAC
CAS
CAC
(PVs) LabVIEW
CAS
CAC
(PVs) PC Bild- erfassung
36
Zehn wirklich nette Tatsachen über EPICS
  • Es ist umsonst
  • 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)

37
Einleitung Teil 1
  • Inhalt
  • Was ist EPICS
  • Wie arbeitet EPICS
  • Ein kleines EPICS Wörterbuch
  • Einführung in die Anwendung des Virtual LINAC

38
Wörterbuch
  • EPICS
  • Experimental Physics and Industrial Control
    System
  • Channel Access
  • Das Kommunikations-Protokoll von EPICS
  • Prozess Variable (PV)
  • Ein Datensatz mit einem Namen, der über diesen
    Namen angesprochen wird
  • Die Basis-Dateneinheit des Channel Access
    Protokolls

39
Wörterbuch
  • Channel oder Kanal
  • Ein Synonym für Prozess Variable
  • Channel Access Server
  • Software, die Zugriffe über Channel Access auf
    Prozess Variablen zur Verfügung stellt
  • Vereinfacht Software, die Records erzeugt
  • Channel Access Client
  • Software, die über Channel Access auf Prozess
    Variablen zugreift

40
Wörterbuch
  • IOC Input Output Controller
  • Ein Computer auf dem iocCore läuft. Das ist eine
    Sammlung von EPICS Routinen, die benutzt werden
    um Prozess Variablen zu definieren und Echtzeit
    Algorithmen zu implementieren.
  • iocCore benutzt Records um Prozess Variablen und
    ihr Verhalten zu definieren
  • Soft IOC
  • Ein Computer (häufig ein PC), auf dem nicht
    ausschliesslich iocCore läuft oder laufen kann.
  • Häufig wird wird mit einer IOC ein VME-Rechner
    gemeint, während eine SoftIOC meistens ein PC
    ist.

41
Wörterbuch
  • Record
  • Der Mechanismus, mit dem Prozess Variablen von
    iocCore definiert werden (auf einer IOC)
  • Es existieren dutzende von verschiedenen
    Record-Typen, jeweils mit eigenen Attributen
    (Feldern) und einer eigenen Funktionalität
  • Vorsicht Die Begriffe Record, Channel oder
    Kanal, sowie Prozess Variable werden im täglichen
    Sprachgebrauch häufig synonym benutzt, obwohl sie
    nicht genau das gleiche meinen
  • Beispiel Record Strom PVs, Channel
  • Attribut EGU Strom.EGU
  • Attribut VAL Strom.VAL

42
Einige Fragen, die man stellen sollte
  • Versteht das neue Gerät EPICS, Channel
    Access?
  • Gibt es bereits ein EPICS Werkzeug, das
    was_auch_immer macht?
  • Was ist der PV Name von igendeinem_Gerät?
  • Gibt es einen EPICS Treiber für
    das_Gerät_das_ich_nutzen_will?
  • Welche Computer Typen und Betriebssysteme
    werden genutzt?
  • Welche Funktionen sollen zur Verfügung stehen?
  • In einem Client? In einer IOC? In einer eigenen
    CAS Anwendung?
  • Warum kann mein CA Client die PV auf einem CA
    Server in einem anderen Subnetz nicht finden?

43
Einleitung Teil 1
  • Inhalt
  • Was ist EPICS
  • Wie arbeitet EPICS
  • Ein kleines EPICS Wörterbuch
  • Einführung in die Anwendung des Virtual LINAC

44
Die Virtual LINAC Anwendung
  • Eine vorkonfigurierte EPICS Anwendung, die auf
    jedem Rechner installiert werden kann zum Üben,
    zum Testen, zum Spielen
  • Alles wird auf dem gleichen Rechner (z.B. einem
    Office PC) installiert.

Mein spezielles Daten- erfassungs- programm
StripTool
MEDM
OAG Tools
CAC
CAC
CAC
CAC
Installierbar auf
Solaris Workstation
LINUX PC
IOC Anwendung vlinac PVs
CAS
CAC
MAC
Windows PC
45
MEDM Oberfläche der Virtual LINAC Anwendung
46
Die Virtual LINAC Anwendung
Der LINAC
Die Elektronen, die in einem Speicherring
umlaufen, werden häufig in Linearbeschleunigern
( Linear Accelerator oder Linac) erzeugt. Die
eigentliche Erzeugung der Elektronen geschieht
mit einer Glühkathode in der Electron Gun.
Danach werden sie durch sogenannte Accelerating
Cavities beschleunigt. Da Elektronen geladene
Teilchen sind, können sie durch Elektromagneten
durch die enge Vakuum Kammer geleitet werden.
Natürlich gehen die Elektronen verloren, wenn sie
durch falsch eingestellte Magnete auf die
Kammerwand gelenkt werden.
Der Operateur
Vom Kontrollraum aus kann der Operateur die
Beschleunigeranlage steuern und überwachen. In
dieser Simulation muss der Operateur die
Temperatur der Electron Gun einstellen, die
Positon des Elektronenstrahls in der Vakuumkammer
überwachen, den Strom der Korrekturmagnete regeln
und ein Vakuum-Ventil kontrollieren.
Die Herausforderung
Die einzelnen Schritte auf der nächsten Folie
beschreiben, wie man Elektronen erfolgreich
virtuell erzeugen und bis zum Ende des Linac
transportieren kann.
47
Die Virtual LINAC Anwendung
Schritt 7 RESET macht den Linac für den nächsten
Operateur oder den nächsten Versuch bereit.
Schritt 1 Den blauen Slider benutzen um die
Kathode zu heizen, bis die Temperatur im
gewünschten Bereich liegt (die Anzeige wird
grün).
Schritt 6 Die übrigen Korrekturmagnet müssen
ebenfalls richtig eingestellt werden, um den
Strahl bis zum Ende zu transportieren. Der
Strahlstrom wird am Ende mit einem so genannten
Faraday Cup (FC1) gemessen. Durch leichte
Variation der Magnetströme kann der Strom
maximiert werden (15 mA sind sehr gut!).
Schritt 2 Beam On drücken, um die Elektronen
in den Linac zu schicken.
Schritt 5 Das Vakuum-Ventil muss geöffnet werden
um die Elektronen durch zu lassen.
Schritt 3 Die Ströme der Korrekturmagneten (H1
und V1) müssen so eingeregelt werden, dass die
horizontale (X) und vertikale (Y) Position des
Elektronenstrahls kleiner als 1mm wird. Die
Positionen werden in dem Diagramm dargestellt
Blau ist X und Braun ist Y. Die rote Linie
repräsentiert die Anzahl der Elektronen.
Schritt 4 Noch mehr Korrektur- magnete
HILFE für Frustrierte Aufgegeben? Der Kopf
Auto-Start lässt den Computer die Arbeit
übernehmen.
Write a Comment
User Comments (0)
About PowerShow.com