Deutsches Elektronen-Synchrotron DESY Helmholtz Association of German Research Centres 22603 Hamburg, Germany www.xfel.net The European X-Ray Laser Project.

Slides:



Advertisements
Similar presentations
Wir schaffen Wissen – heute für morgen A.C.Mezger, Paul Scherrer Institut, Switzerland caQtDM, an EPICS display manager with Qt Paul Scherrer Institut.
Advertisements

Control System Studio (CSS) Data Access Layer (DAL) Kay Kasemir, Xihui Chen July 2009.
Jan Hatje, DESY AMS – Alarm Management System PCaPAC AMS – Alarm Management System and CSS – Control System Studio Update PCaPAC 2008 J.Stefan Institute,
Introduction Main technologies: core written in Java embedded Jython interpreter code managed using the Eclipse plugin framework client program uses Eclipse.
Introduction to Eclipse plugin development for CSU 670 course project, Selector language (Xaspect) editor plugin implementation.
Visual Designer for JasperReports
Goals Give you a feeling of what Eclipse is.
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Kay Kasemir, Matthias Clausen, SNS,DESY EcliseCon March 2008 EclipseCon, SLAC visit March.
Next Generation MMI Requirements May 4, MMI - High Level Requirements run under UNIX and Windows NT (WNT) use a well defined ASCII definition for.
Matthias Clausen, DESY CSS GSI Feb. 2009: Introduction XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control System.
Eclipse Architecture Dwight Deugo Nesa Matic
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
Eclipse Introduction Dwight Deugo Nesa Matic
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Guide To UNIX Using Linux Third Edition
1 Chapter 20 — Creating Web Projects Microsoft Visual Basic.NET, Introduction to Programming.
Lesley Bross, August 25, 2010 ArcGIS 10 Add-In Components and Controls.
Supervisor: Victor Kulikov Oded Duek Aviv Grinblat Final presentation Spring 2010.
Control System Studio (CSS)‏ Kunal Shroff EPICS Training Meeting 07/10/2010.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Microsoft Visual Basic 2005: Reloaded Second Edition
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
GumTree The Scientific Workbench ~Technology Showcase~ Tony Lam Australian Nuclear Science and Technology Organisation.
Jan Hatje, DESY CSS ITER March 2009: Alarm System, Authorization, Remote Management XFEL The European X-Ray Laser Project X-Ray Free-Electron.
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
Writing Widgets & Custom Script API for BOY Xihui Chen
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Matthias Clausen, DESY XFEL Refrigerator Controls – April CSS-DCT (SNL) Training.
Matthias Clausen, DESY CSS GSI Feb. 2009: Introduction XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control System.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Workbench Overview Dwight Deugo Nesa Matic
XFEL The European X-Ray Laser Project CSS Core Meeting Introduction into CSS DESY, August 7, 2006 Matthias Clausen MKS-2.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
ICALEPCS, “jddd” a Java DOOCS Data Display for the XFEL Editor for a Graphical User Interface of DOOCS & TINE and Runtime Engine Elke Sombrowski.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
Control System Studio (CSS) Overview Kay Kasemir, July 2009.
Selected Topics in Software Engineering - Distributed Software Development.
Prachi Chitnis.  The CSS feel  SDS – Synoptic Display Studio  ADL Converter  PV table, Probe…
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Matthias Clausen, DESY CSS – Control System Studio TINE User Meeting 1 CSS – Control System Studio TINE Users Meeting DESY 5 th December 2008 Matthias.
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Matthias Clausen, DESY XFEL Refrigerator Controls – April CSS Core Applications.
Jan Hatje, DESY CSS GSI Feb. 2009: Alarm System, Authorization, Remote Management XFEL The European X-Ray Laser Project X-Ray Free-Electron.
XFEL The European X-Ray Laser Project Status quo of CSS André Grunow C1-WPS GmbH.
CSS – Control System Studio
XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser Matthias Clausen, DESY XFEL Refrigerator Controls – April CSS Introduction 2 nd.
24. March 2006 SLAC Workshop Control System Studio1 CSS Control System Studio Report on the current state Matthias Clausen DESY.
Matthias Clausen, DESY CSS GSI Feb. 2009: Synoptic Display Studio and ArchiveBrowser XFEL The European X-Ray Laser Project X-Ray Free-Electron.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
A XML 1 An XML Driven Graphical User Interface and Application Management Toolkit Matthias Clausen (DESY & SLAC) Piotr Bartkiewicz (DESY & FPNT/AGH) Alexei.
Not Yet Another EPICS Display Manager!? Kay Kasemir, Xihui Chen Kobe EPICS Meeting October.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
Introduction 1 Lars Vogel 4/22/2009.  Who am I?  Eclipse as a platform  What is Eclipse RCP?  Extension Points / Extensions  Equinox  SWT & JFace.
Matthias Clausen, Jan Hatje, DESY CSS Overview – Alarm System and Management CSS Overview - GSI, 11 Februrary CSS Overview Alarm System and CSS.
Applications Kay Kasemir ORNL/SNS Using Information and pictures from Matthias Clausen, Jan Hatje, and Helge Rickens (DESY) October 2007.
Jan Hatje, DESY SNL Editor and Debugger EPICS collaboration meeting SNL Editor and Debugger EPICS collaboration meeting 2008 Shanghai Institute.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
Matthias Clausen, DESY EPICS Training – Client Tools/ CSS EPICS collaboration meeting EPICS Training Client Tools EPICS collaboration meeting 2008.
Developing GUIs With the Eclipse Visual Editor, Swing/AWT Edition David Gallardo.
CSS Synoptic Display Comments Kay Kasemir, July 2009.
BOY, A Modern Graphical Operator Interface Editor and Runtime Xihui Chen, Kay Kasemir RAD Control Group.
ECLIPSE RICH CLIENT PLATFORM Part 1 Introduction.
Qt GUI and IDE development in EPICS
Working in the Forms Developer Environment
Goals Give you a feeling of what Eclipse is.
EPICS Training Client Tools
COSC-4840 Software Engineering
Presentation transcript:

Deutsches Elektronen-Synchrotron DESY Helmholtz Association of German Research Centres Hamburg, Germany The European X-Ray Laser Project XFEL X-Ray Free-Electron Laser Control System Studio (CSS) CSS New Widget Jan Hatje, Matthias Clausen, Markus Moeller, Helge Rickens DESY, Hamburg Synoptic Display Studio (SDS) Motivation Dm2kSDS Running only on Unix platformRunning on each platform providing a JVM Direct connection to Channel Access (EPICS)Control System independent because of DAL Adding new features is complicated (requires knowledge of the whole system) SDS APIs and abstract classes makes it easy to extend SDS Abstract The Synoptic Display Studio (SDS) is an application to create, manage and run displays for control systems. It will replace dm2k at DESY and is integrated in the operating system independent platform Control System Studio (CSS) based on Eclipse. All widgets of SDS (bar graph, meter, polygon, …) are separated components and are inherited from an abstract widget model. To add new widgets the developer has to extend the java classes of the abstract widget model supported by the eclipse extension mechanism. For the communication with the control system SDS uses the Data Access Layer (DAL) integrated in CSS. Therefore it is possible to show values of different control systems in the same display. The settings of a display are stored in XML format. SDS provides an editor with rich functionality to arrange and configure the widgets for a display. It is not necessary to have any programming knowledge to create displays. To reuse the current dm2k displays an ADL-Converter has been developed. It converts the adl files into XML files of SDS displays Widgets Common parts necessary for every widget are located in abstract classes of SDS. Therefore it is easy to add new widgets by extending just three classes and adding special features for the new widget. SDS is using the Model-View-Controller design pattern from the underlying framework GEF. Each class of a widget corresponds to one element: WidgetModel (Model) – Holds all available properties for the widget. WidgetFigure (View) – Sets appearance of the widget. WidgetEditPart (Controller) – Defines behavior for user actions and events. For each widget one or more initializers can be implemented. An initializer sets all default properties for each new widget created by the user on a display. In the preferences the type of initializer is selectable. ADL converter Each property of a widget can be dynamised. That means it is connected to a process variable (PV) and depends on the changing of the value. A very simple example is a dynamised text property showing the current value. The dynamisation of a property is indicated by a gear wheel. SDS Design Eclipse RCP CSS Core GEF/Draw2D SDS CSS App. Draw2dFigure NewWidgetFigure AbstractWidgetEditPart NewWidgetEditPart IWidgetModelNewWidgetModel SDS Workbench The SDS workbench is a combination of navigator, property view and the editor in CSS. It is offered as a CSS perspective. Navigator: shows all configuration files for SDS displays (and files for other CSS applications) organized in projects. It provides the standard Eclipse CVS support for revision control and group development of SDS displays. Dynamisation and Rules Action Alias WorkspaceEditor field Property View Widget palette SDS is built on Control System Studio (CSS) and the Graphical Editing Framework (GEF). CSS is a platform for any kind of control system applications. Like SDS CSS applications can be integrated as plugins in CSS. Because CSS is an Eclipse Rich Client Platform (RCP) it is operating system independent. The Eclipse open source project GEF and its part Draw2D provides an environment for layout, rendering and editing. Editor: shows a SDS display in editor mode. Unlike the run mode the channels are not connected to avoid accidentally updates. Functions like grid, ruler, alignment, match size for selected objects, … assist arrangement of widgets. On the right side of the editor is the widget palette with all available widgets. Property view: shows all properties of the currently selected widget in the editor. If more than one widget is selected only the common properties are displayed and can be changed for all widgets. ADL Converter is an application integrated in CSS for converting ADL in SDS displays. Control System PV 1 (Double) PV 2 (Double) DAL SDS Rule: Double → RGB Widget Color Property Widget Text Property Rules manipulate values from PVs before the dynamised widget property is updated. On the one hand rules are necessary to calculate a new value with another data type if the data types of PV an widget property is different. On the other hand with rules any manipulation or transformation is possible. There are two kinds of rules: Java rules are implemented as java classes in SDS plugins. To add or change java rules it is necessary to edit java code and build a new SDS application. Script rules are implemented as script files. Unlike java rules they are located in the workspace of CSS. Therefore the user is able to edit and create script rules in a running CSS instance. The disadvantage is the lower performance compared to java rules. Connection and Condition States can be visualized by every property of a widget. Each state is mapped to a special value of the property and shows the current status on the running SDS display. Like static widget properties the configuration of dynamisation and connection states can be set in initializers. EPICS Data Access Layer (DAL) EPICS PluginTINE PluginTANGO Plugin EPICS Plugin TINE EPICS Plugin CSS Plugin Data Access Layer (DAL) The Data Access Layer (DAL) is a layer to access dynamic data of control systems. It decouples the data access from the implementation for a specific control systems. DAL stores for each Process Variable (PV) characteristics to reduce the number of connections to the control system. Characteristics are meta data of PVs like resolution or display maximum. The DAL notation for a PV connection begins with the prefix for the control system. After the delimiter ‘://’ is the PV name. Optionally a characteristic can be added in brackets followed by the data type. In case a record is used frequently in a display or widget an alias can be defined for its name. To identify an alias it has to enclosed by character ‘$’. Aliases will be inherited to sub elements. E. g. aliases set for displays are available in all widgets and are overwritten if an alias with the same name is defined in a widget. With actions users can execute commands on displays in run mode. Actions are related to displays or widgets and will be inherited like aliases. There are two types of actions: Open as View/Shell: Open a new display from the workspace as a View or Shell. To reuse displays for similar facilities aliases can be passed to the new display. Send Value: Write a value to the control system.