劉小虎 唐 勇
(1.海軍工程大學(xué)電氣工程學(xué)院 武漢 430033)(2.武漢東湖學(xué)院機(jī)電工程學(xué)院 武漢 430212)
LaVIEW是一種圖形化開發(fā)環(huán)境,在數(shù)據(jù)測量與分析以及控制領(lǐng)域使用十分廣泛,它的功能十分強(qiáng)大且易于上手[1]。其功能包括數(shù)值運(yùn)算、數(shù)據(jù)采集、數(shù)據(jù)處理、信號生成、信號分析、數(shù)據(jù)通信、圖像生成等。與傳統(tǒng)編程采取的文本相比,LabVIEW視同圖形語言G語言編程,界面友好直觀,是一種直覺式圖形程序語言[2]?;谏鲜鯨abVIEW的特性,本文以LabVIEW作為開發(fā)環(huán)境設(shè)計(jì)制作了數(shù)據(jù)采集系統(tǒng)的上位機(jī)軟件,并使用自主研發(fā)的采集設(shè)備作為相應(yīng)的下位機(jī)系統(tǒng)。整個數(shù)據(jù)采集系統(tǒng)主要由上述兩部分組成,本文主要介紹了上位機(jī)設(shè)計(jì)實(shí)現(xiàn)方法,并在實(shí)際測試中進(jìn)行了性能檢驗(yàn)。兩者采用UDP協(xié)議進(jìn)行數(shù)據(jù)通信。
根據(jù)分析地震數(shù)據(jù)所需的要求,上位機(jī)的主要功能包括數(shù)據(jù)顯示、UDP網(wǎng)絡(luò)通信、網(wǎng)絡(luò)參數(shù)設(shè)置、采集參數(shù)設(shè)置、標(biāo)定參數(shù)設(shè)置、數(shù)據(jù)存儲位置設(shè)置、運(yùn)行日志等。
圖1 上位機(jī)主界面
其中數(shù)據(jù)存儲和數(shù)據(jù)顯示本上位機(jī)的核心功能,UDP網(wǎng)絡(luò)通信實(shí)現(xiàn)上位機(jī)和下位機(jī)之間的數(shù)據(jù)交互,相關(guān)參數(shù)設(shè)置功能用來配置相關(guān)設(shè)備信息。本上位機(jī)數(shù)據(jù)顯示的主要功能是用來實(shí)時顯示地震波數(shù)據(jù)波形圖,故在布局上分為兩大部分,如圖1所示,左側(cè)為實(shí)時波形顯示部分,右側(cè)從上至下包括通信指示燈、擺位信號指針、GPS信息以及地震波形圖調(diào)節(jié)按鈕和旋鈕。
目前網(wǎng)絡(luò)運(yùn)輸層采用的主要傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)[3],其中TCP是面向連接的協(xié)議,兩個使用TCP的應(yīng)用在彼此交換數(shù)據(jù)之前需建立連接,傳輸延遲較大,同時TCP不支持廣播和組播,不能滿足本套數(shù)據(jù)采集系統(tǒng)的要求;而UDP是一個簡單的面向數(shù)據(jù)報的運(yùn)輸協(xié)議,通信時直接向網(wǎng)絡(luò)端發(fā)送數(shù)據(jù),在傳輸過程中不關(guān)注網(wǎng)絡(luò)狀態(tài),能夠支持廣播和組播。
為了實(shí)現(xiàn)多機(jī)同時監(jiān)測一臺地震儀,并且使接入到網(wǎng)絡(luò)的上位機(jī)直接獲取網(wǎng)絡(luò)中的地震數(shù)據(jù),本文采用UDP協(xié)議的方式來進(jìn)行通信。本文使用的通信協(xié)議的一部分如圖2所示。
圖2 通信協(xié)議(部分)
為了便于后期對地震數(shù)據(jù)的分析和處理,本文采用了由港震公司開發(fā)的數(shù)字遙測地震臺網(wǎng)系統(tǒng)的地震波形數(shù)據(jù)格式EDAS。
圖3 EDAS格式示意圖
數(shù)據(jù)采用二進(jìn)制進(jìn)行存儲,如圖3所示,當(dāng)只有一臺地震儀時,數(shù)據(jù)從91D4開始記錄:標(biāo)志位91D4-91D7:0表示數(shù)據(jù)正常,1表示數(shù)據(jù)異常;91D8起分別是第一秒第一個通道的數(shù)據(jù)(塊長為采樣率×4字節(jié)),第二個通道數(shù)據(jù),第三個通道數(shù)據(jù);然后是第二秒的數(shù)據(jù)。
按照該數(shù)據(jù)格式,存儲的地震數(shù)據(jù)可在后期使用特定的軟件工具進(jìn)行相關(guān)的數(shù)據(jù)分析和處理,從而節(jié)省自己編寫分析軟件的工作量。
無限長單位抽樣響應(yīng)(FiniteImpulse Response,F(xiàn)IR)數(shù)字濾波器具有系統(tǒng)穩(wěn)定性,易于滿足線性相位、允許設(shè)計(jì)多通帶或多阻帶濾波器和硬件實(shí)現(xiàn)容易等特點(diǎn),在通信、雷達(dá)、生物醫(yī)學(xué)、地震勘探等領(lǐng)域得到廣泛的應(yīng)用[4]。Matlab是美國MathWorks公司推出的用于工程計(jì)算的功能強(qiáng)大的軟件,是“數(shù)字信號處理”等學(xué)科技術(shù)實(shí)現(xiàn)和仿真的重要平臺[5]。Matlab中fdatool工具箱可以簡便快捷地設(shè)計(jì)出符合采集地震數(shù)據(jù)要求的FIR數(shù)字濾波器。
通過地震儀采集的地震數(shù)據(jù)是有環(huán)境等干擾因素的,故而會產(chǎn)生噪聲。為了去掉噪聲對實(shí)時波形圖顯示以及后期數(shù)據(jù)處理的影響,本文基于Matlab中fdatool工具箱,如圖4所示,設(shè)計(jì)了一個FIR濾波器濾除高頻噪聲的影響。
圖4 Fdatool工具箱
上位機(jī)主程序分為兩個線程,一個是用于響應(yīng)各個菜單、按鈕、旋鈕等事件的定時循環(huán)結(jié)構(gòu),另一個是用于接收數(shù)據(jù)并進(jìn)行濾波、顯示和存儲的定時循環(huán)結(jié)構(gòu)。其運(yùn)行流程圖如圖5所示。
上位機(jī)運(yùn)行后,當(dāng)數(shù)據(jù)線程接收啟動信號,將進(jìn)行網(wǎng)絡(luò)連接,連接成功進(jìn)入5ms定時循環(huán)進(jìn)行數(shù)據(jù)接收和處理,在數(shù)據(jù)處理時可以通過停止按鈕來終止該5ms定時循環(huán),否則重置上位機(jī)并報相應(yīng)的錯誤,再次等待啟動信號,數(shù)據(jù)線程LabVIEW程序圖(部分)如圖6所示;事件線程將等待按鈕、菜單、旋鈕等事件、事件發(fā)生后處理相應(yīng)事件,并再次等待事件發(fā)生,事件線程LabVIEW程序圖(部分)如圖7所示。
圖5 上位機(jī)結(jié)構(gòu)
圖6 數(shù)據(jù)線程
圖7 事件線程
為了使結(jié)果更加直觀,本文使用信號發(fā)生器產(chǎn)生正弦波信號,通過采集設(shè)備采集發(fā)送給上位機(jī)實(shí)時顯示波形,如圖8所示。同時,本上位機(jī)還將采集的正弦波形進(jìn)行了存儲,圖9為使用專用軟件打開的存儲文件所得到的正弦波形。最后,本文還測試了FIR濾波器的性能,先使用信號發(fā)生器產(chǎn)生一個低頻正弦波,再產(chǎn)生一個高頻正弦波,之后恢復(fù)到之前的低頻正弦波,如圖10所示,該FIR濾波器能有效的濾除信號中的高頻信號。
圖8 實(shí)時正弦波形
圖9 存儲的正弦波形
圖10 存儲的正弦波形
本文基于LabVIEW設(shè)計(jì)了上位機(jī)以網(wǎng)絡(luò)通信的方式與采集設(shè)備進(jìn)行信息交互,實(shí)時濾波顯示并存儲了地震數(shù)據(jù)波形,滿足了地震教學(xué)使用儀器的要求,但要進(jìn)行地震測定和更進(jìn)一步的地震數(shù)據(jù)分析和預(yù)測還需建立一個數(shù)據(jù)網(wǎng)絡(luò),形成一個數(shù)據(jù)集群,才能得到更加有意義的分析結(jié)論。