Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 4 – Development Plan V4 Team – presented by Bob Dalesio EPICS Meeting October 7, 2011.

Similar presentations


Presentation on theme: "1 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 4 – Development Plan V4 Team – presented by Bob Dalesio EPICS Meeting October 7, 2011."— Presentation transcript:

1 1 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 4 – Development Plan V4 Team – presented by Bob Dalesio EPICS Meeting October 7, 2011

2 2 BROOKHAVEN SCIENCE ASSOCIATES Outline Version 3 recap Version 4 High Level Application Architecture Normative Data Types Conclusions

3 3 BROOKHAVEN SCIENCE ASSOCIATES Version 3 – brief history Started at GTA in 1985 at LANL as a tool set used to develop a space based accelerator. Developed core: channel access and process database, SNL, EDD/DM, save/restore, archive. In 1989 several international and domestic labs showed interest to use it. Collaboration made with APS. EPICS release shows up in 1991 with process database rewritten to clarify the interface to hardware and new record types. Channel access continues to mature. Data types in Channel Access stay the same. Record structure stays the same – flat records with metadata in an imperfect state. The metadata for alarm, display, and control provide good interface for engineer clients Limitations on large data sets reflected in limited applications and creative use of waveform record. Successfully applied to many applications (warts and all) proving the concept Produced 124 man years of useful software – which is 10% or less of what was actually written.

4 4 BROOKHAVEN SCIENCE ASSOCIATES Version 4 – less code waste (so far) Started at Marty’s home in 2005 as a tool set used to develop a device based control. Developed core: PV access and Java IOC. In 2009 several international and domestic labs showed interest to use it. Collaboration made with BNL, Diamond, and PSI. V4 release shows up in 2011 with PV database unused BUT with PVData and new Normative Types.. PVAccess continues to mature. Data types in PVData start to reduce to a standard supported set. Record structure stays the same – flat. Hierarchical records not put to use yet. We hope that the metadata for arrays, tables, statistics, and images, provide good interface for engineer clients Limitations on large data sets is being removed and applications are being developed that take advantage of the new data types. Client applications for these data types demonstrated in CSS. Early middle layer servers are developed and evolving. Produced 5 man years of useful software – which is 50% of what was written. Matej's specification is at http://epics-pvdata.sourceforge.net/pvAccess_Protocol_Specification.html which is available from the EPICS V4 homepage at: http://epics-pvdata.sourceforge.net/ http://epics-pvdata.sourceforge.net/pvAccess_Protocol_Specification.html http://epics-pvdata.sourceforge.net/

5 5 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 3 Architecture Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC Data Types: Dbr_Time_(Double, Enum, Long, String) time stamp, alarm status, alarm severity Dbr_Ctrl_(Double, Enum, Long, String) above plus display, alarm, and control parameters Also arrays – one dimension that were overloaded for everything else such as images in areaDetector

6 6 BROOKHAVEN SCIENCE ASSOCIATES PV Manager Aggregates V3 into V4 Types Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC PVManager XML/HTTP Channel Finder Svr SQL RDB CFCCFC

7 7 BROOKHAVEN SCIENCE ASSOCIATES V4 Serves V3 Data Types Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC PVManager XML/HTTP Channel Finder Svr SQL RDB CFCCFC PVAS

8 8 BROOKHAVEN SCIENCE ASSOCIATES Orbit Service Uses Multi-Channel Arrays Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC PVManager XML/HTTP Channel Finder Svr SQL RDB CFCCFC PVAC PVAS Gather Service CAC Xml/http Serves orbit, magnets, any array of channels

9 9 BROOKHAVEN SCIENCE ASSOCIATES Archiver Modified to Support V4 Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC PVManager XML/HTTP Channel Finder Svr SQL RDB CFCCFC PVAC PVAS Gather Service CAC Xml/http Serves orbit, magnets, any array of channels PVAC

10 10 BROOKHAVEN SCIENCE ASSOCIATES Connect CSS to V4 with Channel Finder Svc Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC PVManager PVAS Channel Finder Svr SQL RDB PVAC PVAS Gather Service CAC Serves orbit, magnets, any array of channels PVAC IRMIS Serves Alignment Magnet Conv PVAC

11 11 BROOKHAVEN SCIENCE ASSOCIATES Use PVManager as a V4 Service Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC PVManager XML/HTTP Channel Finder Svr SQL RDB PVAC PVAS Serves orbit, magnets, any array of channels PVAC PVAS PVManager Service CAC Serves Tables Mutti-channel arrays Statistics PVAS Gather Service CAC PVAC

12 12 BROOKHAVEN SCIENCE ASSOCIATES Provide Configuration Data as V4 Service Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC PVManager XML/HTTP Channel Finder Svr SQL RDB PVAC PVAS Gather Service CAC Serves orbit, magnets, any array of channels PVAC PVAS PVManager Service CAC Serves Tables Mutti-channel arrays Statistics PVAS Configuration Data SQL IRMIS Serves Alignment Magnet Conv PVAC

13 13 BROOKHAVEN SCIENCE ASSOCIATES Build Application Specific Services Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver CAC PVManager PVAS Channel Finder Svr SQL RDB PVAC PVAS Gather Service CAC Serves orbit, magnets, any array of channels PVAC PVAS PVManager Service CAC Serves Tables Mutti-channel arrays Statistics PVAS Configuration Data SQL IRMIS Serves Alignment Magnet Conv PVAC UnitConv., Bump, etc.. PVAS PVAC

14 14 BROOKHAVEN SCIENCE ASSOCIATES Create a V4 Archive Server Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Control System Studio CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver View PVManager PVAS Channel Finder Svr SQL RDB PVAC PVAS Gather Service CAC Serves orbit, magnets, any array of channels PVAC PVAS PVManager Service CAC Serves Tables Mutti-channel arrays Statistics PVAS Configuration Data SQL IRMIS Serves Alignment Magnet Conv PVAC UnitConv., Bump, etc.. PVAS PVAC PVAS Archive retrieval XML/RPC Channel Archiver

15 15 BROOKHAVEN SCIENCE ASSOCIATES Version 4 – First Deployment Distributed Front-Ends MMLT Client Physical Device Ethernet Production HLA Client CAC Diag Database CAS Physical Device PS Database CAS Physical Device RF Database CAS Physical Device Vac Database CAS Physical Device Util Database CAS Matlab, SDDS, Python CAC Diamond Simulation Diag & PS CAS Channel Archiver View PVManager PVAS Channel Finder Svr SQL RDB PVAC PVAS Gather Service CAC PVAC PVAS PVManager Service CAC PVAS Configuration Data SQL IRMIS PVAC UnitConv., Bump, etc.. PVAS PVAC Distributed Middle Layer Services Clients PVAS Archive retrieval XML/RPC Channel Archiver Control System Studio

16 16 BROOKHAVEN SCIENCE ASSOCIATES Normative Data Types - General typeIdentifier -------------- typeIdentifier is a long whose bitfield value is used to uniquely identify a PVStructure instance as an example of a data type. The first 16 bits (of 64) are reserved to identify the normative types. The following control types are defined as structures of atomic types, and encoded as PVStructure. structure enum_t members:int index, string[] choices structure timeStamp_t members:long secsPastEpoch, int nanoseconds, int userTag structure alarm_t members:int severity*, int status*, string message structure nameValuePair_t members: string name, string value *severity is defined as an int (not an enum_t), but should be functionally interpreted only as the enumeration {NONE, MINOR, MAJOR, INVALID, UNDEFINED } *status is defined as an int (not an enum_t), but should be functionally interpreted only as the enumeration {NONE, DEVICE, DRIVER, RECORD, DB, CONF, UNDEFINED, CLIENT }

17 17 BROOKHAVEN SCIENCE ASSOCIATES Specific Normative Data Types NTMultichannelArray – represent a collection of single values as an ordered array e.g. all of the temperatures along a beam line or the Australian Synch’s Concatenate Record used on AI’s NTTimeDomainArray e.g. a scope trace from a digitizer or the Circular Buffer in the Compress Record NTHistograme.g. information on a 60 Hz power supply RB posted every hour or the Histogram in the Compress Record NTNDArraye.g. multiple frames of a detector taken at 1 KHz for 1 second NTFrequencyDomainArray e.g. FFT of 10 KHz data taken for 1 second to study noise frequencies or FFT record output NTStatistice.g. any data being compressed from its original rate – fast sampling in hardware to EPICS DB, new function on any database waveform, response from a request to an archive server NTImagee.g. image data being collected at a detector into the areaDetactor application NTTablee.g. a way to return any list of values or collection of name, value pairs of different data type such as twiss parameters or the metadata for a camera set up: filter, exposure time, camera used, etc… This is the catch all data type that can define a structure of single values or arrays (of the same length) NTChannelFinderDirectory e.g. returned as an ordered list of PVs from a query to a directory service to populate a multi-channel array or table

18 18 BROOKHAVEN SCIENCE ASSOCIATES Users and developers using EPICS V4 are not precluded from defining their own special purpose types Only the normative types defined above, are guaranteed to be understood by EPICS V4 services and clients. Non-normative types can take a chunk of the remaining 48 bits in typeIdentifier to register these types for their specially written servers and clients. Version 4 PVData and PVAccess fully support this. Non-Normative Data Types

19 19 BROOKHAVEN SCIENCE ASSOCIATES Conclusions The interfaces is intended to allow us to create a standard client/server the architecture for applications such as: areaDetector, Matlab Middle Layer Toolkit, SDDS, XAL, GDA, MDS+ NSLSII is committed to apply this technology to physics applications. Low level applications are not yet being developed in Java IOC We are in the stage of development most similar to the transition from GTACS to EPICS (early, immature, risky, changeable, fun, and challenging). New structures are easy to create – but we plan to carefully limit these to general and useful normative types. (Read “restricted set”)


Download ppt "1 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 4 – Development Plan V4 Team – presented by Bob Dalesio EPICS Meeting October 7, 2011."

Similar presentations


Ads by Google