Course description

Title: TANGO: a popular system for controlling large scale high-tech research facilities
Title (Hungarian): TANGO: egy elterjedt rendszer kutatási nagyberendezések vezérlésére
Language: Hungarian - Az oktatás nyelve magyar
ETR: I000PTMe149e-1

Description: This course introduces the TANGO control system that is widely used in large research facilities such as ESRF, Alba, Desy, Soleil and in the C3 Prototype of the European Mars Analog Station. The large research facility ELI-ALPS to be built in Szeged will also use TANGO for experiment control. Students participating in the course will learn the background, basic principles and architecture of TANGO and they will obtain advanced knowledge in implementing new tools (e.g. clients and device servers) using the TANGO API and environments.

Description (Hungarian): A kurzus bevezetést nyújt a nyílt forráskódú TANGO vezérlő rendszer használatába és fejlesztésébe, amely rendszer igen széles körben elterjedt az olyan nagy kutatóintézetekben, mint az ESRF, Alba, Desy, Soleil vagy az Európai Mars Kutató Állomás C3 Mars prototípusa. A Szegeden épülő ELI-ALPS lézerkutató intézet szintén ezt a rendszert fogja használni a kísérleti berendezések vezérléséhez. A kurzuson résztvevő hallgatók megismerik a TANGO rendszer alapjait, felépítését, valamint haladó szintű tudást szereznek az új eszközök fejlesztésében (pl. kliensek és eszköz szerverek) a TANGO környezet és API felhasználásával.

Level: MSc

Schedule: 2 hours per week (Tuesday, 14:00-15:30)

Location: Irinyi 224

Teachers: Nagy, Csaba, Hegedűs, Péter

Exam: a home project OR presentation of a particular TANGO related topic OR written test at the end of the semester

Topics:

  • History, background and basic principles of TANGO
  • High level architecture: device servers, database, clients
  • Basic tools (Astor, Jive, ATK) and example Tango programs
  • Introduction to the TANGO API
  • Commands and attributes
  • Implementing a TANGO client (events, groups, data types)
  • Implementing a device server using TANGO (startup, device pattern, logging, communication)
  • Advanced TANGO implementation techniques
  • Introduction to TANGO user environments
  • Usage of supplementary tools

References:

Possible projects (Hungarian)

A feladat minden esetben tetszőleges nyelven (C++, Java vagy Python) készíthető.

  • R statisztikai szoftver csomag wrappelése. A készítendő device server kapcsolódjon az R statisztikai csomaghoz valamely nyelvi API-ját felhasználva (http://statweb.stanford.edu/~lpekelis/13_datafest_cart/13_datafest_r_tal...), és valósítson meg egyszerű parancsokat/attribútumokat, amivel egyszerű R utasításokat tudjuk végrehajtani. Az R parancsokat string paraméterként lehet átadni, és az eredményt visszakérni.

    R programcsomag:
    http://www.r-project.org/

  • GNU Octave szoftver csomag wrappelése. A készítendő device server használja az Octave csomag könyvtárait (http://ubuntuforums.org/showthread.php?t=1181668). Az alapvető statisztikai algoritmusokhoz/módszerekhez készítsünk parancsokat/attribútumokat.

    GNU Octave:
    https://www.gnu.org/software/octave/

  • Készítsünk az SZTE TANGO device-hoz egy grafikus klienst (használható a TaurusGui, vagy tetszőleges grafikus keretrendszer), amely segítségével az AtkMoni felülettől szofisztikáltabb, vizuális klienst tudunk adni az eszköz vezérléséhez.
  • Készítsd el az órán használt SerialDevice TANGO eszköz egy olyan változatát, amely csak szimulálja az eszközzel való soros kommunikációt, nem hajtja azt konkrétan végre, hanem random értéket ad vissza (pl. hőmérséklet, stb.) és üzenetet küld egy virtuális eszköznek. A szimulált eszköz mellé készíts egy virtuális SZTE TANGO device-t, ami egy grafikus felületen mutatja a neki adott parancsok hatását (pl. led bekapcsol). A virtuális eszköz maga is legyen egy TANGO device, és a szimulált SerialDevice TANGO kliens API segítségével kommunikáljon vele. A virtuális eszköz grafikus felülete tetszőleges nyelven és eszközzel készíthető.
  • Egy tetszőleges Android-on futó TANGO kliens grafikus felülettel (vigyázat, ez nem rutinfeladat, a jelenlegi Android TangORB.jar nem működik alapból :) ).
  • Tetszőleges előre egyeztetett téma...

Lehetséges kiselőadás témák

  • TANGO kliensek mobilra (Android, esetleg van-e más?)
  • Webes TANGO keretrendszerek bemutatása (E-Giga, Canone)
  • Érdekes Device serverek bemutatása a device server repository-ból
  • TANGO binding-ok összefoglalása (Matlab, LabVIEW, bármilyen statizstikai szoftver)
  • TANGO futtatása Windows rendszeren (segítség: http://www.tango-controls.org/resources/howto/)
  • POGO eszköz funkcióinak bemutatása Java, C++ és Python nyelvre
  • Tetszőleges előre egyztetett téma...