Download - The BLISS of Tango

Transcript
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