acquisition and storage of data with Tango


as part of my studies, I work for the first time on a project "control equipment with tango".

the first objective is to be able to recover the data of the sensors (temperature, water level … etc) and store them locally and on the cloud if it is possible to then place a regulation and an IHM.
so my question is how can I do that with tango? what is the first thing to do for data acquisition? Is it the creation of servers for each device or create a graphical interface? how to connect tango to a PLC?
knowing that I already install tango under Windows and even the virtual machine.

Edited 3 months ago

Thanks for giving Tango Controls a try.

The task sounds like exactly what Tango does.

If I were you:

1) identify the list of your hardware and search device catalogue for existing Tango servers [1]
2) Implement intermediate layer that is responsible for data acquisition OR try existing solutions like HDB++ [2]
3) Implement UI using one of the related frameworks: Taurus [3], JDraw [4]. If you foresee web access you are interested in Tango web stack - TangoRestServer [5] and Waltz [6]

Concerning PLC look for an existing Tango server:

If it does not fit you, you will have to implement yours. May use the above one as an example.

From my experience it is better to start with very low level Tango servers i.e. that talks to the hardware, on top of them implement data acquisition and business logic Tango servers aka middleware and finally on top of middleware design and implement your UI

Hope this helps!

Useful links:


Thank you very much for your answer,

so from what I understand I have to start seeing the existing servers that can be useful for me otherwise I have to create servers that I need, then for data acquisition I use HDB (is it a tango tool? but I don't have it when I install tango, do I have to install it too?) and taurus, waltz also. as you can see on the attachment
Edited 3 months ago
In the attachment there are only basic tools that come with Tango Controls distribution. HDB++ and the others are big projects built on top of Tango Controls. Each has its own documentation installation process etc.
Hi naz!

If you are looking for a higher level data acquisition framework, easily customizable, oriented to scans (variation of a set point while acquiring channels of scalar, spectrum or images shape) you may also look at Sardana. It comes with a range of controllers (hardware access) e.g. Delta Tau or IcePAP motion controllers, Adlink or NI DAQ cards, detectors etc… and recorders (data storage) e.g. HDF5. You can also easily develop your custom controllers, recorders or data acquisition procedures (macros). It is based on Tango, completelly written in Python and natively integrates with Taurus (you may get a complete GUI application for a Sardana system without programming a single line of code!).
If you need more information about Sardana I encourage you to directly use GitHub issues.


so with these basic tools I can't do data acquisition and storage? on the other hand on the virtual machine I find (HdbConfigurator and MySQL HDB ++ viewer) is it possible that I work just with the virtual machine? Or is the installation of HDB ++ available?

Hi Zreszela,
sardana is it also a set of tools like tango or can it be used with the basic tools of tango? is his installation available?
My app at the moment is to retrieve data from a device, archive it, and then use it for control. I have an Allenbradly controller and a set of sensors and reactors.

Sardana is built on top of Tango. It has a client-server architecture. You will need to start the Sardana server and then a Sardana client (can be CLI called spock or Taurus widgets/GUI). It can be used together with other Tango tools - this is how we use on the beamlines in our synchrotron. Check this Sardana installation instructions.

If you plan to program a data acquisition sequence with a clear start and stop, interaction with actuators and sensors, possibly repeatable and parametrizable you could evaluate to use Sardana macros for that. If you just want to monitor sensors and are interested in the historical data, then then Tango archiving system is certainly an easier solution to you. Well, this is very simplified criteria :) It will always depend on your requirements and how far you want to go…
Register or login to create to post a reply.