Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How much control do you need to dance TANGO?

How much control do you need to dance TANGO?

This set of slides introduce the TANGO control system for the SKA telescopes, using analogies between tango dancing and the paradigms of the TANGO control system.

The talk was given in the context of the Engineering Q&A talks of the SKA Organisation.

Juande Santander-Vela

September 14, 2016
Tweet

More Decks by Juande Santander-Vela

Other Decks in Technology

Transcript

  1. How much control do you need to dance TANGO? Juande

    Santander-Vela SDP/TM Element Systems Engineer
  2. TANGO: SCADA for SKA SCADA: Supervisory Control And Data Acquisition

    TANGO: TAco Next Generation Object-oriented (control system) ➥ TACO: Telescope and Accelerator Control Objects Not that foreign to astronomy!
  3. Why TANGO for SKA? Need for a common control middleware

    across the SKA Need for industrial-strength SCADA Open Source, very large, vibrant community Some experience in astronomy: TANGO is TACO++ Preferred to ALMA Common Software & EPICS Very successful in synchrotron world
  4. Tango & Control Inputs (follower) • Torso orientation • Distance

    between chests • Centre of gravity • Pressure on the back • Distance to other dancers • …
 Outputs (follower) • Leg movement • Arm movement • Hip position • Centre of gravity Needs constant attention Refined with experience
  5. TANGO & Control There’s a leader → Device Client There’s

    a follower → Device Server additional information to send on the wire, TANGO version control etc. These details can and should be wrapped in TANGO Application Programmer Interface (API). The API is implemented as a library in C++ and as a package in Java. The API is what makes TANGO clients easy to write. The API’s consists the following basic classes : • DeviceProxy which is a proxy to the real device • DeviceData to encapsulate data send/receive from/to device via commands • DeviceAttribute to encapsulate data send/receive from/to device via attributes • Group which is a proxy to a group of devices In addition to these main classes, many other classes allows a full interface to TANGO features. The following figure is a drawing of a typical client/server application using TANGO. Client Database TANGO TANGO Server TANGO Cmd Attrib CORBA attrib CORBA opera API API Devices CORBA CORBA CORBA
  6. What about systems? Leaders are many times followers of other

    leaders (military hierarchy) Anyone could be a follower of anyone (swarms) Strategy allows for clear decision and action at the different levels Think hierarchically
  7. A TANGO Device Server Device server Instance Name State Attribute_1

    Attribute_2 Attribute_3 Attribute_4 Command_1 Command_2 Command_3 ` ΅ ῰ Class-dependent Think hierarchically
  8. A TANGO Device Server Device server Instance Name State Attribute_1

    Attribute_2 Attribute_3 Attribute_4 Command_1 Command_2 Command_3 Think inheritance ` ΅ ῰ Class-dependent
  9. A TANGO Hierarchy TEL- MGT Client1 Client2 Client3 Device Server1

    Device Server2 Device1 Device2 Device3 Device4 DB
  10. A TANGO Hierarchy Device Server1 Device Server2 Device1 Device2 Device3

    Device4 DB Generic Client This is the power of TANGO
  11. A TANGO Hierarchy Device Server1 Device Server2 Device1 Device2 Device3

    Device4 DB Generic Client Generic Client Each one for each specialist
  12. A TANGO Hierarchy Proxy1 Device Server1 Device Server2 Device1 Device2

    Device3 Device4 DB Proxy2 Device Server4 Device Server3 Device5 Device6 Device7 Device8 TEL- MGT
  13. A TANGO Hierarchy Proxy1 Device Server1 Device Server2 Device1 Device2

    Device3 Device4 DB Proxy2 Device Server4 Device Server3 Device5 Device6 Device7 Device8 TEL- MGT DB
  14. A TANGO Hierarchy Proxy1 Device Server1 Device Server2 Device1 Device2

    Device3 Device4 DB Proxy2 Device Server4 Device Server3 Device5 Device6 Device7 Device8 TEL- MGT DB DB
  15. A TANGO Hierarchy Proxy1 Device Server1 Device Server2 Device1 Device2

    Device3 Device4 DB Proxy2 Device Server4 Device Server3 Device5 Device6 Device7 Device8 TEL- MGT DB DB Can be scaled easily
  16. A TANGO Hierarchy Proxy1 Device Server1 Device Server2 Device1 Device2

    Device3 Device4 DB Proxy2 Device Server4 Device Server3 Device5 Device6 Device7 Device8 TEL- MGT DB DB Allows for bottom-up building
  17. Not talking about… Commonality of attributes (LMC harmonisation) Having similar

    interfaces for similar devices (inheritance, device libraries, software harmonisation) Archiving and logging Time-stamping Synchronous vs. asynchronous And many others, included in TANGO
  18. How much control do you need to dance TANGO? Ability

    to keep track of own status (state, attributes), and perform “moves” (commands) Ability to measure attributes in others (read attributes) Signal others what is going to happen (write attributes), ask directly (command) Let others define the higher-level of control TANGO rules are embedded throughout