EPICS meetings provide a chance 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.
This is a Virtual Conference:
The conference will be broadcast via BlueJeans Events. Please click here to check your system requirements to ensure you are able to join this event: BlueJeans Event instructions for Attendees
The conference was originally intended as a "normal" EPICS Collaboration Meeting in September 2020. It was to take place on the campus of the Max Planck Society (MPS) in Golm (near Potsdam) at the Albert Einstein Institute (LIGO member). Satellite meetings at the Fritz Haber Institute (Free Electron Laser) and the Max Planck Institute for Chemical Energy Conversion at the Berlin Synchrotron (BESSY, HZB) were planned. A visit to the Max Planck Institute for Plasma Physics in Greifswald (Wendelstein experiment) was planned. Unfortunately Covid-19 put a spoke in our wheel.
To ensure the usual liveliness of our meetings, we have decided that we want to present all lectures live. Unfortunately, we can not serve all time zones perfectly. The optimal time for us was 2pm - 6pm (UTC!).
We will probably activate the registration on September 15. For all presenters (also Lightning Talks (short talks, up to 5 minutes)) a registration is necessary. For all others, a registration is required to be able to distribute short term information about the event.
Troubleshooting for presenters: In case of problems with the presenter interface and/or sharing screen, audio etc. the test event is available for trouble shooting during the real event. Here you can get help
This browser-based videoconferencing system is run by the FHI. FHI members can log in with their FHI username and password; external participants can join sessions without login. A short description and standard trouble shooting can be found on the website of PP&B: https://ppbwiki.fhi.mpg.de/Main/Videoconferencing#toc6
Note that by default, only presenters and panel members will use their video and microphone, while the participants (attendees) will be muted and without video initially. However, we want all questions from the audience to be asked directly with video and microphone. Therefore, if you have a question during any of the sessions Q&A, your video and microphone will be enabled.
Mitivation: Keynote
Tutorials “EPICS for beginners”
“EPICS running in 1 hour”
Scientific data are a significant raw material of the 21st century. To exploit their value, a FAIR – Findable, Accessible, Interoperable, and Re-purposable – data infrastructure (DI) is a must. Making data Findable and AI Ready (an alternative interpretation of the acronym) will change the way how science is done today. For the wider field of condensed-matter physics and the chemical physics of solids, FAIRmat sets out to make this happen, integrating synthesis, experiment, theory, computations, and applications.
areaDetector is an EPICS framework to support 2-D detectors. It is
based on modular C++ code that greatly simplifies the task of writing
a support for a new detector. It also supports plugins, which receive
detector data from the driver and process it in some way.
areaDetector includes drivers for a wide range of detectors and
cameras, including:
areaDetector plugins perform many tasks including:
areaDetector includes high-performance image viewers written in ImageJ, Python, and IDL.
areaDetector is widely used both in large facilities such as synchrotrons, and in small laboratories.
StreamDevice is a generic EPICS device support for a wide range of devices which communicate with "strings" (in the broadest sense, including binary "telegrams") over any bus system supported by asynOctet (see: asynDriver), e.g. RS232, GPIB or TCP.
This presentation will give an introduction into the use of StreamDevice and is targeted to people who are already familiar with EPICS records and now need to connect a serial, GPIB, or network device for the first time.
PyDevice is an EPICS device support for Python interpreter. It allows to connect EPICS database records with Python code.
The goal of this project is to provide very easy interface for Python developers to integrate Python code into EPICS control system. This is achieved by allowing arbitrary Python code to be called from EPICS records, including but not limited to built-in functions, calculation expressions, custom functions etc. In addition, Python code can be executed from IOC shell which is useful for setting up resources or troubleshooting Python code. Since PyDevice simply calls Python code, this allows Python modules to be developed and tested in a standalone non-EPICS environment, and ultimately connected to EPICS PVs.
https://github.com/klemenv/PyDevice/
A live demo: Installation EPICS on a RaspberryPi with 2 MCC-heads (ADCs & DACs)
(And to be honest, it takes 58 minutes)
This browser-based videoconferencing system is run by the FHI. FHI members can log in with their FHI username and password; external participants can join sessions without login. A short description and standard trouble shooting can be found on the website of PP&B: https://ppbwiki.fhi.mpg.de/Main/Videoconferencing#toc6
Note that by default, only presenters and panel members will use their video and microphone, while the participants (attendees) will be muted and without video initially. However, we want all questions from the audience to be asked directly with video and microphone. Therefore, if you have a question during any of the sessions Q&A, your video and microphone will be enabled.
EPICS, the Experimental Physics and Industrial Control System, is a set of software tools and applications which provide a software infrastructure for building distributed control systems to operate complex systems such as scientific facilities or advanced industry production processes.
But EPICS is more than code, it is also a dynamic, open-source community with deep experience from creating, adapting and operating complex and advanced science and production facilities with very high availability and robustness.
In this talk, the current EPICS council chairperson will go through basic concepts and capabilities of EPICS and enumerate benefits for commercial and industrial organisations that look to implement the next generation of advanced, distributed control system. Thoughts on how EPICS is ready to utilise future technologies such as internet of things, machine learning and data mining to augment and expand business opportunities will also be shared.
The Experimental Physics and Industrial Control System (EPICS) has been used in industrial control systems since the 1990’s. Many of the components of a research facility are industrial systems. The architectural features of EPICS were designed around industrial control systems. To provide the required support for research facilities, clean interfaces at every level and support for high resolution timing was included. Most recently, the EPICS middle layer services have been developed that further improve control system capabilities. There are many clients that use the data from the control system for various archive, alarm and presentation of data with the latest providing unprecedented workflow and ease of use. The community has also produced tools for managing information about facilities such as inventory and installation. While the entirety of the tools is not provided as a single package, this open source platform can be assembled and applied as needed. There is support from commercial companies to provide the support for the tools and the application of these tools to industrial users.
Cosylab is the world leading commercial integrator of large experimental physics control systems as well as proton therapy software. Over last 20 years we have had extensive experience with EPICS in various types of projects. I will present some of our examples of EPICS projects in commercial contexts.
During this presentation, I will talk about the history of the company, how we started with EPICS. Moving on to where we are now and how we operate within the EPICS community. I will then present slides showing some of the interesting EPICS Projects we have worked on in recent years.
Large science facilities enable research across a diverse range of science disciplines. To both run the facility and provide the necessary services for visiting scientists' experiments requires the integration of a large number of devices.
This presentation will describe the challenges of device control at a large facility, how we approach integration and the consequent requirements it can place on our choice of COTS equipment.
This presentation showcases technologies used to integrate industrial "COTS" devices into EPICS based control systems. Two examples show how the EPICS approach of "configuration over coding" can be achieved through a high level of standardization or a high level of abstraction and flexibility.
Such approaches allow the integration of many different industrial devices using a single software module, keeping maintenance cost and effort low.
Materials science is greatly benefiting from computational data being openly accessible through various materials encyclopedias. Also, open access peer-reviewed publishing has become the norm rather than the exception. In contrast, the publication of experimental research data in materials science still is in its infancy. I will discuss the requirements for publishing experimental research data according to the FAIR (Findable, Accessible, Interoperable, Reusable) principles. Given the size and complexity of data generated in decentralized lab-based experiments, FAIR data publishing requires open data formats, community-wide metadata conventions, and transparent and reproducible data processing workflows.
EPICS is widely used at large facilities such as accelerators and telescopes, but it is also well-suited to use in much smaller facilities. In this talk I will describe the use of EPICS in two of our small laboratories.
A Raman lab where EPICS is used to control:
An x-ray lab where EPICS is used to control:
- 8 motors with Delta Tau controller
- Counter/timer module from Measurement Computing
- FLIR/Point Grey camera with areaDetector for LEED system
- Granville Phillips GP307 vacuum gauge controller
- Varian ion pump controllers
- SPEC is used to collect the data, talking to EPICS
The talk will describe the EPICS drivers for a number of these devices, as well as the user interface.
This browser-based videoconferencing system is run by the FHI. FHI members can log in with their FHI username and password; external participants can join sessions without login. A short description and standard trouble shooting can be found on the website of PP&B: https://ppbwiki.fhi.mpg.de/Main/Videoconferencing#toc6
Note that by default, only presenters and panel members will use their video and microphone, while the participants (attendees) will be muted and without video initially. However, we want all questions from the audience to be asked directly with video and microphone. Therefore, if you have a question during any of the sessions Q&A, your video and microphone will be enabled.
Since the last EPICS Collaboration meeting the Core Developer's Group has published 2 releases of Base-3.15 and 3 releases of EPICS 7.0. This talk will outline the main changes included in those releases (including contributions from the 2019 Documentathon at ESS and the 2020 Codeathon at Diamond) and describe some of our current ideas and plans for future developments.
Interoperation between the ITER Control, Data Access and Communication (CODAC) Supervision (SUP) software components relies on EPICS 7 pvAccess protocol. Prototyping work carried out in 2018-2019 has confirmed that EPICS 7 pvAccess protocol meets the objectives; several shortcoming related to Application Programming Interfaces (APIs) and tools support have been documented and presented at the June 2019 EPICS Collaboration Meeting.
PVXS announcement in March 2020 triggered another evaluation in the specific context of CODAC SUP software implementation, and a partial porting exercise away from pvDataCPP and pvAccessCPP has been initiated. The porting has been facilitated thanks to the systematic use of bridge pattern and dependency injection in the CODAC SUP software. The recent inclusion of PVXS in the ITER CODAC Core System base and the positive results of the porting exercise have confirmed the partial adoption of PVXS for the future developments of the CODAC SUP components and services.
This presentation aims at reporting on the lessons learnt during the migration to PVXS and the consequently improved software quality metrics.
Fermilab is currently building the PIP2 Superconducting Linear
Accelerator as a replacement for the initial stages of its accelerator
chain. Additionally, a large multi-year controls modernization project
at Fermilab has recently achieved CD-0 status with the DOE. Fermilab's
accelerator control system has not been EPICS-based up to this point,
but EPICS was selected for the PIP2 control system, and part of the
modernization effort will be integrating EPICS with the rest of the
accelerator complex. We explain some of our initial plans and look at
what we like from the EPICS community as we begin these efforts.
The current AWA control and data acquisition system is a completely homebrewed system. It has been functioning well but it is becoming an obstacle of collaborations and future growing. To facilitate collaborations and future growing, it is strongly desired that we upgrade or transform AWA control and data acquisition system into an EPICS based system. An overview of AWA control and data acquisition system is presented along with its EPICS upgrade plan.
Software used in the laboratory very often belongs to the mission-critical group and cannot be updated at any time. Time constraints make software updates stressful, and the lack of tools supporting developers extends the whole process. This has been recognised in the modern environments, but often update of the whole environment is not possible.
Pros and cons of the environment transition to docker is beyond the scope of this paper. However, we would like to look at one of the measurable benefits of the docker - a tool for managing containers installed on the server.
Standardised APIs and well-designed tools allow to increase the frequency of deployment, shorten lead time and mean time to restore. Also, they help to reduce change fail percentage. This is crucial when deployment time is limited by tight experiment calendar.
This paper describes a library tool built to manage IOCs running on a production server. It is based on existing elements - procServ and systemd - and allows for a user experience similar to that of a docker. It has been built in Go language it and provides a docker-like API. It allows to start/stop/restart IOCs, attach to running one and filter already installed.
Currently, there is a command-line client available for engineers logged directly into production servers, however, it is planned to build a server, thanks to which managing IOCs will be possible through the network from the main supervisor.
This approach will enable de-coupling of IOCs management from the actual environment- treating procServ and systemd as runtime dependencies.
This will ensure that the transfer to the docker (if there is a justified need) will not require a change in the deployment environment and monitoring, but only the addition of docker daemon support to this tool.
The OPC UA Device Support for EPICS is using a high quality professional client library to provide a robust, performant and feature-rich access to a wealth of devices through the widely available OPC UA communication standard.
This talk provides an overview, current status and plans.
Continuous Integration for EPICS modules
The ci-scripts repository can be added as a Git submodule to EPICS software modules and allows an easy configuration and use of publicly available CI services like Travis-CI, GitHub Actions, AppVeyor and GitLab CI/CD.
This talk provides an overview and the current status.
After adding the ci-scripts we wanted more:
This talk summarizes some experiences and is an invitation to join the test train.
Continuous development of software technologies, as well as an increasing number of frameworks, have made the development process and its optimisation crucial part of applications’ delivery. The development team should be able to focus on writing solid code, while the rest of the processes related to automatic execution of builds, tests and deployments should take place with a minimum number of manual steps. Research facilities often focuses too much on application development and forgets how essential tests and deployment are.
The paper describes the building process of the control software infrastructure for 100Hz/10J laser system designed by HiLASE Centre and UKRI/STFC. The software based on EPICS framework and CI/CD approach have been adapted during IOCs development.
Continuous integration in this case means regular IOC re-builds and tests (with each commit to any branch of the single IOC repository). To verify applications’ functioning, LeWIS framework (based on Python language) was used to emulate real device behaviour with corresponding communication protocols. Thanks to that, each modification in the IOC code could be verified just after pushing it to the repository. Those tests were part of repository pipelines and their results determined further actions.
Continuous deployment have been automated using Ansible tool. The specific role in Ansible was implemented. It allows to deploy IOC and configure it depending on environment (staging or production). Automatic deployment installs IOC as a service on the server and it is the user who decided when it should be launched. For staging (or test) environment ansible role is a part of pipeline which is triggered with IOCs master branch pipeline; for production it is manually run process.
The presented approach tries to introduce to scientific environment the most current methodologies and tools like Ansible and CI/CD. Thanks to that, the quality can be improved and the stability of the software increased.
Our work analyzes the potential threats and security challenges facing EPICS systems. Currently we focus on the broad topic of security testing with three sub-tasks. First, we apply static analysis and fuzzing tools to search for potential bugs and vulnerabilities that may not be detected by current testing mechanisms. Second, we are adopting and developing several EPICS-related testbeds to evaluate security problems and solutions with respect to performance and resilience. Third, we are devising formal models for CA and the PV Gateway. We will summarize our current progress and planned next steps.
RTEMS is a free, open source, real-time operating system that supports
multiple standards and includes support for multiple space-hardened
microprocessors. RTEMS is commonly used in space applications and has
a long history of successful deployment in critical applications.
This presentation focuses on areas of the RTEMS Development Roadmap
of interest to the flight software community.
Of interest to the EPICS community is RTEMS 5 and what is contain, the RTEMS ecosystem, deployment and RTEMS and EPICS Integration.
This browser-based videoconferencing system is run by the FHI. FHI members can log in with their FHI username and password; external participants can join sessions without login. A short description and standard trouble shooting can be found on the website of PP&B: https://ppbwiki.fhi.mpg.de/Main/Videoconferencing#toc6
Note that by default, only presenters and panel members will use their video and microphone, while the participants (attendees) will be muted and without video initially. However, we want all questions from the audience to be asked directly with video and microphone. Therefore, if you have a question during any of the sessions Q&A, your video and microphone will be enabled.
Bluesky is a mini-ecosystem of co-developed but individually useful Python libraries for experiment control and data acquisition, management, and access. The project is developed and maintained by a multi-facility collaboration. The core includes a high-level hardware abstraction above EPICS, an experiment orchestration engine, a formally-defined schema for streaming data and metadata, and data access tools integrated with the open source scientific Python stack.
This talk will focus on recent developments building on that core, with an emphasis on new tools to support remote experiments---a topic of urgent current interest for obvious reasons. These developments include a bluesky web service and associated browser-based data acquisition interface; nascent web- and desktop-based UIs for data browsing; a component library integrating bluesky with popular existing applications; and leveraging Bluesky's first-class support for adaptive experiment logic to build smarter automation.
Accelerator operation and commissioning requires periodic execution of machine characterization measurements. At BESSY II these tasks were based on legacy code or scripts using the epics.PV python module. Using bluesky and ophyd the measurement plan can be separated from device handling and device artifact mitigation.
We report on our experience on encapsulating accelerator devices next to the script developed. Furthermore we describe the development of “Naus”, which allows assembling an OpeanAI environment based on bluesky plans
Machine Learning tools are becoming part of the optimisation and control toolset at large-scale user facility such as the light source BESSY II (operated by the Helmholtz-Zentrum Berlin). The topic of this talk is the application of model-free Deep Reinforcement Learning agents for the mitigation of orbit perturbations (variations with respect to the ideal trajectory of the particles) in the storage ring. In particular, we are interested in harmonic perturbations produced by the environment - for example the main power or some imperfectly isolated magnetic sources. We will cover the design and simulation phases as well as the challenges faced during our first tests at the machine, in particular in the context of the Bluesky-based interaction framework “Naus”.
GUIs promote science by making it easier for beamline users to conduct experiments and visualize data. But in order for a GUI to be worth the time investment, it should be easy and quick for beamline staff and support staff to develop and maintain. At the ESM beamline at NSLS-II, we were able to easily create a comprehensive beamline-specific GUI for Bluesky (an EPICS data collection software). We did this using BS-Studio, a drag and drop tool for creating Bluesky GUIs.
An update from the Phoebus and CS-Studio Collaboration on the latest developments and improvements.
A new version of the Online logbook service. Adoption of new storage solutions like elastic and mongodb the service has improved scalability and reliability along with more powerful search functionality.
Science and industry ask for faster microscopy techniques to resolve dynamic processes at the atomic scale. Prominent research examples include catalytic reactions at surfaces, corrosion processes and semiconductor devices. Conventional imaging with a scanning tunneling microscope (STM) takes several minutes per frame. We developed a new high-speed STM that can acquire a single frame in less than 25 ms. This means, we increased the frame rate from 0.01 to almost 100 Hz. For this, we changed to an unconventional scan pattern. The scan control, data acquisition, and image visualization are integrated into the EPICS framework.
A VMEbus - System running EPICS on RTEMS controls the high-speed scan. An arbitrary waveform generator provides the scan input signal, which the user can modify at will.
A digitizer writes the data into PVs, which are provided by a PV server on a Unix- System. A monitor subscribes to these PVs. This monitor acts as a producer and puts the data chunks to a queue on a local machine. A consumer thread saves the data from the queue to an HDF5 file. This file contains all relevant PVs, spatial coordinates, and measuring points.
A parallel thread reads single data chunks from the PV, processes the data and provides a separate PV for data visualization. The Phoebus interface displays the generated live video.
The acquired HDF5 file contains all necessary data. For the image and video analysis we developed a purely python based and customizable program that allows us to characterize the dynamics at the atomic scale.
The EPICS Archiver Appliance is an implementation of an archiver for EPICS control systems that aims to archive millions of PVs. This presentation covers a brief overview of the archiver appliance and some recent changes.
This presentation will show the design principles and various use cases of the ELog electronic logbook. This software is used in many labs worldwide as a replacement of the traditional paper logbook, with the emphasis of shift operation. It is available as open source under the Gnu public license.
A new Logbook client API to let Phoebus interact with the Elog electronic Logbook.
PShell is a scripting environment for experiments developed at PSI with strong support for EPICS. PShell is being used for commissioning of the PINK beamline at BESSY II in collaboration with the Max Planck Institute for Chemical Energy Conversion (MPI-CEC).
Mobile internet and web application are the most popular technologies in the modern society. In China, the WeChat instant messaging application is the dominated instant messaging application. WeChat enterprise account provides access paths to specified web applications and can push notifications sent to the users as regular chat message. In CSNS, the Wechat enterprise account was used as the accelerator information publish platform, both real-time operation status and the real-time alarm notifications could be accessed.
ITER Dashboard provides an in live visualization tool of data during commissioning and operation. It is a web application accessible from standard computer and mobile devices. User can easily setup a dashboard composed of different widgets such as plots or table using drag and drop and inline editing. Solution is based on React, RXjs, Plotly, Express, Node.js and C++.
Remote participation to experiments poses the challenge of allowing users connected from all around the world real-time access to the control room screens. The risks that have to be handled come into two categories:
1) IT security risks
2) Operation risks
The EPICS Data Diode was developed as a mechanism to allow running OPIs in a guaranteed read-only fashion on a computer network separated from that where the EPICS PVs are generated and used. The main difference with other similar tools such as the EPICS gateway is that the Diode ensures intrinsically a mono-directional streaming from the sender (client) to the receiver (server) preventing anyone accessing to the receiver to change the EPICS environment on the sender (by accident or not).
The current adopted streaming communication protocol is HTTP fully built on top the TCP transport layer, which allows routing through firewalls and proxies, making the Diode suitable for long distance communication.
The Diode collects the PVS in the technical network, then streams them over a network connection, and finally recreates the same PVs on a different network.
To give a concrete use case, it ensures a one-way pushing of the EPICS variables from a not-accessible technical network connected to critical instrumentation to a user-accessible network, to monitor and eventually store the PV values over the machine operation time, preventing any access to the technical network. The EPICS environment of the technical network is recreated remotely to allow the users to monitor the machine operations on the OPIs, or to store a history of the PVs values since their original timestamps are also preserved.