Download presentation
Presentation is loading. Please wait.
1
EPICS Version 4 Abstract:
Greg White (SLAC, Menlo Park, California), Gabriele Carcassi, Bob Dalesio, Martin Kraimer, Nikolay Malitsky, Guobao Shen (BNL, New York), Matej Sekoranja (Cosylab, Ljubljana), James Rowland (Diamond, Oxfordshire), Timo Korhonen (PSI, Villigen) Abstract: EPICS Version 4 is the next evolution of the Experimental Physics and Industrial Control System, a widely used software framework for soft-real time controls in large accelerators and telescopes. Version 4 brings more direct support for science by closely binding existing EPICS version 3 controls with a high performance architecture for scientific services, with a new standardized wire protocol, structured types, channel values subject to arguments, and a new IOC. These help to manage complex acquisitions, preprocess data, and present data in standard forms suitable for analysis and optimization. We describe the interoperation of EPICS V3 and V4, the presently available facilities in EPICS V4, and show how these help users easily create fast services such as accelerator modeling, large database access, synchronized orbit acquisition, energy management, and many more. EPICS V4 Support for Structures and Arrays Are Used to Develop Middle Layer Services Middle Layer Services Are Modular, Replaceable, and Enable Thin, Powerful, Physics Application. EPICS Version 4 has a data representation that supports arbitrary data structures for process variables (PVs) called PVData. These structures allow the definition of structures and arrays which greatly extend the V3 data model. The EPICS V4 communication layer, PVAccess, is optimized to send only those section of these structures which have changed. The EPICS V4 team, has spent a great deal of effort to define a limited number of Normative Data Types to support physics applications. Again, a data model is being used that presents a narrow interface. This allows general purpose clients to be written to manipulate and display these data types. See the EPICS V4 web site: EPICS Version 4 enables the development of middle layer servers. The V4 working group has developed reference implementations for accessing model information, directory services, save sets, archive data, unit conversion, and orbit service,. The physics applications at the NSLS II are being built as thin clients on top of this distributed architecture. The protocol changes enable a command/response Implementation. Using this mechanism, we are able to make relational data base queries. These are used to provide a directory service, save set service, and access to device information. The normative types support the handling of an extendable set of structures that currently include: tables, time and frequency domain vectors, time synchronous vectors built from vectors, and images. These data types make it possible to develop general purpose applications to manipulate and display these data types. In the operator tools under Control System Studio, these types may be displayed in a seamless fashion. Normative Type Fields Simple Normative Type Fields – V3 scalar types Structured V3 Normative Fields Normative Type Standard Optional Fields General Normative Types NTScalar, NTEnum, NTMatrix, NTVariantArray, NTNameValue, NTTable Specific Normative Types NTMultichannelArray, NTTimeDomainArray, NTFrequencyDomainArray, NTHistogram, NTAggregate NTImage: NTImage Array Part, NTImage Image Part, NTImage Metadata Part Non-Normative Types PVAccess Performs Well on Scalars, and Better on Structured Data and Large Arrays PVAccess is designed to send large structured data sets. The protocol does not send portions of the structure that have not changed. This allows us to monitor complex data sets without taking the performance hit of sending unchanging meta-data. In the near future, we will focus on performance improvements. A V4 Server Integrates V3 Data over PVAccess Services Available/Planned Under EPICS V4 General: Directory Service: Find lists of Process Variables (PVs) based on Property/Value Pairs or Tags. The directory service allows applications to make queries using normal syntax and pattern matching. The PVs are returned with as an ordered list. Gather Service: Given a list of scalar PVs, the Gather Service returns a time synchronous vector PV with severity and time for each PV. Machine Save & Retrieve Service: Allows applications to create sets of PVs that can be of mixed type and dimension, save the current values of the list of PVs, and retrieve the sets from the service. Archive Service: Given a PV and a time range, all of the value, time stamp, alarm severity triplets are returned. Example: $ gethist -s "3 minutes ago" -e "now" -p 12 QUAD34_Bfield ##QUAD34_Bfield #timePastEpoch(s) #value #Date #Alarm e-02 Wed Sep 21 17:49: NO ALARM e-01 Wed Sep 21 17:50: NO ALARM e-01 Wed Sep 21 17:50: NO ALARM e-01 Wed Sep 21 17:50: NO ALARM e-01 Wed Sep 21 17:50: NO ALARM e-01 Wed Sep 21 17:50: NO ALARM e-01 Wed Sep 21 17:50: NO ALARM e+00 Wed Sep 21 17:50: Disconnected e+00 Wed Sep 21 17:50: Archive_Off e+00 Wed Sep 21 17:52: Disconnected Specific: Orbit Service: return a fitted and validated vector PV that is made up of all of the BPM readings from a single turn Unit Conversion Service: Model Server (Example Returns R-Matrix for a Quadrupole): $ pvget QUAD:LI21:271/R -a TYPE=DESIGN -a POS=MID -a RUN=LATEST Communication Between V3 and V4 Provides an Upgrade Path with Mixed Version Systems Channel Access clients can get and put to PVAccess servers. PVAccess clients can get and put to Channel Access Servers. V4 is a Source Forge Project. If you want to learn more, these URLs may be helpful: 1. main page: 2. getting start with examples: 3. more examples (in the architecture page):
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.