亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ExternalHook的航空發(fā)動機試車臺在線調(diào)參系統(tǒng)

        2021-09-24 00:40:44王宇陽周鳳華
        燃?xì)鉁u輪試驗與研究 2021年3期
        關(guān)鍵詞:燃燒室線程按鈕

        王宇陽,丁 濤,周鳳華,張 寧

        (中國航發(fā)上海商用航空發(fā)動機制造有限責(zé)任公司,上海 201306)

        1 引言

        當(dāng)前國內(nèi)航空發(fā)動機試驗具有時間緊、型號多、任務(wù)大、可靠性要求高等特點,常常造成試驗設(shè)備和人力資源緊張。而為匹配每次試驗科目的參數(shù)要求,試驗常伴隨著對發(fā)動機電子控制系統(tǒng)(EEC)、測試接口設(shè)備(TIE)的調(diào)整——目前的試驗狀態(tài)是在發(fā)動機停車后進行,費時費力。如果能夠在試驗進行過程中在線調(diào)整發(fā)動機參數(shù),將極大地減少試驗的時間成本[1-3]。然而,試車臺數(shù)采系統(tǒng)的主要功能是實現(xiàn)傳感器信號的采集和顯示,其本身設(shè)計并不具有復(fù)雜的控制邏輯,不能滿足在線調(diào)整發(fā)動機參數(shù)需要的快速、可靠、復(fù)雜性的要求[4-6]。

        隨著軟件技術(shù)的發(fā)展,大部分的應(yīng)用系統(tǒng)供應(yīng)商會提供軟件開發(fā)工具包(SDK),軟件開發(fā)人員可以利用SDK輔助開發(fā)外圍第三方應(yīng)用程序[7]。某科研試車臺數(shù)采系統(tǒng)的SDK中提供了ExteralHook接口,該接口包含一套封裝于動態(tài)鏈接庫中的函數(shù),開發(fā)者可以利用該接口訪問數(shù)采系統(tǒng)的當(dāng)前值表(cur?rentvaluetable,CVT)。為此,本文介紹一種基于該ExteralHook 接口的試車臺在線調(diào)參系統(tǒng)的設(shè)計。該系統(tǒng)將復(fù)雜的邏輯控制寫入調(diào)參軟件,把經(jīng)過軟件處理的數(shù)據(jù)發(fā)送到試車臺數(shù)采系統(tǒng),再通過數(shù)采系統(tǒng)的ARINC429 和MOXA 板卡,與EEC、TIE 建立通信連接,從而實現(xiàn)在線調(diào)參功能。

        2 在線調(diào)參系統(tǒng)需求分析

        2.1 試車臺與發(fā)動機通信需求

        由于EEC 和TIE 的通道資源緊張,為盡可能減小其通信負(fù)擔(dān),需要減少用于在線調(diào)參功能的通道數(shù)量。試驗時調(diào)參參數(shù)可能有幾十個,但一次只需調(diào)整一個,因此在線調(diào)參系統(tǒng)和發(fā)動機使用ID值和調(diào)參值兩個通道。在發(fā)動機中預(yù)先寫入一個ID 值與調(diào)參值的映射關(guān)系表,調(diào)參操作時僅需試車臺發(fā)送ID值和調(diào)參值,隨后與EEC和TIE中的映射表對比,即能識別在線調(diào)參參數(shù)。

        同時,根據(jù)ARINC429通信協(xié)議,數(shù)據(jù)包的最大值決定了協(xié)議中maxparameter 屬性的取值,由于調(diào)參值參數(shù)范圍不同,且只有一個發(fā)送調(diào)參值的通道,這就導(dǎo)致需要使用maxparameter為定值的通道去發(fā)送maxparameter數(shù)值不同的調(diào)參值。為解決這個問題,ID值和調(diào)參值通道使用BNR編碼,規(guī)定14位到29位是有效數(shù)據(jù)位,故協(xié)議能發(fā)送的最大浮點數(shù)為215=32 768,將ARINC429 板卡調(diào)參值通道的maxpa?rameter屬性設(shè)定為32 768。系統(tǒng)發(fā)送調(diào)參值前,在線調(diào)參軟件附加一個縮放比例Ratio,Ratio為32 768與maxparameter的比值。如發(fā)送調(diào)參值為100,那么系統(tǒng)實際發(fā)送值為100×32 768÷128=25 600。發(fā)動機接收數(shù)據(jù)后,根據(jù)上述方法進行反算,即可得到有效參數(shù)值。

        2.2 在線調(diào)參軟件需求

        為使在線調(diào)參系統(tǒng)軟件具有較強的實時性和良好的人機交互界面,同時結(jié)合某型發(fā)動機研制項目的特殊需求,對在線調(diào)參軟件提出以下技術(shù)要求:

        (1) 軟件能自動測試Socket接口連接情況;

        (2) 軟件使用多線程技術(shù);

        (3) 軟件界面分為在線調(diào)參主界面和燃燒室專業(yè)參數(shù)調(diào)節(jié)界面;

        (4) 軟件界面具有快速安全可靠的操作邏輯;

        (5) 軟件界面顯示的發(fā)動機反饋值可靠、準(zhǔn)確;

        (6) 對于某些調(diào)參參數(shù),需具有特殊的邏輯功能(如參數(shù)微調(diào),設(shè)置調(diào)節(jié)臺階,參數(shù)鎖定等);

        (7) 軟件需比對發(fā)送值與反饋值,且考慮通信延遲性的影響;

        (8) 燃燒室專業(yè)參數(shù)調(diào)節(jié)時能實現(xiàn)線性插值計算等性能計算功能。

        3 在線調(diào)參系統(tǒng)總體架構(gòu)設(shè)計

        目前流行的一種異步通信方式為套接字(Sock?et),兩個網(wǎng)絡(luò)應(yīng)用程序進行通信,各自通信連接其中的一個端點。通信時,其中的一個網(wǎng)絡(luò)應(yīng)用程序?qū)⒁獋鬏數(shù)囊欢涡畔懭肫渌谥鳈C的Socket中。該Socket通過網(wǎng)絡(luò)接口卡的傳輸介質(zhì)將這段信息發(fā)送到另一個主機的Socket 中,使這段信息能傳送到其他應(yīng)用程序中[8]。試車臺在線調(diào)參系統(tǒng)中,一個Socket端口為數(shù)采系統(tǒng)主機,負(fù)責(zé)處理ARINC429總線(EEC)和RS422總線(TIE)信號;另一個Socket端口為在線調(diào)參計算機。數(shù)采系統(tǒng)主機從在線調(diào)參計算機接收數(shù)據(jù),分別通過ARINC429 總線和RS422 總線將數(shù)據(jù)包發(fā)送至EEC 和TIE,同時也接收它們的反饋信號并將其傳回在線調(diào)參計算機。具體結(jié)構(gòu)如圖1所示。

        圖1 在線調(diào)參系統(tǒng)總體架構(gòu)Fig.1 Adjusting-parameter online system structure

        4 在線調(diào)參軟件分層結(jié)構(gòu)

        基于在線調(diào)參軟件需求分析,軟件采用分層設(shè)計[9]。軟件分為人機交互層和系統(tǒng)交互層兩層,其結(jié)構(gòu)如圖2所示。人機交互層使用QT Designer進行開發(fā),具有操作靈活、方便、準(zhǔn)確、穩(wěn)定、數(shù)據(jù)顯示可靠的人機交互界面,包括試驗時對發(fā)動機的調(diào)參控制、重要參數(shù)顯示。系統(tǒng)交互層負(fù)責(zé)調(diào)參軟件與數(shù)采系統(tǒng)實時通信,處理人機交互層操作事件,進行性能計算等工作。

        圖2 在線調(diào)參軟件分層結(jié)構(gòu)Fig.2 Adjusting-parameter online system software hierarchical structure

        5 系統(tǒng)交互層的實現(xiàn)

        5.1 C++API實現(xiàn)軟件與數(shù)采系統(tǒng)主機的交互

        ExternalHook 接口包含了一套動態(tài)鏈接庫,實現(xiàn)方法封裝在EPHL.dll中。在動態(tài)鏈接庫EPHL.dll中,封裝了一系列的結(jié)構(gòu)體和函數(shù),定義在頭文件EPHL.h中。主要使用的結(jié)構(gòu)體為:

        (1) eEPHL_RETURN結(jié)構(gòu)體,用于儲存數(shù)采系統(tǒng)返回的特殊狀態(tài)信息,也是很多API 函數(shù)的返回類型。

        eEPHL_RETURN 主要用于軟件獲取在線調(diào)參計算機端口與數(shù)采系統(tǒng)的Socket 連接信息,如果返回EPHL_OK,則連接正常;反之,則根據(jù)返回類型提示錯誤信息。

        (2) eEPHL_CONN_TYPE 結(jié)構(gòu)體,用于儲存數(shù)采系統(tǒng)主機端口與軟件端口的連接類型。

        結(jié)構(gòu)體儲存通信數(shù)據(jù),而API 函數(shù)用于軟件對于數(shù)采系統(tǒng)CVT 的訪問。由于通道數(shù)據(jù)都是常用類型,即C++內(nèi)建類型,如浮點型、布爾型、整型等,所以不需要設(shè)計額外的結(jié)構(gòu)體或類來儲存數(shù)據(jù)。

        主要使用的API函數(shù)原型如下:

        (1) eEPHL_RETURN EPHL_write_channel(char*name,float*value)

        寫入數(shù)采系統(tǒng)通道。

        (2) eEPHL_RETURN EPHL_read_channel(char*name,float*value)

        讀取數(shù)采系統(tǒng)通道。

        (3) eEPHL_RETURN EPHL_close(void)

        關(guān)閉數(shù)采系統(tǒng)Socket端口。

        (4) eEPHL_RETURN EPHL_init(eEPHL_CONN_TYPE conn_type,char*serv_key);

        打開數(shù)采系統(tǒng)Socket端口。

        5.2 線程與線程間通信

        應(yīng)用程序的本質(zhì)是消息循環(huán),每次循環(huán)應(yīng)用程序和操作系統(tǒng)都有消息交換[10]。在線調(diào)參軟件打開Socket 端口后,需要持續(xù)不間斷地和數(shù)采系統(tǒng)交換消息,沒有入口處理人機交互層傳遞下來的事件消息。因此設(shè)計了雙線程機制:界面線程和后臺通信線程。界面線程處理調(diào)參主界面的操作事件,燃燒室調(diào)節(jié)界面的操作事件和插值運算;后臺通信線程處理調(diào)參軟件與數(shù)采系統(tǒng)以及軟件界面之間的通信。線程間的通信結(jié)構(gòu)如圖3所示。

        圖3 線程間通信Fig.3 Inter-thread communication

        界面線程通信包括:主界面接收來自后臺通信線程的數(shù)采系統(tǒng)數(shù)據(jù),發(fā)送和接收燃燒室調(diào)參界面的數(shù)據(jù);燃燒室調(diào)參界面接收來自主界面的數(shù)據(jù)。后臺通信線程包括:訪問數(shù)采系統(tǒng)CVT,傳遞數(shù)采系統(tǒng)數(shù)據(jù)給主界面線程,接收主界面線程的操作事件。

        線程間通信通過使用信號與槽機制,后臺通信線程寫入計時器,當(dāng)開啟該線程以后,觸發(fā)計時器,以0.1 s一次的頻率訪問數(shù)采系統(tǒng)CVT,在每個循環(huán)結(jié)束時觸發(fā)數(shù)據(jù)發(fā)送信號,發(fā)送到界面線程的主界面槽中來完成數(shù)據(jù)傳遞;主界面寫入計時器,循環(huán)刷新顯示控件,在每個循環(huán)結(jié)束時觸發(fā)數(shù)據(jù)發(fā)送信號,將數(shù)據(jù)發(fā)送到燃燒室在線調(diào)節(jié)界面相應(yīng)槽中,更新該界面的參數(shù)。

        軟件中主要的信號與槽的連接函數(shù)如下:

        (1) connect(this,SIGNAL(RunBackProcess()),backprocess,SLOT(m_SlotStartInit()))

        連接主界面后臺線程觸發(fā)信號和后臺通信線程槽函數(shù)。

        (2) connect(backprocess,&BackProcess::m_Data?Transfer,this,&MainWindow::m_Update)

        連接后臺通信線程傳輸信號和主界面刷新槽函數(shù)。

        (3) connect(this,&MainWindow::m_toFuelDistri?bution,m_FuelDistribution,&Dialog::m_Update);

        連接主界面與燃燒室調(diào)節(jié)界面?zhèn)鬏斝盘柵c調(diào)節(jié)界面刷新槽函數(shù)。

        5.3 主要模塊設(shè)計

        5.3.1 軟件初始化通信自檢工作流程

        軟件初始化流程如圖4 所示。打開軟件時,程序調(diào)用主界面構(gòu)造函數(shù),構(gòu)造函數(shù)調(diào)用軟件初始化通信自檢函數(shù),根據(jù)自檢情況判斷軟件當(dāng)前與數(shù)采系統(tǒng)的通信狀態(tài)。當(dāng)且僅當(dāng)API 函數(shù)返回EPHL_OK 時才會通過自檢,反之則顯示未通過自檢。自檢完成后,顯示在線調(diào)參軟件主界面。

        圖4 軟件初始化流程Fig.4 Software initialization flow chart

        5.3.2 軟件與數(shù)采系統(tǒng)通信工作流程

        軟件與數(shù)采系統(tǒng)通信流程如圖5所示。用戶在點擊左上角主界面的“connect”開關(guān)后,軟件開啟后臺線程。后臺線程每個循環(huán)從數(shù)采系統(tǒng)CVT 中提取和寫入數(shù)據(jù),循環(huán)計時為0.1 s。每個循環(huán)結(jié)束時,后臺線程和主界面線程進行一次通信,此時主界面接收和發(fā)送與數(shù)采系統(tǒng)的通信數(shù)據(jù)。

        圖5 軟件與數(shù)采系統(tǒng)通信流程Fig.5 Communication flow chart between software and acquisition system

        5.3.3 調(diào)參流程

        程序初始化時,設(shè)置調(diào)參ID值缺省值為255,調(diào)參值缺省值為0。255為EEC/TIE接收的無效參數(shù),發(fā)動機在接收到該參數(shù)時不會觸發(fā)任何動作。調(diào)參工作流程如圖6 所示。調(diào)參操作時,首先打開調(diào)參開關(guān),在需求調(diào)參的通道輸入調(diào)參值,軟件會自動計算當(dāng)前調(diào)參值對應(yīng)的調(diào)參ID 值。然后點擊“注入”按鈕,軟件進行如下流程:如果調(diào)參開關(guān)此時未打開,則提示用戶打開調(diào)參開關(guān),并且不改變當(dāng)前調(diào)參ID 值和調(diào)參值;如果調(diào)參開關(guān)打開,但輸入調(diào)參值超過該調(diào)參值量程范圍,則提示用戶確認(rèn)參數(shù)值是否正確,并且不改變當(dāng)前調(diào)參ID 值和調(diào)參值;如果調(diào)參開關(guān)打開,且輸入調(diào)參值滿足調(diào)參量程范圍,則軟件計算當(dāng)前通道調(diào)參ID 值,再根據(jù)ARINC429 協(xié)議計算當(dāng)前調(diào)參值浮點數(shù)到整數(shù)的轉(zhuǎn)換數(shù)值,并按需計算調(diào)參值為負(fù)時的補碼,把計算結(jié)果發(fā)送到后臺線程的調(diào)參ID和調(diào)參值變量,后臺線程再將調(diào)參ID和調(diào)參值變量發(fā)送到發(fā)動機,隨后主界面線程停滯2 s等待接收EEC/TIE反饋ID值和調(diào)參值,最后將反饋ID值和調(diào)參值反算后與系統(tǒng)發(fā)送的ID值和調(diào)參值進行比對。如果比對結(jié)果一致,彈出提示窗口,點擊彈窗的“OK”按鈕后,軟件自動關(guān)閉調(diào)參開關(guān),完成整個調(diào)參流程;如果比對結(jié)果不一致,彈出提示窗口,點擊“OK”按鈕后,調(diào)參ID值和調(diào)參值變更為缺省值,并且不關(guān)閉調(diào)參開關(guān),等待下一輪輸入。

        圖6 調(diào)參工作流程Fig.6 Adjusting-parameter working flow chart

        5.3.4 增減量調(diào)節(jié)按鈕流程

        增減量調(diào)節(jié)按鈕分別用于調(diào)節(jié)可調(diào)靜止葉片角度鎖定值和主燃級M%燃油分配比例。增減量調(diào)節(jié)按鈕流程見圖7。除增量臺階設(shè)置外,主燃級M%燃油分配比例調(diào)參還具有調(diào)節(jié)最大值設(shè)置功能。調(diào)節(jié)時,程序讀取當(dāng)前臺階設(shè)置和調(diào)節(jié)最大值,如果符合調(diào)節(jié)條件,則更改調(diào)節(jié)值并填入?yún)?shù)值調(diào)節(jié)框;如果不符合條件,則彈出警告窗且維持原調(diào)節(jié)值不變。

        圖7 增減量調(diào)節(jié)按鈕流程Fig.7 Increase/decrease adjusting button flow chart

        6 燃燒室參數(shù)調(diào)節(jié)應(yīng)用實例

        燃燒室相關(guān)的性能參數(shù)調(diào)節(jié)為在線調(diào)參較為重要的調(diào)節(jié)流程,通過燃燒室的參數(shù)調(diào)節(jié)能完成主燃級打開等關(guān)鍵單項試驗科目。

        燃燒室在線調(diào)節(jié)界面數(shù)據(jù)顯示主要分為三部分:目標(biāo)P2%計算值顯示,重要參數(shù)顯示和開關(guān)量顯示。目標(biāo)P2%顯示的輸入為目標(biāo)M%值,用戶輸入M%,點擊“Apply”按鈕,從主界面線程提取當(dāng)前EEC 的燃油流量,使用M%和燃油流量計算出目標(biāo)P2%,并自動填充到P2%比例調(diào)節(jié)的調(diào)參值框。同時,該界面在主窗口調(diào)用構(gòu)造函數(shù)時實例化,后臺線程啟動后循環(huán)向燃燒室在線調(diào)節(jié)界面對象中的變量發(fā)送數(shù)據(jù),燃燒室界面顯示對象中的重要參數(shù)。燃油分配在線可調(diào)標(biāo)志和主燃級可調(diào)標(biāo)志開關(guān)指示燈初始化為0,每次點擊按鈕時,均會改變指示燈開關(guān)量狀態(tài)。

        調(diào)參值中的P2%比例通過主燃級M%比例自動插值得到,插值流程如圖8 所示。點擊界面上的“Apply”按鈕時,程序讀取當(dāng)前輸入M%值和機載傳感器燃油流量,計算P1M,經(jīng)過線性插值計算P2M,再使用燃油流量和P2M計算出P2%比例,然后自動填入調(diào)參框中。

        圖8 主燃級M%到P2%插值流程Fig.8 Primary fuel M%level to P2%level interpolation flow chart

        7 人機交互界面設(shè)計

        為實現(xiàn)友好、簡潔的人機交互界面,使用QT Designer作為人機交互界面開發(fā)工具。根據(jù)某型發(fā)動機具體要求,設(shè)計了如圖9、圖10所示界面。

        圖9 是在線調(diào)參主界面,包括EEC 調(diào)參界面和TIE調(diào)參界面。界面菜單欄的“connect”按鈕實現(xiàn)在線調(diào)參系統(tǒng)與發(fā)動機的通信連接(開啟后臺通信線程),左上角的“調(diào)參開關(guān)”實現(xiàn)在打開此開關(guān)時發(fā)動機才能觸發(fā)調(diào)參動作,并配有反饋指示燈。EEC 調(diào)參界面中,每個調(diào)參值有參數(shù)輸入框、“注入”按鈕、EEC 反饋A/B 通道值,其中VSV 角度鎖定調(diào)參值還有+-微調(diào)按鈕以及微調(diào)按鈕臺階設(shè)置。TIE 界面中,每個調(diào)參值有參數(shù)輸入框、“注入”按鈕、TIE 反饋值。界面右邊的“燃油分配調(diào)節(jié)”按鈕,用于打開圖10所示的燃燒室燃油分配在線調(diào)節(jié)界面。

        圖9 在線調(diào)參系統(tǒng)主界面Fig.9 Main interface of parameter-adjusting online system

        圖10 燃燒室調(diào)節(jié)界面Fig.10 Combustor adjusting interface

        圖10 左邊顯示了一些調(diào)節(jié)過程中需要關(guān)注的重要參數(shù),其中左上方的兩個按鈕用于打開燃燒室調(diào)節(jié)參數(shù)的鎖定狀態(tài)。右邊為一些操作控件,可以實現(xiàn)設(shè)置調(diào)節(jié)最大值、調(diào)節(jié)臺階、微調(diào)、發(fā)送調(diào)參值等動作。

        8 結(jié)束語

        利用ExternalHook編寫的在線調(diào)參程序配合試車臺數(shù)采系統(tǒng)現(xiàn)有環(huán)境,極大地提高了航空發(fā)動機試車中在線調(diào)參的實用性。同時,友好的人機交互界面和交互層邏輯,增加了在線調(diào)參操作過程中的容錯能力;對調(diào)參操作進行了簡化,提高了航空發(fā)動機試車的效率。經(jīng)過某型核心機與整機長時間的試車準(zhǔn)備階段驗證,此系統(tǒng)可靠、安全、穩(wěn)定,對于航空發(fā)動機試車在線調(diào)參科目的實現(xiàn)有一定的參考意義。

        猜你喜歡
        燃燒室線程按鈕
        哪個是門鈴真正的按鈕
        燃燒室形狀對國六柴油機性能的影響
        當(dāng)你面前有個按鈕
        一種熱電偶在燃燒室出口溫度場的測量應(yīng)用
        電子制作(2019年19期)2019-11-23 08:41:54
        死循環(huán)
        淺談linux多線程協(xié)作
        內(nèi)心不能碰的按鈕
        高幾何壓縮比活塞的燃燒室形狀探討
        Linux線程實現(xiàn)技術(shù)研究
        渦輪間燃燒室簡介
        亚洲乱亚洲乱少妇无码99p| 区一区二区三免费观看视频| 男女射黄视频网站在线免费观看| 成午夜精品一区二区三区| 亚洲av无码一区二区三区四区| 免费看奶头视频的网站| 亚洲综合精品在线观看中文字幕| 麻豆国产av在线观看| 四虎影视久久久免费观看| 性一交一乱一伦a片| 亚洲国产成人精品91久久久| 一本色道久久88综合亚精品| 国产午夜视频一区二区三区| 日本入室强伦姧bd在线观看| 欧美在线播放一区二区| 成人偷拍自拍在线视频| 无遮挡很爽很污很黄的女同| 超清纯白嫩大学生无码网站| 一本一道波多野结衣av中文| 国产最新一区二区三区| 蜜桃av人妻精品一区二区三区 | 伊人久久综合无码成人网| 丰满多毛的大隂户毛茸茸| 色老头在线一区二区三区| 国产精品视频久久久久| 如何看色黄视频中文字幕| 女同重口味一区二区在线| 你懂的视频在线看播放| 亚洲欧美中文日韩在线v日本| 亚洲人成无码区在线观看| 精品无码人妻一区二区三区品| 无码不卡高清毛片免费| 免费一区二区三区视频狠狠| 国产在线拍91揄自揄视精品91| 精品国产一区二区三区性色 | 99精品一区二区三区无码吞精| 亚洲欧美精品aaaaaa片| 久久老子午夜精品无码| 一区二区三区国产视频在线观看| 精品在线视频在线视频在线视频 | 蜜桃av噜噜一区二区三区9|