首页> 中国专利> 一种适用于具有主动支撑技术的主镜控制系统的软件框架的实现方法

一种适用于具有主动支撑技术的主镜控制系统的软件框架的实现方法

摘要

本发明提供一种适用于具有主动支撑技术的主镜控制系统的软件框架的实现方法,该软件框架采用消息-响应层、设备对象层、基本功能层的三层式软件结构,实现了线程与算法、算法与接口的分离,并且在消息-响应层引入了状态机原理,实现了基于状态机的消息切换流程。本发明还根据主镜运行过程中可能出现的故障,建立了主镜系统的异常数据库,在异常发生时,采取相应的软件保护措施,确保主镜的安全。本发明提出的三层式软件结构在保障主镜安全的基础上实现了低耦合度的软件分层模块化,提高了软件模块的复用率,易于系统的扩展与升级。

著录项

  • 公开/公告号CN105425618A

    专利类型发明专利

  • 公开/公告日2016-03-23

    原文格式PDF

  • 申请/专利权人 中国科学院光电技术研究所;

    申请/专利号CN201510706450.7

  • 发明设计人 李文茹;周璐春;郑文佳;高国庆;

    申请日2015-10-26

  • 分类号G05B19/04;

  • 代理机构

  • 代理人

  • 地址 610209 四川省成都市双流350信箱

  • 入库时间 2023-12-18 14:59:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-03

    授权

    授权

  • 2016-04-20

    实质审查的生效 IPC(主分类):G05B19/04 申请日:20151026

    实质审查的生效

  • 2016-03-23

    公开

    公开

说明书

技术领域

本发明涉及大口径望远镜中主镜控制的技术领域,尤其涉及大口径望远镜中具有主动支 撑技术的主镜控制系统的软件框架的实现方法。

背景技术

传统望远镜有一个显著的特征:一旦系统加工装配完成。整个系统的光学结构几乎不能 发生改变,因此传统望远镜也称为被动式望远镜。这样的望远镜镜面一旦发生形变,整个系 统就无法精确工作。

随着大口径望远镜的发展,产生了具有主动支撑技术的主镜控制系统,其原理为:通过 对望远镜镜面实时的检测得到镜面的变形情况,同时做出实时的校正,这样望远镜就能保持 高质量的像质。

具有主动支撑技术的主镜控制系统与普通的控制系统相比,有如下的差异:一、其处于 调试状态、标定状态、正常运行状态时,均有不同的系统需求;二、其涉及到多个电机、多 个温控风机的控制与集成;三、其在后期的维护与扩展时,将面临设备的替换、模块升级等 问题;四、其涉及强电、高压,往往需要全天候监测所有设备的运行状态,在系统发生故障 难以排除时,容易引起主镜的碎裂。因此,发展复用性高、扩展性强、安全可靠的主镜控制 系统软件框架成为需要解决的关键问题。

发明内容

针对现有技术的缺陷,本发明提供一种适用于具有主动支撑技术的主镜控制系统的软件 框架的实现方法,该软件框架的特点为:1)该软件框架采用消息-响应层、设备对象层、基 本功能层的三层式软件结构,各层的软件模块耦合程度较低,便于新设备的接入或者软件模 块的升级;2)该软件框架基于望远镜运行中状态的切换,引入状态机原理,定义主镜控制 系统在调试、标定、正常运行等多种状态下的需求与切换流程;3)该软件框架根据主镜控 制系统可能产生的异常,定义了异常向量表,以及相应的软件保护措施,在故障发生时能保 证主镜的安全。

本发明采用的技术方案为:一种适用于具有主动支撑技术的主镜控制系统的软件框架的 实现方法,该软件框架通过消息-响应层、设备对象类层、基本功能层三层来实现,该实现 方法具体如下:

1)在消息-响应层中,将系统需要处理的消息进行分类,在消息映射中,将win消息绑 定至相应的响应函数;

2)根据状态机图,定义系统在多种状态下的功能,以及状态之间的切换流程;

3)在设备对象类层中,分析每种设备的启动、关停、工作流程,确定设备类对象中需 要封装的变量资源与函数资源;

4)在程序初始化过程中读取数据库,建立全局的异常向量以及异常级别。

本发明的原理在于:本发明的技术任务通过以下技术手段实现的:

1)该软件框架中,消息-响应层在消息响应过程中调用设备对象层依次完成多个设备的 启停,而不必关心设备本身的启停流程,设备对象层通过调用基本功能层发送具体的启停命 令与控制命令,而不必关心设备本身的通信接口;

2)其中在消息-响应层中,创建基于消息-响应机制的主线程,首先分析系统需求,确定 系统消息并分类,在消息映射中绑定与其相关的响应函数;

3)状态切换过程中,分析主镜控制系统通用的状态机转换图,包含了调试状态、准备 状态、标定状态、工作状态、异常状态五种状态,包含了标定消息、工作消息、关闭消息、 异常消息、允许恢复消息五种消息,系统状态之间根据消息触发进行切换;

4)建立主镜支撑力电机、温控风机相对应的设备对象类,分析每个设备需要的常用操 作,并将其封装为类对象的子函数,如设备启动流程、关闭流程、控制算法流程等子模块, 该层提供了简洁明了的接口,供消息-响应层调用;

5)基本功能层为通用的通讯类、文件操作类等,其中通讯类封装了多种接口协议,如 串口、TCP/IP接口,文件操作类封装了文件读取\写入操作等操作。基本功能层是在VC提 供的接口API与文件操作API基础上设计的;

6)分析系统可能产生的异常,建立异常数据库,包括异常的描述、异常的影响、异常 的保护措施、异常的解决方案、异常可能发生的概率、异常的等级,在程序的初始化过程中 进行配置,在异常发生时通过查找数据库采取相应的保护措施,并提示可能的解决方案。

本发明与现有技术相比的优点在于:

本发明是在VisualStudio平台上开发的软件框架,与现有技术不同的是,本发明引入了 状态机机制,综合考虑了主镜控制系统在调试、标定、正常运行状态下的多种需求与切换流 程,编写软件的模块接口,降低了软件开发成本,提高了软件模块的复用率;本发明引入了 基于消息-响应机制的主线程,将状态机切换消息、界面刷新消息映射为软件框架下的win 消息,根据消息触发并行处理多个线程,有效地提高软件效率;本发明引入了异常处理机制, 并将其作为系统状态的一种,在发生异常时,根据异常的级别尽快实施软件保护措施,发出 警报,减少了安全事故的发生。

附图说明

图1为本发明实现的基于消息-响应机制的三层软件结构;

图2为基于状态机的系统状态转换图。

具体实施方式

下面结合附图以及具体实施例进一步说明本发明。

图1所示为本发明实现方法实现的软件框架组成示意图,一种适用于具有主动支撑技术 的主镜控制系统的软件框架,其软件框架通过消息-响应层、设备对象类层、基本功能层三 层来实现,其实现方法具体如下:

1)在消息-响应层中,将系统需要处理的消息进行分类,在消息映射中,将win消息绑 定至相应的响应函数;

2)根据状态机图,定义系统在多种状态下的功能,以及状态之间的切换流程;

3)在设备对象类层中,分析每种设备的启动、关停、工作流程,确定设备类对象中需 要封装的变量资源与函数资源;

4)在程序初始化过程中读取数据库,建立全局的异常向量以及异常级别。

以下对各个步骤详细介绍:

系统需要处理的消息,根据其消息的性质,分为以下两种:1)WM_STATE_:该消息为 状态切换消息,其中标定消息、工作消息、关闭消息、允许恢复消息由UI界面发出,异常 消息由刷新线程发出,接收到状态切换消息后,根据消息映射中绑定的回调函数,完成状态 切换功能。2)WM_UPDATE_:该消息为刷新状态消息,由定时器发出,接收到该消息后, 调用设备对象类读取当前的支撑力、温度信息,刷新界面显示当前的状态,并判断当前数据 是否异常,如果异常则发出异常消息。

由于该软件框架采用状态机转换机制,因此首先绘制系统的状态转换图,如图2,系统 总共存在五种状态:调试状态、准备状态、标定状态、工作状态和异常状态,系统中的消息 有:UI界面的工作消息、UI界面的标定消息、UI界面的关闭消息、UI界面的恢复消息、异 常消息,其中异常消息由系统根据自身的状态判断产生。下面分别介绍五种系统状态。

在系统初始上电后,处于调试状态,调试过程中软件监测各个设备的状态,并显示在界 面上。调试过程中,可以实现设备的单元测试,调试完成后进入系统的准备状态,该过程不 可逆。

系统进入准备状态后,软件将监测主镜的状态并在其产生异常时发出报警信号,同时开 始响应UI界面的状态切换消息,如果接收到UI界面的标定消息时,系统从准备状态转入标 定状态,进行系统标定;如果接收到UI界面的工作消息时,系统从准备状态转入工作状态。

系统在标定状态下,实现主镜的支撑力-电压表格等的标定后,等待UI界面的消息,然 后进入工作状态;

在工作状态时,系统不断监控主镜的支撑力状态,并根据望远镜的高角信息发出相应的 控制信号,如果接收到UI界面的关闭消息,则调用关闭流程,回到准备状态,软件在不断 电的情况下始终处于准备状态,全天候监测设备的状态信息。

在系统处于准备状态、标定状态、工作状态时,如果软件监测到系统发生了不可忽略的 异常,比如设备掉电、设备无响应等,则通过SendMessage发出WM_STATE_UNNORMAL 异常消息,采取软件保护措施,同时转入异常状态,等待系统检修,当接收到UI界面的允 许恢复消息,即检修完成,则回到准备状态。

在设备对象层中,定义与主镜支撑力信息、温控信息相关的资源池,根据刷新消息触发, 实时刷新资源池的数据,在消息-响应层需要获取主镜状态时,调用资源池的数据进行显示 即可。

在设备对象层中,编写与主镜支撑力电机、温控风机相关的控制算法,并预留调用接口 给消息-响应层。

本方法的实施,可以使设计人员集中精力关注设备本身的控制算法或感性趣的研究方 向,减少设计人员在软件模块复用等问题上花费过多的精力,大大减少软件开发成本,提高 软件模块的复用率,减少设备故障所导致的安全事故,适用于具有主动支撑技术的主镜控制 系统的升级与扩展,有效地提高了经济效益。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号