(北京航天長(zhǎng)征飛行器研究所,北京 100076)
在飛行器研發(fā)過(guò)程中,為對(duì)大部分電氣系統(tǒng)的功能、性能進(jìn)行檢查,對(duì)飛行程序、時(shí)序控制指令的正確性和匹配性進(jìn)行測(cè)試以及對(duì)一些故障狀態(tài)飛行彈道進(jìn)行模擬,均需要利用綜合測(cè)試系統(tǒng)進(jìn)行檢驗(yàn)和測(cè)試,而且人們希望該系統(tǒng)能夠盡可能地逼近真實(shí)飛行條件[1-2]。
傳統(tǒng)綜合測(cè)試系統(tǒng)更側(cè)重于電氣系統(tǒng)的接口匹配性測(cè)試,且往往需要配套轉(zhuǎn)臺(tái)等多種外部設(shè)備,導(dǎo)致測(cè)試程序繁多、測(cè)試流程復(fù)雜、測(cè)試效率低下[3-4]。針對(duì)這種情況,本文設(shè)計(jì)了一套基于VxWorks的模飛測(cè)試方法,在減少設(shè)備數(shù)量的同時(shí)提高測(cè)試覆蓋性和測(cè)試效率。
在靜態(tài)測(cè)試條件下,慣性器件無(wú)法隨著彈體轉(zhuǎn)動(dòng)輸出相應(yīng)的姿態(tài)角和視加速度,因此通過(guò)數(shù)學(xué)模型運(yùn)算產(chǎn)生慣性數(shù)據(jù),采用模擬注入方式實(shí)現(xiàn)閉環(huán)模飛測(cè)試。整個(gè)模飛測(cè)試方法的設(shè)計(jì)原理如圖1所示,具體原理如下:
1)模飛軟件的開發(fā)基于實(shí)時(shí)操作系統(tǒng)VxWorks完成,該系統(tǒng)具有開發(fā)簡(jiǎn)便、系統(tǒng)響應(yīng)速度快、實(shí)時(shí)性好、內(nèi)核穩(wěn)定等優(yōu)點(diǎn)[5];
2)控制計(jì)算機(jī)(內(nèi)部運(yùn)行飛行控制軟件)接收到綜合測(cè)控系統(tǒng)發(fā)出的起飛指令后開始進(jìn)行飛行流程,輸出飛行控制指令,該指令以RS422串行通訊接口發(fā)送給模型機(jī)(內(nèi)部運(yùn)行模飛程序);
3)模飛軟件根據(jù)接收到的控制指令實(shí)時(shí)解算數(shù)學(xué)模型,產(chǎn)生飛行器的模擬慣組數(shù)據(jù)(姿態(tài)角速度和視加速度數(shù)據(jù)),并通過(guò)RS422串行通訊接口發(fā)送給控制計(jì)算機(jī);
4)控制計(jì)算機(jī)根據(jù)接收到的模擬慣組數(shù)據(jù),計(jì)算完成下一步控制指令并輸出,從而形成閉環(huán)模飛測(cè)試。
5)執(zhí)行機(jī)構(gòu)根據(jù)控制計(jì)算機(jī)的控制指令執(zhí)行相應(yīng)動(dòng)作;
6)遙測(cè)系統(tǒng)采集實(shí)時(shí)模飛產(chǎn)生的所有數(shù)字量和模擬量遙測(cè)數(shù)據(jù),其他系統(tǒng)與控制計(jì)算機(jī)之間根據(jù)飛行時(shí)序交互信息。
該系統(tǒng)采用前后端設(shè)計(jì)思想,其中前端為系統(tǒng)地面站、后端為主控計(jì)算機(jī),前后端通過(guò)光纖或網(wǎng)線連接,系統(tǒng)拓?fù)鋱D如圖2所示,具體系統(tǒng)設(shè)備組成圖3所示。
圖2 綜合測(cè)控系統(tǒng)拓?fù)鋱D
圖3 系統(tǒng)設(shè)備組成圖
主控計(jì)算機(jī)通過(guò)PCIe-8375與綜合測(cè)控地面站相連,為降低總線延遲二者采用有源光纖連接,組成透明的PCI橋。全部的計(jì)算和控制均由主控計(jì)算機(jī)完成,因此主控計(jì)算機(jī)的處理能力決定系統(tǒng)的實(shí)際工作效率。為保證控制系統(tǒng)地面站的能力發(fā)揮到最大,選用聯(lián)想的ThinkStation P900工作站作為主控計(jì)算機(jī),并配合GV-N75TOC-2GI顯卡及多臺(tái)顯示器組成的顯示界面完成人機(jī)交互。P900工作站采用E5-2620V3處理器,具有2.4 GHz主頻、15 MB緩存、6個(gè)內(nèi)核;工作站主板具有4個(gè)PCI-E x16插槽、2個(gè)PCI-E x4插槽、1個(gè)PCI-E x1插槽和1個(gè)PCI插槽,能夠滿足PCIe-8375 PCI-E橋、GV-N75TOC-2GI顯卡以及網(wǎng)卡的需求。
綜合測(cè)控地面站主要用于飛行器的供電、通信指令收發(fā)處理、電壓采集、阻值測(cè)試等功能,是系統(tǒng)的主要地面測(cè)試設(shè)備。該系統(tǒng)的主要設(shè)備為一臺(tái)由18槽兼容式PXI機(jī)箱PXIe-1085和配套板卡組成的測(cè)控機(jī)箱。PXIe-1085機(jī)箱具有16個(gè)混合插槽,可安裝兼容式PXI或PXIe模塊。通訊接口包含RS422和1553B兩種,為保證RS422接口的隔離特性,采用PXI-8433/2作為通訊模塊,能夠滿足921600b/s的帶寬要求;1553B模塊采用4M雙通道模塊。在測(cè)試過(guò)程中地面站還負(fù)責(zé)對(duì)飛行器的多種電壓進(jìn)行測(cè)量、監(jiān)控以及對(duì)電源的電壓和電流進(jìn)行測(cè)量,為減少系統(tǒng)不同電源母線間的耦合和串?dāng)_,采用PXIe-4300 8通道隔離A/D模塊進(jìn)行電壓測(cè)量。PXIe-4300輸入阻抗為10 kΩ,可以實(shí)現(xiàn)每通道25 k/s的采樣率,電壓測(cè)量精度也可達(dá)到12.6 mV(10 V量程)。飛行器的起飛信號(hào)和測(cè)試狀態(tài)控制信號(hào)需要通過(guò)常閉觸點(diǎn)保持接通28 V地,在測(cè)試過(guò)程中打開。據(jù)此選用PXI-2566 16通道2A SPDT繼電器模塊。供電控制方案采用通過(guò)開關(guān)直接控制電源輸出的方式,即采用PXI-2564大功率SPST繼電器并聯(lián)進(jìn)行供電[6-7]。
為了實(shí)現(xiàn)對(duì)綜合測(cè)控地面站電源的控制,將站內(nèi)電源通過(guò)LAN總線進(jìn)行連接,并通過(guò)光纖交換機(jī)與后端的主控計(jì)算機(jī)連接,通過(guò)軟件指令控制電源的輸出和關(guān)斷。為了實(shí)現(xiàn)對(duì)電壓和電流精細(xì)化采集和監(jiān)控,將前端綜合測(cè)控地面站內(nèi)的程控直流穩(wěn)壓電源的電壓電流信號(hào)通過(guò)PXIe-1085機(jī)箱內(nèi)的A/D模塊進(jìn)行采集,避免了由于網(wǎng)絡(luò)延遲導(dǎo)致的數(shù)據(jù)偏差。
該模型機(jī)的設(shè)計(jì)力求可靠性高、維修性好且易于外場(chǎng)攜帶,本系統(tǒng)選擇了一款基于PCI總線的便攜式工控機(jī)。該機(jī)集成了液晶顯示器、鍵盤、觸控板。結(jié)構(gòu)上為鋁型材框架機(jī)箱、下翻鍵盤模式,電氣上包括總線底板、計(jì)算機(jī)主板、二次電源、28 V輸出直流電源等電氣功能模塊以及DVD-RW刻錄光驅(qū)、硬盤、揚(yáng)聲器等功能部件,對(duì)外接口信號(hào)從安裝在測(cè)面板上的連接器引出。
為提高通用性、擴(kuò)展性并考慮降低成本,該模型機(jī)采用PCI總線架構(gòu),通過(guò)配置PCI總線的專用接口功能單元可實(shí)現(xiàn)特定功能設(shè)備的數(shù)據(jù)采集與處理。
綜合測(cè)試軟件運(yùn)行于Windows操作系統(tǒng),主要作用是響應(yīng)用戶的操作并根據(jù)用戶操作實(shí)現(xiàn)控制計(jì)算機(jī)對(duì)相應(yīng)動(dòng)作的執(zhí)行響應(yīng)。軟件采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方式,以綜合測(cè)控系統(tǒng)和飛行器控制系統(tǒng)為核心對(duì)象構(gòu)建,采用Visual Studio2010和Measurement Studio 2013為開發(fā)平臺(tái)。
根據(jù)對(duì)綜合測(cè)試對(duì)象的分析,整個(gè)測(cè)試軟件從功能上可分為3大部分:用戶交互UI部分、功能應(yīng)用模塊和底層驅(qū)動(dòng)模塊,軟件架構(gòu)如圖4。
圖4 系統(tǒng)設(shè)備組成圖
3.1.1 UI設(shè)計(jì)
用戶交互UI為父子窗體模式,父窗體設(shè)置軟件的打開、關(guān)閉、新建、配置、軟件信息、單項(xiàng)測(cè)試等功能,子窗體為信息顯示和指令收發(fā)按鍵或顯示框,采用該設(shè)計(jì)可根據(jù)待測(cè)對(duì)象個(gè)數(shù)靈活打開單個(gè)或多個(gè)子窗體,保證呈現(xiàn)關(guān)鍵信息給用戶。為保證軟件的用戶體驗(yàn),用戶界面的UI響應(yīng)均采用異步方式進(jìn)行處理,在控制計(jì)算機(jī)允許的條件下可以同時(shí)進(jìn)行多個(gè)不沖突的測(cè)試操作。在測(cè)試程序的自動(dòng)化方面,軟件允許用戶通過(guò)自主創(chuàng)建測(cè)試流程的方式實(shí)現(xiàn)靈活的自動(dòng)化測(cè)試,用戶可將需要測(cè)試項(xiàng)目拖拽至自動(dòng)流程窗口,并可對(duì)當(dāng)前流程進(jìn)行修改、保存、導(dǎo)入等操作。
3.1.2 功能應(yīng)用模塊劃分
功能應(yīng)用模塊主要完成電源管理、發(fā)射和起飛控制、通訊指令收發(fā)及測(cè)試狀態(tài)監(jiān)控功能。各功能模塊嚴(yán)格按照緊耦合的思路進(jìn)行設(shè)計(jì),內(nèi)部互相關(guān)聯(lián)、對(duì)外相對(duì)獨(dú)立,可根據(jù)用戶的操作同時(shí)或依次執(zhí)行。
為保證測(cè)試的安全性,在電源管理模塊中實(shí)現(xiàn)了對(duì)電壓電流的自動(dòng)檢測(cè)控制,僅當(dāng)電壓電流滿足要求時(shí)軟件才會(huì)控制電源輸出;一旦出現(xiàn)異常,軟件自動(dòng)切斷電源,保證硬件產(chǎn)品安全。
在發(fā)射和起飛控制模塊中,對(duì)飛行器的關(guān)鍵的安全狀態(tài)進(jìn)行了判斷,僅當(dāng)滿足條件時(shí)才能對(duì)發(fā)射狀態(tài)進(jìn)行切換,保證了測(cè)試人員的安全。
對(duì)于通信模塊,則充分利用的模塊內(nèi)部的緩沖區(qū),將通訊協(xié)議預(yù)先寫入模塊緩沖區(qū),通過(guò)消息ID直接實(shí)現(xiàn)指令的發(fā)送。
3.1.3 驅(qū)動(dòng)程序重構(gòu)
驅(qū)動(dòng)程序包括模塊廠商的驅(qū)動(dòng)程序和用戶驅(qū)動(dòng)程序兩部分。廠商的驅(qū)動(dòng)程序負(fù)責(zé)模塊的基本操作,用戶驅(qū)動(dòng)程序負(fù)責(zé)將廠商的驅(qū)動(dòng)程序二次封裝,將模塊或通道的操作轉(zhuǎn)換為行為域的操作、將動(dòng)作映射為用戶的行為。
模型機(jī)模飛軟件設(shè)計(jì)包括實(shí)時(shí)仿真軟件和模型計(jì)算軟件兩個(gè)模塊,實(shí)時(shí)仿真軟件模塊完成與控制計(jì)算機(jī)的數(shù)據(jù)交互、模型計(jì)算軟件的任務(wù)調(diào)度與處理等工作;模型計(jì)算軟件模塊則根據(jù)接收的控制指令完成飛行器數(shù)學(xué)仿真模型的解算,并將計(jì)算得到的慣組數(shù)據(jù)交由實(shí)時(shí)仿真軟件模塊發(fā)送給控制計(jì)算機(jī),從而形成閉環(huán)模飛測(cè)試[8]。
3.2.1 實(shí)時(shí)仿真軟件
為保證模飛軟件計(jì)算的實(shí)時(shí)性,本方案采用VxWorks實(shí)時(shí)操作系完成模型的實(shí)時(shí)解算、控制指令接收以及模擬慣組數(shù)據(jù)的輸出。軟件采用了基于狀態(tài)機(jī)的設(shè)計(jì)思路,對(duì)輸入、計(jì)算、處理等環(huán)節(jié)采用狀態(tài)機(jī)進(jìn)行輪轉(zhuǎn)切換,軟件狀態(tài)機(jī)如圖5。
圖5 實(shí)時(shí)仿真系統(tǒng)軟件狀態(tài)機(jī)
同時(shí)軟件采用面向?qū)ο蟮脑O(shè)計(jì)方法,對(duì)仿真模型進(jìn)行抽象、創(chuàng)建對(duì)象,利用VxWorks任務(wù)間資源的獨(dú)立性,同一隊(duì)象在多個(gè)任務(wù)中具有獨(dú)立的任務(wù)控制塊和內(nèi)存區(qū)域,可以實(shí)現(xiàn)同一模型的多個(gè)飛行器模飛的計(jì)算。
由于需要同時(shí)運(yùn)行多個(gè)飛行器模型,每個(gè)RS422通訊接口負(fù)責(zé)一個(gè)飛行器模型的控制指令輸入和模擬慣組數(shù)據(jù)的輸出,因此在軟件設(shè)計(jì)過(guò)程中需要通過(guò)合理的任務(wù)調(diào)度機(jī)制借助信號(hào)量實(shí)現(xiàn)對(duì)臨界資源的互斥訪問(wèn),避免競(jìng)爭(zhēng)冒險(xiǎn)的發(fā)生。在實(shí)際設(shè)計(jì)過(guò)程中,當(dāng)RS422接口接收到有效指令后,同樣采用信號(hào)量控制使計(jì)算任務(wù)由阻塞態(tài)(PENDING)切換到運(yùn)行態(tài)(READY)[9-10]。
為保證計(jì)算的實(shí)時(shí)性,軟件設(shè)計(jì)時(shí)充分利用了VxWorks搶占式和時(shí)間片輪轉(zhuǎn)結(jié)合的調(diào)度模式,對(duì)于指令接收和計(jì)算采用搶占式調(diào)度模式,對(duì)于多個(gè)模飛對(duì)象的任務(wù)采用時(shí)間片輪轉(zhuǎn)的調(diào)度模式。當(dāng)有多個(gè)對(duì)象時(shí),可以充分利用VxWorks提供的SMP架構(gòu)實(shí)現(xiàn)任務(wù)的多核運(yùn)行。
3.2.2 模型計(jì)算軟件
建立準(zhǔn)確的飛行器仿真模型是實(shí)現(xiàn)模擬飛行的前提,針對(duì)模擬飛行使用場(chǎng)景,需建立一套可實(shí)現(xiàn)控制計(jì)算機(jī)閉環(huán)的飛行器仿真模型。
飛行器模型劃分為四大模塊,分別為運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)仿真模塊、慣性測(cè)量器件仿真模塊、執(zhí)行機(jī)構(gòu)仿真模塊與飛行環(huán)境仿真模塊,模型計(jì)算軟件原理框架如圖6所示。模型運(yùn)行流程如下:運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)模塊根據(jù)當(dāng)前飛行狀態(tài)與環(huán)境信息,計(jì)算彈體受力與力矩情況,積分計(jì)算下一時(shí)刻的飛行運(yùn)動(dòng)狀態(tài),并將加速度與角速度傳遞給慣性測(cè)量器件仿真模塊。慣組仿真模塊根據(jù)輸入計(jì)算飛行器彈體相對(duì)于慣性空間的視加速度與角速度,并通過(guò)通RS422通訊發(fā)動(dòng)給控制計(jì)算機(jī)??刂朴?jì)算機(jī)接收慣組輸入并按照特定制導(dǎo)控制律進(jìn)行控制指令解算,并將控制指令通過(guò)RS422通訊接口發(fā)出。執(zhí)行機(jī)構(gòu)仿真模型接收控制指令,并模擬相應(yīng)的機(jī)械動(dòng)作,將動(dòng)作結(jié)果反饋至彈體運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)模型中,用于下一時(shí)刻狀態(tài)解算。至此飛行器仿真模型與控制計(jì)算機(jī)實(shí)現(xiàn)閉環(huán)飛行仿真。
圖6 模型計(jì)算軟件原理框圖
3.2.3 運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)仿真模塊
作為飛行器建模的基本模塊,運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)仿真模型通常為描述飛行器推力、重力、氣動(dòng)力、操縱力與力矩間關(guān)系的六自由度剛體(或彈性體)方程,包括動(dòng)力學(xué)方程、運(yùn)動(dòng)學(xué)方程、質(zhì)量方程和幾何關(guān)系方程等。其中,運(yùn)動(dòng)學(xué)方程主要是對(duì)其質(zhì)心運(yùn)動(dòng)及角運(yùn)動(dòng)進(jìn)行積分求解,動(dòng)力學(xué)方程則根據(jù)運(yùn)動(dòng)學(xué)環(huán)節(jié)提供的飛行器姿態(tài)、位置,計(jì)算飛行器所受到的力和力矩,而后反饋回運(yùn)動(dòng)學(xué)環(huán)節(jié),迭代求解飛行器的運(yùn)動(dòng)姿態(tài)及彈道軌跡。質(zhì)量方程根據(jù)燃料消耗情況實(shí)時(shí)計(jì)算飛行器質(zhì)量,而后反饋至運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)方程中。
3.2.4 慣性測(cè)量器件仿真模塊
慣性測(cè)量器件仿真模塊主要包含加速度計(jì)仿真模型與陀螺儀仿真模型。模塊依據(jù)飛行器運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)模塊仿真的飛行器運(yùn)動(dòng)狀態(tài),結(jié)合慣性器件動(dòng)力學(xué)模型、慣性器件誤差模型與器件安裝位置等信息,實(shí)現(xiàn)飛行器相對(duì)于慣性系的視加速度與角速度的模擬,輸出信息用于控制計(jì)算機(jī)的制導(dǎo)控制解算。
3.2.5 執(zhí)行機(jī)構(gòu)仿真模塊
執(zhí)行機(jī)構(gòu)仿真模塊主要為舵機(jī)模型。模型的建立充分考慮實(shí)際產(chǎn)品特性,保證模型有較高的擬真度。舵機(jī)模型主要考慮舵機(jī)系統(tǒng)動(dòng)力學(xué)特性、舵機(jī)系統(tǒng)速率限制、舵機(jī)系統(tǒng)位置回環(huán)寬度、舵機(jī)系統(tǒng)比例誤差、舵機(jī)系統(tǒng)零位誤差等。模塊接收控制計(jì)算機(jī)發(fā)出的控制指令,實(shí)時(shí)模擬舵機(jī)動(dòng)作,模型輸出反饋至飛行器運(yùn)動(dòng)學(xué)/動(dòng)力學(xué)模塊,驅(qū)動(dòng)飛行器按照控制指令運(yùn)動(dòng)。
3.2.6 飛行環(huán)境仿真模塊
飛行環(huán)境仿真模塊用于模擬飛行器飛行的外部環(huán)境模型,模塊考慮綜合飛行器在大氣層內(nèi)及大氣層外的飛行環(huán)境,依據(jù)相關(guān)標(biāo)準(zhǔn)文件,建立相關(guān)環(huán)境模型,主要有地球重力模型(轉(zhuǎn)動(dòng)橢球模型)、標(biāo)準(zhǔn)大氣模型、風(fēng)場(chǎng)模型等。
測(cè)試過(guò)程為:飛行器通過(guò)綜合測(cè)控系統(tǒng)實(shí)現(xiàn)供電,單機(jī)各項(xiàng)自檢功能正常后執(zhí)行參數(shù)裝訂,主要包括當(dāng)前模飛的起始點(diǎn)位置、目標(biāo)點(diǎn)位置、當(dāng)前飛行模式、模型運(yùn)行個(gè)數(shù)等信息。該指令由控制計(jì)算機(jī)同步分發(fā)給模型機(jī),運(yùn)行在VxWorks系統(tǒng)上的軟件會(huì)根據(jù)裝訂信息自動(dòng)確定當(dāng)前飛行模式,進(jìn)入相應(yīng)的程序執(zhí)行段。各項(xiàng)飛行前準(zhǔn)備工作完成后,綜合測(cè)控系統(tǒng)向控制計(jì)算機(jī)發(fā)出起飛指令,飛行控制軟件和模型軟件同步運(yùn)行,按照裝訂信息實(shí)現(xiàn)閉環(huán)模飛,執(zhí)行機(jī)構(gòu)會(huì)根據(jù)實(shí)時(shí)生成的控制指令動(dòng)作,其余外設(shè)也會(huì)根據(jù)實(shí)時(shí)信息完成各自的飛行功能。
所有飛行信息都會(huì)通過(guò)遙測(cè)數(shù)據(jù)傳回到地面接收計(jì)算機(jī)存盤。事后對(duì)飛行數(shù)據(jù)進(jìn)行判讀,所有飛行時(shí)序動(dòng)作均按照裝訂彈道正常發(fā)出,飛行器準(zhǔn)確落入預(yù)訂地點(diǎn),各系統(tǒng)間接口工作協(xié)調(diào),整個(gè)系統(tǒng)均工作正常。圖7~圖8分別為控制計(jì)算機(jī)發(fā)出的舵偏角指令和模型機(jī)計(jì)算得到的慣組數(shù)據(jù)。
圖7 控制計(jì)算機(jī)發(fā)出的舵偏角指令
圖8 模型機(jī)計(jì)算得到的慣組數(shù)據(jù)
除此之外,還對(duì)多飛行器同時(shí)模飛的工況進(jìn)行了測(cè)試,以硬件資源可承載的最大情況進(jìn)行測(cè)試,系統(tǒng)可最大支持到4個(gè)飛行器同時(shí)進(jìn)行模飛,經(jīng)對(duì)各飛行器模飛結(jié)果進(jìn)行數(shù)據(jù)判讀,各項(xiàng)測(cè)試結(jié)果均滿足要求。
本文主要針對(duì)傳統(tǒng)模飛程序繁多、測(cè)試流程復(fù)雜、測(cè)試效率低下、測(cè)試覆蓋性不足等情況設(shè)計(jì)了一套基于VxWorks的飛行器模飛綜合測(cè)試系統(tǒng)。經(jīng)過(guò)對(duì)某型飛行器綜合測(cè)試試驗(yàn)驗(yàn)證,該系統(tǒng)可以測(cè)試到幾乎所有飛行時(shí)序,提高了系統(tǒng)的測(cè)試覆蓋性;可裝訂多種飛行工況,包括:不同點(diǎn)位、不同彈道等,具有很強(qiáng)的適應(yīng)性;可支持多飛行器并行模飛,極大地提高了測(cè)試效率。