常晓飞 李信淦 符文星
摘 要:随着导弹控制系统和作战任务的日益复杂,其野外阵地和机动条件下仿真试验设备需求也逐渐凸显。基于RTX实时操作系统环境,以Matlab/Simulink作为导弹数学建模工具,利用RTW工具将Simulink模型自动编译为实时进程,并通过S函数将RTX驱动集成在Matlab环境,实现了相关硬件板卡与导弹飞控各种电气信号之间的通讯,完成便携式外场实时仿真测试系统的研制。试验结果表明,该系统结构紧凑、实时性好,模型修改方便、操作性好,并具有良好的通用性,能够满足不同武器平台的外场仿真测试需求。
關键词: 便携式设备;飞控系统;外场试验;半实物仿真;RTX
中图分类号:TJ765.4文献标识码:A文章编号: 1673-5048(2020)03-0093-05
0 引言
随着战场态势和作战任务的日趋多样复杂,导弹的系统组成和飞控算法也愈加复杂,因此通过半实物仿真试验考核飞控系统在各种环境和任务下的执行性能,对于导弹研制显得尤为重要[1-2]。为了更好地适应野外阵地和机动条件下的试验形式,需要一种小型化便携式的实时飞行仿真测试系统[3]。
目前,实时仿真测试系统主要分为两种类型。一种是基于PC104等嵌入式平台,运行C代码编写的导弹模型,完成相关状态的实时解算[4-5]。该方案模型修改复杂、通用性差,且系统规模有限,硬件接口较少。另一种采用上下位机模式,上位机运行Windows系统,下位机运行Vxwork或QNX等实时操作系统,通过对上位机中的模型进行编译链接,生成实时进程在下位机中实时解算。该方案模型修改方便,但系统规模大,携带不便,主要应用于内场 [6-7],不适应在野外和机动条件下运行。
本文采用安装有RTX实时系统的便携式加固笔记本,以Matlab/Simulink作为导弹数学模型建模工具,利用RTW(Real-Time Workshop)工具将仿真模型自动转变成为实时进程,通过相关硬件板卡与导弹飞控各种电气信号进行通讯,完成小型化便携式外场实时仿真测试系统的研制。
1 便携式外场仿真测试系统总体方案
1.1 系统功能需求分析
通过对导弹外场仿真任务需求进行分析,仿真测试系统应具备以下要求。
① 小型化便携性要求: 适应野外阵地条件或车载机动条件下的使用需求,要求仿真测试系统的体积较小、结构紧凑,供电方式简易,并具有一定等级的“三防”要求。② 丰富的硬件接口: 具备较为全面的硬件接口,能够满足导弹各种电气信号的通讯要求。③ 实时性要求: 要求系统具
有良
好的实时解算能力,满足不同仿真模型的实时运行。④ 易用性要求: 要求系统电气连接简单,硬件维护方便;导弹各系统的数学模型完备,建模工具灵活方便,软件操作简易。⑤ 通用性要求: 要求系统具有一定的扩展能力和通用要求,能够满足多个型号的外场实时仿真需求。
1.2 系统组成
外场实时仿真测试系统主要由仿真硬件、实时系统、建模平台和实时仿真软件等组成,如图1所示。
(1) 硬件组成
实时仿真测试系统的硬件主要由一台便携式加固笔记本组成,在底部的扩展坞中安装串口通讯卡和多功能数据采集卡,完成导弹实时仿真中各种信号的通讯任务。
(2) 实时操作系统
选用RTX作为实时操作系统。RTX(Real-Time Extension)是美国Intervalzero公司开发的基于Windows操作系统的实时解决方案[8]。与其他方案相比,该方案使用标准的X86平台,通过对Windows系统进行扩展完成实时计算,替代了传统的上下位机模式,降低了硬件费用和维护费用,便于实现系统小型化。
(3) 建模平台
传统的仿真测试系统建模主要采用C语言代码编写,导弹数学模型复杂, 开发周期长。为提高仿真测试系统的通用性,选用Matlab/Simulink作为建模平台。 系统选用Simulink作为仿真建模工具,并将导弹数学模型库和硬件驱动模块集成在Simulink Browser中,便于用户根据型号和硬件组成完成模型的搭建。
(4) 实时仿真控制软件
通过自研的实时仿真控制软件,将导弹仿真模型编译为RTX实时程序;通过RTX共享内存技术,完成仿真数据的交互、显示、曲线绘制和界面更新;完成仿真的运行、调度和监控,保证实时仿真的顺利进行。
1.3 软件总体方案设计
实时仿真控制软件设计是仿真测试系统的设计核心。软件系统包括三个主要功能: 仿真管理功能、人机交互功能和仿真模型库。软件结构框图如图2所示。
(1) 仿真管理功能
仿真管理功能是软件实现模型实时仿真功能的核心。通过C语言与Matlab语言的混合编程,完成仿真模型的自动配置与检查;通过Matlab/RTW完成模型的编译链接,生成RTSS实时进程;根据仿真人员的相关命令,完成仿真模型的运行控制;同时,监控模型的仿真步长、计算耗时、平均耗时等各种仿真运行状态。
(2) 人机交互功能
人机交互功能是系统易用性的表现,主要用于完成软件操作与界面更新。通过RTX共享内存和事件机制,完成试验参数和运行状态在RTX环境与Windows环境下的数据交互,并以动态友好的形式进行显示。
(3) 仿真模型库
仿真模型库集成在Simulink Browser中, 包括硬件驱动模块和导弹仿真模块库。其中,硬件驱动模块利用S函数机制,将RTX环境中开发的板卡驱动集成在Simulink环境中;导弹仿真模块包含用于构建导弹数学模型的相关自研模型。
2 便携式外场仿真测试系统关键技术
半实物仿真测试系统的核心功能是完成仿真模型的实时解算,并通过硬件接口完成数据通讯。对便携式导弹仿真测试系统而言,其关键技术在于快捷地实现Matlab仿真模型到RTX实时进程的转换,并将硬件接口模块集成到Matlab建模环境中。
2.1 Matlab仿真模型到RTX实时进程的转换
为实现模型的实时解算,需将Matlab/Simulink模型编译为RTX环境下的实时进程。虽然Matlab提供了仿真模型代码生成工具RTW,但其目標文件类型中并不支持RTX实时进程,为完成实时进程的定制生成,需对RTW工具中的模板文件进行修改。
2.1.1 仿真模型代码生成工具RTW工作过程
RTW是一个基于Simulink的代码自动生成环境,能根据目标配置自动生成多种环境下的程序,其生成目标类型主要由几个关联文件所决定 [9]。RTW工作过程如图3所示。
首先,仿真模型通过参数配置完成编译选项的设置;然后,实时编译工具RTW会根据用户选择的系统编译文件和模板联编文件,生成中间模型描述的过程文件和联编文件;根据运行接口支撑文件制定的相关规则,调用目标语言编译器,生成程序代码文件;最后,编译链接生成目标程序文件。
2.1.2 RTW关联文件修改过程
从RTW工作过程可以看出,生成目标类型和格式主要由系统目标文件、模板联编文件和运行接口支撑文件决定。为了实现仿真模型到RTX实时进程的转换,需要修改上述关联文件。为简化操作,可以在Matlab提供的grt.tlc,grt_vc.tmf和classic_main.c三个文件上进行修改。
(1) 系统目标文件的修改
系统目标文件由头部注释、TLC 配置变量、TLC 程序入口点、RTW_ OPTIONS、附加代码生成选项五部分组成。在该文件中的相关信息可以按照默认内容进行设置,主要修改头部注释部分,实现在编译过程中的信息显示。
(2) 模板联编文件的修改
模板联编文件是生成联编文件的模板,该文件专为特定的目标环境而设计,用于指定编译器、编译选项和可执行文件生成过程中额外的信息。修改内容包括: ① 修改宏定义区域,将SYS_TARGET_FILE的参数设置为修改后的系统目标文件,增加USER_INCLUDES选型,完成定制编译所需头文件的设置;② 在编译器和链接器选项区域,修改编译器相关设置,增加编译成RTSS所需的相关编译信息;③ 在源文件区域中修改REQ_SRCS选项和PRODUCT选项,用于指定引用的运行接口支持文件和生成目标文件类型。
(3) 运行接口支持文件的修改
运行接口支持文件由一系列c文件组成,主要包括主程序、积分算法、设备驱动等,通过模板联编文件进行指定。为实现模型的定制编译,需要在主函数文件中增加实时控制代码。修改内容主要包括: ① 利用RTX的高精度定时器功能,在主函数中增加实时控制,即根据仿真步长设置高精度定时器,将主函数中单步仿真推进代码部分rt_OneStep函数放入定时器中断响应程序,实现每一步仿真的严格实时推进;② 添加RTX共享内存的相关代码,实现实时模型进程与非实时进程界面显示之间信息通讯和数据交互;③ 增加RTX消息事件代码,通过设定相关仿真事件,实现仿真模型与控制软件的状态交互;④ 增加运行状态的监控代码,实现对计算耗时等性能参数的计算。
2.1.3 仿真模型自动编译的实现
为了提高软件的易用性, 仿真软件采用混合编程的方式。首先,通过调用SetParam等函数,自动完成仿真模型的参数配置;然后利用mex函数完成仿真模型的编译链接,生成目标文件RTSS,从而实现仿真模型向实时进程的一键自动生成。
2.2 硬件接口驱动模块的集成
在半实物仿真测试系统中,为了将真实的飞控硬件引入到仿真回路中,必须通过硬件板卡完成仿真测试系统和产品间的信号采集和数据通讯。考虑使用的便捷性,将硬件驱动模块封装在Simulink Brower。整个硬件驱动接口的开发过程如图4所示。
在进行驱动模块集成封装时,首先在RTX环境下完成硬件驱动代码的开发测试工作;然后,根据板卡功能和任务需求,规划不同的功能模块;按照S函数的编写规则,根据模块功能,将RTX下的板卡驱动代码添加到S函数文件中的响应函数中;最后利用mex函数完成文件的编译,并将其集成在Simulink Browser中。
2.2.1 硬件板卡在RTX下的驱动编写
硬件接口驱动模块开发的首要工作是在RTX环境下完成板卡驱动开发,主要步骤如下[10]。
(1) 将板卡设备导入到RTX环境下
在RTX Properties控制面板增加板卡在RTX下的硬件支持,然后在Windows设备管理器中更新设备驱动,将其转换为RTX下的设备。
(2) 板卡查找
根据板卡厂商号VENDOR_ID和设备号DEVICE_ID,利用RtGetBusDataByOffset函数遍历查找所有的PCI插槽,直到匹配为止;然后读取内存、I/O端口的基地址和中断资源,为后续操作做准备。
(3) 地址映射
通过RtTranslateBusAddress和RtMapMemory函数,将硬件的读写内存和端口的物理地址映射为虚拟地址进行操作,并利用RtEnablePortIo函数启动I/O端口。
(4) 任务函数
利用RtReadPortUchar,RtReadPortUshort,RtWritePortUchar和RtWritePortUshort等函数,完成寄存器的读取和数据写入,实现设定的任务功能。
(5) 板卡关闭
在仿真任务完成后,利用RtUnmapMemory函数释放内存空间,利用RtDisablePortIo函数关闭I/O端口。
2.2.2 S函数文件组成简介
为了实现硬件驱动模块在Matlab环境下的集成调用,采用S函数的方法。S函数是Simulink中用来描述一个模块特性及功能的函数文件,包括模块的初始化和仿真循环计算等多个函数,用户通过修改不同函数的内容,实现自定义的任务功能。
2.2.3 硬件驱动模块的开发
为实现板卡功能的调用,需要根据板卡的功能完成不同模块的任务划分并编写S函数。
(1) 功能模块划分
串口驱动模块主要完成仿真测试系统与导弹相关硬件设备之间的串行通讯功能,可以将其分为串口板卡初始化、串口端口配置、串行数据发送和串行数据接收四个模块。数据采集模块主要完成仿真测试系统与机上设备各种电气信号的采集和输出,在此,将其分为板卡初始化、模拟信号采集、模拟信号输出和数字电平信号通讯四个模块。
(2) S函数驱动文件编写
根据规划的模块功能,将RTX下的板卡驱动代码添加到S函数的相应函数中,实现任务功能。
板卡初始化模块: 主要完成板卡的查找、打开和关闭等功能。
板卡配置模块: 主要完成板卡的配置功能,如串口端口的配置和打开功能,包括端口选择,波特率、校验位、数据位等参数的设置。
任务功能模块: 主要完成本模块的功能,如串口数据发送和接收、模拟信号采集等。相关板卡的驱动代码在S函数的mdlUpdate函数中实现。
3 便携式外场仿真测试系统的性能测试
针对系统运行的实时性和仿真模型的有效性,需要对系统进行一系列的考核和测试。
(1) 实时性测试
实时性要求每一个仿真步长必须严格与时钟同步,同时要求仿真解算任务在每一个仿真步长完成。因此,基于数字信号通讯模块,在每个仿真步长内变更指令电平,从而产生一个方波信号,通过示波器测量来考核仿真步长实时性要求[11]。通过统计典型模型的计算耗时大小,来评估仿真测试系统解算的实时性能力。仿真测试系统的实时性测试如图5所示。
从图5可以看出,在同一模型的20次仿真测试中,其仿真步长、每次模型的计算耗时平均值和最大值都能够满足导弹仿真的实时性解算能力要求。
(2) 正确性和有效性测试
选择典型导弹数学模型,对比本系统下的实时仿真结果和Matlab环境下的数字仿真计算结果, 两者完全一致, 证明了系统的正确性。
某型導弹仿真结果和外场飞行结果如图6所示。从图中可以看出,导弹仿真结果和实际飞行结果基本吻合,表明该系统能够较好地评估和分析导弹在外场恶劣环境下的控制能力。
4 结论
导弹制导控制系统是导弹系统的最核心部分。通过对导弹飞控系统外场仿真验证的任务需求分析,本文基于RTX实时环境,利用便携式加固笔记本完成外场仿真测试系统的方案设计与研制。通过对Matlab的实时工具箱RTW中多个文件进行修改和配置,实现将Simulink模型自动转换为RTX环境下的实时进程。根据板卡功能及使用方式,借助S函数将RTX环境下开发的硬件板卡驱动封装为若干Simulink模块。通过实时性测试和外场仿真结果对比,表明该系统具有结构紧凑、操作简单、模型修改方便、实时性好等特点,且具有较好的通用性,能够满足不同型号的仿真需求。
参考文献:
[1] Jung D W, Ratti J, Tsiotras P. Real-Time Implementation and Va-lidation of a New Hierarchical Path Planning Scheme of UAVs via Hardware-in-the-Loop Simulation[J]. Journal of Intelligent & Robotic Systems, 2009, 54(1-3): 163-181.
[2] Trilaksono B R, Triadhitama R, Adiprawita W, et al. Hardware-in-the-Loop Simulation for Visual Target Tracking of Octorotor UAV[J]. Aircraft Engineering & Aerospace Technology, 2011, 83(6): 407-419.
[3] 张兵, 陈欣, 吕迅竑. 基于CAN总线的分布式无人机实时仿真设备研究[J]. 系统仿真学报, 2009, 21(6): 1587-1590.
Zhang Bing, Chen Xin, Lü Xunhong. Study of Distributed Real-Time Simulation Device Based on CAN for UAV[J]. Journal of System Simulation, 2009, 21(6): 1587-1590. (in Chinese)
[4] Brzozowski B, Sobieraj W, Wojtowicz K. UAV Avionics System Software Development Using Simulation Method[J]. Solid State Phenomena, 2013, 198: 260-265.
[5] 常晓飞, 李萌萌, 符文星, 等. 某型导弹飞控计算机半实物仿真系统的设计[J]. 西北工业大学学报, 2010, 28(3):318-322.
Chang Xiaofei, Li Mengmeng, Fu Wenxing, et al. Design of Small-Sized Hardware-in-the-Loop Simulation System for a Certain Missiles Flight Control System[J]. Journal of Northwestern Polytechnical University, 2010, 28(3):318-322. (in Chinese)
[6] Ghani Z A,Hannan M A, Mohamed A, et al. Simulation Model Linked PV Inverter Implementation Utilizing dSPACE DS1104 Controller[J]. Energy and Buildings, 2013, 57: 65-73.
[7] He Jilin , Yang Ruqing, Zhao Qunfei, et al. A Chess-Playing Robot Control System Based on Windows NT+RTX[J]. Robotica, 2004, 22(3): 339-343.
[8] 沈楷, 郭建国, 卢晓东, 等. 基于Simulink/RTW的RTX系统仿真建模方法[J]. 计算机测量与控制, 2014, 22(2):566-568.
Shen Kai, Guo Jianguo, Lu Xiaodong, et al. Simulation Modeling Method under RTX Subsystem Based on Simulink/RTW[J]. Computer Measurement & Control, 2014,22(2):566-568. (in Chinese)
[9] Fu Wenxing, Chang Xiaofei,Zhu Supeng,et al. Software Design for Comprehensive Control Platform of a Missile Simulation System Based on RTX[C]∥2009 Second International Conference on Intelligent Computation Technology and Automation,Changsha, 2009.
[10] 孙忠潇. Simulink仿真及代码生成技术入门到精通[M]. 北京: 北京航空航天大学出版社, 2015.
Sun Zhongxiao. Introduction to Simulink Simulation and Code Generation Technology[M]. Beijing: Beihang University Press, 2015. (in Chinese)
[11] 常晓飞, 符文星, 闫杰. 基于RT-LAB的某型导弹半实物仿真系统设计[J]. 系统仿真学报, 2009, 21(18): 5720-5723.
Chang Xiaofei, Fu Wenxing, Yan Jie. Design of Missile Hardware-in-the-Loop Simulation System Based on RT-LAB[J]. Journal of System Simulation, 2009, 21(18): 5720-5723. (in Chinese)
Design of a Portable Outfield Real-Time Simulation Test
System for
Missile Flight Control System
Chang Xiaofei1*,Li Xingan1,Fu Wenxing2
(1. School of Astronautics,Northwestern Polytechnical University,Xian 710072,China;
2. Unmanned System Research Institute,Northwestern Polytechnical University,Xian 710072,China)
Abstract:With the growing complexity of missile control system and flight mission, the requirements of simulation equipment for missile in field position and maneuvering condition gradually emerge. Based on the RTX real-time operating system environment,using Matlab/Simulink as the mathematical modeling tool of missile, Simulink model is automatically compiled into real-time process by RTW tool, and RTX driver is integrated into Matlab environment through S function. The communication between relevant hardware board and various electrical signals of missile flight control is realized, and the portable outfield real-time simulation test system is successfully developed. The experimental results show that this system has compact structure and good real-time performance, and themodel is easy to modify and operate, and has good universality, which can meet the outfield simulation requirements of different weapon platforms.
Key words:portable equipment;flight control system;outfield test;hardware-in-the-loop simulation;RTX
收稿日期: 2019-04-26
基金項目: 航空科学基金项目(20160153002)
作者简介: 常晓飞(1983-),男,河南许昌人,博士,副教授,研究方向为飞行器控制与仿真。
E-mail: changfei@nwpu.edu.cn
引用格式: 常晓飞,李信淦,符文星.一种便携式导弹飞控系统外场实时仿真测试系统设计
[ J].
航空兵器,2020, 27( 3): 93-97.
Chang Xiaofei,Li Xingan,Fu Wenxing.Design of a Protable Outfield Real-Time Simulation Test System forMissile Flight Control System [ J]. Aero Weaponry,2020, 27( 3): 93-97.( in Chinese)