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