(91550部隊(duì) 大連 116023)
現(xiàn)代航空電子系統(tǒng)通常采用的是MIL-STD-1553B時(shí)分制指令/響應(yīng)多路傳輸數(shù)據(jù)總線通信系統(tǒng),它包括總線控制器(BC)、遠(yuǎn)程終端(RT)、總線監(jiān)控器(BM)及電纜等,是一種集中控制、分布式處理的系統(tǒng)[1~2]。為了保證通信系統(tǒng)正常運(yùn)行,使系統(tǒng)在調(diào)試、互聯(lián)、檢測(cè)等過程中,對(duì)發(fā)生的故障、技術(shù)問題能夠準(zhǔn)確定位、及時(shí)排除,需要一種能夠完成這種任務(wù)的檢測(cè)仿真設(shè)備。
LabVIEW是虛擬儀器概念的首創(chuàng)者,是美國(guó)National Instruments(簡(jiǎn)稱NI)公司推出的一款圖形化軟件開發(fā)環(huán)境[3~6]。LabVIEW版本中首次引入了面向?qū)ο缶幊痰乃枷耄脩艨蓜?chuàng)建更易維護(hù)的代碼,令代碼的修改不影響應(yīng)用程序中的其它代碼,也可用于創(chuàng)建用戶定義的數(shù)據(jù)類型[7~8]。
Unified Modeling Language(簡(jiǎn)稱UML)是一種面向?qū)ο蟮慕UZ言,用來描述軟件從需求分析到實(shí)現(xiàn)和測(cè)試的全過程。它涵蓋了面向?qū)ο蟮姆治觥⒃O(shè)計(jì)和實(shí)現(xiàn),融合了早期面向?qū)ο蠼7椒ê透鞣N建模語言的優(yōu)點(diǎn),為面向?qū)ο笙到y(tǒng)的開發(fā)、軟件自動(dòng)化工具與環(huán)境提供了豐富的、嚴(yán)謹(jǐn)?shù)摹U(kuò)充性強(qiáng)的表達(dá)方式[9~10]。UML 是由圖和元模型組成的。圖是UML的語法,而元模型則給出了圖的意思,是UML的語義。UML語言中的核心概念包括用例圖、用例、角色、協(xié)作圖、順序圖、狀態(tài)圖、類圖、組件圖、配置圖等。
本文基于UML采用面向?qū)ο缶幊痰姆椒ǎ?1],在LabVIEW中實(shí)現(xiàn)了某型號(hào)武器火控系統(tǒng)內(nèi)部的1553B通訊仿真。其具有以下特點(diǎn):
1)與面向過程的編程方法相比,極大地降低了模塊之間的耦合性,保證了不同模塊可以完全獨(dú)立的開發(fā)、測(cè)試、維護(hù)和升級(jí);
2)LabVIEW與傳統(tǒng)的面向?qū)ο缶幊陶Z言不同,它采用強(qiáng)大的圖形化語言(G語言)編程,面向測(cè)試工程師而非專業(yè)程序人員,編程非常方便,人機(jī)交互界面直觀友好,開發(fā)周期短,具有強(qiáng)大的數(shù)據(jù)可視化分析和儀器控制能力等特點(diǎn)。
某型號(hào)武器火控系統(tǒng)內(nèi)部的1553B通訊系統(tǒng)由總線監(jiān)控器(BM)、總線控制器(BC)和三個(gè)遠(yuǎn)程終端(RT),通過1553B總線接口并經(jīng)過總線介質(zhì)互連而成,各自操作獨(dú)立,資源和功能則可通過網(wǎng)絡(luò)共享。其中,BC用來控制RT的接收和發(fā)送信息,BM負(fù)責(zé)接收總線上傳輸?shù)臄?shù)據(jù),并截取選定的信息作為備份。
為了實(shí)現(xiàn)上述1553B總線通訊系統(tǒng)的功能,本文利用自行開發(fā)的某型號(hào)武器火控1553B綜合仿真系統(tǒng)和一塊QCP-1553板卡模擬BC,采用三片BU65170模擬RT。
本某型號(hào)武器火控1553B綜合仿真系統(tǒng)采用LabVIEW開發(fā),利用該軟件中提供的面向?qū)ο蟮木幊碳夹g(shù),用戶可以使用已創(chuàng)建的類和對(duì)象,也可以自己創(chuàng)建新的類和對(duì)象;同時(shí)可創(chuàng)建更易維護(hù)的代碼,令代碼的修改不影響應(yīng)用程序中的其他代碼[12~13]。
本某型號(hào)武器火控1553B綜合仿真系統(tǒng)需要的硬件資源主要包括:一臺(tái)筆記本電腦、一個(gè)PCMCIA卡、兩根專用通訊電纜、一臺(tái)NI公司的PXI-1036機(jī)箱、一塊NI公司的PXI 8310板卡、兩塊Condor公司的QCP1553單功能板卡、兩根1553B通訊電纜和三片DDC的BU65170等。硬件資源的安裝連接示意圖見圖1所示。
為了模擬BC的功能,某型號(hào)武器火控1553B綜合仿真系統(tǒng)需要通過1553B總線向每個(gè)RT發(fā)送控制命令和參數(shù),實(shí)時(shí)接收并處理RT反饋的參數(shù),并能監(jiān)測(cè)總線上異常數(shù)據(jù)。該系統(tǒng)向每個(gè)RT發(fā)送8種類型的消息,接收RT反饋的12種類型的消息,所有消息的接收、發(fā)送和處理按照如下的設(shè)計(jì)思想實(shí)現(xiàn)。

圖1 硬件資源的安裝連接示意圖
1)廣播時(shí)間數(shù)據(jù)
通過1553B總線向每個(gè)RT廣播系統(tǒng)時(shí)間,所有RT均以該廣播時(shí)間作為自己內(nèi)部的系統(tǒng)時(shí)鐘時(shí)間,廣播周期為512ms,廣播的時(shí)間精度為0.5ms。為確保廣播時(shí)間的精準(zhǔn),采用硬件中斷而非軟件定時(shí)的方式來計(jì)時(shí);
2)發(fā)送控制命令
通過突發(fā)方式向RT發(fā)送一條系統(tǒng)維護(hù)命令和一條控制命令,這兩條命令之間的時(shí)間間隔為1s,在此時(shí)間內(nèi),1553B總線上禁止發(fā)送和接收任何消息;
3)廣播平臺(tái)參數(shù)
向RT廣播平臺(tái)參數(shù),廣播周期為512ms;廣播的平臺(tái)參數(shù)用戶可以自定義,也可以隨機(jī)生成;
4)發(fā)送工作數(shù)據(jù)
以突發(fā)方式向RT發(fā)送工作數(shù)據(jù),每條工作數(shù)據(jù)的長(zhǎng)度最多為64字節(jié),相鄰兩條工作數(shù)據(jù)的發(fā)送間隔最短為800μs;
5)發(fā)送長(zhǎng)抱環(huán)測(cè)試數(shù)據(jù)
向RT發(fā)送長(zhǎng)抱環(huán)測(cè)試數(shù)據(jù),發(fā)送周期為512ms;
6)發(fā)送模式碼指令
向RT發(fā)送四種模式碼指令。其中,發(fā)送狀態(tài)字和啟動(dòng)自測(cè)試以突發(fā)方式發(fā)送,發(fā)送矢量字的發(fā)送周期為32ms,發(fā)送BIT字的發(fā)送周期為1s;
7)顯示并回放接收的參數(shù)
接收、解析并保存RT發(fā)送給BC的各種工作參數(shù),對(duì)接收的各種工作參數(shù)能夠?qū)崿F(xiàn)多種方式的回放;
8)監(jiān)控總線故障
對(duì)于RT中產(chǎn)生的通信故障和消息傳輸過程中產(chǎn)生的故障進(jìn)行監(jiān)控,這些故障包括無響應(yīng)、校驗(yàn)錯(cuò)、格式錯(cuò)和終端故障等,對(duì)于檢測(cè)出的故障應(yīng)能通過界面實(shí)時(shí)顯示給用戶;能模擬各種通信故障,監(jiān)測(cè)RT對(duì)錯(cuò)誤的反應(yīng)和處理能力;
9)異常報(bào)警
實(shí)時(shí)監(jiān)測(cè)1553B總線上的異常參數(shù)和數(shù)據(jù),對(duì)異常情況進(jìn)行報(bào)警。
某型號(hào)武器火控1553B綜合仿真系統(tǒng)的軟件結(jié)構(gòu)如圖2所示。
某型號(hào)武器火控1553B綜合仿真系統(tǒng)使用UML(統(tǒng)一建模語言)建立系統(tǒng)仿真模型,在詳細(xì)設(shè)計(jì)階段通過設(shè)計(jì)類圖來描述各個(gè)類的屬性、操作以及類與類之間的接口。該系統(tǒng)的軟件功能主要是由MessageType、SimOperation和AbnormalData三個(gè)類完成。

圖2 某型號(hào)武器火控1553B綜合仿真系統(tǒng)軟件結(jié)構(gòu)
通過創(chuàng)建MessageType實(shí)例來增加、刪除或者修改總線上每條消息的序號(hào)、控制字、下一條消息的序號(hào)、命令字、消息間隔和消息內(nèi)容等,實(shí)現(xiàn)總線上消息的任意修改。
通過創(chuàng)建AbnormalData實(shí)例,描述了總線上關(guān)鍵消息參數(shù)的名稱、數(shù)據(jù)類型、分辨率、顯示格式和轉(zhuǎn)換公式等,一旦總線上該關(guān)鍵參數(shù)產(chǎn)生異常,本系統(tǒng)會(huì)立即發(fā)出報(bào)警信號(hào)。
通過創(chuàng)建SimOperation實(shí)例,實(shí)現(xiàn)了對(duì)總線上各種消息的接收和發(fā)送,顯示和回放接收的各種工程參數(shù),監(jiān)控總線故障并對(duì)異常報(bào)警等功能。
此外,通過創(chuàng)建InterfaceRelation實(shí)例,定義了本仿真系統(tǒng)對(duì)各種消息的發(fā)送和接收關(guān)系。
某型號(hào)武器火控1553B綜合仿真系統(tǒng)的核心類如圖3所示。
完成了某型號(hào)武器火控1553B綜合仿真系統(tǒng)的仿真模型和系統(tǒng)設(shè)計(jì)類圖后,在LabVIEW中創(chuàng)建了 MessageType.lvclass、SimOperation.lvclass、AbnormalData.lvclass、InterfaceRelation.lvclass和 Data.lvclass,其中AbnormalData類是Data類的子類,兩者都包含了同名的Display.vi,該vi為動(dòng)態(tài)vi。某型號(hào)武器火控1553B綜合仿真系統(tǒng)的項(xiàng)目類視圖如圖4所示。

圖3 某型號(hào)武器火控1553B綜合仿真系統(tǒng)核心類

圖4 某型號(hào)武器火控1553B綜合仿真系統(tǒng)的項(xiàng)目類視圖
某型號(hào)武器火控1553B綜合仿真系統(tǒng)的交聯(lián)關(guān)系較為復(fù)雜,對(duì)總線上消息傳輸?shù)膶?shí)時(shí)性提出了很高的要求。由于總線上需要處理20種消息的接收和發(fā)送,尤其當(dāng)不同長(zhǎng)度不同周期的消息交替的接收和發(fā)送,同時(shí)存在異步數(shù)據(jù)需要處理時(shí),處理難度異常的大。
解決上述問題的傳統(tǒng)方法是采用軟件定時(shí)的辦法,設(shè)置多個(gè)定時(shí)器,每條消息發(fā)送和接收的周期設(shè)置為定時(shí)器的定時(shí)周期。經(jīng)過多次實(shí)驗(yàn)證明,當(dāng)總線上處理的周期消息的種類在10種以上,同時(shí)相鄰兩條非周期消息的發(fā)送間隔為1ms以下時(shí),軟件定時(shí)1min會(huì)產(chǎn)生5s的誤差。因此,軟件定時(shí)的方法不能夠滿足系統(tǒng)的實(shí)時(shí)性要求。
為了保證1553B總線通訊的可靠性和實(shí)時(shí)性,避免出現(xiàn)消息遺漏和通訊延誤的現(xiàn)象,采用中斷技術(shù),在每個(gè)消息傳輸結(jié)束,產(chǎn)生消息結(jié)束中斷,在中斷服務(wù)程序?qū)鬏斖甑南⑦M(jìn)行處理。然而,Windows操作系統(tǒng)對(duì)中斷不開放,在Windows下開發(fā)中斷處理程序是非常困難的,Windows操作系統(tǒng)的非實(shí)時(shí)性,決定了在其下開發(fā)的程序的非實(shí)時(shí)性。但是,Windows提供了消息循環(huán)機(jī)制和線程機(jī)制,采用Windows的線程機(jī)制和QCP1553板卡的中斷機(jī)制相結(jié)合可以解決這個(gè)問題。
當(dāng)一條消息運(yùn)行結(jié)束時(shí),QCP1553板卡產(chǎn)生消息結(jié)束中斷,QCP1553板卡將該條消息數(shù)據(jù)存儲(chǔ)到板卡的雙口存儲(chǔ)器中。在Windows應(yīng)用系統(tǒng)中創(chuàng)建一個(gè)線程,該線程在平時(shí)處于“睡眠等待”狀態(tài),當(dāng)查詢到有中斷產(chǎn)生時(shí),線程被“喚醒”,中斷服務(wù)程序?qū)ο⑦M(jìn)行處理。采用Windows消息循環(huán)機(jī)制和板卡實(shí)時(shí)中斷機(jī)制相結(jié)合,保證了消息傳輸?shù)膶?shí)時(shí)性。實(shí)驗(yàn)證明,在周期消息和非周期消息混合發(fā)送的前提下,非周期消息之間的間隔可以達(dá)到μs級(jí)。
該套基于LabVIEW開發(fā)的某型號(hào)武器火控1553B綜合仿真系統(tǒng)自投入使用以來,能夠正確地組織消息進(jìn)行傳輸,能夠?qū)ο⑦M(jìn)行實(shí)時(shí)監(jiān)控,并將消息實(shí)時(shí)地顯示給用戶,全面跟蹤系統(tǒng)的工作狀態(tài),人機(jī)界面良好,為系統(tǒng)數(shù)據(jù)分析、故障定位、系統(tǒng)排故等提供了有力的支持,保證了某型號(hào)武器火控系統(tǒng)各項(xiàng)綜合試驗(yàn)的順利進(jìn)行。基于UML的某型號(hào)武器火控1553B綜合仿真系統(tǒng)稍加修改即可用于外場(chǎng)檢測(cè),也可用于其它型號(hào)設(shè)備數(shù)據(jù)總線的檢測(cè),具有良好的可擴(kuò)展性。