Author: Knap, G.
Paper Title Page
TUPV040 A Python Package For Generating Motor Homing Routines 497
  • A.S. Palaha, T.M. Cobb, G. Knap
    DLS, Oxfordshire, United Kingdom
  Diamond Light Source uses hundreds of Delta Tau Turbo PMAC2 based motion controllers that control motors with precision and repeatability. Homing is critical to these requirements; it safely moves axes to a well-known position using a high-precision device for detection, leaving the overall system in a well-known state and ready for use. A python package called ’pmacmotorhome’ has been developed to generate homing routines for multiple motors across multiple motion controllers, allowing the user to write a script that is terse for standard/typical routines but allows for customisation and flexibility where required. The project uses jinja templates as ‘snippets’ to generate the homing routine code written in Delta Tau PLC notation. The snippets can be re-ordered and grouped together, supporting the design of homing routines for multi-axis systems with mechanical limitations that require an orchestrated approach to safely home the axes. The python script using the package is kept terse using a context manager and can group axes together to the same homing group easily.  
poster icon Poster TUPV040 [1.256 MB]  
DOI • reference for this paper ※  
About • Received ※ 14 October 2021       Revised ※ 21 October 2021       Accepted ※ 20 November 2021       Issue date ※ 15 December 2021
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)  
THBL04 Kubernetes for EPICS IOCs 835
  • G. Knap, T.M. Cobb, Y. Moazzam, U.K. Pedersen, C.J. Reynolds
    DLS, Harwell, United Kingdom
  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 tools and processes with modern industry standards. IOCs are packaged in containers with their unique dependencies included. 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.  
slides icon Slides THBL04 [0.640 MB]  
DOI • reference for this paper ※  
About • Received ※ 11 October 2021       Revised ※ 14 October 2021       Accepted ※ 23 February 2022       Issue date ※ 01 March 2022
Cite • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)