APP下载

基于GLStudio软件的领航仪表飞行技术仿真系统设计

2018-08-10林坤

电子设计工程 2018年15期
关键词:领航仿真技术控件

林坤

(西安航空职业技术学院陕西西安710089)

在计算机技术不断发展的过程中,有效促进了仿真技术的持续完善及发展,使其被广泛应用到航空航天等领域中,并且不断成熟。飞行技术仿真是现代仿真技术的主要内容,也是计算机、系统仿真及航空等领域的相互结合,其主要将飞机的运动作为研究对象,对飞行过程中的复杂系统进行仿真。在人们对于飞行仿真对象真实性、复杂性、交互性及实时性的需求不断提高的过程中,飞行仿真技术也成为计算机仿真的重点研究内容[1]。

在飞行过程中使用计算机仿真技术中的仿真模型替代真实的物理模型,从而能够有效提高研制及试验的质量,并且还能够在计算机平台中实现多次的重复模拟,并且对实验结果进行分析,能够有效缩短研制及实验的周期,并且降低研制成本。计算机仿真技术也可应用于军事领域中武器的研制及作战训练方面,为飞行战术演练、训练及武器装备提供了经济有效的途径,从而成为目前军事领域中的重要科技。目前,在飞行技术训练过程中使用仿真技术,已经成为我国航空军队飞行员培养过程中的主要途径。能够在模拟训练过程中实施的对飞行员的操作进行监控,并且使飞行员能够有效掌握飞行技能。和传统飞行训练方式进行对比,基于GLStudio软件的仿真训练具有较大的优势[2]。

1 GLStudio软件的建模过程

GLStudio软件是现代尤为先进的仪表面板开发工具,其被广泛应用到三维、实时及照片交互的图像界面中,其适应于人机接口应用的开发,比如飞行训练模拟器虚拟仪表等,其开发的人机结构能够在产品全周期中[3]。GLStudio软件还能够实现仪表指示、虚拟仪器动态互联及按键相应等仿真,尤其适用于多功能显示器仿真系统中的虚拟建模,其建模过程主要包括3步:

首先,设计整体外观。GLStudio设计面板中具有面向对象的图像界面,操作简单方面,其中的工具栏中具有多种图形元素及操作方式,用户能够通过操作基本图像元素创建成为复杂模型,以此设计虚拟仪表外观[4]。

另外,设计纹理贴图。纹理贴图能够有效提高虚拟仪表的真实性,软件能够使用照片纹理,所有的多边对象都能够实现纹理贴图,其能够通过在对象中进行旋转、缩放、平移等操作,从而实现预期的目的。

最后,人机交互的实现。GLStudio软件中具有输入/输出设备,能够根据用户的输入数据实现状态的改变及用户和输入设备的交互。开发人员将处理事件添加到输入设备中,以此实现处理事件的交互响应[5]。

通过以上步骤就能够有效实现模型的设计,之后在代码生成器中实现模型代码元的生成。图1为GLStudio软件的开发流程图。

图1 GLStudio软件的开发流程图

2 领航仪表仿真面板的设计

2.1 系统面板的设计

表2为领航仪表仿真系统面板的设计结构,通过图2可以看出来,领航仪表飞行技术仿真系统的面板主要包括地平仪、航向标、显示器、高度表等组成,在整个系统中,平视显示器是最核心的部分,其主要功能就是显示飞行器在整个仿真过程中的状态信息[6]。并且整个系统中具有多个单独的仪表,如果使用GLStudio软件中的图像设计窗口实现仪表控件的统一设计,那么就会导致控件出现杂乱的现象,所以就要将仪表模块转换成为可插入的组件,实现仪表控件的单独设计,从而便于管理人员对系统进行管理[7]。

图2 领航仪表仿真系统面板的设计结构

2.2 系统功能模块的设计与开发

2.2.1 仪表界面的设计

在制作仪表界面过程中,要全面了解所要研发设计的机型内部,包括仪表的颜色、尺寸、外形、仪表功能、报警指示、响应时间等,都要和实际的领航仪表相一致[8]。并且还要实现仪表的图像处理,使用PS图像处理软件将其制作成为各式纹理,使其能够与真实的仪表更加接近。在VC++中创建相应的工程模板,将用户所创建的图片模型在其中进行创建[9]。

2.2.2 驱动的设计及实现

为了能够对仪表中的电门、指针及按钮等进行控制,就要在代码生成器中实现部件的响应及运动。使用GLStudio软件和VC++共同编程,通过模拟仪表中的驱动程序在静态环境中添加代码,从而实现控件的实时动态显示,将飞机中的飞行数据能够显示出来。

通过仪表内部实现驱动程序的描述,主飞行显示器的高度、空速、导航显示器及垂直速度等都是位置控制,简单来说,就是通过Location控件的调用实现。姿态指示器的航向罗盘、导航显示器、刻度带等都是旋转控制,就是通过DynamicRotate函数的调用进行控制,其他的风向、读数窗口及风速等信息,都能够将数据实时的显示出来。本节通过航向游标介绍旋转的设计[10]。

GLStudio软件的API函数库较为强大,将罗盘刻度圆周中心作为中心,创建旋转所需要的函数,在对应的位置中将回调函数进行添加,从而实现游标对象的旋转,创建外部控制对象在旋转过程中使用的接口函数。首先,通过主控制界面中的Code Tab选项右击选择Add及Property,将成员的类型设置为double。

指针旋转运动的控制通过以下代码实现:

2.3 仪表行为的属性设置

在设置界面之后,就要在仪表中创建行为及属性,GLStudio软件能够支持模块化的编程,从而使用户在添加代码之后能够具有固定的接口,并且软件自身具有API函数库,其中包括多种常用的闪烁、旋转等控制函数,用户能够在code模块中实现函数的调用,从而动态控制模型。

通过GLStudio软件创建类属性,从而实现仪表动作的控制,每个添加的类属性都能够自动生成get函数、set函数及成员变量,用户通过set函数的diamante实现元器件行为属性的设置,通过get函数的调用实现属性值的获取[11]。

本节以驾驶杆的水平方向为例,在第二个多功能显示器中将驾驶杆水平位置充分显示出来。首先,通过code区创建字符变量,从而能够够显示驾驶杆文本;另外通过创建全新属性,使系统能够自动生成属性变量,在字符变量中将下述代码添加进去,从而实现目前驾驶杆状态的显示。

3 仪表仿真通信接口的设计

领航仪表仿真系统和飞行模拟器的系统能够相互联系,才能够满足仿真系统最初设计的需求,仪表系统要与动力学仿真系统实现数据交换,通过数据流程图确定系统的接口数据。

3.1 选择UDP协议

在现代网络通信过程中一般使用UDP/IP或者TCP/IP协议,UDP也就是用户数据报协议,其为面向无连接不可靠的传输类型,主要目的就是发送并且接受上层协议传递的消息,自身并没有相关的检测修改及回应工作,具有较高的工作效率;TCP传输控制协议为可靠并且面向连接的传输类型,其需要一定的网络实现。由于虚拟仪表具有较高的实时性,计算机就会持续的刷新画面,在刷新过程中偶尔丢失一两帧,不会对画面的渲染及效果产生影响,所以系统中的传输协议可以选择DUP用户数据报协议[12]。

3.2 程序的设计

使用UDP协议作为通信程序,飞行仿真机将计算之后的仿真数据进行发送,虚拟仪表端的主要目的就是实现每个循环周期的数据接收。图3为系统的通信流程:

图3 系统的通信流程设计

通过WinSock2开发通信程序,由于软件中已经添加了头文件及相关链接,所以用户就能够通过socket函数直接调用,实现网络通信的设计。为了使系统能够刻度,虚拟仪表计算机和飞行仿真机在连接之前要对结构体进行统一格式。在Initialize函数中添加代码,实现套接字库的初始化,之后实现套接字的定义,并且将其使用在数据接收缓存区中,将套接字的工作模式进行设置,之后对其进行绑定。一般情况下套接字都会出现阻塞,如果网络出现故障,那么程序就会在原地等待,并且无法实现帧循环,那么画面就会出现停滞的现象,所以UDP通信设定的工作是在套接字没有出现阻塞的模式下工作的[13]。代码为:

3.3 系统的编译及调试

GLStudio软件中包括代码生成器,其主要目的就是在已经设计好的gls文件中自动生成云代码,其能够支持3种模式代码的转换,本文通过在Standalone模式中生成独立应用程序,保存生成代码,代码的形式为源文件及头文件。头文件能够实现图像对象类生命的自动生成,源文件中包括类对象及类成员的具体定义,在VStudio中创建基于GLStudio软件的项目,并且将头文件及源文件添加进入,实现程序的编译及调试[14],图4为成功的领航仪表仿真系统执行效果。

图4 成功的领航仪表仿真系统执行效果

4 系统的仿真实验

系统的仿真是通过管道通信实现,在虚拟仪表启动的时候就会自动创建管道服务,在打开驱动数据编辑器之后就会自动连接管道服务。通过添加和删除按钮,实现管理的演示,每添加或者删除演示计划之后,驱动数据文件就会自动实现更新。最后点击飞行控制按钮,从而为虚拟仪表发送相关的读取驱动数据指令,虚拟仪表就会执行演示模式。每个演示模式会通过执行自身的运动算法实现预设的参数值,参数值能够在演示过程中通过手动进行删除[15]。图5为仿真飞行虚拟仪表的显示。

图5 仿真飞行虚拟仪表的显示

5 结束语

文中通过GLStudio软件的高效率、逼真形象、良好的代码移植等优点,使用UDP协议和飞行仿真模型通信,从而实现了基于GLStudio软件的领航仪表飞行技术仿真系统的设计,并且实现了系统的编译及运行。此系统能够实时的显示飞行状态的参数,并且能够满足系统对交互性及实时性的需求。目前,虚拟仪表软件被成功使用在某飞行控制系统仿真平台中,能够有效节约训练成本,提高了飞行人员的安全,并且提高了飞行训练的质量,并且为虚拟仪表开发设计相关人员提供了参考。

猜你喜欢

领航仿真技术控件
领航
领航
领航海外
虚拟仿真技术支持情景构建
基于仿真技术的信号平面布置验证
领航海外
关于.net控件数组的探讨
AMESim仿真技术在汽车空调制冷系统中的应用
ASP.NET服务器端验证控件的使用
PSCAD/EMTDC-MATLAB联合仿真技术在SVC控制系统仿真建模中的应用