11
Experimental Physics and Experimental Physics and Industrial Control SystemIndustrial Control System
EPICSEPICS An IntroductionAn Introduction
22
What is EPICS?What is EPICS?
A distributed open architecture that supports a wide A distributed open architecture that supports a wide range of control system solutions from small test stands range of control system solutions from small test stands to very large integrated facilities.to very large integrated facilities.
It is It is ideallyideally suited to the ‘slow’ controls ( ~50 ms+) for suited to the ‘slow’ controls ( ~50 ms+) for large, distributed, heterogeneous control systems that large, distributed, heterogeneous control systems that require high reliability and resilience and also need to be require high reliability and resilience and also need to be maintained and enhanced during long operational maintained and enhanced during long operational lifetimes (20 years+).lifetimes (20 years+).
The The EPICS collaborationEPICS collaboration consists of the controls groups of consists of the controls groups of many research organizations that use and develop the many research organizations that use and develop the EPICS tool-kit.EPICS tool-kit.
33
What is EPICS?What is EPICS?
EPICS is open-source software and its distribution, EPICS is open-source software and its distribution, development and support depends on ‘voluntary’ effort development and support depends on ‘voluntary’ effort or finance from collaboration members.or finance from collaboration members.
EPICS provides a set of tools that reduces software EPICS provides a set of tools that reduces software application and maintenance costs by providing:application and maintenance costs by providing:
Configuration tools in place of programmingConfiguration tools in place of programming
A large installed base of tested software A large installed base of tested software
A modular design that supports incremental A modular design that supports incremental
upgradesupgrades
Well defined interfaces for extensions at every Well defined interfaces for extensions at every
levellevel
44
Origins of EPICSOrigins of EPICS
Los Alamos National Laboratory 1987-1989, software for Los Alamos National Laboratory 1987-1989, software for GTACS (Ground Test Accelerator Control System) required GTACS (Ground Test Accelerator Control System) required fully automated, distributed control (Bob Dalesio, Jeff Hill fully automated, distributed control (Bob Dalesio, Jeff Hill et al).et al).
Argonne National Lab became involved from 1988 Argonne National Lab became involved from 1988 onwards and formed a collaboration for co-development onwards and formed a collaboration for co-development of the control system for the new Advanced Photon of the control system for the new Advanced Photon Source (APS). Both labs began to develop the GTACS Source (APS). Both labs began to develop the GTACS ideas together.ideas together.
By 1991 the LANL/APS collaboration renamed the By 1991 the LANL/APS collaboration renamed the resulting system as EPICS.resulting system as EPICS.
55
Origins of EPICSOrigins of EPICS
Further labs (LBL and CEBAF) joined the collaboration Further labs (LBL and CEBAF) joined the collaboration as well as the large Superconducting Super Collider as well as the large Superconducting Super Collider project (abandoned 1993).project (abandoned 1993).
Three commercial companies signed licences to adopt Three commercial companies signed licences to adopt and develop EPICS software (then at version 3.8). Tate and develop EPICS software (then at version 3.8). Tate Integrated Systems marketed it under the name TIS-Integrated Systems marketed it under the name TIS-4000 and Kinetic Systems as Intuit.4000 and Kinetic Systems as Intuit.
EPICS shares some of its origins with VsystemEPICS shares some of its origins with Vsystem®®, sold by , sold by Vista Control Systems Inc, founded by Peter Clout of Vista Control Systems Inc, founded by Peter Clout of LANL in 1989. LANL in 1989.
66
The EPICS CollaborationThe EPICS Collaboration
Now over 100 independent projects in North & South Now over 100 independent projects in North & South America, Europe, Asia and AustralasiaAmerica, Europe, Asia and Australasia
Applications in high-energy physics, fusion energy, Applications in high-energy physics, fusion energy, particle physics, astronomy and industrial control. particle physics, astronomy and industrial control. Probably strongest in synchrotrons/beamlinesProbably strongest in synchrotrons/beamlines
Independent development, co-development and Independent development, co-development and incremental development of software is done by incremental development of software is done by collaboration memberscollaboration members
EPICS software is available for download from many EPICS software is available for download from many sites: usually the originator of the software maintains sites: usually the originator of the software maintains the source code repository.the source code repository.
Argonne National Laboratory (ANL) maintains EPICS Argonne National Laboratory (ANL) maintains EPICS basebase software & co-ordinates releases software & co-ordinates releases
77
The EPICS CollaborationThe EPICS Collaboration
Problem reporting and resolution via e-mail Problem reporting and resolution via e-mail exploders (e.g. ‘tech-talk’ list)exploders (e.g. ‘tech-talk’ list)
Documentation available from download sitesDocumentation available from download sites Large collaboration meetings to report new work, Large collaboration meetings to report new work,
discuss and plan future directions, explore new discuss and plan future directions, explore new applications, and explore new requirements for applications, and explore new requirements for existing systemsexisting systems
Current consortium meeting pattern: Twice Current consortium meeting pattern: Twice yearly, locations usually alternate North yearly, locations usually alternate North America/Elsewhere.America/Elsewhere.Next: ICALEPCS 2013, San Francisco, Oct. 2013.Next: ICALEPCS 2013, San Francisco, Oct. 2013.
Smaller groups from multiple labs meet to Smaller groups from multiple labs meet to discuss design issues on significant discuss design issues on significant enhancements e.g. EPICS V4.enhancements e.g. EPICS V4.
88
EPICS WorldwideEPICS Worldwide
99
Berliner Elekronenspeicherring-
Gesellschaft furSynchrontronsrahlung
(BESSY)
Partial View of Collaboration MembersPartial View of Collaboration Members
Argonne NationalLaboratory
Los Alamos NationalLaboratory
Jefferson Laboratory
W. M. KeckObservatory
Stanford Linear Accelerator Center
KEK (Koh ehnerugiiKencuesho)
Commissariat a l’EnergieAtomique (SACLAY)
Deutches Elektronen-Synchrotron (DESY)
Lawrence Berkeley National
Laboratory
Paul Scherrer Institut - SLS
GeminiObservatory
Shanghai SynchrotronRadiation Facility
RIKEN
Oak Ridge NationalLaboratory (SNS)
Diamond LightSource
Fermilab D0Experiment
Budker Institute of NuclearPhysics
1010
EPICS is Suitable for a Large EPICS is Suitable for a Large Range of ApplicationsRange of Applications
PVs I/O Controllers
Advanced Photon Source 300K 170
KEK B 240K 94
CEBAF 180K 98
BESSY II 150K 110
Swiss Light Source 90K 160
D0 (FNL) 60K 124
PEP II RF and Longitudinal Control 19K 21
Low Energy Demonstrator Accelerator 15K 18
Compass 1K 1
Keck II 2K 2
Gemini Telescopes 35K 17
Next Linear Collider Test Accelerator 3K 2
Diamond 50K 180+
Japanese Hadron Facility ~50K ~100
PF-AR ~25K ~50
Spallation Neutron Source 150K 150
1111
EPICS Software DistributionEPICS Software Distribution
The EPICS software distribution is in two parts:The EPICS software distribution is in two parts:
1.1. EPICS EPICS BaseBase. This is the main core of EPICS, . This is the main core of EPICS, comprising the build system and tools, common comprising the build system and tools, common and OS-interface libraries. It is defined, tested and OS-interface libraries. It is defined, tested and released centrally (Argonne National Lab) and released centrally (Argonne National Lab) as a single unified package with a specific as a single unified package with a specific release number e.g. 3.14.12.3release number e.g. 3.14.12.3
Hardware specific software is separately Hardware specific software is separately distributed, supporting a wide range of devices distributed, supporting a wide range of devices on different I/O buses.on different I/O buses.
1212
EPICS Software DistributionEPICS Software Distribution
2.2. EPICS EPICS ExtensionsExtensions. . Is a large and more loosely Is a large and more loosely defined set of tools (mostly run on the host defined set of tools (mostly run on the host side) which provide configuration, GUIs, side) which provide configuration, GUIs, archiving, APIs etc. Each tool is developed and archiving, APIs etc. Each tool is developed and distributed by individual organisations. distributed by individual organisations.
Depending on local preferences and practice, Depending on local preferences and practice,
each EPICS site will have its own set of installed each EPICS site will have its own set of installed extensions.extensions.
No centrally organized distribution: there are No centrally organized distribution: there are diverse levels of support and compatibility.diverse levels of support and compatibility.
1313
EPICS Software LicensingEPICS Software Licensing
EPICS software is available under different open-EPICS software is available under different open-source licenses depending on the originator of the source licenses depending on the originator of the software. In general, it is available free of charge with software. In general, it is available free of charge with certain licensing conditions.certain licensing conditions.
As of February 2004As of February 2004 EPICS Base EPICS Base software software became available under the ‘EPICS Open License’ became available under the ‘EPICS Open License’ from Argonne/Los Alamos. It is ‘Open Source’ and from Argonne/Los Alamos. It is ‘Open Source’ and may be copied and distributed freelymay be copied and distributed freely
Almost all EPICS Host software (Extensions) is Almost all EPICS Host software (Extensions) is effectively ‘Open Source’effectively ‘Open Source’
1414
EPICSEPICSClientClient
Server Server
What is EPICS? A Distributed What is EPICS? A Distributed ArchitectureArchitecture
CACA
CA CA
CA = Channel Access
1515
What is EPICS? A Distributed What is EPICS? A Distributed ArchitectureArchitecture
EPICS is physically a flat architecture of front-end controllers EPICS is physically a flat architecture of front-end controllers and operator workstations that communicate via TCP/IP and and operator workstations that communicate via TCP/IP and UDP protocols:UDP protocols:
System scales simply through the addition of new System scales simply through the addition of new computers (IOCs)computers (IOCs)
Physical hierarchy may be introduced through Physical hierarchy may be introduced through bridges, routers, or gatewaysbridges, routers, or gateways
Network bandwidth is the primary limiting factorNetwork bandwidth is the primary limiting factor
EPICS software architecture is client/server based - with EPICS software architecture is client/server based - with independent data stores providing read/write access directly independent data stores providing read/write access directly between any two pointsbetween any two points
No central name servers: local name discovery allows No central name servers: local name discovery allows automaticautomatic integration of new components integration of new components
1616
What is EPICS?What is EPICS? Channel Access Channel Access clientsclients are are
programs that require access to programs that require access to Process VariablesProcess Variables to carry out to carry out their purposetheir purpose
The “service” that a Channel The “service” that a Channel Access Access serverserver provides is access provides is access to a to a Process Variable*Process Variable*
StripTool EDM
Process
Variables
Process
Variables
CAS CAS
CACCAC
* A Process Variable (PV) is a named item of data.
=
1717
How does it do it?How does it do it?
Power Supply
Beam Position Monitor
Vacuum Gauge
Computer Interface
Computer Interface
Computer Interface
Process Variables:
Channel Access Server
S1A:H1:CurrentAO
S1:P1:x
S1:P1:y
S1:G1:vacuum
Channel Access Client
Channel Access Client
Channel Access ClientChannel Access Client
1818
What is EPICS? The EPICS ToolkitWhat is EPICS? The EPICS Toolkit
The EPICS toolkit consists of a set of software components with which Application Developers can create a control system. The basic components are:
• OPI Operator Interface. A Linux/Windows–based workstation/PC which can run various EPICS tools: the "clients”.
• IOC Input Output Controller . A front-end controller, with various I/O modules for analog and digital signals etc, and for access to field buses such as Ethernet, GPIB or CANbus. Originally, this was a VME/VXI-based chassis, containing a Motorola 68K/PPC
processor Nowadays, an IOC can operate on almost any suitable platform.
• LAN TCP/IP-based Local Area Network. The communication networkwhich connects the IOCs and OPIs. EPICS provides a softwarecomponent, Channel Access, which provides network transparentcommunication between every client - such as GUIs - and an
arbitrary number of servers - usually IOCs.
1919
EPICS Supports a Standard Control System EPICS Supports a Standard Control System
ArchitectureArchitecture
OPI (PC/Workstation)
Operating Systems: Linux, Mac OS X, Unix, Windows
I/O Controllers: VME,VXI PCI, WorkstationsOS: vxWorks, Unix, Linux, Windows, RTEMS, Mac OS X
Remote and Local I/O Buses: Ethernet, PCI, CANBus, Industry Pack, VME, VXI, PCI, ISA, CAMAC, GPIB, Profibus, Bitbus, Serial, Allen-Bradley, Modbus, Yokogawa, G-3, Ethernet/IP
Field I/O Field I/O Field I/O
Site LAN/WAN
Field I/O
2020
RT
EM
S
IOCIOC
IOC
IOC
With Release 3.14, the operating system With Release 3.14, the operating system limitations for iocCore were removed. limitations for iocCore were removed.
Commercial Instruments
Custom Hardware
Technical Equipment
EPICS Supports a Standard Control System EPICS Supports a Standard Control System ArchitectureArchitecture
2121
A typical EPICS Control SystemA typical EPICS Control System
Commercial Instruments
IOCIOC
CASChannel Access
IOC SoftwareEPICS Database
Sequence Programs
Custom ProgramsReal-time
Control
Client SoftwareEDM CSS/BOY
ALH StripToolTCL/Tk
Perl Scripts Many, many others
CA Server
Custom Hardware
Technical Equipment Process Variables
2222
EPICS AttributesEPICS Attributes
• Tool Based EPICS provides a number of tools both for creating and also for operating a control system. This minimizes the need for custom coding and helps ensure uniform operator interfaces.
• Distributed An arbitrary number of IOCs and OPIs can be supported. If a single IOC become
saturated, its functions may be spread over several IOCs.
• Event Driven Network loading and message latency are minimized by
allowing only changes to a datum to be sent by servers to clients.
2323
EPICS AttributesEPICS Attributes
• Customization Users may add new components to support their applications; they are configured using ascii tables/XML files.
• Scalable Systems from a few to > 300,000 “Process Variables" supported.
• Modular Distinct interfaces at several layers allow good decoupling between
clients and servers, across versions, and mixed hardware.
• Portable Runs on Linux, Mac and Windows PCs
2424
EPICS IOC DatabaseEPICS IOC Database
The EPICS function-block database is the heart of the control system. It is:
• Application-specific.• Memory-resident.• What defines the control application; most other application are
adjuncts to it.• Modular: built by creating and linking many function blocks ("records"),
selected from a user -expandable library.• Deterministic: it runs in real-time either synchronously or
asynchronously; either periodically or event-driven.• Provided with fine-grained access control based on user, location, and
dynamic parameters (Channel Access security).• Able to simulate missing hardware.
2525
EPICS Database ExampleEPICS Database Example
Ai
calc
B
A
Data Flow
Process Flow
double.CALC = A*B
double
input
hardware VALVAL
FLNK
FLNK
PROC
2
Records in a database may be linked for purposes of data and processing flow
constant
2626
IOC Internals OverviewIOC Internals Overview
Database Access(EPICS Core)
VME Bus
LAN Channel Access
IOC Operating System (e.g. vxWorks)
Record Support
Device/ASYN/Driver Support
2727
EPICS Record TypesEPICS Record Types
The following 29 standard record types were distributed in EPICS Base 3.14.12.
I/O Signal Processing Data Storage Control
Ai Calc Stringin DfanoutAo Calcout Stringout FanoutBi Sub Waveform EventBo aSub Compress SelectMbbi Histogram PermissiveMbbiDirect SubArray SequenceMbbo StateMbboDirect AaiLongin AaoLongout
2828
EPICS Record SupportEPICS Record Support
• Has templates of the processing to be performed by each record instance.• Processing dependent upon record type. • For I/O records, Record support calls Device support.• Record support does not know any details of Device support, only how to invoke it.
Generally, Record support will perform some combination of the following:
• I/O If record is an I/O type, Read or Write to hardware via Device Support.
• Conversion Conversion of raw data to user defined units ( with smoothing, scaling, masking, shifting).
• Alarms Check for and raise alarms (high, low).
• Monitor Post monitors on data values (which causes callbacks).
• Link Cause processing of related records, possibly by "pulling" or "pushing" data.
2929
Record FieldsRecord Fields
A record's attributes are defined by its fields. A field name is abbreviated to no more than four upper case letters. A fully qualified Process variable (PV) is written: <record name>.<field name>
All record types incorporate a core set of fields which are needed for basic record processing, such as:• PROC Writing to this field causes record processing. • SCAN The record's method of scanning.• VAL The record's value.• FLNK The record's processing linkage to other records.
Input records (e.g. Analogue Input) always have:• DTYP The I/O Device Type.• INP The hardware address.
* If no field is given in a PV name, the .VAL field is defaulted.
3030
Record Processing (Scanning)Record Processing (Scanning)
When an EPICS record is processed it is said to be scanned.Records are scanned in one of three ways:
1. Periodic Scan At a certain periodicity, e.g. 1 second, 0.1 second, etc.
2. Event Scan Processed when a software or hardware event is triggered.
3. Passive Scan Executed because a related record was scanned and linked to this record, or a
field was updated via a dbPut/caPut.
Within the IOC, records and their support code are processed by a scan task (or thread). There is a separate task for each scan period and scan type.
3131
Channel AccessChannel Access
Channel Access is the "backbone" of EPICS. It provides connections between the internal IOC database and external systems.
Channel Access is based on a Client/Server model. Each IOC runs its own local Channel Access Server task(s).
Channel Access runs over the network using TCP/IP for data transport and UDP/IP for connection management. In addition to getting or setting the "value“ of a channel, other macro data such as a timestamp, a status and a severity can also be returned.
Channel Access was not defined via a formal protocol specification but by its implementation (Jeff Hill, LANL).
3232
Channel AccessChannel Access
Operations that a Channel Access Client can perform include:
• Search the network for a particular Channel and connect to it. (A “Channel” requires a network link to a Channel Access server which serves the data in a record field (PV)). • Write to that Channel.• Read from that Channel.• Subscribe to callbacks from that Channel.• Disconnect from that Channel.
3333
Channel Access in One Slide
CA Server
CA Client
Process Variables:
Channel Access Server
S1A:H1:CurrentAO
S1:P1:x
S1:P1:y
S1:G1:vacuum
Channel Access Client
Who has a PV named “S1A:H1:CurrentAO”?
I do.
What is its value?
25.5 AMPS
Change its value to 30.5
“connection request” or “search request”
OK, it is now
30.5
30.5 is too high. It is now set to the maximum value of 27.5.
You are not authorized to
change this value
Notify me when the
value changes
It is now 20.5 AMPS
It is now 10.5 AMPS
It is now -0.0023 AMPS
“put” or
“caPut”
“get” or
“caGet”
“set a monitor”
“post an event”
or
“post a monitor”
“put complete”
or
or
3434
SequencerSequencer
• An EPICS facility which can be run in an IOC.
• Provides a Finite-State Machine paradigm for control of the database(s).
• Source code is written in State Notation Language (SNL) which is compiled into C code using the EPICS
State Notation Compiler (SNC).
• State transitions are triggered by: elapsed time, channel value change or software event. SNL allows easy
translation from State Diagrams to source code.
3535
SequencerSequencer
An example program fragment:
State A { when (situation X occurs){
handle situation X; } State B; when (situation Y occurs){
handle situation Y; } State C;
}...
3636
Some Operator Interface ToolsSome Operator Interface Tools
These are all host-based standalone utilities using Channel Access to configure or monitor the system. They are configured using interactive tools or files.
EDM Extensible Display Manager GUI for control/monitoring (Diamond)
MEDM Motif-based Display Manager (APS)
EPICS Qt EPICS CA widgets for Qt GUI framework
CSS/BOY Control System Studio (see next slide)
EDD/DM Original X11-based Display Manager
ALH Alarm Handler: graphical display of alarm tree
Channel Archiver Archives and displays data
StripTool Plots data as a strip-chart
3737
Control System Studio (CSS)Control System Studio (CSS) Control System StudioControl System Studio (CSS). A major new development (CSS). A major new development
being developed and used at DESY, SNS (and elsewhere) being developed and used at DESY, SNS (and elsewhere) that aims to provide a comprehensive control system that aims to provide a comprehensive control system application framework.application framework.
Based on Java/Eclipse IDE with Rich Client Platform (RCP) Based on Java/Eclipse IDE with Rich Client Platform (RCP) components.components.
Emphasis on interoperability, portability and standards with Emphasis on interoperability, portability and standards with a unified look-and-feela unified look-and-feel
New Channel Access clients are being produced with CSS New Channel Access clients are being produced with CSS includingincluding• BOY – Best OPI YetBOY – Best OPI Yet• BEAUTY - Best Ever Archive ToolsetBEAUTY - Best Ever Archive Toolset• BEAST – Best Ever Alarm System ToolsetBEAST – Best Ever Alarm System Toolset
3838
Example Screens: EDMExample Screens: EDM
3939
Example Screens: MEDMExample Screens: MEDM
4040
Example Screens: CSS/BOY 1Example Screens: CSS/BOY 1
4141
Example Screens: CSS/BOY 2Example Screens: CSS/BOY 2
4242
Example Screens: ALHExample Screens: ALH
4343
Example Screens: StripToolExample Screens: StripTool
4444
Configuration ToolsConfiguration ToolsThese are all host-based standalone utilities used to define and create the EPICS database definition
DCT The original, forms based, Database Configuration Tool
GDCT DCT with an updated graphical interface
Capfast A proprietary (Phase 3 Inc.) electronics layout tool used to generate EPICS databases via hierarchical schematics
VDCT Visual DCT. Java-based visual design tool
TDCT Triumf Database Configuration Tool. Java-based, Capfast compatible
The EPICS database definition file (.db file) has a straightforward text format and so can be generated or modified via other means including report generators, scripts, text editors and database tools.
4545
Configuration Tools:Configuration Tools: GDCT GDCT
4646
Capfast & TDCTCapfast & TDCT
4747
Templates
Record
Configuration Tools:Configuration Tools: Visual DCT Visual DCT
4848
EPICS and RDBMSEPICS and RDBMS
For large-scale systems, management of the EPICS configuration can be handled using a RDBMS.
Several labs have now made use of Oracle or Sybase for this purpose.
An example is shown in the diagram, taken from SLAC, which shows their use of Oracle to generate an operational IOC database from template files (DBT) and generator files (DBG).
4949
Channel Access InterfacesChannel Access Interfaces
General-purpose programming languages as well as commercial and public-domain packages have been enabled with a Channel Access capability, including:
C Standard Programming Languages Java Programming Language Perl Scripting Language Python Scripting Language LabVIEW Virtual Instrument Builder Matlab Numerical Computing Unix Shells Scripting languages Mathematica Mathematics/Modelling Tcl/Tk Interpreter with GUI Active-X Windows Active-X IDL/PV-Wave Presentation Graphics
5050
EPICS UtilitiesEPICS Utilities
In IOC:
db... Database Utilities (get, put, dump, trace, etc .)dbcar Database Channel Access reportcasr Channel Access Server Reportdbior Driver Reportsas.. Access Security Reportsseq... Sequencer Reports
On OPI:
probe Single Channel GUI Diagnostic
caget, caput Channel Access utilities
camonitor
5151
The Future - EPICS V4The Future - EPICS V4
EPICS “Version 4” is now under development (initiated at EPICS “Version 4” is now under development (initiated at BNL for NSLS-II). Now at “Beta 2.0” as of January 2013.BNL for NSLS-II). Now at “Beta 2.0” as of January 2013.
Support for:Support for:• ““Structured” data in EPICS records, not just simple type or arrayStructured” data in EPICS records, not just simple type or array• ““Remote Procedure Call” like processing pattern. Supports passing Remote Procedure Call” like processing pattern. Supports passing
arguments within the context of asynchronous record processing. arguments within the context of asynchronous record processing. • V4 includes support for protocol interoperability with V3V4 includes support for protocol interoperability with V3 (This is the CAV3 module, which can be used on the server or client (This is the CAV3 module, which can be used on the server or client
side)side)• In short EPICS V4 includes EPICS V3In short EPICS V4 includes EPICS V3
5252
The Future - EPICS V4The Future - EPICS V4
Current modules:Current modules:• pvData - The description of how memory resident data is pvData - The description of how memory resident data is described and defined. A complete implementation isdescribed and defined. A complete implementation is available for both Java and for C++.available for both Java and for C++.• pvAccess - The description of network support for pvData. A pvAccess - The description of network support for pvData. A complete implementation is available for both Java andcomplete implementation is available for both Java and for C++. Successor to Channel Access.for C++. Successor to Channel Access.
• pvIOC – The description of an IOC (Input Output pvIOC – The description of an IOC (Input Output Controller) that supports pvData. The Java versionController) that supports pvData. The Java version (javaIOC) has lots of functionality. The C++(javaIOC) has lots of functionality. The C++ version is in the early stages of development.version is in the early stages of development.• pvService - The description of a set of services based on pvService - The description of a set of services based on pvData/pvAccess/pcIOC. Both the Java and C++pvData/pvAccess/pcIOC. Both the Java and C++ versions are in early stages of development.versions are in early stages of development. (Provides RPC service, amongst others).(Provides RPC service, amongst others).
5353
The Future - EPICS V4The Future - EPICS V4
In an EPICS installation, it is expected that control and In an EPICS installation, it is expected that control and hardware support would still be done with EPICS V3 IOCs, hardware support would still be done with EPICS V3 IOCs, while middle layer and service operations would be done while middle layer and service operations would be done with EPICS V4.with EPICS V4.
See See http://epics-pvdata.sourceforge.net/index.htmlhttp://epics-pvdata.sourceforge.net/index.html
5454
The Future - EPICS V4The Future - EPICS V4
5555
Ten good things about EPICSTen good things about EPICS
1.1. It’s freeIt’s free
2.2. It’s Open SourceIt’s Open Source
3.3. There are lots of users running large, well-tested systemsThere are lots of users running large, well-tested systems
4.4. All a client needs to know to access data is a PV nameAll a client needs to know to access data is a PV name
5.5. You can pick the best tools out there …You can pick the best tools out there …
6.6. … … or build your ownor build your own
7.7. The boring stuff is already doneThe boring stuff is already done
8.8. There’s lots of free advice available via email/webThere’s lots of free advice available via email/web
9.9. A good contribution becomes internationally knownA good contribution becomes internationally known
10.10. By following a few simple rules, you get a lot for freeBy following a few simple rules, you get a lot for free
5656
1990 1995 2000 2010
LANL develops Ground Test Accelerator
Control System (GTACS)
SLS
CLS
BESSY
SLAC
IPNS IPNS DAQ
ANL APS & LANL begin
collaboration on EPICS
FNAL D0
Keck
GeminiSNS
> 150 Licensees
2003
KEK
Still the “Control
System of Choice”
Growth of EPICS 1990-2012Growth of EPICS 1990-2012
Oct 2007 Meeting
> 130 Attendees
> 30 Institutions
> 75 Presentations
Australian Synchrotron
LCLS
SSRF
DESY
LBL
CEBAF
NSLS-II
ITER
ASKAP
DIAMOND
5757
EPICS Base Code StatisticsEPICS Base Code Statistics
The code distributed in the
EPICS system has been
estimated (2004) to have an equivalent
commercial cost of $US 22.5M
Continue… ‘Supported Platforms’
Top Related