EPICS Collaboration Meeting at ICALEPCS 2017

Hotel Fairmont Rey Juan Carlos I, Barcelona

Hotel Fairmont Rey Juan Carlos I, Barcelona

Hotel Fairmont Rey Juan Carlos I Avinguda Diagonal, 661-667 08028 Barcelona

EPICS (Experimental Physics and Industrial Control System) is a set of Open Source software tools, libraries and applications developed collaboratively and used worldwide to create distributed soft real-time control systems for scientific instruments such as a particle accelerators, telescopes, experiment beam lines and other large scientific experiments. The EPICS collaboration meeting provides an opportunity for developers and managers from the various different sites to come together and discuss their work in progress and make plans for the future. They give a chance to see what is being done at other laboratories, and to review the specifications for new tools or enhancements to existing ones in order to maximize their usefulness to the whole community and avoid duplication of effort. Topics that will be addressed:

  • The upcoming EPICS 7 release
  • Project status reports
  • User Interface tools
  • Technical presentations from EPICS users

The program has been published, please take a look. Some minor adjustments may still be made.

    • 9:30 AM 12:10 PM
      EPICS: EPICS 7 release introduction
      • 9:30 AM
        New EPICS website 20m
        Speaker: Dr Annika Nordt (European Spallation Source ERIC)
      • 9:50 AM
        EPICS 7 Roadmap 15m
        The release of EPICS 7 marks a major enhancement to the EPICS toolkit. EPICS 7 combines the proven functionality, reliability and capability of EPICS V3 with the powerful EPICS V4 extensions enabling high-performance network transfers of structured data. The code bases have been merged and reorganized. EPICS 7 provides a new platform for control system development, suitable for data acquisition and high-level services. This paper presents the current state of the EPICS 7 release, including the pvAccess network protocol, normative data types, and language bindings, along with descriptions of new client and service applications.
        Speaker: Bob Dalesio (Osprey DCS)
      • 10:05 AM
        EPICS 7 Restructuring 15m
        How is EPICS 7 different from previous versions of EPICS Base, and how have we incorporated V4 modules into the result? This talk will cover the internal changes and reorganizations that have been made to produce the new EPICS release, and their effect on downstream modules.
        Speaker: Mr Andrew Johnson (Argonne)
      • 10:20 AM
        EPICS 7 Features Update 15m
        Speaker: Michael Davidsaver (Osprey DSC)
      • 10:35 AM
        EPICS 7 and CS-Studio 15m
        Speaker: Mr Kunal Shroff (1984)
      • 10:50 AM
        CA vs PVA performance comparison for image transport 5m
        Speaker: Mr Kunal shroff (1984)
      • 11:00 AM
        Coffee break 30m
      • 11:30 AM
        Archiving EPICS 7 PVs 15m
        Speaker: Heinz Junkes (Fritz-Haber-Institut)
      • 11:45 AM
        EPICS 7 Services 15m
        Speaker: Mr Kunal Shroff (1984)
      • 12:00 PM
        PvaPy: Status Update 5m
        Recent developments in the pvaPy Python bindings for the new EPICS network protocol.
        Speaker: Mr Andrew Johnson (Argonne)
      • 12:05 PM
        pvAccess for Python (P4P) 5m
        Speaker: Michael Davidsaver (Osprey DSC)
    • 12:15 PM 1:30 PM
      EPICS Applications 1
      • 12:15 PM
        Commissioning the European XFEL cryogenic system and best practice 15m
        The cryogenic system of the European XFEL consists of various kinds of different components. For each component we implemented individual test procedures and commissioning plans. Since we were quite successful with this implementation we want to share our experience with you. This will cover simulation of I/O prior to installation, test procedures for PLC integration, testing hardware prior to installation, assigning IOCs to dedicated I/O and logical separation of databases based on 24/7 operations requirements.
        Speaker: Matthias Clausen (DESY)
      • 12:30 PM
        EPICS at Cooler Synchrotron (COSY) 15m
        The Cooler Synchrotron (COSY) is an accelerator and a synchrotron located in Jülich, Germany and operated by Forschungszentrum Jülich. Cosylab introduced EPICS to COSY's control system and developed an orbit control application running in a feedback loop on top of it. As a result, COSY is now running a distributed control system and is better prepared for future experiments that require a higher level of orbit control.
        Speaker: Mr Jan Malec (Cosylab)
      • 12:45 PM
        Hardware Triggered Scanning at Diamond Light Source 15m
        Hardware Triggered Scanning at Diamond Light Source involves the synchronization of a trajectory scanned motor with triggered capture of a detector and encoder positions. This talk will outline the approach taken to unify these types scans across multiple photon beamlines and outline the software and hardware that has been developed as a result. In particular it will focus on: - pmac: The new model 3 motor driver support for trajectory scanning the Delta Tau PMAC - areaDetector: The changes made to support writing multi-dimensional HDF5 files - PandABox: Developed in collaboration with Soleil, how it can be used to implement various triggering schemes - Malcolm: A Python middle-layer framework for co-ordinating the EPICS layers - GDA: The user interface kicking off Malcolm scans via pvAccess, and providing live monitoring and processing of data via HDF5 SWMR
        Speaker: Mr Cobb Tom (Diamond Light Source)
      • 1:00 PM
        areaDetector: What’s New? 15m
        This talk will focus on enhancements to the areaDetector package since it was last presented at the 2016 collaboration meeting at Oak Ridge. These include: - New ImageJ plugin called EPICS_NTNDA_Viewer.java that displays images using EPICS V4 NTNDArrays. It has the same functionality as the EPICS_AD_Viewer.java which uses EPICS Channel Access to display images in waveform records. EPICS V4 is a much better solution, since it transmits the images and metadata atomically over the network. It also allows dynamically changing the dimensions and datatype of the array, and does not require setting EPICS_CA_MAX_ARRAY_BYTES, which is a frequent source of problems for users. - New ImageJ plugin called EPICS_AD_Controller.java. This plugin allows using the ImageJ ROI tools (rectangle and oval) to graphically define: the readout region of the detector/camera; the position and size of an ROI (NDPluginROI); the position and size of an overlay (NDPluginOverlay). The plugin chain can include an NDPluginTransform plugin which changes the image orientation and an NDPluginROI plugin that changes the binning, size, and X/Y axes directions. The plugin corrects for these transformations when defining the target object. - Added support for multiple threads running the processCallbacks() function in a single plugin. This improves the performance of the plugin by a large factor. Linear scaling with up to 5 threads (the largest value tested) was observed for most of the plugins that now support multiple threads. The maximum number of threads that can be used for the plugin is set in the constructor and thus in the IOC startup script. The actual number of threads to use can be controlled via an EPICS PV at run time, up to the maximum value passed to the constructor. All of the standard plugins for which multiple threads are helpful and feasible now support this. - Added new Scatter and Gather plugins for parallel processing of NDArrays with multiple instances of a single plugin type. This is similar to the multiple threads support described above, except that it allows each plugin instance to have different settings. - Added support for GraphicsMagick in ADSupport so NDFileMagick and the NDURL driver can now run on Windows and Linux with no external libraries. - Added support for the blosc filter library with the HDF5 file plugin, providing additional compression options. - Added support for the new PhotonII detector from Bruker. The talk will also present the results from the working group meeting to be held on October 5 at ITER.
        Speaker: Dr Mark Rivers (University of Chicago)
    • 1:30 PM 2:30 PM
      Lunch break 1h
    • 2:30 PM 5:00 PM
      EPICS applications 2
      • 2:30 PM
        Web Extensible Display Manager 15m
        Jefferson Lab’s Web Extensible Display Manager (WEDM) allows staff to access EDM control system screens from a web browser in remote offices or from mobile devices. Native browser technologies are leveraged to avoid installing and managing software on remote clients such as browser plugins, tunnel applications, or a full EPICS and EDM environment. Since standard HTTP ports are used network firewall exceptions are minimized. To avoid security concerns from remote users modifying a control system WEDM exposes read-only access and basic web authentication can be used to further restrict access. Updates of monitored EPICS Channel Access PV record fields are delivered via WebSocket using a web gateway. Screens are translated to HTML with SVG following the EDM’s EDL file vector drawing rules to create faithful screen renderings. The WEDM server parses EDL files directly in real-time allowing existing screens to work as is. Alternatively, the familiar drag and drop EDM screen creation tool can be used to create optimized screens sized specifically for smart phones and then rendered by WEDM.
        Speakers: Ryan Slominski (JLAB), Theo Larrieu (Jefferson Lab)
      • 2:45 PM
        WebEPICS status update 5m
        Web client for EPICS developed at SNS is now called WebEPICS. Taking into account coding language preferences of potential contributors from EPICS community, major design changes were made to the original prototype presented a year ago. Various web technologies were evaluated to ensure the best web practices are considered and used given the unique requirements this project has. In its basic form WebEPICS provides Channel Access and PV Access web interface through WebSocket protocol. This alone could be a great tool for building EPICS web applications. Built in is also capability to load display files from CSS (hooks ready for EDM and other formats) and turn them into HTML documents that look as close to the originals as possible.
        Speaker: Mr Klemen Vodopivec (ORNL/SNS)
      • 2:50 PM
        Channelfinder Property Distribution via Infotags 5m
        This short talk will examine a method of inserting Properties into Channelfinder. Using IOC database 'infotags', arbitrary Properties may be associated with Records. Channelfinder clients may then utilize these Properties as they see fit.
        Speaker: Daron Chabot (FRIB MSU)
      • 2:55 PM
        Motor record – next generation 5m
        The EPICS support for motors, as we know it today, started with "Motor Record 4.1" in February 2000. While integrating modern motion controllers at ESS, we found that improvements are needed. Give a short overview what have been done (until we meet again in 2018).
        Speaker: Torsten Bögershausen (European Spallation Source ERIC)
      • 3:00 PM
        Keithley 6482 EPICS module prototype 5m
        The LCLS II requirements for the Bunch Current Monitor (BCM) attracted the preference to use the Keithley PicoAmmeter 6482 over the 6487 model. The EPICS module for controlling the PicoAmmeter 6487 was available to the EPICS community, but the 6482 module had not been developed. The differences in command’s syntax and functions between the two PicoAmmeters required SLAC to write a compatible driver for the PicoAmmeter 6482. A new EPICS driver module for PicoAmmeter 6482 has been prototyped for a final test during Early Injector Commissioning (EIC) prior to Production Commissioning of LCLS II. The prototype is based on the EPICS module Keithley6487 where the new functionalities are now accessible and the discrepancies with the previous command’s syntax has been addressed. Tips, test procedure and advices will be presented to facilitate similar challenges.
        Speaker: Ms Carolina Bianchini (SLAC)
      • 3:05 PM
        Open Source FPGAs 5m
        Speaker: Michael Davidsaver (Osprey DSC)
      • 3:10 PM
        Extending mbbiDirect and mbboDirect to 32 bits 5m
        The two bit field records mbbiDirect and mbboDirect have 32 bit RVAL fields already but only a 16 bit VAL field and bit fields B0-BF. I present the extension to 32 bit VAL fields with additional bit fields B10-B1F and its implications for device supports.
        Speaker: Dr Dirk Zimoch (PSI)
      • 3:15 PM
        IOC utilities 15m
        Debugging IOCs is often a difficult task. One frequent class of problems is reverse look-up like "Which links point to this record?" or "What are the alias names of this record?" I present several new utilities to help with reverse look-up of alias names, data base links, channel access connections, and info fields.
        Speaker: Dr Dirk Zimoch (PSI)
      • 3:30 PM
        Channel Access Push 20m
        This is a proposal for a new CA connection method with avoids broadcasts. Sometimes one well known client (e.g. the archiver) needs to connect to a large number of PVs on many IOCs. Now instead of the client looking for PVs, the IOCs could contact the client at startup. After that the usual monitor subscription mechanism could be used to transfer the data. This not only reduces broadcast traffic, in particular when an IOC goes offline, but also removes the need for a separate PV list configuration on the client.
        Speaker: Dr Dirk Zimoch (PSI)
      • 4:00 PM
        Coffee break 30m
      • 4:30 PM
        Channel Access from Cython (and other Cython use cases) 15m
        Cython is a high-level, Python-like, programming language with the ability to interface to C/C++ libraries. It is equipped with a compiler that translates Cython source into optimized C/C++ code, which in turn may be compiled into a Python extension module. In this way, a Python interface that allows existing code in an external C++ Channel Access library to be natively accessed has been developed, and is presented along with other Cython use cases, such as providing bindings to accelerator model libraries, and optimizing execution of Python code.
        Speaker: Dr Jan Chrin (Paul Scherrer Institute)
      • 4:45 PM
        The Lua Chunk Vault, an Enhancement to EPICS Base 15m
        Within EPICS base, LANSCE has multiple independent Lua contexts. They exist for implementing an enhanced Lua-based EPICS shell, the Lua-based scripting record, and for implementing advanced Lua-based subscription update filtering within the Channel Access Server. It is necessary to populate new Lua contexts with application specific code segments. Furthermore, efficiency requirements increase when instantiating independent Lua contexts on behalf of each TCP circuit connecting to the Channel Access server, and therefore higher throughput alternatives in contrast to simply loading and compiling Lua code from text files are necessary when instantiating each new Lua context.
        Speaker: Mr Jeff Hill (LANSCE)
    • 5:00 PM 6:30 PM
      EPICS Council: EPICS future

      How will the development of EPICS proceed now that we have reached version 7?

      • 5:00 PM
        EPICS Council 15m
        An overview of the formation of the EPICS Council, created to work towards the long-term support of EPICS development efforts.
        Speaker: Ms Karen White (ORNL)
      • 5:15 PM
        ESS vision and wishes 5m
        Speaker: Henrik Carling (European Spallation Source ERIC)
      • 5:20 PM
        EPICS status and future at KEK 5m
        Speaker: Dr Masanori Satoh (KEK)
      • 5:25 PM
        EPICS future at Diamond 5m
        Speaker: Mark Heron (Diamond Light Source)
      • 5:30 PM
        EPICS at APS 5m
        Speaker: John Maclean (Argonne National Laboratory)
      • 5:35 PM
        EPICS at PSI 5m
        Speaker: Markus Janousch (Paul Scherrer Institut)
      • 5:40 PM
        Future of CS-Studio 5m
        Speaker: Dr Kasemir Kay (ORNL/SNS)
      • 5:45 PM
        Open discussion 45m