预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

航电系统验证平台的设计《计算机仿真杂志》2014年第六期1工作原理航电综合验证平台通过模型设计、仿真配置、仿真运行3个阶段完成一个具体的综合验证试验(图2)。首先根据仿真目的设计机载电子设备模型及其交联仿真模型。根据系统设计输出的ICD及DD文件设计大气数据计算机、惯导系统、飞行管理系统等机载设备模型。在航电系统设计阶段主要的验证目标是设备间接口及交互逻辑的正确性。因此机载设备内部逻辑在模型设计时可以简化重点在于准确对通信接口定义及设备间交互逻辑进行建模。从平台的角度提供了ICD接口模型的自动生成模块简化模型设计。交联仿真模型主要包括液压、燃油、发动机、环控等非航电系统模型飞行运动仿真模型以及大气、风场、无线电导航台站、机场等飞行环境模型。交联仿真模型为各航电设备模型提供激励数据完成全飞行过程仿真。除此之外POP仪表仿真模块、三维飞行视景模块也接入到系统中提供仿真过程中的可视化支持。完成模型设计之后利用运行管理模块进行仿真配置。仿真配置的主要工作之一是综合所有模型的输入、输出数据完成CIA中间件数据对象的定义形成CIA配置文件发布到所有接入CIA中间件的节点以正确实现数据访问。CIA中间件上定义的数据包括ICD数据及飞行仿真数据。ICD数据描述的是在真实飞机上通过ARINC429、AFDX等机载航电网络传递的数据;飞行仿真数据描述的是不通过机载网络传递但在仿真过程中需要的数据例如飞行环境模型输出、飞机动力学输出等。对于INS设备模型其ARINC429总线输出数据属于ICD数据;需要从飞机动力学仿真模型获取的飞机三轴角速率、比力等数据则属于飞行仿真数据。仿真配置所形成的CIA配置文件除模型使用外也提供给数据采集、存储、故障注入等工具模块实现对仿真过程数据的访问。仿真配置的另一项主要工作是完成仿真任务规划以定义试验场景。仿真任务规划包括飞机初始状态、飞行计划、设备故障模式、飞行环境设置等。完成仿真配置后即可运行仿真。运行管理模块将CIA配置数据和任务规划数据加载到各个仿真节点并控制各模型的初始化、运行、暂停、停止等状态切换。同时运行管理模块作为主引擎为各参试模型提供仿真时间推进机制。通过CIA中间件机载设备模型仿真对应设备的逻辑和接口以真实的交互流程及ICD定义的格式进行通信在外围交联环境的支持下仿真航电系统的行为从而验证系统设计的完整性及正确性。2关键功能设计2.1中间件设计CIA中间件用于完成如下关键功能:1)运行调度:接受运行管理模块的指令向各仿真模型及相关节点发送初始化、启动、暂停、停止指令控制系统协调运行;2)时间管理:向需要同步的节点发送仿真同步指令保证仿真模型的时间一致性;3)数据传输:构造一个对所有节点可见的全局数据空间并在此数据空间上定义数据对象所有节点根据各自的发布订阅关系对数据对象进行访问完成节点间的数据交换。CIA中间件支持单机模式和分布式模式。在单机模式下利用操作系统提供的本地时钟、事件机制并建立全局共享数据区即可实现所需功能。在分布式模式下有DDS(数据分发服务)及反射内存两种可选的途径实现CIA中间件的功能。DDS构造了一个共享的“全局数据空间”分布式的节点可以通过Topic完成数据的发布订阅[4]。反射内存网络通过硬件同步机制实现了各个节点的数据同步对应用软件来讲构造了一个透明的共享内存区;同时反射内存网络支持全局异步事件可实现各节点调度及同步功能。DDS的优点是无需新增硬件但其实现一般基于以太网商用DDS需一定的产品费用且在嵌入式系统上移植有一定难度;反射内存网络的缺点是需要新增专用硬件但开发难度小具备强实时性且对各类操作环境适应性好。在本系统的设计中考虑到开发、维护、实时性等因素选择反射内存网络作为介质实现分布式CIA中间件。2.2建模环境本平台支持MatlabSimulink及C/C++两类通用性良好的模型设计环境。针对MatlabSimulink环境开发专用的Simulink接口库将CIA中间件的运行控制、数据通信功能集成到Simulink环境中使得基于Simulink设计的机载设备模型可快速加入综合验证平台。对于C/C++开发环境本平台参照FMI(FunctionalMock-upInterface)规范[5]定义模型接口及描述方式实现手写代码的规范化。FMI是由达索公司主导、欧洲众多软件公司及研发中心参与推出的可交换功能样机接口规范。本平台设计了软件工具直接生成接口程序框架及数据定义只需在框架下编写机载模型。为了进一步简化模型设计在FMI规范基础上对接口进行进一步封装通过如下接口函数即可完成模型逻辑描述:1)模型初始化函数MDLInitialize();2)模型周期输出函数MDLOutputs();