齊 亮, 倪 巍, 姜 濤, 丁圓強(qiáng), 管萬(wàn)春, 張大海
(齊魯工業(yè)大學(xué)(山東省科學(xué)院) 山東省科學(xué)院海洋儀器儀表研究所, 山東 青島 266001)
近年來(lái),隨著我國(guó)工業(yè)化的快速發(fā)展,大氣污染問(wèn)題日益嚴(yán)峻。國(guó)家對(duì)此也十分重視,不斷加大對(duì)大氣環(huán)境的監(jiān)測(cè)和保護(hù)力度。對(duì)大氣環(huán)境進(jìn)行綜合監(jiān)測(cè)治理,需要對(duì)天氣和氣候過(guò)程進(jìn)行更加精細(xì)化的觀測(cè)和預(yù)報(bào)[1],這就對(duì)氣象觀測(cè)提出了更高的要求。一般來(lái)說(shuō),氣象觀測(cè)分為地面氣象觀測(cè)、高空氣象觀測(cè)和氣象衛(wèi)星探測(cè)。在地面氣象觀測(cè)中,氣象站的位置、氣象儀器的準(zhǔn)確度、以及觀測(cè)和記錄方法直接影響觀測(cè)的結(jié)果,從而影響對(duì)當(dāng)前氣象狀態(tài)和趨勢(shì)的分析。針對(duì)此,本文設(shè)計(jì)了一種基于LABVIEW與SQL server編程,并利用維薩拉公司的WXT520氣象觀測(cè)儀實(shí)現(xiàn)的一種固定/移動(dòng)式氣象觀測(cè)系統(tǒng)??梢詫庀髷?shù)據(jù)實(shí)時(shí)解析成數(shù)據(jù)表格和曲線圖,還可以自動(dòng)完成氣象數(shù)據(jù)采集發(fā)送和處理,實(shí)現(xiàn)無(wú)人值守。
WXT520氣象觀測(cè)儀是一款性能優(yōu)良,且集成度高、易于攜帶的氣象測(cè)量?jī)x器,可實(shí)時(shí)測(cè)量風(fēng)速、風(fēng)向、氣壓、溫度和相對(duì)濕度,非常適宜于碼頭、氣象站、建筑物、戶外活動(dòng)場(chǎng)所等需要對(duì)當(dāng)前氣象進(jìn)行實(shí)時(shí)檢測(cè)的場(chǎng)所[2]。其集成度較高的優(yōu)點(diǎn),使其可以替代多個(gè)常規(guī)氣象儀器,用戶攜帶設(shè)備大大減少;而其低功耗的優(yōu)點(diǎn),使用移動(dòng)電源甚至9 V干電池即可進(jìn)行較長(zhǎng)時(shí)間的工作,降低了對(duì)電源要求;這兩個(gè)優(yōu)點(diǎn)極大的提高了其便攜性,使其適用范圍更廣。
WXT520氣象觀測(cè)儀測(cè)量模式有兩種,一種是查詢輸出模式,WXT520氣象觀測(cè)儀接收到指令后,返回指令索要的數(shù)據(jù);另一種是連續(xù)輸出模式,WXT520氣象觀測(cè)儀以設(shè)定的時(shí)間間隔,連續(xù)向串口輸出所有的氣象數(shù)據(jù)。據(jù)此,本系統(tǒng)設(shè)計(jì)了兩種對(duì)應(yīng)的模式:軟件定時(shí)向儀器發(fā)送采集命令的無(wú)人值守模式,可用于長(zhǎng)期無(wú)人值守氣象觀測(cè)站;連續(xù)數(shù)據(jù)采集處理模式,可用于短時(shí)間氣象考察研究作業(yè)。兩種模式的數(shù)據(jù)均可顯示在用戶界面的圖表和曲線圖上,方便用戶直觀的分析氣象變化。數(shù)據(jù)以EXCEL報(bào)表和數(shù)據(jù)庫(kù)的方式保存。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)示意圖
WXT520氣象觀測(cè)儀可通過(guò) RS232、RS485、RS422和SDI-12四種方式與上位機(jī)進(jìn)行通信,本文采用RS232通信方式。根據(jù)表1,將RS232的TxD、RxD、數(shù)據(jù)接地針腳和 Vin+(工作)、Vin+(接地)針腳接線引出。首先將數(shù)據(jù)針腳接線焊接到DB9串口母頭上,并使用串口轉(zhuǎn)USB轉(zhuǎn)接線,連接至服務(wù)器電腦;其次將電源針腳接線連接至5~32 V電源供電。
表1 WXT520串行接口和電源針腳定義
本文設(shè)計(jì)的終端軟件是利用NI公司的Labview2014開(kāi)發(fā)環(huán)境設(shè)計(jì)的,LabVIEW是一種圖形化的編程語(yǔ)言,又稱為G語(yǔ)言,包含GPIB、VXI、PXI、RS-232、RS-485 和網(wǎng)絡(luò)通信等諸多功能,其強(qiáng)大的數(shù)據(jù)采集和處理顯示功能,使其在工業(yè)測(cè)控領(lǐng)域得到廣泛的應(yīng)用[3]。
本文設(shè)計(jì)的終端軟件,由串口模塊、數(shù)據(jù)處理顯示模塊、采集指令模塊和用戶界面控件四個(gè)主要部分組成。具備定時(shí)/實(shí)時(shí)采集數(shù)據(jù)、數(shù)據(jù)接受處理并顯示、數(shù)據(jù)保存SQL數(shù)據(jù)庫(kù)等功能。采用多線程并行運(yùn)行的設(shè)計(jì)方法,提高了程序的運(yùn)行效率,也避免了程序在進(jìn)行大量數(shù)據(jù)處理時(shí),用戶交互界面遲鈍卡死。采用模塊化編程,各功能模塊相對(duì)獨(dú)立,功能單一,提高了代碼的可讀性,也有利于代碼的重用。本軟件與SQLserver數(shù)據(jù)庫(kù)的交互,是利用LABSQL工具包實(shí)現(xiàn)的,LABSQL通過(guò)Microsoft ADO以及SQL語(yǔ)言完成對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),將復(fù)雜的底層ADO和SQL語(yǔ)句封裝成功能函數(shù)[4],從而降低了對(duì)SQLserver數(shù)據(jù)庫(kù)的操作復(fù)雜性,顯著提高了編程效率。
1)軟件啟動(dòng)后,彈出設(shè)置對(duì)話框,輸入數(shù)據(jù)庫(kù)信息,點(diǎn)擊保存,軟件根目錄將會(huì)生成一個(gè)包含配置參數(shù)的.ini的配置文件,重啟即可完成軟件初始化。
2)在軟件用戶界面可選擇無(wú)人值守或連續(xù)工作模式,如果選擇無(wú)人值守模式,則需同時(shí)設(shè)置采集間隔;在選定工作模式之后,配置串口參數(shù),然后點(diǎn)擊“打開(kāi)串口”按鈕,軟件開(kāi)始工作。軟件用戶界面如圖2所示。
圖2 軟件用戶界面
3)以無(wú)人值守模式為例,利用LABVIEW的“執(zhí)行過(guò)程控制Express VI和函數(shù)”里的已用時(shí)間函數(shù),將用戶設(shè)置的采集間隔換算成秒,作為已用時(shí)間函數(shù)的目標(biāo)時(shí)間,也就是一次循環(huán)過(guò)程所經(jīng)歷的時(shí)間;將已用時(shí)間函數(shù)的自動(dòng)重置設(shè)為“true”,實(shí)現(xiàn)完成一次循環(huán)過(guò)程后,自動(dòng)開(kāi)始下一次循環(huán)過(guò)程;將已用時(shí)間函數(shù)的結(jié)束輸出端連接到向WXT520氣象觀測(cè)儀發(fā)送采集命令的條件結(jié)構(gòu)的條件選擇器上,當(dāng)已用時(shí)間函數(shù)運(yùn)行時(shí)間與采集間隔一致后,函數(shù)“結(jié)束”輸出端的值將由“false”變?yōu)椤皌rue”,條件結(jié)構(gòu)執(zhí)行真分支子程序,通過(guò)串口向WXT520氣象觀測(cè)儀發(fā)送采集命令。WXT520氣象觀測(cè)儀在接收到此命令后,通過(guò)串口返回氣象數(shù)據(jù)。終端軟件接收到數(shù)據(jù)后,會(huì)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn),如果長(zhǎng)度和格式正確,則會(huì)對(duì)數(shù)據(jù)進(jìn)行處理,以數(shù)據(jù)表格和曲線圖的方式予以顯示,并存入SQLserver數(shù)據(jù)庫(kù)中。溫度數(shù)據(jù)處理程序如圖3所示,無(wú)人值守模式工作流程如圖4所示。
圖3 溫度數(shù)據(jù)處理程序框圖
圖4 無(wú)人值守模式工作流程圖
經(jīng)過(guò)大量的實(shí)際氣象觀測(cè)使用,本氣象觀測(cè)系統(tǒng)能有效減少觀測(cè)人員的工作量,避免了人工遴選數(shù)據(jù)容易出錯(cuò)的問(wèn)題,并且終端軟件能將數(shù)據(jù)以曲線圖的方式予以顯示,有利于觀測(cè)人員判斷氣象變化趨勢(shì),分析總結(jié)氣象規(guī)律,方便氣象觀測(cè)和預(yù)報(bào)。本系統(tǒng)的無(wú)人值守工作模式,能在無(wú)人干預(yù)的情況下,自主完成數(shù)據(jù)采集處理保存,有效地降低了氣象觀測(cè)的人力物力成本。