Overview of TANGO Control system EUROPEAN SYNCHROTRON RADIATION

  • Slides: 29
Download presentation
 Overview of TANGO Control system EUROPEAN SYNCHROTRON RADIATION FACILITY SYNCHROTRON SOLEIL SYNCHROTRON ELETTRA

Overview of TANGO Control system EUROPEAN SYNCHROTRON RADIATION FACILITY SYNCHROTRON SOLEIL SYNCHROTRON ELETTRA SYNCHROTRON ALBA June 2010 JM Chaize, ESRF/CERN control workshop 1

A software bus development tools Generic Services Data Analysis Config Monitor Sequencing Archiving Application

A software bus development tools Generic Services Data Analysis Config Monitor Sequencing Archiving Application Tool-Kit User environment Matlab, Labview Igor, Python APITANGO Library Software Bus distributed on a network Device Hardware June 2010 Device Hardware Device Interface Generator Hardware Catalog of device JM Chaize, ESRF/CERN control workshop servers 2

CORBA Common Object Request Broker Architecture Standardize the communication between distributed objects • Many

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. June 2010 JM Chaize, ESRF/CERN control workshop 3

What is TANGO ? • A CORBA framework for doing control – A toolbox

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 June 2010 JM Chaize, ESRF/CERN control workshop 4

The fundamental brick of TANGO is the Device TANGO software Bus The device is

The fundamental brick of TANGO is the Device TANGO software Bus The device is a remote object Interface Device class Standard interface for hardware equipment or service June 2010 HW (motor…) JM Chaize, ESRF/CERN control workshop 5

TANGO devices Example: motor interface: MOTOR: Commands: On(), Off(), … Attributes: Speed, Position State:

TANGO devices Example: motor interface: MOTOR: Commands: On(), Off(), … Attributes: Speed, Position State: On, Off, Alarm, Fault Hardware control code June 2010 Interface Automatic code generator To be written By the programer JM Chaize, ESRF/CERN control workshop 6

TANGO devices • 1 Device can also interface complex systems – Hierarchical structure Client

TANGO devices • 1 Device can also interface complex systems – Hierarchical structure Client TANGO Software Bus Macro device: e. g. Accelerator sub devices: e. g. powersupplies sub devices: e. g. ADC, modbus… June 2010 JM Chaize, ESRF/CERN control workshop 7

TANGO devices • 1 Device can also interface complex systems – Bridge to other

TANGO devices • 1 Device can also interface complex systems – Bridge to other protocols TANGO Software Bus Interface Device LINAC June 2010 RPC JM Chaize, ESRF/CERN control workshop other Control system e. g. TACO 8

TANGO devices • 1 Device can also interface complex systems – Bridge to other

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 June 2010 Channel Access JM Chaize, ESRF/CERN control workshop 9

TANGO devices • 1 Device can also interface complex systems – Bridge to other

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 June 2010 JM Chaize, ESRF/CERN control workshop 10

TANGO devices • 1 Device can also interface complex systems – Bridge to other

TANGO devices • 1 Device can also interface complex systems – Bridge to other protocols TANGO Software Bus Interface Embedded system Device I/O June 2010 Modbus TCP/IP JM Chaize, ESRF/CERN control workshop 11

TANGO devices • 1 Device can also interface complex systems – Bridge to other

TANGO devices • 1 Device can also interface complex systems – Bridge to other protocols TANGO Software Bus Interface Device I/O June 2010 Build a TANGO device from Data. Socket urls Data. Socket JM Chaize, ESRF/CERN control workshop 12

TANGO Communication • Synchronous Client Send request Wait Get Answer TANGO Software Bus Do

TANGO Communication • Synchronous Client Send request Wait Get Answer TANGO Software Bus Do the job server June 2010 JM Chaize, ESRF/CERN control workshop 13

TANGO Communication • Asynchronous Client Send request Do other Get Answer job When needed

TANGO Communication • Asynchronous Client Send request Do other Get Answer job When needed TANGO Software Bus Do the job server June 2010 JM Chaize, ESRF/CERN control workshop 14

TANGO Communication • Event Driven Client Subscribe Do other once job Callback TANGO Software

TANGO Communication • Event Driven Client Subscribe Do other once job Callback TANGO Software Bus Do its job server June 2010 Signal event When occurs (state change) JM Chaize, ESRF/CERN control workshop 15

Abstract interface classes Standardise interfaces of equipment of the same types TANGO software Bus

Abstract interface classes Standardise interfaces of equipment of the same types TANGO software Bus Interface Abstract motor Abstract powersupply Concrete Implem Interface Implem Concrete Implem Different types of motors June 2010 JM Chaize, ESRF/CERN control workshop Different types of powersupplies 16

Much more than a software bus • • • Code generator for C++, Java

Much more than a software bus • • • Code generator for C++, Java Configuration tool Administration tool Archiving service Access control service Logging service Scan service Application Toolkit for Java Application Toolkit for QT Synopsis animation tool • • Alarm service Web interface June 2010 • • Python client and servers Bindings for Matlab Bindings for Labview Binding to a SCADA Bridge with EPICS Many utility classes List of abstract classes Hardware access class catalog • Mailing list and Wiki • Tutorials JM Chaize, ESRF/CERN control workshop 17

Jdraw: Generic Synoptic animation June 2010 JM Chaize, ESRF/CERN control workshop 18

Jdraw: Generic Synoptic animation June 2010 JM Chaize, ESRF/CERN control workshop 18

Jive Database browser and Test Device Launcher

Jive Database browser and Test Device Launcher

POGO Device Server Code Generator C++ or Java

POGO Device Server Code Generator C++ or Java

POGO Device Server Code Generator

POGO Device Server Code Generator

ATKpanel a generic client June 2010 JM Chaize, ESRF/CERN control workshop 22

ATKpanel a generic client June 2010 JM Chaize, ESRF/CERN control workshop 22

Astor/Starter Tango Control System Manager Get host list DB server Starter Host n server

Astor/Starter Tango Control System Manager Get host list DB server Starter Host n server DS DS Host n Starter server DS DS Starter Host n server DS DS DS DS DS Host n DS DS DS Ethernet Starter server Host 1 DS DS DS s u t ta t s e G Get server list

Embedded TANGO servers • Traditional architecture TANGO client TANGO Software Bus Interface Device I/O

Embedded TANGO servers • Traditional architecture TANGO client TANGO Software Bus Interface Device I/O PC HOST June 2010 TCP/IP Embedded system JM Chaize, ESRF/CERN control workshop 24

Embedded TANGO servers • Embedded server TANGO client TANGO Software Bus Interface Embedded system

Embedded TANGO servers • Embedded server TANGO client TANGO Software Bus Interface Embedded system June 2010 JM Chaize, ESRF/CERN control workshop 25

Embedded TANGO servers • Next steps TANGO client TANGO Software Bus TANGO server Mapped

Embedded TANGO servers • Next steps TANGO client TANGO Software Bus TANGO server Mapped into a FPGA June 2010 JM Chaize, ESRF/CERN control workshop 26

Embedded TANGO servers • Next steps TANGO client TANGO Software Bus Gumstix SBC June

Embedded TANGO servers • Next steps TANGO client TANGO Software Bus Gumstix SBC June 2010 JM Chaize, ESRF/CERN control workshop 27

The work continue… • Improve the performance of the event system • Distributed naming

The work continue… • Improve the performance of the event system • Distributed naming service ? • Better manage the large number of available classes – Search machine… • Better packaging • Generalization of abstract interfaces – More generic servers • Java GUI panels supplied for each abstract interface • Split the documentation in several books • Tutorials and examples… June 2010 JM Chaize, ESRF/CERN control workshop 28

 • WWW sites for TANGO – Common site http: //tango-controls. org • http:

• WWW sites for TANGO – Common site http: //tango-controls. org • http: //sourceforge. net/projects/tango-cs June 2010 JM Chaize, ESRF/CERN control workshop 29