SLAC LCLS-II控制软件开发路线图

SLAC LCLS-II

LCLS-II控制软件主要基于EPICS 3开发,同时充分利用EPICS 7对结构化数据的支持和对与语言无关的中间件服务层的支持的新特性。

LCLS-II控制软件开发路线图为:
1a)建立SLAC范围内的通用EPICS版本3.15.5,
1b)将EPICS迁移到git版本控制,以及建立集中的git存储库,
2)采用新的基于python/QT的显示管理器(Display Manager),
3)利用现有的高级应用程序(HLA)套件,
4)添加到现有的EPICS 7中间服务层,最后,
5)开始集成EPICS 7组件以处理结构化数据。

Git是一种旨在提高速度、数据完整性、对分布式非线性工作流的支持以及提供基于Web的高级图形用户界面的现代分布式修订控制系统工具。该措施将减少重复的核心软件维护工作,并促进协作。

SLAC开发的基于python和QT的PyDM显示管理器已被选作EDM的升级途径,因为EDM已接近使用寿命,不再得到积极支持。选择Python作为我们显示管理器的原因是它具有强大的社区支持,并且具有庞大的库生态系统(尤其是在科学和数字领域)。通过使用Python构建整个PyDM系统,可以轻松扩展新的窗口小部件,并为特殊目的创建现有窗口小部件的自定义版本,从而鼓励重复使用代码。与其他EPICS GUI系统相比,Python的易于开发和PyDM的可扩展性是其显着优势。

大部分HLA套件基于Matlab开发,功能丰富,满足需求,完全迁移到Python成本较高,所以继续使用。

中间层服务运行良好,因为它们为应用程序提供了与语言无关的集中式应用程序编程接口(API)。当前使用了某些EPICS 7中间层服务,SLAC还将添加新的服务。

新的中间件服务需要结构化数据,因此需要EPICS 7。PyDM作为一个EPICS 7组件在必须清单中。

LCLS-II控制系统的长期目标包括自动调整、依赖模型和独立分析以及机器学习,因此有很强的动机来增强基于EPICS 3的软件工具包,利用EPICS 7的全部优点,比如它支持结构化数据并利用了与语言无关的中间件服务层。

发表评论