15.01.2007 BLISS Day 1
The BLISS of Tango
J. Meyer
European Synchrotron Radiation Facility (ESRF)
15.01.2007 BLISS Day 2
Outline
• Differences to Taco• Latest Developments• Interesting Features
The Tango Bliss by Misha Lenn
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
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
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
15.01.2007 BLISS Day 6
Latest Developments
15.01.2007 BLISS Day 7
Latest Developments
• Database with modification history– History values visible
via Jive
– Configurable depth of modification history
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
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
15.01.2007 BLISS Day 10
Interesting Features
• Device configuration– Jive
– Property files
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
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
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
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
15.01.2007 BLISS Day 15
Interesting Features
• Starter Server and Astor– Starting and stopping
– Survey
– Administration
15.01.2007 BLISS Day 16
Latest Developments
• Tango access control– Implemented already
in the Java API
– Ongoing development for the C++ API
Top Related