西安200 MeV质子应用装置控制系统的设计与实现
2021-11-10王茂成魏崇阳朱益江付振秋胡卫杰王敏文刘卧龙赵铭彤王忠明王学武
王茂成, 程 诚, 邹 运, 胡 闯, 王 强, 魏崇阳, 赵 晨, 朱益江, 杨 扬, 付振秋, 胡卫杰, 王敏文, 刘卧龙, 赵铭彤, 王忠明, 王学武
(1. 西北核技术研究所, 西安 710024; 2. 强脉冲辐射环境模拟与效应国家重点实验室, 西安 710024; 3. 清华大学 工程物理系, 北京 100084)
西安200 MeV质子应用装置(Xi’an 200 MeV Proton Application Facility, XiPAF)是为宇航用核心电子器件的空间辐射效应研究与考核评估而建设的辐射模拟装置。XiPAF由1台7 MeV的直线加速器、中能输运线、1台最高输出能量为200 MeV的同步加速器和高能输运线组成[1],包含直流电源、脉冲电源、高压电源、剥离膜设备、插板阀、真空计、机械泵、分子泵、离子泵、温度计和流量计等300多台/套各类型设备。为实现对这些设备及其参数的远程监控,协调同步加速器注入、加速及引出等各阶段不同设备按照特定时序工作,保障各类设备安全运行,本文基于实验物理与工业控制系统(experimental physics and industrial control system, EPICS[2]),设计开发了XiPAF控制系统,为XiPAF安全稳定运行和顺利出束提供了有力保障。
1 总体设计
XiPAF被控设备多、分布广,为方便设备调试、系统管理和后期运行维护,控制系统设计采用基于EPICS的分布式控制系统架构。
EPICS是由美国洛斯·阿拉莫斯国家实验室(LANL)和阿贡国家实验室(ANL)联合开发的一套软件工具集,是目前粒子加速器和天文望远镜等大科学装置领域主流的控制系统开发软件[3-6]。EPICS可以分为操作员界面(operator interface, OPI)、输入输出控制器(input/output controller, IOC)和通道访问(channel access, CA)3部分,其中OPI是客户端,基于TCP/IP网络协议,通过CA对服务端IOC进行访问[2,7]。
XiPAF控制系统根据不同设备和分系统的控制需求,把控制系统划分为系统应用级、前端控制级和设备控制级3级。系统应用级主要包括所有OPI终端、系统服务器及数据库等,前端控制级主要是运行各分系统IOC的工控机、事件发生器(event generator, EVG)和事件接收器(event receiver, EVR)等,设备控制级主要包括数台连锁可编程逻辑控制器(programmable logic controller, PLC)控制箱和所有被控设备。各层级之间通过控制与数据网络连接。此外,设备控制级的PLC控制箱和前端控制级的EVG/EVR等同步触发设备也分别组成了连锁保护网络和同步与事件触发网络。整个控制系统架构如图1所示。
图1 XiPAF控制系统总体架构示意图Fig.1 Overall architecture schematic of control system for XiPAF
2 硬件设计
XiPAF的被控设备接口种类不一,主要包括DI/DO连锁接口、触发接口、RS485串口和以太网接口。对于现场流量计和水压表等设备的开关触点信号,采用美国Rockwell AB公司CompactLogix AB PLC1769系列模块实现连锁保护控制。该系列模块性能好,运行稳定,同时有配套的IOC驱动,便于控制程序开发。对触发类接口,选用芬兰MRF公司的cPCI-EVG-300事件触发器和cPCI-EVR-300事件接收器为控制核心板卡,支持事件时钟率50~125 MHz,全系统最大支持8种事件,144路硬件输出。对真空计和离子泵电源等有RS485通信接口的设备,采用MOXA的NPORT6650-16系列串口服务器实现控制协议转换成TCP/IP接入控制网络。对有高压隔离需求的被控设备,采用具备电光转换功能的ADAM模块实现高压和控制网络的隔离功能。
控制网络采用树形拓扑结构,所有设备均接入分系统交换机,再通过光纤连接到华为S7706中央核心交换机。IOC服务器是控制系统的数据核心,实现设备数据、OPI终端及数据库等系统服务数据交互的功能。运行IOC的平台选用研华公司的IPC系列工控机,具备双网卡,通过分别连接PLC控制箱和控制网,实现2个网络的有效隔离。另外,通过采用多个工控机独立控制各个分系统,使XiPAF分系统分阶段调试和运行维护工作更加便捷灵活。XiPAF控制系统的硬件结构如图2所示。
图2 XiPAF控制系统硬件结构图Fig.2 Control system hardware structure of XiPAF
3 软件设计
3.1 IOC设计
记录IOC软件中,从底层设备上读取的控制变量是以过程变量(process value, PV)的形式存在于实时数据库中[2, 8];IOC通过分为3层的IOC驱动实现设备I/O功能,分别是记录支持模块、设备支持模块和驱动模块。记录支持模块与设备无关,只与数据库记录类型有关;设备支持模块用于实现硬件I/O的具体功能;驱动模块则用于初始化设备,建立设备与IOC的连接。在XiPAF控制系统中,所有待开发IOC的被控设备通信方式可分为串口和以太网2大类,采用EPICS自带插件Asyn的drvAsynIPPortConfigure作为通用驱动接口,通过以太网设备IP或串口设备IP加端口号实现连接。因此IOC软件开发的核心是针对不同类型设备和不同参数设计记录支持和设备驱动2部分。
XiPAF控制系统在记录支持层采用了多种记录类型,其中,ai,ao,waveform,calc,calcout和stringout[9]使用次数最多。ai用于读取设备状态参数,包括电流和电压等;ao用于给设备设置参数或状态;waveform和stringout主要用于给设备下发波形;calc用于PV的转换计算,calcout则把计算结果发送给设备。统计控制系统中主要IOC各类型记录的数量如图3所示。
图3 IOC各类型记录数量Fig.3 Number of all kinds of IOC records
在设备驱动层,控制系统需要根据不同设备具体功能指令的不同,开发特异性驱动。以一台直流电源的控制程序为例,其设备驱动主要指记录中OUT域或INP域中的Set和Read函数,如下所示:
field(OUT, "@test.proto Set")
field(INP, "@test.proto Read")
Set{
out "x01x10x00x1b%2r%#
in "x01x10x00x1b";
}
Read {
out "x01x03x00x1c%2r%#
in "x01x03x00x1c";
}
在进行总体规划时,为了方便分系统调试,根据各子系统划分和被控设备统计结果,XiPAF控制系统共设计开发了6个IOC,其中,同步加速器IOC为了降低负载拆分为2个。每个IOC控制的设备数量和PV数量如图4所示。
图4 各IOC控制的设备数量和PV数量统计Fig.4 Device and PV number of IOCs
3.2 OPI设计
操作员接口(OPI)采用CSS(control system studio)开发[6,10,11]。CSS是基于Java开发的,目前加速器领域主流的OPI开发工具[7],控件丰富,界面美观,具备平台无关性。
根据各分系统显示需求和设备统计结果,在确定了统一的界面风格、字体、颜色及插件大小等外观规范的基础上,设计开发了系统级界面2个,真空、水冷、连锁及束测等分系统界面23个,设备控制界面34个。共显示直流电源设备67台、脉冲电源设备22台、高压电源2台等300余台/套设备的控制界面。图5-图7分别是真空分系统、RF分系统和同步环分系统的OPI显示界面。
图5 真空分系统的OPIFig.5 OPI of vacuum sub-system
图6 RF分系统的OPIFig.6 OPI of RF sub-system
图7 同步环磁铁电源的OPIFig.7 OPI of synchrotron power supply
3.3 同步触发网络设计
XiPAF同步触发信号触发的设备主要集中在直线加速器的射频部分、束测系统电子学和同步加速器的脉冲电源部分。根据布局和接口数量要求,同步触发网络设计为树形拓扑结构,由EVG将定时事件和信号转换为光信号,通过扇出器(Fanout)分布到事件接收器阵列(EVRs)。EVRs对光学信号进行解码,并根据时序事件产生硬件和软件输出信号。XiPAF同步定时系统结构如图8所示:
图8 XiPAF同步定时系统结构图Fig.8 Structure diagram for synchronizationevent-triggered network of XiPAF
在该同步触发网络中,144路同步触发信号均来源于同一信号源(EVG),具有相同的起点,且互不干扰,可分别给触发波形设置独立且不同的频率、脉宽和延时参数,有效保证了XiPAF各类触发设备按照设定参数有序运行,稳定出束。图9给出了XiPAF在100 MeV出束条件下部分设备的时序图。
图9 XiPAF部分设备时序图(100 MeV出束条件)Fig.9 Sequence diagram for some equipment of XiPAF(on state of 100 MeV beam)
XiPAF同步触发网络采用的EVG/EVR300系列板卡安装在凌华公司的cPCI机箱内,采用以PCI电气规范为基础的cPCI总线,具有高开放性、高可靠性、可热插拔(hot swap)性质,同时接口做了重大改进,使工控电脑具有高可靠性和高密度的优点,适合工业现场使用。
3.4 连锁保护系统设计
XiPAF控制系统采用连锁保护系统(machine protection system,MPS)保护所属设备安全。该系统主要在设备工作异常或工作参数超限时自动处理,通过关闭触发信号切断束流和关断电源等手段保护设备安全。
根据响应时间要求和现有设备条件,连锁保护系统由响应时间小于0.2 s的慢连锁和响应时间小于2 s的软连锁组成。其中,慢连锁由3个PLC机箱和1个PLC控制机柜组成,直接读取设备状态信号,并在分系统连锁保护程序控制下,输出对不同设备的状态控制信号。3个PLC机箱负责控制直线加速器分系统的所有连锁信号,并运行连锁保护程序;PLC控制机柜则控制输运线和同步环的所有设备连锁信号,运行连锁保护程序。软连锁则是将设备运行数据在IOC中处理成报警状态信号再接入连锁机箱。软连锁通过IOC与慢连锁机箱实现数据交互,作为补充使连锁保护功能更加完善。软连锁的工作流程如图10所示。
图10 软连锁的工作流程Fig.10 Workflow of soft interlock
连锁保护系统运行各分系统连锁保护程序,其中,最主要的连锁保护逻辑可以分成真空连锁保护和水冷连锁保护2部分。真空连锁可保护XiPAF的真空环境,防止误开插板阀操作造成暴露大气,同时避免操作不当损伤真空泵。分系统级的真空连锁保护流程如图11所示。
图11 真空连锁保护流程Fig.11 Workflow of vacuum interlocking protection
水冷连锁是防止电源和磁铁在冷却水压和水流量异常时继续工作,避免设备损坏,水冷连锁保护流程如图12所示。为避免水压表的瞬时报警信号影响XiPAF的工作状态,连锁程序对报警信号进行了延时确认处理。只有报警信号在延时3 s后仍然保持,连锁程序才会动作关闭相关设备。同时为了方便调试,对部分水压表和涡轮流量计增加了bypass功能,在调试阶段,可以屏蔽故障信号,使调试正常进行。
图12 水冷连锁保护流程Fig.12 Workflow of water-cooled interlocking protection
此外,为更加有效的保护重要设备的安全,XiPAF控制系统还对触发控制进行了冗余设计。将离子源和高频功率源的触发信号串联接入连锁保护系统,在信号异常或相关设备故障时可同步切断触发输出,实现切断束流的功能。
3.5 数据存储系统设计
XiPAF控制系统设计采用关系型数据库MariaDB存储历史数据。使用存储引擎(archive engine)读取实时数据库IOC中的PV数据,再通过Java数据库连接的应用程序接口(java database connectivity, JDBC)批量存储在数据库中。数据库的配置采用Archive Engine默认支持的数据库模型。该数据库模型使用sample表存储所有PV的动态数据,用channel、chan_grp等其他表存储PV的配置信息、PV组信息等静态数据。Archive Engine默认数据库模型如图13所示。
图13 Archive Engine默认数据库模型Fig.13 Default database model of Archive Engine
数据库中PV存储的方式设定为固定周期存储扫描和数据超限存储2种。采用配置工具ArchiveConfigTool导入xml格式的配置文件的方式配置存储方式、存储周期和超限阈值[11]。存储系统提供管理员账户和只读账户。用户在需要时,可以使用只读账户通过CSS中的Data Browser或其他数据库访问软件查询历史数据。图14为Data Browser查询真空PV结果图。
图14 Data Browser查询真空PV结果图Fig.14 Results of query vacuum PV using Data Browser
为提高数据准确性,降低服务器负载,进行了几点设计优化:1)配置局域时间同步系统网络时间协议(network time protocol, NTP),保证存储数据的时间标签一致性,使得同一时刻历史数据可以互相对照。2)由于待存储PV的数量达到1 000多个,将待存储PV划分到2个存储引擎中分别存储,有效降低了服务器的负载。3)对数值很少变化或变化非常缓慢的PV数据,根据实际情况对其存储周期或存储方式进行了优化调整,有效降低了每天的实际数据存储量。目前每天的历史数据量约为100 Mbit(实验时间约16 h)。
4 功能测试
4.1 控制系统功能测试
XiPAF控制系统建设开发完成后,对基本控制功能进行了测试,主要包括通信功能测试和设备控制功能测试。通信功能测试方面:1)遍历测试所有在线设备的网络连接情况,是否能够正常访问;2)测试所有OPI对IOC的访问情况,看所有PV是否能正常读取,且读取的数值是否与对应设备的实际数值一致。设备控制功能测试方面:测试电源和真空泵等设备控制情况。看所有设备能否响应开关机指令,正确输出设定的电源参数。测试结果表明,通信功能和设备控制功能均正常工作。
4.2 同步触发网络测试
主要测试了2部分的内容:1)测试同步触发事件、触发参数设置和输出波形。结果显示设置参数正常,输出的触发波形完全符合设置参数。2)测试同步触发信号的指标参数,主要包括同步定时准确度、抖动和最小可调节步长。在脉冲宽度设置为40 ns时,同步触发信号指标参数测试结果列于表1。
表1 脉冲宽度为40 ns时,同步触发信号指标参数测试结果Tab.1 Test results of synchronization event-triggerednetwork when pulse width of 40 ns
4.3 连锁保护系统测试
主要测试连锁输入点状态、连锁程序连锁功能和连锁响应时间3部分内容。测试结果表明,所有设备状态输入均能在连锁机箱中正常显示;连锁程序能对真空和流量计等各类报警信号正确响应。采用PLC反应时间测试盒和示波器对LINAC和RING分系统进行了连锁响应时间测试。分别测试了LINAC分系统内、LINAC和RING分系统间的连锁响应时间,图15为LINAC分系统内连锁响应时间tL的测量波形。
(a) tL=24.2 ms
图16为LINAC和RING分系统间的连锁响应时间tB的测量波形,连锁响应时间测试结果如表2所列。由图15、图16及表2可见,测试结果满足分系统内低于100 ms、分系统间低于300 ms的指标要求。
(a) tB=83.0 ms
表2 连锁响应时间测试结果Tab.2 Test results of chain response time
4.4 可靠性测试
利用调束过程中设备长期工作的契机,在长时间连续运行的条件下,对XiPAF控制系统的稳定可靠性进行了测试。结果表明,XiPAF控制系统在最长连续运行的5个月时间内均能正常工作,具备稳定和可靠性高的特点。
5 结论
结合装置实际需求,基于EPICS的3层结构设计开发了分布式的XiPAF控制系统。在规划设计的控制系统架构的基础上,开发了不同设备的IOC设备驱动、控制程序和一系列系统级设备级OPI界面;分别设计开发完成了同步触发网络和设备安全连锁保护系统;基于MariaDB设计实现了数据存储系统。XiPAF控制系统实现了对所有设备的远程检测、控制、触发和连锁保护功能和数据库存储功能。自2019年底同步加速器开始调束以来,XiPAF控制系统已稳定可靠工作一年以上,能够满足装置调束和运行的需要。
致谢
感谢项目组闫逸花、吕伟、张辉、王百川、王迪、杨业、符育盟等给予的帮助和支持;感谢西北核技术研究所孙彬给予的指导和帮助;感谢清华大学贾燕庆和北京合志超越公司的同仁给予的指导和帮助;感谢中国科学院高能物理研究所刘佳、张玉亮、吴煊、郭凤琴等同仁给予的指导和帮助。