38
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

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

Embed Size (px)

Citation preview

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

Getting Started with EPICSLecture Series

Introductory Session II

Loslegen mit EPICS Vortragsreihe auf Deutsch

Einleitung Teil 2

Elke Zimoch

Original von John Maclean 2004

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

InhaltsübersichtIOCs 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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Standard Form eines EPICS Kontrollsystems

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Ou

tpu

t

Inp

ut

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 4: Getting Started with EPICS Lecture Series Introductory Session II Loslegen mit EPICS Vortragsreihe auf Deutsch Einleitung Teil 2 Elke Zimoch Original von

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ürInput Output Controller

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

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

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

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

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

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)

SequencerDatabase

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

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

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

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

Einmaliger Name

Felder

Daten

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

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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Ein Prozess Variablen NameEin 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”

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

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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Record typesRecord-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)

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Einige Record TypenAnalog 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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Graphische Darstellung eines Records

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

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")

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

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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Unsere erste Datenbank

Analog In

ProcTemp

EGU :Grad C

VALINP

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

5 - 50°C

Channel Access Client

Erzähl mir alles über ProcTemp

ProcTemp.VAL = 45.5 .EGU = Grad C.STAT = Normal

45.5 Grad C51.5°C 5.15V 132 bits

51.5 Grad C

ProcTemp.VAL = 51.5 .EGU = Grad C.STAT = MAJOR

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

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)

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

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

VALINP

EGU: deg C

VALINP

INPB

INPA

VAL DOL OUT

T2Sensor

SensorT1

IOC

Datenbank

ADC

ADC

Binär I/O

KühlerAnalog In

L1:water:temp2

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

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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Der SequencerDer 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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

SNL setzt State Transition Diagrams (STD) um

Status A (State A)

Status B (State B)

EventAktion

Transition(Übergang)

von A nach B

State Transition Diagrams (STD)veranschaulichen die möglichenÜbergänge des Systems aus einem Status in einen anderen

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

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

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

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

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

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)

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

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

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

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)

Vorteile NachteileVereinfacht 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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

1-s1;5PARK

1

23 4

9

10

11

5

6

7

8

12

13

14

15

16

17Initialising

ParkedMisaligned

Stopped

M1STATE = OTHER / M1STATE = NOT_DOWN & EXTENDED /

M1STATE = DOWN & CENTRED & RETRACTED /

UNPARK_CMD /REJECT_CMD

PARK_CMD /

FaultM1STATE = RETRACTED & NOT_DOWN /

Raising

Deflating

Depressurising

Post-Parked

Manual-Mode

PRE-PARK_CHECKS = PASS /PSS = OFF;RETRACT_AXIAL_SUPPORTS

PARK_CMD /PSS = ON;MOVE_TO_PRE-PARK

POST-PARK_CHECKS = FAIL /UNPARK_ALARM

PRE-PARK_CHECKS = FAIL /PARK_ALARM

PARK-CMD /PSS = ON;AOS = OFF;MOVE_TO_PRE-PARK

UNPARK_CMD /REJECT_CMD

PARK_CMD /PSS = ON;MOVE_TO_PRE_PARK

Operating

UNPARK_CMD /PSS = ON;INFLATE_SEALS;

UNPARK_CMD /MOVE_TO_NOP ;INFLATE_SEALS;

Realigning

POST-PARK_CHECKS = PASS /PSS = ON;MOVE_TO_NOP ;INFLATE_SEALS;

Inflating

Pressurising

Pre-Parked

Lowering

SEALS = INFLATED /APSS = ON

APSS = PESSURISED /AOS = ON ;PARK-CMD /

AOS = OFF;MOVE_TO_PRE-PARK

APSS = DEPRESSURISED /DEFLATE_SEALS

SEALS = DEFLATED /

IN_PRE-PARK_POSN /

IN_POST-PARK_POSN /

UNPARK_CMD /PSS = ON;MOVE_TO_POST-PARK

M1STATE = DOWN & CENTRED & RETRACTED /

INTERLOCK_RXD /STOP_SUPPORTS

Interlocked INTERLOCK_REMOVED /

PSS_ON_CMD /PSS =ON

PSS_OFF_CMD /PSS =OFF

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

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

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

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

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

Machine OS CPU Speed Rec/sec %CPU

MVME167 vxWorks 68040 33MHz 6000 50

MVME 2306 vxWorks PPC604 300MHz 10000 10

MVME5100 vxWorks PPC750 450MHz 40000** 10**

PC Linux P4 2.4GHz 50000 9

Datenbank Design und periodisches Prozessieren beeinflussen die sichtbare Geschwindigkeit

*durchgeführt von Steve Hunt (PSI)

**Extrapolier von Test durchgeführt von L.Hoff (BNL)

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

AusProblem:

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

VALINP

EGU: deg C

VALINP

INPB

INPA

VAL DOL OUT

T2Sensor

SensorT1

IOC

DatenbankADC

ADC

Binär I/O

KühlerAnalog In

L1:water:temp2

An

jetzt prozessieren

jetzt prozessieren

12

14

1

SCAN: 10 second

jetzt prozessieren

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Die EPICS Web SeiteDer 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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Wie man den virtuellen LINAC installiertAuf 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

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

Loslegen mit EPICS: Einleitung Teil 2 Elke Zimoch

Wie man den virtuellen LINAC installiert - WindowsAchtung: 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

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

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

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

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

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

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)