本發(fā)明屬于航空發(fā)動(dòng)機(jī)數(shù)值仿真技術(shù)領(lǐng)域,特別涉及一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法。
背景技術(shù):
設(shè)計(jì)安全可靠的航空發(fā)動(dòng)機(jī)控制系統(tǒng)是保證航空發(fā)動(dòng)機(jī)在惡劣多變條件下穩(wěn)定可靠工作的一種有效途徑,但由于航空發(fā)動(dòng)機(jī)本身的復(fù)雜性使得其研發(fā)技術(shù)難度大、周期長(zhǎng)、費(fèi)用高,并制約各國(guó)航空領(lǐng)域的發(fā)展。近年來(lái)隨著計(jì)算機(jī)輔助技術(shù)的不斷進(jìn)步,高效率、低成本、低風(fēng)險(xiǎn)的仿真系統(tǒng)相繼出現(xiàn)。以美國(guó)推進(jìn)系統(tǒng)數(shù)值仿真(npss)為例,nasa劉易斯研究中心研究表明,npss平臺(tái)的出現(xiàn),節(jié)約了約10%-20%的發(fā)動(dòng)機(jī)控制系統(tǒng)的研制時(shí)間和費(fèi)用。因而建立完整的包含控制系統(tǒng)設(shè)計(jì)的仿真平臺(tái),對(duì)縮短控制系統(tǒng)設(shè)計(jì)、驗(yàn)證周期,以及提高航空發(fā)動(dòng)機(jī)性能都具有非常重要的意義。
中國(guó)專利申請(qǐng)201310440242.8公開了“一種航空發(fā)動(dòng)機(jī)控制系統(tǒng)的快速原型仿真方法”,該方法首先建立控制算法模型,利用虛擬儀器技術(shù)及實(shí)時(shí)硬件平臺(tái)進(jìn)行控制系統(tǒng)的原型設(shè)計(jì),通過(guò)自動(dòng)代碼生成技術(shù)將設(shè)計(jì)好的航空發(fā)動(dòng)機(jī)控制算法模型編譯并下載至實(shí)時(shí)硬件平臺(tái)上,快速建立控制算法原型機(jī);其次,快速控制原型機(jī)負(fù)責(zé)采集發(fā)動(dòng)機(jī)模擬器經(jīng)過(guò)信號(hào)接口單元后的輸出信號(hào),根據(jù)控制指令計(jì)算出發(fā)動(dòng)機(jī)的相關(guān)控制量并發(fā)送給發(fā)動(dòng)機(jī)模擬器,實(shí)現(xiàn)對(duì)發(fā)動(dòng)機(jī)的閉合回路控制;最后,控制系統(tǒng)設(shè)計(jì)者通過(guò)監(jiān)控計(jì)算機(jī)實(shí)時(shí)觀測(cè)控制效果,根據(jù)設(shè)計(jì)者對(duì)控制系統(tǒng)的性能要求不斷對(duì)控制算法模型進(jìn)行修改,重復(fù)快速控制原型機(jī)閉合回路仿真過(guò)程,直至滿足控制系統(tǒng)設(shè)計(jì)者的要求。但該方法還存在以下明顯不足:一是該航空發(fā)動(dòng)機(jī)控制系統(tǒng)的快速原型仿真方法在實(shí)現(xiàn)時(shí)每次只能允許單個(gè)用戶進(jìn)行操作,無(wú)法實(shí)現(xiàn)多個(gè)用戶同時(shí)使用;二是該方法在進(jìn)行控制系統(tǒng)設(shè)計(jì)時(shí)只能在本地實(shí)現(xiàn),無(wú)法基于互聯(lián)網(wǎng)實(shí)現(xiàn)不同設(shè)計(jì)人員的異地、協(xié)同工作;三是該方法在進(jìn)行控制系統(tǒng)設(shè)計(jì)時(shí)無(wú)法實(shí)現(xiàn)實(shí)時(shí)更換控制器并反饋仿真結(jié)果。
綜上所述,如何克服現(xiàn)有技術(shù)所存在的不足已成為當(dāng)今航空發(fā)動(dòng)機(jī)數(shù)值仿真技術(shù)領(lǐng)域中亟待解決的重點(diǎn)難題之一。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為克服現(xiàn)有技術(shù)所存在的不足而提供一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法,本發(fā)明能夠?qū)崿F(xiàn)不同用戶通過(guò)共享服務(wù)器端已有的航空發(fā)動(dòng)機(jī)模型實(shí)時(shí)、異地和協(xié)同的對(duì)服務(wù)器端控制器進(jìn)行設(shè)計(jì)仿真,提高了控制器設(shè)計(jì)人員的工作效率,且操作簡(jiǎn)便和實(shí)用性強(qiáng)。
根據(jù)本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法,所述航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)包括服務(wù)器和客戶端,其中,所述服務(wù)器包括基線版本的航空發(fā)動(dòng)機(jī)模型和控制器;所述客戶端包括圖形用戶界面及控制器上傳接口;其特征在于:所述控制器替換方法是基于所述服務(wù)器和客戶端并通過(guò)tcp/ip通信協(xié)議進(jìn)行仿真,在源程序中把所述服務(wù)器端控制器函數(shù)設(shè)置在所述航空發(fā)動(dòng)機(jī)模型前調(diào)用,完成所述服務(wù)器端控制器替換為所述本地控制器并基于所述航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)反饋結(jié)果至所述客戶端,包括以下具體步驟:
步驟a:完成本地控制器設(shè)置編譯工作,包括控制邏輯和算法的加入、動(dòng)態(tài)鏈接庫(kù)文件的生成;
步驟b:定義服務(wù)器端控制器與發(fā)動(dòng)機(jī)模型的接口,保證控制器與航空發(fā)動(dòng)機(jī)模型之間的信號(hào)準(zhǔn)確傳遞;
步驟c:在服務(wù)器完成文件接收工作之后把文件存放在相應(yīng)的工作空間目錄下,由服務(wù)器調(diào)用服務(wù)器端控制器函數(shù),從而完成將服務(wù)器端控制器替換為本地控制器的過(guò)程。
本發(fā)明與現(xiàn)有技術(shù)相比其顯著優(yōu)點(diǎn)在于:
一是本發(fā)明所述的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法實(shí)現(xiàn)了不同用戶對(duì)所述服務(wù)器端所述發(fā)動(dòng)機(jī)模型的共享,提高了資源利用率,解決了控制系統(tǒng)研發(fā)時(shí)對(duì)被控對(duì)象進(jìn)行數(shù)學(xué)建模耗時(shí)長(zhǎng)、難度大的問(wèn)題。
二是運(yùn)用本發(fā)明所述的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法可以實(shí)現(xiàn)不同用戶針對(duì)所述服務(wù)器端已有的發(fā)動(dòng)機(jī)模型實(shí)時(shí)、異地、協(xié)同的對(duì)所述服務(wù)器端控制器進(jìn)行設(shè)計(jì)仿真,提高了控制器設(shè)計(jì)人員的工作效率,且操作簡(jiǎn)單和實(shí)用性強(qiáng)。
附圖說(shuō)明
圖1為本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的流程示意圖。
圖2為本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的控制器動(dòng)態(tài)鏈接庫(kù)生成流程示意圖。
圖3為本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的服務(wù)器端控制器與發(fā)動(dòng)機(jī)模型接口數(shù)據(jù)交換流程示意圖。
圖4為本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的服務(wù)器端控制器替換流程示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的具體實(shí)施方式做進(jìn)一步的詳細(xì)說(shuō)明。
本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法,所述航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)包括服務(wù)器和客戶端,其中,所述服務(wù)器包括基線版本的航空發(fā)動(dòng)機(jī)模型和控制器;所述客戶端包括圖形用戶界面及控制器上傳接口;其中,所述控制器替換方法是基于所述服務(wù)器和客戶端并通過(guò)tcp/ip通信協(xié)議進(jìn)行仿真,在源程序中把所述服務(wù)器端控制器函數(shù)設(shè)置在所述航空發(fā)動(dòng)機(jī)模型前調(diào)用,完成所述服務(wù)器端控制器替換為所述本地控制器并基于所述航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)反饋結(jié)果至所述客戶端,包括以下具體步驟:
步驟a:完成本地控制器設(shè)置編譯工作,包括控制邏輯和算法的加入、動(dòng)態(tài)鏈接庫(kù)文件的生成;
步驟b:定義服務(wù)器端控制器與發(fā)動(dòng)機(jī)模型的接口,保證控制器與航空發(fā)動(dòng)機(jī)模型之間的信號(hào)準(zhǔn)確傳遞;
步驟c:在服務(wù)器完成文件接收工作之后把文件存放在相應(yīng)的工作空間目錄下,由服務(wù)器調(diào)用服務(wù)器端控制器函數(shù),從而完成將服務(wù)器端控制器替換為本地控制器的過(guò)程。
本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的進(jìn)一步優(yōu)選方案是:
所述步驟a進(jìn)一步包括:在本地編寫所述本地控制器的控制邏輯和算法,并將所述本地控制器涉及到的輸入輸出變量的類型、名稱和數(shù)量保持與所述服務(wù)器端控制器提供的接口一致。
所述步驟a進(jìn)一步包括:利用軟件開發(fā)工具新建一個(gè)模板項(xiàng)目,所述模板項(xiàng)目名稱需要保持與所述服務(wù)器端控制器名稱一致,并將所述項(xiàng)目配置類型設(shè)置為動(dòng)態(tài)庫(kù),所述模板項(xiàng)目的內(nèi)容包含頭文件、函數(shù)導(dǎo)出模塊及主函數(shù)模塊。
所述步驟a進(jìn)一步包括:利用編譯好的所述本地控制器源程序替換所述主函數(shù)模塊,完成后進(jìn)行編譯,在本地得到頭文件、靜態(tài)鏈接庫(kù)文件、動(dòng)態(tài)鏈接庫(kù)文件;其中,所述利用編譯好的所述本地控制器源程序替換所述主函數(shù)模塊是指,當(dāng)所述客戶端上傳文件時(shí),只需上傳所述本地控制器動(dòng)態(tài)鏈接庫(kù)文件。
所述步驟a進(jìn)一步包括:在所述服務(wù)器端源程序中增加控制器函數(shù),定義好輸入輸出接口變量的類型、名稱和數(shù)量,保證函數(shù)名稱與所述客戶端項(xiàng)目名稱一致,具體控制邏輯和算法等效為“1”,即輸出與輸入相等;其中,所述保證函數(shù)名與所述客戶端項(xiàng)目名稱一致,具體控制邏輯和算法等效為“1”是指,所述服務(wù)器端控制器函數(shù)名與所述客戶端上傳的所述本地控制器函數(shù)名稱一致,即完成所述本地控制器函數(shù)對(duì)所述服務(wù)器端控制器函數(shù)內(nèi)容上的覆蓋。
所述步驟b進(jìn)一步包括:所述服務(wù)器利用socket通信方法進(jìn)行通信時(shí)在接口處設(shè)置監(jiān)聽環(huán)節(jié),與所述客戶端建立連接后判斷是否接收到所述客戶端上傳的所述本地控制器文件;如果接收到就把文件存放在相應(yīng)的工作空間目錄下,反之,不執(zhí)行任何操作。
所述步驟c進(jìn)一步包括:所述服務(wù)器調(diào)用所述服務(wù)器端控制器函數(shù)方式為動(dòng)態(tài)調(diào)用。
下面結(jié)合附圖進(jìn)一步公開本發(fā)明的具體實(shí)施例。
本發(fā)明中提出的航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)是基于互聯(lián)網(wǎng)的多用戶協(xié)同仿真平臺(tái),包括客戶端和服務(wù)器;客戶端提供上傳文件、保存文件的接口,實(shí)時(shí)顯示的窗口以及發(fā)動(dòng)機(jī)模型相關(guān)變量的修改模塊;服務(wù)器提供不同的發(fā)動(dòng)機(jī)模型以及控制器替換的接口,服務(wù)器通過(guò)tcp/ip協(xié)議與客戶端進(jìn)行數(shù)據(jù)傳遞,并響應(yīng)客戶端的需求。
圖1為本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的流程示意圖。結(jié)合圖1,本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的具體步驟是:
步驟a:用戶完成本地控制器設(shè)置編譯工作,包括控制邏輯和算法的加入、動(dòng)態(tài)鏈接庫(kù)文件的生成;
步驟b:定義服務(wù)器端控制器與發(fā)動(dòng)機(jī)模型的接口,保證控制器與發(fā)動(dòng)機(jī)模型之間的信號(hào)準(zhǔn)確傳遞;
步驟c:服務(wù)器完成文件接收工作并把文件存放在相應(yīng)的工作空間目錄下,之后服務(wù)器調(diào)用服務(wù)器端控制器函數(shù),完成將服務(wù)器端控制器替換為本地控制器。
完成上述步驟后在所述客戶端點(diǎn)擊開始仿真,所述服務(wù)器完成替換后的所述服務(wù)器端控制器與發(fā)動(dòng)機(jī)模型的仿真,并將結(jié)果實(shí)時(shí)反饋到所述客戶端,實(shí)現(xiàn)本地控制器替換服務(wù)器端控制器的流程。
接下來(lái),對(duì)本發(fā)明的整個(gè)流程做進(jìn)一步的具體說(shuō)明。
圖2是本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的控制器動(dòng)態(tài)鏈接庫(kù)生成流程示意圖。結(jié)合圖2,本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的控制器動(dòng)態(tài)鏈接庫(kù)生成流程是在上述圖1步驟基礎(chǔ)上的進(jìn)一步具體操作:
步驟a進(jìn)一步包括:在本地編寫所述本地控制器的控制邏輯和算法,所述本地控制器涉及到的輸入輸出變量的類型、名稱、數(shù)量必須要與所述服務(wù)器端控制器接口提供的一致。
步驟a進(jìn)一步包括:利用軟件開發(fā)工具(以visualstudio開發(fā)工具為例)新建一個(gè)模板項(xiàng)目,所述模板項(xiàng)目的名稱需要保持與所述服務(wù)器端控制器的名稱一致,所述模板項(xiàng)目配置類型設(shè)置為動(dòng)態(tài)庫(kù);所述模板項(xiàng)目的內(nèi)容包含頭文件、函數(shù)導(dǎo)出模塊及主函數(shù)模塊。
步驟a進(jìn)一步包括:利用編譯好的所述本地控制器源程序替換所述動(dòng)態(tài)庫(kù)的主函數(shù)模塊。完成上述步驟后進(jìn)行編譯,在本地得到頭文件(.h)、靜態(tài)鏈接庫(kù)文件(.lib)、動(dòng)態(tài)鏈接庫(kù)文件(.dll)。
通過(guò)完成上述步驟,在本地已經(jīng)得到了用來(lái)替換服務(wù)器端控制器所需的文件。不同的用戶可以按照此方案在本地設(shè)計(jì)編寫不同的控制邏輯和算法,后續(xù)的步驟將替換服務(wù)器端已有的控制器,通過(guò)仿真從而驗(yàn)證所述本地控制器的性能。
圖3是本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的服務(wù)器端控制器與發(fā)動(dòng)機(jī)模型接口數(shù)據(jù)交換流程示意圖。結(jié)合圖3,本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的服務(wù)器端控制器與發(fā)動(dòng)機(jī)模型接口數(shù)據(jù)交換流程是在上述圖2步驟基礎(chǔ)上的進(jìn)一步具體操作:
步驟b進(jìn)一步包括:所述服務(wù)器端控制器根據(jù)自身算法和控制邏輯的不同提供給發(fā)動(dòng)機(jī)模型不同的輸入信號(hào),如供油量(wf)、進(jìn)口導(dǎo)葉角(igv)等,這些信號(hào)的變量名稱、數(shù)量、類型必須保持與發(fā)動(dòng)機(jī)模型輸入的要求一致。
步驟b進(jìn)一步包括:所述發(fā)動(dòng)機(jī)模型接收來(lái)自所述服務(wù)器端控制器的信號(hào),并根據(jù)所述服務(wù)器端控制器的邏輯和算法提供相應(yīng)的輸出信號(hào),如高壓軸轉(zhuǎn)速(nh)、低壓軸轉(zhuǎn)速(nl)等。同樣的,這些信號(hào)的變量名稱、數(shù)量、類型必須保持與所述服務(wù)器端控制器的輸入一致。
圖4是本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的服務(wù)器端控制器替換流程示意圖。結(jié)合圖4,本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法的服務(wù)器端控制器替換流程是在上述圖3步驟基礎(chǔ)上的進(jìn)一步具體操作:
步驟c進(jìn)一步包括:所述服務(wù)器在利用socket通信方法進(jìn)行通信時(shí)在接口處設(shè)置監(jiān)聽環(huán)節(jié),與所述客戶端建立連接后判斷是否接收到所述客戶端上傳的文件,如果接收到就把文件存放在相應(yīng)的工作空間目錄下;反之,不執(zhí)行任何操作。
步驟c進(jìn)一步包括:所述服務(wù)器源代碼中添加所述服務(wù)器端控制器函數(shù),并在每次調(diào)用所述發(fā)動(dòng)機(jī)模型函數(shù)前調(diào)用一次所述服務(wù)器端控制器函數(shù),所述服務(wù)器端控制器函數(shù)的內(nèi)容等效為“1”,即輸出保持和輸入一致,這里所述服務(wù)器端控制器的輸入輸出也需和用戶提交的用于替換的所述本地控制器保持一致。
步驟c進(jìn)一步包括:仿真時(shí),所述服務(wù)器端動(dòng)態(tài)調(diào)用保存在相應(yīng)工作空間目錄下的用于替換的所述本地控制器動(dòng)態(tài)鏈接庫(kù)文件所包含的控制器函數(shù),并結(jié)合所述發(fā)動(dòng)機(jī)模型得到實(shí)時(shí)的仿真結(jié)果。
本發(fā)明的具體實(shí)施方式中凡未涉及的說(shuō)明屬于本領(lǐng)域公知的技術(shù),可參考公知技術(shù)加以實(shí)施。
本發(fā)明經(jīng)反復(fù)試驗(yàn)驗(yàn)證,取得了滿意的試用效果。
以上具體實(shí)施方式及實(shí)施例是對(duì)本發(fā)明提出的一種基于航空發(fā)動(dòng)機(jī)全數(shù)字仿真平臺(tái)的控制器替換方法技術(shù)思想的具體支持,不能以此限定本發(fā)明的保護(hù)范圍,凡是按照本發(fā)明提出的技術(shù)思想,在本技術(shù)方案基礎(chǔ)上所做的任何等同變化或等效的改動(dòng),均仍屬于本發(fā)明技術(shù)方案保護(hù)的范圍。