基于NI cRIO的合肥光源冷却水监测系统
2014-09-23王季刚文鹏权蒋思远刘功发
陈 曦 王季刚 宣 科 李 川 文鹏权蒋思远 刘功发
(中国科学技术大学 国家同步辐射实验室 合肥 230029)
1 系统概述
合肥光源(Hefei Light Source, HLS)是以真空紫外和软X射线为主的专用同步辐射光源。为了提高其供光亮度并提供更多的储存环直线节,2009年底启动了合肥光源重大维修改造项目,冷却水监测系统是此次重大维修改造项目的一部分。
冷却水监测系统用于监测分布在合肥光源范围内的冷却水温度、压力和流量,以及磁铁温度和隧道环境温度。这些信号分布范围广,环境复杂,但变化不快,采样频率的要求为1 Hz,温度的测量准确度要求为±0.5 °C,压力和流量的测量精度要求为±2%。
因此,在硬件设计时主要考虑其抗电磁干扰能力和扩展性能。而在软件设计时主要考虑与EPICS(一种广泛应用于大科学装置的大型分布式控制系统的软件运行环境和开发平台)的兼容性,以保持与合肥光源控制系统总体设计的一致性,因为合肥光源控制系统是基于EPICS开发的。
可重配置嵌入式工业控制器(cRIO)是美国国家仪器公司(NI)专为恶劣环境下的应用而设计的,可热插拔的I/O模块种类齐全,支持LabVIEW图形化编程,并存在现成的EPICS接口程序,易于将系统集成到EPICS环境中。冷却水监测系统采用cRIO作为硬件平台,并采用LabVIEW作为编程语言。
2 硬件结构
冷却水监测系统用于监测冷却水温度、压力和流量,以及磁铁温度和隧道环境温度等信号。这些信号分布在合肥光源的整个范围内,总计596个。冷却水监测系统的硬件结构如图1所示,上位机通过以太网与18台NI cRIO-9073控制器相连。在NI cRIO 9073的机箱内插入2种类型的I/O 模块,即NI 9217和NI 9208,分别用于测量电阻信号和电流信号。
冷却水监测系统用于监测冷却水温度、压力和流量,以及磁铁温度和隧道环境温度等信号。这些信号分布在合肥光源的整个范围内,总计596个。温度传感器为Pt100,精度为A级;压力传感器是上海自动化仪表股份有限公司生产的电阻式远传压力表YTZ-150,精度为1.5级;流量传感器为合肥福斯达测控技术有限公司生产的 FMCLUGB系列涡街流量计,精度为±1%。冷却水监测系统的硬件结构如图 1所示,上位机通过以太网与 18台 NI cRIO-9073控制器相连。在NI cRIO 9073的机箱内插入2种类型的I/O模块,即NI 9217和NI 9208,分别用于测量电阻信号和电流信号。
NI 9217模块支持4个通道的3线制/4线制RTD信号输入,采样率为400 S/s,具有50/60 Hz工频干扰抑制功能。NI 9217模块用于测量温度信号和压力信号。NI 9208模块支持16个通道电流信号输入,采样率为500 S/s,具有50/60 Hz工频干扰抑制功能。NI 9208模块用于测量流量信号。
图1 合肥光源冷却水监测系统的硬件结构Fig.1 Hardware structure of the HLS cooling water monitor system.
3 软件设计
冷却水监测系统的软件有两个方面的任务,一方面是读取并处理来自测点信号的数据,另一方面是将数据发布到EPICS环境中。目前有多种方法可以将NI cRIO装置集成到EPICS环境中。例如,美国橡树岭国家实验室(ORNL)为LabVIEW开发了通道访问协议服务端(Channel Access Server, CAS)的接口程序[1];美国洛斯阿拉莫斯国家实验室(LANL)开发了在cRIO实时控制器上直接运行EPICS IOC的技术[2]。NI也开发了一个称为“EPICS Server I/O Server”的接口程序,该接口程序集成在LabVIEW Real Time版本中。在LabVIEWReal Time环境下编程,可实现将数据发布到 EPICS环境中的任务,EPICS Server I/O Server使得cRIO对外表现为一个EPICS节点[3−4]。考虑到技术支持方面的原因,我们采用了NI公司开发的接口程序“EPICS Server IO Server”将冷却水监测系统的数据发布到EPICS环境中。
软件系统的设计以EPICS ServerI/O Server为核心,针对所采用的硬件开发了一个带配置文件的LabVIEW软件包,以方便软件的部署和调试。软件包主要由以下三部分组成:(1) cRIO Run(RT).vi;(2)Generate Configure File(Main).vi;(3) cRIOImage.vi。
cRIO Run(RT).vi是在cRIO-9073中运行的主程序,其流程图如图2所示。cRIO Run(RT).vi按照一定的规范生成实时可执行文件 startup.rtexe。将startup.rtexe下载到cRIO 9073中,并设置为开机自启动。startup.rtexe启动后会自动搜寻cRIO-9073中的配置文件,查找到配置文件后会根据配置文件中机箱及安装在机箱中的模块信息来匹配当前的机箱及模块。如果匹配失败,通过指示灯 USER1 LED的闪烁来提示用户。匹配成功后,startup.rtexe根据配置文件中各个模块的参数处理接收到的信号,并将信号转化为测量值,然后调用EPICS Server I/O Server把测量值以过程变量(PV)的形式发布到EPICS环境中。在发布的PV中有3个与时间相关的量,分别记录cRIO-9073的当前时间、开始时间以及持续运行时间,cRIO-9073的系统时间是通过NTP协议与时间服务器同步的。图3所示为cRIO Run(RT).vi调用的核心程序DeployEPICS.vi的程序代码,其功能为发布测量信号以及时间信号到EPICS环境中。
图2 cRIO Run(RT).vi程序流程图Fig.2 Flow chart of cRIO Run(RT).vi.
Generate Configure File(Main).vi用来生成配置文件。在Generate Configure File(Main).vi中可配置机箱序列号、模块序列号、信号类型、PV名和数据处理参数等信息,信息配置完成后可生成配置文件PVConfiguration.txt,并可将该配置文件批量部署到多个cRIO-9073中。生成的配置文件可以使用任意编辑器进行编辑,只要保证格式正确即可。
cRIOImage.vi用于生成镜像文件,并且可将镜像文件批量部署到多个cRIO-9073中。通过测试确定某一台 cRIO-9073可以稳定运行后,采用cRIOImage.vi对这台cRIO-9073中的所有软件(软件环境、startup.rtexe和配置文件)进行克隆,生成一个镜像文件。将此镜像文件批量安装到cRIO-9073中,部署的cRIO-9073便具有了与测试稳定的cRIO-9073相同的软件环境、startup.rtexe和配置文件。
图3 DeployEPICS.vi程序代码Fig.3 Code of DeployEPICS.vi.
4 系统安装和调试
采用cRIOImage.vi将镜像文件批量部署到所有cRIO-9073中,整个软件部署过程十分方便快捷。由于采用配置文件的方式,在增加测量点或改变测量点的信息时,只需修改对应cRIO-9073的配置文件PVConfiguration.txt,对其它cRIO-9073没有任何影响。部署完成后,借助 NI分布式管理器可以方便地查看每个PV的值,以逐点检查信号连接与数据处理情况。在系统调试过程中,发现NI的EPICS Server IO Server接口在cRIO平台上只支持VAL字段,不提供报警处理,也不提供时间戳。以上的功能缺失对标准的EPICS CA客户端工具会有一些影响,但在合肥光源冷却水监测系统中是可以接受的。
图4 合肥光源冷却水监测系统的监测界面Fig.4 Interface of HLS cooling water monitor system.
cRIO-9073上的 PV也可以通过标准的EPICSCA客户端工具读取,如probe、edm、Channel Archiver等。图4所示的是采用edm开发的冷却水系统监测界面,其左侧为冷却水监测系统的总界面,点击其中的任意一个按钮可以打开对应的监测界面,如图4右侧的直线加速器四极磁铁温度监测界面。可见,监测到的温度数据精度满足设计要求。
目前系统处于试运行状态,运行状况良好,监测界面操作简单,基于Channel Archiver的数据归档系统工作正常,达到了设计目标。
5 结语
合肥光源冷却水监测系统采用 NI公司的cRIO作为硬件平台,以 LabVIEW 为编程语言,并采用NI公司开发的接口程序“EPICS Server IO Server”将系统集成到 EPICS中。由于采用镜像方式安装cRIO-9073中的所有软件,并采用自动匹配配置文件的方式,使得软件的安装和调试十分方便快捷。虽然NI公司开发的EPICS接口程序EPICS Server I/O Server在cRIO平台上的功能不够完善,但对合肥光源冷却水监测系统的影响不大。系统的试运行表明其性能稳定,操作简单,扩展性好,达到了系统设计目标。
致谢 感谢 NI公司郑凯、杨凯、王晓辉和王电令等工程师在LabVIEW编程方面的技术支持。
1 Zhukov A, Blokland W, Dickson R. EPICS channel access implementation in LabVIEW[C]. Proceedings of ICALEPCS 2009, Kobe, Japan, Oct. 2009: 712−714
2 Björklund E, Veeramani A, Debelle T. Using EPICS enabled industrial hardware for upgrading control systems[C]. Proceedings of ICALEPCS 2009, Kobe,Japan, Oct. 2009: 555−557
3 Veeramani A, Debelle T, Blokland W, et al. Options for interfacing EPICS to COTS hardware through LabVIEW[C]. Proceedings of ICALEPCS 2009, Kobe,Japan, Oct. 2009: 913−915
4 Interactively Configuring EPICS I/O Servers[OL].http://www.ni.com/white-paper/14149/en, 2012