Official Tango project list
29 results
Core Libraries
-
Java API
- SOLEIL Gwenaëlle Abeillé (gwen)
Python API
- EURO-CONTROLS Tiago Coutinho (TCoutinho)
- ALBA Jairo Moldes (jmoldes)
Tools and core servers
-
Code Generator (Pogo)
SummaryThis tool is able to define a TANGO class using a graphic user interface and generate this class code in specified language (C++, Java or Python).
Control system manager (Astor)
SummaryThis tool is a java GUI. It is a TANGO client of all Starter (http://www.tango-controls.org/community/projects/starter-device-server/) device server instances defined in the control system.
Goal:
- The first goal is to know at a quick glance, if everything is OK in a control system,
and otherwise to be able to diagnose a problem and solve it. - The second goal is to configure the control system and its components.
- The third goal is to have long term analysis on components (logs, statistics, usage,....)
Starter device server
Tango Access Control (TAC)
SummaryTango provides a simple controlled access system. It does not provide encrypted communication or sophisticated authentification. It simply defines which user (based on computer loggin authentification) is allowed to do which command (or write attribute) on which device and from which host. The information used to configure this controlled access feature are stored in the Tango database and accessed by a specific Tango device server. Two access levels are defined:
• Everything is allowed for this user from this host
• The write-like calls on the device are forbidden and according to configuration, a command subset is also forbidden for this user from this host
- The first goal is to know at a quick glance, if everything is OK in a control system,
Bindings
Gui toolkits
-
Python/Qt graphical layer (Taurus)
SummaryTaurus is a python framework for control and data acquisition CLIs and GUIs in scientific/industrial environments. It supports multiple control systems or data sources: Tango, EPICS,... Other control system libraries can be integrated through plugins.
For non-programmers: Taurus allows the creation of fully-featured GUI (with forms, plots, synoptics, etc) from scratch in a few minutes using a “wizard”, which can also be customized and expanded by drag-and-dropping elements around at execution time.
For programmers: Taurus gives full control to more advanced users to create and customize CLIs and GUIs programmatically using Python and a very simple and economical API which abstracts data sources as “models”.
Of course, Taurus is Free Software (under LGPL). You can download it from PyPi, access its Documentation or get support from its community and the latest code from the project page.
For citations and more details, see this paper and/or the taurus main page.
Packaging
-
Tango Virtual Machine (Tango box)
- ESRF Andy Gotz (Andy)
SummaryThe Tango Virtual Machine is a virtual machine pre-configured with the latest versions of Tango and all associated tools. It is built with and runs on Virtual Box but can run on other VM technologies like VMWare. The aim of the Tango Virtual Machine is to give newcomers an easy way to try out Tango and the related tools on a wide variety of platforms.
Web or mobile Interfaces
-
Tango Web
- SOLEIL Grégory VIGUIER (Greg)
Archiving
-
HDB++
- ESRF Jean-Luc PONS (Jean-Luc)
- ESRF Reynald Bourtembourg (Reynald)
- ELETTRA Lorenzo Pivetta (lorenzo)
SummaryThe TANGO archiving system is a tool allowing TANGO users to store the readings coming from a TANGO based control system into a database. The archived data are essential for the day by day operation of complex scientific facilities for instance. They can be used for long term monitoring of subsystems, statistics, parameters correlation or comparison of operating setups over time.
To take advantage of the fast and lightweight event-driven communication provided by TANGO release 8 with the adoption of ZeroMQ, a novel archiving system for the TANGO Controls framework, named HDB++, has been designed and developed, resulting from a collaboration between Elettra and ESRF at the beginning.
HDB++ design allows TANGO users to store data with microsecond timestamp resolution into traditional database management systems such as MySQL or into NoSQL databases such as Apache Cassandra.
Alarm systems
-
Panic alarm system
SummaryPANIC Alarm System is a set of tools (api, Tango device server, user interface) that provides:
- Periodic evaluation of a set of conditions.
- Notification (email, sms, pop-up, speakers)
- Keep a log of what happened. (files, Tango Snapshots)
- Taking automated actions (Tango commands / attributes)
- Tools for configuration/visualization.
web site and communication
Project related to Tango but not part of the collaboration
-
Sardana
SummarySardana is an open source software suite for Supervision, Control and Data Acquisition (SCADA) in scientific installations. It aims to reduce cost and time of design, development and support of the control and data acquisition systems.
Sardana, thanks to the Taurus library, allows the user to build modern and generic interfaces (both GUI and CLI - spock) to the laboratory instruments. It also delivers a flexible Python based macro environment, via its MacroServer, which allows custom procedures to be plug in and provides a turnkey set of standard macros e.g. generic scans. Thanks to the Device Pool the heterogeneous hardware could be easily plug in based on common and dynamic interfaces.
Sardana development was initiated at Alba and evolved into an international community of users and developers that now maintains the package.
You can download it from PyPI, access its documentation or get support from its community and the latest code from the project page.
jddd
- ESRF Jens Meyer (Jens)