Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System...

Post on 13-Aug-2020

1 views 0 download

Transcript of Control System Studio - GSI · 01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de Control System...

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

ControlControl System StudioSystem Studio

CSS

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

ÜberblickÜberblick

• Was ist CSS ?• Motivation• Design• Applikationen• Entwicklungsbeispiel • Kollaboration/ Entwicklung• Demo

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Was ist CSS?Was ist CSS?

CSS ist:

• ein Framework für Plug-ins zurEntwicklung vonKontrollsystemkomponenten

• eine eclipse Rich Client Application

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

MotivationMotivation

Aktueller Stand der Operator Interfaces (OPI):• Viele Anwendungen verschiedenster Art

– implementiert von verschiedenen Entwicklern– mit unterschiedlichem Look & Feel– in verschiedenen (Programmier/ GUI) Sprachen– nur für spezifische Betriebsysteme– nur im Kontext spezifischer Kontrollsystem Typen– Datenaustausch ist oft nur als 'String' möglich

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

DesignDesign

Ziel: Verbesserung der aktuellen Situation• gleiches Look & Feel• Information 'on your fingertips'• drag 'n' drop von Objekten zwischen CSS Plug-ins• Middleware statt spezifische API's:

– Management Interfaces– Name Server (JNDI)– Data Access Layer (DAL)– Archive Access Layer (AAL)

• effektive Kollaboration

CSS

TANGO

EPICSTINE

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

DesignDesign

Fazit:

• Java– eine Sprache für viele Plattformen

• eclipse– um den RCP Ansatz zu verwenden– um der wachsenden Gemeinde von eclipse Entwicklern

beizutreten– eingebaute Multi Language Unterstützung (localization)– gemeinsames Look & Feel

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

eclipseeclipse

• gestartet 2001 von IBM• Open Source Community• verbreitet als Java IDE (Integrated Development Environment)• praktisch ein Plug-in Manager

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

eclipse RCPeclipse RCP

• eclipse dient als Open Tools Plattform• RCP: org.eclipse.ui und org.eclipse.core.runtime

Features:• schnelle Entwicklung, Fokus auf Funktionalität neuer Applikationen• RCP Komponenten sind Open Source• viele wieder verwendbare Komponenten(z.B. Update Manager, Help UI, Cheat Sheets, Intro, etc.)

• Entwicklung einer offenen Plattform in eigenem Anwendungsbereichmöglich: CSS

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

CSStudioCSStudio PlugPlug--In ÜbersichtIn Übersicht

Applikationen:

•Display•Alarm•Diagnostic Tools•Configuration•Utilities•Trends

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Applikationen: DisplayApplikationen: Display

•SDS

•ADL Converter

•PV Tabelle

•Garbage Collector

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Applikationen: AlarmApplikationen: Alarm

•JMSAlarmLog

•JMSLogsArchive

•TreeView

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Applikationen: Applikationen: DiagnosticDiagnostic ToolsTools

•JMS Logs•JMS Sender•AMS Monitor•RMT Control•Post Analyser•Probe•SNL Editor/Debugger•Statistic Viewer

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Applikationen: Applikationen: ConfigurationConfiguration

•AMS Configurator

•IO Config

•Action Request Explorer

•Directory Viewer

•Save Value

•Authorize ID

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Applikationen: Applikationen: UtilitiesUtilities

•Name Space Browser (LDAP)•Name Space Search•Name Space Browser (TINE)•Screenshot•System Monitor•CA Snooper•Record Property•Quickstart•(Clock, Therapist)

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Applikationen: TrendsApplikationen: Trends

•Daten Browser

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

SDS erweitern, Beispiel:SDS erweitern, Beispiel:Meter Meter WidgetWidget

• Widgets sind auf der MVC Architektur aufgebaut:

• ModelDefiniert Eigenschaften, speichert die zugehörigen Werte und verfolgt Wertänderungen.

• ViewDie visuelle Repräsentation des Modells.

• ControlKontrolliert das Zusammenspiel zwischen graphischer Repräsentation und Modell.

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Beispiel: Beispiel: MeterModelMeterModel

Modell:• ein Modell anlegen: MeterModel extends AbstractWidgetModel

- assoziierte Factory erstellen: MeterModelFactory implements IWidgetModelFactory

• das Widget Modell registrieren (Extension Point org.csstudio.sds.plugin.xml):

<extension point="org.csstudio.sds.widgetModelFactories">... <widgetModelFactory

class="org.csstudio.sds.components.internal.model.MeterModelFactory"description="Creates a meter control."icon="icons/meter.gif"name="Meter"typeId="org.csstudio.sds.components.Meter"/>

<widgetModelFactory...

</extension>

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Beispiel: Beispiel: MeterModelMeterModel

View:• Visuelle Elemente implementieren das eclipse core Interface

IAdaptable:RefreshableMeterFigure

extendsorg.eclipse.draw2d.Shapeimplementsorg.eclipse.core.runtime.IAdaptable

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Beispiel: Beispiel: MeterModelMeterModel

Control:• SDS Widget Controller sind spezielle GEF Edit Parts. SDS bietet dazu ein Framework an:

– MeterEditPart extends org.csstudio.sds.ui.editparts.AbstractWidgetEditPart– MeterEditPart assoziiert das Modell und den View

- Den Edit Part registrieren (Extension Point org.csstudio.sds.ui.plugin.xml):

<extension point="org.csstudio.sds.ui.widgetEditParts">...

<widgetEditPartclass="org.csstudio.sds.components.ui.internal.editparts.MeterEditPart"typeId="org.csstudio.sds.components.Meter">

</widgetEditPart>...</extension>

- typeId verbindet die Komponenten des Meters

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

CSS Entwicklung/ KollaborationCSS Entwicklung/ Kollaboration

Einzelpersonen:• Matthias Claussen, Jan Hatje, Kay Kasemir, Sergei Chevtsov, Emma Shepherd, …• Basic design, tools (archive viewer …)

JSI (Josef Stefan Institut - Slovenien):• Studenten in Kollaboration mit Cosylab• Basic design, graphic libraries, management tools, login, secure password store

Cosylab:• Data Access Layer (DAL)

C1-WPS (spin-off der Universität Hamburg):• Basic design, CSS-Core refactoring, CSS-Wizard, synoptic display studio (SDS)

Universität Hamburg:• Studentische Diplomarbeiten• Authorization in CSS

• CSS record/ playback

DESY:• Logging, alarming, database integration, managing CSS

01. Dezember 2008 Martin Feldmann, m.feldmann@gsi.de

Demos und LinksDemos und Links

Flash Demos:http://css.desy.de/content/e70/e10/index_eng.htmlCode Repository:● CVS Repository @ DESY● ‘Offen’ für registrierte Benutzer mit DESY AccountMailing List:● css-core@desy.deWeb Page:● http://css.desy.de● http://www.cs-studio.orgCodeBeamer : Documentation, Tracker, Story Cards:● http://elogbook.desy.de:8181