1 / 22

Eclipse Control System Studio: Modern Control System GUI Development

Overcome limitations of current control system GUI tools with Eclipse-based Control System Studio, offering modern GUI features, plugin mechanisms, extensive APIs, and customization options. Explore sample applications, integration guidelines, and deployment choices.

jjessie
Download Presentation

Eclipse Control System Studio: Modern Control System GUI Development

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. Applications Kay KasemirORNL/SNS Using Information and pictures from Matthias Clausen, Jan Hatje, and Helge Rickens (DESY) October 2007

  2. Purpose • Overcome limitations of current control system GUI tools. • Inconsistent Look and Feel • Menus, configuration panels, online help • Data exchange = copy/paste of PV name • Using different mouse/keyboard gestures • Mostly X11/Motif • Dwindling support • Limited to EPICS • Many sites now need multi-protocol support

  3. Control System Studio • Based on Eclipse • Modern GUI framework:Window behavior, menus, preference pages, online help, … • Portable Java code (Win32, Linux, Mac OS) • Plugin mechanisms • Deployment options • Control System Studio adds… • Data types for Front-End Computer (FEC),Process Variable (PV), Live and archived data samples • APIs for accessing control system • Guidelines for integration into menu, online help, preferences, … • See Software Technology talk: Jan Hatje (DESY), "Control System Studio"

  4. Simple 'Probe' Example • Same Basic function • Enter PV name, see values. • CSS Version • Portable, uses nativeGTK/OS-X/MS Windows widgets • Localized • Window resizes • Drop-down list of recently entered PV names

  5. CSS/Eclipse Preferences • CSS apps use the Eclipse preference system • No environment variables, nor special setup files for each application • GUI • Pre-installed defaults, various levels • Not just for apps! • Also for libs like EPICS Channel Access support

  6. CSS/Eclipse Online Help • Eclipse offers online help system • CSS apps encouraged to contribute under one of the CSS categories

  7. CSS/Eclipse Version Info • Previous apps: Inconsistent version info. • In Eclipse, everything packaged as "plugin" with version info. • Common GUI for viewing installed versions.

  8. EPICS 'PV Tree' • CSS Application plugin for Eclipse that displays EPICS record data flow • Inputs of 'calc' record etc. • Descending recursively

  9. CSS Contributions to Eclipse Context Menus • Open context menu on PV, FEC, …, and get list of other CSS apps that handle PVs, FECs, … • Example: Open Probe on a channel name in the PV Tree. • Implementation: Eclipse "Object Contributions" • No compilation, no configuration when adding new application • Can filter on number of selected PVs etc.

  10. DESY Namespace Browser,Alarm Tree • CSS Application plugins for Eclipse that browse DESY LDAP server

  11. DESY Message Log Viewer

  12. DESY Alarm System, Namespaces,… • DESY Alarm System development would fill another talk. • Different sites may have very different namespace environments, and thus need to implement different tools. • Remember TCL/TK? • Based on CSS, these are automatically integrated with other tools • Same look & feel, preferences, online help • TCL/TK script could start StripTool, but:Try to teach StripTool about your script!

  13. Data Browser

  14. Data Browser Features • Combined "StripTool" and "Archive Viewer" • Eclipse Extension points for data sources • Live: EPICS • Archived: Channel Archiver, DESY AAPI, Archive Record • Data merged from multiple sources for same PV • Usability • Drop data onto… • Plot: new axis. • Axis: add PV to that axis • Change axis assignments, colors, ranges with fewer clicks than in existing EPICS StripTool or Archive Viewer

  15. CSS Samples • Markers indicate source • Live Sample? • Channel Archiver? • Archive Record? • Samples have 'quality' • Original sample • Interpolated Sample • Ideally, data server automatically switches from interpolated to original when zoomed in "far enough"

  16. Multiple Data Browser Instances

  17. Synoptic Display • EDM/MEDM-type display tool for multiple protocols • In early stages of usability, promisingideas • Everythingis dynamic • "Text Update"widget= Label with dynamic text

  18. Synoptic Display Example

  19. Integration & Deployment Options • Sites can package and deploy CSS components (and other Eclipse plugins) to suit their needs • Provide either … • empty CSS core, then download the desired application plugins • or prepackage desired components for your site as one application.

  20. CSS Startup Choices • Startup with login/password for your XMPP server • .. or workspace selector • .. or other site-specific authentication

  21. Customizable Welcome Screen • Different sites can customize depending on local needs.

  22. Conclusion • Eclipse offers a modern, portableapplication framework • CSS adds control-system specific APIs and guidelines • There are already several useful general-purpose CSS applications • You can add site-specific CSS applications • All can be packaged as needed, everything is integrated; common look, behavior, data exchange, …

More Related