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.
Strategies for Landing an Oracle DBA Job as a Fresher
How much control do you need to dance TANGO?
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!
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
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
ServerTANGO
Cmd Attrib
CORBA
attrib
CORBA
opera
API
API
Devices
CORBA
CORBACORBA
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
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
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