1.26米红外望远镜电控系统软件设计与实现
葛亮1,2, 王金虎1, 卢晓猛1    
1. 中国科学院光学天文重点实验室(国家天文台), 北京 100012;
2. 中国科学院大学, 北京 100049
摘要: 2011年,国家天文台兴隆基地1.26 m红外望远镜进行了全面升级改造。主要讲述望远镜电控系统软件的设计与实现,用于实现望远镜各种观测策略和运动方式的自动化操作。为了提高稳定性和可靠性,软件基于有限状态机原理设计,定义了望远镜的状态集和动作集,以及各个状态间的状态转换图;同时给出了望远镜常见异常及其处理方式,并在本地控制的基础上提供远程控制接口,使得望远镜可方便纳入兴隆基地望远镜集中控制系统。该软件及其设计思想可推广至我国其他中小口径望远镜。
关键词: 望远镜控制     有限状态机     电控系统    
Design and Implementation of Software for Operations of the Servo System of the 1.26m Infrared Telescope of the NAO
Ge Liang1,2 , Wang Jinhu1, Lu Xiaomeng1     
1. Key Laboratory of Optical Astronomy, National Astronomical Observatories, Chinese Academy of Sciences, Beijing 100012, China;
2. University of Chinese Academy of Sciences, Beijing 100049, China
Abstract: The 1.26m infrared telescope at the Xinglong Observertory of the National Astronomical Observertories (NAO) of the Chinese Academy of Sciences was extensively upgraded in 2011. In this paper we focus on the softeware for operations of its new servo system,which is to be used in automated operations of the telescope for various observational approaches and action modes. The softeware was designed based on the Finite State Machine to ensure stablity and relialibility. In designing the software we have specified the needed sets of states and actions of the telescope; we have also specified transtions between the states. In addition, we present frequently encountered faults of the telescope and their solutions. The softeware supports remote control of the telescope, which makes it easy for the software to be incorporated into the centralized control system of the obserbvertory. The software and its design idea can be conveniently applied to other small- or median-sized telescopes in China.
Telescope Control System (TCS)     Finite State Machine (FSM)     Servo system    

 国家天文台兴隆基地1.26 m红外望远镜建设于1985年[1],为我国实测红外天文学的发展提供了宝贵的观测资料。但是,由于技术条件所限,以及国际上对中国红外探测器的禁运限制,1.26 m红外望远镜一直采用光电倍增管探测,科学产出较低。同时,由于设备老化,该望远镜运行维护难度不断加大。因此,国家天文台于2008年停止运行该望远镜。2011年,由于实测红外天文学的发展需求,同时,高效率的面阵红外探测器采购渠道进一步开放,因此,由吴宏研究员组织,国家天文台对1.26 m红外望远镜进行了全面的升级改造。改造主要内容包括:

(1)在原有机械结构基础上开发全新的望远镜电控系统,实现自动化控制;

(2)设计新的副镜,将原焦比F30缩短为F8,以适应面阵探测器视场;

(3)定制透光学反红外滤镜,增配三通道光学相机和红外相机,实现红外单波段和光学多波段的同时观测。

望远镜升级改造于2013年完成,目前已经投入观测使用。本文主要介绍望远镜电控系统的设计与实现,第1节简单介绍硬件系统设计,第2节详细介绍系统的软件设计,最后是小结和工作展望。

1 硬件系统简介

1.26 m红外望远镜机械结构为摇篮式赤道仪,采用齿轮涡轮传动方式。本次升级改造在原有机械结构上设计全新的电控系统,使望远镜具备高度自动化功能。其硬件系统主要由以下部分组成:

(1)赤经/赤纬轴系控制子系统;

(2)圆顶天窗控制子系统。

望远镜的基本运动方式为快动方式、导星方式和跟踪方式[2],赤经/赤纬轴系控制是望远镜电控系统的核心功能,主要完成望远镜的指向、跟踪功能。其核心硬件控制单元为伺服控制卡,对下实现电机的驱动和码盘的读取,对上通过PCI接口实现与控制软件的通信接口。本文伺服控制卡采用美国Delta Tau多轴运动控制卡(PMAC),轴系控制系统采用多闭环系统设计(图 1),各控制环节的主要功能为:

图 1 赤经/赤纬轴系控制系统框图 Fig. 1 A block diagram of the RA/DEC axis control system

(1)电流环:以电流信号作为反馈信号的控制环节,是系统的最内环,调节放大器电流以保证电机转速,本系统电流环在放大器内部集成实现。

(2)速度环:以速度信号作为反馈信号的控制环节,用于控制电机转速,使得轴系按照指定速度旋转,如果不考虑传动误差(例如齿隙),可作为系统的外环;

(3)位置环:以位置信号作为反馈信号的控制环节,是系统的外环,用于轴系位置精确控制,可消除传动误差的影响。

1.26 m红外望远镜原有圆顶天窗控制为继电器和交流异步电机组合的控制方式,本次改造将其改为可编程控制器(PLC)、变频器和交流异步电机的控制方式[3]。核心控制单元为可编程控制器,通过串口实现与计算机软件的通信接口,其控制框图如图 2

图 2 圆顶天窗控制系统框图 Fig. 2 A block diagram of the dome/slit control system
2 软件系统设计

1.26 m红外望远镜的控制软件(TCS)为系统改造后重新开发,为了便于将望远镜纳入兴隆基地望远镜集中控制系统,实现远程观测,控制软件将采用通用框架结构设计。包含驱动层、服务层和应用层,各层主要功能为:

(1)应用层:提供GUI界面,实现与本地用户的人机交互,包括观测计划输入,望远镜找零、复位,天窗开关等;

(2)服务层:完成和设备驱动层、应用层的信息交互,实现设备控制,同时提供与上层观测控制软件通信的接口,执行其指令并反馈状态;

(3)驱动层:实现与底层硬件的接口,底层硬件包括多轴运动控制卡、可编程控制器等,接口信息包括码盘读数、电机转速等。其中与多轴运动控制卡通信为PCI接口,与可编程控制器通信接口为串口。

同时为了提高系统的可靠性和稳定性,控制软件将基于有限状态机(Finite State Machine,FSM)设计。有限状态机是表示有限状态以及在这些状态之间的转移和动作等行为的数学模型[4]。其基本思想为:

(1)所有设备具备一个有限的状态集,并且任何时候设备均处在状态集中;

(2)所有设备有关的动作均出在动作集中,未出现在动作集中的动作设备不做任何响应;

(3)在指定状态下的指定动作响应是唯一的,且动作响应仅与当前设备参数有关,与历史参数和未来参数皆无关。

定义望远镜的状态集、动作集和状态转换图,使得对于任何动作,望远镜响应逻辑一致,从而保证所有状态可控。当然,设备故障是望远镜系统运行中不可避免的问题,其形式多种多样,无法完全定义。本软件系统引进了一个异常状态,该异常状态可能由于编码器、驱动器等错误组成。因此本节首先介绍异常状态和处理方式。

2.1 望远镜异常和处理方式

望远镜常见异常和处理方式如表 1

表 1 望远镜常见异常和处理方式 Table 1 Frequently encountered faults of a telescope and their solutions
异常类型 描述 处理方式
伺服通信失败与底层伺服系统通信中断伺服系统底层实现自动停止功能,界面上告警、进入离线状态
上位机通信中断与远程控制计算机通信中断界面上告警,停止望远镜运动,进入异常状态
找零超限找零过程超时或者超过一定角度范围停止望远镜运动,界面告警,进入停止中状态
运动速度错误速度/加速度方向错误或速度/加速度数值与设置值相差过大、运动跟随误差过大、振荡运动发送望远镜停止命令,界面上告警,进入异常状态
到位误差过大轴系停止运动后与指定位置相差过大界面上告警,进入停止状态
停止超时望远镜发出停止指令后,望远镜停止时间超时1 s,停止时间由当前速度决定发送急停命令,界面上告警,进入急停中状态
编码器告警出现跳变奇点(单个点)忽略跳点,界面上告警,保持原状态
编码器异常编码器变化超过最大速度和加速度限制(连续点)发送望远镜停止命令,清除找零成功标志,界面上告警,进入异常状态
打滑电机编码器变化数值与钢带变化数值相差过大,如为直驱则不存在发送望远镜停止命令,界面上告警,进入异常状态
接近限位离一级限位角度值相差小于一定数值界面上告警
一级限位触碰一级限位(硬件或软件)且运动方向和限位方向一致发送望远镜停止命令,界面上告警,进入停止状态
二级限位触碰硬件限位开关界面上告警,进入急停状态
底层伺服报警电机的电流过大、温度过高、风扇停转等发送望远镜停止命令,界面上告警,进入异常状态

望远镜是一个相当复杂的光机电一体的设备,所以上述异常状态不足以包含所有可能出现的异常,本软件采用模块化设计,可方便增加新的异常状态和处理方式。

当望远镜处于异常状态时,目前采用人工方式处理。随着经验的积累和完善,下一步将进行故障自动处理。例如在望远镜调试过程中,发现在望远镜运动时,软件非正常退出后,望远镜未收到停止指令,将继续运动带来撞击限位的风险。本文利用 “看门狗” 的硬件设计思想,增加了计时器监测望远镜和底层硬件间通信的时间间隔。一旦时间间隔超过一定门限,底层硬件将自动停止望远镜运动,提高了望远镜的安全性。

2.2 有限状态机设计

有限状态机的设计由3步组成,包括状态集、动作集和状态转换图的设计。

望远镜的状态集可分为3类,分别为过程类状态(P)、完成类状态(F)和异常状态(E)。望远镜状态集定义如表 2

表 2 望远镜状态集 Table 2 A collective list of states of a telescope
名称定义类型
离线伺服系统与控制系统未连接F
连接中控制系统与望远镜进行连接的过程中P
断开中控制系统与望远镜断开连接的过程中P
未找零望远镜静止不动,且未找零F
找零中望远镜在找零的过程中P
停止中望远镜速度降为0的过程,在其中监测速度和找零标识,确定下一状态P
停止望远镜静止不动,各轴找零成功,且未出现异常F
急停中望远镜接受驱动掉电指令后停止的过程中P
急停望远镜驱动掉电,静止的状态F
复位中望远镜复位的过程中(特殊的指向过程)P
复位望远镜停在复位位置的状态F
等待恒速跟踪望远镜等待恒速跟踪的过程,一般来说是等待跟踪稳定和圆顶随动到位,
特殊情况下也会等待时间来观测特定天区
P
恒速跟踪望远镜稳定跟踪恒星中F
速度修正中望远镜跟踪恒星后,向某一方向运动的过程中,修正停止,速度稳定后
的赤经赤纬作为修正后的目标赤经赤纬
P
指向中望远镜指向某固定位置的过程中P
指向到位望远镜到达指定位置F
等待恒速望远镜接收恒速运动指令后,等待速度稳定的过程P
恒速运动望远镜恒速运动中F
异常状态定义见上节E

根据望远镜的运动需求,定义了望远镜动作集如表 3

表 3 望远镜动作集 Table 3 A collective list of actions of a telescope
名称 定义参数
连接建立轴系与软件间的通信IP地址、 设备ID、 串口号等
断开断开轴系与软件间的通信
找零轴系找零找零速度、 方向、 找零运动范围等
恒速运动轴系按指定速度运动方向、 数值大小
指向轴系运动到指定位置指向位置,指向速度
停止轴系停止运动,记录异常值
急停轴系掉电
恒速跟踪控制望远镜指向指定恒速运动目标(也括恒星、 太阳、 月亮等)赤经、 赤纬、 历元和跟踪速度
速度修正望远镜跟踪恒速运动目标到位后进行速度修正,主要用于指
向调整、导星、指向模型制作
速度方向和数值
位置修正在望远镜跟踪恒速或变速运动目标到位后进行位置修正,主
要用于指向调整、导星、指向模型制作
修正方向和数值
异常清除清除异常的动作,目前为手动实现,以后逐步实现自动清除

本文对每一个状态下接收的动作、监测的异常和状态转换图进行了详细定义,由于篇幅所限,本文仅以望远镜最关键的状态——恒速跟踪为例介绍状态图。恒速跟踪状态指的是望远镜跟踪恒速运动天体(恒星、 月亮)时的状态。在该状态下望远镜可执行切换天区跟踪、导星修正(速度、 位置)、停止观测等动作,随后进入下一工作状态。同时该状态下还需监测驱动系统、编码器等异常,其状态转换图如图 3

图 3 恒速跟踪状态下状态转换图 Fig. 3 Illustration of telescope state transitions during constant-speed tracking
2.3 上层接口设计

控制软件的上层接口主要包含两类,一类为GUI界面,用于和用户进行人机交互;另一类为远程控制接口,以便加入兴隆基地望远镜集中控制系统和实现远程观测。

为了方便望远镜操作,采用和兴隆基地2.16 m望远镜相同的GUI界面(如图 4)。

图 4 望远镜控制系统GUI界面 Fig. 4 A screenshot of the GUI interface of the TCS

远程控制接口采用TCP/IP协议实现,可以实现指令和参数的稳定传输,其中望远镜反馈参数主要包括望远镜当前状态,UTC时间,望远镜当前位置、速度,目标位置、速度以及跟随误差。指令内容和参数完全参照望远镜本身的动作集和参数(见2.2),例如恒速跟踪指令需输入赤经、赤纬、历元和跟踪类型。本系统还具备环境监测信息接口,使得望远镜在恶劣天气条件下可以自动停止观测,保障设备的安全。

3 结论与工作展望

本文基于有限状态机设计了望远镜控制系统,使得系统稳定可靠运行。软件系统采用2.16 m望远镜GUI界面设计,方便望远镜操作;同时提供了远程控制接口,便于纳入集中控制系统,提高观测效率。目前该软件系统已经在1.26 m红外望远镜上稳定运行。

随着兴隆基地望远镜集中控制计划的推进,1.26 m红外望远镜的控制软件也将做适应性修改,例如环境监测信息的读取和利用,使望远镜尽快加入集中控制系统。同时可将该软件系统推广应用到其它望远镜平台上。

致谢:对吴宏研究员作为项目负责人对本文的支持,兴隆基地技术组对红外望远镜改造工作的支持与帮助,以及望远镜观测助手柳森和马良的辛勤工作,在此表示由衷感谢。

参考文献
[1] 姚正秋, 周必方, 汪达兴. 1.2 m红外望远镜[J]. 天文学报, 1990, 31(3): 284-290. Rao Zhengqiu, Zhou Bifang, Wang Daxing. 1.2m infrared telescope[J]. Acta Astronomica Sinica, 1990, 31(3): 284-290.
[2] 程景全. 天文望远镜原理和设计[M]. 北京: 中国科学技术出版社, 2003.
[3] 陆栋宁, 黄垒, 陈颖为, 等. 85 cm天文望远镜圆顶和天窗自动化系统研制[J]. 天文研究与技术——国家天文台台刊, 2008, 5(4): 386-391. Lu Dongning, Huang Lei, Chen Yingwei, et al. Research and development of the dome/slit control system for the 85cm reflector of NOAC-BNU[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2008, 5(4): 386-391.
[4] Wright D R. Finite state machines[EB/OL]. 2005[2014-9-20]. http://www4.ncsu.edu/-drwrigh3/docs/courses/csc216/fsm-notes.pdf.
由中国科学院国家天文台主办。
0

文章信息

葛亮, 王金虎, 卢晓猛
Ge Liang, Wang Jinhu, Lu Xiaomeng
1.26米红外望远镜电控系统软件设计与实现
Design and Implementation of Software for Operations of the Servo System of the 1.26m Infrared Telescope of the NAO
天文研究与技术, 2015, 12(3): 317-322.
ASTRONOMICAL RESEARCH & TECHNOLOGY, 2015, 12(3): 317-322.

文章历史

收稿日期: 2014-10-08
修订日期: 2014-10-28

工作空间