877743b9253a58651c1bf1fdab18e21f.ppt
- Количество слайдов: 15
Status of Blu. Ice-EPICS beamline control system for macromolecular crystallography Sergey Stepanov, Oleg Makarov, Mark Hilgart, Sudhir Pothineni, Derek Yoder, Nagarajan Venugopalan, and Robert Fischetti GM/CA CAT at the Advanced Photon Source, Biosciences Division of Argonne National Laboratory, USA NOBUGS’ 2008
GM/CA CAT Control system: Blu. Ice-EPICS GM/CA CAT layout: two canted-undulator ID beamlines and one BM beamline at APS Sector 23, all dedicated to macromolecular crystallography. Blu. Ice-EPICS: project started in 2003 Motivation: Preserve commonly praised user interface of SSRL Blu. Ice, but make it efficiently working with EPICS hardware. Canted undulator beamlines Hardware: PMAC VME motion controllers for all motors; Struck scalers, Canberra MCA for fluorescent detectors, MAR CCD, bimorph mirrors power supplies by Elettra, EPS by Accel, ALS-style sample robot, ADC, DAC & Digital I/O by Acromag, PMAC, Systran, Hy. Tec & XYcom. All hardware is EPICS driven (in house drivers for PMAC, ALS-style robot, Hy. Tec, XYcom & partially MAR CCD). Additionally Axis and IQEYE web cameras (non-EPICS). NOBUGS’ 2008
Architecture of the original SSRL Blu. Ice The original Blu. Ice is 3 -layer system with socket communications between the layers. The DCSS is a central “coordinator” that is supposed to know everything about the beamline status. DHS The GUI is written in Tcl/Tk and the rest in C/C++. DHS Distributed Hardware Servers (DHS) DCSS Distributed Control System Server (DCSS) User Interface Clients (Blu. Ice) NOBUGS’ 2008
Blu. Ice-EPICS application details my. SQL initialization Combined DHS-DCSS C++ backend Embedded EPICS I/O controllers: Motion Shutter Scaler MCA PV channel access EPICS IOC(s) q Three SSRL Blu. Ice layers merged into one: EPICS DHS merged with DCSS into a single C++ backend controller and furthermore the combined controller merged with the GUI and socket calls from the GUI converted into function calls (the calls format was preserved) q Initialization through my. SQL and exchange between different GUI instances via EPICS PVs q Each GUI is standalone MEDM-like EPICS client NOBUGS’ 2008
Place of Blu. Ice-EPICS application among other controls Staff beamline automation tasks MEDM Scan software Blu-Ice interfaces for beamline users Automation Scripts channel access my. SQL initialization Embedded EPICS I/O controllers EPICS IOC(s) motors CCD electronics: Bimorph APS controls: -undulator scalers, mirrors -ring status digital I/O control - EPS, etc. DAC, ADC Robot Each Blu. Ice is a standalone EPICS client (like MEDM!) NOBUGS’ 2008
Blu. Ice-EPICS GUI core tabs Hutch Sample Raster Collect Screening Scan Older tabs are in Tcl/Tk, newer tabs are in Java. The plan is to convert all tabs into Java. NOBUGS’ 2008
Blu. Ice-EPICS: tabs added since NOBUGS’ 2006 SAMPLE SCREENING RASTERING (minibeam) LOGS NOBUGS’ 2008
Blu. Ice-EPICS: outsourcing complex controls to helpers my. SQL initialization Rack of helpers Frame Server Edge Scans Server Point & Click Server 2006 Robot Server 2008 Sample Autocentering Embedded EPICS I/O controllers Keithley Server Frame audit Big energy move Embedded EPICS I/O controllers channel access EPICS IOC(s) Minibeam alignment Collimator In/Out BL Feedback Server Fluor. Rastering Server Fluor. detector tune ØHelpers include SNL-like servers and external scripts that interact with Blu. Ice via PVs; some also share my. SQL initialization. ØEach helper is an independent module that can be written in any language without knowledge of the main Blu. Ice application. ØThey widen base of developers: use SNL, C, Java, Perl, Tck/Tk… NOBUGS’ 2008
How Blu. Ice-EPICS helpers work: big energy moves No Blu. Ice: is |ΔE| > 0. 5 Ke. V? Drive energy Frame Server: directly in Blu. Ice Yes Call external script Big. Energy. Move. pl script: Pauses BL intensity feedback server Changes undulator harmonic and PMAC: offset, if needed Changes mirrors lanes, if needed Frame Server: Changes filters to preserve beam attenuation Re-centers the beam & restarts intensity feedback server Reports to Blu. Ice log window & popsup dialog messages if needed. NOBUGS’ 2008
How Blu. Ice-EPICS helpers work: frame processing engine EPICS DB for Frame Server Tells PMAC via EPICS CA at what angles it should open/close shutter Frame Server: Tells CCD via socket what should be the frame name and starts collection Tells PMAC via CA to start gonio motion from A to B. PMAC: Frame Server: PMAC MAR CCD Gonio Executes motion & shutter open/close commands Waits for PMAC to finish (CA monitor) Commands CCD via CA to stop integration and save file Shutter Gonio-shutter sync in PMAC! NOBUGS’ 2008
Remote beamline control • Same NOMACHINE technology as at many other facilities • Two computers open per beamline (one for data collection & one for processing) • Extra controls for remote operation in Blu. Ice Todd Geders using remote controls at U. Michigan Compliance with Argonne’s enhanced security requirements: access is restricted not only to the time of an experiment and specified user name, but also to a list of IP domains from which users work. NOBUGS’ 2008
Mini beam support q Switch between 5μm, 10μm & 300μm collimators in one click q Fast minibeam alignment with on-the-fly piezo scans q Scanless optical minibeam alignment with YAG q Tool for fast optimization of bimorph mirrors focus NOBUGS’ 2008
Blu. Ice-EPICS development practices q Collect users feedback through end-of-run reports (if only one improvement. . ) q Discuss and prioritize at weekly group meetings q Bugs list queue and new features queue q Typically a week of testing by staff crystallographers before releasing to users q Big changes on shutdowns only q Use BM beamline as a test bed (no simulated hardware yet) q Version tracking with Subversion q Documentation on Group Wiki and video guides for users q Weekly snapshots at http: //www. gmca. aps. anl. gov/bluice-epics/ NOBUGS’ 2008
Blu. Ice-EPICS source code Current Developers: Tcl/Tk GUI 45 K LOC Mark Hilgart Oleg Makarov Sudhir Pothineni Sergey Stepanov C++ 50 K LOC Helpers: 110 K LOC DCSS/DHS Former Developers: Satish Devarapalli Alex Urakhchin channel access EPICS IOC(s) Blu. Ice/Helpers ~ 50/50 The application is Open Source. The core source is tracked with Subversion and weekly snapshots are posted at http: //www. gmca. aps. anl. gov/bluice-epics/ NOBUGS’ 2008
Acknowledgements GMCA CAT Staff: - Janet Smith (GMCA CAT director) - Craig Ogata (crystallographer) - Nukri Sanishvili (crystallographer) - Michael Becker (crystallographer) - Shenglan Xu (engineer) - Richard Benn (engineering assistant) - Stephen Corcoran (engineering assistant) - Sheila Trznadel (administrative specialist) SSRL: - Scott Mc. Phillips - Mike Soltis ALS: - Thomas Earnest - Carl Cork - Nick Sauter Scripps: - Peter Kuhn GM/CA CAT has been financed with federal funds from the National Cancer Institute (Y 1 -CO-1020) and the National Institute of General Medical Science (Y 1 -GM-1104). NOBUGS’ 2008
877743b9253a58651c1bf1fdab18e21f.ppt