TANGO

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For other meanings, see Tango (disambiguation).
TANGO
TANGO controls logo.png
Developer(s) TANGO Consortium
Initial release April 19, 2001 (2001-04-19)
Stable release 8.1.2 / Jul 9, 2013
Operating system Cross-platform
License LGPLv3, GPLv3
Website TANGO website

The TANGO control system is a free open source device-oriented controls toolkit for controlling any kind of hardware or software and building SCADA systems. It is used for controlling synchrotrons, lasers, physics experiments in over 20 sites. It is being actively developed by a consortium of research institutes.

TANGO is a distributed control system. It runs on a single machine as well as hundreds of machines. TANGO uses two network protocols - the omniorb implementation of CORBA and Zeromq. The basic communication model is the client-server model. Communication between clients and servers can be synchronous, asynchronous or event driven. CORBA is used for synchronous and asynchronous communication and Zeromq is used for event-driven communication (since version 8 of TANGO).

TANGO is based on the concept of Devices. Devices implement object oriented and service oriented approaches to software architecture. The Device model in TANGO implements commands/methods, attributes / data fields and properties for configuring Devices. In TANGO all control objects are Devices.

Device Servers[edit]

All solutions in TANGO can be reduced to 3 processes
TANGO uses hierarchies of devices to manage complexity simply

TANGO is a software for building control systems which need to provide network access to hardware. Hardware can range from single bits of digital input/output up to sophisticated detector systems or entire plant control systems (SCADAs). Hardware access is managed in a process called a Device Server. The Device Server contains Devices belonging to different Device Classes which implement the hardware access. At Device Server startup time Devices (instances of Device Classes) are created which then represent logical instances of hardware in the control system. Clients "import" the Devices via a database and send requests to the devices using TANGO. Devices can store configuration and setup values in a Mysql database permanently.

Hundreds of Device Classes have been written by the community. A list of device classes on SourceForge can be found here. Many more exist and can be obtained by contacting the TANGO community via the mailing list.

TANGO manages complexity using hierarchies.

Bindings[edit]

TANGO supports bindings to the following languages :

C, C++, Java, Python, MATLAB, LabVIEW, IGOR Pro

Licencing[edit]

TANGO is distributed under 2 licenses. The libraries are licensed under the GNU Lesser General Public License (LGPLv3). Tools and device servers are (unless otherwise stated) under the GNU General Public License (GPLv3). The LGPL licence allows the TANGO libraries in products which are not GNU GPL.

Open Source[edit]

TANGO is an Open source project. Anyone can download and use TANGO. Source code is stored in two SVN repositories on SourceForge :

  1. kernel source code
  2. device server source code

Local modifications or bug fixes can be made to the source code but committing changes to the repository requires authorization.

Projects using TANGO[edit]

Some of the projects using TANGO (in addition to the consortium) :

  1. C3 Prototype of the European Mars Analog Station
  2. the diagnostics of the Laser Mégajoule
  3. the laser facility CILEX_APOLLON
  4. the compact light source ThomX

Consortium[edit]

The consortium is a group of institutes who are actively developing TANGO. To join the consortium an institute has to sign the Memorandum of Understanding and actively commit resources to the development of TANGO. The consortium currently consists of the following institutes :

  1. ESRF - European Synchrotron Radiation Facility, Grenoble, France
  2. SOLEIL - Soleil Synchrotron, Paris, France
  3. ELETTRA - Elettra Synchrotron, Trieste, Italy
  4. ALBA - Alba Synchrotron, Barcelona, Spain
  5. DESY - Petra III Synchrotron, Hamburg, Germany
  6. MAX-lab - MAX-lab Synchrotron, Lund, Sweden
  7. FRMII - FRMII neutron source, M\"unich, Germany
  8. Solaris - Solaris Synchrotron, Kraków, Poland
  9. ANKA - ANKA Synchrotron, Karlsruhe, Germany

The goal of the consortium is to guarantee the development of TANGO.

See also[edit]

  • EPICS—Experimental Physics and Industrial Control System
  • SCADA—Supervisory Control And Data Acquisition
  • openSCADA - an open source SCADA written in Java

References[edit]

Refer to the following publications on TANGO for more information :

  1. TANGO - an object oriented control system based on CORBA, ICALEPCS 1999, Trieste (Italy)
  2. TANGO a CORBA based Control System, ICALEPCS 2003, Gyeongju (Korea)
  3. Ubiquitous TANGO, ICALEPCS 2007, Knoxville (USA)
  4. Future of TANGO, ICALEPCS 2007, Knoxville (USA)
  5. TANGO papers presented at ICALEPCS 2009, Kobe (Japan)
  6. TANGO papers presented at ICALEPCS 2011. Grenoble (France)