SPEC

SPEC ist ein Softwarepaket zur Steuerung von Beamlines und Experimentsystemen, das weltweit an einer Vielzahl von Synchrotrons, anderen Forschungsinstituten und Universitäten zum Einsatz kommt. Am HZB sind z. Z. Lizenzen für mehr als 15 Strahlrohre vorhanden. SPEC wird für die UNIX-artigen Betriebssysteme Linux, Sun Solaris und Mac OS X angeboten.

Die SPEC-Software wird unter einer kommerziellen Lizenz von der Firma Certified Scientific Software entwickelt und vertrieben. Daher ist für den legalen Betrieb einer Beamline-/Experimentsteuerung mit SPEC eine Lizenz zu erwerben, die inklusive des ersten Jahrs Support derzeit ca. 4000 USD sowie für den Support in den Folgejahren jährlich ca. 800 USD kostet. Der Support beinhaltet dabei die Hilfestellung bei Problemen beim Betrieb (i. d. R. per Email) sowie die regelmäßige Bereitstellung von Updates/Bugfixes.

SPEC Komponenten

SPEC wird über ein Kommandointerface ähnlich der Linux-Shell im Textmodus (TUI) gesteuert. Neben den eingebauten Befehlen kann der Funktionsumfang über die Implementierung von zusätzlichen Makros erweitert werden, die in einer der Programmiersprache C ähnlichen Syntax implementiert werden.

Aufgrund der großen Verbreitung von SPEC kann dabei auf ein Ökosystem von öffentlich verfügbaren Makros zurückgegriffen werden, vgl. z. B. die SPEC-Makrobibliothek der ESRF.

SPEC untersützt nativ eine Vielzahl von Synchrotron-typischer Hardware, z. B.
- die serielle Schnittstelle RS-232
- GPIB (z. B. NI PCI-GPIB, PCIe-GPIB, GPIB-ENET/[10|100|1000])
- Sockets
- CAMAC
- PC I/O-Ports
- VME (z. B. SBS 616/617/618/620, Struck SIS1100/SIS3100)
- Motion-Controller-Hardware (USB, Ethernet, CANbus, CAMAC, GPIB, ...) z. B. Galil, Delta Tau, OMS 58, MAXv, Physik Instrumente
- MCA (z. B. Amptek- und Bruker/Röntec Fluoreszenz-Detektoren)
- 2D-Detektoren
Weiterhin sind API-Befehle zur Ansteuerung von EPICS und Taco/Tango verfügbar.

Neben der Steuerung von SPEC über das lokale Kommandointerface am Kontrollrechner verfügt SPEC über einen sog. Server-Modus, über den eine SPEC-Instanz in eine Client-Server-Architektur mit anderen Kontrollsystemen oder SPEC-Instanzen eingebunden werden kann (z. B. zur Integration von in einer anderen Instanz konfigurierten Motoren).
Weiterhin ist z. B. mit Hilfe eines in Python implementierten specclient-Moduls eine Python-basierte Fernsteuerung oder die Einbindung in eine graphische Oberfläche möglich.

SPEC Gui

Sofern Sie in Ihrer Abteilung/Arbeitsgruppe den Einsatz von SPEC als Kontrollsystem neuer Beamlines und/oder Experimente in Erwägung ziehen oder Sie nach einer Lösung für die Integration von SPEC mit anderen Softwarekomponenten suchen, stehen wir gern zur weiteren Diskussion der Problemstellung zur Verfügung.