亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

飛行控制軟件控制網(wǎng)絡(luò)頻域測試系統(tǒng)及方法

文檔序號:6606529閱讀:274來源:國知局
專利名稱:飛行控制軟件控制網(wǎng)絡(luò)頻域測試系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種頻域測試系統(tǒng)及方法,特別是涉及一種針對飛行控制系統(tǒng)中控制 網(wǎng)絡(luò)的測試系統(tǒng)及方法,屬于測試領(lǐng)域。
背景技術(shù)
飛行控制系統(tǒng)廣泛使用計(jì)算機(jī)控制,而控制系統(tǒng)設(shè)計(jì)時(shí)通常是先完成連續(xù)系統(tǒng)設(shè) 計(jì)然后再進(jìn)行離散化處理,因此在現(xiàn)有技術(shù)中對控制系統(tǒng)的頻域特性分析是在連續(xù)系統(tǒng)設(shè) 計(jì)時(shí)進(jìn)行的一種理論分析。離散處理后的控制系統(tǒng)網(wǎng)絡(luò)方程最終以差分方程的形式體現(xiàn)在飛行控制軟件中。 為確??刂频膶?shí)時(shí)性,飛行控制軟件設(shè)計(jì)時(shí)將控制網(wǎng)絡(luò)計(jì)算分為前臺計(jì)算和后臺計(jì)算兩個(gè) 部分。當(dāng)一個(gè)控制周期開始時(shí)先進(jìn)行制導(dǎo)律計(jì)算,隨后完成控制網(wǎng)絡(luò)的前臺計(jì)算,然后向執(zhí) 行機(jī)構(gòu)輸出控制命令,最后完成控制網(wǎng)絡(luò)的后臺計(jì)算。所以需要研究一種有效的測試方法 來驗(yàn)證飛行控制軟件實(shí)現(xiàn)的控制網(wǎng)絡(luò)是否能夠滿足系統(tǒng)設(shè)計(jì)的功能和性能要求。目前控制專業(yè)主要通過半實(shí)物仿真試驗(yàn)來驗(yàn)證控制系統(tǒng)的各種性能。雖然使用了 真實(shí)的飛行計(jì)算機(jī),但是由于測試時(shí)需要使用仿真測試臺等專業(yè)測試設(shè)備,所以測試數(shù)據(jù) 中必然包含多種由設(shè)備引入的工具誤差和測量精度誤差,這些誤差還可能存在很多難以分 析的耦合關(guān)系,從而影響了測試數(shù)據(jù)的準(zhǔn)確性。軟件測試專業(yè)主要考核飛行控制軟件是否 按照任務(wù)書的要求正確實(shí)現(xiàn)了控制算法,一般進(jìn)行時(shí)域驗(yàn)證,以階躍信號作為控制網(wǎng)絡(luò)計(jì) 算模塊的輸入,判斷計(jì)算輸出是否與理論值一致。但是此種方法卻不能對考核控制網(wǎng)絡(luò)在 不同頻段上的延時(shí)特性。

發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供了一種針對飛行控制軟件 中控制網(wǎng)絡(luò)充分、準(zhǔn)確、全面的頻域測試系統(tǒng)及方法。本發(fā)明的技術(shù)解決方案是飛行控制軟件控制網(wǎng)絡(luò)頻域測試系統(tǒng),其特征在于通過具有虛擬CPU和交互內(nèi)存 的數(shù)字仿真平臺動(dòng)態(tài)加載測試功能模塊后運(yùn)行,所述的測試功能模塊包括流程控制模塊、 環(huán)境仿真模塊和后臺處理模塊,同時(shí)還包括獨(dú)立運(yùn)行的離線分析模塊,其中所述的流程控制模塊,用于對整個(gè)測試過程進(jìn)行控制,首先,在測試初始階段,向 環(huán)境仿真模塊和后臺處理模塊發(fā)送對象創(chuàng)建命令;對象創(chuàng)建成功后,載入測試腳本并建立 測試腳本流水線序列;解釋有效載入的測試腳本循環(huán)進(jìn)行動(dòng)態(tài)測試,直到流水線序列中最 后一個(gè)測試腳本;在動(dòng)態(tài)測試的初始階段,首先向環(huán)境仿真模塊和后臺處理模塊發(fā)送初始 化命令,驅(qū)動(dòng)虛擬CPU加載被測飛行控制軟件,根據(jù)當(dāng)次動(dòng)態(tài)測試的腳本建立飛行控制周 期定時(shí),并對飛行控制周期是否到時(shí)進(jìn)行判斷;然后在飛行控制周期定時(shí)內(nèi)驅(qū)動(dòng)虛擬CPU 運(yùn)行飛行控制軟件,解釋測試腳本;根據(jù)對測試腳本的解釋,先向環(huán)境仿真模塊發(fā)送周期更 新或設(shè)備更新命令,或者向后臺處理模塊發(fā)送數(shù)據(jù)記錄命令后,再向環(huán)境仿真模塊發(fā)送周
5期更新或設(shè)備更新命令;按測試腳本的規(guī)定如果需要數(shù)據(jù)注入,則向后臺處理模塊發(fā)送數(shù) 據(jù)生成命令;數(shù)據(jù)注入完成后,如果測試腳本規(guī)定的測試時(shí)間,結(jié)束動(dòng)態(tài)測試,否則重新判 斷控制周期定時(shí),并循環(huán)進(jìn)行;當(dāng)結(jié)束完所有測試腳本的測試后,向環(huán)境仿真模塊和后臺處 理模塊發(fā)送對象卸載命令;結(jié)束測試;所述的環(huán)境仿真模塊,用于模擬飛行控制軟件的實(shí)時(shí)運(yùn)行環(huán)境,包括用于模擬飛 行控制軟件運(yùn)行硬件環(huán)境的設(shè)備仿真對象和用于模擬飛行控制軟件運(yùn)行數(shù)據(jù)環(huán)境的數(shù)學(xué) 模型仿真對象,其中所述的設(shè)備仿真對象包括中斷控制設(shè)備模型、通信控制設(shè)備模型和飛 行控制計(jì)算機(jī)綜合端口模型,根據(jù)流程控制模塊的命令進(jìn)行操作,收到對象創(chuàng)建命令時(shí),創(chuàng) 建設(shè)備仿真對象和數(shù)學(xué)模型仿真對象;收到初始化命令時(shí),初始化設(shè)備仿真對象和數(shù)學(xué)模 型仿真對象;收到周期更新命令時(shí),調(diào)用數(shù)學(xué)模型仿真對象進(jìn)行飛行控制環(huán)境的仿真計(jì)算, 并更新交互內(nèi)存中的數(shù)據(jù);收到設(shè)備更新命令時(shí),調(diào)用設(shè)備仿真對象進(jìn)行硬件環(huán)境的仿真 計(jì)算,并更新交互內(nèi)存中的數(shù)據(jù);收到對象卸載命令時(shí),卸載數(shù)學(xué)模型仿真對象和設(shè)備仿真 對象;所述的后臺處理模塊,用于產(chǎn)生測試輸入數(shù)據(jù)及記錄測試結(jié)果,包括數(shù)據(jù)生成對 象和數(shù)據(jù)記錄對象,根據(jù)流程控制模塊的命令進(jìn)行相應(yīng)的操作,收到對象創(chuàng)建命令時(shí),創(chuàng)建 數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象;收到初始化命令時(shí),進(jìn)行數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象初 始化;收到數(shù)據(jù)生成命令時(shí),由數(shù)據(jù)生成對象生成測試輸入數(shù)據(jù),并根據(jù)測試腳本中指定的 地址將數(shù)據(jù)注入交互內(nèi)存;收到數(shù)據(jù)記錄命令時(shí),由數(shù)據(jù)記錄對象將測試輸出數(shù)據(jù)記錄到 記錄文件中;收到對象卸載命令時(shí),卸載數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象;離線分析模塊,用于對測試的結(jié)果進(jìn)行分析,首先讀入測試腳本和測試輸出數(shù)據(jù) 的記錄文件,然后對兩個(gè)文件中的數(shù)據(jù)分別進(jìn)行處理,在(ω X τ) <0. 17rad的低頻段,進(jìn) 行Bsin (cot+θ) =Β(ω +θ)的擬和處理,其中B為信號的幅度,θ為相位,ω為角速度, τ為延時(shí);在(ω X τ 0. 17rad的高頻段,進(jìn)行快速傅立葉變換,最后計(jì)算輸出測試輸 出數(shù)據(jù)相對于輸入數(shù)據(jù)的幅頻特性和相頻特性。所述的后臺處理模塊,收到數(shù)據(jù)生成命令時(shí),數(shù)據(jù)生成對象按照測試腳本中所指 定幅度、頻率計(jì)算并生成相應(yīng)的測試輸入信號的采樣值。飛行控制軟件控制網(wǎng)絡(luò)頻域測試方法,其特征在于通過以下步驟實(shí)現(xiàn)第一步,初始化,流程控制模塊發(fā)出對象創(chuàng)建命令加載環(huán)境仿真模塊,創(chuàng)建設(shè)備 仿真對象和數(shù)學(xué)模型仿真對象,其中所述的設(shè)備仿真對象用于模擬飛行控制軟件運(yùn)行的硬 件環(huán)境包括中斷控制設(shè)備模型、通信控制設(shè)備模型和飛行控制計(jì)算機(jī)綜合端口模型,所述 的數(shù)學(xué)模型仿真對象對用于模擬飛行控制軟件運(yùn)行的數(shù)據(jù)環(huán)境;加載后臺處理模塊,創(chuàng)建 數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象,如果環(huán)境仿真模塊或后臺處理模塊中的對象創(chuàng)建不成功, 結(jié)束測試;第二步,流程控制模塊載入測試腳本,建立測試腳本的流水線序列;第三步,流程控制模塊順序讀取腳本流水線序列中的有效測試腳本,進(jìn)入動(dòng)態(tài)測 試,循環(huán)進(jìn)行此步直到流水線序列結(jié)束;第四步,流程控制模塊發(fā)出對象卸載命令,卸載環(huán)境仿真模塊和后臺處理模塊,結(jié) 束測試;所述的動(dòng)態(tài)測試通過以下步驟實(shí)現(xiàn)
第一步、動(dòng)態(tài)測試初始化,a、流程控制模塊發(fā)出初始化命令,初始化環(huán)境仿真模塊和后臺處理模塊中的對 象;b、載入被測飛行控制軟件;C、根據(jù)當(dāng)前測試腳本,建立飛行控制周期定時(shí);第二步,動(dòng)態(tài)測試a、虛擬CPU在控制周期內(nèi)運(yùn)行被測試飛行控制軟件;流程控制模塊進(jìn)行控制周期 定時(shí)的判斷,如果到時(shí),則進(jìn)入b步,否則進(jìn)入d步;b、流程控制模塊進(jìn)行腳本解釋,如果需要記錄數(shù)據(jù),流程控制模塊發(fā)出數(shù)據(jù)記錄 命令,后臺處理模塊調(diào)用數(shù)據(jù)記錄對象記錄當(dāng)前測試數(shù)據(jù),然后流程控制模塊發(fā)出周期更 新或設(shè)備更新命令,環(huán)境仿真模塊調(diào)用數(shù)學(xué)模型仿真對象或設(shè)備模型仿真對象進(jìn)行環(huán)境參 數(shù)更新,如果不需要記錄數(shù)據(jù),直接進(jìn)行環(huán)境參數(shù)更新;C、如果需要注入數(shù)據(jù),則流程控制模塊發(fā)出數(shù)據(jù)生成命令,后臺處理模塊調(diào)用數(shù) 據(jù)生成對象生成新的測試輸入數(shù)據(jù)并根據(jù)測試腳本規(guī)定的內(nèi)存地址將測試輸入數(shù)據(jù)注入 內(nèi)存;否則直接進(jìn)入d步;d、流程控制模塊根據(jù)測試腳本中規(guī)定的測試結(jié)束時(shí)間判斷動(dòng)態(tài)測試是否結(jié)束,如 果不結(jié)束,則回到a;第三步,動(dòng)態(tài)測試結(jié)束;所述的離線分析通過以下步驟實(shí)現(xiàn)第一步,讀取測試腳本和測試輸出數(shù)據(jù);第二步,在(ω X τ ) < 0. 17rad的低頻段,進(jìn)行如式(1)的擬和運(yùn)算,Bsin ( ω t+ θ ) = β ( ω t+ θ )(1)其中,B為信號的幅度,θ為相位,ω為角速度,τ為延時(shí);在(ω X τ )彡0. 17rad的高頻段,進(jìn)行快速傅立葉變換;第三步,計(jì)算輸出數(shù)據(jù)相對輸入數(shù)據(jù)的幅頻和相頻特性;第四步,輸出計(jì)算結(jié)果,結(jié)束離線分析。所述的動(dòng)態(tài)測試通過對測試腳本的解釋確定輸入數(shù)據(jù)的幅度和頻率、測試0點(diǎn)、 數(shù)據(jù)注入的內(nèi)存地址、數(shù)據(jù)記錄地址、輸入采樣信號注入時(shí)間、測試輸出數(shù)據(jù)記錄類型以及 測試結(jié)束時(shí)間。本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn)(1)本發(fā)明通過在頻域?qū)︼w行控制軟件進(jìn)行測試,與時(shí)域測試相比,可以實(shí)現(xiàn)對飛 行控制軟件中控制網(wǎng)絡(luò)的延時(shí)特性進(jìn)行考核,提高了測試的充分性,同時(shí)還可針對測試數(shù) 據(jù)對信號的幅度、特征頻率等參數(shù)進(jìn)行分析,提高了測試的全面性。(2)本發(fā)明采用環(huán)境仿真模塊中的數(shù)學(xué)模型仿真對象和設(shè)備仿真對象在測試過程 中實(shí)時(shí)的模擬飛行器飛行的真實(shí)環(huán)境,提高了測試的準(zhǔn)確性。


圖1為本發(fā)明的系統(tǒng)框圖;圖2為本發(fā)明的測試主流程7
圖3為本發(fā)明的動(dòng)態(tài)測試流程圖;圖4為本發(fā)明環(huán)境仿真模塊實(shí)現(xiàn)流程圖;圖5為本發(fā)明后臺處理模塊實(shí)現(xiàn)流程圖;圖6為本發(fā)明離線分析模塊實(shí)現(xiàn)流程圖;圖7為本發(fā)明環(huán)境仿真模塊讀取的數(shù)據(jù)文件圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明的具體實(shí)施方式
進(jìn)行進(jìn)一步的詳細(xì)描述。一、模塊設(shè)計(jì)所述的流程控制模塊1、環(huán)境仿真模塊2和后臺處理模塊3均可動(dòng)態(tài)的加載到數(shù) 字仿真平臺上運(yùn)行,所述的數(shù)字仿真平臺為可以提供內(nèi)存訪問與運(yùn)行控制接口的平臺,如 Keil51和Vtest等產(chǎn)品。所述的虛擬CPU為數(shù)字仿真平臺的部件。所述的離線分析模塊 4在測試流程結(jié)束后對輸出數(shù)據(jù)進(jìn)行處理,從頻域?qū)︼w行控制軟件進(jìn)行分析,并輸出測試分 析結(jié)果。1、流程控制模塊1流程控制模塊1為整個(gè)測試系統(tǒng)的主控模塊,環(huán)境仿真模塊2和后臺處理模塊3 根據(jù)流程控制模塊1發(fā)出的命令進(jìn)行操作。流程控制模塊1同時(shí)控制主流程和動(dòng)態(tài)測試流 程。在主流程中,通過命令控制環(huán)境仿真模塊2和后臺處理模塊3的加載、內(nèi)部對象的創(chuàng)建 以及主流程測試結(jié)束時(shí)環(huán)境仿真模塊2和后臺處理模塊3的卸載,其中發(fā)送命令的時(shí)間節(jié) 點(diǎn)通過對測試腳本的解釋結(jié)果來確定,命令發(fā)送的方法可以通過在環(huán)境仿真模塊2和后臺 處理模塊3中對命令進(jìn)行判斷后調(diào)用相應(yīng)的處理函數(shù)來實(shí)現(xiàn),在調(diào)用相應(yīng)的處理函數(shù)時(shí), 將對應(yīng)的命令在內(nèi)存中存儲的地址指針作為入口參數(shù)傳遞給響應(yīng)函數(shù)來實(shí)現(xiàn);實(shí)現(xiàn)對測試 腳本的載入,并建立測試腳本的流水線序列,測試腳本的載入可以采用如在vc++語言中用 于讀取文件的fopenO函數(shù)打開,然后按照規(guī)定的字節(jié)數(shù)或數(shù)據(jù)類型實(shí)現(xiàn)測試腳本中參數(shù) 的讀入,具體的測試腳本的格式將在下面給出;通過順序讀取有效的測試腳本,啟動(dòng)動(dòng)態(tài)測 試流程。在動(dòng)態(tài)測試流程中,流程控制模塊1對環(huán)境仿真模塊2和后臺處理模塊3以及交 互內(nèi)存進(jìn)行初始化;負(fù)責(zé)向內(nèi)存中加載被測飛行控制軟件,其中環(huán)境仿真模塊2和后臺處 理模塊3的初始化,通過發(fā)出初始化命令,調(diào)用環(huán)境仿真模塊2和后臺處理模塊3中的初始 化函數(shù),由環(huán)境仿真模塊2和后臺處理模塊3中的初始化函數(shù)完成;根據(jù)測試腳本建立控制 周期定時(shí);啟動(dòng)虛擬CPU運(yùn)行被測飛行控制軟件;對測試腳本進(jìn)行解釋,確定動(dòng)態(tài)測試流程 中輸入信號的幅度和頻率、測試開始的0點(diǎn)、輸入數(shù)據(jù)注入和輸出數(shù)據(jù)記錄的時(shí)間及內(nèi)存 地址;根據(jù)動(dòng)態(tài)測試中的狀態(tài)和測試腳本中規(guī)定的時(shí)間點(diǎn)發(fā)送相應(yīng)的命令給環(huán)境仿真模塊 2或后臺處理模塊3。下面給出測試腳本的格式[故障注入令]#開始時(shí)間;結(jié)束時(shí)間;變量值(或波頻率);波幅值;變量類型;故障類型;故障 注入時(shí)的內(nèi)存地址;變量名稱[測試結(jié)束時(shí)間]1 = 150
對應(yīng)具體數(shù)值的測試腳本,如下所示#95 ;150 ;3. 0 ;1. 0 ;8 ;1 ;0x00016960 ;GSa_Phi_cx其中,對于波幅值1個(gè)字節(jié)、2個(gè)字節(jié)、4個(gè)字節(jié)、5個(gè)字節(jié)、8個(gè)字節(jié);對于故障類 型0修改為固定變量值;1加入固定頻率的正弦波;2加入階躍信號;3為余弦波;4為三角 波;5為方波。當(dāng)流程控制模塊1讀到標(biāo)志位“[故障注入令],,時(shí),開始順序讀取下面的參 數(shù);當(dāng)讀到標(biāo)志位“[測試結(jié)束時(shí)間]”時(shí),讀取之后的測試運(yùn)行時(shí)間,“1 = 150”代表運(yùn)行 150s后,結(jié)束對當(dāng)前腳本的測試。2、環(huán)境仿真模塊2環(huán)境仿真模塊2用于模擬飛行器飛行控制軟件的實(shí)時(shí)運(yùn)行環(huán)境。其中,所述的數(shù) 學(xué)模型仿真對象用于模擬飛行控制軟件運(yùn)行的數(shù)據(jù)環(huán)境,在具體的設(shè)計(jì)過程中,可以通過 對飛行器動(dòng)力學(xué)模型、運(yùn)動(dòng)學(xué)模型和敏感與測量模型進(jìn)行建?;蛘咄ㄟ^讀去預(yù)先定義飛行 器飛行的數(shù)據(jù)文件等方法實(shí)現(xiàn)。在本實(shí)施例中,采用了通過讀取相應(yīng)的數(shù)據(jù)文件實(shí)現(xiàn)對飛 行控制軟件運(yùn)行的數(shù)據(jù)環(huán)境的模擬,其中數(shù)據(jù)文件的格式如圖7所示,其中t代表時(shí)間,單 位為秒;pul_ax、pul_ay和pul_az分別為加速度計(jì)X、Y、Z方向的脈沖值;pul_gx、pul_gy 和pul_gz為陀螺X、Y、Z方向的脈沖值,數(shù)據(jù)文件中所涉及的飛行器軌道參數(shù)可以結(jié)合具 體的飛行器以及參考《遠(yuǎn)程火箭彈道學(xué)》(賈沛然陳克俊何力編著,國防科技大學(xué)出版社, 2009. 06)第三章中的所涉及的方法進(jìn)行設(shè)計(jì)。所述的設(shè)備仿真對象用于模擬飛行控制軟件 運(yùn)行的硬件環(huán)境,根據(jù)飛行器中的硬件設(shè)備模型進(jìn)行建模,包括中斷控制設(shè)備模型、通信控 制設(shè)備模型和飛行控制計(jì)算機(jī)綜合端口模型,在本實(shí)施例中采用了通用的芯片設(shè)計(jì),因此 對硬件環(huán)境模型可以參考具體芯片的手冊或相關(guān)書籍,如中斷控制器采用的是8259A,對該 中斷控制器進(jìn)行建??梢詤⒖肌段⑿陀?jì)算機(jī)接口技術(shù)原理及應(yīng)用》(劉樂善,華中理工大學(xué) 出版社,2000. 06)第五章中的內(nèi)容;飛行控制計(jì)算機(jī)綜合端口模型可以參考《微型計(jì)算機(jī) 接口技術(shù)原理及應(yīng)用》(劉樂善,華中理工大學(xué)出版社,2000. 06)第二章中的內(nèi)容;通信控 制設(shè)備模型使用了 L16c752,建??梢詤⒖糡L16C752B-EP3. 3-V DUAL UART WITH 64-BYTE FIFO。如圖4所示,環(huán)境仿真模塊2被加載后始終處于等待接收命令的狀態(tài),利用循 環(huán)的等待對當(dāng)前流程控制模塊1發(fā)出的命令進(jìn)行判斷,當(dāng)收到流程控制模塊1發(fā)來的命 令時(shí),首先判斷命令的類型,如果命令存在,則調(diào)用相應(yīng)的處理函數(shù)。其中,當(dāng)收到周期 更新命令后,環(huán)境仿真模塊2調(diào)用數(shù)學(xué)仿真對象,讀取數(shù)據(jù)文件計(jì)算當(dāng)前飛行控制軟件 的數(shù)據(jù)環(huán)境,并更新交互內(nèi)存中的數(shù)據(jù)。當(dāng)收到設(shè)備更新命令后,設(shè)備仿真對象被調(diào)用, 更新交互內(nèi)存中的硬件環(huán)境仿真數(shù)據(jù)。在處理完相應(yīng)的命令后,再次返回等待接收命令 的狀態(tài)。以初始化命令為例對命令的處理過程進(jìn)行說明,首先通過枚舉的數(shù)據(jù)結(jié)構(gòu)enum MESSAGE定義所要接收的全部命令,其中初始化的命令為EMU_miT,則環(huán)境仿真模塊2在 接收到命令時(shí),通過switch語句進(jìn)行判斷,如果命令為EMU_INIT,則調(diào)用初始化入口函數(shù) InitData((PJBDRIVER_DATA)pData)進(jìn)行初始化,其中pData為指向命令內(nèi)容的指針,通過 強(qiáng)制類型轉(zhuǎn)換為PJBDRIVER_DATA型的數(shù)據(jù)格式。對于其他的命令,采用類似的處理方法。3、后臺處理模塊3后臺處理模塊3主要用于對測試過程中的數(shù)據(jù)進(jìn)行處理。其中所述的數(shù)據(jù)生成對
9象用于對測試輸入數(shù)據(jù)進(jìn)行處理,所述的數(shù)據(jù)記錄對象用于將測試輸出數(shù)據(jù)記錄到測試輸 出數(shù)據(jù)的記錄文件中。如圖5所示,對該模塊的設(shè)計(jì)原理與處理方法和環(huán)境仿真模塊2相 類似,當(dāng)收到數(shù)據(jù)生成命令時(shí),調(diào)用數(shù)據(jù)生成對象,數(shù)據(jù)生成對象根據(jù)流程控制模塊1對腳 本解釋后獲得的輸入數(shù)據(jù)的幅度和頻率生成相應(yīng)的采樣數(shù)據(jù),并根據(jù)測試腳本中規(guī)定的測 試0點(diǎn)將采樣數(shù)據(jù)注入到交互內(nèi)存中,供虛擬CPU在控制周期內(nèi)讀取。當(dāng)收到數(shù)據(jù)記錄命 令時(shí),調(diào)用數(shù)據(jù)記錄對象,數(shù)據(jù)記錄對象按照腳本解釋的內(nèi)容從指定的內(nèi)存地址中讀取相 應(yīng)類型的數(shù)據(jù)并寫入數(shù)據(jù)記錄文件中。其中內(nèi)存中存儲的數(shù)據(jù)通過運(yùn)行有飛行控制軟件的 虛擬CPU實(shí)時(shí)的更新。4、離線分析模塊4離線分析模塊4用于對測試數(shù)據(jù)進(jìn)行頻域分析。其中所述的頻域分析通過在高低 頻段分別采用FFT和多項(xiàng)式擬合運(yùn)算實(shí)現(xiàn)。在(ω X τ ) < 0. 17rad的低頻段,可以選擇擬合運(yùn)算如式(1)所示,Bsin(ω t+ θ ) = β(ω + θ )(1)其中B為信號的幅度,θ為信號的相移,均為待確定的參數(shù),ω為角速度。擬合點(diǎn) 選擇數(shù)據(jù)數(shù)值發(fā)生由負(fù)變?yōu)檎南噜弮牲c(diǎn)。而對于飛行控制軟件的測試更關(guān)注控制軟件對低頻信號的響應(yīng)能力。因此,在 (ω X τ )彡0. 17rad的高頻段,分別對輸入信號和輸出信號進(jìn)行快速傅里葉變換,再求取 控制網(wǎng)絡(luò)在ω附近的幅頻特性和相頻特性。通過對輸出信號在高低頻段進(jìn)行此類處理,實(shí)現(xiàn)對控制網(wǎng)絡(luò)的頻域特性的,如當(dāng) 注入的輸入數(shù)據(jù)為48^1(0^),輸出數(shù)據(jù)為此^1[ &+1)+0]時(shí),Β/Α代表幅頻特性,θ 代表相頻特性。二、測試方法流程1、測試方法總體特征在全數(shù)字仿真測試平臺上,利用后臺處理模塊的數(shù)據(jù)生成對象,按照飛行控制軟 件的控制周期生成頻率為ω的正弦波的采樣信號,并將采樣信號作為測試的輸入;在測試 的輸出端,利用后臺處理模塊3的數(shù)據(jù)記錄對象記錄飛行控制軟件控制網(wǎng)絡(luò)的計(jì)算輸出; 最后自動(dòng)調(diào)用離線分析模塊4對記錄到的控制網(wǎng)絡(luò)計(jì)算輸出數(shù)據(jù)進(jìn)行頻域特性分析處理。 得出被測模塊在頻率ω上的幅頻特性和相頻特性。經(jīng)過一組特征頻率的測試即可實(shí)現(xiàn)對 飛行控制軟件中控制網(wǎng)絡(luò)功能和性能的充分測試。2、測試方法流程描述本實(shí)施例中將結(jié)合對一個(gè)測試腳本來說明測試方法。首先,通過全數(shù)字仿真平臺動(dòng)態(tài)加載流程控制模塊1,啟動(dòng)測試流程。第一步、測試初始化階段載入環(huán)境仿真模塊2和后臺處理模塊3,流程控制模塊1 向環(huán)境仿真模塊2和后臺處理模塊3發(fā)出對象創(chuàng)建命令,環(huán)境仿真模塊2根據(jù)所測飛行器 的具體情況和飛行控制軟件,創(chuàng)建設(shè)備仿真對象和數(shù)學(xué)模型仿真對象;后臺處理模塊3創(chuàng) 建數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象。判斷對象的創(chuàng)建的狀態(tài),如果有對象創(chuàng)建不成功,結(jié)束測 試ο第二步、測試腳本批處理載入測試腳本,并建立測試腳本的流水線序列,測試腳 本根據(jù)測試目的進(jìn)行編寫,包括定義測試中的輸入數(shù)據(jù)的幅度、頻率及注入時(shí)間等,數(shù)據(jù)存
10儲的內(nèi)存地址,記錄數(shù)據(jù)的類型、飛行控制軟件的控制周期和測試結(jié)束時(shí)間等。第三步、循環(huán)加載流水線序列中的測試腳本,針對有效腳本進(jìn)行進(jìn)入第四步的動(dòng) 態(tài)測試。如果測試腳本無效,則順序加載之后的腳本。當(dāng)執(zhí)行完所有流水線序列中的測試 腳本后,退出測試。第四步、進(jìn)入動(dòng)態(tài)測試A、流程控制模塊1發(fā)出初始化命令驅(qū)動(dòng)環(huán)境仿真模塊2和后臺處理模塊3初始化 模塊中的對象;流程控制模塊1將被測飛行控制軟件載入內(nèi)存。B、虛擬CPU加載并運(yùn)行被測飛行控制軟件;根據(jù)當(dāng)前的測試腳本建立控制周期定 時(shí)。如果未到控制周期定時(shí),則進(jìn)入第G步;否則進(jìn)入第C步。C、流程控制模塊1進(jìn)行腳本解釋,確定當(dāng)前測試腳本中規(guī)定的輸入數(shù)據(jù)的幅度和 頻率等參數(shù),確定數(shù)據(jù)讀寫的內(nèi)存地址等。D、判斷是否需要記錄數(shù)據(jù),如果需要記錄數(shù)據(jù),流程控制模塊1發(fā)出數(shù)據(jù)記錄命 令,后臺處理模塊3調(diào)用數(shù)據(jù)記錄對象將數(shù)據(jù)記錄到相應(yīng)文件,其中所述說的記錄數(shù)據(jù)的 判斷時(shí)間根據(jù)測試腳本的定義來確定。E、如果不需要記錄數(shù)據(jù)或運(yùn)行完D步,流程控制模塊1發(fā)出環(huán)境仿真命令,環(huán)境仿 真模塊2調(diào)用其對象進(jìn)行實(shí)時(shí)環(huán)境參數(shù)的計(jì)算,并更新交互內(nèi)存中的原來數(shù)據(jù)。F、選擇是否注入數(shù)據(jù),如果需要注入數(shù)據(jù),則流程控制模塊1發(fā)出數(shù)據(jù)生成命令, 后臺處理模塊3調(diào)用數(shù)據(jù)生成對象并按照測試腳本中規(guī)定的頻率和幅度產(chǎn)生相應(yīng)信號,并 將該信號的采樣值作為輸入數(shù)據(jù)注入交互內(nèi)存中;如果不需要注入數(shù)據(jù),則直接進(jìn)入第G步οG、根據(jù)測試腳本規(guī)定的測試結(jié)束時(shí)間進(jìn)行判斷以結(jié)束動(dòng)態(tài)測試,如果動(dòng)態(tài)測試結(jié) 束,則退出針對當(dāng)前腳本的動(dòng)態(tài)測試。第五步、如果流水線序列仍有待執(zhí)行的腳本,則返回第三步,進(jìn)行判斷后繼續(xù)執(zhí) 行,否則流程控制模塊1發(fā)出對象卸載命令,環(huán)境仿真模塊2和后臺處理模塊3卸載各自的 對象,仿真結(jié)束。測試輸出數(shù)據(jù)通過離線分析模塊4進(jìn)行獨(dú)立的頻域分析輸出飛行控制軟件的頻 域特性,下面將結(jié)合圖6對離線分析模塊4的工作流程進(jìn)行說明。第一步、數(shù)據(jù)讀入,對輸出數(shù)據(jù)進(jìn)行頻域分析需要輸入數(shù)據(jù)進(jìn)行,從而給出輸出數(shù) 據(jù)相對于輸入數(shù)據(jù)的幅頻特性和相頻特性,因此,離線分析模塊4在該步驟中需要同時(shí)讀 入測試腳本和輸出數(shù)據(jù)的記錄文件,具體的數(shù)據(jù)讀入方法可與流程控制模塊1載入測試腳 本的方法相類似。第二步、對輸出數(shù)據(jù)進(jìn)行頻域分析A、在(ω X τ ) < 0. 17rad的低頻段使用近似擬合方法對輸出數(shù)據(jù)進(jìn)行擬合處理。 擬合運(yùn)算可以選擇如式(1)所示形式,進(jìn)行多項(xiàng)式展開,并將多項(xiàng)式和輸入正弦波波的泰 勒展開形式進(jìn)行匹配,從而可以計(jì)算出低頻段,輸出相對與輸入的幅頻特性和相頻特性。B、對于(ω X τ )彡0. 17rad的高頻段的數(shù)據(jù),由于控制系統(tǒng)更關(guān)注控制網(wǎng)絡(luò)對低 頻段的響應(yīng)能力,因此對輸出數(shù)據(jù)進(jìn)行FFT運(yùn)算,分別對輸入信號和輸出信號進(jìn)行快速傅 里葉變換,再求取控制網(wǎng)絡(luò)在ω附近的幅頻特性和相頻特性。第三步、將結(jié)果輸出,結(jié)束離線分析流程。
經(jīng)過以上的離線分析模塊4的出來,可以實(shí)現(xiàn)對飛行器中控制網(wǎng)絡(luò)的頻域分析。三、結(jié)果對比分析在本部分,結(jié)合現(xiàn)有測試技術(shù)的輸出結(jié)果,對采用本實(shí)例中所提到的處理方法的 輸出結(jié)果進(jìn)行比較性分析。針對某飛行器飛行網(wǎng)絡(luò)進(jìn)行頻域特性測試,采樣周期0. 005s 1、準(zhǔn)確性比較當(dāng) ω = 3rad/s 時(shí),利用本發(fā)明測試得到的幅頻特性為-0. 48825dB,相頻特性為-15. 2548°。利用波形比較方法得到的幅頻特性為-0. 48825dB,相頻特性為-15. 4699°。利用半實(shí)物仿真測試方法得到的幅頻特性為-0. 48725dB,相頻特性 為-15. 6653°。其中測試?yán)碚撝捣l特性為-0. 488dB,相頻特性為-15. 25°。有此可見使用發(fā)明進(jìn)行所獲得的測試結(jié)果較傳統(tǒng)方法有更高的準(zhǔn)確度。當(dāng)ω >60rad/S時(shí),輸入數(shù)據(jù)采樣點(diǎn)超過8192個(gè)得到了與特征頻率點(diǎn)接近的 頻率上的幅頻特性和相頻特性。特征頻率為60rad/s的測試頻率為59. 978649rad/s,特 征頻率為120rad/s的測試頻率為119. 957298rad/s,特征頻率為240rad/s的測試頻率為 240. 067993rad/so可以看出,使用本發(fā)明獲得的特征頻率的測試結(jié)果較特征頻率非常接 近。2、效率比較:在半實(shí)物仿真環(huán)境下測試頻域特性耗用資源2人,2天。而使用本發(fā)明進(jìn)行頻域 特性的測試耗用資源1人0. 5天,大大提高了工作效率。3、全面性比較使用本發(fā)明可以準(zhǔn)確得到控制網(wǎng)絡(luò)的延時(shí)0. 08875s。利用時(shí)域測試方法,通過對 階躍信號進(jìn)行分析,其輸出達(dá)到穩(wěn)態(tài)的時(shí)間大于0. 495s。而采用波形比較方法得到的延時(shí) 為17個(gè)采樣周期。根據(jù)上述實(shí)際應(yīng)用結(jié)果可以看出,使用本發(fā)明能夠測試飛行控制軟件中的數(shù)字控 制網(wǎng)絡(luò)的頻域特性,從而能夠全面考核飛行控制系統(tǒng)設(shè)計(jì)的最終產(chǎn)品是否滿足系統(tǒng)設(shè)計(jì)要 求。在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明 作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的 保護(hù)范圍。本發(fā)明未詳細(xì)說明部分屬本領(lǐng)域技術(shù)人員公知常識。
權(quán)利要求
飛行控制軟件控制網(wǎng)絡(luò)頻域測試系統(tǒng),其特征在于通過具有虛擬CPU和交互內(nèi)存的數(shù)字仿真平臺動(dòng)態(tài)加載測試功能模塊后運(yùn)行,所述的測試功能模塊包括流程控制模塊(1)、環(huán)境仿真模塊(2)和后臺處理模塊(3),同時(shí)還包括獨(dú)立運(yùn)行的離線分析模塊(4),其中所述的流程控制模塊(1),用于對整個(gè)測試過程進(jìn)行控制,首先,在測試初始階段,向環(huán)境仿真模塊(2)和后臺處理模塊(3)發(fā)送對象創(chuàng)建命令;對象創(chuàng)建成功后,載入測試腳本并建立測試腳本流水線序列;解釋有效載入的測試腳本循環(huán)進(jìn)行動(dòng)態(tài)測試,直到流水線序列中最后一個(gè)測試腳本;在動(dòng)態(tài)測試的初始階段,首先向環(huán)境仿真模塊(2)和后臺處理模塊(3)發(fā)送初始化命令,驅(qū)動(dòng)虛擬CPU加載被測飛行控制軟件,根據(jù)當(dāng)次動(dòng)態(tài)測試的腳本建立飛行控制周期定時(shí),并對飛行控制周期是否到時(shí)進(jìn)行判斷;然后在飛行控制周期定時(shí)內(nèi)驅(qū)動(dòng)虛擬CPU運(yùn)行飛行控制軟件,解釋測試腳本;根據(jù)對測試腳本的解釋,先向環(huán)境仿真模塊(2)發(fā)送周期更新或設(shè)備更新命令,或者向后臺處理模塊(3)發(fā)送數(shù)據(jù)記錄命令后,再向環(huán)境仿真模塊(2)發(fā)送周期更新或設(shè)備更新命令;按測試腳本的規(guī)定如果需要數(shù)據(jù)注入,則向后臺處理模塊(2)發(fā)送數(shù)據(jù)生成命令;數(shù)據(jù)注入完成后,如果測試腳本規(guī)定的測試時(shí)間,結(jié)束動(dòng)態(tài)測試,否則重新判斷控制周期定時(shí),并循環(huán)進(jìn)行;當(dāng)結(jié)束完所有測試腳本的測試后,向環(huán)境仿真模塊(2)和后臺處理模塊(3)發(fā)送對象卸載命令;結(jié)束測試;所述的環(huán)境仿真模塊(2),用于模擬飛行控制軟件的實(shí)時(shí)運(yùn)行環(huán)境,包括用于模擬飛行控制軟件運(yùn)行硬件環(huán)境的設(shè)備仿真對象和用于模擬飛行控制軟件運(yùn)行數(shù)據(jù)環(huán)境的數(shù)學(xué)模型仿真對象,其中所述的設(shè)備仿真對象包括中斷控制設(shè)備模型、通信控制設(shè)備模型和飛行控制計(jì)算機(jī)綜合端口模型,根據(jù)流程控制模塊(1)的命令進(jìn)行操作,收到對象創(chuàng)建命令時(shí),創(chuàng)建設(shè)備仿真對象和數(shù)學(xué)模型仿真對象;收到初始化命令時(shí),初始化設(shè)備仿真對象和數(shù)學(xué)模型仿真對象;收到周期更新命令時(shí),調(diào)用數(shù)學(xué)模型仿真對象進(jìn)行飛行控制環(huán)境的仿真計(jì)算,并更新交互內(nèi)存中的數(shù)據(jù);收到設(shè)備更新命令時(shí),調(diào)用設(shè)備仿真對象進(jìn)行硬件環(huán)境的仿真計(jì)算,并更新交互內(nèi)存中的數(shù)據(jù);收到對象卸載命令時(shí),卸載數(shù)學(xué)模型仿真對象和設(shè)備仿真對象;所述的后臺處理模塊(3),用于產(chǎn)生測試輸入數(shù)據(jù)及記錄測試結(jié)果,包括數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象,根據(jù)流程控制模塊(1)的命令進(jìn)行相應(yīng)的操作,收到對象創(chuàng)建命令時(shí),創(chuàng)建數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象;收到初始化命令時(shí),進(jìn)行數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象初始化;收到數(shù)據(jù)生成命令時(shí),由數(shù)據(jù)生成對象生成測試輸入數(shù)據(jù),并根據(jù)測試腳本中指定的地址將數(shù)據(jù)注入交互內(nèi)存;收到數(shù)據(jù)記錄命令時(shí),由數(shù)據(jù)記錄對象將測試輸出數(shù)據(jù)記錄到記錄文件中;收到對象卸載命令時(shí),卸載數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象;離線分析模塊(4),用于對測試的結(jié)果進(jìn)行分析,首先讀入測試腳本和測試輸出數(shù)據(jù)的記錄文件,然后對兩個(gè)文件中的數(shù)據(jù)分別進(jìn)行處理,在(ω×τ)<0.17rad的低頻段,進(jìn)行Bsin(ωt+θ)=B(ωt+θ)的擬和處理,其中B為信號的幅度,θ為相位,ω為角速度,τ為延時(shí);在(ω×τ)≥0.17rad的高頻段,進(jìn)行快速傅立葉變換,最后計(jì)算輸出測試輸出數(shù)據(jù)相對于輸入數(shù)據(jù)的幅頻特性和相頻特性。
2.根據(jù)權(quán)利要求1所述的飛行控制軟件控制網(wǎng)絡(luò)頻域測試系統(tǒng),其特征在于所述的后 臺處理模塊(3),收到數(shù)據(jù)生成命令時(shí),數(shù)據(jù)生成對象按照測試腳本中所指定幅度、頻率計(jì) 算并生成相應(yīng)的測試輸入信號的采樣值。
3.飛行控制軟件控制網(wǎng)絡(luò)頻域測試方法,其特征在于通過以下步驟實(shí)現(xiàn) 第一步,初始化,流程控制模塊(1)發(fā)出對象創(chuàng)建命令加載環(huán)境仿真模塊(3),創(chuàng)建 設(shè)備仿真對象和數(shù)學(xué)模型仿真對象,其中所述的設(shè)備仿真對象用于模擬飛行控制軟件運(yùn)行 的硬件環(huán)境包括中斷控制設(shè)備模型、通信控制設(shè)備模型和飛行控制計(jì)算機(jī)綜合端口模型, 所述的數(shù)學(xué)模型仿真對象對用于模擬飛行控制軟件運(yùn)行的數(shù)據(jù)環(huán)境;加載后臺處理模塊 (4),創(chuàng)建數(shù)據(jù)生成對象和數(shù)據(jù)記錄對象,如果環(huán)境仿真模塊(3)或后臺處理模塊(4)中的 對象創(chuàng)建不成功,結(jié)束測試;第二步,流程控制模塊(1)載入測試腳本,建立測試腳本的流水線序列; 第三步,流程控制模塊(1)順序讀取腳本流水線序列中的有效測試腳本,進(jìn)入動(dòng)態(tài)測 試,循環(huán)進(jìn)行此步直到流水線序列結(jié)束;第四步,流程控制模塊(1)發(fā)出對象卸載命令,卸載環(huán)境仿真模塊(3)和后臺處理模塊 (4),結(jié)束測試;所述的動(dòng)態(tài)測試通過以下步驟實(shí)現(xiàn) 第一步、動(dòng)態(tài)測試初始化,a、流程控制模塊(1)發(fā)出初始化命令,初始化環(huán)境仿真模塊(3)和后臺處理模塊(4) 中的對象;b、載入被測飛行控制軟件;C、根據(jù)當(dāng)前測試腳本,建立飛行控制周期定時(shí); 第二步,動(dòng)態(tài)測試a、虛擬CPU在控制周期內(nèi)運(yùn)行被測試飛行控制軟件;流程控制模塊(1)進(jìn)行控制周期 定時(shí)的判斷,如果到時(shí),則進(jìn)入b步,否則進(jìn)入d步;b、流程控制模塊(1)進(jìn)行腳本解釋,如果需要記錄數(shù)據(jù),流程控制模塊(1)發(fā)出數(shù)據(jù)記 錄命令,后臺處理模塊(4)調(diào)用數(shù)據(jù)記錄對象記錄當(dāng)前測試數(shù)據(jù),然后流程控制模塊(1)發(fā) 出周期更新或設(shè)備更新命令,環(huán)境仿真模塊(3)調(diào)用數(shù)學(xué)模型仿真對象或設(shè)備模型仿真對 象進(jìn)行環(huán)境參數(shù)更新,如果不需要記錄數(shù)據(jù),直接進(jìn)行環(huán)境參數(shù)更新;c、如果需要注入數(shù)據(jù),則流程控制模塊(1)發(fā)出數(shù)據(jù)生成命令,后臺處理模塊(4)調(diào)用 數(shù)據(jù)生成對象生成新的測試輸入數(shù)據(jù)并根據(jù)測試腳本規(guī)定的內(nèi)存地址將測試輸入數(shù)據(jù)注 入內(nèi)存;否則直接進(jìn)入d步;d、流程控制模塊(1)根據(jù)測試腳本中規(guī)定的測試結(jié)束時(shí)間判斷動(dòng)態(tài)測試是否結(jié)束,如 果不結(jié)束,則回到a;第三步,動(dòng)態(tài)測試結(jié)束;所述的離線分析通過以下步驟實(shí)現(xiàn)第一步,讀取測試腳本和測試輸出數(shù)據(jù);第二步,在(ω X τ ) < 0. 17rad的低頻段,進(jìn)行如式(1)的擬和運(yùn)算, Bsin(cot+ θ ) = β(ω + θ )(1)其中,B為信號的幅度,θ為相位,ω為角速度,τ為延時(shí); 在(ω X τ )彡0. 17rad的高頻段,進(jìn)行快速傅立葉變換; 第三步,計(jì)算輸出數(shù)據(jù)相對輸入數(shù)據(jù)的幅頻和相頻特性; 第四步,輸出計(jì)算結(jié)果,結(jié)束離線分析。
4.根據(jù)權(quán)利要求3所述的飛行控制軟件控制網(wǎng)絡(luò)頻域測試方法,其特征在于所述的動(dòng) 態(tài)測試通過對測試腳本的解釋確定輸入數(shù)據(jù)的幅度和頻率、測試0點(diǎn)、數(shù)據(jù)注入的內(nèi)存地 址、數(shù)據(jù)記錄地址、輸入采樣信號注入時(shí)間、測試輸出數(shù)據(jù)記錄類型以及測試結(jié)束時(shí)間。
全文摘要
飛行控制軟件控制網(wǎng)絡(luò)頻域測試系統(tǒng)及方法,可以實(shí)現(xiàn)對飛行控制軟件控制網(wǎng)絡(luò)的頻域測試,其特征在于通過在數(shù)字仿真平臺上加載流程控制模塊、環(huán)境仿真模塊和后臺處理進(jìn)行測試,從而實(shí)現(xiàn)了對飛行控制網(wǎng)絡(luò)的測試,然后通過離線分析模塊實(shí)現(xiàn)了對測試輸出的頻域分析。其中流程控制模塊用于對測試的整個(gè)流程的進(jìn)行控制,環(huán)境仿真模塊和后臺處理模塊實(shí)現(xiàn)了對飛行控制軟件實(shí)時(shí)飛行環(huán)境的模擬以及對輸入和輸出數(shù)據(jù)的生成和記錄。同時(shí)本發(fā)明與現(xiàn)有技術(shù)相比還具有快速、準(zhǔn)確、全面等的特點(diǎn)。
文檔編號G06F9/455GK101916205SQ20101023616
公開日2010年12月15日 申請日期2010年7月22日 優(yōu)先權(quán)日2010年7月22日
發(fā)明者周展, 李中萍, 李勇, 王寧, 王宇強(qiáng), 許春來, 錢杰 申請人:北京航天自動(dòng)控制研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1