EPICS Overview 25 August 2009 Matt Boyes [email protected] EPICS Overview Lecture 1 Matt...
-
Upload
whitney-lamb -
Category
Documents
-
view
224 -
download
0
Transcript of EPICS Overview 25 August 2009 Matt Boyes [email protected] EPICS Overview Lecture 1 Matt...
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Class OutlineLecture 1: Intro to EPICS
What is EPICSEPICS Channel AccessWhat is a PVWhat is a Database
Types of IOCs
LCLS Network DetailsChannel Access Permissions/SecurityLCLSHome
EPICS LCLS Environment SetupLCLSHome DisplaysDisplay Tips
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Class Outline (cont.)Lecture 2: Diagnostics and tools
Channel ArchiverStripToolMessage LogScoreBPM Orbit DisplayIRMISMatlab GUIs
Correlation plots
Command Line ToolscainfocagetcaputCamonitorCWgetCWput
EPICS Overview
25 August 2009 Matt Boyes [email protected]
What is EPICSEPICS stands for Experimental Physics and Industrial Control System
A CollaborationMajor Collaborators
ANL (APS Accelerator, APS Beamlines, IPNS)
LANL
ORNL (SNS)
SLAC (SSRL, LCLS)
JLAB (CEBAF)
DESY
BESSY
PSI (SLS)
KEK
Diamond Light Source
EPICS Overview
25 August 2009 Matt Boyes [email protected]
What is EPICSA Software Toolkit
A Control System Architecture
5
EPICSClientClient
Server Server
CACA
CA CA
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Channel Access
Channel Access protocol is the way EPICS communicates. Process Variable (PV) data is transferred between Servers and Clients.
CA Servers (IOCs)IOCs (Distributed)
Where PVs liveDatabase
ClientsEDM DisplaysStripToolProbeChannel ArchiverMatlabetc
EPICS Overview
25 August 2009 Matt Boyes [email protected]
EPICS CA Overview
Client StripTool Probe EDM Matlab Archiver
Server IOC IOC
Meter Power Supply Camera
SIOC
Channel Access
Based On Getting Started with EPICS Lecture Series “Introduction to Channel Access Clients”
Kenneth Evans, Jr.
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Search and Connect Procedure
Client StripTool Probe EDM Matlab Archiver
Server IOC IOC
Meter Power Supply Camera
IOC
3. TCP Connection
Let’s talk !
1. UDP Broadcast Sequence
Who has it ?
Check Check CheckCheck
2. UDP Reply
I have it !
IOC
Based On Getting Started with EPICS Lecture Series “Introduction to Channel Access Clients”
Kenneth Evans, Jr.
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Process Variable
A Process Variable (PV) is a named piece of data associated with the machine (e.g. status, readback, setpoint, parameter)
Examples of PV names and values:
LASR:IN20:196:PWR 27.8 uJVGCC:IN20:605:P 3.2e-08 torrBPMS:IN20:425:X1H -0.323 mmBEND:LI21:215:BACT 0.7684 kG-mVVPG:IN20:155:POSITION ‘OPEN’S3:DIPOLE:PS:setPoint 123.4 AmpsAPS:Mode ‘Stored Beam’BL3:HISTOGRAM {3, 8, 1, 2, 56, 44, 32, 43, 3, 5, 1}
Getting Started with EPICS Lecture SeriesIntroductory Session I
Ned Arnold
Examples of: LCLS Electron PV NamesExamples of: LCLS Electron PV Names
What is EPICS?
Details of the LCLS Electron PV naming convention can be found here:http://lcls-dev.slac.stanford.edu/tiki-index.php?page=LCLS+Naming+Conventions
EPICS Overview
25 August 2009 Matt Boyes [email protected]
What is EPICS?
Getting Started with EPICS Lecture SeriesIntroductory Session II
John Maclean
EPICS Overview
25 August 2009 Matt Boyes [email protected]
11
What do PV (records) do?Records are active, they do things
Get data from other records or from hardware
Perform calculations
Check values are in range and raise alarms
Put data to other records or to hardware
Activate or disable other records
Wait for hardware signals (interrupts)
What a record does depends upon its type and the values in its fields
A record does nothing until it is processed, it’s INVALIDINVALID
Getting Started with EPICS Lecture SeriesIntroductory Session II
John Maclean
EPICS Overview
25 August 2009 Matt Boyes [email protected]
12
PV Record typesClassified into four general types
Input: e.g.
Analog In (AI)
Binary In (BI)
String In (SI)
Algorithm/control: e.g.
Calculation (CALC)
Subroutine (SUB)
General Subroutine (genSub)
Output: e.g.
Analog Out (AO)
Binary Out (BO)
Custom: e.g.
Beam Synchronous Acquisition (BSA)
Getting Started with EPICS Lecture SeriesIntroductory Session II
John Maclean
EPICS Overview
25 August 2009 Matt Boyes [email protected]
13
EPICS Databases – What are they?A collection of one or more EPICS records of various types
Records can be interconnected and are used as building blocks to create applications
A data file that’s loaded into IOC memory at boot time
Channel access talks to the IOC memory copy of the database
Getting Started with EPICS Lecture SeriesIntroductory Session II
John Maclean
EPICS Overview
25 August 2009 Matt Boyes [email protected]
14
EPICS IOCs – What are they?
IOC: Input Output Controller
Communicates with the hardware, other IOCs and clients
Were the EPICS PVs live
LCLS IOC Types
VME IOCs
VME: 3100/6100 (IOC)
Embedded: Coldfire (EIOC)
SoftIOCs: Linux process (SIOC)
EPICS Overview
25 August 2009 Matt Boyes [email protected]
15
IOC view of a recordrecord(ai, "BPMS:LI21:131:X") { field(DESC, "X Position") field(EGU, "mm") field(DTYP, "Raw Strip Signal") field(INP, "#C0 S14") field(FLNK, "BPMS:LI21:131:Y") field(PREC, "4") field(LOPR, "-12") field(HOPR, "+12")}
record(sub, "BEND:DMP1:400:BACT") { field(DESC, "Actual B") field(INAM, "mgntInitPoly") field(SNAM, "mgntReversePoly") field(INPA, "BEND:DMP1:400:BACT") field(INPB, "BEND:DMP1:400:POLYCOEF") field(INPC, "BEND:DMP1:400:POLYCOEF.A") field(EGU, "GeV/c") field(HOPR, "17.5") field(LOPR, "0.055") field(HIHI, "17.5") field(LOLO, "0.055") field(PREC, "7") field(BRSV, "INVALID") field(HHSV, "MAJOR") field(HSV, "MINOR") field(LSV, "MINOR") field(LLSV, "MAJOR") field(FLNK, "BEND:DMP1:400:BACTFO") field(HIGH, "17.5") field(LOW, "0.055") field(INPD, "BEND:DMP1:400:POLYCOEF.B") field(INPE, "BEND:DMP1:400:IACT MS") field(INPF, "BEND:DMP1:400:BDELTAS PP") field(INPG, "100")}
Getting Started with EPICS Lecture SeriesIntroductory Session II
John Maclean
EPICS Overview
25 August 2009 Matt Boyes [email protected]
16
Putting it all together
Analog InProcTemp
EGU : deg C
VALINP
Temperature Sensor
IOC
Database
Analog to Digital Converter
0 – 100°C0 – 10V
8 bit ADC0 – 10V0 – 255 bits
EGUL: 0
EGUF: 100
HIGH: 51
Process
45.5°C 4.55V 116 bits
Channel Access Server
Normal Operation5 - 50°C
Channel Access ClientTell me about
ProcTemp
ProcTemp.VAL = 45.5 .EGU = deg C.STAT = Normal
45.5 deg C
51.5°C 5.15V 132 bits 51.5 deg C
ProcTemp.VAL = 51.5 .EGU = deg C.STAT = MAJOR
Getting Started with EPICS Lecture SeriesIntroductory Session II
John Maclean
EPICS Overview
25 August 2009 Matt Boyes [email protected]
LCLS Controls System
LAVC
CA
SCCS PUBSAFS NFS
CVS
Staging System(backup)
IOCs lcls-opi03 lcls-opi04
lcls-opi01
lcls-srv01
lcls-opi02 mccfs2OPIs
lcls-daemon1 lcls-archeng
Filtering Router
PEPpx00
DMZ
lcls-prod02lcls-prod01 lcls-archsrv
LCLSDEVlcls-dev2 IOCs
WEBmccas0 NISmccora2
mccelogsunsrv00
lcls-builder
NIS WEB
REMEDY(Artemis)
Ernest and Jingchen, 04/15/08
desktops
opi00nas03
physics-elog
px01 mccas1
MCC
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Important Network DetailsLCLS Controls System
LAVC
CA
SCCS PUBSAFS NFS
CVS
Staging System(backup)
IOCs lcls-opi03 lcls-opi04
lcls-opi01
lcls-srv01
lcls-opi02 mccfs2OPIs
lcls-daemon1 lcls-archeng
Filtering Router
PEPpx00
DMZ
lcls-prod02lcls-prod01 lcls-archsrv
LCLSDEVlcls-dev2 IOCs
WEBmccas0 NISmccora2
mccelogsunsrv00
lcls-builder
NIS WEB
REMEDY(Artemis)
Ernest and Jingchen, 04/15/08
desktops
opi00nas03
physics-elog
px01 mccas1
MCC
• LCLS DEV clients (lcls-dev2) can not access CA Network PVs
• LCLS DMZ clients (lcls-prod02) have read only access to CA Network PVs
• EPICS Environment automatically setup for group accounts on CA Network Computers (host=lcls-srv01 users={physics, acclegr, iocegr})
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Channel
Access
Permissions/Security
PV Read Only Access from DMZ computers (lcls-prod02)
PV Write Access from CA computers (lcls-srv01, sunrays, MCC computers)
IOCs can further restrict read/write access by username and by computer name(eoicdesk only)
EPICS Overview
25 August 2009 Matt Boyes [email protected]
LCLSHomeTo start LCLSHome, type[mboyes@lcls-prod02:~]$ lclshome
Top display is summary status by subsystem vs locationComplex areas are further divided, check help for details
Important Alarms/severity should propagate up from lower sub displays
Summary Alarms can by bypassed on LCLSHOME, a * indicates a PV in that location is bypassed.
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Display TipsSome helpful EDM tips
Middle Mouse Click on a PV will show the PV name. This can by dragged and dropped to copy/paste the PV name somewhere else.
Control + Middle Mouse Click on a PVA message window will appear with helpful PV info (cainfo)
Additional operations will append message window until use clears window.
HOST IOC (where PV exists) is displayed, only works on production hosts (lcls-srv01)
Does not apply to SoftIOCs running on a linux server.
GraphsRubber bandingto zoom
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Display Tips (cont.)Some helpful EDM tips
Control + Shift + Middle Mouse Click on a PVBrings up submenu to send PV to
Probe
Plot History in Matlab Window
EPICS Overview
25 August 2009 Matt Boyes [email protected]
Your Homework before Lecture 2
Each person should:
Have a unix account
Have the EPICS environment a setup
See slide “User Environment Setup”
Be able to start lclshome on lcls-prod02
Optional:Be able to log in to lcls-srv01 with a group account:
acclegr
physics