Karabo is an open source
SCADA
SCADA (an acronym for supervisory control and data acquisition) is a control system architecture comprising computers, networked data communications and graphical user interfaces for high-level supervision of machines and processes. It also cove ...
(supervisory control and
data acquisition
Data acquisition is the process of sampling signals that measure real-world physical conditions and converting the resulting samples into digital numeric values that can be manipulated by a computer. Data acquisition systems, abbreviated by the ...
) framework developed at the
European X-ray Free Electron Laser
The European X-Ray Free-Electron Laser Facility (European XFEL) is an X-ray research laser facility commissioned during 2017. The first laser pulses were produced in May 2017 and the facility started user operation in September 2017. The interna ...
facility since 2010.
The framework can be used to build a
distributed control system
A distributed control system (DCS) is a computerized control system for a process or plant usually with many control loops, in which autonomous controllers are distributed throughout the system, but there is no central operator supervisory contro ...
, in which concrete functionality such as hardware control, or a command sequence, is implemented in form of so-called devices. Devices may be implemented in
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (prog ...
or
C++.
Similar to systems like
EPICS
Epic commonly refers to:
* Epic poetry, a long narrative poem celebrating heroic deeds and events significant to a culture or nation
* Epic film, a genre of film defined by the spectacular presentation of human drama on a grandiose scale
Epic(s) ...
and
TANGO
Tango is a partner dance and social dance that originated in the 1880s along the RĂo de la Plata, the natural border between Argentina and Uruguay. The tango was born in the impoverished port areas of these countries from a combination of Arge ...
, Karabo is developed chiefly with control of large scientific infrastructure and experiments in mind. The system emphasises fully asynchronous, and
event driven distributed messaging via a central
message broker
A message broker (also known as an integration broker or interface engine) is an intermediary computer program module that translates a message from the formal messaging protocol of the sender to the formal messaging protocol of the receiver. Mes ...
(
AMQP
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subs ...
/
RabbitMQ
RabbitMQ is an open-source message-broker software (sometimes called message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Str ...
). Developers can additionally leverage tightly integrated
peer-to-peer
Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of Node ...
(P2P)
TCP channels to transfer large data volumes at rates of multiple gigabytes per second. A standalone
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
(GUI) client application, which can be used to design and view synaptic views of the distributed system, is provided alongside the framework.
At the European XFEL, Karabo is used to operate the photon systems and experiment end stations (instruments) of the facility. In 2023, the EuXFEL control system integrated 3.5 million control parameters distributed over 25,000 devices on ca. 100 physical servers.
Additionally, the facility's scientific data acquisition system, and online detector calibration pipelines are implemented in Karabo, and process data rates of approximately 20Gbyte/s.
Karabo is free and open source software under the
MPL2
The Mozilla Public License (MPL) is a free and open-source weak copyleft license for most Mozilla Foundation software such as Firefox and Thunderbird. The MPL is developed and maintained by Mozilla, which seeks to balance the concerns of bot ...
(framework) and
GPL3
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first c ...
(GUI application) licenses.
References
External links
* {{GitHub, European-XFEL/Karabo
Karaboon
PyPI
The Python Package Index, abbreviated as PyPI () and also known as the Cheese Shop (a reference to the ''Monty Python's Flying Circus'' sketch "Cheese Shop sketch, Cheese Shop"), is the official third-party software repository for Python (progra ...
SCADA
Free software programmed in Python
Free software programmed in C++
Software using the GNU General Public License
Software using the Mozilla Public License