ELSA Kontrollsystem

Hardware und Architektur

Die meisten modernen Beschleunigerkontrollsysteme sind nach den gleichen Prinzipien aufgebaut: eine verteilte Architektur und die Verwendung offener Standards. Bei der Entwicklung des ELSA Kontrollsystem wurde insb. Wert auf hohe Bandbreite in allen Schichten und die Möglichkeit einer problemlosen Erweiterung von Kapazität und Fähigkeiten Wert gelegt. Es kombiniert Kontrolle, Simulation und Modellierung zusammen mit Online-Strahldiagnose in einer homogenen Umgebung. Die folgenden Richtlinien wurden beim Design zugrunde gelegt:

  • Die Basis bildet ein verteiltes System mit verschiedenen lose gekoppelten Schichten. Das erlaubt einen ausfallsicheren Betrieb und eine gute Skalierbarkeit. Die Intelligenz und die Rechenleistung für die Behandlung lokaler Aufgaben und Berechnungen ist, wann immer möglich, in den unteren Schichten enthalten.
  • Transparentes Verhalten des gesamten Kontrollsystems und insb. der Kommunikation zwischen den verschiedenen Schichten sowohl vom Standpunkt des Anwenders als auch des Entwicklers.
  • Weitest möglich Verwendung von Standards für alle Hardware- und Softwarekomponenten. Das erlaubt eine Verringerung der Entwicklungszeit und vereinfacht Service und Pflege.
  • Eine gemeinsame Entwicklungsplattform für alle Softwarekomponenten und die Benutzung von Entwicklungswerkzeugen für Softwarenegineering und Dokumentation.
Der Aufbau des Kontrollsystems besteht aus 4 logischen Schichten:
  • ELSA Kontrollraum Die Darstellungsebene nutzt das X-Window-System. Das Mensch-Maschine-Interface erlaubt eine interaktive Kontrolle aller Parameter. Andere benutzerorientierte Applikationen wie die Orbeitkorrektur oder die allgemeine Beschleunigerdiagnose werden ebenfalls von der Darstellungsebene aus gesteuert. Im Kontrollraum stehen dazu 4 Konsolen zur Verfügung.
  • Die Kontrollebene wurde ursprünglich auf HP Workstation unter dem Betriebssystem HP-UX entwickelt. Gegenwärtig läuft die Kontrollebene auf einem PC (CPU i7-6700K und 48 GB Speicher) unter dem Betriebssystem Linux. Bei Bedarf kann die Kontrollebene einfach auf mehrere PCs erweitert werden, da die Architektur der Software des Kontrollsystem ein nahtloses Hinzufügen weiterer Computer für neue Subsysteme erlaubt. Die Computer der Kontrollebene verwenden eine verteilte, speicherresindente Online-Datenbank, die den Beshcleunigerzustand abbildet.
    Eine Archivfunktion (basierend auf der nicht-relationalen Datenbank Hypertable) speichert die Werte der Beschleunigerparameter für eine spätere Analyse.
  • Die Prozesskontrollebene führt die Kontroll- und Messaufgaben durch, außerdem findet hier eine Datenreduktion statt. Sie basiert auf VME- und PC-Systemen. Die VME-Systeme sind mit Motorola MC68030 und MC68040 CPUs (jeweils mit 68882 Coprozessoren) ausgerüstet und verwenden das Echtzeitbetriebssystem VxWorks (entwickelt von WindRiver Systems). Auf den PC-Systemen kommen verschiedene Typen von Intel-CPUs zum Einsatz. Als Betriebssystem dient Linux. Seit einiger Zeit werden an einigen Stellen auch Raspberry PI Computer eingesetzt.
  • Die Feldbusebene verbindet diejenigen Geräte der Beschleunigeranlage, die keinen hohen Datendurchsatz haben, mit der Prozesskontrollebene. Sie ist im wesentlichen mittels speicherprogrammierbarer Steuerungen (SPS-Systeme) der Fa. Siemens realisiert. Außerdem kommen an einigen Stellen noch selbstentwickelte Komponenten, basierend auf einer Intel 8085 CPU, zum Einsatz (MACS-System), die mittels des HDLC-Protokolls mit VME-Rechnern kommunizieren.
    Seit Ende 2016 sind auch im Hause neu entwickelte, moderne Feldbussysteme (NAUDIS-Boards) im Einsatz, die direkt mittels Ethernet mit der Kontrollebene (unter Umgehung der Prozesskontrollebene) kommunizieren.

Gegenwärtig (Juli 2017) sind in der Prozesskontrollebene und der Feldbusebene 24 VME-Systeme, 16 Linux-PCs und Raspberry Pis, 17 SPS-Systeme, 44 MACS-Systeme und 18 MAUDIS-Systeme im Einsatz.

Die Kommunikation zwischen Kontroll- und Prozessebene erfolgt über Ethernet unter Verwendung der Standard-Protokolle TCP und UDP. Der Austausch kleinerer Datenmengen erfolgt über das verbindunslose UDP-Protokoll, während der Austausch großer Datenmengen über TCP-Sockets oder ONC-RPC-Aufrufe erfolgt.


Software

Die Effizienz und Flexibilität des Kontrollsystems hängt wesentlich von der eingesetzten Software ab. Die Software des Kontrollsystems erfüllt Aufgaben, die in vielerlei Hinsicht denen eines verteilten Betriebssystems entsprechen. Dementsprechend sind die Resultate der Forschungen auf dem Gebiet der verteilten Systeme entscheidend für das Design eines Beschleunigerkontrollsystems.

Jeder Computer der Kontrollebene verfügt über eine speicherresidente Datenbank, die einen Teil der Beschleunigeranlage repräsentiert. Diese Online-Datenbanken auf den einzelnen Computern sind über horizontale Kommunikationspfade verbunden, so dass nach außen nur eine einzelne, verteilte Datenbank sichtbar ist, wodurch ein transparenter Zugriff auf alle Daten der Beschleunigeranlage möglich ist. Die Zuordnung von Daten auf bestimmte Computer ist für Applikationen der höheren Ebenen nicht sichtbar.

Auf den Kontrollrechnern laufen sog. Expertenprogramme. Ein Teil dieser Programme implementiert Algorithmen, die physikalische Größen (z.B. Energie, Arbeitspunkte) in technische Größen (z.B. Magnetströme) umrechnen und umgekehrt. Auch das Kontrollsystem selbst überwacht seine Performance und Resourcen mit Hilfe von Experntenprogrammen.

Ein Meldungssystem erlaubt es den Applikationen, Status- und Fehlermeldungen im Textform zu versenden, die mittels spezieller Programme angezeigt und ausgewertet werden können.

Die Interaktion mit dem Kontrollsystem kann sowohl konsolenbasiert als auch über eine graphische Oberfläche erfolgen. Um den Lernaufwand zu verringern, erfolgt die Interaktion der Beschleunigernutzer hauptsächlich über die graphische Bedienoberfläche, das sog. Menüsystem. In den Menüs werden einzelne Teile der Beschleunigeranlage virtuell nachgebildet. Dadurch ist eine intuitive Bedienung möglich. Zur eigentlich Interaktion mit dem Benutzer steht eine Vielzahl von Elementen zur Verfügung, deren Verhalten dem realer Bedientelemente entspricht: Schalter, Knöpfe, Schieberegler, digitale und analoge Anzeigeelemente. Die Menüs können interaktiv mit Hilfe eines graphischen Menüdesigners erstellt werden oder automatisch an Hand der definierten Parameter generiert werden. Beim Aufruf im Menüsystem werden die in den Menüs verwendeten Parameter automatisch und tranparent mit der Online-Datenbank verbunden, so dass Parameteränderungen automatisch in die Datenbank übernommen werden. Umgekehrt werden geänderte Parameterwerte automatisch im Menü angezeigt.

Menus of the ELSA control system
Für weitere Beispiele, bitte hier klicken.