Generic Data Acquisition (GDA) Richard Fearn Data Acquisition Diamond Light Source.

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
Advertisements

Introduction Main technologies: core written in Java embedded Jython interpreter code managed using the Eclipse plugin framework client program uses Eclipse.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
Synera The Software That Thinks Like You Do Synera Technical Presentation.
The Operating System. What is an Operating System? The software which makes it possible for you to use your computer The software which starts up when.
Review of Databases, Server-side Scripting. Databases Database Database Modeling Relational Data Model Object oriented Database Entity Relationship Diagrams.
Technical Architectures
A SOLUTION: 2X REMOTE APPLICATION SERVER. 2X REMOTE APPLICATION SERVER.
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
27-Jun-15 Rails. What is Rails? Rails is a framework for building web applications This involves: Getting information from the user (client), using HTML.
Connecting AreaDetector to GDA John Hammonds Software Services Group Advanced Photon Source The submitted manuscript has been created by UChicago Argonne,
Chapter 14 Database Connectivity and Web Technologies
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
* SOFTWARE * Computer software, or just software, is a collection of computer programs and related data that provides the instructions. It can not be touched.
UNIT-V The MVC architecture and Struts Framework.
Client/Server Architectures
Agenda Adaptation of existing open-source control systems from compact accelerators to large scale facilities.
DIANE Overview Germán Carrera, Alfredo Solano (CNB/CSIC) EMBRACE COURSE Monday 19th of February to Friday 23th. CNB-CSIC Madrid.
Scan System Kay Kasemir, Xihui Chen Jan Managed by UT-Battelle for the U.S. Department of Energy Automated Experiment Control “Scan” should be.
Scan System: Experiment Automation Kay Kasemir, Xihui Chen RAL EPICS Meeting, May 2013.
UNIX SVR4 COSC513 Zhaohui Chen Jiefei Huang. UNIX SVR4 UNIX system V release 4 is a major new release of the UNIX operating system, developed by AT&T.
The Sardana device pool for SPEC lovers - BLISS Seminar - January 15, 2007 The Sardana device pool for SPEC lovers BLISS Seminar January 15, 2007 Tiago.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Automatic Generation Tools UNICOS Application Builder Overview 11/02/2014 Ivan Prieto Barreiro - EN-ICE1.
GumTree Feature Overview Tony Lam Data Acquisition Team Bragg Institute eScience Workshop 2006.
STAC usage at Diamond Richard Fearn Software Engineer.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
The CSS Scan System Kay-Uwe Kasemir SNS/ORNL Dec
Managed by UT-Battelle for the Department of Energy Kay Kasemir ORNL/SNS Jan Control System Studio, CSS Overview.
Final Review of ITER PBS 45 CODAC – PART 1 – 14 th, 15 th and 16 th of January CadarachePage 1 FINAL DESIGN REVIEW OF ITER PBS 45 CODAC – PART 1.
Verified Network Configuration. Verinec Goals Device independent network configuration Automated testing of configuration Automated distribution of configuration.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Australian Nuclear Science & Technology Organisation GumTree A Java Based GUI Framework for Beamline Experiments Tony Lam (ANSTO) Andy Götz (ESRF) Ferdi.
Petra III Status Teresa Núñez Hasylab-DESY Tango Meeting DESY,
Controlling Computer Using Speech Recognition (CCSR) Creative Masters Group Supervisor : Dr: Mounira Taileb.
Project Database Handler The Project Database Handler is a brokering application that mediates interactions between the project database and the external.
07/10/2007 VDCT Status Update EPICS Collaboration, October 2007 Knoxville, Tennessee
Comanche A GUI management tool for Apache Daniel López Ridruejo
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Australian Synchrotron Mature GUI’s for protein crystallography beamlines Julian Adams.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Features of JAS Plots Plots update in real time. Data for plots can be local or remote (use Java RMI to connect to JAS Data Server). Rich variety of styles.
Third International Workshop on Networked Appliance 2001 SONA: Applying Mobile Agent to Networked Appliance Control S.Aoki, S.Makino, T.Okoshi J.Nakazawa.
Migrating Desktop Uniform Access to the Grid Marcin Płóciennik Poznan Supercomputing and Networking Center Poznan, Poland EGEE’07, Budapest, Oct.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Diamond Light Source Data Acquisition System Paul Gibbons.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 RIC 2009 Symbolic Nuclear Analysis Package - SNAP version 1.0: Features and Applications Chester Gingrich RES/DSA/CDB 3/12/09.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Chapter 4. CONCEPT OF THE OPERATING SYSTEM MANAGING ESSENTIAL FILE OPERATIONS.
The Holmes Platform and Applications
What Do Computers Do? A computer system is
.NET Omid Darroudi.
Overview of TANGO Control system
JRA2: Acceptance Testing senarious
SOFTWARE and OPERATING SYSTEM.
Distributed web based systems
CO6025 Advanced Programming
Complete 1z0-161 Exam Dumps - Pass In 24 Hours - Dumps4download.us
Computer Software CS 107 Lecture 2 September 1, :53 PM.
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Bina Ramamurthy Chapter 9
NICOS – IBEX Interactions
Diamond is all about data…
Windows Operating System
Plug-In Architecture Pattern
Presentation transcript:

Generic Data Acquisition (GDA) Richard Fearn Data Acquisition Diamond Light Source

Outline ● What is the GDA? ● Technologies and architecture ● Scripting ● Configuration ● Demo

What is the GDA? ● Synchrotron control and data collection software ● Developed jointly by: ● Synchrotron Radiation Computing Group (SRCG) at Daresbury ● Data Acquisition Group (DASC) at Diamond

Aims ● Single software framework for all beamlines ● Consistent look and feel ● Processor and operating system independent ● Modular and flexible ● Easily configurable and customisable ● Includes scripting interface ● Interact with third-party hardware and software

Technologies ● Java 6 ● Jython scripting language ● XML configuration ● CORBA ● Many open-source components ● Castor, JacORB, Spring, JScience, Logback...

Architecture GUI Jython terminal Script editor Object Server Jython interpreter Device drivers and controllers Hardware EPICS, socket,... CORBA

Sample control

Experiment control

Data analysis

Scripting ● Jython interpreter embedded in server ● Simple, easy-to-learn syntax ● Allows use of Java libraries ● GUI includes: ● Terminal window for command line interface ● Script editor

Scripting: extended syntax ● Jython interpreter includes a translator ● Instead of: ● pos(myMotor, 10) ● Can type: ● pos myMotor 10

Jython terminal

Scanning ● Many objects are scannables ● detectors, motors,... ● support setting/reading position ● actions performed before/after scan ● 1D scan scan x ● 2D scan scan x y

Example script print “Moving slits...” oldSlitPosition = s1xgap()‏ pos s1xgap 0 print “Opening shutter...” pos shtr1 1 print “Performing first scan...” scan cryox counterTimer01 1 print “Performing second scan...” scan cryox counterTimer01 1 print “Closing shutter...” pos shtr1 0 print “Returning slits to old position...” pos s1xgap oldSlitPosition print “SCRIPT COMPLETE”

EPICS integration class SimpleEpicsScannable(PseudoDevice): def __init__(self, name, pvName): self.name = name self.pvName = pvName self.ca = CAClient()‏ def isBusy(self): return 0 def getPosition(self): return float(self.ca.caget(self.pvName))‏ def asynchronousMoveTo(self,new_position): self.ca.caput(self.pvName)‏

Configuration (1) ● XML used to configure GDA ● EPICS interface provided by Controls ● Server XML file ● Specifies motors, detectors, Jython interpreter, etc. ● Client XML file ● Defines panels that appear in the GUI ● Logging configuration

Configuration (2) ● Until now: ● Schema used to validate XML files ● Castor used to create/initialise objects ● Beginning to use Spring ● Increases modularity of GDA ● Allows third parties to add objects

Remote access ● Users increasingly want to carry out experiments remotely ● GDA allows remote access ● Client includes a 'baton' that users can exchange

Open source ● GDA will soon be open source ● Probably using GPL ● Encourage collaboration ● Third parties can develop their own plugins

Demo

Questions?