TANGO
Encyclopedia
The TAco Next Generation Objects (TANGO) control system is a free open source object-oriented control system for controlling accelerators, experiments and any kind of hardware or software being actively developed by a consortium of (mainly) synchrotron
radiation institutes.
TANGO is a distributed control system. It runs on a single machine as well as hundreds of machine. TANGO uses the omniorb implementation of CORBA
as its network protocol. The client-server model is the basic communication model. Communication between clients and servers can be synchronous, asynchronous or event driven.
TANGO is based on the concepts of object oriented and service oriented. The object model in TANGO supports methods, attributes and properties. In TANGO all objects are representations of devices.
List of common device servers here
(LGPL). Tools and device servers are (unless otherwise stated) under the GNU General Public License
(GPL).
Local modifications or bug fixes can be made to the source code but committing changes to the repository requires authorization.
The aim of the consortium is to guarantee the development of TANGO.
Synchrotron
A synchrotron is a particular type of cyclic particle accelerator in which the magnetic field and the electric field are carefully synchronised with the travelling particle beam. The proton synchrotron was originally conceived by Sir Marcus Oliphant...
radiation institutes.
TANGO is a distributed control system. It runs on a single machine as well as hundreds of machine. TANGO uses the omniorb implementation of CORBA
Çorba
Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...
as its network protocol. The client-server model is the basic communication model. Communication between clients and servers can be synchronous, asynchronous or event driven.
TANGO is based on the concepts of object oriented and service oriented. The object model in TANGO supports methods, attributes and properties. In TANGO all objects are representations of devices.
Device Servers
TANGO is primarily used 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. Hardware access is programmed in a process called a Device Server. The device server implements device classes which implement the hardware access. At runtime the device server creates devices which represent logical instances of hardware. Clients "import" the devices and send requests to the devices using the TANGO protocol.List of common device servers here
Bindings
TANGO supports bindings to the following languages :- C
- C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
- Java
- PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
- MATLABMATLABMATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
- LabVIEWLabVIEWLabVIEW is a system design platform and development environment for a visual programming language from National Instruments. LabVIEW provides engineers and scientists with the tools needed to create and deploy measurement and control systems.The graphical language is named "G"...
Licencing
TANGO is distributed under 2 licenses. The libraries are licensed under the GNU Lesser General Public LicenseGNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
(LGPL). Tools and device servers are (unless otherwise stated) under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
(GPL).
Open Source
TANGO is an open source project. Anyone can download and use TANGO. Source code is stored in two CVS repositories on SourceForge :Local modifications or bug fixes can be made to the source code but committing changes to the repository requires authorization.
Consortium
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 :- ESRF - European Synchrotron Radiation Facility, Grenoble, France
- SOLEIL - Soleil Synchrotron, Paris, France
- ELETTRA - Elettra Synchrotron, Trieste, Italy
- ALBA - Alba Synchrotron, Barcelona, Spain
- DESY - Petra III Synchrotron, Hamburg, Germany
The aim of the consortium is to guarantee the development of TANGO.
See also
- EPICSEPICSThe Experimental Physics and Industrial Control System is a software environment used to develop and implement distributed control systems to operate devices such as particle accelerators, telescopes and other large experiments. EPICS also provides SCADA capabilities...
-- Experimental Physics and Industrial Control System - ESRF -- European Synchrotron Radiation Facility