1 / 17

BLU-ICE & The Distributed Control System Past, Present, and Future

BLU-ICE & The Distributed Control System Past, Present, and Future. Scott McPhillips Stanford Synchrotron Radiation Laboratory. Overview. Review the core features DCS 1.0: Centralized Message Routing Architecture DCS 2.0: Scripted Devices DCS 3.0: Scripted Operations Example Applications

clancy
Télécharger la présentation

BLU-ICE & The Distributed Control System Past, Present, and Future

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. BLU-ICE & The Distributed Control SystemPast, Present, and Future Scott McPhillipsStanford Synchrotron Radiation Laboratory

  2. Overview • Review the core features • DCS 1.0: Centralized Message Routing Architecture • DCS 2.0: Scripted Devices • DCS 3.0: Scripted Operations • Example Applications • Automatic Loop Alignment • Data Collection • Crystal Screening • Plans for releasing DCS 3.0

  3. What is a core feature? • Features that could persist in a completely different environment. • Features that simplify hardware control & integration.

  4. DCS 1.0: Software Components & Acronyms • XOS (Cross Operating System library) • Provides subset of system calls with O.S. independent API. • BLU-ICE (the GUI interface) • Multiple, fully synchronized clients • Written in TCL. • Simple scripting available. • Scans • Hardware testing • DHS (Distributed Hardware Servers) • Translates DCS protocol into hardware specific protocol. • DCSS (The Distributed Control System Server) • Centralized process • 1 DCSS per beam line.

  5. DCS 1.0: Basic Architecture BLU-ICE(s) • DCSS is the central message router • BLU-ICE clients connect to DCSS only. • Hardware servers connect to DCSS only. • DCSS records the state of the beam line. • Benefits • Fewer interfaces / less complexity. • Easier system level debugging? • Persistent & current state available in 1 place. DCSS Hardware Servers Beam Line Hardware

  6. table_pivot table_vert table_pitch Table table_vert_2 table_vert_1 DCS 1.0: Limitations BLU-ICE(s) • Combo motors not support natively in DCS 1.0. • Requires lower level control system to support these features. DCSS ICS Wrapper DHS Galil DHS ICS control system Beam Line Hardware

  7. DCS 2.0: Scripted Devices BLU-ICE • TCL Scripting added to DCSS. • DCSS sits above all of the hardware servers. • Relationships can be defined between devices spanning multiple hardware servers. DCSS TCL Scripting Engine Core • Scripting engine obeys and depends upon centralized messaging. • Connects as “GUI client.” • Connects as a DHS. Hardware Servers Beam Line Hardware

  8. table_pivot table_vert table_pitch Table table_vert_2 table_vert_1 DCS 2.0: Scripted Devices • Support for unlimited parent and “grandparent” hierarchy. beam_size_y slit_1_vert_gap slit_2_vert_gap slit_1_upper slit_1_lower slit_2_upper slit_2_lower • Virtual motor support (e.g. table_pivot)

  9. DCS 3.0: Operations • Added a generic “Operation” message to the DCS protocol. • Allows easy integration of new types of hardware. • DCSS routes the operation request to the responsible DHS. • Added “scripted operation” capabilities to the scripting engine. • Scripted operations can • do anything possible in TCL. • move motors or scripted devices. • wait for motors to complete moving. • Start other operations (DHS or scripted). • wait for operations to complete. • Scripted devices can start operations. • DCS protocol messages are unlimited in size. • Removed the 200 byte message size limitation. • DCSS is backward compatible with old hardware servers.

  10. DCS 3.0: Example Application #1 Automatic Loop Alignment BLU-ICE • Wrote “camera” DHS with operations for retrieving and processing images. • “getLoopTip” will return image coordinates of tip of sample. • “addImageToList” takes a picture and stores it in memory. • “findBoundingBox” looks at images in memory and finds 3D bounding box for loop. • Wrote Scripted Operation “centerLoop.” • Calls the “camera” DHS operations. • Moves motors. • Script handles the high level centering decisions. Center loop DCSS centerLoop Image operations Move motors Camera DHS Motor DHS Axis Server Motion controller Sample camera

  11. DCS 3.0: Example Application #2: Data Collection collectRun collectFrame gonio_phi detector_z_corr optimizedEnergy Legend • collectRun operation does the following: • Moves motors to the next frame’s position. • Waits for the motors. • Starts the operation “collectFrame”. • Waits for the collectFrame operation to complete. • Loops over the above steps until the run is finished. Scripted Device Scripted Operation “Real” hardware

  12. DCS 3.0: Example Application #2: Data Collection collectRun collectFrame gonio_phi detector_z_corr detector_encoder detector_z optimizedEnergy optimize Legend energy Scripted Device table_vert Scripted Operation ion_chambers “Real” hardware

  13. DCS 3.0: Example Application #2: Data Collection collectRun collectFrame gonio_phi detector_z_corr detector_encoder detector_z optimizedEnergy optimize Legend energy Scripted Device table_vert table_slide Scripted Operation ion_chambers mono_angle “Real” hardware table_horz_2 table_horz_1 table_vert_1 table_vert_2

  14. DCS 3.0: Example Application #2: Data Collection collectRun collectFrame gonio_phi expose detector_z_corr detector gonio_phi detector_encoder detector_z optimizedEnergy optimize Legend energy Scripted Device table_vert table_slide Scripted Operation ion_chambers mono_angle “Real” hardware table_horz_2 table_horz_1 table_vert_1 table_vert_2

  15. DCS 3.0: Example Application #3: Crystal Screening Crystal Screening centerLoop optimizedEnergy Video Snapshot collectFrame Mount Next Crystal Legend Beamstop_z Scripted Device Sample_x,y,z Scripted Operation Gonio_phi detector_z robot “Real” hardware

  16. DCS 3.0+: Development Environment • All code stored in CVS (Concurrent Version System) • External collaborators can see what is being worked on at SSRL. • Absorb architecturally consistent changes from external collaborators. • Open the software portions of Bugzilla to external Collaborators? • Engineering change requests already being tracked at SSRL. • Create an online discussion group? • Allow collaborators to discuss design changes, problems, and solutions without opening a bug report. • Documentation • DCS Administrator’s Manual • Script Writer’s Guide

  17. Acknowledgements • Developers • Tim McPhillips, Guenter Wolf, Henry van den Bedem, Ken Sharp, Nick Sauter, Jian Zhong, Hilary Yu, Thomas Eriksson • Scientific Input • Paul Ellis, Aina Cohen, Ana Gonzalez, Mitch Miller, Irimpan Mathews, Dan Harrington, Ezequiel Panepucci, John Coller, Hsiu-Ju Chiu, Ashley Deacon, Paul Phizackerley, Jeanette Hobbs, Linda Brinen • Team Leaders • Peter Kuhn, Mike Soltis

More Related