EPICS Matt Bickley Accelerator Controls Software Group Leader
EPICS Matt Bickley Accelerator Controls Software Group Leader
Overview • What is EPICS? • EPICS architecture • EPICS Use at JLab
What 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 toolkit…many contribute – Semi-annual meetings – Lively email list (tech-talk@aps. anl. gov)
EPICS architecture • Network transport layer • Front-end computer running (real time? ) OS • Back-end clients
Architecture: 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
Network Data Transfer • Client broadcasts connection request with name • Server which hosts that name responds • Client makes data request or channel connection to server
EPICS 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)
Building 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
VDCT – A Graphical Record View
Architecture: Input/Output Controllers (IOCs) Network (Channel Access) IOC Computer running Vx. Works, RTEMS, Linux, Sun. OS… Record Device support Driver support Channel Access Server MAG 1: CURRENT AO/CIP CIP State Machine Valve 1 AO/VME VME
Front-end Processing Choices • Interrupt-driven • On demand • Fixed scan rate – EPICS defaults are “ 0. 1 second” to “ 10 second” • Custom processing – JLab’s fast-feedback system: 1800 Hz VME-based PPC system
Architecture: IOC Software in One Slide Network (Channel Access) [IOC Software] EPICS “ioc. Core” services and routines Application Specific Database [of Records] TC 1: temp TC 2: temp TC 7: temp TC 3: temp TC 11: temp TC 8: temp TC 4: temp TC 5: temp TC 6: temp TC 12: temp TC 9: temp TC 13: temp TC 10: temp TC 14: temp [EPICS-supplied] TC 15: temp TC 16: temp TC 17: temp TC 18: temp TC 19: temp TC 20: temp Device/Driver Support [EPICS-supplied/user-extensible] “Supported” Instruments “Supported”Instruments Shared/Provided Required Application Specific Programs [e. g. State Notation Language] New Device Support “New” Equipment Optional From: http: //www. aps. anl. gov/bcda/epicsgettingstarted/introduction/introductorysession 1. htm
Hardware 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 Bi. Ra Black Box Boonton Burr Brown CAEN Canberra Compumotor D-TACQ Solutions Ltd Danfysik Data Cube Data Trans Datel Delta Tau Data Systems, Inc. Digital Loggers, Inc. Dynatem EG&G Ortec ESRF Electronic Systems Design Eurotherm Eye-on-Science GE GMW Associates Gigatronics Granville-Phillips Health Physics Instruments Heidenhain Highland Technology Huber Hytec Electronics Ltd ICS • • • • • • • • • • ICS Electronics IE Power IMS INCAA Instrumentation Technologies Interay Joerger Keithley Kepco Kinetic Systems Kontron Lab Impex Systems Lakeshore Le. Croy MAZe. T MKS Instruments Maxim Mc. Lennan Servo Supplies Micro. Image Video Systems Mizar Modicon Moller-Wedel Motorola National Instruments Newport OMS Ocean Optics Inc. Omega Omnibyte Omron Ontrack Control Systems Opto 22 Optodyne Oriel Oxford Danfysik Oxford Instruments • • • • • • • • • PTS Paul Scherrer Institute Pentek Pep Modular Physical Electronics Polyscience Prema Puls-Plasmatechnik ROe. NTEC Gmb. H Rohde & Schwarz SBS SST Inc. Schneider Scientific Instrumentation Ltd. / CLS Sensoray Sorenson Stanford Research Struck Systran TEWS Tektronix/CDS Universal Voltronics VMIC Varian WAGO Wavetek Western Telematic (Kontrol) X-Ray Instr Ass. XIA Xycom ZTEC Instruments Inc. iseg
Portable 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
Architecture: Back-end Clients • Gateways
Architecture: Back-end Clients • Synoptic displays: medm, edm dm
Architecture: Back-end Clients • Archivers and archive data viewers
Architecture: Back-end Clients • Alarm handler
Architecture: Back-end Clients • Stripchart
EPICS Use at JLab • EPICS is used to control –Accelerator –CHL –FEL –Slow controls of endstations
EPICS 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
Controls 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
- Slides: 22