JACoW is a publisher in Geneva, Switzerland that publishes the proceedings of accelerator conferences held around the world by an international collaboration of editors.
@inproceedings{marcato:icalepcs2021-tubl05, author = {D. Marcato and G. Arena and M.A. Bellato and D. Bortolato and F. Gelain and G. Lilli and V. Martinelli and E. Munaron and M. Roetta and G. Savarese}, % author = {D. Marcato and G. Arena and M.A. Bellato and D. Bortolato and F. Gelain and G. Lilli and others}, % author = {D. Marcato and others}, title = {{Pysmlib: A Python Finite State Machine Library for EPICS}}, booktitle = {Proc. ICALEPCS'21}, pages = {330--336}, eid = {TUBL05}, language = {english}, keywords = {EPICS, controls, interface, software, operation}, venue = {Shanghai, China}, series = {International Conference on Accelerator and Large Experimental Physics Control Systems}, number = {18}, publisher = {JACoW Publishing, Geneva, Switzerland}, month = {03}, year = {2022}, issn = {2226-0358}, isbn = {978-3-95450-221-9}, doi = {10.18429/JACoW-ICALEPCS2021-TUBL05}, url = {https://jacow.org/icalepcs2021/papers/tubl05.pdf}, abstract = {{In the field of Experimental Physics and Industrial Control Systems (EPICS)*, the traditional tool to implement high level procedures is the Sequencer*. While this is a mature, fast, and well-proven software, it comes with some drawbacks. For example, it’s based on a custom C-like programming language which may be unfamiliar to new users and it often results in complex, hard to read code. This paper presents pysmlib, a free and open source Python library developed as a simpler alternative to the EPICS Sequencer. The library exposes a simple interface to develop event-driven Finite State Machines (FSM), where the inputs are connected to Channel Access Process Variables (PV) thanks to the PyEpics** integration. Other features include parallel FSM with multi-threading support and input sharing, timers, and an integrated watchdog logic. The library offers a lower barrier to enter and greater extensibility thanks to the large ecosystem of scientific and engineering python libraries, making it a perfect fit for modern control system requirements. Pysmlib has been deployed in multiple projects at INFN Legnaro National Laboratories (LNL), proving its robustness and flexibility.}}, }