Author: Basham, M.
Paper Title Page
TUPHA159 Malcolm: A Middlelayer Framework for Generic Continuous Scanning 780
  • T.M. Cobb, M. Basham, G. Knap, C. Mita, M.P. Taylor, G.D. Yendell
    DLS, Oxfordshire, United Kingdom
  • A. Greer
    OSL, Cambridge, United Kingdom
  Malcolm is a middlelayer framework that implements high level configure/run behaviour of control system components like those used in continuous scans. It was created as part of the Mapping project at Diamond Light Source to improve the performance of continuous scanning and make it easier to share code between beamlines. It takes the form of a Python framework which wraps up groups of EPICS PVs into modular "Blocks". A hierarchy of these can be created, with the Blocks at the top of the tree providing a higher level scanning interface to GDA, Diamond's Generic Data Acquisition software. The framework can be used as a library in continuous scanning scripts, or can act as a server via pluggable communications modules. It currently has server and client support for both pvData over pvAccess, and JSON over websockets. When running as a webserver this allows a web GUI to be used to visualize the connections between these blocks (like the wiring of EPICS areaDetector plugins). This paper details the architecture and design of framework, and gives some examples of its use at Diamond.  
poster icon Poster TUPHA159 [0.742 MB]  
DOI • reference for this paper ※  
Export • reference for this paper using ※ BibTeX, ※ LaTeX, ※ Text/Word, ※ RIS, ※ EndNote (xml)