epics matt bickley accelerator controls software group leader
TRANSCRIPT
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 ([email protected])
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
Computer runningVxWorks, RTEMS, Linux, SunOS…
Valve1
AO/VME
VME
Architecture: Input/Output Controllers (IOCs)
Network (Channel Access)
ChannelAccessServer
Record
Device support
Driver support
StateMachineState
MachineStateMachine
Valve1
AO/VME
VME
Valve1
AO/VME
VME
IOC
MAG1:CURRENT
AO/CIP
CIP
MAG1:CURRENT
AO/CIP
CIP
MAG1:CURRENT
AO/CIP
CIP
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 SlideNetwork (Channel Access)
“Supported” Instruments “New” Equipment
[IOC Software]
Device/Driver Support [EPICS-supplied/user-extensible]
EPICS “iocCore” services and routines [EPICS-supplied]
Application Specific Database [of Records]
Application Specific
Programs[e.g. State Notation
Language]
New Device Support
“Supported” Instruments “Supported” Instruments “Supported” Instruments
Shared/Provided Required Optional
TC1:temp
TC2:temp
TC3:temp
TC4:temp
TC5:temp
TC6:temp
TC7:temp
TC8:temp
TC9:temp
TC10:temp
TC15:temp
TC16:temp
TC17:temp
TC18:temp
TC19:temp
TC20:temp
TC11:temp
TC12:temp
TC13:temp
TC14:temp
From: http://www.aps.anl.gov/bcda/epicsgettingstarted/introduction/introductorysession1.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 • 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
• ICS Electronics • IE Power • IMS • INCAA • Instrumentation Technologie
s
• 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 Lt
d./ 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