1 / 116

TANGO TRAINING User Session organised by SOLEIL Control/Command and Acquisition Group April 2003

TANGO TRAINING User Session organised by SOLEIL Control/Command and Acquisition Group April 2003. Goals. Present basic concepts share a common vocabulary Understand what a TANGO interface is to get correct interfaces specifications Show current applications

balin
Download Presentation

TANGO TRAINING User Session organised by SOLEIL Control/Command and Acquisition Group April 2003

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TANGO TRAINING User Session organised by SOLEIL Control/Command and Acquisition Group April 2003

  2. Goals • Present basic concepts • share a common vocabulary • Understand what a TANGO interface is • to get correct interfaces specifications • Show current applications • to show what the control system will actually be like

  3. Audience • Users of control systems have to: • Share common concepts and vocabulary with the Computing Services. • Be trained to software tools proposed by the Control/Command group • Applications developers linked to the Control/Command Group : • Scientists, who collect, use, process data obtained by the Control/Command group • Engineers/Technicians from Equipment pools, who have to understand/monitor the behavior of their systems • Engineers from other institutes • Who wish to have a first glance at the TANGO tool developed by the ESRF/SOLEIL collaboration

  4. Contributors • Alain Buteau • Majid Ounsy • Jean Chinkumo

  5. Today’s Programme • Part I – what is TANGO ? • A software bus • A «computing tool» dedicated to the implementation of systems which are heterogeneous, distributed and control/command oriented • Chronology • Part II – Basic Concepts • Device • Interface • Commands • Attributes • Statuses • Device Server • Part III – Current high-level applications • Control system configuration • Properties • Monitoring • Logging • Archiving

  6. - Part I - What is TANGO ?

  7. TANGO system: Asoftware bus

  8. A software bus • Analogy with an electronical bus because: • Each card plugged on the bus has a well-identified function • Each card is not or hardly coupled to the others • Development of each card can be decoupled • But each card • Must respect a strict and well-defined interface in order to connect to the bus

  9. The device: a bus element TANGO software Bus interface Device HW (motor…)

  10. Example: motor interface: MOTOR: Commands: - GoForward()… Attributes: - Speed (R/W)… Interface Hardware control code

  11. Configuration Device And high-level modular applications Archiving Users Environments : MATLAB, IGOR, python, Labview Logging Monitoring Bindings TANGO Software Bus Device Hardware Hardware (E/S…) (motor…)

  12. interface Device Mouse Exercise Attributes: • PositionX (R/W) • PositionY(R/W) Commands: - Center() TANGO Software Bus Hardware control code

  13. Exercise • Connect your Device to the bus • Start-db.bat (explanations will come later) • Start-mouse.bat • Start an application to see your Device • Start-mousepanel.bat

  14. TANGO system A «computing tool» dedicated to the implementation of distributed, heterogeneous and control/command oriented systems

  15. Control/command problematics at SOLEIL • Implement: • 1 control system for accelerators: LINAC, ring, Booster • 1 control system for every beamline • Need to exchange information between those different systems, using a common language As a whole, at least 25 different control systems

  16. Which computing tool do we need? • Distributed systems • Heterogeneous systems? • A computing tool, ctrl/command oriented

  17. Distributed systems • The system components are geographically distributed on machines interconnected by a computing network: • More than 100 Compact PCI frontend • More than 100 robots • Dozens of operator stations Process Management Supervision / Control : TANGO General Services: Archiving, Configuration, TANGO . ETHERNET CPCI board PLCs Profibus Profibus ETHERNET Motor board GALIL/midi engineering equipments equipments

  18. Heterogeneous systems on hardware and software levels • Slow industrial systems: robots • Fast acquisition systems • Ready for use systems: • LINAC control/command • Control software sold with equipments (Residual gas analyzers, SCIENTA analyzers) • Heterogeneous operating systems • Scientific applications under Linux • Drivers/libraries under WIN32 or under Linux • How to obtain a coherent whole from heterogeneous hardware and software?

  19. A ctrl/command oriented computing tool • Beyond computing technologies to exchange information between systems  Need for services specific to a control system (archiving, logging, warnings, …)

  20. TANGO: introduction How does TANGO solve the constraints of activity distribution and of interoperability of the heterogeneous components?

  21. Machine B Machine A Application 3 Application 1 L ? L Application 2 Application 4 ? L ? L SE1 SE2 TANGO: introduction

  22. TANGO: introduction Machine B Machine A Application 3 Application 1 L L Application 2 Application 4 L L SE1 SE2

  23. TANGO: introduction Machine B Machine A Application 3 Application 1 L L Application 2 Application 4 L L SE1 SE2

  24. TANGO: introduction Machine B Machine A Application 3 Application 1 L L Application 2 Application 4 L L SE1 SE2

  25. TANGO: introduction Machine B Machine A Application3 Application1 L L Application2 Application 4 L L SE1 SE2

  26. Distributed Application TANGO: introduction

  27. TANGO: introduction

  28. TANGO: introduction

  29. TANGO: introduction

  30. TANGO: introduction

  31. TANGO: introduction • An abstract concept: the «device» • Central element of the architecture • Tango is based on CORBA • a standard for the administration of communications between software components making up distributed and heterogeneous applications) Dev Dev Dev Dev Dev Dev TANGO software Bus Dev Dev Dev Dev Dev Dev

  32. Device TANGO: device • 1 Device : • Is the software representative for an equipment in the control system • Represents absolutely different equipments under a common software structure Dev Dev Dev Dev Dev Dev TANGO Software Bus Dev Dev Dev Dev Dev Dev Hardware

  33. TANGO: introduction

  34. TANGO Chronology

  35. TANGO at the ESRF • Birth at the ESRF in 1999 • TANGO is an evolution of TACO • As a concept, TANGO is not an absolutely new system • However, TANGO et TACO are 2 source codes, which are totally disconnected • Put into production on the ESRF Machine and used for a brand new development • Synch. booster sextupole control, SR current transformer, vacuum equipment, fluid equipment, alarm system, image acquisition, global feedback • ID14 biocrystallo beamline

  36. ESRF-SOLEIL Collaboration TANGO a strategical choice • First Software Development Plan defined in April 2002 • Cooperation Agreement in the Field of Control-Software for Accelerators and Beamlines: • Technical coordinators and regular meetings • Equal contributions from both parties • Intellectual properties and licensing policy (GNU) • Software plan: • Short-term developments to add essential missing features • Middle-term ones officially firmed the 20th of June 2002

  37. ESRF-SOLEIL Collaboration • First realizations milestone : Q3 2002 • User environments bindings: MATLAB, IGOR , Python • Configuration tool: jive • Supervision tool : devicetree • Milestone : Q1 2003 • Historical Database • Logging services • Packaging and common source repository • Port to another CORBA layer: ORBACUS  OMNIORB • Asynchronism: point-to-point communication scheme • Milestone : Q2 2003 • Events: many-to-many communication schemes • Python device servers DONE IN PROGRESS

  38. TANGO – current Resources • ESRF • 4 (almost) fulltime programmers • 4 halftime programmers • Soleil • 3 fulltime programmers • 2 halftime programmers • We hope that other institutes will join TANGO as : • Regular users • Taking part in developments • FRM II: New German neutrons source • LLB: CEA/CNRS neutrons source • Elletra : third generation Italian Synchrotron • Others …

  39. Tango: some more links • The source code is available on SourceForge • http://sourceforge.net/projects/tango-cs • There is still much to improve to make this distribution easily usable • The ESRF site is still a reference • http://www.esrf.fr/computing/cs/tango/index.html • The collaboration site SOLEIL/ESRF presents projects under development • http://www-controle.synchrotron-soleil.fr:8001/

  40. - II - Basicconcepts

  41. What is a Device ?

  42. Dev Dev Dev Dev Dev Dev Application Répartie Control system O O O O O O Dev Dev Dev Dev Dev Dev O O O O O O TANGO: device • an abstract concept: the «device» • central element in the architecture

  43. TANGO: device: definition • device = 1 <entity> to control • Hardware or software • «physical» device / «logical» device • device = 1 polymorphous object • 1 hardware (ex: 1 power supply) • 1 collection of equipment (ex: 1 motor + 1 coder) • 1 cluster of devices (ex: a beamline)

  44. Single Identifier (SOLEIL list) TANGO: device: definition • device = 1 equipment • Most simple and standard case Interface HW Equipment Ctrl/power supply switch. Equipment Ionic pump Device BOO-B1/VI/PI55-3 SC User

  45. phi Motor Device lambda Motor Device energy Monochromateur Device TANGO: device: definition • 1 Device is also a services provider, which • Describes services provided by a group of equipment Software Bus Theta Motor Device

  46. interface Device Mouse Exercise TANGO Software Bus interface Device Keyboard

  47. Exercise • Connect your Device to the bus • Start-keyboard.bat • Start an application to display your Device • Start-keyboardpanel.bat • Discover the Device Keyboard interface • NumLockOff et NumLockOn

  48. Exercise TANGO Software Bus Device Supervisor

  49. Exercise • The DeviceSupervisor • Sums up your mouse movements by asking the position to the Device Mouse • If you do not move it enough, it will have the Device Keyboard flash • Start the Device Supervisor and its command panel • Start-supervisor.bat et Start-supervisorpanel.bat • Start the monitoring of your mouse movements • SupervisionMouseOn • Check that the Device Supervisor : • Provides 1 service, which depends on basic services provided by Mouse and Keyboard basic devices

  50. Device LINAC Ou SCIENTA TANGO: device: definition • 1 Device is also a services provider, which • Describes the service provided by another system to which it is interconnected • note : this software interconnection must be made available: this possibility must be mandatorily requested from suppliers TANGO Software Bus provider Control system

More Related