Certaines informations figurant dans cet article ou cette section devraient être mieux reliées aux sources mentionnées dans les sections « Bibliographie », « Sources » ou « Liens externes » ().
TANGO (TAco Next Generation Objects) est un système open source de contrôle et d'acquisition de données (SCADA) pour tout système expérimental impliquant des matériels et logiciels informatique et/ou électronique. Conçu à l'origine pour piloter des accélérateurs de particules, TANGO est activement développé par un consortium regroupant principalement des centres de rayonnement synchrotron.
TANGO est conçu pour fournir un accès réseau au matériel, ce matériel pouvant aller d'une simple carte d'entrées/sorties avec ses broches jusqu'à des systèmes de détection complexes, voire le contrôle complet d'une installation. Il concilie pour cela trois approches :
Informatique distribuée : ce système de contrôle peut aussi bien tourner sur une seule machine que sur plusieurs centaines de machines en réseau. Il est pour cela basé sur l'implémentation omniorb de CORBA -et partiellement ZMQ(en) depuis sa version 8-, pour les communications réseau. Les communications client-serveur peuvent être synchrones, asynchrones ou orientées évènements.
L'accès au matériel est programmé dans un processus appelé Device Server. Le serveur implémente les classes qui elles-mêmes implémentent l'accès au matériel; Lors de son exécution le serveur crée, à partir d'une base configurée, les devices qui représentent les instances logiques du matériel qu'ils contrôlent. Les clients communiquent avec les serveurs en utilisant le protocole défini par TANGO.
Base de données
TANGO utilise le SGBDMySQL pour stocker la description et configuration des différents devices constituant la totalité du système contrôlé. Il n'intègre en revanche pas dans sa distribution de liaison avec une base de données des mesures effectuées.