賈照麗,張 俊,張少紅
(①太原理工大學(xué),山西 太原 030024;②新型傳感器與智能控制教育部重點實驗室,山西 太原 030024;③山西省礦山流體工程技術(shù)研究中心,山西 太原 030024;④中交四航局第二工程有限公司,廣東 廣州 510290)
日常工業(yè)生產(chǎn)中,在一些環(huán)境惡劣及高空危險場合難以采用傳統(tǒng)設(shè)備進行實時監(jiān)測,現(xiàn)場的信息往往不能及時的反饋給技術(shù)人員,給安全生產(chǎn)帶來了極大的隱患。為了能夠在環(huán)境惡劣的場合進行信號數(shù)據(jù)采集,并將采集到的數(shù)據(jù)實時的傳送給工作人員,文中提出基于虛擬儀器 LabVIEW環(huán)境下的遠程網(wǎng)絡(luò)數(shù)據(jù)采集與分析。
虛擬儀器[1](VI,Virtual Instrument)是利用計算機資源,配以獨特設(shè)計的硬件和專用軟件,實現(xiàn)普通儀器的全部功能以和一些在普通儀器上無法實現(xiàn)的特殊功能[2]。VI是利用數(shù)據(jù)采集模塊實現(xiàn)測量測試儀器的數(shù)據(jù)采集功能,利用計算機實現(xiàn)測量測試儀器的數(shù)據(jù)分析和輸出顯示功能。虛擬儀器與Internet技術(shù)的結(jié)合為虛擬儀器網(wǎng)絡(luò)化、工業(yè)現(xiàn)場遠程測控提供了更好的實現(xiàn)平臺。本設(shè)計主要是通過現(xiàn)場采集數(shù)據(jù),通過網(wǎng)絡(luò)化傳輸實現(xiàn)遠程數(shù)據(jù)采集、實時數(shù)據(jù)顯示、分析和數(shù)據(jù)的管理。
系統(tǒng)由麥克風(fēng)、PC聲卡、現(xiàn)場數(shù)據(jù)采集計算機、傳輸網(wǎng)絡(luò)、LabVIEW應(yīng)用程序、遠程監(jiān)控計算機幾部分組成,系統(tǒng)結(jié)構(gòu)圖如圖1所示,麥克風(fēng)輸入的聲音信號通過傳感器后變成電信號,在聲卡里進行 A/D轉(zhuǎn)換,經(jīng)過數(shù)字化處理后將采集到得信號輸送到現(xiàn)場數(shù)據(jù)采集計算機中進行預(yù)處理,然后將相關(guān)數(shù)據(jù)通過網(wǎng)絡(luò)連接到Internet上,傳輸?shù)奖O(jiān)控中心的主計算機上存儲供管理人員進行查詢、分析和處理。
圖1 系統(tǒng)結(jié)構(gòu)
聲卡與數(shù)據(jù)采集卡一樣都具備A/D、 D/A 轉(zhuǎn)換功能,可以看作是一塊工作于音頻范圍0.02~20 kHz內(nèi)的雙通道16位數(shù)據(jù)采集卡,并且要比一般12位數(shù)據(jù)采集卡的精度高,這對于許多工程測量和科學(xué)實驗來說都滿足要求。但是,因為聲卡輸入端口MIC IN有隔直流電容,對低頻信號,尤其是20 Hz以下的信號衰減較為嚴重,所以要得到較好的波形,輸入信號的頻率在0.1~15 kHz范圍內(nèi)。
聲卡一般有Line In和Mic In兩個信號輸入插孔,聲音信號可通過這兩個插孔連接到聲卡。若采用Line In輸入,由于有前置放大器,容易引入噪聲且會導(dǎo)致信號過負荷,故本系統(tǒng)使用Mic In輸入,其噪聲干擾小且動態(tài)特性良好。聲卡測量信號的引入應(yīng)采用音頻電纜或屏蔽電纜以降低噪聲干擾。若輸入信號電平高于聲卡所規(guī)定的最大輸入電平,則應(yīng)在聲卡輸入插孔和被測信號之間配置一個衰減器,將被測信號衰減至不大于聲卡最大允許輸入電平。LabVIEW對聲音采集的設(shè)置默認于其所處的操作系統(tǒng),文中使用的是普遍的聲卡,對高級聲卡采集信號時,要注意關(guān)閉如混響之類的一些特效,避免影響測量結(jié)果的真實性。
TCP/IP 協(xié)議體系是目前最成功, 使用最頻繁的Internet 協(xié)議, 有著良好的實用性和開放性。在數(shù)據(jù)傳輸中,TCP/IP協(xié)議是基于兩個網(wǎng)絡(luò)主機之間的點對點通信,即采用無連接傳輸?shù)腎P協(xié)議,具體為用IP地址來區(qū)分網(wǎng)絡(luò)中不同的數(shù)據(jù)站點,數(shù)據(jù)傳輸通過確定各個主機的IP地址,實現(xiàn)點對點的通信[3]。
采用 TCP/IP協(xié)議進行遠程網(wǎng)絡(luò)數(shù)據(jù)傳輸時,系統(tǒng)分客戶端(Client)和服務(wù)器端(Server)兩部分[4]。服務(wù)器端先對指定的端口監(jiān)聽,客戶端向服務(wù)器端被監(jiān)聽的端口發(fā)出請求,服務(wù)器端接收到請求后便建立與客服端的連接,向客戶端傳輸采集到的數(shù)據(jù),客戶端接收數(shù)據(jù)并進行數(shù)據(jù)的處理、分析與存取。通信完畢后,兩段通過關(guān)閉連函數(shù)斷開連接。
利用LabVIEW軟件中的聲卡采集模塊,結(jié)合“聲音讀取”vi和 while循環(huán)結(jié)構(gòu)控件函數(shù)設(shè)計基于LabVIEW的遠程網(wǎng)絡(luò)數(shù)據(jù)數(shù)據(jù)采集系統(tǒng)。
服務(wù)器端的前面板設(shè)計主要包括:①采樣模式:連續(xù)采樣;②聲音格式的設(shè)置:采樣頻率:22 050 Hz、通道數(shù)位 1、每采樣比特數(shù)為 16;③聲波顯示W(wǎng)ave-form;④停止采集的控制按鍵;⑤每通道采樣數(shù)1000000/ch;⑥為了便于頻譜分析與數(shù)據(jù)計算,采用單通道進行測試。
圖2中,利用TCP Listen子程序接收客戶端連接請求,利用Sound Input Configure節(jié)點對聲卡進行初始化設(shè)置(每通道采樣數(shù),聲音格式,采樣模式,設(shè)備ID)。建立TCP連接后,通過Sound Input Read節(jié)點采集數(shù)據(jù),利用節(jié)點函數(shù)TCP Write把需傳輸?shù)臄?shù)據(jù)(振動、時間、應(yīng)變、位移等)通過網(wǎng)絡(luò)發(fā)送出去。為發(fā)送不同類型的數(shù)據(jù),采用Type Cast節(jié)點函數(shù)把不同類型的數(shù)據(jù)都轉(zhuǎn)變?yōu)樽址愋?同時為了提高傳輸?shù)臏蚀_性,采用兩個TCP Write節(jié)點進行傳輸,第一個節(jié)點發(fā)送數(shù)據(jù)的長度,第二個節(jié)點發(fā)送采集到的數(shù)據(jù),實現(xiàn)程序如圖3所示。
圖2 服務(wù)器端程序設(shè)計
客戶端程序中,首先利用節(jié)點函數(shù) TCP Open Connection打開一個指定服務(wù)器和遠程端口TCP連接,進入While Loop循環(huán);其次,與服務(wù)器端相對應(yīng),為了確保信號有效的傳輸,采用兩個TCP Read節(jié)點接收數(shù)據(jù),第一個節(jié)點接收數(shù)據(jù)的長度,第二個節(jié)點接收采集到的數(shù)據(jù),并在前面板顯示出波形圖,同時在信號分析之前加入了Butterworth低通濾波器,對原始信號進行平滑濾波處理以消除高次諧波失真和噪聲干擾,提高信噪比。最后為了實現(xiàn)對聲音信號的存取[5],在循環(huán)里面加入了一個條件結(jié)構(gòu),存取模塊主要是把波形資料寫入到文件中去,單擊客戶端的【寫入數(shù)據(jù)】按鈕可以將采集到的數(shù)據(jù)按照指定的路徑保存了下來[6],同時設(shè)置文件存取路徑,以方便隨時讀取數(shù)據(jù)。在信號傳輸?shù)倪^程中,為了不停止整個程序的運行,同時分析任意時刻的數(shù)據(jù),在循環(huán)結(jié)構(gòu)體中加入了事件結(jié)構(gòu),當(dāng)點擊【暫?!堪粹o時,不需把整個程序停止就可以進行數(shù)據(jù)分析,程序如圖3所示。
圖3 客戶端程序框
通過上述程序設(shè)計過程,程序運行后,客戶機能準確接收服務(wù)器由聲卡采集進來的實際信號。以下是在現(xiàn)場進行采集的聲音信號顯示波形如圖4所示。
圖4 聲音信號顯示波形
由圖4分析可知,服務(wù)器端采集的信號和客戶端接收到得信號是完全相同的,只是客戶端比服務(wù)器端延時100 ms接收信號,實現(xiàn)了網(wǎng)絡(luò)的遠程數(shù)據(jù)傳輸功能。同時在遠程監(jiān)控計算機上對采集的信號進行分析處理以及存盤等操作。
地址:是要與其建立連接的地址。該地址可以為 IP句點符號格式或主機名[7]。如未指定地址,LabVIEW將建立與本地計算機的連接。
遠程端口:可以接收數(shù)字或字符串輸入,是要與其確立連接的端口或服務(wù)的名稱。有些端口已經(jīng)分配給指定的用途,因此在選著端口時,最好不要選擇小于 1024的端口,1024以下的端口是保留給特定用途的,例如FTP,HTTP和Telnet等。本設(shè)計的地址設(shè)定為1052,客戶端和服務(wù)器端的地址一定要一樣。
存儲路徑:是文件的路徑名,將接收的數(shù)據(jù)寫到指定的文件中。
暫停:可以使傳送暫時停止,以便進行數(shù)據(jù)分析。
首先,單擊服務(wù)器端界面菜單欄上的“運行”或“連續(xù)運行”按鈕,然后單擊客戶端界面菜單欄上的“運行”或“連續(xù)運行”按鈕,服務(wù)器端通過TCP偵聽技術(shù),監(jiān)聽到從客戶端發(fā)出的請求連接命令后,就可以進行聲卡采集數(shù)據(jù),同時顯示采集到的信號??蛻舳丝梢越?jīng)過Internet網(wǎng)絡(luò)利用TCP技術(shù)來讀取服務(wù)器端采集的數(shù)據(jù)。
網(wǎng)絡(luò)數(shù)據(jù)采集與分析系統(tǒng)用聲卡作為數(shù)據(jù)采集卡,根據(jù) LabVIEW中的TCP函數(shù)實現(xiàn)數(shù)據(jù)遠程網(wǎng)絡(luò)傳輸[8-9],實現(xiàn)在一些環(huán)境惡劣以及高空危險場合實時的監(jiān)測,通過LabVIEW中提供的信號分析工具對接收到的信號進行分析處理,同時為了方便工作人員實時的讀取接收到的信號,對接收到的信號進行存盤操作。實現(xiàn)數(shù)據(jù)的連續(xù)采集、遠程傳輸、數(shù)據(jù)存儲、實時顯示波形和相應(yīng)的處理。充分利用計算機和網(wǎng)絡(luò)資源,代替多個復(fù)雜的硬件設(shè)備,節(jié)約了測試成本,提高了經(jīng)濟效益,操作人性化,智能性強。易于用戶根據(jù)自己的需要進行構(gòu)建和升級。采用了虛擬儀器技術(shù),體現(xiàn)了系統(tǒng)較好的靈活性,為遠程監(jiān)控提供了一種全新的手段和思路。
[1] 高琴,陳樹軍. 多功能虛擬示波器的設(shè)計與實現(xiàn)[J].通信技術(shù),2010,43(04):217-219.
[2] 呂鋒,董偉. 基于 LabVIEW 的 LTE 物理上行共享信道仿真[J].通信技術(shù),2011,44(05):125-130.
[3] 劉剛,王立香.LabVIEW 8.20中文版編程及應(yīng)用[M].北京:電子工業(yè)出版社,2008.
[4] STEFANOVIC M, CVIJETKOVIC V. A LabVIEW-Based Remote Laboratory Experiments for Control Engineering Education[J].Computer Applications in Engineering Education,2011,19(03):538-549.
[5] 金愛娟,莫曉非,李少龍. 基于聲卡和LabVIEW的電機噪聲測試系統(tǒng)[J].電機與控制應(yīng)用,2010,37(09):29-31.
[6] 唐東煒,安軍.基于 LabVIEW和聲卡的機床噪聲測試分析系統(tǒng)[J].實驗室研究與探索,2008,27(09):61-70.
[7] 王吉平,趙哲.基于LabVIEW的通信測量技術(shù)研究[J].自動化與儀表,2011(01):29-31.
[8] 金甌,施勇,薛質(zhì).基于TCP協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)實時篡改[J].信息安全與通信保密,2010(04):74-77.
[9] 何方白,方飛,冉偉. 移動IP的安全策略研究[J]. 信息安全與通信保密,2006(02):68-70,74.