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 TUPV040 [1.256 MB]
|
|
DOI • |
reference for this paper
※ https://doi.org/10.18429/JACoW-ICALEPCS2021-TUPV040
|
|
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 THBL04 [0.640 MB]
|
|
DOI • |
reference for this paper
※ https://doi.org/10.18429/JACoW-ICALEPCS2021-THBL04
|
|
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)
|
|
|