Abstract

To facilitate the seamless integration of EPICS (Experimental Physics and Industrial Control System) into high-level applications in particle accelerators, a dedicated modern C++ Channel Access interface library, CAFE, provides a comprehensive and user- friendly interface to the underlying control system. Functionality is provided for synchronous and asynchronous interaction of single and composite groups of channels, coupled with an abstract layer tailored towards beam dynamics applications and complex modelling of virtual accelerators. Equivalent consumable solutions in scripting and domain-specific languages can then be accelerated by providing bindings to the relevant methods of the interface platform. This is exemplified by CAFE's extensive MATLAB® interface, incarnated through a single MATLAB executable (MEX) file, and a high performance Python interface written in the Cython programming language. A number of gratifying particularities specific to these language extension modules are revealed.

Highlights

  • In-house CA expertise ensures a rapid response to user requests and problem solving. It is within this context, coupled with a desire to avoid any deprecated application programming interface (API) propagating to new facilities, that motivation for the CAFE (A Channel Access interFacE) library has developed [3]

  • A Python extension module provides access to an in-house, Cython-based, online model that computes the SwissFEL beam-optics parameters, while interaction to a CA server hosting the virtual accelerator (VA) Process Variables (PVs) is executed through PyCafe

  • Concluding Remarks The CAFE C++ software platform provides several intuitive and user-friendly interfaces to EPICS that shelter the user from the intricacies of programming with the native C Channel Access library

Read more

Summary

Introduction

It is within this context, coupled with a desire to avoid any deprecated APIs propagating to new facilities, that motivation for the CAFE (A Channel Access interFacE) library has developed [3]. Abstraction layers tailored towards the development of accelerator applications have been implemented, e.g. related data sets may be addressed as a single logical software entity (optionally configurable through XML).

Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call