Welcome to the TANGO website
TANGO is an object oriented distributed control system using CORBA (synchronous and asynchronous communication) and zeromq (event based communication) and is being actively developed as a collaborative effort between the Alba, Desy, Elettra, ESRF, FRM II, MAX-IV, Solaris and Soleil institutes.
The object model in TANGO supports methods, attributes and properties. In TANGO all objects are representations of devices. The devices can be on the same computer or distributed over a number of computers interconnected by a network. The network communication is done using CORBA. Communication can be synchronous, asynchronous or event driven. Configuration data is stored in a database. Programming support is provided for C++, Java and Python. Clients can be written in all three languages. Servers can also be written in C++ , Java or Python. TANGO provides a kernel API which hides all the details of network access and provides object browsing, discovery and security features.
Some ready to use graphical applications (DeviceTree, ATKPanel, Mango) allow you to graphically display data coming from your device(s). Graphical layers above the kernel API have been developed to reduce specific graphical client software development time. One exists for Java SWING (ATK), another one for C++ based on the Qt libraries (QTango) and still another one for Python PyQt (taurus).
Bindings for commonly used commercial software are also available allowing you to communicate from these softwares to your Tango devices.
A Tango archiving system is available to keep track on what has happened in the system you have to control. You are able to display your archived data locally or via a WEB interface (E-Giga)
We also have a tool to develop WEB interfaces to Tango devices (Canone)
A software package (Sardana) has been developed to provide an additional abstraction layer to Tango for doing experiments which require sequencing of slow and fast controls e.g. experiments on a synchrotron or a laser facility.