楊紹松 劉少慧
民航東北空管局氣象中心 遼寧 沈陽 110169
自動觀測系統(tǒng)是民航氣象的重要系統(tǒng)之一,在保障飛行安全中起著舉足輕重的作用。2015年12月對本場自動觀測系統(tǒng)進行了升級改造,從服務(wù)器的單機運行升級為了雙機熱備,大大提高該系統(tǒng)的穩(wěn)定性。
自動觀測系統(tǒng)的核心單元TS16與交換機依然處于單機運行狀態(tài),一旦出現(xiàn)故障整個自動觀測系統(tǒng)就會陷入癱瘓。從全國自動觀測系統(tǒng)的故障點來看,TS16發(fā)生的故障率很高,尤其是TS16的電源模塊故障,因此TS16的單機運行時刻威脅著整個自動觀測系統(tǒng)安全穩(wěn)定運行。
由于TS16故障率高,而且其直接影響著整個自動觀測系統(tǒng)的運行,在沒先例可循的前提下,只能對整個自動觀測系統(tǒng)開展深層次的研究,尋求最佳解決方案。通過對自動觀測系統(tǒng)數(shù)據(jù)流的認真分析,最終找到了通過虛擬傳感器技術(shù)與維薩拉的主備傳感器技術(shù)來實現(xiàn)TS16與網(wǎng)絡(luò)交換機的組合雙機熱備方案。以下分別從鏈路優(yōu)化設(shè)計與軟件配置設(shè)計對虛擬傳感器技術(shù)展開介紹。
對原系統(tǒng)拓撲圖進行優(yōu)化設(shè)計,新增TS16(2)與交換機(2),利用CDUC與CDUD的網(wǎng)卡互備的特性,實現(xiàn)TS16與交換機的雙機熱備。
在調(diào)制解調(diào)器(DXL421)后端對所有的RS232信號進行并聯(lián)接收,即把原先的一路串口信號分成兩路。
把兩路RS232信號一路接入到TS16(1),另一類接入到TS16(2)內(nèi)。
把TS16(2)與交換機(2)進行連接,交換機(1)與交換機(2)串聯(lián)。
把CDUC與CDUD的兩個網(wǎng)卡一個接入交換機(1),另一個網(wǎng)卡接入到交換機(2)。
所有客戶端都使用雙網(wǎng)卡熱備份塔式服務(wù)器,分別接入到交換機(1)與交換機(2)。
傳感器數(shù)據(jù)虛擬采用被動接受的方式對RS232進行分離,分離裝置是自制的無源三通傳輸線。如果條件允許可以DXL421的后端加防雷模塊,避免新分流的數(shù)據(jù)與設(shè)備對原路數(shù)據(jù)造成影響,TS16(2)得到的即使虛擬的傳感器數(shù)據(jù)[1]。
(1)TS16配置
TS16的主要功能是把接收的串口數(shù)據(jù)轉(zhuǎn)化為UPD數(shù)據(jù)進行網(wǎng)絡(luò)轉(zhuǎn)發(fā),預(yù)先在CDUC與CDUD上找16個空閑端口,例如:13101-13116,用于接收虛擬傳感器數(shù)據(jù)。由于現(xiàn)行傳感器數(shù)據(jù)使用的是12101-12116,所以配置TS16對整個自動觀測系統(tǒng)不會造成任何不良影響。
首先配置新增TS16(2)IP地址為192.168.1.103,TS16(1)IP地址假設(shè)為192.168.1.101。TS16的作用是把串口數(shù)據(jù)轉(zhuǎn)化為UPD數(shù)據(jù),通過網(wǎng)絡(luò)把數(shù)據(jù)發(fā)送給服務(wù)器的指定端口。所以需要更改兩臺TS16的配置,讓TS16(1)、TS16(2)把每個端口收的數(shù)據(jù)都發(fā)送的CDUC與CDUD的1210*與1310*端口上。
(2)虛擬傳感器對象的建立
現(xiàn)在CDU已經(jīng)收到了同一傳感器的兩路數(shù)據(jù),接下來需要通過修改CDU的配置,讓CDU把其中一路作為原始傳感器數(shù)據(jù),另外一路作為虛擬傳感器數(shù)據(jù)。當(dāng)來自TS16(1)原始傳感器數(shù)據(jù)中斷時,無縫切換到來自TS16(2)虛擬傳感器數(shù)據(jù),同樣這里以6號端口24端云高數(shù)據(jù)為例,配置文件以配置CDUC為例。
首先,在配置文件PORTS.INI中定義兩個網(wǎng)絡(luò)端口NET06與NET36。其中,NET06用來接收TS16(1)發(fā)送的24端原始云高數(shù)據(jù),NET36用來接收TS16(2)發(fā)送的24端虛擬云高數(shù)據(jù)。
其次,在配置文件SENSORS.INI中定義24端云高原始數(shù)據(jù)對象1_CLOUD_SENSOR_M與1_CLOUD_SENSOR_N,其中1_CLOUD_SENSOR_M用來存儲NET06的原始云高數(shù)據(jù),即TS16(1)發(fā)送的24端原始云高數(shù)據(jù),1_CLOUD_SENSOR_N用來存儲NET36的虛擬云高數(shù)據(jù),即TS16(2)發(fā)送的24端虛擬云高數(shù)據(jù)。
至此,兩路云高數(shù)據(jù)已經(jīng)分別進入到了1_CLOUD_SENSOR_M與1_CLOUD_SENSOR_N兩個對象,其中1_CLOUD_SENSOR_M定義為原始云高傳感器數(shù)據(jù)對象,1_CLOUD_SENSOR_N定義為虛擬云高傳感器數(shù)據(jù)對象。最后,在配置文件DUALSERV.INI中重新定義24端云高數(shù)據(jù)傳感器對象,其中原始云高傳感器數(shù)據(jù)對象是1_CLOUD_SENSOR的第一使用對象,虛擬云高傳感器數(shù)據(jù)對象是1_CLOUD_SENSOR的第二使用對象。
實現(xiàn)了TS16與交換機雙機熱備以后,單個交換機與TS16故障以后,在客戶端與服務(wù)器上就不能明顯地體現(xiàn)出來了,故障就變得隱蔽起來。所以,開發(fā)新的監(jiān)控系統(tǒng)變得非常必要。
監(jiān)控的原始數(shù)據(jù)取自原始數(shù)據(jù)對象的Statuses屬性,例如1_CLOUD_SENSOR_N的Statuses屬性。當(dāng)TS16(1)的6號端口數(shù)據(jù)異常時對象1_CLOUD_SENSOR_M的Statuses屬性為Old,當(dāng)TS16(2)的6號端口數(shù)據(jù)異常時對象1_CLOUD_SENSOR_N的Statuses屬性為Old,正常情況下Statuses的值為Normal。
通過對所有原始數(shù)據(jù)對象的Statuses的值進行實時采集,把所有采集到的Statuses值與前臺監(jiān)控程序進行關(guān)聯(lián),可達到對TS16(1)、TS16(2)、交換機(1)、交換機(2)進行實時監(jiān)控的目的,第一時間發(fā)現(xiàn)故障并進行相應(yīng)處理。
為減少數(shù)據(jù)測試給業(yè)務(wù)運行帶來的影響,在此選擇24端云高儀作為測試對象,并利用安裝在筆記本上的MIDAS IV服務(wù)器版軟件進行測試。
首先斷開TS16(2)6口數(shù)據(jù),查看原始數(shù)據(jù)對象狀態(tài)。然后恢復(fù)TS16(2)6口數(shù)據(jù)并斷開TS16(1)6口數(shù)據(jù),查看傳感器數(shù)據(jù)對象狀態(tài)。兩種情況只影響了原始傳感器數(shù)據(jù)對象與虛擬傳感器數(shù)據(jù)對象的其中一個數(shù)據(jù)對象,1_CLOUD_SENSOR數(shù)據(jù)對象及時切換到了有效的傳感器數(shù)據(jù)對象上去,1_CLOUD_SENSOR數(shù)據(jù)對象并沒用受到影響,相應(yīng)WEATHERVIEW上顯示的云高數(shù)據(jù)也沒有受到影響。
TS16的雙機熱備是端口級別的,例如:TS16(1)與TS16(2)的第9口是06端云高儀數(shù)據(jù),當(dāng)TS16(1)的第9個端口故障時,06端云高數(shù)據(jù)會自動使用TS16(2)第9口的數(shù)據(jù),而其他數(shù)據(jù)依然使用TS16(1)的相對應(yīng)的端口數(shù)據(jù)。
通過對場內(nèi)設(shè)備進行更改與配置,實現(xiàn)兩路數(shù)據(jù)同時輸出。同時如果有富余的傳輸線路,兩路數(shù)據(jù)可以分離傳輸,這樣既可以實現(xiàn)TS16與網(wǎng)絡(luò)交換機的雙機熱備,也實現(xiàn)了傳輸線路的備份。同時也解決了被動接收的方式分流RS232信號帶來的問題。