TANGO A control system framework for accelerator and






























- Slides: 30
TANGO A control system framework for accelerator and beamlines • Design principles • Basic concepts • Status and projects Jean-Michel Chaize On behalf of TANGO teams ESRF, SOLEIL, ELETTRA, ALBA March 2005 JM Chaize PCa. Pac 2005 1
TANGO design principles • We keep (Natural Selection) Darwin – distributed objects Control system running since 1991 – Network – Unix Improvement became difficult • We Change Budda => We decided to refurbish – RPC -> CORBA – OS 9 -> Windows and Linux – C, TCL -> C++, Java, Python • Innovation Da Vinci March 2005 – services e. g. web services, administration, monitoring… – automation e. g. Sequencing, scanning… JM Chaize PCa. Pac 2005 2
What is TANGO? development tools Generic Services Data Config logging Scan Sequencer Analysis server API Library Device TANGO Software Bus Device Hardware March 2005 Archiver Java User environment Application Matlab, Labview Tool-Kit Igor, Python Device Hardware Catalog of. JM Chaize device servers PCa. Pac 2005 Device Interface Generator Hardware 3
CORBA Common Object Request Broker Architecture Standardize the communication between distributed objects • Many advantages – Vendor independent: Sponsored by many companies – Language independent: Interface Definition Language – Platform independent: Supports heterogeneity – Object oriented: Code re-use, encapsulation … – Very fast • BUT… – Not trivial to use… – Does not address specific needs of control. March 2005 JM Chaize PCa. Pac 2005 4
What is TANGO ? • A CORBA framework for doing control – A toolbox to implement the system – A specialization of CORBA adapted to Control – Hide the complexity of Corba to the programmer Control System TANGO CORBA March 2005 JM Chaize PCa. Pac 2005 5
The fundamental brick of TANGO is the Device TANGO software Bus network The device is a remote object Interface Device class Standard interface for hardware equipment or service March 2005 JM Chaize HW PCa. Pac 2005 (motor…) 6
TANGO devices Example: motor interface: MOTOR: Commands: On(), Off(), … Attributes: Speed, Position Interface State: On, Off, Alarm, Fault Automatic code generator Round robin buffer, polling thread, event triggering… Hardware control code March 2005 To be written By the programer JM Chaize PCa. Pac 2005 7
Pogo code generator Attributes properties For genericity C++ or Java March 2005 JM Chaize PCa. Pac 2005 8
TANGO devices • 1 Device can also interface complex systems – Bridge to other protocols TANGO Software Bus Interface Device LINAC March 2005 RPC JM Chaize PCa. Pac 2005 other Control system e. g. TACO 9
TANGO devices • 1 Device can also interface complex systems – Bridge to other protocols TANGO Software Bus Interface Build a TANGO object from a set of channels Device ID March 2005 Channel Access JM Chaize PCa. Pac 2005 10
TANGO devices • 1 Device can also interface complex systems – Bridge to other protocols TANGO Software Bus Interface Build TANGO device from a set of OPC TAGs Device Air Conditioning OPC Infrastructure server March 2005 JM Chaize PCa. Pac 2005 11
TANGO devices • 1 Device can also interface complex systems – Bridge to other protocols TANGO Software Bus Interface Embedded system Device I/O March 2005 Modbus TCP/IP JM Chaize PCa. Pac 2005 12
TANGO devices • 1 Device can also interface complex systems – Bridge to other protocols TANGO Software Bus Interface Device I/O March 2005 Build a TANGO device from Data. Socket urls Data. Socket JM Chaize PCa. Pac 2005 13
TANGO Communication • Synchronous Client Send request Wait ~0. 2 ms Get Answer TANGO Software Bus Do the job server March 2005 JM Chaize PCa. Pac 2005 14
TANGO Communication • Asynchronous Client Send request Do other Get Answer job When needed TANGO Software Bus Do the job server March 2005 JM Chaize PCa. Pac 2005 15
TANGO Communication • Event Driven Client Subscribe Do other once job Callback Corba Notification service State change event On change event Periodic event Archive event …. TANGO Software Bus Do its job server March 2005 JM Chaize PCa. Pac 2005 Signal event When occurs (state change) 16
Abstract interface classes Standardise interfaces of equipment of the same types TANGO software Bus Abstract motor Interface Concrete Implem Abstract powersupply Interface Concrete Implem Different types of motors March 2005 JM Chaize PCa. Pac 2005 Different types of powersupplies 17
Abstract interface classes • Standardize interface to families of equipments – Powersupply, motors, function generators, bpm, orbit, correctors…. • Decouple high level clients from hardware choices • Ease code reuse and interoperability between sites – Multiples beamlines, inter institutes exchange… – Sharing of accelerator physics, data analysis, matlab macros etc… • Allow using different hardware for similar functions • Allow to build a catalog of compliant device servers – Sharing hardware solutions over multiple institutes, beamlines… March 2005 JM Chaize PCa. Pac 2005 18
TANGO: Many clients available Java, C++, Python Linux, Windows, Solaris TANGO JAVA ATK (Swing) Scan Service QT SPEC TANGO Software Bus Dev Dev OPC Linux, Windows, Solaris March 2005 JM Chaize Labview RT PCa. Pac 2005 19
Astor: Administration tool March 2005 JM Chaize PCa. Pac 2005 20
Jive: Database browsing March 2005 JM Chaize PCa. Pac 2005 21
ATKpanel a generic client March 2005 JM Chaize PCa. Pac 2005 22
Jdraw: Generic Synoptic animation March 2005 JM Chaize PCa. Pac 2005 23
TANGO Collaboration 2002 2004 2000 4 meetings per year 2005 March 2005 • Planning follow-up JM Chaize • Decision PCa. Pac 2005 making 24
TANGO@esrf Grenoble (France) Light source 6 Ge. V (844 m) 40 beamlines Light for users since 1992 Control system modernization • 150 control computers (accel) • Linux, Windows, Solaris • VME, PC, Compact. PCI, SUN Tango used for accelerator control modernization 150 servers running, 546 devices on 54 hosts (RF, Fast feedback, vacuum, tune etc…) Several beamlines use it (progressive migration) March 2005 JM Chaize PCa. Pac 2005 25
TANGO@soleil Gif sur Yvette (France) Light Source 2. 75 Ge. V (345 m) 23 beamlines Linac control, transfer line ready, Booster in construction Storage ring and 11 beamlines for 2006 Light for users: 2006 PC, Compact. PCI, PLCs Windows, Linux, Labview… March 2005 Tango used for accelerator and beamlines control Lucia beamline operational at SLS (epics interface) Servers for a collection of Cpci boards ready Control of Linac, transfer line OK, Global Screen SCADA, Archiving… Matlab middle layer for prototyping… JM Chaize PCa. Pac 2005 26
TANGO@elettra Booster Injector FERMI@ELETTRA Trieste (Italy) Light source 2 -2. 4 Ge. V (260 m) 1 Gev Linac, no booster Light for users since 1993 21 beamlines, 1000 users annually Control system modernization: PC with Linux Tango used for accelerator control system upgrade: • 14 servers running (RF Master Oscillator Plant, Digital BPM, Fast Local Orbit Feedback…) Tango is the control system of the new projects: - Booster injector (construction started beg. 2005) VME, Power. PC, Linux+RTAI March 2005 - Free Electron Laser (FEL) FERMI@ELETTRA JM Chaize PCa. Pac 2005 27
TANGO@alba Barcelona (Spain) Light source 3 Ge. V (268. 8 m) 23 straight sections Emittance = 4. 3 nmrad Starting construction soon Light for the users: 2009 March 2005 Tango will be used for accelerator and beamlines control JM Chaize PCa. Pac 2005 28
Status • TANGO is mature and well tested – – 150 servers and 25 applications installed at ESRF Control of the first elements of Soleil A beamline at SLS (managed by Soleil team) 14 servers and 7 applications running at ELETTRA • The development continues: – – – – March 2005 On abstract classes code generation, device servers… Redundancy Synoptic applications, Application Tool Kit… New beans ATKviewers TANGO box soon available pre-installed (via Cosylab) Training of new users… Eclipse plugins… JM Chaize PCa. Pac 2005 29
• WWW sites for TANGO – http: //www. esrf. fr/tango • Main page – http: //www. esrf. fr/tango_src • Download tango – http: //sourceforge. net/projects/tango-cs • Share source – http: //www. synchrotron-soleil. fr: 8001 – http: //www. omg. org (All about CORBA) Thanks to TANGO team of ESRF, SOLEIL, ELETTRA and ALBA March 2005 JM Chaize PCa. Pac 2005 30






























