EPICS Overview 25 August 2009 Matt Boyes [email protected] EPICS Overview Lecture 1 Matt...

25
EPICS Overview 25 August 2009 Matt Boyes [email protected] EPICS Overview Lecture 1 Matt Boyes

Transcript of EPICS Overview 25 August 2009 Matt Boyes [email protected] EPICS Overview Lecture 1 Matt...

Page 1: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

EPICS Overview

25 August 2009 Matt Boyes [email protected]

EPICS Overview

Lecture 1Matt Boyes

Page 2: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 3: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 4: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 5: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 6: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 7: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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.

Page 8: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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.

Page 9: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 10: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

EPICS Overview

25 August 2009 Matt Boyes [email protected]

What is EPICS?

Getting Started with EPICS Lecture SeriesIntroductory Session II

John Maclean

Page 11: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 12: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 13: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 14: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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)

Page 15: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 16: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 17: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 18: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 19: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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)

Page 20: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

EPICS Overview

25 August 2009 Matt Boyes [email protected]

User Environment Setup

Page 21: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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.

Page 22: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 23: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 24: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

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

Page 25: EPICS Overview 25 August 2009 Matt Boyes mboyes@slac.stanford.edu EPICS Overview Lecture 1 Matt Boyes.

EPICS Overview

25 August 2009 Matt Boyes [email protected]

Questions