340 likes | 354 Views
CSS – Control System Studio Name Space browser/ Setup CSS - Tools. CSS – Control System Studio Summary Presentation @ GSI February 11 th 2009 Matthias Clausen, Jan Hatje (DESY / MKS-2) Presented by: Matthias Clausen. Overview. Name Server for EPICS Record Names How to set up a name server
E N D
CSS – Control System StudioName Space browser/ SetupCSS - Tools CSS – Control System Studio Summary Presentation @ GSI February 11th 2009 Matthias Clausen, Jan Hatje (DESY / MKS-2) Presented by: Matthias Clausen
Overview • Name Server for EPICS Record Names • How to set up a name server • IOC and lists of records • LDAP set up • Name Space Browser • Generic approach • Examples • DESY-EPICS • DESY-TINE • CSS – the integrated development platform • Creating EPICS databases using CSS-DCT • Creating State Notation Language (SNL) programs • Analyzing the network traffic using caSnooper • Summary
Setting up a Name Server for EPICS IOCs • Create a list of records from the IOC during boot time • Create a file in your preferred directory on the file server with the name: logicalIocName • Create IOCpathes file specifying the LDAP structure. • At DESY the file is created by a script which is crawling through the IOC boot directories. • Run ldapUpdater – a CSS headless application • ldapUpdater will use the files mentioned above create LDAP sub-trees and write record names to the LDAP tree
Create a File containing all Record Names • IOC startup File: • # startup • ################## Individual Settings ############################### • home="/vxBoot/ioc/mth/xmtsKryoStand" • app="xmtsKryoStand“ • … • iocInit • … • # Create record list on /applic/dirServer/xxxxx • sprintf startupBuffer, "/applic/directoryServer/%s", app • dbl 0, startupBuffer • …
IOCpathes File • Logical Name Boot Path Physical Name • xmtsKryoPump /vxBoot/ioc/mth/xmtsKryoPump epicsPC02 • xmtsKryoStand /vxBoot/ioc/mth/xmtsKryoStand epicsPC03 • testLDAP /vxBoot/ioc/test/testLDAP epicsPC04 • testPBDP /vxBoot/ioc/test/testPBDP epicsPC21 • kryoKS2 /vxBoot/ioc/kryo/kryoKS2 epicsPC23 • wienerVME /vxBoot/ioc/utility/wienerVME epicsPC24 • …
Setting up the LDAP Server • http://css.desy.de/content/e428/e262/e2469/index_eng.html • Sun DS 6.2 for Solaris • Table of contents: • Download • Installation • Loading EPICS Schema/Data • Creating Replication • Deleting Replication • Tuning • Tuning Replication
The CSS Onion: Namespace Browser TINE Namespace Browser LDAP Eclipse OSGi LDAP Server
Namespace Browser • Plugin to Display Hierarchical Name Configurations • Two Implementations: • EPICS: • The EPICS names are stored in an LDAP server • The Structure has three levels:Facility | IOC | Record • Clicking on the last Element (Record) will activate the Contribution Menu -> Activate other plugins passing the record name. • TINE (DESY): • TINE names are stored in TINE name server • The Structure has three levels:Facility | IOC | Record • Clicking on the last Element (Record) will activate the Contribution Menu -> Activate other plugins passing the record name.
Namespace Browser (EPICS) • Call up: • Display • PV-Table • …… • Drag and Drop • Into PV-Table • Into Display (edit mode)
Namespace Browser (TINE) • Call up: • Display • PV-Table • …… • Drag and Drop • Into PV-Table • Into Display (edit mode) • No DAL support – yetfor PV-Table
Namespace Search • Searching the Namespace for record names according to a given pattern • (probably only relevant for EPICS)
Name Space BrowserWho is involved? • Design and Implementation by DESY
Name Space BrowserRelevance for GSI Users: • The existing implementation can be used on any LDAP server. • The DESY schema must be used • The current setup runs on a Sun Cluster • Provides reliable operation
Name Space BrowserFuture Plans: • Add more metadata to: • Each record entry • Each IOC entry
CSS an Integrated Programming Environment • State Notation Language • Database Creation • IOC diagnostic • IOC Management / EPICS-IDE (future)
State Notation Language • SNL
State Notation Language (SNL) • Programming of sequential operations • SNL program is executed on the IOC (or on the host) • Interaction with EPICS databases via channel access Declaration part State Set part
The new SNL Editor • SNL Project type with adequate folder structure • SNL Editor is inherited from Eclipse standard editor • SNL Editor is connected to *.st files • SNC compiles SNL- files with each saving • Compiler options settable in preference page
SNL Editor features • SNL Keywords are colored • Outline view shows program structure • Items in Outline view are linked with editor items • Checks the basic structure of the program • Problem view with a list of code errors
SNL Debugger IOC Remote Management • SNL Debugger is part of the Remote IOC Management • Redundancy Monitor Task (RMT) distributes XML commands • RMT reads and writes to SNL Exec • SNL Debugger is integrated in CSS • Using the CSS IOC-Communication for redundant IOCs(may run on non-redundant IOCs) • Support Drag and Drop and object contribution of CSS datatypes IOC, VxWorks CCE CAN Driver CSS Command (XML) SNL Debugger Redundancy Monitor Task (RMT) SNL Exec Response (XML)
SNL Debugger • Examine and check running state programs • Read / Write values of variables • Jump to states of a state set • Control run mode of state sets • Host list is configurable by preferences • SNL Documentation: Menu ‘Help’ → ’Help Contents’ → ’CSS Applications’
SNL Debugger User Interface IP Address of IOC IOC Remote Management General information Node information SNL Debugger List of running state programs List of commands to display SNL Exec status List of commands to manage SNL Exec
SNL Editor – Plans • Adding graphic representation of state sets (GEF) • Adding messages (with reply) to interact with the operator • Integrating the SNL editor into ‚a‘ EPICS-IDE • Starting from Ken‘s EPICS-IDE? • Integrating an EPICS-IDE in CSS? • Improving editing functons • EPICS-IDE features: • Compiling SNL programs • Downloading SNL programs to the IOC (in the works) • Running SNL programs on the host (Linux/ Mac?)
CSS Database Creation Tool • CSS-DCT
CSS-DCT Creating Hierarchical EPICS Databases interactively (like Visual DCT – VDCT) Persistent Store in Relational Database (Oracle) Visual Part for Documentation purpose
Channel Access Snooper • caSnooper • SDS Connection View
Remote CaSnooper Data CaSnooper CaSnooper CaSnooper Subnet A Subnet B Subnet C get data getList CSS XMPP Server Receiving the CaSnooper Information from remote CaSnooper servers. • All CSS instances • RCP • CSS-headless register here.
Combining Tools: Connection View/ CaSnooper Bad IOC database
Information Transfer by means of Contributions‚Information on your fingertip‘ From Graphics From PV Table • Sequence: • Start CSS • From any application start any other application (plugin) with PV data object or list of PVs or Frontend- Controller or dataBrowser data. From Connection View
Current Status • CSS Version 1.1 is available from:http://css.desy.de/content/e413/index_eng.html • DESY plugins can be added from the update site • Working with the University of Hamburg: • Four Master thesis have been written in the CSS context. • Two doctoral thesis on the way • Several plugins have been written by external collaborators (DataBrowser, PV-Table) • CSS is the platform for cryogenic controls and utitlity controls for the European XFEL. • Alarm Management System, Alarm Plugins and DataBrowser are running in production, Synoptic Displays are going into production these days (operator training has just begun)
Outlook, Further information • CSS 1.2 will be released as soon as the transition from DCF to ECF has been finished. • For more information or to download CSS please see the CSS website: http://css.desy.de • To get additional CSS applications (plugins) please use the update mechanism: Help → Software Updates → Find and Install → Search for new features • For questions please contact: matthias.clausen@desy.dejan.hatje@desy.de • - Thank you -