某型发动机综合电子调节器的虚拟仿真实现

更新时间:2023-07-26 05:58:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

某型发动机综合电子调节器的虚拟仿真实现

由于现代装备结构复杂,技术含量高,特别是各种电子装备,造价昂贵,无法保证训练使用装备的数量,而且基于装备安全的考虑,难以在实际装备上操作训练,因此面向维修训练的装备检测虚拟仿真成为一种需求。随着计算机技术的发展,出现了模拟仪器仪表面板的二维图形仿真,并逐渐发展到三维的虚拟仪器仪表仿真。利用仪器仪表的虚拟仿真,可以真实的模拟检测过程,训练效果好,费用低廉,具有巨大的技术优势和发展潜力。

仪器仪表的虚拟仿真的对象主要是各种电子装备的面板,如飞机座舱面板;各种检测仪器仪表,如示波器,电压电流表等。由于传统的建模工具,如3DMax,Creator等建模工作量大,难度大,效率低。使用专业的仪器仪表仿真工具GL Studio可以大大缩短开发周期,它支持照片级的纹理,降低了建模难度,提高了效率,建模效果逼真。GL Studio还可生成Visual C++直接可用的代码,因此成为仪器仪表仿真工具的最优选择。

1 GL Studio的基本开发流程

如图1所示,第一步Photograph,就是要获取所要仿真对象的图片;第二步处理图片以获得操作面板和各组件的图片,并以png格式保存在Textures文件夹中,即上图中的Create Textures;第三步,图中五个强调颜色方框所示:安排图片,命名对象,生成组件,产生动作,生成程序代码。这一系列过程都要依赖于虚拟现实软件GL Studio来完成;第四步,在Microsoft Visual C++的环境下编译运行以上生成的程序代码,对于编译及运行过程中所产生的错误,要在GL Studio环境下反复修改,直到所生成的可执行文件能够实现各种功能。

1.1 GLStudio图形设计器

图形设计器是一个直观的图形界面,包括了所有现代图形界面的元素,如浮动工具条、工具提示、多文档界面、在线查找帮助、内容敏

感菜单和最近调用的文件列表。GL Studio设计器能使1个图形处理者迅速而且容易地绘制图形界面,并且该图形界面能快速地被模型化,这并不需要编程的知识。除了众多图形应用程序都提供的画布之外,GL Studio设计器也包含了分层视图。分层视图显示了所有设计中的对象列表,用1个可折叠的树状结构来显示。GL Studio设计器有10种图像原形,包括规则多边形、花键和TrueType文本对象。设计器支持所有的绘图操作和每个文档的多视图,并支持照片级纹理的应用,一切多边形的对象都可以贴图。纹理工具可以导入使用大多数普通格式的贴图,纹理能与对象颜色混合,并支持透明度,如图2所示。

1.2 GL Studio代码生成器

GL Studio代码生成器允许程序员取出1个GL Studio设计文件并将其转换为C++和OpenGL源代码。代码生成器能提取GL Studio 设计器中的对象专门组,并从中生成定制的软件组件。这些组件能加到/组件调色板中,可将它们拖放到设计文件中.代码生成器也是模块化的,并且被设计成能为除C++和OpenGL外的其他平台生成代码。GL Studio代码生成器把GL Studio设计创建的文件生成 C ++和OpenGL源代码。任何可由GL Studio设计器绘出的对象都能生成C++源代码,代码生成器允许把对象组生成为定制的C++类,这些C++类能被轻松集成到仿真应用程序中。

2 发动机综合电子调节器的虚拟仿真实现

2.1 基本仿真方案

某型飞机的发动机工作状态控制系统的主要部件是综合电子调节器(简称发动机电调),其主要功用为调节发动机参数、向发动机控制设备和机载飞行参数记录系统等输送信号。发动机电调协同液压机械附件,即燃油泵调节器和喷口加力调节器等共同完成任务系统所要求的监控、限定、控制和保护等15项工作。

2.2 实现过程

2.2.1 纹理的制作

首先用数码相机拍摄实物照片,然后运用图形编辑软件

Photoshop处理,如图3。

2.2.2 软件开发设计

1)自检部分代码

bool rval=false;

if(ObjectEventIs(ev,"DetentVal"))

{ if(self-DetentVal()==1B-DetentVal()==1) { L_57-Visibility(true);L_NM7-Visibility(true);

}

else{ L_57-Visibility(false);L_NM7-Visibility(false);}

rval=true;

}

return rval;

2)低压转子转速调节器通道部分代码

bool rval=false;

if(ObjectEventIs(ev,"DetentVal"))

{if(roll_oneGlsKnob-DetentVal()==3)// display 50±0.3detect n1 { if(n1_1-DetentVal()==1n1_2-DetentVal()==1b_un-DetentVal()==1)

{if(self-DetentVal()==1) {;}

else if(self-DetentVal()==2)

{ four_0-Visibility(false);

three_0-Visibility(false);

two_0-Visibility(false);

one_0-Visibility(false);

five_0-Visibility(true);four_3-Visibility(true);

three_6-Visibility(true); two_10-Visibility(true);

one_5-Visibility(true); }

…………………………………………………….

else if(self-DetentVal()==9)

{one_2-Visibility(false); one_3-Visibility(true); }

else if(self-DetentVal()==10) {;}}}

rval=true;n1=true;// n1 is a flag

}

return rval;

2.2.3 编译、连接和调试

在Visual C++环境下测试运行。会有***.obj和***.exe的文件被组建,,编译通过则生成所建立的仪器仪表控制显示面板

3 结语

基于在真实电子装备实现训练困难的特点,本文中提出在虚拟的环境下,使用GL Studio仿真软件作为电子装备虚拟仿真训练中装备面板和检测设备的建模和仿真工具,已经在多个培训班次使用该软件,取得了良好的训练效果。

本文来源:https://www.bwwdw.com/article/804m.html

Top