SARDANA – Instrumentation and Data Acquisition Control System Open Source Project
What is it?
SARDANA, is a TANGO based control system designed for instrument control and data acquisition, mainly developed by CELLS Alba Synchrotron Controls Section. SARDANA framework is designed to hide the complexity and heterogeneity of the control system (some internal control of a group of devices), while providing a wide, rich, and extensible set of operations that a user may need.
It is composed of:
- The Device Pool Server
The Device Pool Server is a TANGO device server that provides access to groups or pools of generic hardware devices such as motors or counters.
A pool recognizes the following types of controllers:
– Motor, Counter/Timer, and Communication as real hardware controllers
– PseudoMotor and PseudoCounter as software controllers.
- The MacroServer
The MacroServer is the device server that asks the Device Pool Server to perform actions on pool devices. It can be connected to different pools using TANGO or events, and provides a group of macros (functions) to interact with the hardware through the Pool.
- Doors
A door is a device server started by the MacroServer that allows users to connect to the MacroServer. The communication between the client application and the MacroServer is based on TANGO and events. The door allows the client to invoke actions on the pool devices.
- Spock
Spock is an application that offers a way to connect to a MacroServer using a door, acting as a Command Line Interface MacroServer client. It is a Python script that starts an IPython session, and allows the user to ask the MacroServer to perform the macros.
- SardanaGUI
SardanaGUI is a tool used for the creation and configuration of the Device Pool Server. With this graphical user interface, you can add the desired controllers and devices to the pool. You can also configure the different groups of experiment channels of data acquisition for future use.

