Title: EPICS
1EPICS
- Matt Bickley
- Accelerator Controls Software Group Leader
2Overview
- What is EPICS?
- EPICS architecture
- EPICS Use at JLab
3What is EPICS?
- Experimental Physics and Industrial Control
System - See http//www.aps.anl.gov/epics/ for details
- An open-source control system toolkit
- Developed at LANL advanced by APS
- All of the pieces needed for a control system
- An implementation of a control system
- A collaboration
- Over 100 institutions use the toolkitmany
contribute - Semi-annual meetings
- Lively email list (tech-talk_at_aps.anl.gov)
4EPICS architecture
- Network transport layer
- Front-end computer running (real time?) OS
- Back-end clients
5Architecture Network Transport Layer
- Called Channel Access
- Name-based I/O
- Clients poll or subscribe to updates
- Transports fundamental data types
- Float, double, string, character, integer
- Handles scalar and vectors
- Transports blobs for data-knowledgeable clients
- APIs for C/C, Perl, Tcl, Java (native), Python
6Network Data Transfer
- Client broadcasts connection request with name
- Server which hosts that name responds
- Client makes data request or channel connection
to server
7EPICS Records
- A Record is an object with
- A unique name
- A behaviour defined by its record type (class)
- Controllable properties (fields)
- Optional associated hardware I/O (device support)
- Links to other records
- Records are active they can do things
- Get data from other records or from hardware
- Perform calculations
- Check values are in range raise alarms
- Put data to other records or to hardware
- Activate or disable other records
- Wait for hardware signals (interrupts)
8Building an EPICS Database
- Runtime database description files are ASCII
- Database generation tools
- VDCT, an open-source Java tool
- CAPFAST, a commercial schematic capture tool
- Text editors for template generation
9VDCT A Graphical Record View
10Architecture Input/Output Controllers (IOCs)
Network (Channel Access)
IOC
Computer running VxWorks, RTEMS, Linux, SunOS
Channel Access Server
State Machine
State Machine
State Machine
Valve1
Record
Valve1
Valve1
AO/VME
Device support
AO/VME
AO/VME
VME
Driver support
VME
VME
11Front-end Processing Choices
- Interrupt-driven
- On demand
- Fixed scan rate
- EPICS defaults are 0.1 second to 10 second
- Custom processing
- JLabs fast-feedback system 1800 HzVME-based
PPC system
12Architecture IOC Software in One Slide
Network (Channel Access)
IOC Software
EPICS iocCore services and routines
EPICS-supplied
Application Specific Database of Records
Application Specific Programs e.g. State
Notation Language
TC1temp
TC15temp
TC2temp
TC16temp
TC7temp
TC11temp
TC3temp
TC17temp
TC8temp
TC12temp
TC4temp
TC18temp
TC9temp
TC13temp
TC5temp
TC19temp
TC6temp
TC10temp
TC20temp
TC14temp
Device/Driver Support EPICS-supplied/user-extensi
ble
New Device Support
Supported Instruments
New Equipment
Supported Instruments
Supported Instruments
Supported Instruments
Shared/Provided
Required
Optional
From http//www.aps.anl.gov/bcda/epicsgettingstar
ted/introduction/introductorysession1.htm
13Hardware Support by Manufacturer
- Acromag
- Advanced Control Systems (ACS)
- Agilent Technologies
- Allen-Bradley
- American Magnetics, Inc. (AMI)
- Analogic
- Analytek
- Argonne
- Automation Direct
- BK Precision
- BNL/NSLS
- Balzers
- Bancomm
- Berkeley Nucleonics
- BiRa
- Black Box
- Boonton
- Burr Brown
- CAEN
- ICS Electronics
- IE Power
- IMS
- INCAA
- Instrumentation Technologies
- Interay
- Joerger
- Keithley
- Kepco
- Kinetic Systems
- Kontron
- Lab Impex Systems
- Lakeshore
- LeCroy
- MAZeT
- MKS
- MKS Instruments
- Maxim
- McLennan Servo Supplies
- PTS
- Paul Scherrer Institute
- Pentek
- Pep Modular
- Physical Electronics
- Polyscience
- Prema
- Puls-Plasmatechnik
- ROeNTEC GmbH
- Rohde Schwarz
- SBS
- SST Inc.
- Schneider
- Scientific Instrumentation Ltd./ CLS
- Sensoray
- Sorenson
- Stanford Research
- Struck
- Systran
14Portable Channel-Access Server
- Library that supports creation of CA interfaces
to custom software - EPICS client access to alternative control
systems - Labview
- OLE for Process Controls (OPC)
- Alternative low-level controls
- Soft IOC
- Proxy IOC
- Communication management
- Name server
- Gateways
15Architecture Back-end Clients
16Architecture Back-end Clients
- Synoptic displays medm, edm dm
17Architecture Back-end Clients
- Archivers and archive data viewers
18Architecture Back-end Clients
19Architecture Back-end Clients
20EPICS Use at JLab
- EPICS is used to control
- Accelerator
- CHL
- FEL
- Slow controls of endstations
21EPICS Scope at JLab
- Front end systems
- 140 IOCs
- 350,000 EPICS records
- 50,000 hardware control points
- Back end
- 30 dedicated operator stations and servers
- 50 sporadically used workstations
- Archive 50,000 channels
- 6,000 edm screens
- 100 daily users
22Controls Software at JLab
- Low-level controls and system tools
- 9 computer scientists
- Analysis and high-level applications
- 3 computer scientists
- Systems administration
- 4 computer scientists