论文部分内容阅读
由于大部分适合天文观测的地点都分布在高海拔地区、严寒地区、高原或者山区,这些地方水汽含量低,大气视宁度高并且晴夜多。但受限于地理环境,观测人员长期驻扎困难很大。通过对天文望远镜进行远程控制可以解决无法长期驻扎的困难,同时有效提高观测地质量,对于天文观测具有重要的意义。本文中所涉及的专用光电经纬仪系统设计之初是为了满足量子科学实验卫星应用的要求,实现对星标校、完成星地密钥分发试验的目标,软件控制系统有许多依赖特殊硬件设备的专用模块。软件架构的通用性差,模块间的耦合性很高。为了使其具备远程控制的功能同时可以与天文台其他设备协作实现天文观测,利用ASCOM技术重新设计控制系统。通过采用微软COM组件技术来保证系统的可扩展性。设计遵循ASCOM标准则保证了系统具备很好的兼容性。通过梳理望远镜自主控制的发展历史,明晰了望远镜控制系统逐渐走向网络化、分布式、以及通用开放的趋势。通过比较基于Linux的RTS2和基于Windows的ASCOM,在明确了各自的特点后,采用更适合原系统的ASCOM作为技术方案。ASCOM协议将提供一个驱动层,将天文观测设备与应用软件分离。采用微软COM组件编程模式,API由一套标准的符合相关ASCOM接口规范定义的属性和方法组成,使得ASCOM可以支持多种语言的开发。应用程序通过ASCOM来调用设备驱动实现对设备的控制操作。采用ASCOM通用协议将极大提高系统的可扩展性与兼容性,便于望远镜的远程操作与实时控制。通过分析原系统的软硬件架构和它所遇到的瓶颈,结合ASCOM的要求,利用微软COM组件技术,有针对性的提出了新的软件架构方案。详细描述了作为中间层的ASCOM驱动的内部软件架构、接口定义、类定义以及ASCOM驱动与原系统底层硬件驱动之间的通信协议。最后通过一个具体功能的实现,展示了ASCOM组件的工作过程。