Spring 2021 EPICS Collaboration Meeting · Online




Thank-you to everyone who contributed to and participated in the EPICS Spring Collaboration Meeting 2021.

The meeting itself was a virtual event due to COVID-19, and was run using Whova and Zoom. This site is being used for long-term accessibility of presentation materials and videos recorded during the Meeting. 

  • Aamir Latif Baloch
  • Abel Cano
  • Adam Stephen
  • Adam Webb
  • Adrián Martínez Múnera
  • Ajit Kurup
  • Alan Duffy
  • Alex Saoulis
  • Alex Wallace
  • Alexander Scheinker
  • Alexander Wells
  • Alexis gaget
  • Alisa Paterson
  • Andrew Johnson
  • Aniket Tekawade
  • Anthony Caracappa
  • Anthony Pietryla
  • Anthony Wilson
  • Anton Derbenev
  • Anton Philippe Tanquintic
  • Antonio Miguel Lopez Antequera
  • Aoun Muhammad
  • Arunkumar Bommannavar
  • Basil Aljamal
  • Beau Harrison
  • Bo He
  • Casey Callaghan
  • Charlie Boswell
  • Charlie King
  • Chelsea Greenwald
  • Chen Lin
  • Connor Boyle
  • Daniel Allan
  • Daniel Hoffmann
  • Daniela Tanase Broten
  • David Beauregard
  • David Muir
  • Davide Marcato
  • Denise Finstrom
  • Dirk Zimoch
  • Dnyaneshwar Tolmare
  • Dohn Arms
  • Dominic Oram
  • Douglas Beniz
  • Ebenezer Essilfie
  • Edison Lam
  • Edmund Blomley
  • Edward Jones
  • Edwin Edquist
  • Edwin van der Spuy
  • Elio Valenzuela
  • Evan Daykin
  • Fatemeh Ahmad Mehrabi
  • Florian Feldbauer
  • Freddie Akeroyd
  • Gabriel Desmarchelier
  • Gang Li
  • Garth Steel
  • Gary Yendell
  • Ge Lei
  • Geonyeong Mun
  • Gillian Black
  • Ginette LaVoie
  • Giovanni Arena
  • Giovanni Savarese
  • Glen Wright
  • Gongfa Liu
  • Greg Cala
  • Guanqun Zhou
  • Guobao Shen
  • Hao Hao
  • Hector Novella
  • Heinz Junkes
  • Henrik Carling
  • Henrique Silva
  • Hermann Kamani Tiako
  • Hitendra Chouhan
  • Hitesh Dhola
  • Hugo Slepicka
  • Huw Shorthouse
  • Ifeanyi Ossai
  • Igor Khokhriakov
  • Ilja Bekman
  • Isaac Ajayi
  • Ivan Finch
  • Jacqueline Garrahan
  • Jakub Wlodek
  • James King
  • James Patrick
  • James Smedinghoff
  • James Stevens
  • Jay Van Doornum
  • Jeong Han Lee
  • Jerry Firebaugh
  • jimmy you
  • Johnny Tang
  • Joseph Mead
  • Juniper Willard
  • Justin Abraham
  • Kacper Kłys
  • Karen White
  • Kathryn Baker
  • Kathryn Janzen
  • Kay Kasemir
  • Ken Lauer
  • Klemen Vodopivec
  • Konrad Gajewski
  • Kris Meeus
  • Kukhee Kim
  • Kunal Shroff
  • Lana Abadie
  • Lara Olubajo
  • Laurent Daudin
  • Lisa Dorofeeva
  • Liuguo Chen
  • Marcel Bajdel
  • Marcio Donadio
  • Maren Hauschildt-Purves
  • Mark Rivers
  • Marnelli Martinez
  • Mateusz Hoppe
  • Mathew Rippa
  • Matt Gibbs
  • Matthew Furseman
  • Matthew Pearson
  • Maurizio Montis
  • Mauro Giacchini
  • Max Wyman
  • Megan Cheesbrough
  • Mehmet Bozdogan
  • Michael Bree
  • Michael Davidsaver
  • Michael Hart
  • Michael Sintschuk
  • Michel Fodje
  • Mijail Todorovich
  • Mohamed Meera Sahib Mohamed Shaikkadiar
  • Mohsen Shakouri
  • Najm us Saqib
  • Narayan Appathurai
  • Nathanael Maytan
  • Nicoletta Petrella
  • Oksana Ivashkevych
  • oyeyemi oyelere
  • Patrick Oppermann
  • Paul Lotrus
  • Pedram Navidpour
  • Pedro Gigoux
  • Peiyu Quan
  • Pete Jemian
  • Peter Milne
  • Peter Zumbruch
  • Petra Schwalbach
  • Philipp Klaus
  • Pierrick Hanlet
  • Pilar Gil Jaldo
  • Prarthan Mehta
  • Qingjuan Guan
  • Raj K
  • Ralph Lange
  • Ramanpreet Grewal
  • Ravi Inder Jassar
  • Ravindranath Mannava
  • Rebecca Harding
  • Richard Farnsworth
  • Richard Neswold
  • Rob Knudson
  • Robby Tanner
  • Robert Rainer
  • Rodrigo Castro
  • Roland Moser
  • Roland Müller
  • Rolf Keitel
  • ru igarashi
  • Russ Berg
  • S.M. Hasanul Banna Kasemi
  • Sandeep Malu
  • Sandra Breuer
  • Sebastian Marsching
  • Sergio Troncoso
  • Shefali Saxena
  • Simon Friederich
  • Simon Rose
  • Sinisa Veseli
  • Stephan Bökelmann
  • steve terepin
  • Steven Hartman
  • Steven Webb
  • Stuart Read
  • Stéphane Tzvetkov
  • Subindev D
  • Susan James
  • Susanne Regnell
  • Teak Boyko
  • Thomas Birke
  • tian Qin
  • Tieyan Chang
  • Till Straumann
  • tim may
  • Tim Mooney
  • Tim Speight
  • Timo Korhonen
  • Tom Cobb
  • Tom Stainer
  • Tonia Batten
  • Tor Pedersen
  • Torsten Bögershausen
  • Travis Richard
  • Tyler Morhart
  • Tylor Sove
  • Tynan Ford
  • Ulrik Pedersen
  • Victor Nadot
  • Wenming Qin
  • William Duckitt
  • Woo-suk Noh
  • Wu-Cheng Chiang
  • Xiaoqiang Wang
  • Xuewei Dong
  • Yu-Sheng Chen
  • yue zongyang
  • Zhichu Chen
  • Ziyu Huang
  • 强 王
    • 1:30 PM 2:00 PM
      Pre-meeting check-in and connection testing
      • 1:30 PM
        Pre-meeting check-in and connection testing 30m
        Speaker: Robby Tanner
    • 2:00 PM 2:30 PM
      Conference Kick-Off: Opening remarks
    • 2:30 PM 6:00 PM
      Introduction to Bluesky: Tutorials
      • 2:30 PM
        Introduction to Bluesky 1h 30m

        Bluesky is a collection of Python libraries co-developed by a multi-facility collaboration to enable high-level experiment orchestration and data acquisition. It has growing adoption at facilities around the world. Bluesky is designed to leverage and interact with existing libraries and software in the scientific Python ecosystem. The various components of Bluesky may be used together, as a full suite, or independently, to handle specific aspects of the data collection pipeline.

        This interactive presentation will provide a broad overview of the Bluesky suite, its structure and philosophy, and the purpose and function of each of its components.

        Speaker: Dr Daniel Allan (NSLS-II)
      • 4:00 PM
        break - 30 minutes 30m
      • 4:30 PM
        Tutorial: Using Ophyd to Control EPICS Devices 1h 30m

        Ophyd is a Python library which abstracts EPICS controls and encapsulates them behind a high-level, object-oriented interface. This enables interaction with hardware from Python in a structured, hierarchical and uniform fashion. Ophyd is part of the Bluesky software suite but may be used independently.

        This interactive presentation will demonstrate how to use Ophyd to interact with EPICS-driven devices, and how to create new Ophyd wrappers for previously unsupported devices.

        Speaker: Michael Hart (NSLS II)
    • 2:30 PM 4:45 PM
      Introduction to EPICS: Tutorials
      • 2:30 PM
        Introduction to EPICS 25m

        An introduction to the concepts of EPICS.

        Speaker: Gillian Black (Canadian Light Source)
      • 2:55 PM
        break - 5 minutes 5m
      • 3:00 PM
        EPICS-Next, the Challenges of Digital Control a table top experiment 45m

        We would like to show you a simple installation of a small experiment. The idea here is to get as simple as possible to a Data acquisition so that the start in the EPICS world is easy.
        The individual steps are:
        Install all needed support modules via a script.
        Download freely available drivers and IOCs from the internet, e.g. Eurotherm2k.
        Get an own IOC up and running.

        Speakers: Patrick Oppermann (Fritz-Haber-Institut) , Heinz Junkes (Fritz-Haber-Institut)
      • 3:45 PM
        break - 15 minutes 15m
      • 4:00 PM
        EPICS Tutorial 45m

        EPICS Tutorial with VM.

        Speakers: Juniper Willard (CLS) , Michael Bree (Canadian Light Source)
    • 1:30 PM 2:00 PM
      Pre-meeting check-in and connection testing: includes opening remarks
      • 1:30 PM
        Pre-meeting check-in and connection testing 25m
        Speaker: Robby Tanner
      • 1:55 PM
        Opening remarks 5m
        Speaker: Glen Wright (Canadian Light Source)
    • 2:00 PM 2:30 PM
      Welcome session: Welcome message from Director - Rob Lamb
    • 2:30 PM 5:35 PM
      EPICS - General


      • 2:30 PM
        EPICS Controls at the CLS Spanning 22 Years 20m

        The CLS was announced in 1999. This is a brief description of the EPICS controls when it first started in operation to the present day.

        Speaker: Tony Wilson (Canadian Light Source)
      • 2:50 PM
        break - 5 minutes 5m
      • 2:55 PM
        StreamDevice, quo vadis? 20m

        For many years, StreamDevice is one of the most used and successful EPICS device supports, mainly because of its flexibility. But development has slowed down a bit. Does that mean, there is nothing more to do? Several recent modifications came from the EPICS community, mainly related to error message handling. What is needed for the future?

        Speaker: Dr Dirk Zimoch (Paul Scherrer Institut)
      • 3:15 PM
        break - 5 minutes 5m
      • 3:20 PM
        Automatic Wrapping of Functions for IOCSH 15m

        Wrapping of functions to be called from iocsh requires writing a significant amount of boiler-plate code. We present a set of C++ templates which automates this tedious task and let the user wrap and register simple functions in a single line.
        In more complex cases the templates can be extended/specialized, e.g., to convert user-defined function argument types. While the templates require c++ the wrapped function may be a plain C function. E.g., assume you want to wrap hello():

         extern "C" void hello(const char *world);
         #include <iocshDeclWrapper.h>
         // add the following line to some iocsh registrar
         IOCSH_FUNC_WRAP( hello );
        Speaker: Till Straumann (PSI)
      • 3:35 PM
        break - 5 minutes 5m
      • 3:40 PM
        EPICS on pre-existing code 10m

        Though the benefits of using EPICS in a brand-new system with no prior code are well known, there are many systems which carry existing codebases - which are often substantial, or have some individual quirks specific to the given system which the users have become accustomed to and would prefer to retain. This talk presents a discussion on the rapid and robust addition of the EPICS communication framework over the top of a small number of existing (C/C++) projects, and some notes on the pitfalls encountered in the completion of such an endeavour.

        This will be a ten-minute presentation.

        Speaker: Casey Callaghan (iThemba LABS)
      • 3:50 PM
        break - 5 minutes 5m
      • 3:55 PM
        pip install softioc 20m

        In 2008 pythonIoc was developed, an EPICS IOC with an embedded Python interpreter to serve PVs calculated from other PVs using Python functions. Since then it has grown to provide more than 60 of the IOCs at DLS, including some that talk directly to hardware. In 2021 it was turned into Python module which embeds an EPICS IOC, which means you can now pip install softioc and incorporate it into a standard Python application. This talk will give a brief overview of the features that pythonIoc now offers.

        Speaker: Tom Cobb (Diamond Light Source)
      • 4:15 PM
        break - 5 minutes 5m
      • 4:20 PM
        areaDetector: What’s New? 20m

        This talk will focus on enhancements to the areaDetector package since it was last presented at the 2019 collaboration meeting at ICALEPCS in New York. These include:

        • New NDPluginBadPixel plugin to replace bad pixels in NDArrays.
        • New plugins NDPluginBar for bar code reading and ADCompVision for general access to the OpenCV image processing.
        • Enhancements to the ADGenICam intermediate base class.
        • GenICam integer features are now EPICS 64-bit integers
        • Support for mapping EPICS doubles to GenICam integers and vice-versa.
        • Support for unpacking Mono12Packed and Mono12P formats.
        • Enhancements to other drivers including ADAravis, ADSpinnaker, ADVimba, and ADEiger
        • Addition of new Python viewer to ADViewers, written by Marty Kraimer. It supports compressed NTNDArrays.
        Speaker: Mark Rivers (University of Chicago)
      • 4:40 PM
        break - 5 minutes 5m
      • 4:45 PM
        How fast can you stand up a new EPICS IOC? Try it out in Docker! 20m
        Speaker: Pete Jemian
      • 5:05 PM
        break - 5 minutes 5m
      • 5:10 PM
        OPC UA Device Support - Update 10m

        In a collaborational effort (ITER/HZB-BESSY/ESS/PSI), a Device Support for the OPC UA industrial SCADA protocol is under development. Goals, status and roadmap will be presented.

        Speaker: Ralph Lange (ITER Organization)
      • 5:20 PM
        break - 5 minutes 5m
      • 5:25 PM
        ADC Monitoring at CLS 10m

        In order to monitor Booster Ring (BR) ramping at the Canadian Light Source (CLS), ADCs were installed to measure the magnet currents.

        A Python Driver was created for these ADCs to feed values into an EPICS IOC Application. A graphical interface was also created using the PyDM framework for Python-based Qt graphical interfaces.

        Speakers: Juniper Willard (CLS) , Michael Bree (Canadian Light Source)
    • 5:35 PM 5:40 PM
      break - 5 minutes 5m
    • 5:40 PM 6:05 PM
      Lightning Talks: Lightning
      • 5:40 PM
        PV Monitor 5m

        A tool used to monitor that status of process variables and the applications that serve them

        Speaker: Michael Bree (Canadian Light Source)
      • 5:45 PM
        Update on Qt Applications at TRIUMF 5m

        TRIUMF is preparing for the obsolescence of Motif by developing backward-compatible replacements for alh, StripTool and edm. This presentation will discuss the current state of the replacement applications TAlh, TChart and edmq which are based on the Qt system.

        Speaker: Rolf Keitel (TRIUMF)
      • 5:50 PM
        React Automation Studio Alarm Handler 5m

        A new web-based EPICS alarm handler has been designed. The alarm handler GUI is built on top of the React Automation Studio (RAS) platform and the alarm and notification servers are developed in Python. The alarm handler is seeded through JSON files that populate a MongoDB database. This database is used to persist all alarm configurations, events and activity logs. At present users can be notified via email and Signal messenger. SMS and WhatsApp notifications have also been tested. A general overview of the RAS alarm handler as well as the architecture, capabilities, conventions and its implementation at iThemba LABS are presented.

        Speaker: Justin Abraham (iThemba LABS)
      • 5:55 PM
        Maintenance planning system in CSNS 5m

        A web-based system designed to record and track the weekly and summer-shutdown maintenance tasks in CSNS facility. In order to increase development effiency and improve development flexibiliy, the system is developed with MongoDB database, Node.js backend and Vue.js frontend. The backend is deployed as a REST API, and the frontend as a single page application.

        The system has been online for one and a half years and become a very useful high-level application in CSNS.

        Speaker: Lin Wang (IHEP)
      • 6:00 PM
        Tools for troubleshooting devices through Channel Access 5m

        Vendor-supplied diagnostic tools are often useful for configuring and troubleshooting devices. In many cases, however, these tools communicate in such a way that conflicts with IOC communication, which can be inconvenient for a number of reasons. This talk discusses some reasons to develop diagnostic tools that communicate with the device entirely by sending device-level commands through a single intermediary PV such as the Asyn PV.

        This talk will discuss PyPmacTuner, a graphical diagnostic tool for the Delta Tau Turbo PMAC. PyPmacTuner communicates with the controller entirely through the Asyn PV, which allows for troubleshooting the controller while the IOC is still running. This is extremely convenient for troubleshooting axis 8 of a controller without preventing beamline users from controlling axes 1 through 7.

        Additionally, going through the Asyn PV allows features to be added on the client-side rather than the IOC-side, which means the IOC does not need to be recompiled or restarted when new features are added.

        Speaker: Mr Richard Farnsworth (Brookhaven National Laboratory)
    • 6:05 PM 6:15 PM
      break - 10 minutes 10m
    • 6:15 PM 7:20 PM
      EPICS for Industries: Placeholder

      Updates from EPICS facilities

      • 6:15 PM
        ITER control system integration process, status, lessons learnt and forecast 20m

        The ITER control system started integration and operation of in-kind deliveries in 2018. Since then, the integrated control system has been expanded with monitoring and control of ITER buildings and utilities and is poised to receive the first contributions to the distributed real-time control of the ITER machine.

        A control system integration process has been defined to address the integration and verification of in-kind deliveries. The process aims at providing a robust incremental and iterative integration mechanism to facilitate rapid deployment of fixes and features during the site acceptance and commissioning process, whilst also ensuring conformance to requirements related to enabling effective operation and maintenance of the ITER integrated control system by the ITER central team.

        After three years, a large number of EPICS-based control system software components have been deployed and have also gone through perfective and adaptive maintenance. Over 100 EPICS IOC sit atop industrial automation controllers and provide configuration, control and monitoring functions. EPICS Channel Access and pvAccess gateway services provide bi-directional communication, role-based and condition-based access control capabilities to the Temporary Main Control Room (T-MCR), as well as Remote Participation Centers (RPC) located in the Russian Federation and the United States. Software application frameworks have been adopted and developed to facilitate deployment of pvAccess to support central automation and monitoring services.

        The presentation will re-affirm the control system integration objectives, the integration process, summarise the status after 3 eventful years, the lessons learnt, and forecast for the short-term future.

        Speaker: Bertrand Bauvir (ITER Organization)
      • 6:35 PM
        break - 5 minutes 5m
      • 6:40 PM
        Judgement System : qualifying a signal set against a limit mask 20m

        D-TACQ produces a range of networked DAQ systems with flexible IO configuration. Each system has "EPICS Inside", running the business logic, and publishing control, diagnostic and data points on Channel Access. The talk shows an example of customising the internal IOC to fulfill a customer function that also has general use.

        Speaker: Peter Milne (D-TACQ Solutions Ltd)
      • 7:00 PM
        break - 5 minutes 5m
      • 7:05 PM
        Beckhoff EK9000 Module 10m

        Beckhoff IO is economical, robust, and exceedingly diverse. Their complete EtherCAT terminal line can be utilized without a PLC, or an EtherCAT master occupying a NIC by using an EK9000 Modbus coupler. The coupler maps the PDO of EtherCAT terminals to Modbus registers and coils, in a similar fashion as the Beckhoff BK9000 (which only works with the K-bus terminals [Beckhoff proprietary]). This module enables direct EPICS integration of fairly arbitrary EtherCAT chains over Modbus TCP.

        Speaker: Jeremy Lorelli (SLAC)
      • 7:15 PM
        break - 5 minutes 5m
    • 7:20 PM 7:25 PM
      Closing remarks 5m
      Speaker: Glen Wright
    • 1:25 PM 2:00 PM
      Pre-meeting check-in and connection testing
      • 1:30 PM
        Pre-meeting check-in and connection testing 25m
        Speaker: Robby Tanner
      • 1:55 PM
        Opening remarks 5m
        Speaker: Glen Wright (Canadian Light Source)
    • 2:00 PM 4:10 PM
      GUI: Talks
      • 2:00 PM
        EPICS integration in QML/QtQuick 30m

        Qt has two different toolkits for creating GUIs. One is the classical widgets as we know from the beginning. It is stable, which also means it is effectively in maintenance state. Another is QtQuick/Qml, with v1 appearing in Qt4.7 and v2 in Qt5 with a complete overhaul in the backend. QtQuick/Qml promotes a new, descriptive programming paradigm. This leads to simple signal/slots/property handling and facilitates creation of dynamic UI components.

        In this talk, I want to share my findings as a result of self-education. Hopefully I wish to explain what it is, demonstrate its advantages through examples, and lastly how to make it EPICS aware.

        Speaker: Xiaoqiang Wang (Paul Scherrer Institute)
      • 2:30 PM
        break - 5 minutes 5m
      • 2:35 PM
        PyDM Status Update 10m

        A brief update on new features in PyDM (Python Display Manager), and the roadmap for future work.

        Speaker: Matt Gibbs (SLAC National Accelerator Laboratory)
      • 2:45 PM
        break - 5 minutes 5m
      • 2:50 PM
        Rapid Screen Builder 15m

        At the CLS, Beamline Scientists often ask for simple EPICS screens, or temporary screens for one time tasks. This talk presents and demonstrates a simple Rapid Screen Builder for EPICS with the goal that any Beamline Scientist can quickly create a simple screen in minutes, if not seconds, with no programming whatsoever. The Screen Builder presented here is just a simple prototype, developed as an exercise in PyQt programming.

        Speaker: Michael Bree (Canadian Light Source)
      • 3:05 PM
        break - 5 minutes 5m
      • 3:10 PM
        pySTXM: python, Qt, BlueSky application for STXM data collection 20m

        pySTXM is a data collection application for STXM beamlines that attempts to use UI idea’s borrowed from Adobe Photoshop and Blender to create a user interface that facilitates learning and decreased data collection time by reducing users ability to make mistakes that waste “shutter time” during the average beamline shift. Among its features are tools for interactive user/data experience, an agnostic view for the underlying control system as well as a standardized data storage format via NEXUS.
        Approx time: 20 – 30 minutes plus Q and A time

        Speaker: Russ Berg (Canadian Light Source)
      • 3:30 PM
        break - 5 minutes 5m
      • 3:35 PM
        CS-Studio and Phoebus Update 15m

        An update from the CS-Studio and Phoebus collaboration about recent developments in the core framework and the various applications and tools built on it.

        Speaker: Kunal Shroff
      • 3:50 PM
        break - 5 minutes 5m
      • 3:55 PM
        Phoebus Olog Service 15m

        The Phoebus Olog is an online logbook used for recording operational and experimental events by users or programmatically by other applications. The Phoebus Olog service is an evolution of the Olog web service. It uses modern nosql data stores like mondoDB and elastic which provide horizontal scalability, improved performance, and complex querying functionality like fuzzy searches. The new service is accompanied by new Phoebus, web, and mobile clients. The Phoebus clients provide integration with alarm, archiving, and OPI while the web and mobile clients provide convenient accessibility on the move.

        Speaker: Kunal Shroff
    • 4:10 PM 4:20 PM
      break - 10 minutes 10m
    • 4:20 PM 5:25 PM
      Tools: Part 1
      • 4:20 PM
        Making Windows Applications EPICS-Aware with Python 20m

        The presentation will explain using Python to make Excel EPICS-aware. This same technique can be applied to any application that acts as an "Automation Server"; such as AutoCAD, MS Word and other programs in the Microsoft Office "Productivity" Suite.

        The mechanism that exposes these "automation objects" is implemented at the O/S level, so any language that can make system calls can control these servers (e.g. VBA, .NET, Delphi, C++, Python).

        The live demos will show implementations of this technique for test automation, diagnostics and PV prototyping.

        Speaker: Robby Tanner (Canadian Light Source)
      • 4:40 PM
        break - 5 minutes 5m
      • 4:45 PM
        IOCSee 20m

        IOCSee is a tool under development at the Canadian Light Source (CLS) which allows for Glass Box testing of an EPICS IOC Application during operation.

        Monitoring of PV Fields is not confined to the VAL Fields, and thus support is available for more complex IOC Applications where differing fields are varied dynamically based upon calculations or conditions. A demonstration of IOC Monitor will also be shown.

        Speaker: Mr Juniper Willard (CLS)
      • 5:05 PM
        break - 5 minutes 5m
      • 5:10 PM
        Dynamic firewall manager prototype for EPICS Channel Access 15m

        Background: Setting up firewalls on EPICS IOC's are a troublesome
        matter. When multiple IOC's run on a server, all but the first
        one uses random port numbers to establish connections to clients,
        whereas openings in firewalls tend to be defined by fixed
        port numbers. Purpose: Dynamically manage firewalls as IOC
        applications come and go. Method: A prototype service was
        developed that detects new or lost instances of IOC applications
        through Channel Access beacons and process ID's, and adds or
        removes firewalls automatically, without prior knowledge of IOC
        applications. There are perl and python versions (to accommodate
        whichever is installed on IOC's), and works with iptables, nft,
        and firewalld. Results: In multiple restarts and in a couple of
        weeks of testing, firewall openings worked fine, but occasionally
        some openings did not close, mostly due to timing of restarting
        the service. Conclusion: The concept works on a small scale, but
        it has not been tested on large servers or a production environment.

        Speaker: ru igarashi (Canadian Light Source)
    • 5:25 PM 6:40 PM
      Future of EPICS: Talks
      • 5:25 PM
        A Future for EPICS Linux Packaging? 10m

        For more than ten years, NSLS-II have provided Debian packages for many EPICS parts and tools to the community as a public repository. The packaging effort is shared and hosted at GitHub's epicsdeb organization. Following recent changes at BNL and the departure of key persons, this established collaboration is at risk.
        Other institutes have been packaging for RHEL, but as more or less isolated efforts and without the packages being available to the public.
        Which direction should this go? How can we organize to share effort efficiently and produce more packages of higher quality?

        Speaker: Ralph Lange (ITER Organization)
      • 5:35 PM
        break - 5 minutes 5m
      • 5:40 PM
        EPICS and IPv6 10m

        How much work would it take to support the PV Access and/or Channel Access protocols over IPv6, and how urgently are they needed? This talk may have more questions than answers, but US DOE Laboratories are being required to adopt IPv6 or to request a waiver. It won't be too long before new experimental control systems will have to run on IPv6-only networks, so to survive in that era EPICS needs a plan.

        Speaker: Mr Andrew Johnson (Argonne National Laboratory)
      • 5:50 PM
        break - 5 minutes 5m
      • 5:55 PM
        Kubernetes for EPICS IOCs 20m

        EPICS IOCs at Diamond Light Source are built, deployed, and managed by a set of in-house tools that were implemented 15 years ago. This paper will detail a proof of concept to demonstrate replacing these legacy tools and processes with modern industry standards.

        IOCs are packaged in containers with their unique dependencies included. A layered approach to container design ensures that disk space requirements are controlled. The dependency hierarchy is kept to a minimum for easy maintenance. Sources of container image builds have been chosen to maximize portability and enable collaboration.

        IOC images are generic, and a single image is required for all containers that control a given class of device. Configuration is provided to the container in the form of a start-up script only. The configuration allows the generic IOC image to bootstrap a container for a unique IOC instance. This approach keeps the number of images required to a minimum.

        Container orchestration for all beamlines in the facility is provided through a central Kubernetes cluster. The cluster has remote nodes that reside within each beamline network to host the IOCs for the local beamline.

        All source, images and individual IOC configurations are held in repositories. Build and deployment to the production registries is handled by continuous integration.

        Finally, a development container provides a portable development environment for maintaining and testing IOC code.

        Speaker: Giles Knap (Diamond Light Source)
      • 6:15 PM
        break - 5 minutes 5m
      • 6:20 PM
        EPICS Core Developments & Plans 20m

        Recent developments and future plans for EPICS Base from the EPICS Core Developer's Group.

        Speaker: Andrew Johnson (Argonne)
    • 6:40 PM 6:45 PM
    • 1:30 PM 2:00 PM
      Pre-meeting check-in and connection testing
      • 1:30 PM
        Pre-meeting check-in and connection testing 25m
        Speaker: Robby Tanner
      • 1:55 PM
        Opening remarks 5m
        Speaker: Glen Wright (Canadian Light Source)
    • 2:00 PM 2:30 PM
      Conference Kick-Off: Saskatoon - An Historical Perspective
    • 2:30 PM 4:50 PM
      Tools: Part 2
      • 2:30 PM
        The LUME-EPICS Python package for supporting simulations over CA and PVA 10m

        LUME-EPICS is a dedicated Python API and related server that provides an EPICS interface for machine learning and physics-based simulation models using variable representations defined in the LUME-Model package, which enforces minimal data requirements for serving model variables. The server is configurable for use with either Channel Access, pvAccess, or a synchronized dual server, accepting inputs and outputs in the form of scalars, images (e.g. areaDetector for Channel Access and NTNDarrays with attributes for pvAccess), and arrays. Features include templated variable and display generation, Bokeh client widgets, and minimal model abstraction. To illustrate LUME-EPIC's utility, we will showcase a neural network representation of the LCLS injector and a live Bmad simulation model using live process variable values from the LCLS.

        Speaker: Jacqueline Garrahan (SLAC)
      • 2:40 PM
        break - 5 minutes 5m
      • 2:45 PM
        Archiving and accessing PVA data at ITER 20m

        PVA is started to be used by the Supervisory System to configure and monitor the numerous plant systems. The PVA structure can be very complex. Archiving this data and being able to access individual element are key requirements. In this talk, we will present the requirements, the work done on archiving and retrieving PVA data and the next steps.

        Speaker: Lana Abadie (ITER organization)
      • 3:05 PM
        break - 5 minutes 5m
      • 3:10 PM
        React Automation Studio: A New Face to Control Large Scientific Equipment 20m

        React Automation Studio: A New Face to Control Large Scientific Equipment. A new software platform to enable the control of large scientific equipment through EPICS has been designed. The system implements a modern tool chain with a React frontend and a Python backend as a progressive web application. This enables efficient and responsive cross platform and cross device operation. A general overview of React Automation Studio V3.0.0 as well as the system architecture, implementation at iThemba LABs, community involvement and future plans for the system is presented.

        Speaker: Dr William Duckitt (iThemba LABS)
      • 3:30 PM
        break - 5 minutes 5m
      • 3:35 PM
        EPICS integration in Buildroot for FPGA-based multiplatforms and control system targets 15m

        Over the last few years, FPGA-based systems for high resolution data acquisition and high frequency control have taken significant relevance in the field of high energy physics and other associated research. When working with such varied embedded systems based on, for example, Zynq Ultrascale and Zynq-7000 series, it is necessary to create a method to build ad-hoc linux-based OS for the distinct product architectures. For this purpose, Buildroot tool is used for generating the cross-compilation toolchains needed and the related operating system. In order to carry out the task of integrating EPICS framework capabilities on the DAQ, control and synchronization products developed in Seven Solutions, EPICS base and some modules have been in Buildroot. In this way, all the custom OS built with this tool will be provided with full EPICS, either own architectures or standard architectures such as MicroTCA.

        Speaker: Antonio Miguel Lopez Antequera (Seven Solutions S.L.)
      • 3:50 PM
        break - 5 minutes 5m
      • 3:55 PM
        Adaptive Machine Learning and Feedback Controls for Particle Accelerators 20m

        Particle accelerators are complicated scientific tools which are composed of tens to thousands of coupled components (depending on accelerator size) including accelerating RF cavities and magnets used to focus and bend charged particle beams. EPICS is one of the most useful tools in existence for accelerator component controls and for accelerator diagnostics. In this talk I present some recent results on developing and implementing adaptive machine learning controls and diagnostics for accelerators, present examples of using EPICS for accelerator controls and diagnostics, and discuss what future EPICS capabilities may be beneficial for implementing novel adaptive machine learning tools.

        Speaker: Alexander Scheinker (Los Alamos National Laboratory)
      • 4:15 PM
        break - 5 minutes 5m
      • 4:20 PM
        A System for User-created Alerts with Grafana and the EPICS Archiver Appliance 20m

        Archiverappliance-datasource is a Grafana plugin that connects Grafana to the EPICS Archiver Appliance with the purpose of allowing users to create visualization dashboards and alerts. We’ve added a back-end component to this plugin to allow users to create realtime, continuously monitoring alerts based upon EPICS process variables. Our work compliments the initial front-end work completed at KEK that allows users to build and save visualizations from archiver data. The notification system’s key feature is that it does not require engineering expertise to configure alerts yet still offers a high degree of customizability. Once the process variables are being archived, users are able to use Grafana’s web interface to identify their process variables, view a PV’s history, and carefully craft alerts tailored to their specific needs. These alerts can be coupled with Grafana’s support for a variety of messaging systems such as Email, Slack, Kafka, and raw HTTP POST requests to distribute these notifications in the manner of the users choice.

        Speaker: Mr Nolan Brown (SLAC National Accelerator Laboratory)
      • 4:40 PM
        break - 5 minutes 5m
      • 4:45 PM
        DevIOC - Simple Python Device IOC Support for EPICS 5m

        DevIOC is a package that enables EPICS IOC Soft Device support all within python. It allows you to define the IOC database model as a python class, and to use the model to rapidly develop dynamic, IOC servers.

        Speaker: Michel Fodje (Canadian Light Source)
    • 4:50 PM 5:05 PM
      EPICS Council Update and final remarks 15m

      The EPICS Council works to optimize the use of resources to ensure the ongoing viability of EPICS as the control system toolkit of choice for scientific facilities. This talk will give a short summary and overview of the work in the EPICS council since the last collaboration meeting.

      Speaker: Carling Henrik
    • 5:05 PM 5:15 PM