天文望远镜与UMAC控制器通讯的方法,采用上位机+运动控制器方式:预先求解到跟踪天体Look-up表;上位机采用WINDOWS,VC++6.0编程;根据绝对时间准备2组数据;查表得第1组数据;UMAC标志寄存单元flag=1,即把第1组数据发送给UMAC,存于缓冲存储单元中并把标志寄存单元改为10;UMAC开始跟踪第一组目标,设flag=2;上位机得到第2组数据;flag=2即发送给UMAC,存于缓冲存储单元中,并把标志寄存单元改为20;UMAC开始跟踪第二组目标,设置标志寄存单元flag=1;余类推。本发明专利技术极大缓解了对上位机监控程序和操作系统实时性的要求,亦可获得极高跟踪精度。
【技术实现步骤摘要】
本专利技术涉及一种自动化控制方法,具体涉及一种天文望远镜控制系统中数据处理和传输的方法。本专利技术是国家自然科学基金面上项目(11073034)“南极大口径天文光学望远镜低速高精度跟踪中的低温非线性干扰补偿的研究”(江苏省“333”工程共同资助项目)的研究成果。
技术介绍
当前大型天文望远镜的控制系统一般采用“上位机+运动控制器”的方式,其中“IPC+UMAC+独立高性能伺服驱动器+独立伺服力矩电机”这种分层且分布式控制的方式被证明效果非常好。强实时性任务由UMAC和方位轴、高度轴和视场旋转轴的电机伺服驱动器完成,其中指向跟踪、闭环控制、硬件接口等强实时性的任务由强大的UMAC运动控制器和伺服驱动器的下层来完成。上位机的压力大大缓解,只负责通讯管理,系统维护以及天体轨迹计算等。形成了各司所长的工作方式。然而这样的设计带来了新的实时性瓶颈问题。上位机程序需要传递望远镜观测子系统OCS的命令、望远镜控制子系统TCS的命令给UMAC运动控制器。尤其是要把跟踪天体的目标位置数据传递给UMAC。由于地平式望远镜的各运动轴线不像赤道式望远镜那样与地球自转轴平行,所以地平式天文光学望远镜都必须把目标天体的赤道式坐标解算为地平坐标,才能控制主轴跟踪,不仅如此,计算时还必须计算大气折射、岁差和章动的影响,随之而来的还要求解儒略日、恒星时等。这样求解天体当前位置的计算量很大。当前望远镜控制系统的通常做法是,由上位机根据当前的绝对时间实时解算天体位置,转换为方位轴、高度轴、视场旋转轴的目标位置,然后传递给运动控制器,运动控制器再控制各个电机驱动器和电机,使望远镜的各轴指向相应的位置。这种工作方式的缺点是:从上位机计算天体位置,到电机运转,由于计算量大的缘故,存在着明显的时间差。这就造成了一个跟踪误差,且该误差随着跟踪目标速度的变化而变化。望远镜跟踪天体运行,一般方位轴速度在几角秒 几十角秒,以15 /s为例,如果以上天体轨道解算和通讯过程造成时间误差10毫秒,则望远镜跟踪在方位轴方向上将差0.15。而大型天文望远镜一般包括方位轴、高度轴、视场旋转轴3轴的总误差要求〈0.2、.3。可见天体轨道解算与通讯时间造成的跟踪误差对望远镜的影响是很严重的。另外,在国外的大型望远镜上,上位机经常采用VxWorks,QNX等实时操作系统。实时操作系统多程序同时运行,程序有各自的优先级,操作系统按事件触发程序。多个事件同时被触发时,系统保证优先级高的事件被及时处理。实时操作系统最重要的是保证响应时间,即要求系统的时间延迟非常短,同时延迟时间基本一致。操作系统的实时性能够保证天体轨道解算和通讯造成的时间差自身变化不大。但是VxWorks,QNX等操作系统价格昂贵、支持软件相对较少、不支持UMAC等许多硬件且国内用户不熟悉。因此国内望远镜上位机操作系统一般选用WINDOWS或LINUX等非实时操作系统,它们具有丰富的支持软件、友好的图形用户界面、强有力的应用程序开发工具、多任务处理能力。不过经过测试,在这种非实时操作系统下,天体轨道解算和通讯造成的时间差自身不是固定的,是在一定范围内变化的。这样一来,跟踪误差的变化更加难以预测与控制。
技术实现思路
针对现有技术的不足,本专利技术的目的是,提供一种天文望远镜与UMAC控制器通讯的方法,对于使用WINDOWS的上位机,在解算天体坐标和发送各个轴的目标给UMAC控制器时,能够保证控制系统的实时性。完成上述专利技术任务的技术方案是:一种天文望远镜与UMAC控制器通讯的方法,采用“上位机+运动控制器”的方式,其特征在于,步骤如下, ⑴.预先根据天文公式求解,得到一张跟踪天体的Look-up表,其中含有各主轴(包括方位轴、高度轴、视场旋转轴)在不同时间应该跟踪到的位置,以及对应的绝对时间; ⑵.上位机的操作系统采用WINDOWS,采用VC++6.0编程;(3).在跟踪天体时,上位机需要根据绝对时间,准备2组数据,每组I秒钟的跟踪目;⑷.定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第I组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=l,即把第I组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为10 ; (5).UMAC检测到标志寄存单元fIag=IO后,即知道已经获得第一组目标,开始跟踪,同时设置标志寄存单元flag=2,即请求上位机发送第2组目标位置到指定的缓冲区; (6).定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第2组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=2,即把第2组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为20 ; (7).UMAC检测到标志寄存单元f lag=20后,即知道已经获得第二组目标,开始跟踪,同时设置标志寄存单元flag=l,即请求上位机发送第I组目标位置到指定的缓冲区; (8).交替进行步骤⑷到步骤⑴的操作;依次类推。更优化和更具体地说,本专利技术的方法包括: ⑴.预先根据天文公式求解,得到一张跟踪天体的Look-up表,其中含有各主轴(包括方位轴、高度轴、视场旋转轴)在不同时间应该跟踪到的位置,以及对应的绝对时间。该表每IOms 一行目标数据,每秒钟100行。(2).上位机的操作系统采用WINDOWS,采用VC++6.0编程。采用多媒体定时器MMRESULTtimeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK IpTimeProc,DWORD dwUser, UINT fuEvent),设定定时精度为Ims,定时时间为I秒。(3).在跟踪天体时,上位机需要根据绝对时间,准备2组数据,每组100行,即I秒钟的跟踪目标。⑷.定时循环程序中,上位机根据计算机当前绝对时间,查Look-UP表,得到应该发送的第I组数据。检查UMAC的自定义的flag标志寄存单元,如果fIag=I,即把第I组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为10。(5).UMAC检测到标志寄存单元f Iag=IO后,即知道已经获得第一组目标,开始跟踪,同时设置标志寄存单元flag=2,即请求上位机发送第2组目标位置到指定的缓冲区; (6).定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第2组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=2,即把第2组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为20 ; (7).UMAC检测到标志寄存单元f lag=20后,即知道已经获得第二组目标,开始跟踪,同时设置标志寄存单元flag=l,即请求上位机发送第I组目标位置到指定的缓冲区; (8).交替进行步骤⑷到步骤⑴的操作;依次类推。本专利技术的有益效果是,通过采用预先求解,得到一张跟踪天体的Look-up表,在望远镜跟踪过程中无需实时进行天体轨迹解算,以及采用一种UMAC与望远镜主本文档来自技高网...
【技术保护点】
一种天文望远镜与UMAC控制器通讯的方法,采用“上位机+运动控制器”的方式,其特征在于,步骤如下,⑴.?预先根据天文公式求解,得到一张跟踪天体的Look?up表,其中含有各主轴在不同时间应该跟踪到的位置,以及对应的绝对时间;⑵.?上位机的操作系统采用WINDOWS,采用VC++6.0编程;⑶.在跟踪天体时,上位机需要根据绝对时间,准备2组数据;⑷.定时循环程序中,上位机根据计算机当前绝对时间,查Look?up表,得到应该发送的第1组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=1,即把第1组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为10;⑸.?UMAC检测到标志寄存单元flag=10后,即知道已经获得第一组目标,开始跟踪,同时设置标志寄存单元flag=2,即请求上位机发送第2组目标位置到指定的缓冲区;⑹.定时循环程序中,上位机根据计算机当前绝对时间,查Look?up表,得到应该发送的第2组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=2,即把第2组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为20;⑺.?UMAC检测到标志寄存单元flag=20后,即知道已经获得第二组目标,开始跟踪,同时设置标志寄存单元flag=1,即请求上位机发送第1组目标位置到指定的缓冲区;⑻.?交替进行步骤⑷到步骤⑺的操作;依次类推。...
【技术特征摘要】
1.一种天文望远镜与UMAC控制器通讯的方法,采用“上位机+运动控制器”的方式,其特征在于,步骤如下, ⑴.预先根据天文公式求解,得到一张跟踪天体的Look-up表,其中含有各主轴在不同时间应该跟踪到的位置,以及对应的绝对时间; ⑵.上位机的操作系统采用WINDOWS,采用VC++6.0编程; ⑶.在跟踪天体时,上位机需要根据绝对时间,准备2组数据; ⑷.定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第I组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=l,即把第I组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定的flag标志寄存单元修改为10 ; (5).UMAC检测到标志寄存单元fIag=IO后,即知道已经获得第一组目标,开始跟踪,同时设置标志寄存单元flag=2,即请求上位机发送第2组目标位置到指定的缓冲区; (6).定时循环程序中,上位机根据计算机当前绝对时间,查Look-up表,得到应该发送的第2组数据;检查UMAC的自定义的flag标志寄存单元,如果flag=2,即把第2组数据发送给UMAC,存于一段连续的缓冲存储单元中,并且把UMAC中指定...
【专利技术属性】
技术研发人员:杨世海,
申请(专利权)人:中国科学院国家天文台南京天文光学技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。