1 / 17

Tango in a Nutshell

Tango in a Nutshell. Tango in a Nutshell. What is Tango? Who dances the Tango? How to dance the Tango?. Control System. TANGO. CORBA. What is Tango?. A toolbox to implement control systems using CORBA as the transport layer A specialization of CORBA adapted to Control

gloria-wood
Télécharger la présentation

Tango in a Nutshell

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tango in a Nutshell

  2. Tango in a Nutshell • What is Tango? • Who dances the Tango? • How to dance the Tango?

  3. Control System TANGO CORBA What is Tango? • A toolbox to implement control systems using CORBA as the transport layer • A specialization of CORBA adapted to Control • Hides the complexity of Corba to the programmer • Adds specific control system features

  4. CORBA • Common Object Request Broker Architecture • CORBA defines the ORB: a way to call an object “method” wherever the object is • In the same process • In another process • In a process running somewhere on the network • CORBA also defines services available for all objects (naming, notification, event)

  5. CORBA • CORBA allows mixing languages: • a client is not necessarily written in the same language as the server • CORBA uses an Interface Definition Language (IDL) • CORBA defines bindings between IDL and the computing languages (C++, Java, Python, Ada, ….)

  6. Tango and CORBA • Tango encapsulates the CORBA communication protocol • Allows the use of other communiction protocols • Tango uses a narrow CORBA interface • All objects on the network have the same interface • Allows the use of generic applications • Avoids recompilation when new objects are added

  7. What is Tango? • A software bus for distributed objects Java, C++,Python Linux, Windows, Solaris Scan Service TANGO ATK Java Qtango C++ Archiving Service TANGOSoftware Bus Dev Dev Dev Dev Dev Dev Dev OPC Linux, Windows, Solaris Labview RT

  8. What is Tango? • Provides an unified interface to devices (objects) on the network • hiding how they are connected to a computer (serial line, USB, sockets, …) • Hides the network • Location transparency • Genericity • APIs for C++, Python and Java • For the server and the client side

  9. What is Tango? • More than only a software bus • Database for persistancy • Code generator to implement networked devices • Central services (Archive, snapshots, logging, alarms, scans, security, …) • Application Toolkits (Java, C++ and Python) • Comercial bindings (Labview, Matlab, IgorPro) • Control system administration (Starter, Astor) • Hundrets of available classes • Web interfaces (PHP, Java)

  10. Who dances the Tango? 2007 2002 2004 2000 ALBA 2005

  11. Who dances the Tango? • Tango@Elettra • Used for accelerator control • Development of • The Python interface (Release 2.x) • An alarm service • Canone: A WEB interface using PHP • E-Giga: A WEB interface above the Tango archiving service • QTango: C++ application toolkit using Qt

  12. Who dances the Tango? • Tango @ Soleil • Used for accelerator and experiment control • Development of • Logging service • Archiving service (Tango HDB) using ORACLE or MySQL • Snapshot service also using ORACLE or MySQL • Comercial bindings (Labview, Matlab, …) • WEB protocol for the java application toolkit (ATK)

  13. Who dances the Tango? • Tango @ Alba • Used for accelerator and experiment control • Development of • Python device servers (PyTango release 3.x) • Sardana: Control software for experiments • Python application toolkit using Qt • Tango@DESY • Used for experiment control at the new PETRAIII synchrotron

  14. Who dances the Tango? • Tango @ ESRF • Used for accelerator and experiment control • Development of • The Tango core libraries (C++ and Java) • Pogo : Code generator • Jive : Configuration tool • Astor / Starter : administration service • Java application toolkit

  15. How to dance the Tango? • Lets dance together: • Two collaboration meetings per year • A mailing list (tango@esrf.fr) • One Tango coordinator per site • WEB site to download code, get documentation, search the mailing list history, read collaboration meeting minutes, … http://www.tango-controls.org • Collaborative development using SourceForge

  16. How to dance the Tango? • You can download Tango from http://www.tango-controls.org/download • As a source package for UNIX like OS • As a Windows binary distribution • For Unix (and co), do not forget to first download, compile and install • omniORB • omniNotify • For Windows all libraries and binaries for omniORB and omniNotify are included in the distribution.

  17. How to dance the Tango? • A list of all Tango classes is available with their documentation under http://www.tango-controls.org/device-servers • Common interest class sources are stored on a CVS server hosted by SourceForge • Project name = tango-ds • http://sourceforge.net/projects/tango-ds/ • Local class sources are stored in a local CVS repository at each institute

More Related