常曉飛 李信淦 符文星
摘 要:隨著導彈控制系統(tǒng)和作戰(zhàn)任務的日益復雜,其野外陣地和機動條件下仿真試驗設備需求也逐漸凸顯?;赗TX實時操作系統(tǒng)環(huán)境,以Matlab/Simulink作為導彈數(shù)學建模工具,利用RTW工具將Simulink模型自動編譯為實時進程,并通過S函數(shù)將RTX驅(qū)動集成在Matlab環(huán)境,實現(xiàn)了相關硬件板卡與導彈飛控各種電氣信號之間的通訊,完成便攜式外場實時仿真測試系統(tǒng)的研制。試驗結(jié)果表明,該系統(tǒng)結(jié)構緊湊、實時性好,模型修改方便、操作性好,并具有良好的通用性,能夠滿足不同武器平臺的外場仿真測試需求。
關鍵詞: 便攜式設備;飛控系統(tǒng);外場試驗;半實物仿真;RTX
中圖分類號:TJ765.4文獻標識碼:A文章編號: 1673-5048(2020)03-0093-05
0 引言
隨著戰(zhàn)場態(tài)勢和作戰(zhàn)任務的日趨多樣復雜,導彈的系統(tǒng)組成和飛控算法也愈加復雜,因此通過半實物仿真試驗考核飛控系統(tǒng)在各種環(huán)境和任務下的執(zhí)行性能,對于導彈研制顯得尤為重要[1-2]。為了更好地適應野外陣地和機動條件下的試驗形式,需要一種小型化便攜式的實時飛行仿真測試系統(tǒng)[3]。
目前,實時仿真測試系統(tǒng)主要分為兩種類型。一種是基于PC104等嵌入式平臺,運行C代碼編寫的導彈模型,完成相關狀態(tài)的實時解算[4-5]。該方案模型修改復雜、通用性差,且系統(tǒng)規(guī)模有限,硬件接口較少。另一種采用上下位機模式,上位機運行Windows系統(tǒng),下位機運行Vxwork或QNX等實時操作系統(tǒng),通過對上位機中的模型進行編譯鏈接,生成實時進程在下位機中實時解算。該方案模型修改方便,但系統(tǒng)規(guī)模大,攜帶不便,主要應用于內(nèi)場 [6-7],不適應在野外和機動條件下運行。
本文采用安裝有RTX實時系統(tǒng)的便攜式加固筆記本,以Matlab/Simulink作為導彈數(shù)學模型建模工具,利用RTW(Real-Time Workshop)工具將仿真模型自動轉(zhuǎn)變成為實時進程,通過相關硬件板卡與導彈飛控各種電氣信號進行通訊,完成小型化便攜式外場實時仿真測試系統(tǒng)的研制。
1 便攜式外場仿真測試系統(tǒng)總體方案
1.1 系統(tǒng)功能需求分析
通過對導彈外場仿真任務需求進行分析,仿真測試系統(tǒng)應具備以下要求。
① 小型化便攜性要求: 適應野外陣地條件或車載機動條件下的使用需求,要求仿真測試系統(tǒng)的體積較小、結(jié)構緊湊,供電方式簡易,并具有一定等級的“三防”要求。② 豐富的硬件接口: 具備較為全面的硬件接口,能夠滿足導彈各種電氣信號的通訊要求。③ 實時性要求: 要求系統(tǒng)具
有良
好的實時解算能力,滿足不同仿真模型的實時運行。④ 易用性要求: 要求系統(tǒng)電氣連接簡單,硬件維護方便;導彈各系統(tǒng)的數(shù)學模型完備,建模工具靈活方便,軟件操作簡易。⑤ 通用性要求: 要求系統(tǒng)具有一定的擴展能力和通用要求,能夠滿足多個型號的外場實時仿真需求。
1.2 系統(tǒng)組成
外場實時仿真測試系統(tǒng)主要由仿真硬件、實時系統(tǒng)、建模平臺和實時仿真軟件等組成,如圖1所示。
(1) 硬件組成
實時仿真測試系統(tǒng)的硬件主要由一臺便攜式加固筆記本組成,在底部的擴展塢中安裝串口通訊卡和多功能數(shù)據(jù)采集卡,完成導彈實時仿真中各種信號的通訊任務。
(2) 實時操作系統(tǒng)
選用RTX作為實時操作系統(tǒng)。RTX(Real-Time Extension)是美國Intervalzero公司開發(fā)的基于Windows操作系統(tǒng)的實時解決方案[8]。與其他方案相比,該方案使用標準的X86平臺,通過對Windows系統(tǒng)進行擴展完成實時計算,替代了傳統(tǒng)的上下位機模式,降低了硬件費用和維護費用,便于實現(xiàn)系統(tǒng)小型化。
(3) 建模平臺
傳統(tǒng)的仿真測試系統(tǒng)建模主要采用C語言代碼編寫,導彈數(shù)學模型復雜, 開發(fā)周期長。為提高仿真測試系統(tǒng)的通用性,選用Matlab/Simulink作為建模平臺。 系統(tǒng)選用Simulink作為仿真建模工具,并將導彈數(shù)學模型庫和硬件驅(qū)動模塊集成在Simulink Browser中,便于用戶根據(jù)型號和硬件組成完成模型的搭建。
(4) 實時仿真控制軟件
通過自研的實時仿真控制軟件,將導彈仿真模型編譯為RTX實時程序;通過RTX共享內(nèi)存技術,完成仿真數(shù)據(jù)的交互、顯示、曲線繪制和界面更新;完成仿真的運行、調(diào)度和監(jiān)控,保證實時仿真的順利進行。
1.3 軟件總體方案設計
實時仿真控制軟件設計是仿真測試系統(tǒng)的設計核心。軟件系統(tǒng)包括三個主要功能: 仿真管理功能、人機交互功能和仿真模型庫。軟件結(jié)構框圖如圖2所示。
(1) 仿真管理功能
仿真管理功能是軟件實現(xiàn)模型實時仿真功能的核心。通過C語言與Matlab語言的混合編程,完成仿真模型的自動配置與檢查;通過Matlab/RTW完成模型的編譯鏈接,生成RTSS實時進程;根據(jù)仿真人員的相關命令,完成仿真模型的運行控制;同時,監(jiān)控模型的仿真步長、計算耗時、平均耗時等各種仿真運行狀態(tài)。
(2) 人機交互功能
人機交互功能是系統(tǒng)易用性的表現(xiàn),主要用于完成軟件操作與界面更新。通過RTX共享內(nèi)存和事件機制,完成試驗參數(shù)和運行狀態(tài)在RTX環(huán)境與Windows環(huán)境下的數(shù)據(jù)交互,并以動態(tài)友好的形式進行顯示。
(3) 仿真模型庫
仿真模型庫集成在Simulink Browser中, 包括硬件驅(qū)動模塊和導彈仿真模塊庫。其中,硬件驅(qū)動模塊利用S函數(shù)機制,將RTX環(huán)境中開發(fā)的板卡驅(qū)動集成在Simulink環(huán)境中;導彈仿真模塊包含用于構建導彈數(shù)學模型的相關自研模型。
2 便攜式外場仿真測試系統(tǒng)關鍵技術
半實物仿真測試系統(tǒng)的核心功能是完成仿真模型的實時解算,并通過硬件接口完成數(shù)據(jù)通訊。對便攜式導彈仿真測試系統(tǒng)而言,其關鍵技術在于快捷地實現(xiàn)Matlab仿真模型到RTX實時進程的轉(zhuǎn)換,并將硬件接口模塊集成到Matlab建模環(huán)境中。
2.1 Matlab仿真模型到RTX實時進程的轉(zhuǎn)換
為實現(xiàn)模型的實時解算,需將Matlab/Simulink模型編譯為RTX環(huán)境下的實時進程。雖然Matlab提供了仿真模型代碼生成工具RTW,但其目標文件類型中并不支持RTX實時進程,為完成實時進程的定制生成,需對RTW工具中的模板文件進行修改。
2.1.1 仿真模型代碼生成工具RTW工作過程
RTW是一個基于Simulink的代碼自動生成環(huán)境,能根據(jù)目標配置自動生成多種環(huán)境下的程序,其生成目標類型主要由幾個關聯(lián)文件所決定 [9]。RTW工作過程如圖3所示。
首先,仿真模型通過參數(shù)配置完成編譯選項的設置;然后,實時編譯工具RTW會根據(jù)用戶選擇的系統(tǒng)編譯文件和模板聯(lián)編文件,生成中間模型描述的過程文件和聯(lián)編文件;根據(jù)運行接口支撐文件制定的相關規(guī)則,調(diào)用目標語言編譯器,生成程序代碼文件;最后,編譯鏈接生成目標程序文件。
2.1.2 RTW關聯(lián)文件修改過程
從RTW工作過程可以看出,生成目標類型和格式主要由系統(tǒng)目標文件、模板聯(lián)編文件和運行接口支撐文件決定。為了實現(xiàn)仿真模型到RTX實時進程的轉(zhuǎn)換,需要修改上述關聯(lián)文件。為簡化操作,可以在Matlab提供的grt.tlc,grt_vc.tmf和classic_main.c三個文件上進行修改。
(1) 系統(tǒng)目標文件的修改
系統(tǒng)目標文件由頭部注釋、TLC 配置變量、TLC 程序入口點、RTW_ OPTIONS、附加代碼生成選項五部分組成。在該文件中的相關信息可以按照默認內(nèi)容進行設置,主要修改頭部注釋部分,實現(xiàn)在編譯過程中的信息顯示。
(2) 模板聯(lián)編文件的修改
模板聯(lián)編文件是生成聯(lián)編文件的模板,該文件專為特定的目標環(huán)境而設計,用于指定編譯器、編譯選項和可執(zhí)行文件生成過程中額外的信息。修改內(nèi)容包括: ① 修改宏定義區(qū)域,將SYS_TARGET_FILE的參數(shù)設置為修改后的系統(tǒng)目標文件,增加USER_INCLUDES選型,完成定制編譯所需頭文件的設置;② 在編譯器和鏈接器選項區(qū)域,修改編譯器相關設置,增加編譯成RTSS所需的相關編譯信息;③ 在源文件區(qū)域中修改REQ_SRCS選項和PRODUCT選項,用于指定引用的運行接口支持文件和生成目標文件類型。
(3) 運行接口支持文件的修改
運行接口支持文件由一系列c文件組成,主要包括主程序、積分算法、設備驅(qū)動等,通過模板聯(lián)編文件進行指定。為實現(xiàn)模型的定制編譯,需要在主函數(shù)文件中增加實時控制代碼。修改內(nèi)容主要包括: ① 利用RTX的高精度定時器功能,在主函數(shù)中增加實時控制,即根據(jù)仿真步長設置高精度定時器,將主函數(shù)中單步仿真推進代碼部分rt_OneStep函數(shù)放入定時器中斷響應程序,實現(xiàn)每一步仿真的嚴格實時推進;② 添加RTX共享內(nèi)存的相關代碼,實現(xiàn)實時模型進程與非實時進程界面顯示之間信息通訊和數(shù)據(jù)交互;③ 增加RTX消息事件代碼,通過設定相關仿真事件,實現(xiàn)仿真模型與控制軟件的狀態(tài)交互;④ 增加運行狀態(tài)的監(jiān)控代碼,實現(xiàn)對計算耗時等性能參數(shù)的計算。
2.1.3 仿真模型自動編譯的實現(xiàn)
為了提高軟件的易用性, 仿真軟件采用混合編程的方式。首先,通過調(diào)用SetParam等函數(shù),自動完成仿真模型的參數(shù)配置;然后利用mex函數(shù)完成仿真模型的編譯鏈接,生成目標文件RTSS,從而實現(xiàn)仿真模型向?qū)崟r進程的一鍵自動生成。
2.2 硬件接口驅(qū)動模塊的集成
在半實物仿真測試系統(tǒng)中,為了將真實的飛控硬件引入到仿真回路中,必須通過硬件板卡完成仿真測試系統(tǒng)和產(chǎn)品間的信號采集和數(shù)據(jù)通訊。考慮使用的便捷性,將硬件驅(qū)動模塊封裝在Simulink Brower。整個硬件驅(qū)動接口的開發(fā)過程如圖4所示。
在進行驅(qū)動模塊集成封裝時,首先在RTX環(huán)境下完成硬件驅(qū)動代碼的開發(fā)測試工作;然后,根據(jù)板卡功能和任務需求,規(guī)劃不同的功能模塊;按照S函數(shù)的編寫規(guī)則,根據(jù)模塊功能,將RTX下的板卡驅(qū)動代碼添加到S函數(shù)文件中的響應函數(shù)中;最后利用mex函數(shù)完成文件的編譯,并將其集成在Simulink Browser中。
2.2.1 硬件板卡在RTX下的驅(qū)動編寫
硬件接口驅(qū)動模塊開發(fā)的首要工作是在RTX環(huán)境下完成板卡驅(qū)動開發(fā),主要步驟如下[10]。
(1) 將板卡設備導入到RTX環(huán)境下
在RTX Properties控制面板增加板卡在RTX下的硬件支持,然后在Windows設備管理器中更新設備驅(qū)動,將其轉(zhuǎn)換為RTX下的設備。
(2) 板卡查找
根據(jù)板卡廠商號VENDOR_ID和設備號DEVICE_ID,利用RtGetBusDataByOffset函數(shù)遍歷查找所有的PCI插槽,直到匹配為止;然后讀取內(nèi)存、I/O端口的基地址和中斷資源,為后續(xù)操作做準備。
(3) 地址映射
通過RtTranslateBusAddress和RtMapMemory函數(shù),將硬件的讀寫內(nèi)存和端口的物理地址映射為虛擬地址進行操作,并利用RtEnablePortIo函數(shù)啟動I/O端口。
(4) 任務函數(shù)
利用RtReadPortUchar,RtReadPortUshort,RtWritePortUchar和RtWritePortUshort等函數(shù),完成寄存器的讀取和數(shù)據(jù)寫入,實現(xiàn)設定的任務功能。
(5) 板卡關閉
在仿真任務完成后,利用RtUnmapMemory函數(shù)釋放內(nèi)存空間,利用RtDisablePortIo函數(shù)關閉I/O端口。
2.2.2 S函數(shù)文件組成簡介
為了實現(xiàn)硬件驅(qū)動模塊在Matlab環(huán)境下的集成調(diào)用,采用S函數(shù)的方法。S函數(shù)是Simulink中用來描述一個模塊特性及功能的函數(shù)文件,包括模塊的初始化和仿真循環(huán)計算等多個函數(shù),用戶通過修改不同函數(shù)的內(nèi)容,實現(xiàn)自定義的任務功能。
2.2.3 硬件驅(qū)動模塊的開發(fā)
為實現(xiàn)板卡功能的調(diào)用,需要根據(jù)板卡的功能完成不同模塊的任務劃分并編寫S函數(shù)。
(1) 功能模塊劃分
串口驅(qū)動模塊主要完成仿真測試系統(tǒng)與導彈相關硬件設備之間的串行通訊功能,可以將其分為串口板卡初始化、串口端口配置、串行數(shù)據(jù)發(fā)送和串行數(shù)據(jù)接收四個模塊。數(shù)據(jù)采集模塊主要完成仿真測試系統(tǒng)與機上設備各種電氣信號的采集和輸出,在此,將其分為板卡初始化、模擬信號采集、模擬信號輸出和數(shù)字電平信號通訊四個模塊。
(2) S函數(shù)驅(qū)動文件編寫
根據(jù)規(guī)劃的模塊功能,將RTX下的板卡驅(qū)動代碼添加到S函數(shù)的相應函數(shù)中,實現(xiàn)任務功能。
板卡初始化模塊: 主要完成板卡的查找、打開和關閉等功能。
板卡配置模塊: 主要完成板卡的配置功能,如串口端口的配置和打開功能,包括端口選擇,波特率、校驗位、數(shù)據(jù)位等參數(shù)的設置。
任務功能模塊: 主要完成本模塊的功能,如串口數(shù)據(jù)發(fā)送和接收、模擬信號采集等。相關板卡的驅(qū)動代碼在S函數(shù)的mdlUpdate函數(shù)中實現(xiàn)。
3 便攜式外場仿真測試系統(tǒng)的性能測試
針對系統(tǒng)運行的實時性和仿真模型的有效性,需要對系統(tǒng)進行一系列的考核和測試。
(1) 實時性測試
實時性要求每一個仿真步長必須嚴格與時鐘同步,同時要求仿真解算任務在每一個仿真步長完成。因此,基于數(shù)字信號通訊模塊,在每個仿真步長內(nèi)變更指令電平,從而產(chǎn)生一個方波信號,通過示波器測量來考核仿真步長實時性要求[11]。通過統(tǒng)計典型模型的計算耗時大小,來評估仿真測試系統(tǒng)解算的實時性能力。仿真測試系統(tǒng)的實時性測試如圖5所示。
從圖5可以看出,在同一模型的20次仿真測試中,其仿真步長、每次模型的計算耗時平均值和最大值都能夠滿足導彈仿真的實時性解算能力要求。
(2) 正確性和有效性測試
選擇典型導彈數(shù)學模型,對比本系統(tǒng)下的實時仿真結(jié)果和Matlab環(huán)境下的數(shù)字仿真計算結(jié)果, 兩者完全一致, 證明了系統(tǒng)的正確性。
某型導彈仿真結(jié)果和外場飛行結(jié)果如圖6所示。從圖中可以看出,導彈仿真結(jié)果和實際飛行結(jié)果基本吻合,表明該系統(tǒng)能夠較好地評估和分析導彈在外場惡劣環(huán)境下的控制能力。
4 結(jié)論
導彈制導控制系統(tǒng)是導彈系統(tǒng)的最核心部分。通過對導彈飛控系統(tǒng)外場仿真驗證的任務需求分析,本文基于RTX實時環(huán)境,利用便攜式加固筆記本完成外場仿真測試系統(tǒng)的方案設計與研制。通過對Matlab的實時工具箱RTW中多個文件進行修改和配置,實現(xiàn)將Simulink模型自動轉(zhuǎn)換為RTX環(huán)境下的實時進程。根據(jù)板卡功能及使用方式,借助S函數(shù)將RTX環(huán)境下開發(fā)的硬件板卡驅(qū)動封裝為若干Simulink模塊。通過實時性測試和外場仿真結(jié)果對比,表明該系統(tǒng)具有結(jié)構緊湊、操作簡單、模型修改方便、實時性好等特點,且具有較好的通用性,能夠滿足不同型號的仿真需求。
參考文獻:
[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]. 系統(tǒng)仿真學報, 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] 常曉飛, 李萌萌, 符文星, 等. 某型導彈飛控計算機半實物仿真系統(tǒng)的設計[J]. 西北工業(yè)大學學報, 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系統(tǒng)仿真建模方法[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的某型導彈半實物仿真系統(tǒng)設計[J]. 系統(tǒng)仿真學報, 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,F(xiàn)u 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
引用格式: 常曉飛,李信淦,符文星.一種便攜式導彈飛控系統(tǒng)外場實時仿真測試系統(tǒng)設計
[ J].
航空兵器,2020, 27( 3): 93-97.
Chang Xiaofei,Li Xingan,F(xiàn)u 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)