EPICS

aus Wikipedia, der freien Enzyklopädie
EPICS 7

EPICS logo svg.svg
Basisdaten

Entwickler Freie-Software-Bewegung
Erscheinungsjahr 19. Januar 1994
Aktuelle Version 3.15.8
(15. Mai 2020)
Aktuelle Vorabversion 7.0.4.1
(14. August 2020)
Betriebssystem Plattformunabhängigkeit
Kategorie Open Source
Lizenz EPICS Open License
https://epics-controls.org/

Das Experimental Physics and Industrial Control System (EPICS) ist eine Reihe von Softwarewerkzeugen und Anwendungen zur Entwicklung und Implementierung eines Prozessleitsystems zum Betreiben von Geräten wie Teilchenbeschleuniger, Teleskope und anderen großen Experimente. Die Tools wurden entwickelt, um die Entwicklung von Systemen zu unterstützen, die oft mit einer großen Anzahl von Computernetzwerken ausgestattet sind, die Kontrolle und Feedback liefern.

Geschichte

EPICS wurde 1988 von Bob Dalesio, Jeff Hill et al.[1] als Ground Test Accelerator Controls System (GTACS) am Los Alamos National Laboratory (LANL) entwickelt. 1989 kam Marty Kraimer vom Argonne National Laboratory (ANL) für 6 Monate an die Seite des GTA-Steuerungsteams und brachte seine Erfahrungen aus seiner Arbeit am Advanced Photon Source (APS) Control System in das Projekt ein. Die daraus resultierende Software wurde in EPICS umbenannt und 1991 auf der International Conference on Accelerator and Large Experimental Physics Control Systems (ICALEPCS) vorgestellt.[2] EPICS war ursprünglich unter einer kommerziellen Lizenz erhältlich, wobei erweiterte Versionen von Tate & Kinetic Systems verkauft wurden. Die Lizenzen für Mitarbeiter waren kostenlos, erforderten aber eine rechtliche Vereinbarung mit LANL und APS. Eine EPICS-Community wurde gegründet und die Entwicklung wuchs, da sich weitere Einrichtungen der Zusammenarbeit anschlossen. Im Februar 2004 wurde EPICS nach seiner Veröffentlichung unter der EPICS Open License frei verteilbar.[3] Es wird heute von über 50 großen Wissenschaftseinrichtungen weltweit sowie von mehreren kommerziellen Unternehmen genutzt und entwickelt.

Architektur

EPICS verwendet Client-Server-Modell und Publish/Subscribe-Techniken zur Kommunikation zwischen Computern. Die " Input/Output-Controller" (IOCs) sammeln Experiment- und Kontrolldaten in Echtzeit mit den daran angeschlossenen Messgeräten. Diese Informationen werden dann den Clients über den hochbandbreiten Channel Access (CA) oder das kürzlich hinzugefügte pvAccess-Netzwerkprotokoll zur Verfügung gestellt, die für Computer-Echtzeitanwendungen wie wissenschaftliche Experimente ausgelegt sind.

IOCs halten und führen eine Datenbank mit "Aufzeichnungen", die entweder Geräte oder Aspekte der zu steuernden Geräte darstellen. Sie können entweder von Standardservern oder PCs, oder von VME oder MicroTCA-Standard-Eingebettetes System-Prozessoren gehostet werden. Für 'harte Echtzeit'-Anwendungen werden in der Regel die Betriebssysteme RTEMS oder VxWorks verwendet, während 'weiche Echtzeit'-Anwendungen unter Linux oder Microsoft Windows laufen.

Daten, die in der Datenbank der Protokolle gespeichert sind, werden durch eindeutige Identifikatoren dargestellt, die als Prozessvariablen (PVs) bezeichnet werden. Diese PVs sind über die Kanäle zugänglich, die vom Channel Access Netzwerkprotokoll bereitgestellt werden.

Datenbankaufzeichnungen sind für verschiedene Arten von Ein- und Ausgängen (z. B. analog oder binär) oder zur Bereitstellung eines unterschiedlichen Funktionsverhaltens, wie z. B. eines Berechnungsprotokolls, verfügbar. Es ist auch möglich, benutzerdefinierte Satzarten zu erstellen. Jeder Datensatz besteht aus einer Reihe von Feldern, die seine Daten enthalten und sein Verhalten festlegen. Die meisten Satzarten sind im EPICS-Referenzhandbuch aufgeführt.

Es stehen Grafische Benutzeroberfläche-pakete zur Verfügung, mit denen Benutzer PV-Daten über typische Anzeige-Widgets wie Zifferblätter und Textfelder anzeigen und mit ihnen interagieren können. Beispiele sind der in die Jahre gekommene MEDM (Motif based Editor & Display Manager), sowie dessen Weiterentwicklungen EDM (Extensible Display Manager) und des Qt basierten & File-kompatiblen QtDM.[4] und CS-Studio (Phoebus)[5]

Jede Software, die das CA/pvAccess-Protokoll implementiert, kann PV-Werte lesen und schreiben. Erweiterungspakete sind verfügbar, um Unterstützung für MATLAB, LabVIEW, Perl, Python, Tcl, ActiveX etc. zu bieten. Diese können verwendet werden, um Skripte zu schreiben, die mit EPICS-gesteuerten Geräten interagieren.

Weblinks

Siehe auch

Einzelnachweise

  1. A. J. Kozubal, D. M. Kerstiens, J. O. Hill, L. R. Dalesio: Run-time environment and application tools for the ground test accelerator control system. In: Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment. Band 293, Nr. 1–2, 1990, S. 288–291, doi:10.1016/0168-9002(90)91446-I (englisch, elsevier.com).
  2. EPICS Architecture. In: EPICS – Experimental Physics and Industrial Control System. Abgerufen am 13. Mai 2020.
  3. EPICS Open License. In: EPICS – Experimental Physics and Industrial Control System. Abgerufen am 13. Mai 2020.
  4. caQtDM – a medm replacement based on QT. In: caQtDM – a medm replacement based on QT. Abgerufen am 13. Mai 2020.
  5. CS-Studio (Phoebus). In: CS-Studio (Phoebus). Abgerufen am 13. Mai 2020.