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


  • 98 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 system past present and future

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

Scott McPhillipsStanford Synchrotron Radiation Laboratory


Overview

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

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

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

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


Dcs 1 0 limitations

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

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


Blu ice the distributed control system past present and future

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

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

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


Blu ice the distributed control system past present and future

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


Blu ice the distributed control system past present and future

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


Blu ice the distributed control system past present and future

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


Blu ice the distributed control system past present and future

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


Blu ice the distributed control system past present and future

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

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

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