Blog | 大科学领域, 项目

MYRRHA DAQ开发

R. Modic, P. Mekuč @ Cosylab

D. Vandeplassche, P. Della-Faille @ SCK•CEN

至少从2012年起,Cosylab就为MYRRHA项目做出了贡献。最近,在澳大利亚墨尔本IPAC19上,报道了针对MYRRHA测试台实施通用数据采集解决方案的工作,该测试台位于新鲁汶(比利时)。本文摘取了IPAC展示的关键技术要素。

简介

MYRRHA(用于高科技应用的多功能混合研究堆)是比利时莫尔的多功能辐照设施,用作加速器驱动系统[1]

获得更好的采样性能、信号质量、任意处理和存储测量值都是当前工作的主要目的,这就强烈要求将数据采集(DAQ)系统完全集成到全球EPICS控件环境中,并建立一个中间DAQ平台来满足控制和实验需求。

设计与实施

使用美国国家仪器公司(NI)LabVIEW和DAQmx [5]驱动程序来创建通用DAQ应用程序,该应用程序可在带有多功能I/O模块的PXIe工业计算机上运行。选择该平台,是因为它能够满足在16个通道上同时采集高达2 MHz频率的数据并进行实时处理。

该软件体系结构由四个独立的模块组成,每个模块执行各自的功能:Data采集、EPICS、数据记录器和错误处理器。这些模块都有自己的队列,其他模块可以将带有有效负载的消息发送到那些队列,从而允许模块彼此交互,同时保持独立。

DAQ模块

Data采集模块(图1)是一个主模块,定义了应用程序的工作流。

图1:DAQ模块的软件架构。

数据采集模块中的主循环执行一个状态机,该状态机的状态定义了什么被视为正工作流,而什么不是正工作流,即系统正在等待来自图形用户界面的配置,系统正在等待触发或系统正在获取数据。来自其他模块的消息充当状态机执行的中断例程。如果消息是从另一个模块到达的,则在主循环的下一次迭代中对其进行处理。动作和状态转换由消息的类型及其有效负载定义。从EPICS模块向DAQ模块发送消息的示例是“配置”类型,其中包含有效负载中的配置数据的详细信息。该消息触发配置的验证、配置的存储以及从“初始”状态到“已配置”状态的状态转换。DAQ模块还包含一个异步过程循环。该循环从DAQ模块获取采集的样本,处理图形用户界面和存储的样本,并将结果转发到EPICS和Data Logger模块。

EPICS模块

EPICS模块从CALab库运行SoftIOC,并在此存储过程变量(PV)。EPICS模块在EPICS控件环境中,用作通信器,主要功能是将控件和数据PV从SoftIOC更新到DAQ应用程序,反之亦然。EPICS模块拦截图形用户界面上的所有用户动作,并将其转发到DAQ模块。

数据记录器模块

数据记录器模块负责存储所获取的数据和测量配置,以进行后分析。由于兼容性原因,SCK-CEN选择了CERN定义的TFS文本数据格式[6]来存储数据。标头包含配置和静态束流参数,主体包含与采集的时间戳一起获取和处理的数据。

错误处理器模块

错误处理器模块负责处理可能导致应用程序运行故障的所有事件,将所有状态、警告和错误事件存储在.log文件中,以供以后检查。错误处理器模块会在出现严重错误或用户关闭图形用户界面操作时,妥善关闭系统。

集成到EPICS

为了能够将在NI硬件上运行的DAQ应用程序集成到EPICS控制环境中,我们需要一个用于LabVIEW的库,该库能够运行SoftIOC并通过EPICS通道访问与之建立通信。我们基于性能、易用性、功能和许可证,对许多选项进行了评估,并选择了最优的两个进一步评估:BESSY的CALab和NI对EPICS的原生支持。CALab库在上游数据更新方面表现更好,与下游相比,它的要求要高得多,并且可以更好地集成到LabVIEW环境中。因此,我们使用CALab库实现DAQ应用程序。

用户界面

图2:在CSS中开发的DAQ应用程序图形用户界面的测量选项卡。

CSS中开发的图形用户界面为用户提供了必要的配置、可视化和控制功能,它有三个选项卡(图2),每个有特定功能。首先,用户在配置选项卡中设置采集参数和采集类型。在控制选项卡中,用户可以在使用后发出软件触发器、停止或中止采集、关闭DAQ应用程序。测量选项卡(图2)在幅度时间图上实时显示最近的测量,可以选择可见的频道,还具有操作图形的功能,以更好地检查所选部分的数据。

项目格式

我们决定将DAQ项目用作需求驱动型工程中的一项练习。SCK即将进行的MINERVA将大大扩大所需控制系统的工作量。在经验丰富的控制系统架构师的指导下,开发的控制系统组件必须遵循全球控制系统设计决定。

我们希望尽早利用最佳的软件工程实践,为SCK团队配备可扩展的控制系统开发策略。Cosylab帮助进行了需求定义和审查。然后,由SCK批准这些需求。Cosylab负责设计并予以实现、审查代码、完成详尽的测试计划以及审查过程。测试计划已由SCK批准。首先通过在Cosylab(FAT)执行测试计划来完成验收,如此一来,在将解决方案交付给LLN之前,就可以解决所有问题。安装和现场验收由LLN的Cosylab团队完成。测试计划由SCK执行并最终接受。

Cosylab管理整个项目,而SCK通过需求和测试计划批准进行完整的控制。通过这种方法,SCK能够充分利用可用资源,同时完全控制可交付成果以获得所需功能。

有关功能的任何其他想法均记录为功能请求,并将在该应用程序的下一版本中实现。

结论

使用NI的硬件和驱动程序为MYRRHA开发了一个DAQ解决方案,该解决方案功能齐全且可配置。DAQ应用程序可在LabVIEW的本地硬件上运行。为了集成到EPICS控制系统中,使用了CALab,并在CSS中创建了用于配置和数据可视化的用户界面。

About the Authors

Robert Modic joined Cosylab in 2012, first working on a timing system study for RAON. His other projects include ELI-NP, where he was responsible for the complete timing system of the accelerator from writing down the requirements, doing the design and managing the implementation. He is currently the control system task leader for MYRTE, the research and transmutation endeavour of the MYRRHA (Multi-Purpose Hybrid Research Reactor for High-Tech Applications) research facility. In his free time, Robert enjoys spending time out in nature, hiking or cycling with friends and family; enjoying the elements is his way of recharging.

Primož Mekuč joined Cosylab in 2016. He started working on some parts of Cosylab’s Accelerator Control System (C-ACS) software framework and some smaller projects. Then he moved on to comprehensive testing of Accelerator Control System and Timing system products and worked on the DAQ system for the MYRRHA project as the Lead Developer. He later switched his focus more to systems engineering. He is working with proton therapy customers on writing requirements and test cases for the devices that are part of Proton therapy facilities. In his free time Primož leads a local scout group, explores mountains on his mountain-bike and spends time with his wife and friends — preferably outdoors, in nature.

Philippe della Faille works at the Belgian Nuclear Center SCK•CEN and has joined the MYRRHA project in January 2018. He holds a Bachelor’s degree in computer science and has managed different projects of control systems in the nuclear sector, such as RIC, RICN4 and ICEDA. His main passion is aviation and has a private pilot license.

0 回复

发表评论

Want to join the discussion?
Feel free to contribute!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Others Also Read