220 likes | 283 Views
Applications. Kay Kasemir ORNL/SNS Using Information and pictures from Matthias Clausen, Jan Hatje, and Helge Rickens (DESY) October 2007. Purpose. Overcome limitations of current control system GUI tools. Inconsistent Look and Feel Menus, configuration panels, online help
E N D
Applications Kay KasemirORNL/SNS Using Information and pictures from Matthias Clausen, Jan Hatje, and Helge Rickens (DESY) October 2007
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
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"
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
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
CSS/Eclipse Online Help • Eclipse offers online help system • CSS apps encouraged to contribute under one of the CSS categories
CSS/Eclipse Version Info • Previous apps: Inconsistent version info. • In Eclipse, everything packaged as "plugin" with version info. • Common GUI for viewing installed versions.
EPICS 'PV Tree' • CSS Application plugin for Eclipse that displays EPICS record data flow • Inputs of 'calc' record etc. • Descending recursively
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.
DESY Namespace Browser,Alarm Tree • CSS Application plugins for Eclipse that browse DESY LDAP server
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!
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
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"
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
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.
CSS Startup Choices • Startup with login/password for your XMPP server • .. or workspace selector • .. or other site-specific authentication
Customizable Welcome Screen • Different sites can customize depending on local needs.
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, …