贾荣珍, 刘 丽, 王行仁, 詹文军
(北京航空航天大学自动控制系, 北京 100083)
随着建模与仿真(Modeling and Simulation简称 M&S) 技术在各个领域得到越来越广泛的应用 对仿真结果的评估越来越得到重视因为仿真结果的正确性和可信度是仿真系统是否具有实际应用价值的关键, 校核,验证和确认 (Verification Validation Accreditation简称 VV&A)技术由于其在提高 M&S 的正确性和可信度方面的作用 而日益受到仿真界的重视,其中 VV&A 的自动化和可视化由于可以有效地提高 VV&A 在 M&S 中的应用效果,成为当前VV&A的关键技术之一。
本文介绍结合实际工程需求 研究开发的一个自测试软件,作为一种 VV&A 自动化,可视化的测试工具,该自测试软件可以对仿真测试结果进行定性和定量的分析评估,而且满足飞行实时仿真系统飞行性能测试要求,具有良好的 Windows 风格的用户界面, 功能全面且方便易用文中对自测试软件的结构和功能, 软件开发环境, 各部分的实现, 软件开发中所涉及的一些关键性技术和问题进行了详细讨论。
· 自测试软件结构设计及功能 ·
自测试软件的基本结构如图 1 所示: 图中虚线框中为自测试软件的基本结构, 由五个部分组成, 其中测试与评估管理主程序作为自测试软件的管理中枢, 用于完成自测试软件的管理,例如测试项目管理 ,编辑 输入数据和输出数据的处理和管理 同时包括软件其他部分的任务调度和资源分配 。另外,还包括软件帮助 软件说明辅助管理。
具有按照有关标准中规定的测试项目, 进行飞行实时仿真系统的飞行性能测试功能。
具有定性的曲线对比显示和定量的数据比较 ,误差分析等评估功能。
具有包括帮助功能在内的方便用户操作, 使用该软件的功能。
具有数据输入, 数据管理, 输出报表生成和结果打印功能。
具有通用性和可扩充性。
测试与评估管理主程序是自测试软件的核心,管理主程序采用菜单方式,对自测试软件各子系统的实现进行管理, 用户通过这些菜单, 可以完成自测试软件的所有功能测试管理菜单,提供了对测试项目编辑 测试结果查看, 启动新的测试等功能,测试驱动菜单,对参数配置文件,符号字典, 基准数据 ,测试数据等各种数据,变量的编辑, 处理测试评估菜单,提供对误差评估子系统的调用功能,实时监测菜单,提供对实时监测子系统的调用功能,帮助菜单,提供了联机帮助功能,系统信息菜单,说明软件的版本信息 ,运行环境。
人机交互子系统是用户和自测试软件的交互接口,人机交互子系统并不是一个单独集中的模块,而是由系统中各分散模块的外在用户界面,如各种按钮,菜单,对话框, 快捷键所组成,通过它们完成测试项目选择,测试变量,时间等各种参数设置,结果打印,曲线显示, 数据编辑等各种用户输入命令的接受,并由系统分别提交到各功能模块去执行,为达到方便用户使用的目的, 在实现用户界面时对常用的操作提供快捷方式提供简单的错误处理功能和信号,反馈功能并且提供一个良好的联机帮助。
1.2 .3 实时监测子系统
实时监测子系统是用于仿真测试结果的实时监测和曲线的动态显示。通过对仿真测试结果和基准数据对比对飞行实时仿真系统飞行性能进行评估,设有数据窗显示和曲线窗显示两种方式可供选择。对于曲线窗显示方式,提供了以下功能:
多窗口曲线显示。
曲线窗口滚动显示:在进行曲线显示的过程中,如果曲线在一个窗口大小内无法完全显示,则将自动进行滚动显示,在曲线绘制完毕之后,用户可以拖动滚动条来查看完整的曲线。
曲线的局部放大功能,用户可以使用鼠标在窗口内选择欲放大的区域并对该区域,内的曲线进行放大显示。
网格显示:通过显示网格, 用户可以比较方便地大致判断出曲线上某一点的数值。
数值显示:用户在使用鼠标选择曲线上某一点时, 可以显示出该点对应的数值大小。
曲线颜色设置,用户可以为仿真测试结果曲线和基准数据曲线选择不同的颜色。
显示比例调整,为使用户便于查看,可以自行调整窗口显示比例大小。
误差分析子系统提供了对仿真测试结果和基准数据的定量比较,并计算出其误差,然后将该误差与性能测试规范中规定的允许公差范围进行比较,将自动生成一个评估分析结果数据库,在该数据库中,包含性能测试项目 ,仿真测试时, 所用的测试评估标准,测试项目中各测试参数对应的仿真测试数据和基准数据列表, 误差值(根据用户选择还可输出误差分布曲线图) 参数对应误差值和允许公差范围的对比列表,数据库生成后,可以保存为文档,为对仿真系统的确认提供依据。
自测试软件运行于总控台计算机,而飞行仿真软件则运行于仿真 主计算机,它们之间通过网络进行连接 自测试软件和仿真软件之间的数据交换由网络通讯子系统完成,自测试软件中各部分之间的信息交互,通过一个公用的数据区来完成,公用数据区是由一些全局变量,数据结构和自定义数据类型组成。
在该自测试软件中,采用了 IPX/SPX 通讯协议支持下的NetBIOS编程接口,另外采用了数据报方式作为通讯方式,使用 NetBIOS 开发的通讯程序具有实时性强,具有良好兼容性。和可移植性的特点,由于 VB 不能直接支持对 NetBIOS 的底层调用,因此在网络通讯子系统的实现过程中,采用了 VC++语言开发实现,并编译生成动态链接库供 VB下开发的调用模块进行调用。
· 自测试软件的开发环境及其特点 ·
自测试软件的硬件开发平台采用一台 PC 机,通过路由器和仿真 主计算机连接,其软件开发平台采用 Windows 操作系统,支持可视化编程和开发具有良好的图形用户界面。
该自测试软件是使用 VB 和 VC++两种语言开发的,利用 VB 编程方便简单,易于实现图形用户界面 大大节省编程时间,提高编程可靠性。
利用 VB 提供的良好的可扩充性,调用 Windows API 可以极大地提高开发效率和程序功能,该自测试软件通过使用大量的 Windows API ,实现了一些曲线绘制过程中的滚动显示,曲线放大,网格显示等功能。
使用 VC++语言编写动态链接库 (Dynamic Linking Library 简称 DLL)的方式来实现功能扩展,动态链接库是 Windows 操作系统提供的一个重要特点,在动态链接库中实现的代码与使用该动态链接库的应用程序代码是分开的,它们分别进行编译,只是在运行应用程序时,才链接到动态链接库中提供的函数 通过动态链接库,不但克服了 VB 语言不能直接开发网络底层通讯函数的缺陷,而且提高了程序的编写效率。另外,使用动态链接库的最大优点是,由于它与用户的应用程序分开,用户更新动态链接库时,不用更改已编译过的.EXE 文件。
该自测试软件作为仿真系统校核与验证 V&V 的一种工具,具有实时性和通用性的特点。
该自测试软件的实时性体现在以下两个方面,一是数据接收的实时性,即自测试软件能够实时接收到从仿真 主计算机传输来的最新仿真结果数据,其次,在实时接收仿真结果的同时,实时地进行数据处理并输出显示,该自测试软件的通用性体现在,选择通用的软件平台和开发语言,即使用目前应用最广泛的 Windows 平台,包括 win95 win98和 winNT,和 VC++ VB 程序语言,在数据输入方面,提供了对本地数据和网络数据的支持,该软件既可以读取格式数据文件或数据库文件形式的本地数据,又可以通过网络接收数据,同时,采用了文件输出和报表输出多种形式进行数据输出,在该自测试软件中,对于一个测试项目来说,只需确定该项测试的仿真数据,基准数据的来源和测试评估标准,就可完成该项测试,该软件提供了一个简单的向导功能,指导用户添加新的测试项目,可满足用户不同的测试要求。
· 应用实例 ·
飞行模拟器是典型的人在回路中的实时仿真系统,通过仿真计算机和仿真环境为飞行员提供多维感知信息,为使飞行模拟器达到良好地应用效果,它必须具有较高的逼真度,为此,在飞行模拟器投入使用之前,必须对其进行严格的测试和评估,这种测试与评估包括基于定性方式的主观评估和定量方式的客观测试。 其中主观评估一般是根据有经验的飞行员,在飞行模拟器上进行飞行的感觉与真实飞机上的感觉进行比较。来评价飞行模拟器,客观测试则是根据事先制定好的鉴定测试指南(Approval Test Guide ,简称 ATG)所规定的测试项目对飞行模拟器进行定量测试,将仿真结果与真实基准数据进行比较,检查其误差是否在所要求的允许公差范围之内。
我们应用本文介绍的自测试软件对某飞行实时仿真系统进行了性能测试和评估,遵循飞行模拟器的性能检测与评估规,在总控制台计算机上,通过该自测试软件良好的用户操作界面, 如图 2 所示,选定测试方式和测试项目,发送测试项目标志到仿真 主计算机,仿真计算机中的管理软件进行相应测试项目的初始化。例如设定某测试飞行段的初始状态,飞行高度,位置,速度,姿态角等参数,并实时调用飞行动力学等仿真应用软件,进行相应测试项目的仿真。同时将仿真结果通过网络传回总控制台的自测试软件。在测试过程中 ,运用有关校核与验证技术,如图形化比较和可视化技术,将仿真结果和真实飞机基准数据(如试飞数据)的时间历程曲线进行比较作为定性分析和定量的评估。例如,正常起飞段气压高度仿真结果与基准数据的对比如图 3 所示。
图4 飞行实时仿真系统的V&V 过程
由图4,可见该自测试软件可用于飞行实时仿真系统VV&A 过程的结果验证阶段,通过接收来自飞行实时仿真系统运行后得到的仿真结果并与性能测试比较。基准数据可以是仿真对象的试飞数据,试验数据和设计技术指标等。根据性能规范标准给定的允许误差对仿真结果进行评估。该评估结果和其它准备用于确认的信息汇集,作为仿真确认过程的提交材料进行审核,并做出确认的结论。若某些性能不满足规范要求,可返回进行模型修正或参数调整,直到符合规范标准要求为止。
· 结束语 ·
本文介绍的自测试软件已应用于某飞行实时仿真系统的测试与评估。该软件采用了V&V 技术中的可视化和图形化比较技术,提高了曲线显示方法的使用效果,同时由于软件采用了符合当前软件工程学的人机界面开发原则,并充分利用VB 语言对数据库的强大支持,提供了较强的数据库管理,数据库自动生成,报表图形输出,同时提供了较完备的联机帮助等各项辅助功能,提高了软件的实用性。该软件具有一定的通用性,可以推广用于多种仿真系统的校核与验证(V&V),并且可用于复杂仿真系统的各分系统的建模与仿真的校核与验证,为仿真系统的确认提供依据参考。
参考文献
[1] 贾荣珍等. 飞行模拟器建模验模和性能测试与评估[J].航空学报, 1998, 19(1): 41-44.
[2] 王行仁主编. 飞行实时仿真系统及技术[M]. 北京: 航空航天大学出版社, 1998, 9.
[3] 贾荣珍等. 建模与仿真的校核验证和确认工作模式[J]. 飞行力学1999 17(1): 15-20.
[4] 徐光贤译. NetBIOS IPX and SPX C程序员指南[M]. 北京: 科学出版社1995.
[5] 祝明波. Visual Basic 中动态链接库的使用[J]. 中国计算机用户1995 (11).
[6] Robertm M. Gravitz and Williiam F. Waite. Verification, Validation and Accreditation(VV&A) of the National Missile Defense(NMD) Integrated System Test Capability(ISIC). Proceeding of the Summer Computer Simulation Conference, 1997.
· 感谢阅读 ·
相关文章可在仿真秀搜索:
1)中车集团某机车车体结构参数化仿真系统项目报告
2)仿真VV&A标准和规范研究现状及分析
3)机械设备的可维修性设计策略