1.本发明涉及航天地面测发控类软件研制领域,尤其涉及一种网格化主控软件定义与生成方法。
背景技术:
::2.近年来航天型号任务不断增多,各类型试验对地面测发控软件需求量不断增加。主控软件作为各地面测试设备控制和状态参数监测的核心软件,其软件界面上需要呈现不同数据来源的大量参数信息。而且根据不同试验需求,往往需要对界面内容、布局进行适应性修改。虽然不同型号试验所关注的状态参数各有不同,但对于主控软件功能方面,都是将参数数值或者参数有/无状态呈现到界面中,软件功能相似度极高。3.公布号为cn108647026a的专利公开了一种基于动态网格的可视化界面集成方法及系统,该方法包括:加载待集成界面模块,构建可选界面内容列表,所述待集成界面模块是根据编制的独立界面模块的界面预览内容生成的,所述独立界面模块为按照标准的软件接口规范封装的界面单元;设置界面网格布局;设置网格单元与界面内容的映射关系;生成预览界面;生成应用软件发布包。4.上述专利经过“网格切分”设置网格布局并通过“网格切分”针对整个界面进行操作,通过“位置拖拽”进行界面设置;5.授权公告号为cn106933570b的专利公开了一种基于插件技术的航天测发控软件平台,包括平台内核、配置管理模块、插件管理模块、插件库。平台内核定义软件的集成方式、通讯接口以及软件主窗体与弹出窗体的布局风格,用于控制配置管理模块和插件管理模块工作;配置管理模块提供统一配置管理接口,在平台内核的控制下实现所有功能插件的参数装订;插件管理模块在平台内核的控制下实现插件的加载、注册、初始化以及卸载;插件库包括实现测发控各种业务逻辑功能的插件。6.上述专利中插件有公共和专用的区别;结合上述两个专利可知,上述专利均未解决如何快速、高效地完成软件的定制化开发,降低修改软件导致的技术风险并减少重复开发工作量的问题。技术实现要素:7.本发明的目的是针对
背景技术:
:中存在的问题,提出一种用于航天型号地面测发控类软件研制,研究主控软件的定制化设计与开发,针对界面控件元素多、排列复杂的特性,提出使用配置文件定义并生成网格化的软件界面,并采用脚本技术建立全自动软件设计流程,将界面设计与软件逻辑解耦,提高软件通用化程度,使用脚本技术快速生成界面配置文件,简化软件界面设计过程,可应用于测发控类主控软件的定制与界面设计中的网格化主控软件定义与生成方法。8.本发明的技术方案:一种网格化主控软件定义与生成方法,包括如下步骤:9.s101:获取按界面显示需求编辑的csv表格文件,并由实时监视工具监测csv表格文件的变化;10.s102:当实时监视工具监测到csv表格文件变化时,自动执行python脚本进行csv表格文件至xml配置文件的转换,并将转换后的xml配置文件拷贝到解析引擎指定目录;11.s103:解析引擎重新生成软件界面展示界面效果;12.s104:加载控件并使控件与参数数据绑定,与控件绑定的参数数据实时发送给控件,控件收到分发的数据消息后,自动更新自身界面并显示。13.优选的,所述解析引擎定义为插件式的配置解析引擎,采用平台与插件组合形式的软件模块,并作为主控软件的一部分,用于解析xml配置文件并生成软件界面;14.其中,插件表示不同种类的界面组件,平台用于管理上述各种插件。15.优选的,所述平台对插件的管理方式包括插件的动态加载、卸载、xml配置文件解析与生成软件界面以及向各界面组件分发数据消息;16.所述插件式的解析引擎将界面组件功能的变化封装到插件当中,组件功能的变化需要修改对应插件的源代码;17.优选的,所述插件包括但不限于空白容器控件、分组框控件、表格控件、标签控件、lcd数值显示控件、指示灯控件以及曲线控件。18.优选的,所述配置解析引擎的运行步骤如下:19.根据xml配置文件中的配置信息,相应地去调用特定插件的接口;20.由该插件完成界面控件的生成,生成好的控件交由平台统一管理;21.后续平台根据该界面控件绑定的参数信息向该控件分发数据;22.优选的,所述xml配置文件以网格化的形式定义软件界面;23.xml配置文件为树状结构用于描述界面中各种组件的嵌套关系;24.xml配置文件各节点的属性,代表了界面各组件的属性;所述界面中每个组件表示为一个子网,其中组件的行号、列号属性表征组件所在父节点网格的位置。25.优选的,所述网格化界面布局以单元格为基础,单元格中放置具体的界面组件,包括分组框、状态指示灯、lcd数值框、视图、分隔条、标签、表格以及面板;26.所述xml配置文件中约束了单元格在网格中的行/列号,以及行/列跨度;界面设计时,自顶向下逐层分解,形成多个子网格的嵌套。27.优选的,所述界面组件的显示形态由插件定义,xml配置文件中不同类型的节点表示不同的组件。28.优选的,所述csv表格文件用双亲表示法描述xml配置文件的树状结构;29.csv表格文件中的每一行表示界面中的一个组件,每行均有id编号,以实现树状结构的双亲表示法。30.与现有技术相比,本发明具有如下有益的技术效果:31.本发明适用于航天型号地面测发控类软件研制,研究主控软件的定制化设计与开发,针对界面控件元素多、排列复杂的特性,提出使用配置文件定义并生成网格化的软件界面,并采用脚本技术建立全自动软件设计流程;通过将界面设计与软件逻辑解耦,提高了软件通用化程度,使用脚本技术快速生成界面配置文件,简化了软件界面设计过程,可应用于测发控类主控软件的定制与界面设计中。附图说明32.图1给出了本发明一种实施例的原理框图;33.图2为本发明中自动化配置界面的流程框图;34.图3为本发明中平台实时将参数数据发送至控件的通信原理框图;35.图4为本发明中一种实施例的网格化软件界面示意图;36.图5为本发明中子网格嵌套的示意图;37.图6为本发明中一种实施例的组件属性配置示意图;38.图7为本发明中一种实施例的csv表格文件示意图;39.图8为本发明中xml配置文件示意图。具体实施方式40.下文结合附图和具体实施例对本发明的技术方案做进一步说明。41.实施例42.如图1所示,本发明提出的一种网格化主控软件定义与生成方法,包括如下步骤:43.s101:获取按界面显示需求编辑的csv表格文件,并由实时监视工具监测csv表格文件的变化;44.本实施例中,界面定制人员打开实时监视工具,按界面显示需求编辑csv表格文件,csv表格文件格式如说明书附图7所示;45.s102:当实时监视工具监测到csv表格文件变化时,自动执行python脚本进行csv表格文件至xml配置文件的转换,并将转换后的xml配置文件拷贝到解析引擎指定目录;46.界面定制人员编辑完成csv表格文件后,实时监视工具监测到csv表格文件变化,自动执行python脚本进行转换,并将转换后的xml配置文件拷贝到解析引擎指定目录,界面定制人员可选择重新生成软件界面展示界面效果;47.自动化配置界面的流程如图2所示:48.s201:csv表格文件编辑完成;49.s202:python脚本转换csv表格文件为xml格式文件;50.s203:自动拷贝xml文件到解析引擎指定目录;51.s204:解析引擎重新生成软件界面。52.上述步骤自动配置界面的流程图的解析引擎定义为插件式的配置解析引擎,采用平台与插件组合形式的软件模块,并作为主控软件的一部分,用于解析xml配置文件并生成软件界面;53.其中,插件表示不同种类的界面组件,平台用于管理上述各种插件。54.插件式的解析引擎将界面组件功能的变化封装到插件当中,组件功能的变化仅需要修改对应插件的源代码;不影响平台和其他插件,方便组件的扩展与升级。55.所述平台对插件的管理方式包括插件的动态加载、卸载、xml配置文件解析与生成软件界面以及向各界面组件分发数据消息;56.所述插件式的解析引擎将界面组件功能的变化封装到插件当中,组件功能的变化需要修改对应插件的源代码;57.所述插件包括但不限于空白容器控件、分组框控件、表格控件、标签控件、lcd数值显示控件、指示灯控件以及曲线控件。58.具体控件如下所示:59.序号插件名界面组件1control_widget空白容器控件2control_groupbox分组框控件3control_table表格控件4control_label标签控件5control_lcdnumberlcd数值显示控件6control_light指示灯控件7control_chart曲线控件60.s103:解析引擎重新生成软件界面展示界面效果;61.所述配置解析引擎的运行步骤如下:62.根据xml配置文件中的配置信息,相应地去调用特定插件的接口;63.由该插件完成界面控件的生成(插件相当于是控件工厂),生成好的控件交由平台统一管理;64.后续平台根据该界面控件绑定的参数信息向该控件分发数据。65.s104:加载控件并使控件与参数数据绑定,与控件绑定的参数数据实时发送给控件,控件收到分发的数据消息后,自动更新自身界面并显示。66.如图3所示,图3为平台实时将参数数据发送至控件的通信原理框图;67.本实施例中,以图3进行说明,图中具有四个不同的界面组件(可以是更多个界面组件),以界面组件1、界面组件2、界面组件3、界面组件4排列,上述平台与将控件绑定的参数数据的实时发送至对应的控件,控件根据指定参数数据(即与控件绑定的参数数据)自动更新自身的显示界面。68.所述xml配置文件以网格化的形式定义软件界面;69.xml配置文件为树状结构用于描述界面中各种组件的嵌套关系;70.xml配置文件各节点的属性,代表了界面各组件的属性;所述界面中每个组件表示为一个子网,其中组件的行号、列号属性表征组件所在父节点网格的位置。71.这种xml配置文件以一种轻量化的方式对复杂软件界面进行了建模,网格化的方法具备表示界面各种组合布局形式的能力。72.界面组件排列与布局的变化均控制在xml配置文件中,相同组件功能,但不同界面布局,不需要修改软件源代码。73.结合图4、图5以及图6所示:所述网格化界面布局以单元格为基础,单元格中放置具体的界面组件,包括分组框、状态指示灯、lcd数值框、视图、分隔条、标签、表格以及面板;74.所述xml配置文件中约束了单元格在网格中的行/列号,以及行/列跨度;界面设计时,自顶向下逐层分解,形成多个子网格的嵌套。75.图5中方框中的数字表示单元格在子网格中的行/列跨度。76.界面组件的类型、边距等信息通过xml节点的属性进行描述,界面组件的种类和自定义信息可以方便地扩展。77.所述界面组件的显示形态由插件定义,xml配置文件中不同类型的节点表示不同的组件,如cell表示单元格,xml配置文件示例如图8所示。78.需要说明的是:本发明在网格化的过程中是逐层细化的,每个父节点所代表的容器组件都重新划分网格,即界面组件行号、列号等属性仅反映所在父节点网格中的位置,而不代表在整个界面中的全局位置。79.所述csv表格文件用“双亲表示法”描述xml配置文件的树状结构;通过编辑csv进行界面设置;80.csv表格文件中的每一行表示界面中的一个组件,每行均有id编号,以实现树状结构的“双亲表示法”;81.提供csv表格文件进一步简化软件界面的配置工作,复杂界面中的组件数量较多,xml文件内容庞大,csv表格文件用“双亲表示法”描述xml的树状结构。配置界面时可以不直接修改xml文件,而是在电子表格处理软件中修改csv文件,修改完成后再转换为xml文件。82.图7展示了csv文件示例,例如,使用excel打开csv表格文件,csv文件内容以表格形式呈现,编辑csv即按各列含义编辑每个单元格;83.使用python脚本建立全自动软件设计流程,在软件设计过程中,提供工具实时监视正在编辑的csv文件,当编辑完成保存后,自动调用python脚本转换csv文件为xml文件,实现从配置界面到查看界面效果的自动化流程。84.本发明结合航天型号地面试验测试发射控制类软件的研制工程实际,利用插件式的配置解析引擎,使用轻量化的xml配置文件描述网格化界面,同时可以使用更为简化的csv文件生成xml文件,形成全自动软件设计流程。所提出的使用配置文件生成网格化界面的软件设计方法,缩短软件研制周期,降低软件研制成本,提高地面型号软件研制的规范性,提高软件的可靠性。85.上述具体实施例仅仅是本发明的几种优选的实施例,基于本发明的技术方案和上述实施例的相关启示,本领域技术人员可以对上述具体实施例做出多种替代性的改进和组合。当前第1页12当前第1页12
转载请注明原文地址:https://tc.8miu.com/read-759.html