180 likes | 331 Views
NSLSII Physics Applications – Applying V4. The Control Group – presented by Bob Dalesio Taiwan EPICS Meeting, June 2011 October 11, 2010. Outline. System Requirements Subsystem Standards Control System Architecture Relational Database Tools - IRMIS EPICS Extensions
E N D
NSLSII Physics Applications – Applying V4 The Control Group – presented by Bob Dalesio Taiwan EPICS Meeting, June 2011 October 11, 2010
Outline • System Requirements • Subsystem Standards • Control System Architecture • Relational Database Tools - IRMIS • EPICS Extensions • Control System Studio (CSS) Tools • Conclusions
EPICS V3 • A narrow interface supports reusable clients • DBR_ types included: • Double, long integer, enumerated, string • Metadata: time stamp, alarm severity, display and control • Only monitored value, time stamp alarm severity • This narrow interface supported signals well • It is not easily extendible nor is it complete enough
Client-Server Architecture for HLA Matlab HLA Client Control System Studio Java or C++ Matlab or Python Python HLA Client PVAccess PVAccess / CAC PVAccess PVAccess / CAC Ethernet CAC PVAccess/CAC PVAccess/CAC PVAccess/CAC PVAccess PVAccess PVAccess Magnet Conv, Response Matrix, Dispersion, etc…. Multi-Channel Arrays Svr Save/Compare Restore Svr Channel Finder Svr Model Server Lattice Server Middle Layer Servers SQL Elegant/Tracy SQL SQL Serves orbit, magnets, any array of channels RDB IRMIS IRMIS CAS PVA CAS PVA Diag & PS CAS CAS PVA CAS PVA CAS Utilities etc.., PVA PVA Diagnostics RF Power Supplies Vacuum Distributed Front-Ends LS2 Simulation Physical Device Physical Device Physical Device Physical Device Physical Device Completed Being Extended Early Development Planned Development
Extend DBR_TYPES in EPICS V4 • Easily extendible • thanks to work done by Marty Kraimer and MatejSekorania • Can monitor metadata too – • Only send structure elements that have changed • New data types: • Extend the DBR_TYPES to higher level applications • Extra metadata needed to complete description of type • Heavy basis on Aida (Greg White – SLAC), in discussion with NSLS II team from controls and phsyics, TimoKorhonen (PSI), and James Rowland (Diamond)
New DBR_TYPES in EPICS V4 • New DBR Types • PV List: list of PV names and relative order • Multi-Channel Array: synchronous array of PV List • Image: image with information to allow actions • Multi-dimensional arrays: 1 to N of same type • Statistics: high, low, median, average, standard deviation, start time, end time, number of samples • Provide CSS Plugs for Each Type • Support Archive/Archive Retrieval for Each Type • Extend Database Records to Use These Types
PV List • Applications do not need knowledge of specific PVs • Populate Directory Service from IRMIS and IOC @ boot. • Search for a list of process variables by attributes: • X position in storage ring • Motor position in primary mirror • Temperature in LINAC • Return list with an ordinal
ChannelFinder Viewer • CSS Display ChannelFinderViewer • Searching • Name, Property value, Tags • Regular Expressions using “*”, “?” • prop=val1, val2 is equivalent to prop=val1 OR prop=val2 • prop=val1 tag=myTag is equivalent to prop=val1 AND tag=myTag
Multi-Channel Array • Send a PV List • Return an array of PV, time stamp, alarm severity, as an ordered list • Can specify how close in time for synchronization. • Standard applications in CSS exist for viewing • Plotting • Histograms • Table
Developed Tools - Multi channel Viewer • Same set of channels • Fig1. sorted by position • Fig2. sorted by name
User Slide - HLA on Channel Finder Service • They talk about PV/IOC, we talk about element/cell/girder • PVs are associated with properties and tags, which are used to construct a lattice familiar to physicist. • “the BPM readings in cell 10 girder 2” is easier than PV name
User Slide - HLA Use Cases • HLA uses several thousand PVs. Each have properties like “elementname”, “elementtype”, “cell”, “girder”, “s_position”, … • Some PVs are tagged with “HLA.X”, “HLA.EGET”, “HLA.EPUT” which means that PV is a “horizontal reading/setting”, “default reading” and “default setting” • The lattice object is a list of elements, each owns several PVs. All of the data is initialized from channel finder service: pv, properties and tags. • No need to remember PV when writing a normal script.
Image • Attributes (largely from areaDetector – Mark Rivers) • Image size • Image representation: RGB etc.. • Pixel resolution • Image dimensions • Time stamp • Create an image record and image calculation record • Incorporate the type into AreaDetector
Statistics • Support in records types similar to circular buffer • Support archive of this type • Use this type for archive retrieval • Use this data type to collect information from BPM raw data and 10 KHz data
Conclusions • Version 3 has provided adequate support for signal data for many years with a wide variety of clients developed against the interface. • The need to extend the support for more complex data has been clear for near as many years. • The approach to take use cases to extend the data types seems to be appropriate to find a minimum set of new data types that provide a wide range of functionality. • The active engagement of many in our community to help define this set has been productive for physics applications. • The services provided have been well received by the first few users. • A tram of physicists and programmers at several labs are now focused on this effort with approaching deadlines • A lot more work is needed.