新疆天文台26米射电望远镜压缩机 压力监控系统设计与实现*
2021-07-15段雪峰项斌斌李笑飞
陈 勇,段雪峰,闫 浩,李 健,项斌斌, 马 军,李笑飞,刘 烽,曹 亮
(1. 中国科学院新疆天文台,新疆 乌鲁木齐 830011;2. 中国科学院射电天文重点实验室,江苏 南京 210008; 3. 新疆微波技术重点实验室,新疆 乌鲁木齐 830011)
新疆天文台南山基地26 m射电望远镜建成于1993年12月,2015年天线口径升级改造为26 m。望远镜参加了欧洲甚长基线干涉网(European VLBI Network, EVN)、国际VLBI测地网(International VLBI Service for Geodesy and Astrometry, IVS)、俄罗斯低频VLBI网(Low Frequency VLBI Network, LFVN)、东亚VLBI网等多个国际合作组织,承担着国家攀登计划、大科学工程、国家自然科学基金、中国科学院基础研究重点项目以及多项单天线国际合作天文观测研究任务,开展了脉冲星观测、分子谱线、活动星系核、日间快速光变现象(Intra-Day Variability, IDV)等多项课题[1]。
26 m射电望远镜投入使用的接收机共有4台[2],为了观测微弱的射电信号[3],4台接收机均为制冷低噪声接收机,使用氦气压缩机制冷。压缩机通过氦气管为制冷头提供260~280 PSI的高压氦气,氦气在制冷头中膨胀,通过氦气管返回压缩机,回气压力范围为50~100 PSI。
天线在观测中不停地转动,氦气管的一部分和天线一起运动,时间长了氦气管因为破损而漏气,如果没有及时发现,压缩机因压力过低而停机,氦气管甚至会因为气压过低进入空气。这时就必须停止观测,等接收机杜瓦回暖,重新给杜瓦抽真空、制冷。如果氦气管中进入空气还需要置换氦气管中的气体,严重影响正常的观测计划。
压缩机在正常运行过程中需要不定时的维护,如压缩机压力过低时需要补充氦气,压缩机运行一定时间后需要更换吸附器和氦气管,这些正常维护工作都需要记录。为了掌握压缩机的运行状况,更好地为天文观测服务,本文设计和开发了一套压缩机压力监控软件[4-8]。
1 系统设计
1.1 需求分析
1.1.1 压缩机压力监控及维护管理
软件能够实时分析、处理数据采集端接收的数据,实现压缩机压力实时监控。当压缩机压力出现异常或与数据采集端通讯异常时,系统及时给相关人员发送邮件,提醒用户处理压缩机压力异常情况。
1.1.2 方便查询
软件系统不仅记录压缩机的压力值,同时也记录压缩机的运行、维护数据,这些数据都保存在数据库中。软件系统必须很方便地查询这些数据,才能对压缩机的运行状态做出正确的判断。软件系统不仅可以在主界面查询接收机的运行数据,还可以在各功能界面中查询。
1.1.3 与压缩机压力传感器灵活配对
26 m射电望远镜现有两台压缩机,每台压缩机需要一根高压氦气管和一根低压氦气管,两台压缩机共需4根氦气管,实际有6根氦气管可供使用,其中4根在使用,两根备用。因为氦气管的损坏具有不确定性,需根据实际情况更换,所以不确定哪根氦气管用于哪台压缩机,在更换氦气管后软件需要方便地和实际使用的氦气管配对。
1.1.4 软件界面简洁
软件界面简洁,各项功能在后台完成,用户只需要简单的培训就可以熟练使用。
1.2 总体设计
压缩机压力监控系统采用分层设计和开发,分为数据采集与传输层、数据处理与查询层、数据显示与应用层以及数据库层,压缩机压力监控系统总体框架如图1。
图1 压缩机压力监控系统总体框架
1.2.1 数据采集与传输层
数据采集与传输层主要为硬件部分,压力传感器采集压缩机的压力并使用树莓派通过TCP/IP将压力数据传输到内网。
1.2.2 数据处理与查询层
数据处理与查询层接收数据采集与传输层传来的压力数据,完成数据处理,所有的查询工作也在这层完成,因此,这一层是软件的核心层。
1.2.3 数据显示与应用层
数据显示与应用层是软件的界面,压缩机的压力数据及压缩机房的温度数据在这层显示,用户在这层与软件交互,完成基本资料录入、查询、报警等操作。
1.2.4 数据库层
数据库层是数据存储的核心,压缩机的基本资料、压力数据和历史维护记录存储在数据库中,供软件调用、查询。
2 系统模块
因为多路压缩机压力数据具有相似性,为了提高代码的重用性,软件系统所有的功能采用模块化的形式实现,每个模块提供特定的功能,模块之间通过接口通讯。所有模块可以被应用程序重复调用,既可以有效减少代码量又方便软件的维护。软件将一些常用的功能封装在一个类中作为父类,在其它使用这些功能的地方作为子类继承父类。软件界面的许多操作及界面形式非常相似,这是因为它们继承了相同的父类。
2.1 增加、修改、删除、保存类
增加、修改、删除、保存功能是软件系统常用的功能,这些功能主要涉及数据库的操作,需要将界面中的数据与数据库中的字段对应,在界面完成对数据库的操作。软件的界面都用到这些操作,因此将这些功能做成一个父类。在这个类中,每项指令执行之前先检查数据的完整性及必录字段是否为空、指令是否符合要求、是否满足对数据库的操作要求,只有符合要求的指令才能执行,不符合要求的指令提示出错。
2.2 查询类
强大的查询功能是软件系统的一大特色,为了了解压缩机的工作情况,需要查询压缩机的历史工作记录。在查询类中,软件系统先检查查询界面出现的查询选项,再检查用户在查询选项的输入值是否符合要求。软件根据用户选择的查询选项的数据类型将查询项归类,然后根据查询需求生成查询数据库需要的SQL语句。软件的许多界面有查询功能,因此,将查询功能专门作为一个类封装,在查询界面继承查询类,这样只需要极少的代码就可以完成复杂的查询。
2.3 数据库模块
数据库结构按照关系型数据库模型设计,严格遵循数据库实体完整性规则,软件通过SQL语句访问数据库。根据数据功能和内容的不同将数据分别存储在多个数据表中,各数据表之间通过唯一的主键值关联,这样既体现了冗余最小原则又保证数据库具有极强的可扩展性。数据库模块除了保存压缩机的压力数据和压缩机房的温度数据外,还保存其它和软件系统相关的数据,如压缩机的基本数据、操作人员信息和压缩机维护数据等。
2.4 数据处理模块
软件接收的压力数据在数据处理模块中处理,因为压缩机和氦气管号没有一一对应,为了能够准确查询压缩机的历史信息,数据库使用了6个数据表存储压缩机的数据,6个数据表分别对应6个压力传感器。6个数据表的结构一样,对它们的操作也相同。因此将处理数据的函数做成模块,处理每路压力数据时可以调用函数模块,不必为每路压力数据重复写一段函数,既有效减少了代码量,也容易修改代码,而且未来如果添加新的氦气管,修改程序也非常方便。数据处理模块判断接收到的压力数据是否正常,压缩机是否漏气、是否在加气,如果压缩机压力过低,数据处理模块会发送邮件提醒用户加气。
2.5 通讯模块
软件通过TCP/IP的方式与数据采集端通讯,在通讯模块中设置数据采集端的IP地址,软件自动连接到数据采集端。通讯模块通过定时器每秒向数据采集端请求一次数据,数据采集端接到指令后将压缩机当前的压力值和压缩机房的温度值发送给通讯模块,通讯模块自动判断与数据采集端的通讯是否正常,出现异常时通过邮件报警。
2.6 报警模块
压缩机的压力超过阈值、低于阈值、压力上升过快或下降过快都会触发报警,软件和数据采集端通讯异常时也会报警。报警时,软件发送邮件提醒相关人员处理报警信息,同时在主界面用声光报警的方式提醒操作人员。
2.7 报表模块
压缩机压力日报表是压缩机运行、维护的重要组成部分,每日生成日报表的功能由报表模块自动完成,不需要做任何操作。过了零点,报表模块自动从数据库查询上一个工作日所有正在运行的压缩机的压力值,并将压力日报表以PDF的格式保存到指定路径,然后通过邮件将压力日报表发送给相关人员。
2.8 邮件模块
邮件是软件和操作人员交互的一种方式,通过邮件将压缩机的相关信息传递给工作人员,可以有效减少工作量。压缩机报警、压缩机运行时间到达指定维护时间、软件和下位机通讯异常、报表模块生成日报表后邮件模块都会给相关人员发送邮件。
3 系统实现
软件系统不但是压缩机的压力监控系统,同时也是压缩机运行、维护、管理系统。软件最重要的功能是压缩机系统漏气时能够及时报警。压缩机的高压和低压在一定范围内动态变化,数据采集端实时采集压缩机的压力,因此,来自数据采集端的数据也在一个较大的范围内变化。软件必须能够正确判断数据的变化是否正常。压缩机压力报警的原因很多,主要有氦气管的压力低于正常值,氦气管的压力高于正常值,氦气管漏气,压缩机和氦气管加气等。
压缩机压力监控流程如图2。软件接收压力数据后,首先判断压力数据属于高压氦气管、低压氦气管还是备份氦气管,然后在相应的压缩机及氦气管显示框中显示压力数据,软件系统将接收的压力值与预定阈值比较,压力值高于阈值时启动高压报警,低于阈值时启动低压报警。
图2 压缩机压力监控流程图Fig.2 The flowchart of the compressor pressure monitoring software
如果压力值小于最小值寄存器中的数值,可能是压缩机漏气,因为压缩机有两根氦气管,当一根氦气管漏气时,另外一根氦气管的压力变低,两根氦气管的压力变化趋势一致。软件调用数据库中最近10 h的数据,通过算法判断一台压缩机的两根氦气管都符合漏气特征时发出漏气报警。如果压力值大于最大值寄存器中的数值,软件调用数据库中最近10 h的数据,通过算法判断压缩机是否在加气,如果是加气也报警。
只要接收的数据触发报警,这个数据就保存在数据库中,同时系统给相关人员发送邮件。没有触发报警的数据,如果满足条件就放入最小值寄存器或者最大值寄存器,存放在最小值寄存器中的数据每隔1 h存储到数据库。
4 用户界面
软件界面友好,大部分功能在后台自动运行,需要用户操作的地方很少。软件功能较多,如果将所有功能放在一个界面显得很杂乱。因此根据功能的不同,将界面分成主界面和各功能界面,主界面只显示压缩机的压力和压缩机房的温度,其他操作根据功能的不同在各功能界面显示。
4.1 主界面
在主界面的编辑框显示正在使用的压缩机压力和压缩机房温度的实时值,用图表的形式显示24 h的数据,用户对压缩机的运行状况一目了然。在主界面还可以方便地查询压缩机的运行状况,压缩机压力监控主界面如图3。
4.2 功能界面
软件系统的其它操作需要登录系统后在功能界面中进行。输入正确的用户名和密码就可以登录软件系统,登录后可以进行如报警处理,压缩机、氦气管、数据采集端口匹配,系统查询,压缩机维护,系统设置,数据采集端IP地址设置,操作人员基本信息,报表收件人和报警收件人设置等操作。
5 总结和展望
新疆天文台南山观测基地26 m射电望远镜压缩机压力监控系统软件已经制作完成,软件系统具有功能强大、操作简单、界面友好、可进行各种组合条件查询、可扩展性强等优点。
望远镜除了压缩机压力外,接收机低噪声放大器的工作状态,接收机杜瓦的真空度以及制冷温度,接收机制冷机的驱动电源,接收机的中频功率等都需要监控,下一步的工作需要逐步将这些功能添加到软件系统,使软件不但满足当前26 m射电望远镜的需求,也可以满足将来奇台110 m口径射电望远镜(QiTai Radio Telescope, QTT)[9]的需求。