Title: Experiments at the ESRF Tango at beamlines
1Experiments at the ESRFTango at beamlines
- Vicente Rey Bakaikoa
- Tango Workshop at DESY / 18 September 2007
21. ESRF, Beamlines, BLISS2. Software for
beamlines3. Future evolution4. Tango at
beamlines
3ESRF Beamlines
- 29 ESRF beamlines
- 12 CRGs
4ESRF / Computing
TBS / Experiments Division
18
BLISS / Software development and support
Computing Services
5BLISS
- Beamline Instrument Software Support
- 18 software engineers
- Giving service to ALL ESRF beamlines including
CRGs
6BLISS developments
- Scope
- From low-level drivers to data analysis /
visualization as far as concerns the successful
running of the experiments - Four development areas
- Hardware support software
- Graphical interfaces
- Automation projects
- Infrastructure software
7BLISS / Support
- Beamline instrumentation projects
- Participate to beamline instrumentation projects
- Small software developments
- Experiment macros
- Beamline specific GUI
- Software consulting / auditing
- Beamline support installation and problem
resolution
8Beamline Control System
9A brief history of experiment control system
- Circa 1990
- Control choices VME (os9) / HP Sun
- Taco development for accelerator control
- 1994
- First beamlines open. Control system based on VME
/ Taco - SPEC used as main control program
- 2001
- Modernization efforts
- ID31 control uses only Linux
- 2004
- BLISS graphical framework
- Tango on beamlines
- 2005-2007
- Automation efforts
- Icepap, musst, frelon 2k, medipix
10and there be light (at the beamlines)
- In the beginning there was TACO spec
- TACO
- Developed at the ESRF
- Objects in C. RPC communication.
- spec
- Commercial program for diffractometer control
- And some other features
11Taco
- Developed at the ESRF
- Used also at
- FRM-II neutron source (Garching-Munich)
- Hartebeesthoek Radio Astronomy Observatory (South
Africa). - Anka
- Used massively at all ESRF beamlines
- 92 different servers distributed
- 7000 devices exported
12spec
- Pseudo motor/counter handling
- Client / server mode over TCP/IP
- TACO and epics
- And also
- Data arrays with math. functionality
- Statistics, fitting
- Interface to C user code
- Move, Count, Take data, Plot, and Save
- Built-in macro language
- Built-in code for diffractometers (kappa, fourc,
sixc, surf, ) - Configuration
- Many motor controllers, counter-timers, CCD,
Mcas integrated - Generic I/O through CAMAC, VME, GPIB, Serial
Line, Socket, Bus coupler and I/O ports
13Experiment visualization / evaluation
- Standalone tools for visualization
- Should work both online or offline
- Applications that users can bring along with
their data - Emphasis on performance.
- Non-intrusive
- Evolution with time and technologies
14Graphical user interface
- BLISS Graphical Framework
- Editor
- Application
- Hardware Repository / Hardware Objects
- Bricks
15Automation
- Optics automation
- Beam delivery
- Mirror alignment
- Experiment and sample handling
- Mx data collection
- Automatic (EMBL) and assisted sample centring
- Data analysis
- Experiment annotation, book keeping
- Remote access
16Handling software distribution
- RPM based
- Central database
- Manual / no automatic install
- Applications for
- Creating packages / versions
- Beamline installations
- Web monitoring
17The fun continues
some challenges ahead
18What beamline software in next years?
- Detector systems
- Beamline control evolution
- Nano positioning, sample environment
- Graphical interfaces
- Automation projects
- Fast acquisitions
- Data visualization, online analysis, large
dataset handling - Accrued beamline support
19Detectors Computing
- Essential on upgrade program / cutting edge
technologies - Commercialization / collaboration
- CCD
- Growing size Mar / ADSC
- Growing speed Sarnoff CCD / 1 tomography in 0.8s
- 500 frames/sec 150 MB/sec
- Example 75 frames / 40x slowdown
- Pixel detectors
- Maxipix ( 5 x 256 x 256 pixels) ESRF -
- 1000 frames / sec 600 MB/sec
- Expected limit datalink / disk speed
- Today
- 500 frame / sec for 1 x 256 x 256
- Pilatus 6M ( 2400 x 2328 pixels ) SLS/ PSI -
- 2ms readout 500 fr / sec 5 GB/sec
Click to start Sarnoff demo
20Detectors / and still more to come
CMOS Photron Ultima 10 bits Example 4000
fps Already tested at ID15 at 10000 fps (512 x
256) 2 Gb/sec
21libccd
- First started by D.Fernandez
- Goal
- Create a library to implement services for
detector operation. These should include computer
resources (memory, disk saving), soft ROIs,
etc - Specific code for one detector should implement
just basic access to the detector and declare to
the library the functionalities that the hardware
is able to handle - Integration code will just have the same
interface for all detectors through the libccd
library. - Device servers and low-level detector software
should then be libccd compliant, allowing for
seamless integration of detectors with optimal
functionality in any system Tango but also EPICS
or Tine or. - This is a call for partners
22Beamline control evolution
- Issue
- Ensure the evolution of the beamline control
system for constant modernization - Follow up with functionalities offered by
electronics developments - Participate from/to developments in other
European synchrotrons - Software
- Evolution with linux kernels, hardware
protocols. - Consider embedded solutions
- Tango participate to / profit of the advantages
of the collaboration
23Fast / Continuous Acquisitions
- Enabled by electronics
- Detectors with data buffering and near- zero
readout ( kinetics, pixel, mca buffering) - Synchronization cards
- Intelligent motor controllers
- Synchronization buffering
- From VCT6 synchronization to ISG suite
- MUSST for signal synchronization
- Fully programmable features in Icepap
- Software must handle them
- Experiment sequences must be reconsidered
13-element detector 4xXIA DXP-XMAP
24Data handling
- Visualization
- multi-dimensional, virtual instruments
- Online analysis and experiment estimation
- Navigate through data
- Data formats and metadata
- Experiment databases
25ESRF beamlines and
26Tango usage statistics
Beamlines
Total Tango DB Running 1 server
ESRF 29 21 13
CRGs 11 5 3
27Tango usage statistics
Servers and devices
Servers Devices (BLs)
Vacuum et al. VacGauge, PlcVacuumValve, Libera 35 (6)
Video CCD Ccd1394, Falcon, Prosilica, Pixium, DirectShow 18 (10)
MX SampleChanger (embl) and Microdiff (embl) 9 (4)
GPIB, Serial GPIB (soleil), Serial, WinSerial 14 (7)
Other Electrometers (soleil), Datasocket, Opcds, Lakeshore (python), RBRTemperature, Ltr90, Agilent, SLS218 12 (4)
All 21 88 (16)
ID14 - EH3 20 different 130 (1)
28Tango applications
- Jive
- save and load server data very useful
- maybe missing a more instrument oriented
configuration tool - what about a template option for device
properties? - Pogo
- Cool. Also for Python generation
- Astor/Starter
- not used. bliss_dserver instead
- Astor would be useful but it has no support for
Taco - ATK applications
- Jvacuum talks both Taco and Tango
- See for BLISS graphical framework instead
29Server classes / Developed by BLISS
- Video
- Falcon, Prosilica, DirectShow and Ccd1394
- (adapted class from CCD abstract class)
- All sharing code (bpm, jpeg coding) and
implementation - Other
- Python server Lakeshore
- Pixium flat panel detector
30Tango and spec
- spec talks to Tango devices today through a Taco
wrapper -
- Taco esrf_io(id05/meteor/2,
DevStatus) - Tango cmd esrf_io(tango//katapum10000/id05/fa
lcon/1, DevStatus) - Tango attr esrf_io(tango//katapum10000/id05
/falcon/1/status, DevRead) - attributes.mac to create pseudo counters or
motors on tango attributes - No events, error handling, attribute quality
- No Tango classes accessed from spec C core
- ( but ccd classes accessed through server
taco/tango wrapper)
31Other clients
- Jvacuum
- Talks both Taco and Tango
- Uses ATK
- BLISS graphical framework
- Through PyTango
32Experience with PyTango
- Qt PyTango, framework very nice
- But still
- Improve handling of Device / Attribute
proxies/factories - Unsubscribe automatic when callback object
destroyed - More pythonic interface?
33BLISS TANGO wish list
- Spec and tango
- Integrating specific classes in spec ( CCD,
Motor, etc) - Exposure of Tango data types, error handling,
attribute richness and events for C clients - ( foreseen on plans for Tango 7.0)
- Experiment control system
- Missing instrument oriented configuration tools
- Knowledge of experiments missing
- Sharing
- Sharing of classes in the collaboration is very
limited. - Promote abstract classes is good.
- Promote functional classes and libraries is
REALLY good ( see for libccd, video (bpm, jpeg
coding, etc..)
34 BLISS Tango to-do list
- Bring our classes to sourceforge
- Participate to
- specification and implementation of tangospec
- device pool
35Tango Batteries
- I had a dream
- Get the Tango control system to know about
beamline control - Integrating in Tango the concepts of beamline
control (positioning, acquisition,
synchronization, experiment sequencing, services
) in a generic manner - Get Tango to provide a ready to use system for
final scientist users - Through a generic beamline application
- Provide a configuration tool oriented to
equipment / experiments - Easy installation
- ( a lot of this in device pool project )
36Conclusion
- Tango presence at ESRF beamlines is still small
but it has a long life ahead - Profit of the Tango collaboration to catalyze
European collaboration on beamline control
systems
37Thank you