Blu ice the distributed control system past present and future
This presentation is the property of its rightful owner.
Sponsored Links
1 / 17

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


  • 102 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


BLU-ICE & The Distributed Control SystemPast, Present, and Future

Scott McPhillipsStanford 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

    • Automatic Loop Alignment

    • Data Collection

    • Crystal Screening

  • Plans for releasing DCS 3.0


What is a core feature?

  • Features that could persist in a completely different environment.

  • Features that simplify hardware control & integration.


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.


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


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


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


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)


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.


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


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


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


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


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


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


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


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


  • Login