47
Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von Ned Arnold 2004

Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Embed Size (px)

Citation preview

Page 1: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Getting Started with EPICSLecture Series

Introductory Session I

Loslegen mit EPICS Vortragsreihe auf Deutsch

Einleitung Teil 1

Elke Zimoch

Original von Ned Arnold 2004

Page 2: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Loslegen mit EPICSZwei 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

Page 3: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Einleitung Teil 1Inhalt

• Was ist EPICS

• Wie arbeitet EPICS

• Ein kleines EPICS Wörterbuch

• Einführung in die Anwendung des “Virtual LINAC”

Page 4: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Was ist EPICS?

• Eine Kollaboration

• Eine Kontrollsystem Architektur

• Eine Software Werkzeugsammlung

Page 5: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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 LaboratoryGTA: Ground Test AcceleratorANL: Argonne National LaboratoryAPS: Advanced Photon Source

Page 6: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Was ist EPICS? – Eine KollaborationEinige 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

Page 7: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Was ist EPICS?

• Eine Kollaboration

• Eine Kontrollsystem Architektur

• Eine Software Werkzeugsammlung

Page 8: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Netzwerkbasiertes Client/Server Modell (daher das EPICS Logo)

Was ist EPICS? - Eine Kontrollsystem Architektur

EPICS

• Hier bezieht sich Client und Server auf ihre Rolle bezüglich Channel Access– D.h. Channel Access Client und Channel Access Server

ClientClient

Server Server

CACA

CA CA

Page 9: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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

Der “Dienst”, den Channel Access Server (CAS) anbieten, ist Zugriff auf eine sogenannte Prozess Variable*

StripTool MEDM

Prozess

Variablen

Prozess

Variablen

CAS CAS

CACCAC

* Eine Prozess Variable (PV) ist ein Datensatz mit einem Namen

Page 10: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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-PCT:CURRENT 320 mA– X10SA-OP-SH1:SIZE-SET 5 mm– BOOSTER:gateValvePosition ‘OPEN’– S3:DIPOLE:PS:setPoint 123.4 Amps– APS:Mode ‘Stored Beam’– BL3:HISTOGRAM {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

Page 11: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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)

Page 12: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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

Prozess

Variablen

CAS

Process

Variables

CAS

Prozess

Variablen

CAS

Process

Variables

CAS

Prozess

Variablen

CAS

Process

Variables

CAS

Prozess

Variablen

CAS

EPICS Datenbank

Page 13: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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

Page 14: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Was ist EPICS?

• Eine Kollaboration

• Eine Kontrollsystem Architektur

• Eine Software Werkzeugsammlung

Page 15: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Was ist EPICS? - Eine Software Werkzeugsammlung

Jedes Programm und jede Anwendung, die mit dem Channel Access Protokoll arbeitet, kann man als “EPICS verträglich” bezeichnen.

Meine Beschleuniger Simmulation

(PVs)

CAS

Mein spezielles

Daten- erfassungs- programm

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.

StripTool MEDM

CACCAC

iocCore(PVs)

LabView(PVs)

CAS CAC CAS CAC

Page 16: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Was ist EPICS? – Eine ZusammenfassungEine 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

Page 17: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Einleitung Teil 1Inhalt

• Was ist EPICS

• Wie arbeitet EPICS

• Ein kleines EPICS Wörterbuch

• Einführung in die Anwendung des “Virtual LINAC”

Page 18: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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

Page 19: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Wie macht EPICS das?

Speise-gerät

Beam Position Monitor

Vakuum Sonde

Computer Schnittstelle

Computer Schnittstelle

Computer Schnittstelle

Prozess Variablen:

Channel Access Server

S1A:H1:CurrentAO

S1:P1:x

S1:P1:y

S1:G1:vacuum

Channel Access Client

Channel Access Client

Channel Access ClientOperator

Maschine

Netzwerk (Channel Access Protokoll)

Page 20: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

S1A:H1:CurrentAO

S1:P1:x

S1:P1:y

S1:G1:vacuum

Computer Schnittstelle

Wo wird was gemacht?

iocCore

Daten-A

rchivi

erung

Automatisie

rung

von A

bläufen

Speise-gerät

Beam Position Monitor

Vakuum Sonde

Computer Schnittstelle

Computer Schnittstelle

Prozess Variablen:

Channel Access Server

Channel Access Client

Channel Access Client

Channel Access ClientOperator

Maschine

Netzwerk (Channel Access Protokoll)

Daten-K

onverti

erung

und -Filte

rung

Fehler

-Erfa

ssung

Zugriffsü

berwac

hung

Regels

chlei

fen

Besch

ränku

ng der

Betrieb

szustä

nde

Fernste

uerung und

Überwac

hung

Fehler

-Meld

ung &

Aufzeich

nung

Regels

chlei

fen

Besch

ränku

ng der

Betrieb

szustä

nde

Automatisie

rung

von A

bläufen

Daten-A

rchivi

erung/-

Darstel

lung

Modellier

ung &

Simulat

ion

Konfigurat

ion der

Betrieb

szustä

nde

Page 21: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Standard Form eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Out

put

Input

Client SoftwareMEDM

ALH StripToolTCL/TK

Perl Scripts

OAG Apps

Und viele andere …

IOC SoftwareEPICS Datenbank

Eigene ProgrammeEchtzeit

Kontrolle

Sequence Programme

CA Server AnwedungenProzess Variablen

Channel Access

Page 22: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Typische Umsetzung eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Page 23: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Typische Umsetzung eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Die meisten IOCs basieren auf vxWorks

(meistens VME)

Die meisten CAS

Anwednungen basieren auf Unix/Linux

oder Windows

Desktop

Laptop

Page 24: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Mit dem EPICS Release 3.14 wurden die Beschränkungen für das Betriebssystem von iocCore abgeschafft.

Typische Umsetzung eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

RTE

MS

vxWorks

Page 25: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Typische Umsetzung eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Zeiten ändern sich: Ansteuerung eines Motors mit EPICS

circa 2002circa 1995

Page 26: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Standard Form eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Out

put

Input

Client SoftwareMEDM

ALH StripToolTCL/TK

Perl Scripts

OAG Apps

Und viele andere …

IOC SoftwareEPICS Datenbank

Eigene ProgrammeEchtzeit

Kontrolle

Sequence Programme

CA Server AnwedungenProzess Variablen

Channel Access

Page 27: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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 ...

Page 28: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Standard Form eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Out

put

Input

Client SoftwareMEDM

ALH StripToolTCL/TK

Perl Scripts

OAG Apps

Und viele andere …

IOC SoftwareEPICS Datenbank

Eigene ProgrammeEchtzeit

Kontrolle

Sequence Programme

CA Server AnwedungenProzess Variablen

Channel Access

Page 29: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Channel Access auf einer Folie

CA ServerCA Client

Prozess Variablen:

Channel Access Server

S1A:H1:CurrentAO

S1:P1:x

S1:P1:y

S1:G1:vacuum

Wer hat eine PV mit dem Namen

S1A:H1:CurrentAO ?

Ich habe sie

Was ist ihr Wert?

25.5 AMPS

Ändere den Wert auf

30.5 AMPS

“connection request” oder “search request”

OK, jetzt ist der Wert 30.5

AMP

30.5 ist zu hoch. Sie wird auf das erlaubte Maximum von 27.5

AMPS gesetzt.

Sie sind nicht berechtigt diesen Wert

zu ändern.

Benachichtige mich, wenn sich der Wert

ändert

Jetzt 20.5

AMPS

Jetzt 10.5

AMPS

Jetzt -0.0023 AMPS

“put” oder

“caPut”

“get” oder

“caGet”

“set a monitor”

“post an event”

oder

“post a monitor”

“put complete”

oder

oder

Channel Access Client

Page 30: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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

Page 31: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Standard Form eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Out

put

Input

Client SoftwareMEDM

ALH StripToolTCL/TK

Perl Scripts

OAG Apps

Und viele andere …

IOC SoftwareEPICS Datenbank

Eigene ProgrammeEchtzeit

Kontrolle

Sequence Programme

CA Server AnwedungenProzess Variablen

Channel Access

Page 32: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

IOC Software auf einer FolieNetwork (Channel Access)

“Neue” Ausrüstung

[IOC Software]

Treiber (=Device/Driver Support) [von EPICS mitgeliefert/erweiterbar]

EPICS “iocCore” Dienste und Programme [von EPICS mitgeliefert]

Anwendungsspezifische Datenbank [aus Records]

Anwendungs- spezifische Programme

[z.B. State Notation Language]

Neue Treiber (Device Support)

“Unterstützte” Instrumente

mitgeliefert Notwendig Optional

RecordRecord

RecordRecord

RecordRecord

RecordRecord

RecordRecord

RecordRecord

RecordRecord

RecordRecord

“Unterstützte” Instrumente “Unterstützte” Instrumente

Page 33: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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.

Page 34: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Standard Form eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Out

put

Input

Client SoftwareMEDM

ALH StripToolTCL/TK

Perl Scripts

OAG Apps

Und viele andere …

IOC SoftwareEPICS Datenbank

Eigene ProgrammeEchtzeit

Kontrolle

Sequence Programme

CA Server AnwedungenProzess Variablen

Channel Access

Page 35: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Häufig benutzte CA Server Anwendungen

• IOC Core

• PV Gateway

• CA Server Interface to LabVIEW

• CA Server Schnittstelle zu PC Bilderfassungs-Systemen

GatewayCA

S

CA

C

(PVs)

LabVIEW

CAS CAC

(PVs)

PC Bild- erfassung

CAS CAC

Page 36: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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)

Page 37: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Einleitung Teil 1Inhalt

• Was ist EPICS

• Wie arbeitet EPICS

• Ein kleines EPICS Wörterbuch

• Einführung in die Anwendung des “Virtual LINAC”

Page 38: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

WörterbuchEPICS

• 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

Page 39: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

WörterbuchChannel [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

Page 40: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

WörterbuchIOC – 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.

Page 41: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

WörterbuchRecord

• 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

Page 42: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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?

Page 43: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Einleitung Teil 1Inhalt

• Was ist EPICS

• Wie arbeitet EPICS

• Ein kleines EPICS Wörterbuch

• Einführung in die Anwendung des “Virtual LINAC”

Page 44: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Die Virtual LINAC AnwendungEine 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

CAC

StripTool MEDM

CACCAC

IOC Anwendung

vlinac PVs

CAS CAC

OAG Tools

CAC

Solaris Workstation

MAC

Windows PC

LINUX PC

Installierbar auf:

Page 45: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

MEDM Oberfläche der Virtual LINAC Anwendung

Page 46: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

Der LINAC:

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 einzelnen Schritte auf der nächsten Folie beschreiben, wie man Elektronen erfolgreich virtuell erzeugen und bis zum Ende des Linac transportieren kann.

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.

Die Herausforderung:

Die Virtual LINAC Anwendung

Page 47: Getting Started with EPICS Lecture Series Introductory Session I Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 1 Elke Zimoch Original von

Loslegen mit EPICS: Einleitung Teil 1 Elke Zimoch

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 2:

“Beam On” drücken, um die Elektronen in

den Linac zu schicken.

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 5:

Das Vakuum-Ventil muss geöffnet werden um die

Elektronen durch zu lassen.

Schritt 4:

Noch mehr Korrektur- magnete…

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 7:

RESET macht den Linac für den

nächsten Operateur oder den nächsten

Versuch bereit.

HILFE für Frustrierte:

Aufgegeben? Der Kopf “Auto-Start” lässt den Computer die Arbeit

übernehmen.

Die Virtual LINAC Anwendung