EPICS: Unterschied zwischen den Versionen

EPICS: Unterschied zwischen den Versionen

imported>Mfb
(Hinweis zur Kamera EPICS)
 
imported>Prüm
 
Zeile 1: Zeile 1:
{{Dieser Artikel|behandelt die Softwareumgebung für Kontrollsysteme; für das gleichnamige Instrument am [[Extremely Large Telescope]] siehe dort.}}
{{Infobox Software
{{Infobox Software
| Name                   = EPICS
| Name                 = EPICS 7
| Logo                   = [[File:EPICS_Logo.gif|center|EPICS Logo]]
| Logo                 = [[Datei:EPICS logo svg.svg|300px]]
| developer              = [[Frebghhge software community]]
| Screenshot          = <!-- Bildschirmfoto -->
| Erscheinungsjahr       = 1994
| Beschreibung        = <!-- Beschreibung des Bildschirmfotos -->
| AktuelleVersion = 3.16.1
| Maintainer          =
| AktuelleVersionFreigabeDatum   = 2. Juni, 2017
| Hersteller          = [[Freie-Software-Bewegung]]
| latest_preview_version =
| Erscheinungsjahr     = 19. Januar 1994
| latest_preview_date    =
| AktuelleVersion     = 3.15.8
| Betriebssystem         = [[Cross-platform]]
| AktuelleVersionFreigabeDatum = 15. Mai 2020
| Kategorie             = [[Open Source]]
| AktuelleVorabVersion = 7.0.4.1
| Lizenz                 = [http://www.aps.anl.gov/epics/license/open.php?product=EPICS+Base EPICS Open License]
| AktuelleVorabVersionFreigabeDatum = 14. August 2020
| Website               = [http://www.aps.anl.gov/epics/ aps.anl.gov/epics/]
| Betriebssystem       = [[Plattformunabhängigkeit]]
| Programmiersprache  =
| Kategorie           = [[Open Source]]
| Lizenz               = [http://www.aps.anl.gov/epics/license/open.php?product=EPICS+Base EPICS Open License]
| Deutsch              =
| Website             = https://epics-controls.org/
}}
}}


'''EPICS''' (für ''Experimental Physics and Industrial Control System'') ist eine Softwareumgebung, um verteilte [[Kontrollsystem]]e für Großexperimente wie [[Teilchenbeschleuniger]] oder [[Teleskop]]e zu entwickeln und zu realisieren. EPICS bietet dabei [[Supervisory Control and Data Acquisition|SCADA]]-Unterstützung.  
Das '''Experimental Physics and Industrial Control System''' ('''EPICS''') ist eine Reihe von Softwarewerkzeugen und Anwendungen zur Entwicklung und Implementierung eines [[Prozessleitsystem]] zum Betreiben von Geräten wie [[Teilchenbeschleuniger]], [[Teleskop]]e und anderen großen [[Experiment]]e. Die Tools wurden entwickelt, um die Entwicklung von Systemen zu unterstützen, die oft mit einer großen Anzahl von [[Rechnernetz|Computernetzwerken]] ausgestattet sind, die Kontrolle und Feedback liefern.


EPICS verwendet [[Client-Server-System|Client-Server-]] und [[Beobachter (Entwurfsmuster)|Publish-Subscribe]]-Methoden für die Kommunikation zwischen den verschiedenen verwendeten Computern. Eine Sorte von Computern, die Input/Output-Controller (IOC), sammelt dabei in [[Echtzeit]] über die angeschlossenen Messinstrumente Experiment- und Kontrolldaten. Über ein spezielles [[Netzwerkprotokoll]] namens ''Channel Access'' (CA) werden diese Informationen an eine weitere Rechnersorte, die Clients, weitergegeben. CA unterstützt dabei weiche Echtzeit-Anforderungen, wie sie in wissenschaftlichen Experimenten anfallen.
== Geschichte ==
EPICS wurde 1988 von Bob Dalesio, Jeff Hill et al.<ref>{{Literatur|Autor=A. J. Kozubal, D. M. Kerstiens, J. O. Hill, L. R. Dalesio |Datum=1990|Titel=Run-time environment and application tools for the ground test accelerator control system|Online=https://linkinghub.elsevier.com/retrieve/pii/016890029091446I|Sammelwerk=Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment| Sprache=en|Band=293| Nummer=1–2|Seiten=288–291|DOI=10.1016/0168-9002(90)91446-I }}</ref> 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.<ref>{{Internetquelle|url=https://epics.anl.gov/EpicsDocumentation/EpicsGeneral/EPICS_Architecture.pdf|titel=EPICS Architecture|werk=EPICS – Experimental Physics and Industrial Control System|abruf=2020-05-13}}</ref>
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.<ref>{{Internetquelle| url=https://epics-controls.org/epics-open-license/|titel=EPICS Open License|werk=EPICS – Experimental Physics and Industrial Control System|abruf=2020-05-13}}</ref>
Es wird heute von über 50 großen Wissenschaftseinrichtungen weltweit sowie von mehreren kommerziellen Unternehmen genutzt und entwickelt.


== Input/Output-Controller ==
== Architektur ==
Bei den IOCs handelt es sich entweder um handelsübliche [[Personal Computer|Personalcomputer]] oder Standard-[[VMEbus|VME]]-Prozessoren, die bestimmte Module (etwa [[IEC-625-Bus|GPIB]] oder [[EIA-232|RS232]]) verwalten, die wiederum mit Kontrollsystem-Instrumenten ([[Oszilloskop]]e, [[Netzwerkanalysator]]en) und -Geräten ([[Motor]]en, [[Thermoelement]]e, [[Schalter (Elektrotechnik)|Schalter]] und so weiter) in Verbindung stehen.  
EPICS verwendet [[Client-Server-Modell]] und Publish/Subscribe-Techniken zur Kommunikation zwischen Computern. Die " [[Eingabe und Ausgabe|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-[[Echtzeitsystem|Echtzeitanwendungen]] wie wissenschaftliche Experimente ausgelegt sind.


Auf dem IOC läuft eine Datenbank mit ''Records'', die entweder Geräte oder Eigenschaften der zu steuernden Geräte repräsentieren. IOC-Software für harte Echtzeitbedingungen verwendet normalerweise [[RTEMS]] oder [[VxWorks]], wenngleich an einer Portierung auf weitere Systeme gearbeitet wird. IOC-Software für weiche Echtzeitbedingungen läuft manchmal auf [[Linux]]- oder [[Microsoft Windows|Windows]]-Systemen.
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 [[VMEbus|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.


Weitere Rechner im Netzwerk können mit den IOC über das Konzept der ''Channels'' kommunizieren. Als Beispiel diene ein Teilchenbeschleuniger mit Ventilen zwischen einzelnen Abschnitten. Zu einem Ventil gäbe es typischerweise mehrere Channels: Einen Ausgabe-Channel, um das Ventil ferngesteuert zu öffnen oder zu schließen; einen Eingabe-Channel, um den Zustand des Ventils abzufragen (z.&nbsp;B. geschlossen, offen, in Bewegung); und vielleicht weitere analoge Eingabe-Channels, die Druck und Temperatur auf jeder Seite des Ventils repräsentieren.  
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.


Häufig wird auf den Clients ein [[Grafische Benutzeroberfläche|GUI]]-Paket wie ''EDM'' (Editor/Display Manager) oder ''MEDM'' ([[Motif]] EDM) eingesetzt. Diese ermöglichen die Erzeugung und Verwendung von Skalen, Zeigern, Textboxen, einfachen Animationen usw.  
Datenbankaufzeichnungen sind für verschiedene Arten von Ein- und Ausgängen (z.&nbsp;B. analog oder binär) oder zur Bereitstellung eines unterschiedlichen Funktionsverhaltens, wie z.&nbsp;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 (Bibliothek)|Qt]] basierten & File-kompatiblen QtDM.<ref>{{Internetquelle|url=http://epics.web.psi.ch/software/caqtdm/|titel=caQtDM – a medm replacement based on QT|werk=caQtDM – a medm replacement based on QT|abruf=2020-05-13}}</ref>  und ''CS-Studio (Phoebus)''<ref>{{Internetquelle|url=https://controlssoftware.sns.ornl.gov/css_phoebus/|titel=CS-Studio (Phoebus)|werk=CS-Studio (Phoebus)|abruf=2020-05-13}}</ref>
 
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 (Programmiersprache)|Perl]], [[Python (Programmiersprache)|Python]], [[Tcl]], [[ActiveX]] etc. zu bieten. Diese können verwendet werden, um Skripte zu schreiben, die mit EPICS-gesteuerten Geräten interagieren.


== Weblinks ==
== Weblinks ==
*[http://www.aps.anl.gov/epics/ EPICS-Website]
* [https://epics-controls.org/ EPICS-Website]
* [https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14 EPICS-Referenzhandbuch]
* [https://controlssoftware.sns.ornl.gov/css_phoebus Control System Studio (CSS)]
 
== Siehe auch ==
* [[Supervisory Control and Data Acquisition|SCADA]]
 
== Einzelnachweise ==
<references />


{{DEFAULTSORT:Epics}}
[[Kategorie:Computerphysik]]
[[Kategorie:Computerphysik]]
[[Kategorie:Leittechnik]]
[[Kategorie:Leittechnik]]
[[Kategorie:Abkürzung|EPICS]]
[[Kategorie:Abkürzung]]

Aktuelle Version vom 15. Mai 2021, 13:49 Uhr

EPICS 7
EPICS logo svg.svg
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
Programmiersprache Lua-Fehler in Modul:Wikidata, Zeile 708: attempt to index field 'wikibase' (a nil value)
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 Prozessleitsystem 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

  • SCADA

Einzelnachweise

  1. EPICS Architecture. In: EPICS – Experimental Physics and Industrial Control System. Abgerufen am 13. Mai 2020.
  2. EPICS Open License. In: EPICS – Experimental Physics and Industrial Control System. Abgerufen am 13. Mai 2020.
  3. caQtDM – a medm replacement based on QT. In: caQtDM – a medm replacement based on QT. Abgerufen am 13. Mai 2020.
  4. CS-Studio (Phoebus). In: CS-Studio (Phoebus). Abgerufen am 13. Mai 2020.