Power converters control system for the MEDICIS-PROMED isotope laboratory at CERN
As a technical leader of a project, I was responsible for the design and development of a distributed control system for the power converters. The main purpose of the activity was to provide the ability to remotely control the equipment connected to Siemens S7 modular PLC controllers, as well as create a unified and secure software interface to integrate the devices with CERN accelerator controls. This post describes the control layer of the system based on Front End Software Architecture (FESA) framework and C++.
Introduction to the MEDICIS facility
Radioactive isotopes play a major role in a cancer treatment and are commonly used for functional imaging and diagnostics. The purpose of the MEDICIS (Medical Isotopes Collected from ISOLDE) research facility at CERN is to produce a wide variety of a non-conventional radioisotopes that more accurately meet the needs of medical professionals. Taking into account, that only 10% of the beam intensity and energy is lost in the ISOLDE laboratory at CERN after hitting a target, it was decided to place a second target behind the first one and use it to produce useful radioisotopes for medical applications. The High Resolution Separator (HRS) dump was chosen as a host for the new target. Once the irradiation process is finalized, an automated system delivers the target to the MEDICIS facility, where the radioisotopes of the interest are extracted through the dedicated isotope mass separation. Afterwards, the isotope samples are collected and delivered to research facilities for studies.
Common control solution for the power converters
To assure the radioactive ion beam production in the MEDICIS laboratory without any interruptions, stable electric and magnetic fields have to be present. To achieve this, high-voltage and high-power power converters were installed.
To facilitate the management of the facility, a common control solution had to be developed for many different types of power converters. During the design phase it was established, that information about the desired mode of operation, as well as the voltage/current reference would be defined from the control room. As a feedback, the devices should share information about their health check status, actual device mode and real voltage/current values. It was decided, that a solution based on SIEMENS SIMATIC S7-300 Programmable Logic Controllers (PLCs) would be the most efficient and cost effective. The software deployed on those PLCs did not have any logic implemented concerning regulation or mode handling. The voltage and current loops were handled by the converters.
The PLCs are used as servers following a client-server model. They provide a service which is an interface to the power converters. Their only duty is to properly and safely set the current/voltage and mode, depending on the requests from the higher level applications. Each program running on the programmable logic controller has a specific structure. Only owning this knowledge gives the ability to read the desired information from the proper places in the memory. In order to provide the higher level programs with a unified way of accessing the PLCs’ data, a common software interface was defined. A server application implementing it was developed on top of each PLC. It was built using the CERN real-time Front End Software Architecture (FESA) and is running on a Front End Computer (FEC). The FESA is a complete environment for equipment specialists to design, develop, generate, test and deploy real-time control software written in C++. Each FESA class is considered to be a representation of a device type and allows management of a different instances of this certain type. It is event driven and uses thread priorities for scheduling. The communication from or to the controller is assured by the Ethernet Interconnection for Programmable Logic Controllers (IEPLC). It is a framework developed at CERN which defines communication interfaces in a hardware independent manner.
The Remote Device Access (RDA)
The controls middleware (CMW) brings a common software communication infrastructure for the CERN accelerator controls. The CMW Remote Device Access (RDA) is used as a transmission interface to front end software architecture classes. The RDA design reflects the model where each device in the distributed control system can be controlled through its properties. The available access methods such as get, set, subscribe and unsubscribe allow other applications to read, write and monitor the property values. For the security purposes, it is recommended to define the role based access control (RBAC) relation map between the properties and user groups allowed to access them. The RDA is based on a client-server model. The machine devices are implemented in the device servers, and client applications access them using the RDA client API. The RDA provides location transparent access to devices: servers can run anywhere in the controls network and devices can be moved from server to server without clients becoming aware of it. It allows interconnecting applications and devices implemented in Java or C++.
Summary
The described control system is successfully managing the power converters in the MEDICIS facility at CERN. It standardizes the control interface for many different types of power converters. The control solution was deployed in the middle of 2017 and proved to be very flexible and robust. The MEDICIS facility produced its first radioactive isotopes on the 12th of December 2017. The control system is operational since then.
The approach presented in this article provides an ability to extend its functionality in a simple fashion. The C++ PLC control FESA class implements a software interface to each physical device connected to the Siemens S7 PLC, therefore it is feasible to control those devices from other software applications. Thus, it is possible to stack up many C++ FESA classes on top of each other to achieve different functionalities with the same physical devices. For instance, it is possible to regulate the magnetic field of the electromagnet by implementing the regulation algorithm in the higher level computer programs. Such solution is explained in details in the article describing magnetic field control system for the REX-ISOLDE isotope accelerator at CERN.