160 likes | 185 Views
Learn about integrating EPICS and MDSplus for efficient fusion device data management, addressing control, supervision, and data acquisition. Explore tools, architecture, and capabilities.
E N D
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 INTEGRATION 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
MDSplus (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 EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 MDSPlus 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.
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 MDSplus 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
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 MDSplus Pulse File CAS Channel Archiver (CAC) Ch. Access mdsip(TCP) PV mdsput mdsevent (UDP) EPICS IOC MDSplus wave STORE INIT mdsaction ADC MDSplus-EPICS Integration Overview (2 of 2)
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 MDSplus 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)
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 MDSPlus 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
MDSPlus 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. EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010
MDSPlus 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 EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 mdsput 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
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 mdsput 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
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 mdsaction 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
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 mdsaction 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
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 mdsevent 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
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 Conclusions • 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.
EPICS Collaboration Meeting, Aix-en-Provence, Spring 2010 INTEGRATION OF EPICS AND MDSplus G. Manduchi, A. Luchetta, C. Taliercio, R. Capobianco Consorzio RFX – Euratom-ENEA Association QUESTIONS?