The services and solutions provided by the KITS group rests on a range of cutting edge technologies and methodologies in the controls and IT domains, an overview of which are given here.
Network and systems
The network at MAX IV relies on equipment from Juniper. It is essentially based on TCP/IP v4 with a physical separation between machine, beamlines and offices. Each of them is divided by a set of virtual networks, usually corresponding to a subsystem, to minimise the influence of broadcast equipment. The second layer is based on Ethernet with two levels of switches in order to have a maximum network distance of four.
The MAX IV infrastructure takes advantage of virtualisation. Almost all of the accelerator and beamlines servers are virtual machines running on a VMWare hypervisor EsXi cluster of a redundant 36 cores and 384 GB memory. The choice of this infrastructure follows naturally from using ethernet as the main interface for all equipment.
The standard OS is CentOS 7.
Ansible is used for the configuration management of all the Control System computers and the web services, from the OS settings to the specific role (workstation, database, IOC, web server) in the MAX IV ecosystem. A extra bonus: it’s open source.
The Tango control system is used for the accelerator and beamlines. For each type of equipment KITS deploys a Tango device to establish the communication with the hardware.
Sardana is a software suite for Supervision, Control and Data Acquisition in scientific installations. It aims to reduce cost and time of design, development and support of the control and data acquisition systems. Sardana development was started at the ALBA synchrotron and today is supported by a larger community which includes several other laboratories and individuals (ALBA, DESY, MaxIV, Solaris, ESRF).
IcePAP is a motor controller/driver system developed at ESRF and optimised for high resolution positioning applications. Motion control at MAX IV uses almost exclusively two-phase stepper motors controlled via IcePAP.
Although motor control in IcePAP is axis-oriented, it includes system resources that allow the execution of synchronous multi-axis movements. Additionally, all the position information signals are driven through internal multiplexers and can be sent to external devices to properly synchronise data acquisition during motion.
IcePAP is fully software configurable and provides exhaustive diagnostic capabilities.
PandABox is a processing platform developed in a collaboration project between synchrotron facilities SOLEIL and DIAMOND. It delivers synchronous triggering and data capture capabilities and is well adapted for multi-technique scanning and feedback applications. The number of PandABox units installed at MAX IV keeps increasing as they enable compact implementation of complex triggering schemes, e.g. for various scanning techniques.
A synchrotron requires an advanced timing system to synchronise events in the accelerators and beamlines. At MAX IV, this is realised using an event generator connected to several event receivers via optical fibres.
The timing system for MAX IV uses commercially available components from Micro Research Finland and Instrumentation Technologies. MRF’s Libera Brilliance Plus beam position monitors can be used as event receivers, thanks to a special development by Instrumentation Technologies. Maintenance and development of the timing system is shared between the groups Accelerator Development, RF, and IT & Controls.
At MAX IV, photon beams are monitored using a low-noise electrometer type developed in collaboration with the ALBA synchrotron facility. The devices have four independent current channels, a measurement range covering milliamperes to femtoamperes, and two interfaces (standard and web interface). While basic development was done by ALBA, MAX IV has contributed software to allow streaming mode up to 1,5 kHz.
Agile and Lean management
Scrum is an iterative and incremental agile software development methodology for managing product development.
A product backlog is ordered into the sequence in which it will be delivered and broken into manageable, executable chunks named sprints. Every certain amount of time the team initiates a new sprint and commits to deliver a certain number of user stories from the backlog, in accordance with their skills, abilities and resources. The project advances as the backlog becomes depleted.
In Japanese, 看 (kan) can mean to look closely at, take care of, or keep watch. 板 (ban, or ita by itself) means a board. Therefore, Kanban roughly translated should be something like “a board to look at”.
The Kanban methodology is used to divide project development (any sort of project) into stages.
A Kanban card is like an index card or post-it note that details every task (or user story) in a project that needs to be completed. The Kanban board is used to move each card from one state of completion to the next and in so doing, helps track progress.