TANGO
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.
Développé par | Consortium TANGO |
---|---|
Première version | |
Dernière version | 9.2.5 () |
Version avancée | 9.3.3 () |
Dépôt | gitlab.com/tango-controls/cppTango |
Écrit en | C++, Java, Python |
Système d'exploitation | Multiplateforme |
Environnement | Linux, Windows |
Type | Système de contrôle distribué |
Licence | LGPL, GPL |
Site web | TANGO website |
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.
- orientée objet, dans laquelle tout Périphérique informatique est représenté par des devices, objets logiciels. Le modèle objet de TANGO offre ainsi des méthodes, attributs et propriétés.
- orientée service
Architecture
modifierDevice Servers
modifierL'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
modifierTANGO utilise le SGBD MySQL 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.
Connectivité
modifierTANGO intègre des bindings avec les langages de programmation suivants :
Licence
modifierLes bibliothèques sont distribuées sous la licence publique générale limitée GNU (LGPL). Les outils et devices sont sous licence licence publique générale GNU (GPL).
Consortium
modifier- ESRF - European Synchrotron Radiation Facility, Grenoble, France
- SOLEIL - Synchrotron soleil, Paris, France
- ELETTRA - Elettra Synchrotron, Trieste, Italie
- ALBA - Alba Synchrotron, Barcelone, Espagne
- ESY - Petra III Synchrotron, Hambourg, Allemagne
- MAXIV - Synchrotron MAXIV, Lund, Suède
- FRMII - source de neutrons FRMII, Munich, Allemagne
- SOLARIS - National Synchrotron Radiation Centre SOLARIS, Cracovie, Pologne
- ANKA - Synchrotron ANKA, Karlsruhe, Allemagne
- INAF - Istituto Nazionale di Astrofisica, Italie
Voir aussi
modifier- EPICS (Experimental Physics and Industrial Control System) - système alternatif à Tango
Références
modifier- TANGO - an object oriented control system based on CORBA, ICALEPCS 1999, Trieste (Italy)
- TANGO a CORBA based Control System, ICALEPCS 2003, Gyeongju (Korea)
- « Ubiquitous TANGO »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), « ICALEPCS 2007 »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), Knoxville (USA)
- Future of TANGO, « ICALEPCS 2007 »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), Knoxville (USA)
Liens externes
modifierTANGO est un projet open source. Le code source est disponible sur SourceForge.net :