The BLISS of Tango

16
15.01.2007 BLISS Day 1 The BLISS of Tango J. Meyer European Synchrotron Radiation Facility (ESRF)

description

The BLISS of Tango. J. Meyer European Synchrotron Radiation Facility (ESRF). Outline. Differences to Taco Latest Developments Interesting Features. The Tango Bliss by Misha Lenn. Differences to Taco. Three programming languages supported C++, Python, Java - PowerPoint PPT Presentation

Transcript of The BLISS of Tango

Page 1: The BLISS of Tango

15.01.2007 BLISS Day 1

The BLISS of Tango

J. Meyer

European Synchrotron Radiation Facility (ESRF)

Page 2: The BLISS of Tango

15.01.2007 BLISS Day 2

Outline

• Differences to Taco• Latest Developments• Interesting Features

The Tango Bliss by Misha Lenn

Page 3: The BLISS of Tango

15.01.2007 BLISS Day 3

Differences to Taco

• Three programming languages supported– C++, Python, Java

• Code generator, no more copy/paste• Fully multithreaded • Polling thread and data buffer in every

server (integrated update daemon)• Events• Asynchronous group calls

Page 4: The BLISS of Tango

15.01.2007 BLISS Day 4

Differences to Taco

• Attributes for a generic data access– Data range, alarms, data validity, formatting

• Dynamic attributes and commands

• Abstract interface definition

• Administration interface for every server– start and stop, configuration, black box

Page 5: The BLISS of Tango

15.01.2007 BLISS Day 5

Latest Developments

• Pogo 5.x can generate Python Tango device server code– Needs PyTango 3.0.2 and Tango 5.5.2

– Available from: ftp://ftp.esrf.fr/pub/cs/tango/Pogo

• PyTango is available as a binary distribution for Windows (x86 32bit)– Needs Python 2.4.x and Tango 5.5.2

– http://www.tango-controls.org/bindings

Page 6: The BLISS of Tango

15.01.2007 BLISS Day 6

Latest Developments

Page 7: The BLISS of Tango

15.01.2007 BLISS Day 7

Latest Developments

• Database with modification history– History values visible

via Jive

– Configurable depth of modification history

Page 8: The BLISS of Tango

15.01.2007 BLISS Day 8

Latest Developments

• Canone 2.3.0 : The Tango WEB interface– Based on PHP and

AJAX (for widget refreshing)

– http://www.elettra.trieste.it/~tango/Canone

Page 9: The BLISS of Tango

15.01.2007 BLISS Day 9

Interesting Features• The Device Creation Wizard

– A device server can start without any device defined

– A device can be added to a running server

Page 10: The BLISS of Tango

15.01.2007 BLISS Day 10

Interesting Features

• Device configuration– Jive

– Property files

Page 11: The BLISS of Tango

15.01.2007 BLISS Day 11

Interesting Features

• Abstract classes– Abstract interface definition

– Can be a container for common code

– Not yet available for Python

Page 12: The BLISS of Tango

15.01.2007 BLISS Day 12

Interesting Features

• General purpose classes– Presented by Katy Saintin from Soleil at the

Tango collaboration meeting September 2006– Averager Class :

• Statistics and filtering on Tango scalar attributes

– TangoParser Class:• Calculates a tango attribute from a list of attributes• The formula can be defined at runtime in a

mathematical syntax

Page 13: The BLISS of Tango

15.01.2007 BLISS Day 13

Interesting Features

• General purpose classes– DataFitter Class

• Fitting with Gaussian or Lorentzian functions

– BeamImageAnalyzer Class• Beam box (bounding rectangle of the beam)

• Approximation of the beam contour by an ellipse

• Computation of moments from order 0 to 3

• Profiles against both axis and Gaussian fit of these profiles

• 2D Gaussian fit of the image

Page 14: The BLISS of Tango

15.01.2007 BLISS Day 14

Interesting Features

• Dynamic class loading– Pogo generates a Makefile to fill an archive

class library and to create a shared library module for the class

– A shared C++ class module can be loaded into a python Tango server

– A C++ server can also load a class from a shared class module

Page 15: The BLISS of Tango

15.01.2007 BLISS Day 15

Interesting Features

• Starter Server and Astor– Starting and stopping

– Survey

– Administration

Page 16: The BLISS of Tango

15.01.2007 BLISS Day 16

Latest Developments

• Tango access control– Implemented already

in the Java API

– Ongoing development for the C++ API