(民航珠海進(jìn)近管制中心,珠海 519015)
AIDC(Air Trafic Services Inter-facility Data Communication),即空中交通服務(wù)設(shè)施之間的通信,是由亞太民航組織制定的亞太地區(qū)相鄰管制區(qū)間進(jìn)行航班管制電子移交的標(biāo)準(zhǔn)協(xié)議[1]。如圖1所述,AIDC協(xié)議將一個(gè)完整的管制移交過程分解為三個(gè)階段:通知階段、協(xié)調(diào)階段和移交階段,其主要作用是在不同階段通過報(bào)文數(shù)據(jù)的交互來完成相鄰管制單位之間的航班管制移交,相對(duì)電話移交大大提升了管制移交效率。在簡(jiǎn)約模式下,主要的AIDC報(bào)文有ABI(預(yù)計(jì)邊界報(bào),可不發(fā)),EST(預(yù)計(jì)飛越報(bào)),ACP(協(xié)調(diào)接受報(bào)),TOC(管制移交報(bào))以及AOC(移交接受報(bào))。除此之外,還有LAM(邏輯確認(rèn)報(bào)),用于通報(bào)對(duì)方已對(duì)相應(yīng)報(bào)文進(jìn)行處理。
圖1 AIDC簡(jiǎn)約模式報(bào)文交互示意圖
AIDC簡(jiǎn)約模式交互測(cè)試系統(tǒng)設(shè)計(jì)的主要目的是和空管自動(dòng)化系統(tǒng)進(jìn)行AIDC報(bào)文交互以測(cè)試自動(dòng)化系統(tǒng)的AIDC功能。因此,必須具備以下功能:
(1)RS232協(xié)議的報(bào)文接口,可接收發(fā)送異步報(bào)文。
(2)符合MH/T 4007 《民用航空飛行動(dòng)態(tài)固定電報(bào)格式》[2]和MH/T 4008《空管雷達(dá)及管制中心設(shè)施間協(xié)調(diào)移交數(shù)據(jù)規(guī)范》[3]的AIDC報(bào)文解析處理,以及生成組裝。
(3)簡(jiǎn)單飛行計(jì)劃手動(dòng)或自動(dòng)生成(根據(jù)EST報(bào))和顯示,以及狀態(tài)顏色更新。
(4)接收和發(fā)送報(bào)文的顯示、存儲(chǔ)和查詢。
根據(jù)功能需求,遵循模塊化的設(shè)計(jì)原則,將系統(tǒng)劃分為下面幾個(gè)模塊:計(jì)劃生成模塊、顯示模塊、報(bào)文處理模塊、報(bào)文組裝模塊、報(bào)文發(fā)送模塊、報(bào)文接收模塊、存儲(chǔ)和查詢模塊。各個(gè)模塊之間的關(guān)系可以用系統(tǒng)運(yùn)行流程圖來表示,如圖2所示。
AIDC測(cè)試流程從創(chuàng)建計(jì)劃開始,系統(tǒng)支持人工創(chuàng)建一份計(jì)劃,或者收到自動(dòng)化系統(tǒng)拍發(fā)的EST報(bào),按照EST報(bào)文中的內(nèi)容自動(dòng)生成計(jì)劃。生成計(jì)劃后,用戶可人工點(diǎn)擊界面上的計(jì)劃,在菜單中選擇手動(dòng)發(fā)報(bào)至自動(dòng)化系統(tǒng),或者勾選自動(dòng)回復(fù)按鈕后,系統(tǒng)將自動(dòng)響應(yīng)自動(dòng)化系統(tǒng)拍發(fā)的報(bào)文,譬如自動(dòng)化系統(tǒng)發(fā)送EST報(bào)至測(cè)試系統(tǒng),測(cè)試系統(tǒng)自動(dòng)回復(fù)LAM報(bào)和ACP報(bào)完成協(xié)調(diào)狀態(tài)。在顯示模塊上,每條計(jì)劃有EST,ACP,TOC和AOC四個(gè)圖標(biāo)狀態(tài),每個(gè)圖標(biāo)有三種顏色,藍(lán)色代表未收到或者發(fā)送該報(bào),黃色代表該報(bào)已經(jīng)收到或者發(fā)出,但未發(fā)出或者收到對(duì)應(yīng)的LAM報(bào),綠色代表報(bào)文已經(jīng)收到或者發(fā)出,且已經(jīng)回復(fù)或者收到LAM報(bào)。
圖2 系統(tǒng)模塊運(yùn)行流程圖
本系統(tǒng)采用C#作為開發(fā)語言,SQL server作為數(shù)據(jù)管理軟件。接下來簡(jiǎn)要介紹幾個(gè)核心模塊的功能實(shí)現(xiàn)。
C#自帶SerialPort函數(shù),可以控制串口的關(guān)閉以及讀寫串口數(shù)據(jù)。系統(tǒng)啟動(dòng)后將讀取運(yùn)行電腦的串口信息,顯示在串口選擇菜單中。用戶選擇串口后,系統(tǒng)打開相應(yīng)串口,并將報(bào)文接收函數(shù)作為事件添加到SerialPort的DataReceived的委托中。每收到一個(gè)字符,就觸發(fā)一次報(bào)文接收函數(shù)。報(bào)文接收函數(shù)將字符存儲(chǔ)在字符串中,并判斷字符串的是否包含一份AIDC報(bào)文的頭尾,如果包含頭尾,則將該份報(bào)文截出,發(fā)送給報(bào)文處理模塊。
報(bào)文處理模塊取得報(bào)文接收模塊發(fā)送過來的報(bào)文后,按照MH/T 4008《空管雷達(dá)及管制中心設(shè)施間協(xié)調(diào)移交數(shù)據(jù)規(guī)范》以及ICAO(國際民航組織)規(guī)范文件《ICD AIDC ver3.0》的標(biāo)準(zhǔn),將報(bào)文解析為各個(gè)編組及數(shù)據(jù)項(xiàng)。以一份ACP(協(xié)調(diào)接受報(bào))報(bào)文為例:
DRB4372 251641 FF ZGACADAC 251641 ZGJDADTM
2.347492
-3.ZGAC231036
-4.181225164114
-5.0ED4
-(ACP-CSZ9910/A7035-ZSWZ-ZGSZ)
該報(bào)文可劃分為六個(gè)部分,按照上述排版,每行即為一個(gè)部分(此處僅為方便區(qū)分,與實(shí)際報(bào)文排版不同)。第一部分按照空格隔開,分別代表報(bào)文冠字及流水號(hào)、轉(zhuǎn)發(fā)時(shí)間、電報(bào)等級(jí)、收?qǐng)?bào)地址、始發(fā)時(shí)間、發(fā)報(bào)地址;第二部分2.后跟發(fā)報(bào)方內(nèi)部編號(hào);第三部分3.后跟收?qǐng)?bào)方地址前四個(gè)字符,以及所回復(fù)報(bào)文的第二部分內(nèi)部編號(hào),以此ACP報(bào)文為例,所回復(fù)的EST報(bào)文第二部分應(yīng)為2.231036;第四部分4.后跟精確到秒的UTC時(shí)間,此處時(shí)間代表UTC時(shí)間2018年12月25日16時(shí)41分14秒;第五部分為5.0后跟CRC16校驗(yàn)碼,校驗(yàn)對(duì)象為第六部分括號(hào)以及括號(hào)內(nèi)的內(nèi)容,即報(bào)文正文;第六部分括號(hào)內(nèi)為報(bào)文正文,以“-”分割為各個(gè)編組,符合MH/T 4008和MH/T 4007規(guī)范標(biāo)準(zhǔn),本例中解析如下:編組3報(bào)文類別為ACP協(xié)調(diào)接受報(bào),編組7航班號(hào)CSZ9910,A模式二次代碼7035,編組13起飛機(jī)場(chǎng)四字碼ZSWZ,編組16預(yù)計(jì)落地機(jī)場(chǎng)四字碼ZGSZ。
報(bào)文處理模塊完成報(bào)文解析后,先對(duì)報(bào)文進(jìn)行CRC校驗(yàn),校驗(yàn)不通過則不處理,校驗(yàn)通過后根據(jù)不同報(bào)文類別觸發(fā)不同事件。詳情見表1。
表1 系統(tǒng)收到不同類型報(bào)文的響應(yīng)
系統(tǒng)可人工或者自動(dòng)發(fā)送AIDC報(bào)文,發(fā)送前需要進(jìn)行報(bào)文組裝。報(bào)文內(nèi)容組裝時(shí)同樣按照MH/T 4007和MH/T4008、ICD AIDC ver3.0的標(biāo)準(zhǔn)進(jìn)行組裝,此處不做贅述。需要強(qiáng)調(diào)的是,本系統(tǒng)發(fā)送的報(bào)文需要被自動(dòng)化系統(tǒng)正常解析,因此必須滿足測(cè)試對(duì)象自動(dòng)化系統(tǒng)的編碼要求。以美國Telephonics自動(dòng)化系統(tǒng)為例,配置的AIDC碼型為IA5碼[4],因此整份報(bào)文必須以16進(jìn)制碼0x01(SOH:start of headline)開始,以16進(jìn)制碼0x03(ETX end of text)結(jié)束,除此之外同時(shí)要在報(bào)文中四個(gè)正確位置加入連續(xù)三個(gè)字節(jié)0x0d(回車),0x0d,0x0a(換行)方能被正常解析。因此在完成報(bào)文內(nèi)容的組裝之后,需要對(duì)待測(cè)自動(dòng)化系統(tǒng)的AIDC報(bào)文轉(zhuǎn)化為16進(jìn)制編碼進(jìn)行分析,套用其中的編碼規(guī)則對(duì)系統(tǒng)完成報(bào)文發(fā)送前的最后組裝。
本文簡(jiǎn)要介紹了簡(jiǎn)約模式AIDC交互模擬測(cè)試系統(tǒng)的設(shè)計(jì)思路和幾個(gè)核心模塊實(shí)現(xiàn)方法。該系統(tǒng)是以輔助設(shè)備維護(hù)人員進(jìn)行對(duì)自動(dòng)化系統(tǒng)進(jìn)行AIDC功能測(cè)試為目標(biāo),結(jié)合民航規(guī)章規(guī)范標(biāo)準(zhǔn)和實(shí)際工作經(jīng)驗(yàn),基于C#和SQL編寫的一套測(cè)試工具,能從一定程度上滿足現(xiàn)行自動(dòng)化系統(tǒng)的AIDC功能測(cè)試需求,具備廣泛的普適性,以及很大的擴(kuò)展空間。希冀本文的介紹可對(duì)廣大民航業(yè)內(nèi)同行起到少許啟發(fā)和借鑒意義,筆者經(jīng)驗(yàn)所限,疏漏在所難免,歡迎同行批評(píng)指教。