at the heart of ESRF data acquisition

TUPV043

baked with love by the ESRF Instrumentation Services & Development Division Software Group

Beamline Control Unit: A. Beteva, G. Berruyer, L. Claustre, S. Debionne, S. Fisher, M. Guijarro, P. Guillou, C. Guilloud, A. Homs, M.C. Lagier, D. Mammeri, A. Mauro, J. Meyer, C. Muzelle, M. Oscarsson, E. Papillon, S. Petitdemange,  V. Valls, H. Witsch / Data Analysis Unit: W. De Nolf

Beacon : web application to configure a whole beamline

Flint : data visualisation

based on the ESRF silx toolkit

Modular architecture, Abstraction layers and adapters

Data publishing and archiving enables online data analysis

Services built on top of

BLISS integrated environment covers a wide range of beamline control needs

BLISS shell integrates with Daiquiri UI the ESRF web-based framework for user interfaces

Daiquiri UI

see: THAR02

+

BLISS stands for BeamLine Instrumentation Support Software,

it is a new synchrotron experiments control system written in Python

BLISS controls today 24 beamlines (out of 48), full deployment is aimed in 2023

TUPV043

BLISS Key Principles

Direct hardware control

Persistent

settings cache

 Data publishing,

Transient storage

Scan acquisition chain represented as a tree

All-in-one solution

All I/O based on gevent

cooperative multi-tasking,

asyncio interoperability

 

TUPV043

BLISS Beacon server

Web interface for configuration editing

Beacon server

Devices & sequences configuration in YAML format

User sessions to group beamline devices for an experiment + Python setup file

configuration management

&

services

Transient data store

Settings cache

Centralized logging and log viewer web application

 class: elmo
  udp:
    url: 160.103.51.174
  axes:
  - name: nth
    acceleration: 36
    steps_per_unit: 30577
    velocity: 180.0
    home_velocity: 15
    velocity_low_limit: .inf
    velocity_high_limit: 360.0
    low_limit: -.inf
    high_limit: .inf
    sign: 1
    backlash: 0.0
- class: aerotech
  tcp:
    url: id31aerotech-1
  axes:
  - name: nth_aero
    acceleration: 5
    steps_per_unit: 1

TUPV043

BLISS Modular Architecture

Beacon server

data

streams

Mini frameworks within BLISS, to ease integration of same kind of hardware

Adaptation layer, to make hardware controllers behaving properly in scans, depending on the scan

TUPV043

BLISS data publishing and archiving

Daiquiri web GUI

see: THAR02

  • redis streams are used to push data to redis during acquisition
  • only references to heavy data (2D) are published to redis, refs will be resolved at runtime when asked by a listener
  • online data analysis scripts can be easily written using BLISS Python API
  • BLISS fully supports ESRF data policy (based on PaNdata Europe and FAIR data initiatives), and interoperates with ICAT and ESRF data portal