65
EPICS Training @ PSI Controls Section PSI 2007

EPICS Training @ SLS - Startpage | Paul Scherrer Institut (PSI)lmu.web.psi.ch/docu/manuals/software_manuals/epics/d... · PPT file · Web view2012-05-14 · EPICS Training @ PSI

Embed Size (px)

Citation preview

EPICS Training @ PSI

Controls Section PSI2007

EPICS Training @ PSI

Danksagung

Einige der gezeigten Folien stammen aus der Reihe„Getting started with EPICS Lecture Series at APS“Mein besonderer Dank gilt

Ned Arnoldund

John Macleanvon der Advanced Photon Source.Die originalen Vorträge finden sich auf der Seitewww.aps.anl.gov/epics/docs/GSWE.php

EPICS Training @ PSI

Inhalt

• Was ist EPICS• Die einzelnen Komponenten von EPICS• Was sind Records• Ein Beispiel für ein Record• Ein Problem mit EPICS lösen

EPICS Training @ PSI

Was ist unsere Aufgabe?

Wir müssen einen Beschleuniger (SLS) mit vielen Komponenten fernsteuern (wegen radioaktiver Strahlung und der Grösse)

Unsere Lösung heisst EPICS

Operator

Beschleuniger

?EPICS

EPICS Training @ PSI

Was ist EPICS?

EPICS ist:• Es ist eine Kollaboration• Es ist eine Werkzeugsammlung• Es ist eine Kontrollsystemarchitektur

EPICS steht für:Experimental Physics and Industrial Control System

EPICS Training @ PSI

Die Geschichte

–1989 begann die Zusammenarbeit von Los Alamos National Laboratory (GTA) und Argonne National Laboratory (APS)

(Bob Dalesio & Marty Kraimer)

–Über 150 Lizenzen wurden vergeben, bevor EPICS 2004 zur freien Software (Open Source) wurde

–Tägliche Zusammenarbeit: z.B. die Maillisten “Tech Talk”–Der Einsatz für die Kollaboration ist verschieden

• Hilfe bei Fehlersuche• Veröffentlichung von Werkzeugen, Systemen und Beratung

GTA: Ground Test AcceleratorAPS: Advanced Photon Source

EPICS Training @ PSI

EPICS – wer benutzt das?

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 in Villigen, Schweiz– KEK in Tsukuba, Japan– DIAMOND Light Source (Rutherford Appleton Laboratory) in

Oxfordshire, England– The Australian Synchrotron (AusSy) in Melbourne, Australien

EPICS Training @ PSI

Gibt es Alternativen zu EPICS?

• Tango/TacoEntwickelt von der ESRFWird benutzt von ESRF, Elettra, Soleil

• DOOCSEntwickelt und benutzt von DESY

• TineEntwickelt und benutzt von DESY

• ACSEntwickelt und benutzt am PSI

EPICS Training @ PSI

Netzwerkbasiertes Client/Server Modell (daher das EPICS Logo)

Die 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

Ein Server bietet Informationenoder Dienste an

Ein Client nutzt diese Diensteoder fragt nach diesen Informationen

EPICS Training @ PSI

Was ist Channel Access

• Ein Protokoll, wie “Daten” übertragen werden • Ein Datenpaket wird als Prozess Variable

bezeichnet• Eine Prozess Variable hat einen Namen, mit

dem man die Daten abrufen kann• Die genauen Abläufe von Channel Access sind

für Nutzer und die meisten Programmierer unwichtig

• Channel Access ist nicht von einer (Programmier-) Sprache abhängig

EPICS Training @ PSI

Channel Access im Netz

CA Client

CA Server 1 CA Server 2 CA Server 3

Netzwerk

1. Abfrage: Broadcast (Rundruf)

Antwort: direkte Verbindung

Alle weiteren Abfragen oder Antworten gehen direkt (Point-To-Point)

EPICS Training @ PSI

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

EPICS Training @ PSI

Was ist EPICS - Zusammenfassung

• EPICS ist eine Kontrollsystemarchitektur• EPICS schaffte eine Verbindung zwischen dem

Beschleuniger und dem Operator• EPICS benutzt für diese Verbindung ein

Protokoll namens Channel Access• Channel Access basiert auf Datenpaketen, die

Prozess Variablen genannt werden• EPICS wird von vielen Instituten auf der ganzen

Welt genutzt

EPICS Training @ PSI

Inhalt

• Was ist EPICS• Die einzelnen Komponenten von EPICS• Was sind Records• Ein Beispiel für ein Record• Ein Problem mit EPICS lösen

EPICS Training @ PSI

Teile 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 …

Channel Access

CA Server Software EPICS Datenbank

aus Prozess VariablenEigene

Programme

Echtzeit Kontrolle

Sequence Programme

Records

EPICS Training @ PSI

Typische Umsetzung

Kommerzielle Instrumente

IOCIOC

IOC

IOCCAS

CAS

Eigenbauten

Technische Ausrüstung

Die meisten IOCs basieren auf

vxWorks (VME), aber auch Linux

und Windows (SoftIOC)

Die meisten CAServer

Anwednungen basieren auf Unix/Linux

oder Windows (mitlerweile sehr selten)

Desktop

Laptop

EPICS Training @ PSI

VME Computer

• VME steht für VERSAmodule Eurocard• Industrie Computer • Wurde 1980 entwickelt und seitdem verbessert• Es ist kein PC• Echtzeit fähig (d.h. berechenbare

Verzögerungen)• Betriebssystem ist VxWorks von Wind River• Sehr teuer und in Zukunft nicht mehr der

Standard

EPICS Training @ PSI

Was ist eine IOC• Ein spezieller CA Server und gleichzeitig ein CA Client • 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) oder RTEMS

- PC, Betriebssystem Windows, Linux, RTEMS- Apple, Betriebssystem OSX- UNIX Workstation, Betriebssystem Solaris

• Dieser Computer hat normalerweise Input und/oder Output Geräte angeschlossen• Ein EPICS Kontrollsystem besteht aus mindestends 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

EPICS Training @ PSI

Das Innenleben einer IOC

LAN (Netzwerk)

Device Support

I/O Hardware (Instrumente)

IOC

Die wesentlichen Softwarekomponenten einer IOC (IOC Core)

SequencerDatabase

Channel Access

EPICS Training @ PSI

Wofür braucht man den Sequenzer?

die Ampel ist rot

die Ampel ist grün

die Ampel ist ausgefallen

die Ampel ist rot

und gelb

die Ampel ist gelb

Start

State Machine

EPICS Training @ PSI

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

EPICS Training @ PSI

Beispiele für ALH

EPICS Training @ PSI

Alarme und ihre Farben

NO_ALARM Grün Alles in Ordnung

MINOR Gelb Warnung

MAJOR Rot Fehler

INVALID Weiss Gerät existiert nicht

Not connectedWeisses Feld oder Violett

Record nicht bekannt

EPICS Training @ PSI

Beispiele für ALH

EPICS Training @ PSI

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

EPICS Training @ PSI

Beispiele für StripTool

EPICS Training @ PSI

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

EPICS Training @ PSI

Beispiele für medm

EPICS Training @ PSI

Channel Access Kommandos

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”“camon”

“post an event”oder

“post a monitor”

“put complete”

oder

oder

Channel Access Client

EPICS Training @ PSI

Das Zusammenspiel der Einzelteile

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)

EPICS Training @ PSI

Inhalt

• Was ist EPICS• Die einzelnen Komponenten von EPICS• Was sind Records• Ein Beispiel für ein Record• Ein Problem mit EPICS lösen

EPICS Training @ PSI

Was ist ein Messwert?

295,5mit einer Einheit mA

mit einem Zeitstempel 17.2.2005 14:21:16mit einer Gültigkeit (Alarmstatus) NO_ALARM

mit technischen Grenzen 0 bis 400mit Darstellungsgrenzen 0 bis 370

Ein Messwert ist ein Objekt mit mehreren zugehörigen Daten

mit einer Bedeutung „Beam current in SR“

Ein Wert mit einem Datentyp

EPICS Training @ PSI

Was ist ein Record?

Ein Record ist ein Objekt mit– Einem eindeutigen 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

Eindeutiger Name

Felder

Daten

EPICS Training @ PSI

Vom Messwert zum Record

295,5mit einer Einheit mA

17.2.2005 14:21:16NO_ALARM

mit technischen Grenzen 0 bis 400mit Darstellungsgrenzen 0 bis 370

mit einer Bedeutung „Beam current in SR“

Ein Wert mit einem TypEin eindeutiger Name ARIDI-PCT:CURRENT

airecord (ai, "ARIDI-PCT:CURRENT") {

mit einem Zeitstempel

Von der Hardware gelesen:

mit einer Gültigkeit (Alarmstatus)

field (EGU, "mA")field (EGUF, "400")field (EGUL, "0")field (HOPR, "370")field (LOPR, "0")field (DESC, "Beam current in SR")field (DTYP, "HY8401")field (INP, "#C3 S0 @")

}

EPICS Training @ PSI

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

ARIDI-PCT:CURRENT

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

ARIDI-PCT:CURRENT = ARIDI-PCT:CURRENT.VAL

EPICS Training @ PSI

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

EPICS Training @ PSI

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

EPICS Training @ PSI

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

EPICS Training @ PSI

Das Record Reference Manual

• In Englisch (Amerikanisch)• Erklärt Datenbank Konzepte und Records• Für jeden Recordtyp sind alle Felder erklärt

Besipiel: Feld HSV für ai Record• Es gibt ein paar Felder, die jeder Recordtyp hat,

diese sind am Anfang erklärt• Die beschriebenen Records sind in der Basis

Version von EPICS inbegriffen• Es gibt noch mehr Records, Dokumentation

siehe Internet

EPICS Training @ PSI

Inhalt

• Was ist EPICS• Die einzelnen Komponenten von EPICS• Was sind Records• Ein Beispiel für ein Record• Ein Problem mit EPICS lösen

EPICS Training @ PSI

Ein Beispiel für ein Record

Analog In

MTRT1-TEMP:READ

EGU :Grad C

VALINP

Temperatur Sensor

IOC

DatabaseAnalog

nach Digital Konverter

0 – 100°C0 – 10V

8 bit ADC

-10 – 10V

0 – 255 bits

EGUL: -100

EGUF: 100

HIGH: 51

Prozess

45.5°C 4.55V 116 bits

Channel Access Server

Normaler Betrieb

5 - 50°C

Erzähl mir alles über

MTRT1-TEMP:READ

MTRT1-TEMP:READ.VAL = 45.5 .EGU = Grad C.STAT = Normal

45.5 Grad C51.5°C 5.15V 132 bits

51.5 Grad C

MTRT1-TEMP:READ.VAL = 51.5 .EGU = Grad C.STAT = MAJOR

Channel Access Client

EPICS Training @ PSI

• VME einschalten (es wird ein Record erzeugt, das mit dem ersten Potentiometer verknüpft ist)

• In einem Terminal eingeben:caget MTRT1-TEMP:READ

(die 1 wird für andere Trainings-Stationen durch die entsprechende Zahl ersetzt)

• Das Potentiometer bewegen• Erneut den Wert abfragen

Ein Record einfach auslesen

EPICS Training @ PSI

CA Komandozeilen Befehle

• Lesen eines PV mit dem Namen <NAME>caget NAME

• Informationen über das Recordcainfo NAME

• Einen Monitor setzencamon NAME

(Abbrechen mit [Ctrl] + [c])• Wenn ich die genauen Befehle vergessen habe

ca

EPICS Training @ PSI

Eine Benutzeroberfläche erzeugen

• Mit dem Befehlmedmden Oberflächeneditor öffnen

• Menü File und New ankicken• Mit der rechten Maustaste in das neue Fenster

klicken und unter Object > Monitors einen "Text Monitor" auswählen (die Grösse im Fenster per Maus angeben)

• Unter "Readback Channel" den gewünschten Reord-Namen eingeben (MTRT1-TEMP:READ)

• Auf "Execute" schalten

EPICS Training @ PSI

Medm in Bildern

MTRT1-TEMP:READ

EPICS Training @ PSI

Dateien zum Temperatur Beispiel

• Die lokalen Dateien stehen im VerzeichnisG/TRAINING/T1

• Das .template heisst G_TRAINING_T1_TEMPERATUR.template

• Das substituion heisstMTEST-VME-T1_example.subs

• Das erzeugte Record heisstMTRT1-TEMP:READ

(bzw. MTRT2-TEMP-READ, MTRT3-TEMP:READ und MTRT4-TEMP:READ)

EPICS Training @ PSI

Inhalt der Datein

DEVICE = MTRT1$(DEVICE)-TEMP:READ

MTRT1-TEMP:READ

EPICS Training @ PSI

Ein zweites Record erzeugen

• Wir haben noch einen weiteren “Temperatursensor” – wir brauchen ein zweites Record:

EPICS Training @ PSI

Installieren einer EPICS Datenbank

• Ist alles richtig geschrieben?• Installieren in das Boot-Verzeichnis der IOCslsinstall –V –ioc IOC-NAME(im Verzeichnis, das installiert werden soll)

• IOC booten (per Knopf = hard reboot)oder• Einloggen auf der IOC per rmc IOC-NAMEund dem Befehl (soft reboot)reboot

EPICS Training @ PSI

Was passiert beim booten

• Boot Info der VME-IOC: wo steht das startup.script

• Lade startup.script• Im startup.script: liste von .subs Dateien• Lade .subs Dateien• In den .subs Dateien: Liste von .template

Dateien• Lade .template Dateien mit Ersetzung• Erzeuge alle geladenen Records

EPICS Training @ PSI

Befehle auf dem VME Computer

• Eine Liste aller Records erhält man mitdbl

• Interessante Felder anschauen kann man mitdbpr "Recordnamen"dbpr "MTRT1-TEMP:READ"

• Für VxWorks Befehle benutzt man help

EPICS Training @ PSI

Namenskonvention

Die Records müssen eindeutige Namen haben1. X=Beamline, A=Maschine, M=Test (1 Zeichen)2. Projektabkürzung (4 Zeichen), z.B. 06SA, TEST,

RI=Ring, DI=DIAGNOSE3. Optional: Gerät, Gruppe, z.B. OP, ID4. Gerät, z.B. MO5. Optional: Funktion (max. 11 Zeichen), z.B. TRY1-SET

[1][2] – [3] – [4] : [5]Länge [3]+Länge [4] maximal 12 ZeichenEPICS: Namen maximal 27 Zeichen

EPICS Training @ PSI

Namen für Temperaturfühler

M = TestTR = TrainingT1, T2, T3, T4 = Trainings-IOCTEMP = TemperaturREAD = Record zum lesen

Für mehr als einen TemperaturfühlerTEMP1 für den ersten, TEMP2 für den zweiten:MTRT1-TEMP1:READ und MTRT1-TEMP2:READ

EPICS Training @ PSI

Aufgabe: medm Oberfläche

• Erzeugt eine medm Oberfläche, die Records enthält:– Eure eigenen Records– Alle Records eurer Nachbarn– Die Alarmzustände der Records

• Eine zweite Oberfläche soll die Records darstellen, die mit dem Namen der IOC beginnen: MTEST-VME-T…..

EPICS Training @ PSI

IOC Status

Automatisch werden auf jeder IOC Status Records angelegt:

medm –x –macro IOC=MTEST-VME-T1 /work/sls/config/medm/G_IOCMON_ioc_status.adl

EPICS Training @ PSI

Inhalt

• Was ist EPICS• Die einzelnen Komponenten von EPICS• Was sind Records• Ein Beispiel für ein Record• Ein Problem mit EPICS lösen

EPICS Training @ PSI

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.

Ein Problem in EPICS lösen

Binary outMTRT1-LI:COOL-SW

BerechnungMTRT1-LI:CALC

CALC: ( (A+B)/2 ) > C

C: 10

SCAN: 10 second

Analog In

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

MTRT2-LI:TEMP2

EPICS Training @ PSI

Die subs Datei

• Die Datei heisst: MTEST-VME-T1_example.subs

# bedeutet die Zeile ist ein Kommentar

EPICS Training @ PSI

Die template Datei

• Vordefinierte Records in der Datei G_TRAINING_T1_COOLER.template

• Würde die IOC mit dieser Datei booten?• Record Felder aus den Notizen abschreiben

bereits vorhandenes Temperatur-Record

kopieren!

EPICS Training @ PSI

Nüzliche Scripte

• Habe ich alles richtig geschrieben?externalLinks subs-Datei

• Wie hiess noch gleich dieses Record?findrecord Namensteil

• Wann hat die IOC zuletzt gebootet?bootinfo IOC-Name

• Oder ein paar mehr Infos aus der Datenbank:http://pc4860/testplan/hosts_iocs_list_pub.php

EPICS Training @ PSI

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)

EPICS Training @ PSI

medm Fenster entwickeln

Es soll dargestellt werden:• Beide Temperaturen der Sensoren• Die Alarmzustände der Sensoren• Der Schaltzustand des Kühlers als Text und als

"Lampe", die gelb leuchtet wenn das Gerät eingeschaltet ist

• Eine Überschrift• Eine Grafik der Temperaturen

EPICS Training @ PSI

Weitere Aufgaben

• Die Durchschnittstemperatur darstellen• Die Grenztemperatur von 10 Grad soll über ein

neues Record von der medm Oberfläche aus verstellt werden könen

• Es soll auch eine untere Grenztemperatur geben, ab der eine Heizung eingestellt wird– Noch ein calc Record– Noch ein bo Record

"#C2 S33 @"• Es gibt eine weitere solche Harware Anordnung

im Speicherring (alles dupizieren)

EPICS Training @ PSI

10 nette Tatsachen über EPICS1. Es ist gratis2. Es ist Open Source (Quellcode ist zugänglich)3. Es gibt eine Menge Leute, die es benutzen4. Alles was ein Client wissen muss um auf die Daten

zuzugreifen ist der PV Name5. Man kann unter den besten Werkzeuge auswählen …6. … oder seine eigenen schreiben7. Der langweilige Teil ist schon gemacht8. Es gibt bereits eine Menge Erfahrungen in verschiedenen

Instituten9. Eine gute Erweiterung findet internationale Aufmerksamkeit10. Es ist egal, ob man 10 oder 10 Millionen PVs braucht (beliebig

skalierbar)

EPICS Training @ PSI

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