JavaIOC Overview and Update EPICS Seminar/Workshop Raja Ramanna Centre For Advanced Technology Indore India January 27-30 2009 Presented by: Marty Kraimer.

Slides:



Advertisements
Similar presentations
MPI Message Passing Interface
Advertisements

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.
Early History of EPICS EPICS Seminar/Workshop Raja Ramanna Centre For Advanced Technology Indore India January Presented by: Marty Kraimer.
Control System Studio (CSS) Data Access Layer (DAL) Kay Kasemir, Xihui Chen July 2009.
1 XML Web Services Practical Implementations Bob Steemson Product Architect iSOFT plc.
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.
Status of VDCT Mark Pleško, Matej Šekoranja, John Maclean EPICS Meeting – Japan, 2004.
EPICS Architecture Version 3 Channel Access Client (CAC) Connection Data Transfers WAN/LAN/Local Connection Data Transfers Channel Access Server (CAS)
Jeffrey Hill.  LANSCE Requirements – a Review  EPICS Paradigm Shift – a Review  Status – What is Implemented  What is an Abstract Data Type?  Benefits.
PvData,pvAccess,javaIOC,pvService Status EPICS Meeting Aix-en-Provence, France Marty Kraimer, Guobao Shen, and Matej Sekoranja.
CS-341 Dick Steflik Introduction. C++ General purpose programming language A superset of C (except for minor details) provides new flexible ways for defining.
V4 – Executive Summary 1.Provide online add/delete of I/O to support continuous operation. 2.Provide redundant control of remote I/O to support improved.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
JavaIOC Marty Kraimer EPICS Collaboration Meeting ICALEPCS October
1 1999/Ph 514: State Notation Language EPICS State Notation Language (SNL) Ned D. Arnold APS.
ICS – Software Engineering Group 1 The SNS General Time Timestamp Driver Sheng Peng & David Thompson.
Imperial College Tracker Slow Control & Monitoring.
JavaIOC EPICS Meeting SSRF March Presented by: Marty Kraimer.
JavaIOC Status EPICS Meeting Vancouver May Presented by : Marty Kraimer Contributions by: Matej Sekoranja(cosyLab), Shen Guobao(BNL), Sheng Peng.
‘ActiveX’ CA Server (… and Client) Oct Kay-Uwe Kasemir, LANL.
Making LabVIEW look like an IOC Kay-Uwe Kasemir, LANL May 2002.
JavaIOC Status EPICS Meeting ICALEPCS2009 Kobe Japan Marty Kraimer And Matej Sekoranja.
Wir schaffen Wissen – heute für morgen Gateway (Redux) PSI - GFA Controls IT Alain Bertrand Renata Krempaska, Hubert Lutz, Matteo Provenzano, Dirk Zimoch.
New Features in EPICS V4 Release 4.4 EPICS Meeting 2014, CEA, October 2014 Marty Kraimer, Matej Sekoranja.
MASAR Server & Application Guobao Shen Photon Sciences Department Brookhaven National Laboratory Collaboration Working Group Oct 02, 2013.
Jožef Stefan Institute Oct. 8-9, 2005ACS 2005 Workshop Comparison of EPICS and ACS M. Plesko – JSI and Cosylab, in collaboration with Phil Duval, DESY.
Software Status Sonja Vrcic Socorro,
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Writing a Channel Access Client in EPICS Bob Dalesio, April 5, 2000.
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
EPICS EPICS Limitations Bob Dalesio Marty Kraimer.
Reliability/ Secure IOC / Outlook M. Clausen / DESY 1 CA-Put Logging BurtSave Warm Reboot Matthias Clausen DESY/ MKS.
Data Types written by Gabriele Carcassi performed by Bob Dalesio based on ideas/requirements from Bob Dalesio, Kay Kasemir, Ralph Lange, James Roland,
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
Developing Applications with the CSI Framework A General Guide.
1 BROOKHAVEN SCIENCE ASSOCIATES EPICS Version 4 – Development Plan V4 Team – presented by Bob Dalesio EPICS Meeting October 12, 2010.
1 1999/Ph 514: Flow of Control EPICS Flow of Control Marty Kraimer APS.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
EPICS Development for the ASKAP Design Enhancements Program ASTRONOMY AND SPACE SCIENCE Craig Haskins 18 th October 2015 EPICS User Meeting – Melbourne.
EPICS to TANGO Translator Rok Šabjan on behalf of Rok Štefanič Presented at ICALEPCS, Knoxville, October.
Source Controller software Ianos Schmidt The University of Iowa.
New IP Drivers using drvIpac Module Driver:CANopen Carrier Driver:GPFC drvIpac ?? CANopen Tip810 CAN Tip810 mv162GPFCatc40vipc310vipc616 Module driver.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays Channel access priorities Portable server replacement of rsrv.
Argonne National Laboratory is managed by The University of Chicago for the U.S. Department of Energy ICALEPCS 2005: EPICS Workshop EPICS V4 : Runtime.
Matthias Clausen, Jan Hatje, DESY CSS Overview – Alarm System and Management CSS Overview - GSI, 11 Februrary CSS Overview Alarm System and CSS.
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.
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
1 EPICS Flow of Control: EPICS Workshop at IHEP, Beijing, August 2001 EPICS Flow of Control Marty Kraimer APS.
Control System Overview J. Frederick Bartlett Fermilab June 1,1999.
Python PVA Prototype Siniša Veseli Software Engineer AES / Software Services Group EPICS v4 Group Meeting November 19, 2013.
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.
Chapter 27 Network Management Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
JavaIOC Overview and Update
Overview of Hadoop MapReduce MapReduce is a soft work framework for easily writing applications which process vast amounts of.
EPICS Version 4 Abstract:
SLAC USA Marty Kraimer and Matej Sekoranja
pvData,pvAccess,pvIOC,pvService Overview and Status EPICS Meeting
pvData,pvAccess,pvIOC,pvService Overview and Status EPICS Meeting
Writing a Channel Access Client in EPICS
Channel Access Concepts
pvData,pvAccess,pvIOC,pvService Overview and Status EPICS Meeting
Channel Access Concepts
Presentation transcript:

JavaIOC Overview and Update EPICS Seminar/Workshop Raja Ramanna Centre For Advanced Technology Indore India January Presented by: Marty Kraimer

January 2009EPICS Seminar RRCAT2 Background Development started 01FEB2006 Vision – Develop an IOC similar to EPICS IOC but also Structured Data EPICS records are flat Better Array Data EPICS arrays are fixed length; allocated during initialization Can not address a sub-array Allow any field to optionally have support For EPICS only INP and OUT can have soft/hard support Record type can hard code associated soft support for other fields Must be constant, DB, or CA Why Java Ease of implementation – Structured data is BIG step Was a good choice If (When?) implemented in C++ functionality will be defined

January 2009EPICS Seminar RRCAT3 Some Key JavaIOC Features A PVDatabase contains definitions of the following: Structure A structured set of data fields Provides an easy way to create a structured field in a record Defines well known things Record A record instance Has a top level structure AuxInfo describes auxiliary information about a field Just a structure How support is defined Key features of a record or structure Every field has code that provides access to Introspection interface Data interface JavaIOC optionally adds support to any field XML support for creating structure and record definitions

January 2009EPICS Seminar RRCAT4 JavaIOC data types Latest Version (not released) supports the following data types Type Scalar – All Java primitives except char pvBoolean pvByte,pvShort,pvInt,pvLong,pvFloat,pvDouble pvString – Implemented as a Java String Array – element type can be any scalar type Structure – ordered set of fields. Each field has name and type Major changes from early versions of JavaIOC pvUnknown no longer exist – Unnecessary complication pvEnum – enumerated type like EPICS menu and enum Replaced by structure Array element type can NOT be array or structure Unneeded complication – Just use structure.

January 2009EPICS Seminar RRCAT5 Example: Alarm Structure Definitions enumeratedFactory provides the name of a Java Factory Keeps index and choice in sync AlarmSeverity is enumerated structure defining alarm severities Alarm is a structure for alarms Has support Note message instead of EPICS status Will use in example to follow org.epics.pvData.misc.EnumeratedFactory enumeratedFactory none,minor,major,invalid alarmSupportFactory

January 2009EPICS Seminar RRCAT6 Generic structure Structure generic Has NO fields Has support named genericFactory Support generic Supports a structure Looks at each sub-field. If it has support, the support is called

January 2009EPICS Seminar RRCAT7 Really Simple Record Instance The above record instance Has a single field named value of type double. This is the ONLY data associated with this record. The field value is appended to structure generic which has no fields The record can be processed but not much happens except monitoring

January 2009EPICS Seminar RRCAT8 Not So Simple Record Instance The above record instance has the following fields value – type is double alarm data and support timeStamp display – display properties. input – input is from another record. Could be EPICS V3 record scan – The record is scanned once a second somePV periodic 1.0

January 2009EPICS Seminar RRCAT9 Current Development Phase II SBIR (Small Business Innovative Research) Grant from USA DOE Bob Dalesio applied for and manages the grant. Phase I was just Bob and me. Phase II includes others Goals: Development of JavaIOC itself Channel Access that supports structured data Matej Sekoranja (cosyLab) is responsible Define some Controls Related Structures and Support Changes to October 2008 release of JavaIOC pvData is a separate project - In source forge look for EPICS-pvData The XML syntax completely changed Now possible to define XSD (XML Schema Definition) New data types are supported Array element type must be a scaler, i.e. Can not be array or structure

January 2009EPICS Seminar RRCAT10 JavaIOC – What Is It? IOC - Input/Output Controller Has a smart real time database Record instances can be processed. Records can be accessed via Channel Access. Records can link to hardware, other records, etc. Has functionality like an EPICS IOC but Structured data Better Array data Generic Support Written in Java

January 2009EPICS Seminar RRCAT11 Features PV (Process Variable) Database Structure – Predefined Structures Record Instances XML Parser Record Processing and Monitoring Record Scanning: Periodic and Event Channel Access – BUT remote is only via EPICS Channel Access Generic structure and support definitions and implementation Port Driver is replacement for EPICS asynDriver Currently no hardware support thus not useful Calculation engine – JavaIOC replacement for EPICS calc support.

January 2009EPICS Seminar RRCAT12 PV Database Field – Has a name and type Field types Scalar: all Java primitives except char boolean boolean, byte, short, int, long, float, double string: implemented as a Java String ScalarArray Element type is any scalar type. Structure has fields. Each field has a name and can be any type Complex Structures fully supported Introspection and Data interfaces: Provide access to any field.

January 2009EPICS Seminar RRCAT13 PV Introspection Introspection Interfaces, i.e. no data Field: Methods: getType, getFieldName,... Scalar getScalarType Array: extends Field: Method: getElementType Structure: extends Field Methods: getFields,... FieldFactory Implements introspection interfaces Can be extended but probably not necessary

January 2009EPICS Seminar RRCAT14 PV Data Interfaces PVField: Base for data: Methods: getField,... PVScalar Base for scalar data interfaces PVBoolean,...,PVString : Methods: get,put PVArray: Base for array data interfaces PVBooleanArray,...,PVStringArray : Methods get,put PVStructure provides access to a structure. PVRecord provides access to a record instance. PVDataFactory Default implementation. Any PVField can be replaced. Often useful ConvertFactory: Convert between data types

January 2009EPICS Seminar RRCAT15 org.epics.pvData Java project for PV Data Packages: pv, factory, property, xml, misc Can be used for purposes other than JavaIOC Database Example: Channel Access It is designed to be used for other purposes. Via structures it could support Vector/Matrix Data Image Data Etc. PVRecord Record Locking – A record instance can be locked. Ability to monitor puts to any field of a record instance.

January 2009EPICS Seminar RRCAT16 JavaIOC Support and Record Processing Support Database Register and locate support for record and fields of a record. Record Processing Coordinates processing of a record instance. Both synchronous and asynchronous processing are supported. Each instance can have at most one record processor. A record can be self processed. Simulates multiple processors. Get and Put support Can process after put. Also supported by EPICS. Can process before get. Not supported by EPICS. Can put, then process, then get. Not supported by EPICS.

January 2009EPICS Seminar RRCAT17 Record Processing A record instance is basic process unit It is locked during any processing or I/O RecordProcess is master. It calls support for record instance. Support modules implement semantics ANY field can optionally have support Record instance must have support No lock sets

January 2009EPICS Seminar RRCAT18 Record Scanning Scan Types: passive, periodic, event Priority Uses Java priorities Threads created as required Periodic Arbitrary rate: minPeriod,deltaPeriod Event Based on eventName Replaces EPICS event and I/O Inter

January 2009EPICS Seminar RRCAT19 Support Methods Lifetime: initialize, start, stop, uninitialize process Implements Record Processing Semantics Each record instance has support Each field can optionally have support Support can call other support Support provided with javaIOC is as generic as possible During initialization looks for required fields and support If required fields not found then does not start Example: generic – support for a structure Calls support for each sub field that has support Each support must finish before next is called

January 2009EPICS Seminar RRCAT20 Implemented PV (Process Variable) Database XML Parser Record Processing/Scanning/Monitoring Channel Access Channel Access Local EPICS CA Server EPICS CA Client Generic record/structures and support portDriver – JavaIOC implementation of ASYN Support SWTSHELL: GUI iocshell Expression Calculator – features like EPICS calc.

January 2009EPICS Seminar RRCAT21 Not Implemented Replacement for EPICS sequencer. JavaIOC Channel Access Currently under development Full Introspection and structure support for JavaIOC client JavaIOC server VDCT: Visual Database Configuration Tool Access security Error logging ??? Lots to do!! BUT It is ready for at least soft IOC Support and soon for serial, gpib, and vxi11.