Beyond the EPICS: comprehensive Python IOC development with QueueIOC
Peng-Cheng Li (1,2,3), Xiao-Xue Bi (1), Ying-Ke Huang (1), Dian-Shuai Zhang (1), Xiao-Bao Deng (1), Qun Zhang (1,4), Ge Lei (1,3), Gang Li (1), Yu Liu (1) ((1) Institute of High Energy Physics, Chinese Academy of Sciences, (2) National Synchrotron Radiation Laboratory

TL;DR
This paper introduces QueueIOC, a Python framework that enhances EPICS IOC development by improving maintainability and flexibility, reducing development costs, and supporting complex applications through systematic design.
Contribution
The paper presents QueueIOC, a novel Python IOC framework that simplifies development and maintenance, enabling complex EPICS applications with a systematic approach.
Findings
QueueIOC reduces IOC development and maintenance effort.
Examples demonstrate QueueIOC's applicability to various EPICS components.
The framework supports complex applications like sequencers and detector integration.
Abstract
Background and Purpose: Architectural deficiencies in EPICS lead to inefficiency in the development and application of EPICS IOCs. An unintrusive solution is replacing EPICS IOCs with more maintainable and flexible Python IOCs, only reusing the CA protocol of EPICS. While there are libraries like caproto and PCASPy that help to create Python IOCs, they still feel insufficient for more complex requirements. Methods: Noticing caput, caget and camonitor are just specialised combinations of requests/replies and notifications in client-server communication, by combining barebone caproto and event loops like those in server-like programs, the QueueIOC framework for Python IOCs is created, which has the potential to systematically reduce the development and maintenance cost of IOCs. Results: Examples based on QueueIOC are first given for workalikes of StreamDevice and asyn; also given are…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputational Physics and Python Applications
