羅生言,駱藝仁,蔣承志
(防城港市氣象局,防城港 538001)
隨著地面觀測自動化改革工作的推進,地面觀測站探測系統(tǒng)已不再需要值班員全天候監(jiān)控值守,觀測崗人員逐漸向保障崗轉(zhuǎn)型,無人值守后觀測系統(tǒng)的運行監(jiān)控變成解放人力的阻礙[1]。國家級地面氣象觀測站觀測設備經(jīng)過國產(chǎn)化換型后系統(tǒng)性能得到了很大提升,近年省級裝備保障部門也開發(fā)完善了地面觀測采集系統(tǒng)的監(jiān)控系統(tǒng)[2,3],自動化程度得到了提升。但地面觀測更多的故障問題發(fā)生在觀測系統(tǒng)的附屬設施上,附屬設施主要負責對采集系統(tǒng)返回數(shù)據(jù)進行處理轉(zhuǎn)發(fā)的計算機、承擔計算機與服務器通信任務的路由網(wǎng)絡以及保障采集系統(tǒng)穩(wěn)定供電的后備發(fā)電機等,此類設施的可靠性直接影響了地面氣象觀測采集系統(tǒng)的穩(wěn)定性[4];因此,對地面氣象觀測站附屬設施的運行監(jiān)控是地面觀測實現(xiàn)全面自動化的關(guān)鍵環(huán)節(jié)。
地面氣象觀測附屬設備監(jiān)控報警系統(tǒng)(以下簡稱“系統(tǒng)”)的核心為監(jiān)控計算機。監(jiān)控計算機與部分被監(jiān)控對象間需通過Modbus TCP/IP協(xié)議轉(zhuǎn)換模塊建立連接,以滿足穩(wěn)定通信和集成兼容的要求,如UPS電源、發(fā)電機、各類采集器等,其他對象則通過網(wǎng)絡方式直接通信。該設計方法主要是考慮方便未來對系統(tǒng)的擴展和升級,實現(xiàn)更多附屬設備的監(jiān)控[5-8]。
采集計算機是整個觀測系統(tǒng)的核心傳輸設備,負責將采集系統(tǒng)采集到的數(shù)據(jù)取回后進行存儲和生成報文并發(fā)送給服務器,其穩(wěn)定性與數(shù)據(jù)的傳輸率直接關(guān)聯(lián),系統(tǒng)在采集計算機上內(nèi)置1個心跳小程序,每分鐘向監(jiān)控主機發(fā)送1個心跳數(shù)據(jù)包,心跳數(shù)據(jù)包內(nèi)包含系統(tǒng)盤容量、數(shù)據(jù)盤容量、內(nèi)存使用率及CPU使用率等關(guān)鍵參數(shù),系統(tǒng)實時對心跳數(shù)據(jù)進行綜合分析評估及采集計算機性能,當評估值偏差時則發(fā)出告警。若監(jiān)控主機在2個心跳周期內(nèi)未能收到心跳數(shù)據(jù)包,則通過PING命令對采集計算機進行網(wǎng)絡測試,若網(wǎng)絡測試不通過則判斷采集計算機宕機,立即發(fā)出告警,通知保障人員處理。
利用Modbus TCP/IP通信協(xié)議接口的交流電壓采集器分別對市電的輸入電壓Vmain、發(fā)電機的輸出電壓Vback及UPS的輸入電壓Vin進行定時采樣,綜合UPS的最低穩(wěn)定電壓及發(fā)電機的啟動觸發(fā)閾值兩項因素的考慮,將電壓判斷閾值設為185 V,即當采樣電壓低于185 V時,則該路電壓判斷為異常電壓。當Vmain異常時判斷Vback是否正常,若Vback正常且Vin也正常,則發(fā)出市電異常發(fā)電機已啟動提示;若兩路均不正常,則發(fā)出市電異常發(fā)電機未啟動警告;若Vmain和Vback有1路正常但Vin異常,則判斷為供電電閘出現(xiàn)故障并發(fā)出警告。
通過Modbus TCP/IP協(xié)議轉(zhuǎn)換模塊與發(fā)電機建立通信,定時讀取發(fā)電機的待機狀態(tài)參數(shù)及運行狀態(tài)參數(shù),定時查詢狀態(tài)參數(shù)分析發(fā)電機可能出現(xiàn)的故障,提醒保障人員及時處理排除隱患。發(fā)電機儲油量則通過超聲波探測傳感器測量油桶內(nèi)的油液高度,經(jīng)過換算可得到油桶的儲油量,儲油量的油量原理與地面氣象觀測的蒸發(fā)量測量原理相同。
UPS穩(wěn)壓器是觀測系統(tǒng)的直接供電設備,其穩(wěn)定與否將直接影響到觀測設備的穩(wěn)定性,通過Modbus TCP/IP協(xié)議轉(zhuǎn)換模塊與UPS穩(wěn)壓器主機建立通信,定時讀取其工作狀態(tài)參數(shù),主要包括輸出電壓、電池容量、供電頻率及逆變器告警等,及時將UPS參數(shù)的變化情況告知保障人員能提升觀測系統(tǒng)的工作穩(wěn)定性。
在日常網(wǎng)絡管理中,利用tracert命令對路由進行定向追蹤,可準確有效地判斷網(wǎng)絡運行情況。通過tracert命令對省局網(wǎng)絡網(wǎng)關(guān)進行路由追蹤,對返回的路由信息進行綜合分析。若是通過本地市運營商托管的路由網(wǎng)關(guān)到達目標服務器,則說明主光纖網(wǎng)絡正常;若是通過無線路由器網(wǎng)關(guān)到達目標服務器,則說明主光纖中斷,4G備份網(wǎng)線正常,否則說明通向省局的網(wǎng)絡發(fā)生故障。
系統(tǒng)啟動后先加載適配參數(shù),對各硬件模塊進行檢測和初始化,若初始化過程出現(xiàn)異常將提示用戶修改參數(shù)或檢查硬件設備的工作狀態(tài)。當系統(tǒng)初始化成功后便啟動線程觸發(fā)定時器,各個線程分別對UPS狀態(tài)、供電狀態(tài)、發(fā)電機狀態(tài)、發(fā)電機油量、計算機狀態(tài)及網(wǎng)絡狀態(tài)進行查詢、分析和判斷,當判斷發(fā)生告警事件時將按照預設的條件選擇告警模式和通知對象并觸發(fā)告警[9]。
基于C++語言,利用Visual Studio2012開發(fā)工具開發(fā)了系統(tǒng)主控軟件,系統(tǒng)主要分為主監(jiān)控處理與顯示模塊、參數(shù)配置模塊、人員信息管理模塊、短信告警模塊、電話告警模塊和計算機監(jiān)控服務模塊。
監(jiān)控處理與顯示模塊利用網(wǎng)絡套接字與各通信協(xié)議轉(zhuǎn)換模塊建立TCP通信,每一個監(jiān)控要素設定一個數(shù)據(jù)采集和分析處理的線程,各個線程通過不同周期的定時器觸發(fā)啟動,每一個監(jiān)控要素都配置過去和當前兩個狀態(tài),各個線程把獲取到的要素當前數(shù)據(jù)賦值于當前狀態(tài),再將當前狀態(tài)與過去狀態(tài)進行比對,當狀態(tài)發(fā)生變化時則將當前狀態(tài)賦值于過去狀態(tài),形成提示信息并觸發(fā)告警線程,否則直接將當前狀態(tài)賦值于過去狀態(tài)。以此方法處理和監(jiān)控各要素的采集數(shù)據(jù)方便用戶掌握監(jiān)控目標的工作狀態(tài),數(shù)據(jù)分析處理后形成狀態(tài)信息顯示在消息窗口中,用戶可直觀監(jiān)控。
參數(shù)配置模塊通過文件IO接口將從INI配置文件讀取到的參數(shù)顯示給用戶,并將用戶修改的參數(shù)寫入配置文件中,形成人機交互。配置文件可設置各目標采集器的網(wǎng)絡參數(shù)、告警觸發(fā)條件參數(shù)及計算參數(shù)等,所有參數(shù)在軟件啟動時一次性讀取用于系統(tǒng)初始化。
人員信息模塊利用ADO接口讀寫本地數(shù)據(jù)庫,將需要通知對象的姓名、電話號碼及告警方式等信息記錄在數(shù)據(jù)庫中,用戶可根據(jù)非汛期模式、汛期模式或應急響應模式對人員進行關(guān)聯(lián),也可獨立對每一個通知對象進行設置,達到合理有效的告警效果。
短信告警模塊通過MSComm控件編程,與GSM短信模塊進行交互,程序?qū)⑿枰l(fā)送的短信內(nèi)容進行寬字節(jié)UNICODE碼轉(zhuǎn)換后通過串口向模塊進行數(shù)據(jù)寫入,模塊將信息發(fā)送后向系統(tǒng)反饋發(fā)送結(jié)果,系統(tǒng)根據(jù)反饋結(jié)果判斷是否需要重發(fā),確保告警短信可靠發(fā)送。
電話告警模塊通過USB通信接口編程實現(xiàn)與電話語音模塊通信,在語音告警觸發(fā)時,系統(tǒng)模塊將需要告警的信息通過微軟的TTS語音引擎轉(zhuǎn)換成wav語音文件,向告警通知對象撥通電話后隨即播放告警語音文件,播放告警語音文件完成后則向用戶詢問按鍵反饋,若1次告警未收到按鍵反饋則循環(huán)發(fā)出語音告警,直至收到用戶按鍵反饋為止,以達到有效告警的效果。
計算機監(jiān)控程序是在系統(tǒng)中獨立運行的服務程序,該程序每分鐘查詢1次業(yè)務計算機的系統(tǒng)狀態(tài),利用GetSystemMemoryInfo和GetDiskFreeSpaceEx等函數(shù)讀取包括CPU使用率、內(nèi)存使用率、系統(tǒng)盤剩余容量、數(shù)據(jù)盤剩余容量及時鐘狀態(tài)等信息,并以心跳包的形式發(fā)送到監(jiān)控主機上,由監(jiān)控系統(tǒng)進行分析判斷并適配告警觸發(fā)條件。若監(jiān)控主機超過2 min未收到監(jiān)控服務程序發(fā)送的心跳包,則利用PING命令測試業(yè)務主機的網(wǎng)絡狀態(tài);若PING命令無法響應時則判斷為業(yè)務主機宕機,當業(yè)務主機發(fā)生宕機或相關(guān)系統(tǒng)狀態(tài)異常時則發(fā)出告警[10]。
系統(tǒng)可運行于WIN7和WIN10環(huán)境下,具有兼容性較好、占用系統(tǒng)資源少、穩(wěn)定可靠等優(yōu)點,已在防城港市部分地面觀測站投入業(yè)務試運行,在試用過程中取得了較好的應用效益,尤其是對局站分離的站點,值班人員可根據(jù)告警信息合理有效地開展應急處置工作,如安排運送發(fā)電機燃油、網(wǎng)絡排障等,降低了值班員監(jiān)控壓力和減緩了應急緊張情緒,并為地面氣象觀測監(jiān)控工作取得更多的主動權(quán)。
利用計算機輔助方法實現(xiàn)地面氣象觀測系統(tǒng)監(jiān)控自動化是全面提高地面氣象觀測質(zhì)量的重要手段,針對觀測系統(tǒng)附屬設施的監(jiān)控應抓住關(guān)鍵監(jiān)測點,及時準確地反應相關(guān)設備的運行狀態(tài)。文章的設計經(jīng)過科學驗證發(fā)現(xiàn)地面觀測附屬設施較為敏感且具有代表性,結(jié)合成熟的遠距離通信方式實現(xiàn)監(jiān)控和報警功能,切實有效地提升了地面氣象觀測的穩(wěn)定性。