imported>Mfb (Hinweis zur Kamera EPICS) |
imported>Prüm K (→Architektur) |
||
Zeile 1: | Zeile 1: | ||
{{Infobox Software | {{Infobox Software | ||
| Name | | Name = EPICS 7 | ||
| Logo | | Logo = [[Datei:EPICS logo svg.svg|300px]] | ||
| | | Screenshot = <!-- Bildschirmfoto --> | ||
| Erscheinungsjahr | | Beschreibung = <!-- Beschreibung des Bildschirmfotos --> | ||
| AktuelleVersion = 3. | | Maintainer = | ||
| AktuelleVersionFreigabeDatum | | Hersteller = [[Freie-Software-Bewegung]] | ||
| | | Erscheinungsjahr = 19. Januar 1994 | ||
| | | AktuelleVersion = 3.15.8 | ||
| Betriebssystem | | AktuelleVersionFreigabeDatum = 15. Mai 2020 | ||
| Kategorie | | AktuelleVorabVersion = 7.0.4.1 | ||
| Lizenz | | AktuelleVorabVersionFreigabeDatum = 14. August 2020 | ||
| Website | | 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/ | |||
}} | }} | ||
''' | 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 | == 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. | |||
== | == Architektur == | ||
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. | |||
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. | |||
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 (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 == | ||
*[ | * [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 /> | |||
[[Kategorie:Computerphysik]] | [[Kategorie:Computerphysik]] | ||
[[Kategorie:Leittechnik]] | [[Kategorie:Leittechnik]] | ||
[[Kategorie:Abkürzung | [[Kategorie:Abkürzung]] |
EPICS 7 | |
---|---|
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.
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.
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.