Presentation on theme: "EPICS Architecture Version 3 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)"— Presentation transcript:
EPICS Architecture Version 3 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) DB Engine Device Support Driver Support Generic Data Descriptor Channel Access Client Active X Labview / Excel.. Access Lib Any Data Store I/O Controller Gateway Portable CAS PCAS - Windows Archiving Archive Access Archive ViewingArchive Analysis User Tools DM/MEDM/DM2K/EDM/JDM Alarm Handler / stripTool/ knobManager Connection Data Transfers Portable Channel Access Server (CAS) Types Connection Server Program Interfaces C, C++, Fortran, JAVA IDL / Matlab / Mathematica ActiveX / DDE / VisBasic SDDS / SAD / tcl / PERL / Python State Notation Lang / FSQT
EPICS Architecture Version 4 Channel Access Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS) Connection Data Transfers Portable Channel Access Server (CAS) Situation: 1) Channel access has been optimized for performance, reliability, upward compatibility 2) A Narrow interface enables plug compatible clients and servers 3) The basic data types and meta data for status/time stamp, display and control are supported 4) The current code base is difficult to extend. Current work under an SBIR grant that lasts until March 2010: 1) Start from the JAVA implementation as it is a cleaner implementation. 2) Implementing support for PVData, which is an easily extended data structure 3) Add a limited set of meta data to support introspection by function, high level Physics applications, and standard plotting capabilities in a modular way. 3) Extend meta data initially to support: location, lattice information, arrays of scalar Channels, and statistical data. 4) Demonstrate this in 2009.
EPICS Architecture Version 4 Process Database DB Engine Device Support Driver Support I/O Controller Types Situation: 1) Database records have been optimized for performance, reliability, and extendibility. 2) The record set has supported data acquisition, supervisory control and closed loop control. 3) The basic unit of channel is well represented here, but the idea of a device is more difficult to express. 4) The hardware interface to the record has some limitations. 5) The methods supported for monitoring channels is limited and tightly coupled to the scanning. Current work under an SBIR grant that lasts until March 2010: 1) Support some new fundamentals that allow the creation of devices based on the ability to create hierarchical records. 2) Develop an environment that better supports the concept of state for the records which is required to support devices. 3) Develop a richer interface to the hardware support to support online add/delete and clearer status information. 3) Develop a cleaner interface to channel access to support more monitoring capabilities and filters 4) Develop a new record set in this environment that includes the current record set, plus some composite devices that demonstrate these new capabilities. 5) Demonstrate this new set in 2009.
EPICS Architecture Version 4 NSLS II One NSLS II goal is to develop a client/server architecture for high level physics application. We have evaluated many different architectures and existing packages. ICE, CORBA, and DDS open-source protocols were rejected after benchmarking and testing. The current direction is represented in the diagram below. A limited set of payloads will be added to PVdata to support High Level Applications. DDS provides an interface layer that allows us to send PVdata over version 3 channel access by adding a serializer/deserilizer wrapper. EPICS-DDS Distributed Front-Ends HLA Client Client Applications e.g. MMLT, others Middle Layer Servers CA Physical DeviceVirtual DevicePhysical Device... CA CAS Model Server CAS Data Server CAS RDB Server... HLA Client CAC HLA Client CAC IOC CAS IOC CAS IOC CAS
EPICS Architecture Version 4 NSLS II The DDS wrapper on Channel Access Version 3 is being done in-house The JAVA IOC base set of functionality is being developed by Marty Kraimer, John Dalesio, and Sheng Peng, and being funded by the SBIR grant. Extended records for supporting phyiscs applications will be funded by NSLS II and implemented by Marty Kraimer and Sheng Peng. The JAVA Implementation of a Channel Access protocol that supports PVdata is being developed by Cosylab and funded by the SBIR grant. A C++ version of this protocol will be developed and funded at NSLS II. The funding level available from NSLS II could support Marty, Sheng, and Matej (Cosylab) at around the half time level for 24 months: August 15, 2009, August 15, 2011. The SBIR grant support spans the time from October 2008 through March 2010 and funds Sheng, John, and Matej at 50% and Marty Kraimer at 100%. An additional funding source starting in March of 2010 could keep this team working full time on the development. Application to a different control realm would be helpful in verifying the ability to expand into new areas.