1 / 36

Diamond Light Source Data Acquisition System (GDA) flexes its muscles

Presented by Paul Gibbons PhD. GDA Team Manager but the work of many others. Many slides provided by GDA Team Members. Diamond Light Source Data Acquisition System (GDA) flexes its muscles. Current Teams At Diamond Bill Pulford (Head) ‏ Diamond Data Acquisition Team Jun Aishima

skylar
Download Presentation

Diamond Light Source Data Acquisition System (GDA) flexes its muscles

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. Presented by Paul Gibbons PhD. GDA Team Manager but the work of many others. Many slides provided by GDA Team Members Diamond Light Source Data Acquisition System (GDA) flexes its muscles paul.gibbons@diamond.ac.uk

  2. paul.gibbons@diamond.ac.uk Current Teams At Diamond Bill Pulford (Head)‏ Diamond Data Acquisition Team Jun Aishima Paul Gibbons Vasanthi Nagalingam Eric Ren Tobias Richter Rob Walton Richard Woolliscroft Fajin Yuan Diamond Scientific Software Alun Ashton Mark Basham Karl Levik • SRS Staff • Greg Diakun (Head)‏ • Geoff Mant • Paul Stephenson • Karen Ackroyd • Glenys McBain • Steve Kinder • Christine Ramsdale • Mike Miller Past Diamond Staff Stuart Campbell Adrian Mirea Matt Pearson Paul Quinn Stuart Robinson

  3. How do we use the beam line to get an electron density map of a protein? paul.gibbons@diamond.ac.uk

  4. User Login Sample Identification Initial data collection to characterise sample. Data collection Data processing Store all artefacts in database for remote access Repeat automatically for many samples. A complete experiment requires: paul.gibbons@diamond.ac.uk

  5. Macromolecular Crystallography Non-crystalline diffraction EXAFS Crystalline Diffraction Surface Science Tomography ( soon )‏ Range of Experiments supported by GDA paul.gibbons@diamond.ac.uk

  6. At Diamond we delegate the tasks User Office / Pre-experiment facilities ( ICAT, ISPYB)‏ GDA – GUI & Experiment Logic EPICS – software abstraction of hardware & fast scanning. ‘Post’ Analysis + data storage paul.gibbons@diamond.ac.uk

  7. Hardware Representation in GDA XPS Motor Controller 'Soft' motor Delta-Tau Motor Controller EPICS -Motor Record Detector EpicsMotor AbstractMotor Jython object GDA - Scannable paul.gibbons@diamond.ac.uk

  8. paul.gibbons@diamond.ac.uk GDA Interfaces • Motor • Detector • ADC • Amplifier • BPM • CurrentAmplifier • Digital IO • Temperature Controller • Scannable

  9. paul.gibbons@diamond.ac.uk I18 Beamline Components Multilayer EPICS Ion Chambers Vortex MCA Corba GDA Server GDA Client Photonic CCD Image Pro XsPress2 Jython Scripts Detectors

  10. paul.gibbons@diamond.ac.uk Gui sends parameters and script name to Jython Interpreter for execution on server. Parameters from GUI or other script Send message to GUI & log Perform Scan Exception handling

  11. paul.gibbons@diamond.ac.uk MX - Sample Control

  12. paul.gibbons@diamond.ac.uk MX - Experiment control

  13. paul.gibbons@diamond.ac.uk MX – Fluorescence Scan

  14. paul.gibbons@diamond.ac.uk Spectroscopy I18

  15. paul.gibbons@diamond.ac.uk Exafs Scan

  16. Non-crstalline diffraction GUI closely integrates the detector suite: • Rapid2D • HotWAXS • HotSAXS • TFG2 That is important for: • short time experiments • targeted user community

  17. Data Analysis Features • plugin system for external Java software • user assisted q calibration • data visualisation • live view of incoming detector data upcoming: more analysis features

  18. paul.gibbons@diamond.ac.uk

  19. paul.gibbons@diamond.ac.uk

  20. paul.gibbons@diamond.ac.uk

  21. paul.gibbons@diamond.ac.uk • Jython Interpreter allows users to easily write very powerful experiment scripts.

  22. paul.gibbons@diamond.ac.uk Scan - PseudoDevice Get value Set value scan value

  23. paul.gibbons@diamond.ac.uk Scanning & reading data

  24. paul.gibbons@diamond.ac.uk I16 Hardware / Experiments • Six circle diffractometer • Five point and two Pilatus detectors. • Goodies: • Incident polarisation selection • Reflected polarisation analyser • Sample coolers and magnets • Wide range of diffraction experiments • Command line control only • Scan command… • Temporary scripts… • Pilatus GUI…

  25. paul.gibbons@diamond.ac.uk Illustrative Scans • Versatile system of 1) Interchangeable Scannables: slits, phi, energy, hkl, ct, pil 2) Scan command • Examples: • Scan to keep still • One-night-only scannable > scan energy 5.95 6.05 .0005hkl [1 0 1]pol 90 ct 1 > voltage = 1.54 > scan energy 5.95 6.05 .0005flipper [voltage 20 2]

  26. paul.gibbons@diamond.ac.uk Illustrative Experiment Script Algorithm Script (night24sept08a.py)‏ 1) Find a reflection’s exact hkl position 2) Move phi in loop: b) occasionally recentre on reflection i) centre eta on reflection ii) centre chi on reflection iii) store hkl position c) move to hkl position d) loop polarisation i) scan eta & read ct posHkl = [0,0,2] pos hkl posHkl for posPhi in frange(-90, 90, 1): pos phi phiPos if posPhi%45==0: scancn theta .02 40 t 2 checkbeam pos eta FindScanPeak('APD')['eta'])‏ scancn chi .02 40 t 2 checkbeam pos chi FindScanPeak('APD')['chi'])‏ posHkl = hkl()‏ pos hkl hklPos pos pp111 [en() -.075] scancn eta .02 40 ct 2 en pp111 pos pp111 [en() +.075] scancn eta .02 40 ct 2 en pp111

  27. paul.gibbons@diamond.ac.uk > scan phi 0 1 .1pil 10 > pos pil 10 Pilatus 2M

  28. paul.gibbons@diamond.ac.uk Combining Jython with EPICS objects • Easy to use • High level language • Combine EPICS devices together to make full experiment with speed of execution of EPICS. • Hardware interface is robust to user error

  29. paul.gibbons@diamond.ac.uk Epics Interface

  30. paul.gibbons@diamond.ac.uk So What Next • More sophisticated script functions for diffractometers • Support more complex EPICS devices e.g. motor controller trajectory scan object. • Re-factor to allow third party interfaces and objects. • Role Based Access • Remote Access • Eclipse RCP

  31. paul.gibbons@diamond.ac.uk • The Eclipse framework is a mechanism for hosting various software written by different organisations to work together to create a single application. • Allows more structured development on GDA as plugins. Breaks large monolithic structure into separately developed components. • Professional looking product – context sensitive help, auto-completion. • Make use of plugins written by others e.g. IDL visualisation plugins.

  32. paul.gibbons@diamond.ac.uk Main Panels now Eclipse Views

  33. paul.gibbons@diamond.ac.uk PyDev plugin used to provide script editor and console with context sensitive help.

  34. paul.gibbons@diamond.ac.uk Eclipse cheat sheets guide user interactively.

  35. paul.gibbons@diamond.ac.uk Putting it all together as a complete experiment application.

  36. paul.gibbons@diamond.ac.uk Collaboration Options with GDA • GDA is soon to be made OpenSource and structure as a small core with a set of shareable plugins. • Python code is to be written using interfaces to GDA allowing it to be used outside of GDA. e.g hkl system for driving diffractometers. • Eclipse RCP is by definition a collaborative project – at plugin creation or simple plugin sharing level.

More Related