El sistema de control TANGO es un conjunto de herramientas de control orientado a dispositivos de código abierto y gratuito para controlar cualquier tipo de hardware o software y construir sistemas SCADA . Se utiliza para controlar sincrotrones, láseres y experimentos de física en más de 20 sitios. Está siendo desarrollado activamente por un consorcio de institutos de investigación.
TANGO es un sistema de control distribuido. Se ejecuta en una sola máquina y en cientos de máquinas. TANGO utiliza dos protocolos de red: la implementación omniorb de CORBA y Zeromq . El modelo de comunicación básico es el modelo cliente-servidor. La comunicación entre clientes y servidores puede ser síncrona, asíncrona o impulsada por eventos. CORBA se utiliza para comunicación síncrona y asíncrona y Zeromq se utiliza para comunicación basada en eventos (desde la versión 8 de TANGO).
TANGO se basa en el concepto de Dispositivos. Los dispositivos implementan enfoques orientados a objetos y servicios para la arquitectura de software. El modelo de Dispositivo en TANGO implementa comandos/métodos, atributos/campos de datos y propiedades para configurar Dispositivos. En TANGO todos los objetos de control son Dispositivos.
TANGO es un software para sistemas de control de edificios que necesitan proporcionar acceso de red al hardware. El hardware puede variar desde bits individuales de entrada/salida digital hasta sofisticados sistemas de detección o sistemas de control de planta completa ( SCADA ). El acceso al hardware se gestiona en un proceso llamado Servidor de dispositivos. El servidor de dispositivos contiene dispositivos que pertenecen a diferentes clases de dispositivos que implementan el acceso al hardware. En el momento de inicio del servidor de dispositivos, se crean dispositivos (instancias de clases de dispositivos) que luego representan instancias lógicas de hardware en el sistema de control. Los clientes "importan" los Dispositivos a través de una base de datos y envían solicitudes a los dispositivos utilizando TANGO. Los dispositivos pueden almacenar valores de configuración y configuración en una base de datos Mysql de forma permanente.
La comunidad ha escrito cientos de clases de dispositivos.
TANGO gestiona la complejidad mediante jerarquías.
TANGO admite enlaces a los siguientes idiomas:
C , C++ , Java , Python , MATLAB , LabVIEW , IGOR Pro
TANGO se distribuye bajo 2 licencias. Las bibliotecas tienen la licencia GNU Lesser General Public License (LGPLv3). Las herramientas y los servidores de dispositivos están (a menos que se indique lo contrario) bajo la Licencia Pública General GNU (GPLv3). La licencia LGPL permite las bibliotecas TANGO en productos que no son GNU GPL .
Algunos de los proyectos que utilizan TANGO (además del consorcio):
El consorcio es un grupo de institutos que están desarrollando activamente TANGO. Para unirse al consorcio, un instituto debe firmar el Memorando de Entendimiento [ enlace muerto ] y comprometer activamente recursos para el desarrollo de TANGO. El consorcio actualmente está formado por los siguientes institutos:
El objetivo del consorcio es garantizar el desarrollo de TANGO.
Consulte las siguientes publicaciones sobre TANGO para obtener más información: