Speaker
Description
The Karabo distributed control system has been developed to address the challenging requirements of the European X-ray Free Electron Laser facility [1], including complex and custom-made hardware, high data rates and volumes, and hand-off of data to online data analysis applications for distributed processing and rapid feedback. Karabo is an extensible, distributed application, which implements a broker-based, supervisory control and data acquisition (SCADA) environment as part of a distributed control system [2]. Extensions to the core framework, so-called Devices implement control of hardware, monitoring, data acquisition and online processing on distributed hardware. Services for data logging, configuration management and situational awareness through alarm indicators exist. The flexible framework exposes Python and C++ programming APIs, which enable developers to quickly respond to new requirements in instrument control, within an efficient development. Its graphical user interface (GUI), which features an intuitive, coding-free control panel builder, allows non-software engineers to create synoptic control views.
In this contribution the Karabo Control System is introduced, both out of the perspective of application users and software developers. Emphasis is given to Karabo’s asynchronous Python 3 programming environment. We share experience of running a large facility like the European XFEL using a clean-sheet developed control system, and discuss the foreseeable release of the system as free and open source software.
[1] Tschentscher, Thomas, et al. "Photon beam transport and scientific instruments at the European XFEL." Applied Sciences7.6 (2017): 592.
[2] Hauf, Steffen, et al. "The Karabo distributed control system." Journal of synchrotron radiation 26.5 (2019): 1448-1461.
Email address of presenting author | steffen.hauf@xfel.eu |
---|