TANGO
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 (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.
- 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[modifier | modifier le code]
Device Servers[modifier | modifier le code]
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[modifier | modifier le code]
TANGO 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é[modifier | modifier le code]
TANGO intègre des bindings avec les langages de programmation suivants :
Licence[modifier | modifier le code]
Les 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 | modifier le code]
- 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 | modifier le code]
- EPICS (Experimental Physics and Industrial Control System) - système alternatif à Tango
Références[modifier | modifier le code]
- 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[modifier | modifier le code]
TANGO est un projet open source. Le code source est disponible sur SourceForge.net :