New Features in EPICS V4 Release 4.4 EPICS Meeting 2014, CEA, October 2014 Marty Kraimer, Matej Sekoranja.

Slides:



Advertisements
Similar presentations
Introduci ng :. .NET Presentation Overview: Summary of.NET Benefits Software Architecture.NET Screens Overview The purpose of this presentation is to.
Advertisements

V4 Status and Workshop Report CSS, DISCS, an V4 team.
JavaIOC Overview and Update EPICS Seminar/Workshop Raja Ramanna Centre For Advanced Technology Indore India January Presented by: Marty Kraimer.
STRING AN EXAMPLE OF REFERENCE DATA TYPE. 2 Primitive Data Types  The eight Java primitive data types are:  byte  short  int  long  float  double.
1 1999/Ph 514: Channel Access Concepts EPICS Channel Access Concepts Bob Dalesio LANL.
Control System Studio (CSS) Data Access Layer (DAL) Kay Kasemir, Xihui Chen July 2009.
EPICS V4/areaDetector Integration
PvData,pvAccess,pvIOC,pvService Status EPICS Meeting June 2011 NSRRC,Hsinchu, Taiwan Marty Kraimer, Guobao Shen, and Matej Sekoranja.
EPICS Base R and beyond Andrew Johnson Computer Scientist, AES Controls Group.
EPICS Architecture Version 3 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)
PvData,pvAccess,javaIOC,pvService Status EPICS Meeting Aix-en-Provence, France Marty Kraimer, Guobao Shen, and Matej Sekoranja.
ORNL is managed by UT-Battelle for the US Department of Energy EPICS V4 for SNS Neutron Data Kay Kasemir Oct
AreaDetector Data Processing Pipeline In EPICS V4 Dave Hickin Diamond Light Source EPICS Collaboration Meeting Diamond Light Source 01/05/2013.
JCA 2.0 Eric. Boucher – APS EPICS Collaboration Meeting - June 18-20, 2003.
Java Generics. 2 The Dark Ages: Before Java 5 Java relied only on inclusion polymorphism  A polymorphism code = Using a common superclass Every class.
Inheritance and interfaces A class C1 is derived from class C2, then C1 is called subclass, and C2 is called superclass Superclass-parent, base class Subclass.
Arrays. A problem with simple variables One variable holds one value –The value may change over time, but at any given time, a variable holds a single.
Chapter 11 Abstract Classes and Interfaces 1. Abstract method New modifier for class and method: abstract An abstract method has no body Compare: abstract.
JavaIOC Marty Kraimer EPICS Collaboration Meeting ICALEPCS October
Avro Apache Course: Distributed class Student ID: AM Name: Azzaya Galbazar
Obsydian OLE Automation Ranjit Sahota Chief Architect Obsydian Development Ranjit Sahota Chief Architect Obsydian Development.
1 Java Console I/O Introduction. 2 Java I/O You may have noticed that all the I/O that we have done has been output The reasons –Java I/O is based on.
1 BROOKHAVEN SCIENCE ASSOCIATES NSLSII Physics Applications – Applying V4 The Control Group – presented by Bob Dalesio Taiwan EPICS Meeting, June 2011.
JavaIOC EPICS Meeting SSRF March Presented by: Marty Kraimer.
‘ActiveX’ CA Server (… and Client) Oct Kay-Uwe Kasemir, LANL.
JavaIOC Status EPICS Meeting ICALEPCS2009 Kobe Japan Marty Kraimer And Matej Sekoranja.
MASAR Service Guobao Shen Photon Sciences Department Brookhaven National Laboratory EPICS Collaboration Workshop Oct 05, 2013.
Technical Team WITSML SIG Dubai - November 2008 John Shields / Gary Masters.
1 Cisco Unified Application Environment Developers Conference 2008© 2008 Cisco Systems, Inc. All rights reserved.Cisco Public Introduction to Etch Scott.
Archive Service Nikolay Malitsky October 2, 2013.
MASAR Server & Application Guobao Shen Photon Sciences Department Brookhaven National Laboratory Collaboration Working Group Oct 02, 2013.
Wir schaffen Wissen – heute für morgen Paul Scherrer Institut EPICS V4 Archiver Service and Matlab client Timo Korhonen.
(Java) CA Client Libraries Status Matej Šekoranja
CSS – Control System Studio
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
EPICS EPICS Limitations Bob Dalesio Marty Kraimer.
Data Types written by Gabriele Carcassi performed by Bob Dalesio based on ideas/requirements from Bob Dalesio, Kay Kasemir, Ralph Lange, James Roland,
Abstract Classes and Interfaces Chapter 9 CSCI 1302.
1 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 4 – Development Plan V4 Team – presented by Bob Dalesio EPICS Meeting October 12, 2010.
CONTENTS Wrapper Class Enumeration Garbage Collection Import static.
1. LabVIEW and EPICS Workshop EPICS Collaboration Meeting Fall 2011.
EPICS to TANGO Translator Rok Šabjan on behalf of Rok Štefanič Presented at ICALEPCS, Knoxville, October.
Jan Hatje, DESY CSS – Control System Studio EPICS collaboration meeting CSS – Control System Studio Update EPICS collaboration meeting 2008 Shanghai.
B. Dalesio, N. Arnold, M. Kraimer, E. Norum, A. Johnson EPICS Collaboration Meeting December 8-10, 2004 Roadmap for IOC.
PvaPy: Python API for EPICS PV Access Siniša Veseli Scientific Software Engineering & Data Management Advanced Photon Source EPICS Meeting October 2015.
Client Data Types Gabriele Carcassi Oct Scope and requirements  Define client side data structures to represent data for control systems and.
Chapter 5 Defining Classes II Copyright © 2010 Pearson Addison-Wesley. All rights reserved.
Wrapper Classes  Java offers a convenient way to incorporate, or wrap, a primitive data type into an object, for example, wrapping int into the class.
1 Remote Procedure Calls External Data Representation (Ch 19) RPC Concept (Ch 20)
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
1 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 4 – Normative V4 Team – presented by Bob Dalesio EPICS Meeting October 7, 2011.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
ORNL is managed by UT-Battelle for the US Department of Energy ADnED Handling V4 Neutron Event Data Matt Pearson SNS ORNL 18 th -22 nd May 2015.
JavaIOC Overview and Update
Static Members and Methods
EPICS Version 4 Abstract:
CMSC 202 Static Methods.
SLAC USA Marty Kraimer and Matej Sekoranja
Classes and Objects 5th Lecture
pvData,pvAccess,pvIOC,pvService Overview and Status EPICS Meeting
pvData,pvAccess,pvIOC,pvService Overview and Status EPICS Meeting
Proposed Changes of the DDS Dynamic Data interface based on the consideration of EPICS PVData and Google’s Protocol Buffers Nikolay Malitsky 1.
Server-Side Plugins Andrew Johnson, Ralph Lange
Classes and Objects Static Methods
pvData,pvAccess,pvIOC,pvService Overview and Status EPICS Meeting
Fixed Size Arrays proposal
EPICS 7 Matej Sekoranyja, Marty Karimer, Michael Davidsaver, Ralph Lange, Andrew Johnson, Timo Korhonen, Heinz Junkes, Patrick Marschalik, Murali Shankar,
Presentation transcript:

New Features in EPICS V4 Release 4.4 EPICS Meeting 2014, CEA, October 2014 Marty Kraimer, Matej Sekoranja

Overview 2

 pvData types: scalar boolean int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double string scalarArray one dim array of any scalar type structure each field can be any type including structure structure array array of structure fields with each having same introspection interface union !!!!! new type single sub-field which can change type dynamically unionArray !!!!! new type array of union fields pvData – new features 3

 union has two flavors variant The field can have any PVData type regular union The set of allowed types can be specified pvData – new features 4 structure NTVariantArray int dataType boolean [] booleanValue byte [] byteValue short [] shortValue int [] intValue long [] longValue float [] floatValue double [] doubleValue string [] stringValue structure NTUnion union value boolean [] booleanValue byte [] byteValue short [] shortValue int [] intValue long [] longValue float [] floatValue double [] doubleValue string [] stringValue

Union – data instance 5 structure NTVariantArray int dataType boolean [] booleanValue [false,true,false] byte [] byteValue [] short [] shortValue [] int [] intValue [] long [] longValue [] float [] floatValue [] double [] doubleValue [] string [] stringValue [] structure NTUnion union value boolean [] booleanValue [false,true,false]

 pvDataCPP enforces Copy on Write for Arrays This greatly helps with developing support for multCore architectures.  FieldBuilder Easy way to create introspection objects  Support for fixed size and bounded size arrays. pvData – new features 6

pvAccess – new features 7  Revised pvAccess API  Minor, but backward in-compatible changes, to make API more user-friendly  Pluggable pvAccess security implementation support  e.g. pvaSrv implements CA asLib security plugin  “codec” based transport  This means: protocol logic only in one place for multiple transports (TCP, UDP, …, shmem, etc.)  Well tested and stable code (lots of regression tests)  Local multicast feature removes the need for “caRepeater”- like process  pvlist tool (find running servers, get server info and list of channels)  “wildcard” services (allows channel names like “*:twiss”)

 normativeTypes defines a set of standard structures. The purpose is to have well known structures for use by services and so that tools can be created to make it easy to use the standard structures.  Summary of existing status: Only C++ has helper classes normativeTypesCPP has major changes Builders make it easy and safe to create an instance. Support for alarm, timeStamp, control, display, enum Implemants NTScalar, NTScalarArray, NTNameValue, NTTable, NTMultiChannel, NTNDarray More in future releases normativeTypes 8

 NTScalar A scalar value field and optional fields like alarm, timeStamp, etc. Like the data available from any of the iocCore records that have a scalar VAL field.  NTScalarArray A scalarArray value field an optional fields. Like the data available from any of the iocCore records that have an array VAL field.  NTNameValue Just what the name implies, i. e. name,value pairs. A primary use is client arguments for a service. normativeTypes 9

 NTTable The value field has a set of subfields which are each a scalar array. The set of subfields is the rows of the table and each subfield is a column.  NTMultiChannel Used for data from a set of channels. Used to get/restore machine state, archiving, and control.  NTNDarray A C++ wrapper for areaDetector. normativeTypes (cntd.) 10

pvlist example mrk> pvlist GUID 0x2A32BF6FF57E443C835F8336, version 1: GUID 0x526FDACC23314A7D85CBB097, version 1: GUID 0x9D1FBC9F41FD47399CCC3731, version 1: mrk> pvlist :48028 powerSupplyArray scalarDouble dacCurrentEmbeded psSimple event counterInput current dacCurrentSupported counterMonitor mrk> pvlist -i 0x9D1FBC9F41FD47399CCC3731 structure string process 8433 string startTime T10:11: string version string implLang java string host atlas string os Linux amd64 string arch amd64 int CPUs 8

 The changes to the pvAccess API, Copy On Write, and other changes mean that all code that uses pvAccess and C++ code that uses arrays must be changed. We know that starting with V4 release 4.4 compatibility must be an important issue when future changes are considered.  The changes were made knowing that it was not compatible.  The changes were the results of discussions by the V4 developers over the last three or so years. Compatibility Issues 12

Status EPICS V4 release 4.4.0_pre1 Imminent EPICS V4 release Soon MS Visual Studio Support Peter Heestermann EPICS V3, Asyn, pvData/pvAccess,etc

Thank you!