epics overview 25 august 2009 matt boyes mboyes@slac.stanford.edu epics overview lecture 1 matt...
Post on 31-Dec-2015
224 Views
Preview:
TRANSCRIPT
EPICS Overview
25 August 2009 Matt Boyes mboyes@slac.stanford.edu
EPICS Overview
Lecture 1Matt Boyes
EPICS Overview
25 August 2009 Matt Boyes mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
What is EPICSA Software Toolkit
A Control System Architecture
5
EPICSClientClient
Server Server
CACA
CA CA
EPICS Overview
25 August 2009 Matt Boyes mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
What is EPICS?
Getting Started with EPICS Lecture SeriesIntroductory Session II
John Maclean
EPICS Overview
25 August 2009 Matt Boyes mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
User Environment Setup
EPICS Overview
25 August 2009 Matt Boyes mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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 mboyes@slac.stanford.edu
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
EPICS Overview
25 August 2009 Matt Boyes mboyes@slac.stanford.edu
Questions
top related