留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于Lattice Server中间件的束流光学参数测量

李承羲 罗箐 刘功发 李川 宣科

李承羲, 罗箐, 刘功发, 等. 基于Lattice Server中间件的束流光学参数测量[J]. 强激光与粒子束. doi: 10.11884/HPLPB202032.200054
引用本文: 李承羲, 罗箐, 刘功发, 等. 基于Lattice Server中间件的束流光学参数测量[J]. 强激光与粒子束. doi: 10.11884/HPLPB202032.200054
Li Chengxi, Luo Qing, Liu Gongfa, et al. Beam optical parameter measurement based on Lattice Server middlelayer[J]. High Power Laser and Particle Beams. doi: 10.11884/HPLPB202032.200054
Citation: Li Chengxi, Luo Qing, Liu Gongfa, et al. Beam optical parameter measurement based on Lattice Server middlelayer[J]. High Power Laser and Particle Beams. doi: 10.11884/HPLPB202032.200054

基于Lattice Server中间件的束流光学参数测量

doi: 10.11884/HPLPB202032.200054
基金项目: 国家自然科学基金项目(U1832169)
详细信息
    作者简介:

    李承羲(1994—),男,硕士,从事加速器控制技术研究;windless@mail.ustc.edu.cn

    通讯作者:

    宣 科(1975—),男,高级工程师,从事加速器控制技术研究;xuanke@ustc.edu.cn

  • 中图分类号: TL506

Beam optical parameter measurement based on Lattice Server middlelayer

图(3)
计量
  • 文章访问数:  51
  • HTML全文浏览量:  48
  • PDF下载量:  7
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-03-02
  • 修回日期:  2020-06-01
  • 网络出版日期:  2020-06-19

基于Lattice Server中间件的束流光学参数测量

doi: 10.11884/HPLPB202032.200054
    基金项目:  国家自然科学基金项目(U1832169)
    作者简介:

    李承羲(1994—),男,硕士,从事加速器控制技术研究;windless@mail.ustc.edu.cn

    通讯作者: 宣 科(1975—),男,高级工程师,从事加速器控制技术研究;xuanke@ustc.edu.cn
  • 中图分类号: TL506

摘要: 根据合肥先进光源(HALF)的需求,在合肥先进光源预研项目中,开展了Lattice Server中间件技术的应用研究,开发出Lattice Server中间件。为验证Lattice Server中间件软件结构的可行性,利用合肥光源储存环,采用Python语言开发了基于Lattice Server中间件的束流光学参数测量。测量结果表明,该Lattice Server中间件实现了加速器上层物理应用与控制系统的交互,所测束流光学参数准确,证实了Lattice Server中间件软件结构的可行性。

English Abstract

李承羲, 罗箐, 刘功发, 等. 基于Lattice Server中间件的束流光学参数测量[J]. 强激光与粒子束. doi: 10.11884/HPLPB202032.200054
引用本文: 李承羲, 罗箐, 刘功发, 等. 基于Lattice Server中间件的束流光学参数测量[J]. 强激光与粒子束. doi: 10.11884/HPLPB202032.200054
Li Chengxi, Luo Qing, Liu Gongfa, et al. Beam optical parameter measurement based on Lattice Server middlelayer[J]. High Power Laser and Particle Beams. doi: 10.11884/HPLPB202032.200054
Citation: Li Chengxi, Luo Qing, Liu Gongfa, et al. Beam optical parameter measurement based on Lattice Server middlelayer[J]. High Power Laser and Particle Beams. doi: 10.11884/HPLPB202032.200054
  • 合肥先进光源(HALF)是中国科学技术大学国家同步辐射实验室提出的第四代衍射极限储存环[1]型真空紫外与软X射线光源,目标是产生真空紫外与软X射线波段的高亮度、空间全相干的同步辐射光,其超高亮度与高度空间相干性将为同步辐射用户提供“新”的探测工具。近年来,加速器中间件(Middle Layer)作为一种独立的系统软件或服务程序,逐渐成为加速器控制系统的重要组成部分,用于在各个软件与技术之间实现资源共享。应用层将部分繁重的计算和数据库操作交由中间件完成,提高了软件性能与可移植性,得到了国内外的大科学装置的广泛应用[2-4]。因此,在“合肥先进光源预研工程”子项“加速器控制技术”的研究中,结合合肥先进光源的未来应用需求,开展了Lattice Server、Archiver Server和Alarm Server中间件技术的应用研究。本文将介绍Lattice Server中间件的设计开发,基于Lattice Server中间件对束流光学参数进行测量。

    • 调束软件是实现粒子加速器物理目标的技术手段,是粒子加速器控制系统的重要组成部分。Lattice Server作为调束软件数据服务的提供者,是加速器上层物理应用与加速器控制系统之间的桥梁,其软件架构如图1所示。

      图  1  Lattice Server中间件软件架构

      Figure 1.  Lattice Server Middle Layer Software Structure

      根据HALF的技术需求,Lattice Server实现的上层物理应用包括响应矩阵测量、闭轨校正、局部凸轨、Lattice标定、束流光学参数测量及校正、插入元件补偿等功能。Lattice Server可以运行在三种模式下,分别是:在线模式、模拟模式和理论模式。

      运行于在线模式时,Lattice Server通过EPICS[5] Channel Access/pvAccess协议与真实机器的EPICS IOC通信,对真实的机器进行操作。相关的在线数据将通过图形界面直观地呈现,同时也会保存到数据库中。运行于模拟模式时,Lattice Server通过 Channel Access/pvAccess协议与虚拟加速器[6]的IOC进行通信,虚拟加速器由pyAT和Matlab AT[7]模拟实现。虚拟加速器会根据指定的Lattice配置文件,实时计算物理参数,并通过PyEpics接口软件[8]以Channel Access协议将各参数更新到对应的EPCIS IOC中。通过更换不同的Lattice配置文件便可快速改变虚拟加速器的Lattice结构;相关模拟数据通过图形界面直观地呈现,并可按照需求归档存入数据库。运行于理论模式时,Lattice Server通过Matlab/Python等语言开发对应的物理应用,直接调用虚拟加速器进行相应的理论运算,并将相应结果自动归档。在理论模式下,相应的物理应用程序将被封装成对应的功能函数,通过函数调用的形式实现对应的物理应用功能。

      应用层方面,则是利用Control System Studio(CS-Studio)的最新版——Phoebus[9],开发了相应的图形界面。每个加速器上层应用都有对应的控制界面,其他繁重的计算任务全部移到 Lattice Server中间件,操作人员或物理工作者无需了解编码细节,通过点击界面即可完成相关操作。当新的上层物理应用被添加到Lattice Server中时,物理开发人员只需关注加速器物理相关事项,而不必关心其与加速器控制系统之间如何实现交互的过程,这将大大提高上层物理应用的开发效率以及Lattice Server 的可拓展性。

    • 由于HALF仍在预研,为验证Lattice Server软件结构的可行性,故利用合肥光源储存环测试Lattice Server的性能,针对Lattice Server开发了束流光学参数测量功能。束流光学参数测量主要包括β函数测量、色散函数测量和色品测量。这些测量所调节的参数不尽相同,所采用的拟合或计算公式也有差别,但其测量方式与步骤是一致的。下文将以β函数测量为例,介绍基于Lattice Server的束流光学参数测量开发过程。

    • β函数是粒子横向振荡的振幅函数,是最重要的束流光学参数之一[10]。测量β函数最简单的方法是逐块改变四极铁的聚焦强度K,并记录此时储存环工作点的变化,进而计算得到该四极铁的β函数[11]。若四极铁聚焦强度变化∆K时,则储存环β函数测量值的理论公式为

      $$ {\beta }_{x,y}=\pm \frac{2}{\Delta Kl}\left\{{\rm{cot}}\left(2{\text{π}}{Q}_{x,y}\right)\left[1-{\rm{cos}}\left(2{\text{π}}\Delta {Q}_{x,y}\right)\right]+{\rm{sin}}\left(2{\text{π}}{Q}_{x,y}\right)\right\} $$ (1)

      当工作点远离整数、半整数共振线且变化值很小的情况下,β函数测量值的理论公式可简化为

      $$ {\beta }_{x,y}\approx \pm 4{\text{π}}\frac{\Delta {Q}_{x,y}}{\Delta Kl} $$ (2)

      式中:+、−号表示该四极铁为水平或垂直聚焦;$ \Delta {Q}_{x,y} $表示水平、垂直方向上工作点的变化;l表示四极铁的有效长度。

    • Python是一种跨平台的、面向对象的计算机程序设计动态类型语言。Lattice Server主要基于Python语言开发。下面介绍三种工作模式下的Lattice Server的β函数测量功能。

      为方便加速器控制系统共享三种模式下的束流光学参数测量结果,建立了EPICS软IOC,产生与各束流光学参数测量结果相对应的EPICS记录,如β函数理论值以及β函数模拟、在线测量值的记录。

      理论模式下,β函数测量程序直接连接储存环物理模型计算β函数:

      (1)利用pyAT建立储存环物理模型,为便于移植,通过输入不同Lattice配置文件就可以快速改变虚拟加速器的Lattice结构;由于HALF的Lattice结构并未最终确定,暂用合肥光源Lattice配置文件代替。

      (2)β函数理论测量程序直接连接储存环物理模型,计算虚拟加速器的β函数,并以四极铁中间位置处的β函数值代表整块四极铁的β函数理论值。修改对应的β函数理论值EPICS记录,以便控制系统共享数据;同时将计算结果归档保存,方便物理工作者调用分析。

      模拟模式下,β函数测量程序通过软IOC、虚拟加速器驱动程序和虚拟加速器来实现模拟测量:

      (1)建立软IOC,产生虚拟加速器的相关EPICS记录,如四极铁K值虚拟AO(access output)记录,储存环工作点虚拟AI(access input)记录。

      (2)编写虚拟加速器驱动程序,驱动程序定时通过pyEPICS接口软件监测虚拟加速器中四极铁K值的虚拟AO记录值,若记录值发生变化,就将这个值传给虚拟加速器,实时改变对应四极铁的K值。利用pyAT重新计算工作点,并通过pyEPICS接口软件修改工作点虚拟AI记录值。

      (3)编写β函数模拟测量程序,通过pyEPICS依次逐块修改虚拟加速器中四极铁K值虚拟AO记录,模拟改变储存环四极铁K值,读取虚拟加速器工作点的虚拟AI记录值,得到工作点的改变量。根据公式(2)得到四极铁的β函数模拟测量值。修改对应的β函数模拟测量值EPICS记录,方便控制系统共享数据,同时将模拟测量结果归档保存,方便研究人员调用分析。

      在线模式下,β函数测量程序通过设备IOC记录对加速器操作来实现在线测量:

      (1)编写β函数在线测量程序,通过pyEPICS依次逐块修改四极铁AO记录,改变四极铁K值,读取工作点AI记录值。为提高测量精度,对工作点进行多次测量,求取平均值,然后得出对应的工作点改变量。

      (2)根据公式(2)得到对应四极铁的β函数测量值,修改对应的EPICS记录,方便控制系统共享数据,同时将在线测量结果归档保存,方便物理工作者调用分析。

    • 为验证Lattice Server的可行性,在合肥光源展开了基于Lattice Server的β函数测量实验。测量方法采用上文所述方法。

      图2为利用Phoebus开发的β函数模拟测量应用界面。为了直观地展示测量结果,界面显示了β函数的数据处理图。图中蓝色圆点为四极铁处β函数理论值。测量时,点击“Measure”按钮,程序将逐一修改四极铁K值对应的EPICS虚拟记录,模拟改变虚拟加速器中四极铁K值,同时读取加速器工作点虚拟EPICS记录值,获得工作点变化量,并根据公式(2)计算此四极铁的β函数模拟测量值。每块四极铁测量完成且K值恢复至原值后,对应的β函数模拟测量值将显示在图2中(▲)。点击界面上方的标签可以切换至其他束流光学参数测量界面,进行不同的束流光学参数测量。

      图  2  β函数模拟测量测量界面

      Figure 2.  HLS-II β function virtual measurement interface

      图3为合肥光源上进行的β函数模拟、在线测量的测量结果汇总。测量结果显示,水平β函数模拟测量最大误差为4.5%,在线测量最大误差为9.3%;垂直β函数模拟测量最大误差为2.7%,在线测量最大误差为3.6%。

      图  3  HLS-II β函数模拟、在线测量结果图

      Figure 3.  HLS-II β function online and virtual measurement results

    • β函数测量的误差主要来自三个方面:理论误差、测量误差与系统误差。下面将讨论三种误差的影响。

      β函数是通过储存环传输矩阵算出的、全环范围内连续的曲线。四极铁内的β函数是一段连续曲线,而非一个固定值。图2图3中的β函数理论值点均为四极铁中间位置处的β函数理论值,以代表整块四极铁的β函数。公式(2)计算得出的β函数测量值均为四极铁内β函数曲线的积分平均值,与四极铁中间位置处的β函数理论值并不完全相等,同时,公式(2)作为简化公式,本身带有一定的误差。以上这些误差可以称为理论误差,模拟测量误差主要由理论误差造成。

      由公式(2)计算得出的β函数测量值,其测量误差$ {\delta }_{\beta } $主要与l$ \Delta K $以及工作点测量精度有关[11]

      $$ {\delta }_{\beta }=4{\text{π}}\sqrt{{\left(\frac{{{\delta }_{v}}^{2}}{\Delta Kl}\right)}^{2}+{\left(\frac{\Delta v{\delta }_{k}}{\Delta {K}^{2}l}\right)}^{2}+{\left(\frac{\Delta v{\delta }_{l}}{\Delta K{l}^{2}}\right)}^{2}} $$ (3)

      式中:$ \Delta v $为工作点的改变量,四极铁聚焦强度精度$ {\delta }_{k}=K\times 25\times {10}^{-6} $,工作点测量精度$ {\delta }_{v}=1\times {10}^{-4} $$ \Delta K $ =0.03,l=0.217 370或0.317 220;$ K $为四极铁聚焦强度,其最大值为3.610 9。为计算最大测量误差,l取0.217 37,由此算出β函数测量误差$ {\mathrm{\delta }}_{\beta } $最大值约为5.03%。

      加速器系统中,安装误差、设备老化等因素带来的误差也会对加速器各物理参数产生影响,这部分误差可以称为系统误差,在线测量误差主要由测量误差和系统误差造成。

      结合理论误差、测量误差与系统误差等因素,可以看出,β函数在线测量的误差处于合理范围,测量精度良好。

    • 基于Lattice Server中间件的束流光学参数测量功能已经在合肥光源上测试完成。本文首先介绍了Lattice Server的设计方案,之后详细介绍了基于Lattice Server的β函数三种模式测量开发过程,并给出三种模式下的测量结果。结果表明,其束流光学参数测量准确,实现了Lattice Server三种运行模式,验证了加速器上层物理应用与控制系统的交互,证实了Lattice Server中间件软件结构的可行性。今后将进一步提高其测量精度,增加新的上层物理应用功能。

参考文献 (11)

目录

    /

    返回文章
    返回