EPICS

{{short description|Software infrastructure for building distributed control systems}}

{{External links|date=December 2020}}

{{Infobox Software

| name = EPICS

| logo = EPICS logo.svg

| developer = Free software community

| released = {{start date|1994|1|19}}

| latest_release_version = 3.15.8

| latest_release_date = {{release date and age|2020|05|15}}

| latest_preview_version = 7.0.4.1

| latest_preview_date = {{release date and age|2020|08|14}}

| programming language = C/C++, Perl

| operating_system = Cross-platform

| genre = Open Source

| license = [https://epics-controls.org/epics-open-license EPICS Open License]

| website = {{url|https://epics-controls.org/}}

}}

The Experimental Physics and Industrial Control System (EPICS) is a set of software tools and applications used to develop and implement distributed control systems to operate devices such as particle accelerators, telescopes and other large scientific facilities. The tools are designed to help develop systems which often feature large numbers of networked computers delivering control and feedback. They also provide SCADA capabilities.

History

EPICS was initially developed as the Ground Test Accelerator Controls System (GTACS) at Los Alamos National Laboratory (LANL) in 1988 by Bob Dalesio, Jeff Hill, et al.{{Cite journal |last1=Kozubal |first1=A. J. |last2=Kerstiens |first2=D. M. |last3=Hill |first3=J. O. |last4=Dalesio |first4=L. R. |date=1990 |title=Run-time environment and application tools for the ground test accelerator control system |journal=Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment |language=en |volume=293 |issue=1–2 |pages=288–291 |doi=10.1016/0168-9002(90)91446-I|bibcode=1990NIMPA.293..288K }}  In 1989, Marty Kraimer from Argonne National Laboratory (ANL) came to work alongside the GTA controls team for 6 months, bringing his experience from his work on the Advanced Photon Source (APS) Control System to the project. The resulting software was renamed EPICS and was presented at the International Conference on Accelerator and Large Experimental Physics Control Systems (ICALEPCS) in 1991.{{Cite web |url=https://epics.anl.gov/EpicsDocumentation/EpicsGeneral/EPICS_Architecture.pdf |title=EPICS Architecture |last= |first= |date= |website=EPICS – Experimental Physics and Industrial Control System |archive-url= |archive-date= |access-date=}}

EPICS was originally available under a commercial license, with enhanced versions sold by Tate & Kinetic Systems. Licenses for collaborators were free, but required a legal agreement with LANL and APS. An EPICS community was established and development grew as more facilities joined in with the collaboration. In February 2004, EPICS became freely distributable after its release under the EPICS Open License.{{Cite web |url=https://epics-controls.org/epics-open-license/ |title=EPICS Open License |last= |first= |date= |website=EPICS – Experimental Physics and Industrial Control System |archive-url= |archive-date= |access-date=}}

It is now used and developed by over 50 large science institutions worldwide, as well as by several commercial companies.

Architecture

EPICS uses client–server and publish–subscribe techniques to communicate between computers. Servers, the “input/output controllers” (IOCs), collect experiment and control data in real time, using the measurement instruments attached to them. This information is then provided to clients, using the high-bandwidth Channel Access (CA){{cite web|url=http://www.aps.anl.gov/epics/base/R3-14/12-docs/CAref.html#port|title=EPICS R3.14 Channel Access Reference Manual|website=www.aps.anl.gov}} or the recently added pvAccess{{cite web|url=https://github.com/epics-base/pvAccessCPP/wiki/protocol|title=pvAccess Protocol Specification|website=github.com}}{{cite web|url=https://epics-base.github.io/pvxs/netconfig.html|title=PVA Network Configuration|website=epics-base.github.io}} networking protocols that are designed to suit real-time applications such as scientific experiments.

IOCs hold and interact with a database of "records", which represent either devices or aspects of the devices to be controlled. IOCs can be hosted by stock-standard servers or PCs or by VME, MicroTCA, and other standard embedded system processors. For "hard real-time" applications the RTEMS or VxWorks operating systems are normally used, whereas "soft real-time" applications typically run on Linux or Microsoft Windows.

Data held in the records are represented by unique identifiers known as Process Variables (PVs). These PVs are accessible over the network channels provided by the CA/pvAccess protocol.

Many record types are available for various types of input and output (e.g., analog or binary) and to provide functional behaviour such as calculations. It is also possible to create custom record types. Each record consists of a set of fields, which hold the record's static and dynamic data and specify behaviour when various functions are requested locally or remotely. Most record types are listed in the [https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14 EPICS record reference manual].

Graphical user interface packages are available, allowing users to view and interact with PV data through typical display widgets such as dials and text boxes. Examples include EDM (Extensible Display Manager), MEDM (Motif/EDM), and [https://controlssoftware.sns.ornl.gov/css_phoebus CSS].

Any software that implements the CA/pvAccess protocol can read and write PV values. Extension packages are available to provide support for MATLAB, LabVIEW, Perl, Python, Tcl, ActiveX, etc. These can be used to write scripts to interact with EPICS-controlled equipment.

Facilities using EPICS

class="wikitable"

|+

List of Institutions using EPICS, by Region

!Region

!Institute

!Country

Africa

|iThemba LABS[http://www.tlabs.ac.za iThemba LABS - South Africa]

|South Africa

rowspan="8" |Asia

|KSTAR – Korea Superconducting Tokamak Advanced Research

|Republic of Korea

J-PARC – Joint Facility for High Intensity Proton Accelerators

| rowspan="4" |Japan

RIBF – RIKEN RI Beam Factory Project
KAGRA – Kamioka Gravitational Wave Detector
SuperKEKB at KEK in Tskuba
BSRF - Beijing Synchrotron Radiation Laboratory[http://english.bsrf.ihep.cas.cn Beijing Synchrotron Radiation Laboratory (BSRF)]

|China

VECC – Variable Energy Cyclotron Centre

| rowspan="2" |India

TIFR- Tata Institute of Fundamental Research
rowspan="17" |Europe

|Berliner Elektronenspeicherring für Synchrotronstrahlung (BESSY II)Helmholtz-Zentrum Berlin

| rowspan="7" |Germany

Deutsches Elektronen Synchrotron (DESY)
[http://fel.fhi-berlin.mpg.de FHI free-electron laser (FEL)] - Fritz Haber Institute of the Max Planck Society
GEO600Gravitational-wave observatory, Max Planck Institute for Gravitational Physics
[http://www.gsi.de/fair/ GSI/FAIR]
KArlsruhe Research Accelerator and [https://www.ibpt.kit.edu/flute.php FLUTE] - Karlsruhe Institute of Technology
[https://www.ikp.tu-darmstadt.de/sdalinac_ikp/ S-DALINAC] – Technische Universität Darmstadt
Wendelstein 7-X – experimental stellarator, Max Planck Institute of Plasma Physics
Diamond Light SourceRutherford Appleton Laboratory

| rowspan="3" |United Kingdom

ISIS Neutron Source - Rutherford Appleton Laboratory
International Muon Ionization Cooling Experiment (MICE)Rutherford Appleton Laboratory
European Spallation Source ERIC (ESS)

|Sweden

International Thermonuclear Experimental Reactor (ITER)

| rowspan="2" |France

Spiral2 Système de Production d'Ions RadioActifs en Ligne de deuxième génération
Laboratori Nazionali di Legnaro

|Italy

Swiss Light SourcePaul Scherrer Institut

|Switzerland

SwissFELPaul Scherrer Institut

|Switzerland

Turkish Accelerator and Radiation LAboratory (TARLA)

|Turkey

Middle East

|Synchrotron-Light for Experimental Science and Applications in the Middle East (SESAME)

|Jordan

rowspan="20" |North America

|Advanced Light SourceLawrence Berkeley National Laboratory

| rowspan="17" |United States

Advanced Photon SourceArgonne National Laboratory
Apache Point Observatory
FNALFermi National Accelerator Laboratory
Facility for Rare Isotope BeamsMichigan State University
Gemini Observatory
W. M. Keck Observatory
Laser Interferometer Gravitational-Wave Observatory (LIGO)
Los Alamos Neutron Science CenterLos Alamos National Laboratory
National Spherical Torus ExperimentPrinceton Plasma Physics Laboratory
[http://nstx-u.pppl.gov National Spherical Torus Experiment Upgrade] – Princeton Plasma Physics Laboratory
National Superconducting Cyclotron LaboratoryMichigan State University
National Synchrotron Light Source IIBrookhaven National Laboratory
Spallation Neutron SourceOak Ridge National Laboratory
Stanford Synchrotron Radiation LaboratoryStanford University
Linac Coherent Light SourceSLAC National Accelerator Laboratory
TJNAFThomas Jefferson National Accelerator Facility
Canadian Light SourceSaskatoon, Saskatchewan

| rowspan="3" |Canada

Canadian Neutron Beam CentreChalk River Laboratories
TRIUMF – Located on the campus of the University of British Columbia
Not determined

|IFMIFInternational Fusion Materials Irradiation Facility

|European Union

Japan

United States

Russia

rowspan="4" |Oceania

|Australian Synchrotron

| rowspan="4" |Australia

ANTARESAustralian Nuclear Science and Technology Organisation
ASKAP (Australian Square Kilometre Array Pathfinder)CSIRO
[https://physics.anu.edu.au/nuclear/hiaf.php Heavy Ion Accelerator] at the Australian National University
South America

|LNLS – Laboratório Nacional de Luz Síncrotron

|Brazil

Commercial Users

  • [https://www.bira.com BiRa Systems]
  • [http://ciemat.es Ciemat] {{Webarchive|url=https://web.archive.org/web/20190904044754/http://www.ciemat.es/ |date=2019-09-04 }}
  • [http://cosylab.com CosyLab]
  • [http://gl-research.com GLResearch]
  • [http://idtnet.co.uk idt]
  • [http://mobiis.com/en/technology/ Mobiis]
  • [https://nusano.com Nusano, Inc]
  • [http://observatorysciences.co.uk Observatory Sciences]
  • [http://ospreydcs.com Osprey Distributed Control Systems]
  • Varian Medical Systems
  • [https://ptcusa.com Pyramid Technical Consultants]

See also

{{Portal|Free and open-source software}}

  • TANGO control system
  • SCADA—Supervisory Control And Data Acquisition

References