張磊,陳齊亞,黎巍,王歡
(中國民用航空西北地區空中交通管理局,西安710082)
基于基帶Modem的報文收發軟件設計與實現
張磊,陳齊亞,黎巍,王歡
(中國民用航空西北地區空中交通管理局,西安710082)
引入基帶Modem作為民航氣象報文數據傳輸設備,給出單用戶的網絡連接結構,在此基礎上,結合串口服務器擴展AFTN線路用戶使用范圍。基于.NET平臺,針對兩種不同的網絡連接結構,設計并實現民航氣象報文接收發送軟件。該軟件可以靈活配置,分別以串口或者網口的方式完成民航氣象報文穩定和準確的傳輸。
基帶Modem;串口服務器;收發報軟件;串口通信;網絡通信
隨著我國國民經濟的持續增長及西部大開發戰略的實施,我國西北民航運輸業也得到快速發展。作為民航空中交通管理系統的重要組成部分,航空氣象保障能力是保障航空運輸安全和正常飛行的重要基礎之一。民航氣象報文作為民航氣象資料中的重要組成部分,報文內容發布的及時性、準確性,以及報文發布方式的穩定性對于民航氣象保障顯得格外重要。
由于民航報文傳輸需要通過轉報系統的轉報機在航空固定電信網(Aeronautical Fixed Telecommunication Network)[1]上進行傳輸,因此報文的接收與發送必須轉換成RS-232串口數據進行收發。目前,民航西北地區氣象中心在實際業務中用于向局域網用戶提供民航氣象報文數據來源的ZLXYYWYX和向觀測員發送趨勢預報的ZLXYYAYX兩條AFTN線路是使用如圖1所示的電流環轉換器接入轉報系統的轉報機,從而完成報文的接收與發送工作。電流環轉換器可以完成RS-232串口信號與20mA電信號的相互轉換,從而解決RS-232串口信號傳輸距離限制在15米以內的距離問題。通過接入電流環轉換器,RS-232串口信號的傳輸距離可以延長至1000米左右。

圖1 電流環轉換器
但是,由于目前使用的電流環轉換器使用年限較長,設備已經老化,因此存在報文傳輸穩定性較低等安全隱患。另外,由于電流環轉換器屬于專用設備,目前正在被新一代網絡通信設備所逐步取代,因此市面上已經采購不到現有業務中使用的電流環轉換器。
為了杜絕安全隱患,提高民航氣象報文傳輸的穩定性和可靠性,以及傳輸設備的通用性,本文設計并實現了一種基于基帶Modem的報文接收發送軟件。
2.1基帶Modem簡介
基帶Modem是一種采用基帶傳輸,用于完成數字信號可靠、穩定傳輸的通信設備。區別于頻帶傳輸,基帶傳輸是指在通信電纜上原封不動地傳輸由計算機或數據通信終端產生的數字脈沖信號,它是一種十分重要的數據傳輸方式。基帶Modem的功能則是通過形成適當的波形,使數字信號在帶寬受限的傳輸介質上傳輸時,不會由于波形迭起而產生碼間干擾[2]。因此,相對于可以完成模數轉換功能的普通Modem,基帶Modem是一種用在數字線路中,可以完成數字信號到數字信號高性能傳輸的通信設備。通過采用基帶Modem,信號的傳輸距離可以達到2000米左右,因此,它被廣泛應用于樓宇間、校園內,以及城市內部的數字信號傳輸。
2.2網絡結構
為了解決現有業務系統中由于設備老化落后帶來的潛在隱患,本文采用臺聯電訊設備有限公司型號為TAINET T-336Cx的基帶Modem替換現有業務系統中的電流環轉換盒作為報文接收發送終端與轉報機之間的信號傳輸設備,從而實現民航氣象報文穩定、準確的傳輸。由于基帶Modem只能完成端到端的數字信號高性能傳輸,因此,在一條AFTN線路上采用基帶Modem只能實現一臺報文接收發送終端與轉報機之間的互聯通訊。為了擴展這種點到點的應用為點到面的應用,即在一條AFTN線路上可以同時實現多臺報文接收發送終端與轉報機之間的報文傳輸,本文采用串口服務器給出了一種多臺報文接收發送終端同時與轉報機互聯通信的設計方案。
(1)一臺報文接收發送終端與轉報機互聯
TAINET T-336Cx基帶Modem是一種高性能,能實現同步/異步,全雙工/半雙工,可工作于撥號式線路及兩線/四線式專線電路的多功能型Modem[3]。本文采用如圖2所示的網絡結構實現一臺報文接收發送終端與轉報機之間的報文傳輸。

圖2 一臺報文接收發送終端與轉報機互聯的網絡結構
其中,為了保證報文傳輸線路的穩定性,以及報文傳輸內容的準確性,本文采用兩線式的專線電路對兩個基帶Modem進行連接。基帶Modem的具體配置參數如下表所示:

表1 TAINET T-336Cx基帶Modem參數設置
(2)多臺報文接收發送終端與轉報機互聯
串口服務器是一種通信協議轉換器,它能夠自動將RS-232/485/422串口數據轉換成可以在通用網絡設備上傳輸的TCP/IP網絡數據,實現RS-232/485/422串口與TCP/IP網絡接口的數據雙向透明傳輸[4-5]。串口服務器在硬件結構上一般具備兩類接口:一類是標準的RS-232/485/422串行接口;另一類是可以接入局域網的以太網口。經過內部的數據格式轉換,串口服務器可以實現串口數據流和網絡數據流的相互轉化,從而將一個單獨的串口設備轉變為網絡上其他設備所共享的網絡設備,大大擴展了串口設備的使用范圍。
本文采用MOXA科技股份有限公司型號為Nport 5110的串口服務器搭建了如圖3所示的網絡結構,以實現多臺報文接收發送終端同時與轉報機互聯通信的目的,從而擴展了每條AFTN線路的使用范圍,并提高了使用效率。

圖3 多臺報文接收發送終端與轉報機互聯的網絡結構
如圖3所示,接收民航氣象報文時,來自轉報機的報文首先經過基帶Modem傳輸,緩存在串口服務器中;然后報文接收發送終端向串口服務器發送Socket鏈接請求,建立Socket網絡傳輸通道;最后報文經過交換機、路由器等網絡傳輸設備,以TCP/IP數據包的形式到達用戶的接收終端。報文發送過程與報文接收過程相反,在此不再贅述。(Nport 5110串口服務器的具體配置信息如圖4所示)

圖4 Nport 5110串口服務器參數設置
2.3軟件設計與實現
為了達到用戶界面友好和程序實現高效的目的,本文基于.NET 4.5平臺,采用C#作為程序開發語言,設計并實現了民航氣象報文接收發送軟件。
針對如圖2所示的一臺報文接收發送終端與轉報機互聯的網絡結構,由于報文接收發送終端直接與基帶Modem通過RS-232串口的方式相連,因此軟件需要具備串口通信的能力;對于如圖3所示的多臺報文接收發送終端與轉報機互聯的網絡結構,由于報文接收發送終端是通過以太網與串口服務器直接通信,因此為了同時適應兩種不同的網絡結構,本文開發的軟件還需要同時具備基于Socket連接的網絡通信能力。
(1)串口通信
RS-232通信串口由于其良好的通用性和標準性,在計算機系統和工業控制領域中有著廣泛的應用。從.NET 2.0開始,微軟就將所有串口操作封裝到了Serial-Port類里,以簡化與串口相關的程序設計。
采用SerialPort類的對象進行串口通信時,需要通信雙方執行共同的協議,即通信雙方設置的串口參數相同。串口參數包括波特率,校驗方式,數據位和停止位。同時,SerialPort類支持四種事件:DataReceived事件、Disposed事件、ErrorReceived事件和PinChanged事件。其中,DataReceived事件是SerialPort類的數據接收事件,每當串口接收到新數據時,便會觸發該事件的響應以完成數據接收操作。圖5是本文打開串口函數的部分代碼。

圖5 打開串口函數代碼
(2)網絡通信
Socket又稱套接字,它為程序提供了與外界通信的端口。通過建立Socket連接,可為通信雙方的數據傳輸提供通道。基于Socket的網絡通信,主要可以分為TCP通信模型和UDP通信模型。前者為網絡通信提供了一個面向連接、可靠的數據流傳輸服務,被傳輸的數據可以無差錯、無重復地發送,且按發送順序在接收端進行接收;后者則提供了一個無連接的數據包傳輸服務,數據包以獨立的方式進行發送,不提供任何質量保證。
為了保證報文準確無誤的快速傳輸,本文采用TCP通信模型。TCP通信模型一般采用客戶端/服務器模式,即有一個客戶端進程和一個服務器進程。服務器進程一直處在等待監聽狀態,直到客戶端進程主動請求連接。當服務器進程收到客戶端進程的Socket連接請求時,服務器進程就響應客戶端的請求,建立一個新的Socket,并返回給客戶端進程,一旦客戶端確認連接,則連接建立,然后就可在該Socket連接上進行數據通信[6]。如圖4所示,串口服務器被配置為TCP服務器模式,因此本文只需要實現客戶端代碼即可實現收發報軟件與串口服務器之間的通信。圖6是本文建立Socket連接函數的部分代碼。

圖6 建立Socket連接函數代碼
針對兩類不同的網絡結構,本文在統一框架下,采用C#程序設計語言開發并實現了民航氣象報文接收發送軟件。該軟件可以根據實際的網絡結構和數據通信要求,調整配置參數,采用串口方式或者Socket網絡通信方式進行民航氣象報文的收發工作。圖7和圖8即為該軟件兩種通信方式的配置界面。

圖7 串口通信參數配置

圖8 網絡通信參數配置
圖9是在如圖3所示的網絡結構環境下,采用Socket網絡通信方式進行民航氣象報文接收時的軟件界面。
為了驗證本文設計并實現的民航氣象報文接收發送軟件是否能夠準確、穩定、快速地進行民航氣象報文的收發工作,本文采用黑盒測試的方法對該軟件進行了功能測試,測試的重點包括:軟件能否正確的連接串口服務器,并對錯誤信息進行提示;軟件能否準確、完整的接收所有民航氣象報文,并將接收到的報文顯示在軟件界面中,同時按日期分別存儲在不同的日志文件中;軟件能否成功的向轉報機發送格式正確的民航氣象請求報等。通過將實際運行測試結果和實驗預期測試結果進行對比,本文設計并實現的氣象報文收發軟件達到了預定的功能需求,可以替換現有業務中的電流環轉換盒進行民航氣象報文的接收和發送工作。

圖9 民航氣象報文接收發送軟件界面
為了杜絕由于電流環轉換盒設備老化等因素可能造成的安全隱患,提高民航氣象報文傳輸的穩定性和準確性,本文引入基帶Modem作為數據傳輸設備,給出了一種通過基帶Modem進行報文收發的網絡結構,并采用C#語言基于串口通信技術實現了報文收發軟件。同時,為了擴展AFTN線路的用戶使用范圍,本文在原有網絡結構的基礎上,結合串口服務器給出了多用戶的網絡結構,并在統一的程序框架下,基于網絡通信技術實現了報文收發軟件。通過用戶對軟件進行功能測試,本文設計并實現的民航氣象報文接收發送軟件達到了預定的功能需求,為民航飛行安全提供了有力保障。
[1]張強,于潔.亞太地區航空氣象情報交換管理[J].中國民用航空,2015(6):36-38.
[2]鄧翔宇.一種可實現數字基帶部分響應系統的研究[J].信息技術,2005,29(6):72-74.
[3]臺聯電訊設備有限公司.TAINET T-336Cx/Nx/NDx使用手冊[Z].北京,2011.
[4]王衛峰,沈俊杰,蘇建良,江芳波,周濤.基于NPort串口服務器的座椅滑道裝配線監控系統[J].機電工程,2010,27(10):98-101.
[5]陳平,郝繼飛,周曉飛,趙健,寇立強.基于串口服務器組網的自來水廠供水監控系統[J].湖南科技大學學報:自然科學版,2011,26 (2):79-83.
[6]范勤學.一種基于Socket的可配置通信工具[C].全國冶金自動化信息網年會,2010.
Design and Implementation of the Civil Aviation Meteorological Message Transmission and Reception Software Based on Base Band Modem
ZHANG Lei,CHEN Qi-ya,LI Wei,WANG Huan
(Air Traffic Management Bureau of Northwest Regional of CAAC,Xi'an 710082)
Introduces base band modem to exchange civil aviation meteorological messages,designs a network structure allowing one user to send and receive messages,in order to expand the number of users,and gives another network structure based on the combination of serial device server.Uses the technique of serial communication and socket communication,designs and implements the civil aviation meteorological message transmission and reception software according to the two different network structures.Experiment shows that the software can stably and accurately transmit and receive civil aviation meteorological messages in the manner of serial communication and socket communication respectively.
Base Band Modem;Serial Device server;Message Transmission and Reception Software;Serial Communication;Socket Communication
1007-1423(2016)16-0039-05DOI:10.3969/j.issn.1007-1423.2016.16.012
張磊(1988-),男,寧夏回族自治區中衛人,碩士研究生,助理工程師,研究方向為民航氣象數據庫系統維護與開發
陳齊亞(1975-),男,陜西西安人,碩士研究生,高級工程師,研究方向為計算機技術管理
黎巍(1974-),男,陜西西安人,本科,高級工程師,研究方向為計算機技術管理
王歡(1989-),女,青海西寧人,碩士研究生,助理工程師,研究方向為民航氣象數值預報應用
2016-03-29
2016-05-20