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.

D6c83d5d20c63b8e421a7966b04cfedb?s=128

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. TACO @ Hartebeesthoek Radio Astronomy Observatory

  4. None
  5. None
  6. 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
  7. How do you TANGO? The TANGO Control System Manual Version

    9.2
  8. The TANGO Control System Manual Version 9.2 RTFM! Looks easy!

  9. Tango & Control There’s a leader There’s a follower

  10. 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
  11. 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
  12. OK for one couple

  13. What about ballrooms? Control Strategy: Startup, Dance, Stop Distributed, autonomous

    control
  14. 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
  15. None
  16. These are modes! (of the dancers)

  17. Or are they attributes?

  18. 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
  19. 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
  20. A TANGO Hierarchy Device1 Device2 Device3 Device4

  21. A TANGO Hierarchy Device Server1 Device Server2 Device1 Device2 Device3

    Device4
  22. A TANGO Hierarchy TEL- MGT Device Server1 Device Server2 Device1

    Device2 Device3 Device4
  23. A TANGO Hierarchy TEL- MGT Device Server1 Device Server2 Device1

    Device2 Device3 Device4 DB
  24. A TANGO Hierarchy TEL- MGT Client1 Client2 Client3 Device Server1

    Device Server2 Device1 Device2 Device3 Device4 DB
  25. A TANGO Hierarchy Client1 Client2 Client3 Device Server1 Device Server2

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

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

    Device4 DB Generic Client
  28. A TANGO Hierarchy Device Server1 Device Server2 Device1 Device2 Device3

    Device4 DB Generic Client
  29. A TANGO Hierarchy Device Server1 Device Server2 Device1 Device2 Device3

    Device4 DB Generic Client Generic Client Each one for each specialist
  30. A TANGO Hierarchy TEL- MGT Device Server1 Device Server2 Device1

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

    Device3 Device4 DB Proxy2 Device Server4 Device Server3 Device5 Device6 Device7 Device8 TEL- MGT
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. Thank you!

  39. Questions?

  40. TANGO & SKA