孟嬌嬌 盛炎 閆婷婷 朱慧博



摘要:為了能夠方便的在LabVIEW環境中按個人需求快捷地查詢天氣狀況,系統采用在LabVIEW中調用ActiveX控件,從Web網頁中獲取氣象采集數據,并進行數據分揀和選擇顯示處理等程序設計方法,實現了指定城市風力、濕度、紫外線強度、空氣質量等氣象信息的識別監測功能。
關鍵詞:氣象監測;LabVIEW;Web;數據處理
中圖分類號:TP311 ? ? ?文獻標識碼:A
文章編號:1009-3044(2020)17-0078-03
Abstract: In order to conveniently query the weather conditions according to personal needs in LabVIEW environment, the system adopts the program design method of calling ActiveX control in LabVIEW, obtaining meteorological collected data from Web web page, sorting data and selecting display processing, etc. The identification and supervision of meteorological information such as wind force, humidity, ultraviolet intensity and air quality in designated cities are realized. Test function.
Key words: meteorological monitoring; LabVIEW; Web; data processing
1 背景
天氣預報與人們的生產和生活息息相關,為人們的出行生活提供了便捷,但LabVIEW環境下的氣象監測系統卻比較少見。LabVIEW(虛擬儀器)是美國國家儀器公司開發的一種圖形化的編程語言,擁有數據采集、分析、處理和顯示等所需的眾多工具,可以方便快捷地根據個人喜好搭建采集監控系統。為了滿足人們對氣象預報在不同工作環境下的精細化、個性化需求,本文設計了一款可個性化編程的氣象監測系統。
2 總體設計方案及工作原理
因國家氣象數據中心采用大數據分析,結果更為翔實可靠,所以系統設計時,未過多考慮硬件采集終端,而是采用了通過Web獲取氣象中心數據再處理顯示的方法。系統設計的總體設計方案如圖1所示,由登錄模塊、數據獲取模塊、數據處理、數據顯示等四個模塊構成。
用戶成功登錄進入系統后,通過LabVIEW的前面板也即用戶交互界面選擇省份和城市,系統則會通過Web網頁獲取國家氣象數據中心,經過后臺數據分析和處理,由交互界面顯示城市當日的風力、濕度、紫外線強度等氣象信息,并同時顯示一周內的天氣預報。系統還可以根據用戶需要,設計分析和顯示歷史氣象信息。
3 功能模塊設計
3.1 登錄模塊設計
用戶登入模塊主要是為了保護用戶信息安全設置的,當用戶運行程序時,程序會自動彈出口令信息對話框,用戶名和密碼的輸入不正確則不能進入運行狀態。如圖2所示為登錄模塊的前面板,主要應用了文本輸入、布爾輸入和進度條顯示的數據輸出。程序框圖如圖3所示,當賬戶和密碼輸入和子VI所調用的賬戶預存信息比對一致且確定按鈕“按鍵值改變”事件發生時,case結構進入真分支,執行順序結構,否則執行假分支,停止運行登錄程序。其中順序結構有三幀,分別為:顯示進度條、打開主程序VI、關閉登錄界面VI。
3.2 數據獲取模塊設計
LabVIEW本身沒有能夠打開Web網頁這一功能,但可以通過容器調用ActiveX 控件,采用WebBrowser獲取相關網頁的控制權,在本模塊中為WebBrowser控件輸入指定網址URL,并設置調用方法Navigate,獲取網頁中全部內容。設置屬性節點讀取網頁屬性body、title、inner Text等,從title獲取天氣預報網頁的標題,從inner TEXT獲取網頁的天氣監測數據,采用逐級匹配字符串的方法,獲取了當前城市,所有獲取的信息均以字符串文本形式保存,并創建相應的顯示控件,便于后續數據的調用、分析和重組。
為了減少主程序的復雜程度,增強主程序的可讀性,將“數據獲取模塊”打包設置成一個子VI,通過輸入參數的設置,方便地實現LabVIEW與Web之間的通信,從而完成氣象數據的獲取操作,其操作流程圖如圖4所示。
3.3 數據處理模塊設計
從網頁中獲取的數據是龐雜的且不能夠直觀地顯示出來,如何根據人們的需求,創建自己的氣象監測平臺,就需要通過LabVIEW軟件從所獲取的數據中篩選分揀出于個人有價值的、有意義的數據。如圖5所示的程序框圖,通過索引關鍵字,將氣象監測網頁數據inner Text中的內容進行分揀,顯示了城市七天晝夜溫度、風力、空氣質量等信息,設計中將網頁獲取的數據通過字符串“匹配模式”控件,進行數據的篩選,再使用“截取字符串”“替換數組子集”“數組插入”“索引數組”“截取子數組子集”“連接字符串”等控件實現數據的個性化顯示處理。其他數據處理模塊,如省市的數據篩選則是采用條件結構進行篩選。
3.4 數據顯示模塊設計
數據顯示模塊設計,主要包含文本背景色顯示、顯示城市查詢輸入、氣象信息顯示等。其前面板設計如下圖6所示。背景色的主要設置:首先將背景顏色設置成數值型數據,選擇不同背景顏色時,其數值大小不一,然后調用子VI運行后,將背景色屬性通過字符串至數值轉換控件后,再調用文本背景色屬性節點控件,顯示其屬性值的大小即可。其中子VI的程序框圖如圖6所示,在顯示背景色的同時,還顯示了local(本城市)和data(氣象數據)。圖6中local、data數據隨后送至“數據獲取”子VI輸入接口。城市查詢分兩級索引,先在省市列表中對省市進行索引,再對該省的城市列表中進行城市索引,將索引結果也送至“數據獲取”子VI輸入接口,寫入URL對應屬性。通過調用“數據獲取”和“數據處理”子VI獲得該城市的天氣信息,并最終顯示到前面板中。
4 運行結果
系統運行時,用戶首先輸入賬號和密碼,成功登錄后,將直接進入氣象監測系統,在人機交互的前面板界面,將會顯示當前城市的地點和時間,同時用戶可以選擇所想查詢的省份和城市,即能夠在文本區顯示城市當前及一周的天氣預報。包括風力、濕度、溫度、日出、日落、空氣質量等要素。同時可以個人喜好,選擇文本區的背景色。如圖7所示,為查詢江蘇省宿遷市的天氣情況時,所顯示的天氣信息。
5 結束語
基于LabVIEW的氣象監測系統,通過調用Web網頁技術,實現了氣象數據的自動獲取、處理、查詢和顯示功能,實現了對風力、溫度、空氣質量等各氣象數據信息的顯示。系統在設計過程中,用戶可以根據個人需求和喜好,直接修改程序框圖中URL屬性,選擇性地顯示氣壓、相對濕度等其他氣象信息。所獲取的氣象數據可以同時保存至數據庫中,供用戶自由調用查詢,為分析歷史天氣提供數據參考。該系統操作簡單,用戶開發自由度高,為虛擬儀器技術的實際應用及氣象監測系統的設計提供一定的參考。
參考文獻:
[1] 周鵬, 許鋼, 馬曉瑜. 精通LabVIEW信號處理[M]. 北京: 清華大學出版社, 2013.
[2] 韋浩. 基于LabVIEW虛擬自動氣象站訓練與應用系統設計[D]. 南京: 南京信息工程大學, 2016.
[3] 翁國玲. 基于虛擬儀器技術的艦船自動氣象儀系統開發[J]. 艦船科學技術, 2017, 39(24): 170-172.
[4] 吳傳全. 基于LabVIEW的自動氣象站設計[J]. 無線互聯科技, 2016(5): 50-52.
[5] 崔麗珍, 徐錦濤, 丁福星, 等. 基于物聯網的農業大棚氣象數據監測系統設計[J]. 電子技術應用, 2018, 44(12): 73-76, 80.
【通聯編輯:謝媛媛】