Hardware-Steuerung

mardtb

Röntgendiffraktometer

Kurzbeschreibung:

Der "mardtb" ist ein Röntgendiffraktometer. Das ist ein System zur Positionierung und zur Drehung von winzigen Kristallen in einem ebenso winzigen Röntgenstrahl. Diese Systeme werden in der Wissenschaft verwendet zur Bestimmung von Molekülstrukturen im atomaren Detail. Das ebenso genannte Programm zur Ansteuerung und Bedienung des Geräts wird zur automatischen Datensammlung von Röntgendaten eingesetzt. Es ist ein hochkomplexes Programm, das die Bewegungen des Diffraktometers mit Röntgenkameras synchronisiert. Im Lauf einer Datensammlung werden mitunter tausende von Röntgenaufnahmen gemacht. Das Programm steuert mehrere Typen von Röntgenkameras an sowie diverse weitere externe Hardware-Komponenten wie z.B. Röntgenerzeuger. Der Programmcode umfasst dementsprechend einige 100.000 Zeilen.

  • 1.dtb.image

    1.dtb.image

  • 2.dtb.xtal

    2.dtb.xtal

  • 3.dtb.xps

    3.dtb.xps

  • 4.dtb.edit

    4.dtb.edit

  • 5.dtb.align

    5.dtb.align

  • 6.dtb.csc

    6.dtb.csc

    Desktop

    Techniken

    Das Programm mardtb wird fast ausschließlich vom Desktop aus verwendet und zwar ausschließlich in Unix-Umgebungen. Die Programmierung erfolgte aus Gründen der Performance in C. Die graphischen Elemente nutzen das Motif-Toolkit, das seit Beginn der 90er Jahre Industriestandard für X11-Anwendungen ist und bis zum heutigen Tage ununterbrochen Bestandteil aller Unix-Derivate (Linux, macOS) ist. Implementierungen für Windows sind ebenfalls verfügbar.

    Das Programm besitzt Schnittstellen für TCP/IP-Sockets sowie ein REST-API. Damit kann es auch von mobilen Anwendungen aus betrieben werden.

    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.