CN113919158A - 一种用于飞行控制面板的仿真方法、装置及存储介质 - Google Patents
一种用于飞行控制面板的仿真方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113919158A CN113919158A CN202111198233.3A CN202111198233A CN113919158A CN 113919158 A CN113919158 A CN 113919158A CN 202111198233 A CN202111198233 A CN 202111198233A CN 113919158 A CN113919158 A CN 113919158A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- icd
- panel
- simulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Abstract
本发明提供一种用于飞行控制面板的仿真方法、装置及存储介质,涉及计算机仿真技术领域,包括创建系统框架,初始化SOA组件化引擎,加载系统的功能模块;读取工程配置文件,初始化工程节点、ICD数据和设备板卡;读取配置参数,初始化设备板卡的数据通道,使能数据功能,开始监听通道数据;读取面板配置文件,初始化控制面板并显示、准备脚本执行上下文并执行初始化逻辑;启动监听线程,监听用户操作事件和数据报文事件。本发明通过XML文件和Python脚本文件定义控制面板显示内容和执行逻辑,实现控制面板的通用化建模方法,支持动态加载,可快速验证建模的正确性,大大缩短控制面板建模时间,减少开发成本。
Description
技术领域
本发明涉及计算机仿真技术领域,具体涉及一种用于飞行控制面板的仿真方法、装置及存储介质。
背景技术
飞行控制面板是现代大型客机飞行仪表中不可缺少的一部分。它作为人机交互单元的一部分,是飞行员控制操作的主要输入设备。同时,它也是重要的输出设备,通常用以显示系统运行的状态、重要参数。通过飞行控制面板,飞行员可以手动完成飞行所需的大部分操作。如TCAS/ATC控制面板是一种典型的飞行控制面板。
仿真是对现实系统的某一层次抽象属性的模仿。人们利用这样的模型进行试验,从中得到所需的信息,然后帮助人们对现实世界的某一层次的问题做出决策。飞行控制面板仿真即是运用计算机技术对控制面板进行建模,模拟真实物理设备的输入输出功能,以便进行系统集成验证测试。
飞行控制系统配置项众多,传统控制面板仿真针对不同配置项单独建模,一方面建模周期较长,另一方面应对需求变化的响应较慢。然而,系统集成及验证的时间紧,任务重,必须具备有效的建模仿真方法才能及时发现问题,准确的定位原因,快速找到合理的解决措施。基于系统开发过程的要求,建设一套快速、柔性的控制面板仿真方法已越来越重要和急迫。
发明内容
本发明目的在于提供一种用于飞行控制面板的仿真方法、装置及存储介质,解决飞行控制系统配置项众多,传统控制面板仿真针对不同配置项单独建模产生的建模周期较长和应对需求变化的响应较慢的技术问题。
为达成上述目的,本发明提出如下技术方案:一种用于飞行控制面板的仿真方法,包括:
创建系统框架,初始化SOA组件化引擎,加载系统的功能模块;其中,功能模块包括采用工程化的管理方式实现对不同型号座舱仿真面板统一集中管理的工程管理模块、用于可视化编辑ICD和导入/导出ICD描述文件的ICD管理模块、用于配置管理飞行面板中的基本控件单元的控件仓库模块、用于自定义仿真面板显示内容和编辑仿真面板执行逻辑的仿真面板编辑模块和用于配置管理多种类型数据通道增删改查、启停、数据收发功能的数据通道模块,以及用于动态加载控制面板的布局文件并显示控制面板,根据面板输入执行仿真逻辑的仿真面板执行模块和用于根据ICD描述信息生成结构化的ICD实例,提供ICD序列化和ICD反序列化功能的数据处理模块;
读取工程配置文件,初始化工程节点、ICD数据和设备板卡;
读取配置参数,初始化设备板卡的数据通道,使能数据功能,开始监听通道数据;
读取面板配置文件,初始化控制面板并显示、准备脚本执行上下文并执行初始化逻辑;
启动监听线程,监听用户操作事件和数据报文事件。
进一步的,当所述数据通道接收到报文数据时,调用数据标识解析脚本解析数据包标识;再通过ICD绑定表确定该报文数据的ICD信息,将ICD信息、报文数据打包为数据报文事件并发送给所述仿真面板执行模块。
进一步的,所述初始化控制面板并显示包括:
读取控制面板XML布局文件,解析控件对象的属性描述信息,形成控件对象列表;
遍历控件对象列表,根据控件对象类型依次调用所述控件仓库模块提供的控件实例化接口实例化控件对象,并根据控件对象的属性描述信息初始化每个控件,包括位置、大小和显示样式;
启动显示事件监听线程,监听显示事件。
进一步的,所述仿真面板执行模块准备脚本执行上下文并执行初始化逻辑包括:
使用pybind11函数导入Python基础运行模块,设置Python脚本索引目录;
通过pybind11函数将所述数据处理模块的ICD实例化、ICD序列化和ICD反序列化接口以及数据通道管理模块的数据发送接口暴露到Python运行上下文;
读取控制面板关联的Python脚本路径信息,使用pybind11加载脚本,检查脚本是否符合模板规范;若不符合规范要求,则提示用户;若符合规范要求,则执行脚本中的初始化逻辑。
进一步的,所述用户操作事件为当用户操作仿真面板中的控件时,控件生成用户操作事件;
当所述仿真面板执行模块监听到用户操作事件时,调用脚本中的用户事件处理函数执行报文定义、报文序列化和报文发送操作;
当所述仿真面板执行模块监听到数据报文事件时,调用脚本中的数据报文处理函数执行报文反序列化、显示事件定义和显示事件发送操作;
当所述控制面板监听到显示事件时,调用对应控件的属性设置函数完成控件显示内容修改。
进一步的,所述工程管理模块、ICD管理模块、控件仓库模块、仿真面板编辑模块、仿真面板执行模块、数据处理模块和数据通道模块均采用组件化开发,各模块间松耦合。
进一步的,所述控件仓库模块通过service服务接口向系统提供控件实例化接口,所述数据处理模块通过service服务接口向系统提供ICD实例化、ICD序列化和ICD反序列化接口,所述数据通道模块通过service服务接口向系统提供统一的数据发送接口。
本发明另一目的在于公开一种用于飞行控制面板的仿真装置,包括:
创建模块,用于创建系统框架,初始化SOA组件化引擎,加载系统的功能模块;其中,功能模块包括采用工程化的管理方式实现对不同型号座舱仿真面板统一集中管理的工程管理模块、用于可视化编辑ICD和导入/导出ICD描述文件的ICD管理模块、用于配置管理飞行面板中的基本控件单元的控件仓库模块、用于自定义仿真面板显示内容和编辑仿真面板执行逻辑的仿真面板编辑模块和用于配置管理多种类型数据通道增删改查、启停、数据收发功能的数据通道模块,以及用于动态加载控制面板的布局文件并显示控制面板,根据面板输入执行仿真逻辑的仿真面板执行模块和用于根据ICD描述信息生成结构化的ICD实例,提供ICD序列化和ICD反序列化功能的数据处理模块;
第一读取模块,用于经工程管理模块读取工程配置文件,初始化工程节点、ICD数据和设备板卡;
第二读取模块,用于经数据通道模块读取配置参数,初始化设备板卡的数据通道,使能数据功能,开始监听通道数据;
第三读取模块,用于经仿真面板执行模块读取面板配置文件,初始化控制面板并显示、准备脚本执行上下文并执行初始化逻辑;
启动模块,用于启动监听线程,监听用户操作事件和数据报文事件。
本发明又一目的在于公开一种电子设备,该电子设备包括存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的用于飞行控制面板的仿真方法。
本发明还公开一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的用于飞行控制面板的仿真方法。
由以上技术方案可知,本发明的技术方案获得了如下几点有益效果:
1、通过XML文件和Python脚本文件定义控制面板显示内容和执行逻辑,实现了控制面板的通用化建模方法,该方法支持动态加载,可快速验证建模的正确性,既大大缩短控制面板建模时间,又减少开发成本;
2、通过控件仓库提供了控制面板的基本控件单元,可灵活选择不同的控件单元构建目标控制面板,控件单元一次开发,多面板使用,避免了重复开发工作;
3、通过数据通道的多种接口板卡,即可实现与物理环境对接,又可实现与虚拟仿真环境对接,一次建模多场景使用,进一步地减少了测试验证成本;
4、本发明通过上述仿真流程实现一套针对飞行面板的、柔性的、通用化的仿真方法,可应对大部分航空系统配置项的控制面板仿真需求。
应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
图1为本发明一实施例创建的系统框架图;
图2(a)为本发明一实施例中用户操作事件定义;
图2(b)为本发明一实施例中显示事件定义;
图3为本发明一实施例自定义控件单元的控件基类;
图4为本发明控件仓库模块控件实例化接口定义;
图5为本发明实施例数据处理模块提供的数据处理接口;
图6为本发明实施例中数据通道与通信总线交互原理图;
图7为本发明实施例中数据通道接口设计图;
图8为本发明实施例中数据总线接口设计图;
图9为本发明实施例中ICD匹配流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。
本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,除非上下文清楚地指明其它情况,否则单数形式的“一个”“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的特征、整体、步骤、操作、元素和/或组件,并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
基于现有技术中通过建模对飞行控制面板仿真时,由于飞行控制系统配置项众多,传统控制面板仿真针对不同配置项单独建模,存在建模周期较长和应对需求变化的响应较慢的技术问题;本发明旨在于公开一种用于飞行控制面板的仿真方法、装置及存储介质,其方法通过XML文件和Python脚本文件定义控制面板显示内容和执行逻辑,实现控制面板的通用化建模,支持动态加载,可快速验证建模的正确性,大大缩短控制面板建模时间,又减少开发成本。
下面结合附图所示的实施例,对本发明公开的用于飞行控制面板的仿真方法、装置及存储介质作进一步具体介绍。
本发明提供的用于飞行控制面板的仿真方法,包括创建系统框架,初始化SOA组件化引擎,加载系统的功能模块;其中,功能模块包括工程管理模块、ICD管理模块、控件仓库模块、仿真面板编辑模块、仿真面板执行模块、数据处理模块和数据通道模块;读取工程配置文件,初始化工程节点、ICD数据和设备板卡;读取配置参数,初始化设备板卡的数据通道,使能数据功能,开始监听通道数据;读取面板配置文件,初始化控制面板并显示、准备脚本执行上下文并执行初始化逻辑;启动监听线程,监听用户操作事件和数据报文事件。
本实施例创建的系统框架如图1所示,其中,工程管理模块用于通过工程化的管理方式实现对不同型号座舱仿真面板的统一集中管理;ICD管理模块用于可视化编辑ICD和导入/导出ICD描述文件,支持可视化方式编辑ICD,可编辑的内容包括数据格式、数据内容、字段属性等;控件仓库模块用于配置管理飞行面板中的基本控件单元,用户可通过该模块提供的基本控件单元构建目标控制面板;仿真面板编辑模块用于自定义仿真面板的显示内容和编辑仿真面板的执行逻辑;仿真面板执行模块用于动态加载控制面板的布局文件并显示控制面板,同时可根据面板输入和输出,执行仿真逻辑;数据处理模块用于根据ICD描述信息生成结构化的ICD实例,以及提供ICD序列化和ICD反序列化功能;数据通道模块用于配置管理多种类型的数据通道,可完成数据通道的增删改查、启停、数据收发等功能。并且,工程管理模块、ICD管理模块、控件仓库模块、仿真面板编辑模块、仿真面板执行模块、数据处理模块、数据通道模块采用组件化开发,各个模块之间松耦合;其中,
具体的,控件仓库模块包括航空控制面板中常见的控件单元,如按键、二值开关、拨码开关、旋转码盘、数码管、指示灯、多功能键盘等;上述控件中,操作类控件均支持发送用户操作事件,显示类控件均支持响应显示事件,用户操作事件和显示事件定义如下图2(a)和2(b)所示。并且,当用户操作仿真面板中的控件时,控件生成用户操作事件。仿真面板执行模块监听到用户操作事件时,调用脚本中的用户事件处理函数完成报文定义、报文序列化、报文发送等操作;仿真面板执行模块监听到数据报文事件时,调用脚本中的数据报文处理函数完成报文反序列化、显示事件定义、显示事件发送等操作;控制面板监听到显示事件时,调用相应控件的属性设置函数完成控件显示内容修改。
另外,控件仓库模块能够加载按规范开发的用户自定义控件单元,如图3所示,实施例定义了一种可行的基类,用户可继承该基类开发自定义控件。其中,setProperyValue()是控件初始化接口,基类中已实现基本属性的初始化,需要每个自定义控件根据扩展属性自行实现;getProperyValue()获取控件属性值接口,供发送脚本获取控件属性信息,需要每个自定义控件根据情况实现;showAction()是显示事件处理接口,需要每个自定义控件根据情况实现;sendAction()在基类中已实现,调用后生成用户操作事件,每个控件视情况调用。实时操作中,控件仓库模块通过service服务接口向系统提供控件实例化接口,实例化接口定义如下图4所示。
仿真面板编辑模块通过XML格式文件描述仿真面板布局信息,具体的,XML布局文件包括文件根节点PanelRootGroup,其包含多个Panel节点;Panel节点描述仿真面板属性信息,包括名称、关联的脚本、关联的数据通道以及控件(Item节点)位置信息;Item节点描述单个控件属性信息,包括类型、名称、位置、大小以及其他私有属性信息。仿真面板编辑模块通过Python脚本文件描述仿真面板执行逻辑,具体的,Python脚本采用模板化定义,该脚本中包含用户操作事件响应处理函数doAciton和数据报文事件响应处理函数processPacket。响应处理函数中,可调用getIcdPacket获取ICD实例、调用getProperty获取控件属性值、调用sendPacket序列化并发送ICD数据、调用analysePacket反序列化ICD数据和/或调用setProperty构建并发送回显事件;面板布局描述和逻辑文件能够在文本编辑器中直接编辑。操作时,仿真面板执行模块通过加载运行XML布局描述文件构建显控面板,并通过pybind11加载运行面板Python逻辑文件实现控件响应和回显逻辑。
数据处理模块通过service服务接口向系统提供ICD实例化、ICD序列化和ICD反序列化接口等,各接口定义如下图5所示;从接口可看出,本实施通过JSON格式的字符串描述ICD实例,作为C++和Python之间的ICD信息交换协议。
数据通道模块支持接入离散量板卡、ARINC429板卡、ARINC664板卡、RS422板卡、RS485板卡、CAN板卡、以太网板卡以及其他各类设备板卡。对于上述具有通信功能的硬件,将物理通信接口转换为数据通道模块中的数据通道,对通道进行初始化后,将其注册到通信数据总线中,其原理如下图6所示。数据通道接口主要包含的功能有:设置通道接口标识、获取通道接口标识、打开通道、关闭通道、写数据、读数据,数据总线接口包含的功能有:获取所有通道列表、获取某个Id的通道、注册通道、反注册通道、写单个通道数据、读单个通道数据、写多个通道数据、读多个通道数据,数据通道和数据总线UML接口设计图如图7和图8所示。
上述数据通道在接收到报文数据时,调用数据标识解析脚本解析数据包标识;再通过ICD绑定表确定该报文数据的ICD信息,将ICD信息、报文数据打包为数据报文事件并发送给所述仿真面板执行模块,ICD的匹配流程如下图9所示。数据通道模块通过ICD绑定表定义ICD与数据包标识的关系,数据包标识通过数据通道关联脚本动态解析。
根据读取的面板配置文件,对初始化控制面板并显示包括如下步骤:
步骤1,读取控制面板XML布局文件,解析控件对象的属性描述信息,形成控件对象列表;
步骤2,遍历控件对象列表,根据控件对象类型依次调用所述控件仓库模块提供的控件实例化接口实例化控件对象,并根据控件对象的属性描述信息初始化每个控件,包括位置、大小和显示样式;
步骤3,启动显示事件监听线程,监听显示事件。
根据读取的面板配置文件,经仿真面板执行模块准备脚本执行上下文并执行初始化逻辑的初始化步骤为:
步骤11,使用pybind11函数导入Python基础运行模块,设置Python脚本索引目录;
步骤12,将所述数据处理模块的ICD实例化、ICD序列化和ICD反序列化接口以及数据通道管理模块的数据发送接口通过pybind11函数暴露到Python运行上下文;
步骤13,读取控制面板关联的Python脚本路径信息,使用pybind11加载脚本,检查脚本是否符合模板规范;若不符合规范要求,则提示用户;若符合规范要求,则执行脚本中的初始化逻辑。
本发明另一实施例公开一种用于飞行控制面板的仿真装置,该装置运行时实现上述的用于飞行控制面板的仿真方法。该用于飞行控制面板的仿真方法在执行时可以被分割成多个模块或单元,多个模块或单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述本发明的用于飞行控制面板的仿真方法在装置中的执行过程。例如,本发明用于飞行控制面板的仿真装置包括如下模块:
创建模块,用于创建系统框架,初始化SOA组件化引擎,加载系统的功能模块;其中,功能模块包括采用工程化的管理方式实现对不同型号座舱仿真面板统一集中管理的工程管理模块、用于可视化编辑ICD和导入/导出ICD描述文件的ICD管理模块、用于配置管理飞行面板中的基本控件单元的控件仓库模块、用于自定义仿真面板显示内容和编辑仿真面板执行逻辑的仿真面板编辑模块和用于配置管理多种类型数据通道增删改查、启停、数据收发功能的数据通道模块,以及用于动态加载控制面板的布局文件并显示控制面板,根据面板输入执行仿真逻辑的仿真面板执行模块和用于根据ICD描述信息生成结构化的ICD实例,提供ICD序列化和ICD反序列化功能的数据处理模块;
第一读取模块,用于经工程管理模块读取工程配置文件,初始化工程节点、ICD数据和设备板卡;
第二读取模块,用于经数据通道模块读取配置参数,初始化设备板卡的数据通道,使能数据功能,开始监听通道数据;
第三读取模块,用于经仿真面板执行模块读取面板配置文件,初始化控制面板并显示、准备脚本执行上下文并执行初始化逻辑;
启动模块,用于启动监听线程,监听用户操作事件和数据报文事件。
基于与前述实例施中一种用于飞行控制面板的仿真方法相同的发明构思,本发明还提供一种电子设备;该设备包括存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序;其中,存储器和处理器之间互相通信连接,例如通过总线或者其他方式连接;当处理器执行存储的计算机程序时,实现前文所述一种用于飞行控制面板的仿真方法的执行步骤。
具体实施时,该电子设备包括的处理器和存储器可以为一个或多个。其中,处理器优选但不限于是中央处理器(CPU),还可以是具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制测试设备中的其他组件以执行期望的功能。例如,处理器还可以为其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可以包括一个或多个计算机程序产品,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的用于飞行控制面板的仿真方法对应的程序指令/模块,处理器通过运行存储在存储器的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的一种用于飞行控制面板的仿真方法。存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器优选但不限于高速随机存取存储器,例如,还可以是非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器还可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的程序,可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述用于飞行控制面板的仿真方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(ROM)、随机存储记忆体(RAM)、快闪存储器(FlashMemory)、硬盘(HDD)或固态硬盘(SSD)等;存储介质还可以包括上述种类的存储器的组合。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (10)
1.一种用于飞行控制面板的仿真方法,其特征在于,包括:
创建系统框架,初始化SOA组件化引擎,加载系统的功能模块;其中,功能模块包括采用工程化的管理方式实现对不同型号座舱仿真面板统一集中管理的工程管理模块、用于可视化编辑ICD和导入/导出ICD描述文件的ICD管理模块、用于配置管理飞行面板中的基本控件单元的控件仓库模块、用于自定义仿真面板显示内容和编辑仿真面板执行逻辑的仿真面板编辑模块和用于配置管理多种类型数据通道增删改查、启停、数据收发功能的数据通道模块,以及用于动态加载控制面板的布局文件并显示控制面板,根据面板输入执行仿真逻辑的仿真面板执行模块和用于根据ICD描述信息生成结构化的ICD实例,提供ICD序列化和ICD反序列化功能的数据处理模块;
读取工程配置文件,初始化工程节点、ICD数据和设备板卡;
读取配置参数,初始化设备板卡的数据通道,使能数据功能,开始监听通道数据;
读取面板配置文件,初始化控制面板并显示、准备脚本执行上下文并执行初始化逻辑;
启动监听线程,监听用户操作事件和数据报文事件。
2.根据权利要求1所述的用于飞行控制面板的仿真方法,其特征在于,当所述数据通道接收到报文数据时,调用数据标识解析脚本解析数据包标识;再通过ICD绑定表确定该报文数据的ICD信息,将ICD信息、报文数据打包为数据报文事件并发送给所述仿真面板执行模块。
3.根据权利要求1所述的用于飞行控制面板的仿真方法,其特征在于,所述初始化控制面板并显示包括:
读取控制面板XML布局文件,解析控件对象的属性描述信息,形成控件对象列表;
遍历控件对象列表,根据控件对象类型依次调用所述控件仓库模块提供的控件实例化接口实例化控件对象,并根据控件对象的属性描述信息初始化每个控件,包括位置、大小和显示样式;
启动显示事件监听线程,监听显示事件。
4.根据权利要求1所述的用于飞行控制面板的仿真方法,其特征在于,所述仿真面板执行模块准备脚本执行上下文并执行初始化逻辑包括:
使用pybind11函数导入Python基础运行模块,设置Python脚本索引目录;
通过pybind11函数将所述数据处理模块的ICD实例化、ICD序列化和ICD反序列化接口以及数据通道管理模块的数据发送接口暴露到Python运行上下文;
读取控制面板关联的Python脚本路径信息,使用pybind11加载脚本,检查脚本是否符合模板规范;若不符合规范要求,则提示用户;若符合规范要求,则执行脚本中的初始化逻辑。
5.根据权利要求3所述的用于飞行控制面板的仿真方法,其特征在于,所述用户操作事件为当用户操作仿真面板中的控件时,控件生成用户操作事件;
当所述仿真面板执行模块监听到用户操作事件时,调用脚本中的用户事件处理函数执行报文定义、报文序列化和报文发送操作;
当所述仿真面板执行模块监听到数据报文事件时,调用脚本中的数据报文处理函数执行报文反序列化、显示事件定义和显示事件发送操作;
当所述控制面板监听到显示事件时,调用对应控件的属性设置函数完成控件显示内容修改。
6.根据权利要求1所述的用于飞行控制面板的仿真方法,其特征在于,所述工程管理模块、ICD管理模块、控件仓库模块、仿真面板编辑模块、仿真面板执行模块、数据处理模块和数据通道模块均采用组件化开发,各模块间松耦合。
7.根据权利要求1所述的用于飞行控制面板的仿真方法,其特征在于,所述控件仓库模块通过service服务接口向系统提供控件实例化接口,所述数据处理模块通过service服务接口向系统提供ICD实例化、ICD序列化和ICD反序列化接口,所述数据通道模块通过service服务接口向系统提供统一的数据发送接口。
8.一种用于飞行控制面板的仿真装置,其特征在于,包括:
创建模块,用于创建系统框架,初始化SOA组件化引擎,加载系统的功能模块;其中,功能模块包括采用工程化的管理方式实现对不同型号座舱仿真面板统一集中管理的工程管理模块、用于可视化编辑ICD和导入/导出ICD描述文件的ICD管理模块、用于配置管理飞行面板中的基本控件单元的控件仓库模块、用于自定义仿真面板显示内容和编辑仿真面板执行逻辑的仿真面板编辑模块和用于配置管理多种类型数据通道增删改查、启停、数据收发功能的数据通道模块,以及用于动态加载控制面板的布局文件并显示控制面板,根据面板输入执行仿真逻辑的仿真面板执行模块和用于根据ICD描述信息生成结构化的ICD实例,提供ICD序列化和ICD反序列化功能的数据处理模块;
第一读取模块,用于经工程管理模块读取工程配置文件,初始化工程节点、ICD数据和设备板卡;
第二读取模块,用于经数据通道模块读取配置参数,初始化设备板卡的数据通道,使能数据功能,开始监听通道数据;
第三读取模块,用于经仿真面板执行模块读取面板配置文件,初始化控制面板并显示、准备脚本执行上下文并执行初始化逻辑;
启动模块,用于启动监听线程,监听用户操作事件和数据报文事件。
9.一种电子设备,其特征在于,包括存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7中任一所述的用于飞行控制面板的仿真方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的用于飞行控制面板的仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111198233.3A CN113919158A (zh) | 2021-10-14 | 2021-10-14 | 一种用于飞行控制面板的仿真方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111198233.3A CN113919158A (zh) | 2021-10-14 | 2021-10-14 | 一种用于飞行控制面板的仿真方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113919158A true CN113919158A (zh) | 2022-01-11 |
Family
ID=79240253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111198233.3A Pending CN113919158A (zh) | 2021-10-14 | 2021-10-14 | 一种用于飞行控制面板的仿真方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113919158A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115019595A (zh) * | 2022-05-23 | 2022-09-06 | 中国电子科技集团公司第十研究所 | 基于航电仿真i/o管理的训练模拟器实现方法及系统 |
CN116107295A (zh) * | 2023-04-13 | 2023-05-12 | 北京东方瑞丰航空技术有限公司 | 一种仿真面板的状态监控系统和方法 |
-
2021
- 2021-10-14 CN CN202111198233.3A patent/CN113919158A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115019595A (zh) * | 2022-05-23 | 2022-09-06 | 中国电子科技集团公司第十研究所 | 基于航电仿真i/o管理的训练模拟器实现方法及系统 |
CN115019595B (zh) * | 2022-05-23 | 2023-06-06 | 中国电子科技集团公司第十研究所 | 基于航电仿真i/o管理的训练模拟器实现方法及系统 |
CN116107295A (zh) * | 2023-04-13 | 2023-05-12 | 北京东方瑞丰航空技术有限公司 | 一种仿真面板的状态监控系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106569801B (zh) | 一种基于复杂参数的组态化显控系统 | |
CN107273286B (zh) | 针对任务应用的场景自动化测试平台及方法 | |
US10198422B2 (en) | Information-processing equipment based on a spreadsheet | |
CN103257925B (zh) | 列车运行监控记录软件自动测试装置、系统及其方法 | |
US20150294038A1 (en) | Graphical Design Verification Environment Generator | |
US20130263090A1 (en) | System and method for automated testing | |
US20060020931A1 (en) | Method and apparatus for managing complex processes | |
CN115617327A (zh) | 低代码页面搭建系统、方法及计算机可读存储介质 | |
CN113919158A (zh) | 一种用于飞行控制面板的仿真方法、装置及存储介质 | |
CN101872176A (zh) | 测控软件生成方法及系统 | |
CN111858371A (zh) | 软件测试方法、系统、存储介质及计算机设备 | |
WO2018201615A1 (zh) | 一种电池管理单元的测试方法及系统 | |
CN107506190A (zh) | 基于Spring框架的XML文件修改方法及装置 | |
CN109614325B (zh) | 一种确定控件属性的方法及装置、电子设备和存储介质 | |
Tierno et al. | Open issues for the automotive software testing | |
CN107577709B (zh) | 一种信息系统资源模型的图形化管理方法 | |
CN109032850A (zh) | 现场装置调试系统和现场装置调试方法 | |
CN114185874A (zh) | 一种基于大数据的建模方法、装置、开发框架及设备 | |
CN105096104A (zh) | 表单操作权限的控制方法、装置及办公自动化系统 | |
CN112435072A (zh) | 一种模型创建方法、装置、电子设备及存储介质 | |
US9280627B1 (en) | GUI based verification at multiple abstraction levels | |
CN112199273A (zh) | 一种虚拟机压力/性能测试方法及系统 | |
CN104133680A (zh) | 一种erp窗体模块的快速构建方法 | |
CN114757124B (zh) | 一种基于xml的cfd工作流建模方法、装置、计算机及存储介质 | |
CN103744757B (zh) | 一种基于arinc661的df文件验证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |