1 / 13

TANGO Collaboration Meeting: Device Pool for Efficient Experiment Control and Data Acquisition

This software solution offers efficient instrument control and data acquisition with a distributed, event-driven, and plug-in architecture. It enables easy deployment of new features, lightweight interfaces, and reliable user feedback. Guidelines include user-level abstraction, robust operations handling, and runtime plug-in availability. The system allows users to control experiment configurations without hardware specifics and expert programming skills.

latrinar
Download Presentation

TANGO Collaboration Meeting: Device Pool for Efficient Experiment Control and Data Acquisition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TANGO Collaboration Meeting. September 5, 6 2006 The Device PoolTANGO Collaboration Meeting September 5, 6 2006 Tiago Coutinho - ALBA

  2. TANGO Collaboration Meeting. September 5, 6 2006 Agenda • Problem • One Solution: Device Pool • Guidelines • Device Pool Structure • Example use case

  3. TANGO Collaboration Meeting. September 5, 6 2006 Problem • How to control the experiment? • Without caring for the HW specifics • Using customized coordinate systems • Receiving constant reliable feedback • How to collect data? • In multiple formats • Automated way • How to configure new experiments? • Without having to switch the on/off button • Without being an expert SW developer • How to share configurations with different BMs? Control Room Experiment Room Motor Controllers ? . . . Counters MCAs CCDs

  4. TANGO Collaboration Meeting. September 5, 6 2006 A solution A software system for instrument control and data acquisition • Distributed • Client-server network architecture • Event driven architecture • Plug-in architecture • Scriptable • Multi-user • Open source • Allowing remote user access. • The right SW component in the right place • Easy to add/replace components Runtime add/update of new SW features • Enables creation of lightweight, platform rich client interfaces: • Java/ATK • IPython • PyQT • C++/QT,C++/MFC • etc Efficient, reliable, time consistent information feedback to the user Easy creation and deployment of new SW features We called it Device Pool

  5. TANGO Collaboration Meeting. September 5, 6 2006 Guidelines • User level abstraction • Simple client side applications • Notification based • Robust • Performance critical set of operations • Best effort approach to handle error scenarios • Script extensions • Runtime availability of new installed plug-ins • Code to handle specific HW should not be built in the system • Multiple user configurations

  6. TANGO Collaboration Meeting. September 5, 6 2006 Configuration Tool Pool Configuration API Client Applications .SO Device Pool Structure HW Motor Pseudo Motor Controller Motor Group Counter Pseudo Motor Lib Controller Lib Lib …

  7. TANGO Collaboration Meeting. September 5, 6 2006 beam motor 1 Blade 1 offset gap Blade 2 motor 2 Example use caseScenario • User doesn’t want to know about motors • 1 and 2 • He just wants to control de gap and offset • Move both at the same time • Change gap maintaining a constant offset • Change offset maintaining a constant gap • Abort movement • Control more than one motor at the same time • Provide a gap and offset motor interface • Feedback gap and offset state/status changes • Security • Prevent blades from intersecting the beam • Prevent blades from crushing to each other • Prevent blades from crushing other obstacles (ex: walls) • …

  8. Usage time Read/Move gap Read/Move offset Read/Move gap and offset Loop (scan): Move offset Read data … Configuration time Write python/.so controller Create controller in DP Crete Motor 1 and Motor 2 in the DP Write python Pseudo Motor controller Create Gap/Offset Pseudo Motor in the DP TANGO Collaboration Meeting. September 5, 6 2006 Client Application Example use case”Pipeline” move Pool Gap Motor 1 read Motor Group Motor Controller HW move Offset Motor 2 read Pseudo Motor Lib

  9. TANGO Collaboration Meeting. September 5, 6 2006 Example use caseread operation sequence Gap Motor Group Motor 1 Motor 2 Pseudo Controller Python Object read read read motorpos1 read motorpos2 motorpos1&2 calc_pseudo calc_pseudo gap gap

  10. TANGO Collaboration Meeting. September 5, 6 2006 Example use casecalculate pseudo position [in]: m “physical” motor positions n last known “pseudo” motor positions [out]: n “pseudo” motor positions “Pseudo” motor position double pos Parameters “physical” motor context Pseudo Motor p1 Motor1 Python Pseudo Calc p2 Motor2 k m . . . . . . pk Motorm double pos1 double pos2 m . . . double posm calc_pseudo “physical” motor positions

  11. TANGO Collaboration Meeting. September 5, 6 2006 Example use casemove operation sequence Gap Motor Group Motor 1 Motor 2 Pseudo Controller Python Object move(new gap) read read motorpos1 read motorpos2 motorpos1&2 calc_all_pseudo calc_pseudo calc_pseudo gap & offset replace(gap, new gap) calc_all_physical calc_physical calc_physical motorpos1&2 move

  12. TANGO Collaboration Meeting. September 5, 6 2006 Example use casemove pseudo motor Last known “physical” motor positions double pos1 double pos2 m [in]: n “pseudo” motor positions m last known “physical” motor positions [out]: m “physical” motor positions . . . “Pseudo” motor position double posm double pos Parameters “physical” motor context Pseudo Motor p1 Motor1 Python Pseudo Calc p2 Motor2 k m . . . . . . pk Motorm double pos1 calc_physical double pos2 m “physical” motor positions . . . double posm

  13. TANGO Collaboration Meeting. September 5, 6 2006 Thank you • Jörg Klora jorg.klora@cells.es • David Fernández dfernandez@cells.es • Randolf Butzbach rbutzbach@cells.es • Emmanuel Taurel etaurel@cells.es • Tiago Coutinho tcoutinho@cells.es

More Related