基于ASCOM及PLC的随动天文圆顶控制
张冠军1,2, 宋腾飞1, 程向明1,2,3,4, 王晶星1, 张益恭1,2,3     
1. 中国科学院云南天文台, 云南 昆明 650216;
2. 中国科学院大学, 北京 100049;
3. 中国科学院天体结构与演化重点实验室, 云南 昆明 650216;
4. 云南省应用天文技术工程实验室, 云南 昆明 650216
摘要: 四川稻城县无名山址点是云南天文台新近选定的天文台址。为实现在无名山50 cm光学望远镜开展远程自动观测,需要对圆顶进行远程自动控制驱动开发。基于天文公共对象模型(Astronomy Common Object Model,ASCOM)标准,采用Modbus/TCP协议连接可编程控制器(Programable Logical Controller,PLC),实现了圆顶的自动控制。重点介绍了圆顶控制原理和实现方法,结果表明,圆顶控制系统具有融合度高、使用方便的特点,满足远程自动观测的需求,对于中小型观测系统具有一定的借鉴意义。
关键词: 圆顶随动    天文公共对象模型    可编程控制器    望远镜    
Automatic Control of Astronomical Dome Based on ASCOM and PLC
Zhang Guanjun1,2, Song Tengfei1, Cheng Xiangming1,2,3,4, Wang Jingxing1, Zhang Yigong1,2,3     
1. Yunnan Observatories, Chinese Academy of Sciences, Kunming 650216, China;
2. University of Chinese Academy of Sciences, Beijing 100049, China;
3. Key Laboratory for the Structure and Evolution of Celestial Objects, Chinese Academy of Sciences, Kunming 650216, China;
4. Engineering Laboratory on Applied Astronomical Technology of Yunnan, Kunming 650216, China
Abstract: Mountain Wumingshan, located in the Daocheng county, Sichuan province, was sited by Yunnan Observatory recently. For the purpose of carrying out remote automatic observation test with 50 cm telescopes on Mnt. Wumingshan, development of the dome-driver is required. The driver which was based on ASCOM standard and connected to PLC controller with Modbus/TCP protocol, realized the automatic control of dome. This paper mainly introduced dome control principle and realization method. The results showed that the control system of the dome is characterized by its high alignment and convenience. Besides, it can meet the needs of remote and automatic observation and can be used as a reference for similar small and medium-sized observation systems.
Key words: Synchronization dome    ASCOM    PLC controller    Telescope    

圆顶是保护天文望远镜并协同其工作的机械装置,除了保护望远镜免受外界雨水和灰尘等损坏以外,还可减弱风载对观测设备的影响[1-2]。传统结构的天文圆顶是一个可旋转的带有可开闭天窗的建筑,常具有半球或超半球的外形,在其基础上发展起来的新型天文圆顶则不拘于这种造型,但多数仍具有天窗开闭和方位随动这两种控制方式。其中,圆顶的随动控制对观测的影响较大,随着技术的进步,圆顶驱动和控制方式在不断发展,控制方式从旋转变压器、脉宽调制等模拟控制技术[3-4]演变到以单片机或可编程控制器作为核心实现自动控制功能的数字控制技术[5-8]

无名山址点位于四川稻城县,是中国科学院云南天文台历时4年踏勘选定的候选天文台址,具有优良的天文观测条件[9]。拟在无名山址点建设的50 cm望远镜用于开展近地小行星高精度定位和测光观测,由于无名山海拔高,到站观测较为困难,亟需实现远程自动观测。尽管目前远程自动观测技术已经有很大的进展,但系统的整合仍需要软硬件多方面的协调,需要定制甚至自行设计开发。稻城50 cm望远镜的圆顶配备可编程控制器控制系统,无法直接应用于远程自动观测系统,因此,专门开发了相应的软件系统,使观测系统软件能够自主控制圆顶,为实现小行星远程自动观测奠定了基础。

1 天文公共对象模型简介

天文公共对象模型诞生于1998年,是由Denny等人针对天文观测设备开发的一种接口标准,它在软件层和硬件层之间引入了接口驱动层,在软件和硬件之间架起了统一对接的桥梁。天文设备生产商提供的设备驱动程序只要符合天文公共对象模型标准,就可以方便地将设备挂载到基于天文公共对象模型开发的软件中,实现设备控制与信息传递。如今,望远镜、调焦器、相机、滤镜轮、圆顶、气象站等天文设备被包括进来,从一开始的望远镜脚本接口逐渐成长为兼容绝大多数天文设备的一套接口协议,由于功能完善、用户众多,成为天文设备控制的实施标准。其中,圆顶接口由弗罗里达大学的Oliver完成,采用了Chris Lord的圆顶指向公式解决了指向偏差问题

https://ascom-standards.org/About/History.htm.

国内对于天文公共对象模型的研究也逐渐深入,云南天文台、昆明理工大学、光电技术研究所等多家单位都基于天文公共对象模型进行了望远镜自动观测方面的研究,实现了天文公共对象模型标准的CCD、望远镜、圆顶等设备的开发[7, 10-12]

2 圆顶控制系统分析

稻城50 cm望远镜配备一个6.3 m球形圆顶,圆顶天窗宽1.2 m,可实现360°全方位转动。方位运动采用单相交流电机通过链传动实现,天窗为单帘式结构,采用三相交流电机通过链传动实现升起、打开与关闭,圆顶通过基于可编程控制器的电控箱,可实现手动控制。同时,望远镜配备了CCD相机、电子调焦器、滤镜轮、高性能工控机以及一架赤道式机架。

圆顶控制基于可编程控制器实现,型号为西门子S7-200 Smart。方位传动的减速机输出轴同轴安装了角编码器,角编码器信号进入可编程控制器的高速寄存器,在可编程控制器内部进行计数,并换算为圆顶方位转角。方位还设置了0点,距离传感器产生的信号传输至可编程控制器,可编程控制器得到信号后将方位计数器清零。天窗设置了两个限位开关,以防止天窗过冲,望远镜设备及圆顶控制器见图 1

图 1 设备安装图 Fig. 1 Equipment installation diagram

对近地小行星观测时,在观测开始前打开天窗,望远镜跟踪目标,圆顶天窗始终跟随望远镜的指向(称为“随动”),观测结束或根据需要关闭天窗。

要实现圆顶的随动,必须实现以下功能:

(1) 电脑与圆顶控制中心(可编程控制器)建立通信;

(2) 生成圆顶控制指令。

由于整个望远镜系统的机架、电子调焦器、CCD相机、滤镜轮等均支持天文公共对象模型,并且采用MaxIm DL软件实现图像采集,因此,将圆顶融入基于天文公共对象模型构建的观测系统。

可编程控制器的通信有多种选择,这里采用Modbus协议。

3 圆顶控制软件设计

在天文公共对象模型标准的支持下,各类设备与核心软件的连接方式大同小异,只需准备好相关设备的天文公共对象模型驱动,在核心软件中选择相关的驱动即可完成连接。圆顶的驱动程序应基于天文公共对象模型协议,将上层软件和可编程控制器进行连接:圆顶驱动程序(上位机)作为上层控制软件与可编程控制器(下位机)连接的中间媒介,可编程控制器作为下位机的控制核心,与可编程控制器的通信采用Modbus TCP协议。图 2为观测系统体系结构。

图 2 观测系统体系结构图 Fig. 2 Observation system architecture diagram

圆顶所有控制功能的实现,都在可编程控制器控制端提供了相应的功能支持。系统原理见图 3

图 3 圆顶控制系统原理图 Fig. 3 The Principle of the dome control system diagram

利用天文公共对象模型平台,由控制软件获得望远镜的指向位置。圆顶天窗的位置获取需要将配备光电编码器与驱动电机的减速器输出轴同轴安装,之后通过可编程控制器内部的高速计数器记录编码器的转动脉冲数,并根据传动比进行换算,获得圆顶的位置参数。

圆顶控制软件包括圆顶驱动程序和下位机控制程序,两者通信采用Modbus TCP协议。驱动程序与下位机必须采用相同的通信协议。在Visual Studio 2013开发环境下,使用NuGet安装HslCommunication库文件,通过调用库中的函数与下位机建立有效连接后,对下位机进行相关寄存器读写。

3.1 圆顶驱动程序设计

圆顶驱动程序(以下称“上位机”)是上层控制软件与可编程控制器(下位机)之间命令与数据流的转换器。驱动程序基于微软Visual Studio 2013,ASCOM Platform X64和ASCOM Platform Developer配置开发环境。在完成软件开发的环境配置后,首先需要了解Dome驱动的成员和方法。天文公共对象模型标准为圆顶驱动开发提供了模板,模板中的C#成员和方法在开发文档和Template.cs中都可以找到,主要的成员函数有driverID, comPort, ConnectedState, ShutterOpen, Azimuth, Connected, domeShutterState等;然后向驱动项目中添加Modbus TCP协议文件,最后编写程序,实现与下位机通信对接。在圆顶驱动中提供与望远镜的接口函数,将Dome中的相关函数设置为true,圆顶驱动即可获取望远镜的指向位置。通过调用函数,返回目标的方位角,并将方位值写入下位机寄存器。部分圆顶驱动程序代码如下:

#region IDome Implementation

public bool CanSetAzimuth

{  get

    {  tl.LogMessage("CanSetAzimuth Get", true.ToString());

      return true;

    }

}

Public double Azimuth

{  get

   {  tl.LogMessage("Altitude Get", true.ToString());

      int value=ALT;

      HslCommunication.OperateResultwrite=Dome.TcpClient.Write("0", value);

      if (write.IsSuccess)

      {

        testMassageBox.Text="Memory write successful";

      }

   }

}

#endregion

在Modbus/TCP通信协议的支持下,可编程控制器作为服务端,一方面为上位机提供数据服务,比如圆顶运行过程中的方位、天窗状态、编码器、可编程控制器输入输出状态等传入上位机,另一方面,接收并执行上位机传来的指令和数据,最终达到圆顶控制的目的。

3.2 可编程控制器程序设计

下位机主要实现以下功能:手动/自动功能模式分离和选择、圆顶自动找零、方位位置计算、Modbus-TCP通信、天窗开关、方位转动以及返回系统运行状态参数。在Modbus协议下,下位机是被动应答的,需要完成通信模块、高速计数器模块、手动控制与随动控制,以配合圆顶驱动程序工作。部分功能模块的梯形图程序如图 4

图 4 可编程控制器控制程序 Fig. 4 The control program of PLC

西门子S7-200 SMART采用客户端-服务器方法,Modbus客户端设备(上位机)通过该方法向服务器(下位机)发出请求,服务器响应客户端的请求。客户端可请求从服务器设备读取部分存储器,或将一定数量的数据写入服务器的存储器。下位机作为Modbus TCP的服务器,一是实现相应的逻辑控制功能;二是配置与上位机的通信功能,在可编程控制器程序中配置Modbus地址与中央处理器地址的映射关系,具体映射关系见表 1

表 1 Modbus与中央处理器地址映射表 Table 1 Address mapping table between Modbus and CPU
Modbus starting address Modbus ending address CPU address mapping Function introduction
00001 00256 Q0.0~Q31.7 Switch value outputting coil
10001 10256 I0.0~I31.7 Switch value inputting contacts
30001 300056 AIW0~AIW110 Analog inputting channel
40001 4XXXX Set the starting address The holding register (V memory)
4 软件试运行

系统于2020年初进行了运行测试,程序运行稳定,基本满足随动要求。圆顶运行的关键参数见图 5。通过后续调试和系统试运行,使用编码器的理论数值和实际数值进行了比对,对软件性能评价如下。

图 5 软件测试图 Fig. 5 Software test diagram

功能完备性:圆顶控制系统兼容手动控制和程序控制,具备圆顶控制的基本功能,可以实现远程操作和运行参数反馈,功能较为完备。

方位机动性:圆顶旋转一周用时约170 s,单次随动过程转动角度不超过180°,正常情况下可在85 s内转至目标位置。

位置重复性:多次反复使圆顶方位停在固定位置,重复精度 < 20′。

系统稳定性:圆顶随动到目标位置后,方位转动不会发生来回震荡现象,稳定性良好。

启停性:由于链传动的机械传动特点,存在一定的间隙,在方位换向时的误差较大,误差 < 8′;在下位机收到停止指令后,电机滑行带来的圆顶方位变动 < 6′。

目标准确性:目标位置±0.3°内停止转动。

5 结束语

基于天文公共对象模型为稻城50 cm望远镜的圆顶设计了控制软件,该软件将可编程控制器控制的圆顶与其他天文设备一起连接到常用的天文控制软件中,方便地构建一套完整的自动观测系统,为实现近地小天体的天体测量远程自动观测奠定了基础。同时,对于中小型观测系统的圆顶自动控制提供了可借鉴的经验。

参考文献
[1] 姚正秋, 周放. 近代天文圆顶发展概况[J]. 天文学进展, 2003, 21(3): 206–218
[2] 徐江海, 宫雪非. 利用数值风洞实验进行四种天文圆顶的风载研究[J]. 光学学报, 2015, 35(5): 45–55
[3] 沈磐安. 60厘米望远镜圆顶随动系统[J]. 天文学报, 1979, 20(2): 211–216
[4] 杜宇. 脉冲调宽型圆顶随动系统[J]. 光学精密工程, 1995, 3(5): 116–120
[5] 祝杰, 曹凯, 郑义劲. 1.56 m望远镜天文圆顶电控的改造[J]. 中国科学院上海天文台年刊, 2009(30): 79–86
[6] 陆栋宁, 黄垒, 陈颖为, 等. 85 cm天文望远镜圆顶和天窗自动化系统研制[J]. 天文研究与技术——国家天文台台刊, 2008, 5(4): 386–391
[7] 和寿圣, 辛玉新, 伦宝利, 等. 基于ASCOM和Modbus/TCP协议的天文圆顶控制系统[J]. 天文研究与技术, 2017, 14(3): 356–362
[8] 周福良, 张乐年, 郑启旺. 西门子S7-200PLC在天文台圆顶控制系统中的应用[J]. 机械制造与自动化, 2009, 38(5): 121–123
[9] SONG T F, WEN Y M, LIU Y, et al. Automatic solar seeing observations at Mt. Wumingshan in western china[J]. Solar Physics, 2018, 293(2): 37. DOI: 10.1007/s11207-018-1254-0
[10] 彭亚杰, 季凯帆, 梁波, 等. ASCOM在选址望远镜远程控制中的可用性研究[J]. 天文研究与技术——国家天文台台刊, 2013, 10(1): 49–54
[11] 和寿圣, 范玉峰, 王传军. 基于ASCOM标准的CCD自动观测系统[J]. 天文研究与技术——国家天文台台刊, 2013, 10(4): 386–391
[12] 武鹏.天文望远镜的ASCOM开发技术研究[D].成都: 中国科学院光电技术研究所, 2015.
由中国科学院国家天文台主办。
0

文章信息

张冠军, 宋腾飞, 程向明, 王晶星, 张益恭
Zhang Guanjun, Song Tengfei, Cheng Xiangming, Wang Jingxing, Zhang Yigong
基于ASCOM及PLC的随动天文圆顶控制
Automatic Control of Astronomical Dome Based on ASCOM and PLC
天文研究与技术, 2020, 17(4): 548-554.
Astronomical Research and Technology, 2020, 17(4): 548-554.
收稿日期: 2020-03-28
修订日期: 2020-04-30

工作空间