INTEGRATING THE SKA-MPI DISH INTO MEERKAT 32nd TANGO Collaboration Meeting 05 JUNE 2018 Presenter: Katleho Madisa Co-author: Anton Joubert www.ska.ac.za
SKA1-MID architecture Simplified overview of the monitoring and control interfaces LMC: Local Monitoring and Control TANGO protocol LMC Telescope Management x 197 (133 DISH + 64 MKAT) LMC LMC LMC LMC LMC LMC LMC
MeerKAT architecture Simplified overview of the monitoring and control interfaces Control And Monitoring (CAM) KATCP: Karoo Array Telescope Communication Protocol KATCP protocol Telescope Management x 64 LMC Control Control Control LMC LMC Control Correlator Beam Former Infrastructure Science Data Processor Receptor
MeerKAT architecture + DISH Simplified overview of the monitoring and control interfaces Control And Monitoring (CAM) KATCP: Karoo Array Telescope Communication Protocol KATCP protocol Must follow: TM-DISH ICD x1 TANGO protocol LMC Telescope Management x 64 LMC Control Control Control LMC LMC Control Correlator Beam Former Infrastructure Science Data Processor Receptor
MeerKAT CAM software architecture High level overview of the Control And Monitoring sub-system Control And Monitoring Proxy A KATCP Device A GUI HTTP Proxy B modbus Device B There is a proxy to interface with each external devices, e.g. weather station, antenna, correlator. Each of these devices may use a different protocol, e.g. HTTP, KATCP, modbus, TANGO Python ipython / script
MeerKAT CAM software architecture High level overview of the Control And Monitoring sub-system Control And Monitoring Proxy A KATCP Device A GUI Proxy B modbus HTTP Device B Adding the SKA MID DISH requires a new proxy that can speak TANGO, and emulates the SKA TM control. Python Proxy C TANGO LMC ipython / script
Discovered via ElementMaster TM-LMC Architecture SKA has common architecture for all elements (subsystems). TM Central Logger (LogConsumer) Central AlarmsHandler (AlarmsHandler clients) Central Archiver (EventSubscribers) ElementMaster Client All events from element LMC ElementMaster (Aggregator) Element Logger (LogConsumer) Element AlarmsHandler TANGO logs SKA Alert change events Attribute updates & change events Attribute archive events Element Archiver (EventSubscribers) Operational M&C TANGO device server Discovered via ElementMaster
Simulating ElementMaster DISH Consortium provided VirtualBox VM, but: VM is 20 GB, requires manual deployment Would like to test CAM with many DISH elements Rather create a basic simulator Easier for developers to create multiple instances using CAM’s existing deployment tools Easier to control simulation for automated testing Will use latest VM for acceptance testing before integration on site A description of the components (a lot of config files etc) and why we not using the whole VM but creating a simulator of it. DSH XMI/XML analyses results Functions of the dshmanager -> enables high-level monitoring and control of the Dish to TM and operators Light - easy deployment (dont want to run different instances of the VMs for every developer).
Tools used to develop the simulators PyTango 9.2.3 fandango python library for developing functional and multithreaded control applications and scripts tango-simlib data-driven development of TANGO device simulators Adding the SKA MID DISH requires a new proxy that can speak TANGO, and emulates the SKA TM control. The tools used to develop the simulators Tools developed in-house Tools developed by the TANGO community Reason for using fandango. tango simlib improvements (new file parser) https://github.com/tango-controls/pytango https://github.com/tango-controls/fandango https://github.com/ska-sa/tango-simlib
Tool selection DishManager config files: static (XMI) and dynamic (custom XML) forwarded attributes config info only available at runtime A tool to capture state of running device server Fandango or SimulatorDS Leverage in-house developed tango-simlib Easily extend behaviour and control Adding the SKA MID DISH requires a new proxy that can speak TANGO, and emulates the SKA TM control. The tools used to develop the simulators Tools developed in-house Tools developed by the TANGO community Reason for using fandango. tango simlib improvements (new file parser)
The simulator generator process Fandango file export Replicate a running device SimDD and Python for behaviour extension varying attrs/overridden cmd handlers static attrs/no-op cmds dshlmc.fgo DEVICE SIMULATORS DSH LMC VM FANDANGO EXPORTER Fandango file export Replicate a running device SimDD for behaviour extension Why not the SimulatorDS dshlmc.simdd behaviour.py
The generated simulators Sim device with a test device interface The ‘control’ interface for the simulator can be used to manipulate the state of the device simulator, e.g simulate failures.
Project Status CAM DISH proxy in progress Refactored MeerKAT proxy code to share with DISH proxy Refactoring KATCP-TANGO translator code to use in proxy tango-simlib simulator Trivial implementation done (no behaviour) Basic behaviour almost complete DISH qualification starts October 2018 Adding the SKA MID DISH requires a new proxy that can speak TANGO, and emulates the SKA TM control. The tools used to develop the simulators Tools developed in-house Tools developed by the TANGO community Reason for using fandango. tango simlib improvements (new file parser)
SARAO, a business unit of the National Research Foundation. The South African Radio Astronomy Observatory (SARAO) spearheads South Africa’s activities in the Square Kilometre Array Radio Telescope, commonly known as the SKA, in engineering, science and construction. SARAO is a National Facility managed by the National Research Foundation and incorporates radio astronomy instruments and programmes such as the MeerKAT and KAT-7 telescopes in the Karoo, the Hartebeesthoek Radio Astronomy Observatory (HartRAO) in Gauteng, the African Very Long Baseline Interferometry (AVN) programme in nine African countries as well as the associated human capital development and commercialisation endeavours. Contact information Katleho Madisa Jnr Software Engineer Email: kmadsia@ska.ac.za Anton Joubert Snr Software Engineer Email: ajoubert@ska.ac.za