ArticleslgStudy

computer science

TANGO

TANGO is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand TANGO rather than just read about it. In short: 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.

TANGO — main illustration
TANGO — illustration

Key takeaways

  • TANGO belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect TANGO to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of TANGO from memory before moving on to harder problems.

Reference excerpt

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

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. TANGO manages complexity using hierarchies.

Bindings TANGO supports bindings to the following languages :

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

Licensing 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.

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

the diagnostics of the Laser Mégajoule SKA - Square Kilometre Array

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 MAXIV - MAXIV Synchrotron, Lund, Sweden FRMII - FRMII neutron source, Munich, Germany SOLARIS - National Synchrotron Radiation Centre SOLARIS, Kraków, Poland ANKA - ANKA Synchrotron, Karlsruhe, Germany INAF - Istituto Nazionale di Astrofisica, IT The goal of the consortium is to guarantee the development of TANGO.

See also

EPICS—Experimental Physics and Industrial Control System SCADA—Supervisory Control And Data Acquisition

General references TANGO papers presented at ICALEPCS 2011. Grenoble (France)

Illustrations

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

Worked examples

Example 1 — a first encounter with TANGO

Start with the simplest possible case. Write down what TANGO claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to TANGO before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about TANGO ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of TANGO

In research
TANGO appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses TANGO in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
TANGO is common in secondary-school and first-year university syllabi. It links to neighbouring topics Cross-platform free software, Industrial automation, so understanding it makes those chapters shorter.
In everyday life
Look for TANGO outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study TANGO in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what TANGO means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain TANGO out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is TANGO in simple terms?

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.

Why does TANGO matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study TANGO?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on TANGO.

Tags

  • Cross-platform free software
  • Industrial automation

Keep exploring