文鐘華,劉海森
(中國(guó)民用航空桂林空中交通管理站,廣西 桂林 541106)
在實(shí)際應(yīng)用中,串口通信通常使用電纜直接傳輸,隨著近年網(wǎng)絡(luò)的飛速發(fā)展,基于網(wǎng)絡(luò)傳輸?shù)拇诜?wù)器發(fā)展迅速,相比于普通串口通信,串口服務(wù)器具有防雷、傳輸距離長(zhǎng)等優(yōu)點(diǎn)。目前國(guó)內(nèi)大部分機(jī)場(chǎng)的氣象數(shù)據(jù)庫(kù)通信分系統(tǒng)接收AWOS和AFTN報(bào)文數(shù)據(jù)都是通過串口卡接收的,串口卡需要安裝在通信機(jī)的PCI插槽上,由串口轉(zhuǎn)接頭分成多路串口,串口的數(shù)量是固定的,且目前國(guó)內(nèi)絕大部分氣象數(shù)據(jù)庫(kù)通信分系統(tǒng)都是單機(jī)運(yùn)行的,若需更換串口卡,需要通信機(jī)停機(jī),通信機(jī)停機(jī)影響氣象數(shù)據(jù)交換,對(duì)氣象業(yè)務(wù)影響較大。而串口服務(wù)器可以解決這些問題,通過簡(jiǎn)單配置,可任意增減串口服務(wù)器數(shù)量,因串口服務(wù)器與通信機(jī)是通過網(wǎng)絡(luò)連接的,串口服務(wù)器的安裝或更換不需要通信機(jī)停機(jī),且網(wǎng)絡(luò)的傳輸方式具有防雷和傳輸距離長(zhǎng)的優(yōu)點(diǎn)。與串口卡相比,該方案的安裝和維護(hù)更加安全、便捷。
串口卡需要安裝在通信機(jī)的PCI插槽上,串口數(shù)量由安裝的串口卡型號(hào)決定,如需更換串口卡,需要通信機(jī)停機(jī),方可從通信機(jī)的PCI插槽上對(duì)串口卡進(jìn)行拆裝,因?yàn)榇诳ㄅc通信機(jī)之間是通過電纜線連接的,一般通信距離不會(huì)超過15 m[1],串口卡方案示意圖如圖1所示。
圖1 串口卡方案示意圖
串口服務(wù)器只需要與通信機(jī)接入到同一網(wǎng)絡(luò)中即可,通過簡(jiǎn)單修改驅(qū)動(dòng)程序的配置文件,可任意增加或減少串口服務(wù)器數(shù)量。由于串口服務(wù)器基于網(wǎng)絡(luò)通信,不依賴通信機(jī)的PCI插槽,因此,在進(jìn)行維護(hù)時(shí),通信機(jī)不需要停機(jī)就可完成。串口服務(wù)器與通信機(jī)之間通過網(wǎng)絡(luò)連接,普通雙絞線的傳輸距離達(dá)到100 m[2],傳輸距離長(zhǎng),而且具有防雷等特點(diǎn),串口服務(wù)器方案示意圖,如圖2所示。
圖2 串口服務(wù)器方案示意圖
本文使用moxa的NPort 5150串口服務(wù)器為例進(jìn)行討論(下同)。使用串口服務(wù)器默認(rèn)IP進(jìn)行網(wǎng)頁(yè)登陸,點(diǎn)擊“Network Settings”菜單,根據(jù)實(shí)際網(wǎng)絡(luò)情況配置“IP address”、“Netmask”等選項(xiàng),使得串口服務(wù)器能夠與通信機(jī)進(jìn)行網(wǎng)絡(luò)通信;點(diǎn)擊“Serial Settings”菜單,根據(jù)實(shí)際情況設(shè)置串口通信參數(shù);點(diǎn)擊“Operating Settings”菜單,“Operation mode”設(shè)置為“Real COM Mode”;點(diǎn)擊“Save/Restart”對(duì)串口服務(wù)器進(jìn)行保存重啟即可完成配置。
訪問moxa官網(wǎng)的驅(qū)動(dòng)下載頁(yè)(https://www.moxa.com.cn/support/search.aspx?type=soft),選擇對(duì)應(yīng)的串口服務(wù)器型號(hào)進(jìn)行驅(qū)動(dòng)下載,根據(jù)通信機(jī)的Linux內(nèi)核型號(hào)選擇對(duì)應(yīng)驅(qū)動(dòng)下載,根據(jù)民航第一期氣象數(shù)據(jù)庫(kù)系統(tǒng)的通信機(jī)Linux系統(tǒng)內(nèi)核版本,本文選擇NPort Real TTY Driver for Linux (Linux 2.4.x,2.6.x)驅(qū)動(dòng)版本,把下載好的驅(qū)動(dòng)tgz壓縮包拷貝至通信機(jī),解壓壓縮包,進(jìn)入解壓后的驅(qū)動(dòng)程序目錄,運(yùn)行安裝程序“./mxinst”,等待驅(qū)動(dòng)安裝完成,安裝完成后會(huì)在“/usr/lib/npreal2/driver”目錄下生成一些程序文件、配置文件和README.TXT說明文件。
進(jìn)入安裝生成的驅(qū)動(dòng)程序目錄“/usr/lib/npreal2/driver”,運(yùn)行命令“mxaddsvr [NPort IP Address] [Total Ports] ([Data port] [Cmd port])”,即可添加串口服務(wù)器到通信機(jī)串口中,其中NPort IP Address為串口服務(wù)器IP,Total Ports為串口服務(wù)器串口數(shù)量,Data port和Cmd port為串口服務(wù)器的通信端口,例如運(yùn)行 “mxaddsvr 10.22.130.123 1 4002 966”命令即可添加一個(gè)IP為10.22.130.123的一路串口服務(wù)器。當(dāng)前目錄下查看配置文件npreal2d.cf,可以看到已經(jīng)多了一條配置記錄(見圖3)。其中“TTYName”即新生成的串口設(shè)備名稱。根據(jù)通信機(jī)的mssini.ini配置文件,可以查詢到AWOS自觀接收和AFTN報(bào)文接收的串口設(shè)備名稱,把npreal2d.cf配置文件的“TTYName”改成mssini.ini文件對(duì)應(yīng)的串口名稱即可。例如把npreal2d.cf配置文件中的“TTYName”名由“ttyr00”改為AFTN數(shù)據(jù)接收串口“ttyM0”,最后運(yùn)行“mxloadsvr”命令使得配置文件生效。
圖3 npreal2d.cf配置文件
當(dāng)需要安裝多路串口服務(wù)器時(shí),只需要重復(fù)上述操作即可。
登錄通信機(jī),使用命令“echo “abc”>/dev/ttyM0”(ttyM0為串口服務(wù)器對(duì)應(yīng)創(chuàng)建的串口名稱)向串口發(fā)送字符串“abc”,在串口服務(wù)器的串口端可接收數(shù)據(jù)“abc”。往串口服務(wù)器的串口端發(fā)送字符串“abc”,在通信機(jī)端使用命令“cat /dev/ttyM0”[3]可打印接收到的串口數(shù)據(jù)“abc”。
使用串口服務(wù)器作為氣象數(shù)據(jù)庫(kù)通信分系統(tǒng)的串口通信設(shè)備,安裝和配置都較為簡(jiǎn)單,增加或減少串口數(shù)量只需要對(duì)驅(qū)動(dòng)進(jìn)行簡(jiǎn)單配置即可,對(duì)串口服務(wù)器進(jìn)行維護(hù)時(shí),通信機(jī)也無需停機(jī),串口服務(wù)器與通信機(jī)通過網(wǎng)絡(luò)連接,具有防雷和傳輸距離長(zhǎng)的特點(diǎn),便于維護(hù)管理。與使用串口卡方案相比,該方案具有較為明顯的優(yōu)勢(shì),能夠較好地提高氣象數(shù)據(jù)庫(kù)通信分系統(tǒng)的可靠性和可維護(hù)性。