250 likes | 276 Views
EPICS. Matt Bickley Accelerator Controls Software Group Leader. Overview. What is EPICS? EPICS architecture EPICS Use at JLab. What is EPICS?. E xperimental P hysics and I ndustrial C ontrol S ystem See http://www.aps.anl.gov/epics/ for details An open-source control system toolkit
E N D
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
Architecture: Input/Output Controllers (IOCs) MAG1:CURRENT MAG1:CURRENT MAG1:CURRENT AO/CIP AO/CIP AO/CIP CIP CIP CIP 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
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 HzVME-based PPC system
Architecture: 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] TC1:temp TC15:temp TC2:temp TC16:temp TC7:temp TC11:temp TC3:temp TC17:temp TC8:temp TC12:temp TC4:temp TC18:temp TC9:temp TC13:temp TC5:temp TC19:temp TC6:temp TC10:temp TC14:temp TC20:temp Device/Driver Support [EPICS-supplied/user-extensible] New Device Support “Supported” Instruments “New” Equipment “Supported” Instruments “Supported” Instruments “Supported” Instruments Shared/Provided Required Optional From: http://www.aps.anl.gov/bcda/epicsgettingstarted/introduction/introductorysession1.htm
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 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 Hardware Support by Manufacturer • 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 • MicroImage Video Systems • Mizar • Modicon • Moller-Wedel • Motorola • National Instruments • Newport • OMS • Ocean Optics Inc. • Omega • Omnibyte • Omron • Ontrack Control Systems • Opto22 • Optodyne • Oriel • Oxford • Oxford Danfysik • Oxford Instruments • 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 • TEWS • Tektronix • 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