Title: Diapositiva 1
1INTEGRATION OF EPICS AND MDSplus G. Manduchi, A.
Luchetta, C. Taliercio, R. Capobianco Consorzio
RFX Euratom-ENEA Association
- Outline
- Introduction
- MDSplus Overview
- EPICS and MDSplus Integration
- MDSplus Channel Archiver
- MDSplus Channel Access Server
- mdsput Record
- mdsaction Record
- mdsevent Record
- Conclusions
2MDSplus (1 of 2)
- MDSplus is a data system widely used in the
fusion community - Provides tools and libraries for the management
of a rich variety of data. - Used in several fusion experiments for data
acquisition - Used in fusion as a common format to exhcange
experimental data
3MDSPlus Main Components (2 of 2)
- Data Management
- It is the basic layer handles a wide variety of
data types in a uniform way - Every data item is an Expression. Expression may
be as simple as scalars, or complex combination
of data items - It follows a python-like data approach
- Database support
- Both configuration and experimental results
stored in pulse files. - Pulse files are hierarchically organized
- Seamless data access for both local and remote
pulse files - Distributed pulse files are supported
- Support for data acquisition
- Actions and devices are concepts which allow
integrating new hardware in the systems and
supervising the data acquisition process.
4MDSplus and EPICS Integration (1 of 2)
- MDSplus and EPICS have a limited overlap
- EPICS addresses control and supervision
- MDSplus addresses Data Acquisition and Data
Management - When properly integrated EPICS and MDSplus may
offer a pervasive system for the full management
of fusion devices - Required integration for
- Data Flow
- EPICS uses data for control and supervision
- MDSplus is the data manager and handles both
configuration and experimental results - Not all data are of interest to EPICS (actually a
small fraction) - Co-ordination
5MDSplus-EPICS Integration Overview (2 of 2)
6MDSplus Channel Archiver (1 of 3)
- Mainly intended to store trend data into MDSplus
pulse files - Trend data, e.g. from PLC, are traditionally
managed in IOC for monitoring and alarm handling - Traditionally, the EPICS Channel Archiver has
been used to store trend data in indexed files - No more supported, new archiver at SNS uses a
Relational Database for storage - A new implementation of Channel Archiver provides
storage of trend data in MDSplus pulse files - Written in Java, using the pure java JCA Channel
Access Client library and the Java interface of
MDSplus - Instead of XML configuration files, it relies on
the hierarchical structure of the pulse file - Conversion tools for XML are available (from the
old Archiver XML to the MDSPlus XML pulse file
description)
7MDSPlus channel archiver (2 of 3)
- The MDSPlus Channel Archiver can sustain a much
larger data throughput - Tests carried out at RFX pointed out the limits
in the old archiver (lost samples and CPU load) - With the new Archiver, data loss (0.05 of the
total samples) starts at a rate of 300 kUpdate/s.
- In the original EPICS Archiver data loss begins
at a rate of 20 kUpdates/s - More Archivers can access the same MDSplus pulse
files and data can be read in parallel - MDSplus is a rugged data system since it has been
used for almost 20 years in fusion devices for
handling online and offline data acquisition
8MDSPlus Channel Archiver (3 of 3)
- Remote data access was provided by the original
EPICS Channel Archiver - Based on XML RPC
- Limited support for programmatic data access
(management of XML RPC protocol) - When stored on MDSplus pulse files, data are
natively available worldwide - Use the mdsip protocol, optimized for
communication speed - Available in a variety of languages (Fortran, C,
C, Java, Python, IDL, Matlab) - jScope provides interactive visualization of
stored waveforms.
9MDSPlus Channel Access Server
- MDSplus pulse files are normally used to contain
both configuration and experimental results - Parameters are read from pulse files
- Acquired data are written in the same database
- In order to let IOC access configuration
parameters, a Channel Access server will export
the contents of the pulse file
10mdsput Record (1 of 2)
- mdsput record provides storage of incoming data
into MDSplus pulse files - It represents an alternative data path in respect
to Channel Access - Channel Access exports PV values
- Mdsput stores data either locally or remotely
using the mdsip protocol - Local data access may be required for large data
throughput, such as camera acquisition - MDSplus supports distributed pulse files
- It allows storing a single sample or multiple
samples when processed - Samples are stored one by one when coming from
slow devices - ADC operating at higher sampling speed will
interrupt the system when their FIFO is half
full, and in this case a set of samples is read
in a single operation
11mdsput Record (2 of 2)
- The time associated with single samples can be
either the EPICS time or the relative time from
the start of the experiment - For block of samples, time has to be derived in a
different way - Two record fields, TRIG and PRD are used for the
trigger time and the period, respectively. - Based on this information it is possible to
associate a timestamp to each sample in the pulse
file - Every sample can be a scalar value, an 1D array
or a 2D array - Scalar values may be used for storing a single
data channel - 1D arrays may be used for multichannel ADCs
- 2D arrays may be used to store data coming from
frame grabbers
12mdsaction record (1 of 2)
- MDSplus defines an Action data type which
describes an operation to be performed during the
experiment sequence. - Often actions refer to device methods.
- In MDSplus a device is represented by a set of
data items, actually stored in a sub-tree,
containing all the required information to
specify an hardware device - Methods are associated with devices typically an
INIT and STORE method - Device Methods can be implemented in C or python
and extend MDSplus functionality to support
specific hardware - A large set of supported devices is available in
the MDSplus Web Site
13mdsaction record (2 of 2)
- The mdsaction record triggers the execution of
an MDSplus action - mdsaction record resembles the SUB record
- Basically both execute a routine (e.g. a device
method for MDSplus) - However mdsaction record allows to define remote
actions, i.e. actions which have to be executed
on different machines - This would allow a given IOC to supervise
operations on different (possibly embedded)
non-EPICS computers
14mdsevent Record
- MDSplus events are used for asynchronous
communication - The latest MDSplus event implementation uses UDP
multicast and can be used in real-time - The mdsevent record represents the bridge between
MDSplus events and EPICS IOCs - As MDSplus events can also bring data, mdsevent
record will also optionally produce data - They are actually implemented as a new Device for
the Waveform record - This record represents therefore a possible
source of external data for the EPICS IOC
15Conclusions
- The proposed set of tools and Records aims at
providing a closer integration of EPICS and
MDSplus - Some work has already been done at NSTX and
KSTAR, but none pushed integration so far - Possible future developments could address the
integration of the Java Tools of MDSplus in CSS - The final target is a pervasive system covering
all the requirements for a large fusion device.
16INTEGRATION OF EPICS AND MDSplus G. Manduchi, A.
Luchetta, C. Taliercio, R. Capobianco Consorzio
RFX Euratom-ENEA Association
QUESTIONS?