IoT-Projekt

MetalJet

Steuerung für Röntgenerzeuger

Kurzbeschreibung:

Der "MetalJet" ist ein hochinnovativer Röntgengenerator für Materialwissenschaften, bei dem Röntgenstrahlen auf flüssigem Metall erzeugt werden anstatt der sonst üblichen festen Kupfer- oder Molybdänplatten. Der Hersteller sitzt in Schweden. Für den Betrieb des Generators wurde ein komplettes Sicherheitspaket entwickelt. Dieses besteht aus einer Steuereinheit, das den Betrieb des Röntgenerzeugers mit Strahlenschutzkomponenten koordiniert. Die Steuereinheit muss dabei alle strahlenschutzrelevanten Auflagen erfüllen und sicherstellen, dass im Betrieb der Anlage Menschen niemals in Kontakt mit Röntgenstrahlen kommen.

Steuer einheit

Beschreibung

Das Gerät beinhaltet einige Spannungsversorgungen und einen Mikro-Controller mit diversen I/Os. Der Micro-Controller läuft unter Linux und beinhaltet die komplette Logik zur Kommunikation mit der weiteren Hardware (Röntgen-Erzeuger, Röntgen-Verschluss, Signalturm, Röntgenschutzhaube, Sicherheitskreise). Darüberhinaus stellt er die Kommunikationsschnittstellen für die Benutzer-Software zur Verfügung.
Die hardwarenahe Programmierung des Controllers erfolgte in C. Für die Kommunikation mit Anwender-Software stehen TCP/IP-Sockets und ein REST-API zur Verfügung. Auf dem Gerät ist außerdem ein Webserver in Python implementiert.

Desktop

Techniken

Desktop-Anwendungen wurden entwickelt für Windows, Mac / Linux. Programmiert wurde in Java/JavaFX mit Netbeans. Es existieren auch eine Python-Variante. 

Mobile

Techniken

Mobile Apps wurden entwickelt für iOS und Android. Für die Programmierung in iOS wurde Swift und Xcode als IDE verwendet. Für Android erfolgte das Coding in Java mit Android Studio. Die Apps verwenden ein REST-Interface zur Kommunikation mit der Steuereinheit.

Web

Techniken

Sowohl vom Desktop aus als auch von mobilen Endgeräten aus kann das Gerät über einen Webbrowser angesteuert werden. Serverseitig ist dazu eine Python-App implementiert, die das Web-Interface zur Verfügung stellt.