Upload
sheila-bartron
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
March 2005 JM Chaize PCaPac2005 1
TANGO
A control system framework for accelerator and beamlines
• Design principles• Basic concepts• Status and projects
Jean-Michel ChaizeOn behalf of TANGO teams ESRF, SOLEIL,ELETTRA, ALBA
March 2005 JM Chaize PCaPac2005 2
TANGO design principles
Da Vinci
• Innovation – services e.g. web services, administration,
monitoring…– automation e.g. Sequencing, scanning…
Budda
• We Change – RPC -> CORBA– OS9 -> Windows and Linux– C,TCL -> C++, Java, Python
Darwin
• We keep (Natural Selection)– distributed objects– Network– Unix
Control system running since 1991
Improvement became difficult
=> We decided to refurbish
Control system running since 1991
Improvement became difficult
=> We decided to refurbish
March 2005 JM Chaize PCaPac2005 3
DataAnalysis
Config Archiver
What is TANGO?
TANGO Software Bus
Generic Services
Hardware
Device
Scanserver
Sequencer
User environmentMatlab,Labview Igor, Python
Device
Hardware
Device
Hardware
Device
Hardware
Device
Hardware
Catalog of device servers
development tools
InterfaceGenerator
API Library
logging
JavaApplication Tool-Kit
March 2005 JM Chaize PCaPac2005 4
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
CORBACommon Object Request Broker Architecture
• BUT…– Not trivial to use…– Does not address specific needs of control.
March 2005 JM Chaize PCaPac2005 5
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
CORBA
TANGO
Control System
March 2005 JM Chaize PCaPac2005 6
TANGO software Bus
Device class
Interface
HW (motor…)
The device is a remote object
Standard interface for hardware equipment or service
The fundamental brick of TANGO is the Device
network
March 2005 JM Chaize PCaPac2005 7
Example: motor interface:
MOTOR:Commands: On(), Off(), …
Attributes: Speed, Position
State: On, Off, Alarm, Fault
Round robin buffer, polling thread, event triggering…
Interface
Hardware control code
Automaticcode generator
To be writtenBy the programer
TANGO devices
March 2005 JM Chaize PCaPac2005 8
Pogo code generator
C++ or Java
Attributes propertiesFor genericity
March 2005 JM Chaize PCaPac2005 9
TANGO devices
• 1 Device can also interface complex systems– Bridge to other protocols
TANGO Software Bus
DeviceLINAC
other Control system
e.g. TACORPC
Interface
March 2005 JM Chaize PCaPac2005 10
TANGO devices
• 1 Device can also interface complex systems– Bridge to other protocols
TANGO Software Bus
DeviceID Channel Access
Interface
Build a TANGO object from a set of channels
March 2005 JM Chaize PCaPac2005 11
TANGO devices
• 1 Device can also interface complex systems– Bridge to other protocols
TANGO Software Bus
DeviceAir Conditioning
Infrastructure
server
OPC
Interface
Build TANGO device from a set of OPC TAGs
March 2005 JM Chaize PCaPac2005 12
TANGO devices
• 1 Device can also interface complex systems– Bridge to other protocols
TANGO Software Bus
DeviceI/O Modbus TCP/IP
Interface
Embeddedsystem
March 2005 JM Chaize PCaPac2005 13
TANGO devices
• 1 Device can also interface complex systems– Bridge to other protocols
TANGO Software Bus
DeviceI/O DataSocket
Interface
Build a TANGO device from DataSocket urls
March 2005 JM Chaize PCaPac2005 14
TANGO Communication
• Synchronous
TANGO Software Bus
server
Client
Sendrequest Wait Get Answer
Do the job
~0.2 ms
March 2005 JM Chaize PCaPac2005 15
TANGO Communication
• Asynchronous
TANGO Software Bus
server
Client
Sendrequest Do other
jobGet Answer When needed
Do the job
March 2005 JM Chaize PCaPac2005 16
TANGO Communication
• Event Driven
TANGO Software Bus
server
Client
Subscribeonce
Do otherjob
Do its job Signal event When occurs(state change)
Callback
State change eventOn change eventPeriodic eventArchive event….Corba
Notificationservice
March 2005 JM Chaize PCaPac2005 17
TANGO software Bus
Standardise interfaces of equipment of the same types
Interface
Implem
Concrete
Abstractmotor
Implem
Concrete
Implem
Concrete
Implem
Concrete
Different types of motors
Interface
Implem
Concrete
Abstractpowersupply
Implem
Concrete
Implem
Concrete
Implem
Concrete
Different types of powersupplies
Abstract interface classes
March 2005 JM Chaize PCaPac2005 18
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 PCaPac2005 19
TANGO: Many clients available
DevDev Dev Dev Dev Dev
SPEC
TANGO Software Bus
OPC
Dev
TANGOJAVA ATK(Swing)
QTScan
Service
Java, C++,PythonLinux, Windows, Solaris
Linux, Windows, Solaris Labview RT
Astor: Administration tool
Jive: Database browsing
March 2005 JM Chaize PCaPac2005 22
ATKpanel a generic client
March 2005 JM Chaize PCaPac2005 23
Jdraw: Generic Synoptic animation
March 2005 JM Chaize PCaPac2005 24
20042000
2005
2002
4 meetings per year
•Planning follow-up
•Decision making
TANGO Collaboration
March 2005 JM Chaize PCaPac2005 25
TANGO@esrf
Grenoble (France)
Light source 6 GeV (844m)
40 beamlines
Light for users since 1992
Control system modernization
• 150 control computers (accel)
• Linux, Windows, Solaris
• VME, PC, CompactPCI, 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 PCaPac2005 26
TANGO@soleil
Gif sur Yvette (France)
Light Source 2.75 GeV (345m)
23 beamlines
Linac control, transfer line ready,
Booster in construction
Storage ring and 11 beamlines for 2006
Light for users: 2006
PC, CompactPCI, PLCs Windows, Linux, Labview…
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…
March 2005 JM Chaize PCaPac2005 27
TANGO@elettra
Booster Injector
FERMI@ELETTRA
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)
- Free Electron Laser (FEL) FERMI@ELETTRA
Trieste (Italy)
Light source 2-2.4 GeV (260m)
1Gev Linac, no booster
Light for users since 1993
21 beamlines, 1000 users annually
Control system modernization:
PC with Linux
VME, PowerPC, Linux+RTAI
March 2005 JM Chaize PCaPac2005 28
Barcelona (Spain)
Light source 3 GeV (268.8 m)
23 straight sections
Emittance = 4.3 nmrad
Starting construction soon
Light for the users: 2009 Tango will be used for accelerator and beamlines control
TANGO@alba
March 2005 JM Chaize PCaPac2005 29
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:– 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…
March 2005 JM Chaize PCaPac2005 30
• WWW sites for TANGO– http://www.esrf.fr/tango
• Main page
– http://www.esrf.fr/tango/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