梁森,王婧茹,姚鷁,鄭保
(1.航空工業(yè)第一飛機(jī)設(shè)計(jì)研究院檢驗(yàn)計(jì)量中心,陜西 西安710089;2.中航西飛民用飛機(jī)有限責(zé)任公司,陜西 西安710089;3.空裝駐西安地區(qū)軍事代表局第一軍事代表室,陜西 西安710089)
隨著現(xiàn)代傳感器以及數(shù)字計(jì)算機(jī)的不斷發(fā)展,在控制領(lǐng)域,模擬信號(hào)越來(lái)越多地被離散化為數(shù)字信號(hào)。各類數(shù)字計(jì)算機(jī)因具有控制精度高、可靠性好、實(shí)時(shí)性好等優(yōu)點(diǎn),在現(xiàn)代嵌入式機(jī)載設(shè)備開(kāi)發(fā)領(lǐng)域中的使用已成為主流[1-7]。目前,某一個(gè)控制系統(tǒng)一般由幾個(gè)不同的控制計(jì)算機(jī)或者控制器組成,各控制器之間的通訊以及狀態(tài)切換成為控制系統(tǒng)設(shè)計(jì)的關(guān)鍵。
在系統(tǒng)建模時(shí)必須考慮到系統(tǒng)各個(gè)狀態(tài)之間的轉(zhuǎn)換過(guò)程,因此本文介紹了基于有限狀態(tài)機(jī)的數(shù)學(xué)模型及Petri網(wǎng)在民機(jī)高升力分系統(tǒng)設(shè)計(jì)中的應(yīng)用,通過(guò)系統(tǒng)狀態(tài)機(jī)建模、仿真分析以及將仿真結(jié)果和試驗(yàn)結(jié)果進(jìn)行比對(duì)并校準(zhǔn)這一完整過(guò)程,來(lái)論述該方法的可行性以及意義。
Petri網(wǎng)絡(luò)是1962年由卡爾·佩特里博士發(fā)明的一種用于描述離散系統(tǒng)的數(shù)學(xué)方法。Petri網(wǎng)能表達(dá)并發(fā)的事件[8],具有嚴(yán)格的數(shù)學(xué)表達(dá)和直觀的圖形描述。將Petri網(wǎng)絡(luò)應(yīng)用于狀態(tài)機(jī)領(lǐng)域,其數(shù)學(xué)表達(dá)即系統(tǒng)的狀態(tài)轉(zhuǎn)移方程,圖形描述即狀態(tài)遷移圖,二者可以分別對(duì)系統(tǒng)狀態(tài)流進(jìn)行詳細(xì)的描述和分析。
Petri網(wǎng)絡(luò)的基本元素有:①庫(kù)所:用來(lái)描述不同狀態(tài)的節(jié)點(diǎn);②變遷:對(duì)應(yīng)系統(tǒng)中某一事件的發(fā)生;③有向?。簬?kù)所和變遷之間的有向線段,表示狀態(tài)遷移的方向;④令牌:庫(kù)所中的動(dòng)態(tài)對(duì)象(用庫(kù)所中的實(shí)心圓表示),隨著事件的發(fā)生,令牌可以從一個(gè)庫(kù)所遷移到其他庫(kù)所。
系統(tǒng)的狀態(tài)轉(zhuǎn)移方程是基于系統(tǒng)的狀態(tài)機(jī)模型,利用離散整數(shù)來(lái)構(gòu)建的線性矩陣。它能夠描述系統(tǒng)的動(dòng)態(tài)特性,同時(shí)為利用計(jì)算機(jī)來(lái)實(shí)現(xiàn)仿真和驗(yàn)證提供了可能。Petri網(wǎng)絡(luò)具備三個(gè)基本屬性:有界性、非死環(huán)、可回溯性[9]。對(duì)于任意一個(gè)Petri網(wǎng)絡(luò)的分析都是以這三個(gè)屬性為出發(fā)點(diǎn)來(lái)進(jìn)行的。
某民機(jī)高升力系統(tǒng)架構(gòu)如圖1所示。整個(gè)系統(tǒng)是駕駛員在環(huán)的閉環(huán)控制系統(tǒng)。系統(tǒng)操作分為正常模態(tài)和降級(jí)模態(tài)。在正常模態(tài)下,駕駛員通過(guò)座艙屏顯獲取當(dāng)前舵面位置以及系統(tǒng)狀態(tài)等信息。根據(jù)飛行需要,操縱控制手柄至目標(biāo)位置,該操縱信號(hào)通過(guò)手柄位置傳感器并經(jīng)過(guò)A/D轉(zhuǎn)換輸入到控制器,控制器采集當(dāng)前舵面位置傳感器信息獲取當(dāng)前舵面位置,根據(jù)當(dāng)前位置與目標(biāo)位置進(jìn)行控制律解算,得出偏差角并輸入到動(dòng)力驅(qū)動(dòng)單元,動(dòng)力驅(qū)動(dòng)單元根據(jù)偏差角的大小和極性控制直流電機(jī)旋轉(zhuǎn),帶動(dòng)扭力桿等作動(dòng)器控制舵面運(yùn)動(dòng)到目標(biāo)位置,完成整個(gè)閉環(huán)控制過(guò)程[10]。
圖1 某民機(jī)高升力系統(tǒng)架構(gòu)
控制器發(fā)生故障導(dǎo)致系統(tǒng)進(jìn)入降級(jí)模態(tài)。在該模態(tài)下,駕駛員通過(guò)超控單元的使能按鈕使能超控單元,直接通過(guò)超控單元控制動(dòng)力驅(qū)動(dòng)單元的電機(jī),從而控制舵面運(yùn)動(dòng)到安全位置,保證飛行安全。
在該系統(tǒng)中,控制器是控制核心,它與動(dòng)力驅(qū)動(dòng)單元協(xié)同工作,共同實(shí)現(xiàn)舵面位置控制、系統(tǒng)狀態(tài)監(jiān)控等功能。作為系統(tǒng)核心的控制器,負(fù)責(zé)解算控制律和上報(bào)系統(tǒng)狀態(tài)監(jiān)控等任務(wù)。首先,控制器在上電時(shí)會(huì)進(jìn)行上電自檢測(cè)(PUBIT),對(duì)其本身的軟、硬件進(jìn)行檢測(cè);同時(shí)動(dòng)力驅(qū)動(dòng)單元本身沒(méi)有與外界系統(tǒng)通訊的接口,故它的所有信息(包括本身檢測(cè)結(jié)果、傳感器正常與否)都要上報(bào)給控制器,由控制器進(jìn)行故障綜合與判斷,一并上報(bào)給其他系統(tǒng)提供給駕駛員[11]??刂破髋c動(dòng)力驅(qū)動(dòng)單元之間的通訊機(jī)制相同,都是先檢測(cè)ARINC429數(shù)據(jù)的label號(hào),若label號(hào)正確,再解析數(shù)據(jù),否則直接丟棄該數(shù)據(jù)包。
基于以上系統(tǒng)架構(gòu)和通訊機(jī)制,建立正常模態(tài)下系統(tǒng)的狀態(tài)機(jī)模型。經(jīng)過(guò)分析和歸納,該系統(tǒng)主要有以下幾個(gè)狀態(tài):①以上電為起點(diǎn),系統(tǒng)首先進(jìn)入初始化狀態(tài);②進(jìn)行PUBIT,對(duì)控制器本身的接口、寄存器等進(jìn)行自檢測(cè),同時(shí)完成對(duì)各種傳感器的檢測(cè);③進(jìn)入等待狀態(tài),等待控制指令的輸入;④當(dāng)控制指令發(fā)出時(shí),系統(tǒng)進(jìn)入運(yùn)行狀態(tài);⑤運(yùn)行階段控制器對(duì)系統(tǒng)各部件狀態(tài)進(jìn)行監(jiān)控,若沒(méi)有故障,則系統(tǒng)運(yùn)行至舵面達(dá)到目標(biāo)位置,等待下一次控制指令。
若系統(tǒng)某一部件出現(xiàn)故障,則系統(tǒng)進(jìn)入相應(yīng)的故障處理狀態(tài),嘗試3次修復(fù)故障,若故障排除,則系統(tǒng)恢復(fù)到等待狀態(tài);否則進(jìn)入超控(掛起)狀態(tài),等待系統(tǒng)下電,進(jìn)一步檢測(cè)故障。
3.1.1 控制手柄建模
手柄僅在控制指令發(fā)出時(shí)用到,它的模型非常簡(jiǎn)單。因?yàn)榘釀?dòng)手柄的過(guò)程非???,故認(rèn)為這個(gè)過(guò)程是瞬時(shí)的,因此它共有二個(gè)狀態(tài):①初始化狀態(tài):上電之后立即進(jìn)入初始化狀態(tài),初始化傳感器參數(shù)等;②等待狀態(tài):等待駕駛員搬動(dòng)手柄。它的Petri網(wǎng)絡(luò)模型如圖2所示。
圖2 手柄狀態(tài)機(jī)模型
最終系統(tǒng)重新上電后,又進(jìn)入初始化狀態(tài)。該模型是一個(gè)二值模型,沒(méi)有死環(huán)和無(wú)界庫(kù)所,而且所有變遷都是可達(dá)的。
3.1.2 舵面位置傳感器建模
舵面位置傳感器作為反饋的重要環(huán)節(jié),也有兩個(gè)狀態(tài):上電后初始狀態(tài)(上電后隨即進(jìn)入初始狀態(tài))、運(yùn)行(數(shù)據(jù)采集)狀態(tài)(采集舵面位置信息并傳給控制器)。它的模型和手柄類似(這里不再贅述),但是實(shí)際執(zhí)行過(guò)程卻不同:手柄運(yùn)動(dòng)是瞬時(shí)的,而傳感器采集數(shù)據(jù)則有一段持續(xù)時(shí)間。
3.1.3 控制器建模
作為整個(gè)系統(tǒng)的核心,控制器的狀態(tài)機(jī)模型貫穿了控制過(guò)程的始終,幾乎所有部件都參與其中,此模型最為復(fù)雜,它的狀態(tài)劃分為:①初始化狀態(tài):以系統(tǒng)上電為起點(diǎn),首先控制器進(jìn)入初始化狀態(tài),對(duì)其中的板卡、接口進(jìn)行初始化操作,隨后進(jìn)入上電自檢測(cè)過(guò)程;②等待狀態(tài):經(jīng)過(guò)上電自檢測(cè)后,控制器進(jìn)入等待狀態(tài),等待控制指令的輸入;③運(yùn)行狀態(tài):當(dāng)手柄控制指令輸入時(shí),控制器進(jìn)入運(yùn)行狀態(tài),同時(shí)位置傳感器實(shí)時(shí)監(jiān)測(cè)舵面位置;若到位,則釋放位置傳感器,同時(shí)控制器回到等待狀態(tài);若沒(méi)有到位,則控制器在運(yùn)行狀態(tài)一直循環(huán);④故障處理狀態(tài):若運(yùn)行過(guò)程中發(fā)生故障,則控制器進(jìn)入該狀態(tài);⑤超控(掛起)狀態(tài):若故障未能排除,則駕駛員使能超控單元,直接控制動(dòng)力驅(qū)動(dòng)單元驅(qū)動(dòng)舵面,此時(shí)控制器進(jìn)入超控(掛起)狀態(tài),等待系統(tǒng)下電后進(jìn)一步檢測(cè)故障。重新上電后又進(jìn)入初始化狀態(tài)[12]。
控制器狀態(tài)機(jī)模型如圖3所示。
圖3 控制器狀態(tài)機(jī)模型
在該模型中,由于幾乎所有部件都參與其中,故其他部件在該狀態(tài)機(jī)模型中也有相應(yīng)的表達(dá),但是通過(guò)仿真運(yùn)行可以看出,這個(gè)控制器模型中存在著“死環(huán)”和無(wú)界庫(kù)所。在排除了上述兩個(gè)問(wèn)題后,控制器模型最終建立。圖4為系統(tǒng)狀態(tài)機(jī)屬性檢查情況。
圖4 系統(tǒng)狀態(tài)機(jī)屬性檢查輸出
根據(jù)圖4可以看出,模型屬性檢查輸出結(jié)果均為“Y”,表示控制器模型被正確建立。通過(guò)控制器狀態(tài)機(jī)建模過(guò)程可以看出:對(duì)于復(fù)雜部件,建模過(guò)程并不是一蹴而就的,而是“建?!P头治觥l(fā)現(xiàn)錯(cuò)誤→模型修正”這樣一個(gè)反復(fù)迭代的過(guò)程。
3.1.4 其他部件建模
動(dòng)力驅(qū)動(dòng)單元是系統(tǒng)的控制指令輸出部件,它接收到控制器解算出的偏差角后,根據(jù)偏差角的大小和極性,輸出指令到直流電機(jī),控制舵面運(yùn)動(dòng)到目標(biāo)位置。它的狀態(tài)可劃分為:①初始化狀態(tài):系統(tǒng)上電后,進(jìn)入初始化狀態(tài),對(duì)動(dòng)力驅(qū)動(dòng)單元內(nèi)部的板卡和各種接口進(jìn)行初始化操作,之后進(jìn)入上電自檢測(cè);②等待狀態(tài):完成上電自檢測(cè)后,進(jìn)入等待狀態(tài),等待控制器輸出的偏差角;③運(yùn)行狀態(tài):接收到控制器解算出的偏差角后,進(jìn)入運(yùn)行狀態(tài);④超控狀態(tài):當(dāng)控制器出現(xiàn)故障且未能排除,駕駛員使能超控單元,直接控制動(dòng)力驅(qū)動(dòng)單元控制舵面,而控制器此時(shí)被掛起。最終系統(tǒng)重新上電后,又進(jìn)入初始化狀態(tài)[13]。
超控單元是保證飛行安全的重要部件。控制器發(fā)生故障時(shí),駕駛員使能超控單元,通過(guò)超控面板的收放旋鈕直接控制動(dòng)力驅(qū)動(dòng)單元。它的狀態(tài)如下:①初始化狀態(tài):系統(tǒng)上電后,超控單元初始化它的各種傳感器;②等待狀態(tài):完成初始化操作后,系統(tǒng)進(jìn)入等待狀態(tài),等待駕駛員的控制指令;③超控狀態(tài):當(dāng)系統(tǒng)檢測(cè)到控制器出現(xiàn)故障并無(wú)法排除時(shí),駕駛員使能超控單元,進(jìn)入超控狀態(tài)。系統(tǒng)重新上電以后,又進(jìn)入初始化狀態(tài)。
利用部件狀態(tài)機(jī)模型構(gòu)建系統(tǒng)狀態(tài)機(jī)模型的過(guò)程是通過(guò)交互部件融合實(shí)現(xiàn)。交互部件即在構(gòu)建部件狀態(tài)機(jī)模型時(shí)外加的、輔助該部件完成其功能的庫(kù)所或者變遷。
交互部件融合有兩種方式:同步融合和異步融合。同步融合即將相關(guān)聯(lián)的變遷融合,這樣使得不同部件在同一時(shí)刻觸發(fā)同一變遷,故稱為同步融合。相反,異步融合即將相關(guān)的庫(kù)所融合,因?yàn)檫@樣不能使系統(tǒng)狀態(tài)同步變遷,故稱之為異步融合。
下面就通過(guò)這兩種方式來(lái)構(gòu)建該飛行控制分系統(tǒng)的完整狀態(tài)機(jī)模型。
部件模型融合是分步實(shí)現(xiàn)的,先把最簡(jiǎn)單的部件融合在一起,然后再把較復(fù)雜、需要仔細(xì)研究甚至做一定修正的部件進(jìn)一步融合,最后得到優(yōu)化的、正確的系統(tǒng)模型。
圖5 系統(tǒng)模型融合最終結(jié)果
從模型屬性檢查窗口能夠清楚地看出整個(gè)系統(tǒng)狀態(tài)每一步的變遷過(guò)程,直至系統(tǒng)狀態(tài)復(fù)原:①初始化狀態(tài):Init,Init_PDU,Init_H,Init_Pos,Init_Sup,每一個(gè)部件都進(jìn)入初始化狀態(tài);②等待狀態(tài):當(dāng)所有部件都完成自檢測(cè)或者初始化之后,系統(tǒng)進(jìn)入等待狀態(tài),等待駕駛員輸入的控制指令;③運(yùn)行狀態(tài):當(dāng)駕駛員控制手柄有輸入信號(hào)時(shí),除了超控單元以外的所有部件都參與控制,直至檢測(cè)到故障或者舵面運(yùn)動(dòng)到位;④故障修復(fù)狀態(tài):當(dāng)系統(tǒng)檢測(cè)到故障,則進(jìn)入故障修復(fù)狀態(tài),連續(xù)進(jìn)行三次修復(fù),根據(jù)結(jié)果進(jìn)入故障排除或者故障不能排除狀態(tài);⑤超控狀態(tài):若經(jīng)過(guò)三次處理均不能排除故障,則系統(tǒng)由超控單元控制進(jìn)入超控狀態(tài)。隨著系統(tǒng)重新上電,又恢復(fù)到初始狀態(tài)[14]。
這個(gè)過(guò)程的描述看起來(lái)和3.1節(jié)中的描述沒(méi)有太大區(qū)別,但是卻把整個(gè)系統(tǒng)的每一個(gè)部件在控制過(guò)程中的狀態(tài)流全部梳理清楚,這是原模型所不能達(dá)到的,而且在具體分析問(wèn)題和故障時(shí),能更快速地定位,使得系統(tǒng)狀態(tài)流程變得簡(jiǎn)單、明晰。同時(shí)通過(guò)系統(tǒng)狀態(tài)機(jī)模型,可以自動(dòng)生成相關(guān)控制代碼,為后續(xù)系統(tǒng)仿真及測(cè)試奠定了基礎(chǔ)。
通過(guò)系統(tǒng)試驗(yàn)和模型仿真來(lái)驗(yàn)證模型的正確性。通過(guò)系統(tǒng)綜合試驗(yàn)可以看出,在系統(tǒng)初始上電后,每一部件都進(jìn)入“初始化”狀態(tài),仿真結(jié)果如圖6所示。
圖6 高升力系統(tǒng)仿真結(jié)果
初始化結(jié)束以后,所有部件都進(jìn)入等待狀態(tài),等待駕駛員控制指令的輸入。
當(dāng)駕駛員操縱手柄,系統(tǒng)隨之進(jìn)入運(yùn)行狀態(tài)。在運(yùn)行狀態(tài),實(shí)時(shí)檢測(cè)舵面目標(biāo)位置是否等于當(dāng)前位置,若相等,則該操作結(jié)束,所有部件都回到等待狀態(tài),等待下一次控制指令輸入,否則,在運(yùn)行狀態(tài)一直循環(huán)。若在運(yùn)行狀態(tài)發(fā)生故障,則進(jìn)入故障處理狀態(tài),故障處理的結(jié)果決定系統(tǒng)進(jìn)入超控(掛起)狀態(tài)還是繼續(xù)運(yùn)行。若故障未能排除,則由超控單元發(fā)出超控指令,系統(tǒng)進(jìn)入超控(掛起)狀態(tài),重新上電后系統(tǒng)又恢復(fù)到初始化狀態(tài)。這和整個(gè)系統(tǒng)試驗(yàn)過(guò)程一致,說(shuō)明了該模型不僅在狀態(tài)機(jī)角度審視正確,且符合系統(tǒng)試驗(yàn)的邏輯,證明了該方法的正確性、合理性。
系統(tǒng)測(cè)試可以通過(guò)單步測(cè)試和自動(dòng)測(cè)試來(lái)進(jìn)行。單步測(cè)試需要測(cè)試人員手動(dòng)激勵(lì)每一步的輸入條件;自動(dòng)測(cè)試則將所有激勵(lì)條件通過(guò)初始化的方式加載到模型中,之后通過(guò)模型自動(dòng)運(yùn)行來(lái)實(shí)現(xiàn)自動(dòng)化測(cè)試,當(dāng)系統(tǒng)出現(xiàn)bug時(shí),測(cè)試會(huì)自動(dòng)停止。系統(tǒng)測(cè)試過(guò)程流程圖如圖7所示。
圖7 系統(tǒng)測(cè)試流程圖
該測(cè)試系統(tǒng)由工控機(jī)、以太網(wǎng)交換機(jī)、光纖反射內(nèi)存網(wǎng)和信號(hào)調(diào)理裝置組成。對(duì)測(cè)試系統(tǒng)采用現(xiàn)場(chǎng)校準(zhǔn)的方法,校準(zhǔn)示意圖如圖8所示,通過(guò)對(duì)狀態(tài)機(jī)的建模及仿真,可以確認(rèn)狀態(tài)機(jī)模型的正確性,再通過(guò)編制測(cè)試腳本生成自動(dòng)化測(cè)試用例,將校準(zhǔn)參數(shù)加載到測(cè)試用例中,最后加載到校準(zhǔn)系統(tǒng)中,可以實(shí)現(xiàn)測(cè)試系統(tǒng)的自動(dòng)校準(zhǔn)。其中典型的總線信號(hào)時(shí)間間隔準(zhǔn)確度可達(dá)到0.003μs。
圖8 校準(zhǔn)示意圖
本文基于某民機(jī)飛控高升力系統(tǒng)架構(gòu),利用Petri網(wǎng)絡(luò)這一狀態(tài)機(jī)描述工具,分別建立了系統(tǒng)各個(gè)部件的狀態(tài)機(jī)模型,之后通過(guò)模型融合并局部修正的方法重新構(gòu)建了更詳細(xì)的系統(tǒng)狀態(tài)機(jī)模型,最終通過(guò)仿真驗(yàn)證及系統(tǒng)測(cè)試、校準(zhǔn),證明了該方法的正確性。該方法在某些方面還需進(jìn)一步探索和研究:①實(shí)際系統(tǒng)狀態(tài)遷移總是耗費(fèi)時(shí)間的,不考慮時(shí)間效應(yīng)是為了簡(jiǎn)化建模過(guò)程,機(jī)載嵌入式設(shè)備大多為實(shí)時(shí)系統(tǒng),因此對(duì)時(shí)間效應(yīng)的影響是狀態(tài)機(jī)領(lǐng)域需要進(jìn)一步深入研究的重點(diǎn)方向[15];②目前系統(tǒng)的校準(zhǔn)基本采用現(xiàn)場(chǎng)校準(zhǔn)的方式,隨著智能技術(shù)的發(fā)展,未來(lái)遠(yuǎn)程智能校準(zhǔn)也將是研究的目標(biāo)之一。