賈照麗,張 俊,張少紅
(①太原理工大學,山西 太原 030024;②新型傳感器與智能控制教育部重點實驗室,山西 太原 030024;③山西省礦山流體工程技術研究中心,山西 太原 030024;④中交四航局第二工程有限公司,廣東 廣州 510290)
日常工業生產中,在一些環境惡劣及高空危險場合難以采用傳統設備進行實時監測,現場的信息往往不能及時的反饋給技術人員,給安全生產帶來了極大的隱患。為了能夠在環境惡劣的場合進行信號數據采集,并將采集到的數據實時的傳送給工作人員,文中提出基于虛擬儀器 LabVIEW環境下的遠程網絡數據采集與分析。
虛擬儀器[1](VI,Virtual Instrument)是利用計算機資源,配以獨特設計的硬件和專用軟件,實現普通儀器的全部功能以和一些在普通儀器上無法實現的特殊功能[2]。VI是利用數據采集模塊實現測量測試儀器的數據采集功能,利用計算機實現測量測試儀器的數據分析和輸出顯示功能。虛擬儀器與Internet技術的結合為虛擬儀器網絡化、工業現場遠程測控提供了更好的實現平臺。本設計主要是通過現場采集數據,通過網絡化傳輸實現遠程數據采集、實時數據顯示、分析和數據的管理。
系統由麥克風、PC聲卡、現場數據采集計算機、傳輸網絡、LabVIEW應用程序、遠程監控計算機幾部分組成,系統結構圖如圖1所示,麥克風輸入的聲音信號通過傳感器后變成電信號,在聲卡里進行 A/D轉換,經過數字化處理后將采集到得信號輸送到現場數據采集計算機中進行預處理,然后將相關數據通過網絡連接到Internet上,傳輸到監控中心的主計算機上存儲供管理人員進行查詢、分析和處理。

圖1 系統結構
聲卡與數據采集卡一樣都具備A/D、 D/A 轉換功能,可以看作是一塊工作于音頻范圍0.02~20 kHz內的雙通道16位數據采集卡,并且要比一般12位數據采集卡的精度高,這對于許多工程測量和科學實驗來說都滿足要求。但是,因為聲卡輸入端口MIC IN有隔直流電容,對低頻信號,尤其是20 Hz以下的信號衰減較為嚴重,所以要得到較好的波形,輸入信號的頻率在0.1~15 kHz范圍內。
聲卡一般有Line In和Mic In兩個信號輸入插孔,聲音信號可通過這兩個插孔連接到聲卡。若采用Line In輸入,由于有前置放大器,容易引入噪聲且會導致信號過負荷,故本系統使用Mic In輸入,其噪聲干擾小且動態特性良好。聲卡測量信號的引入應采用音頻電纜或屏蔽電纜以降低噪聲干擾。若輸入信號電平高于聲卡所規定的最大輸入電平,則應在聲卡輸入插孔和被測信號之間配置一個衰減器,將被測信號衰減至不大于聲卡最大允許輸入電平。LabVIEW對聲音采集的設置默認于其所處的操作系統,文中使用的是普遍的聲卡,對高級聲卡采集信號時,要注意關閉如混響之類的一些特效,避免影響測量結果的真實性。
TCP/IP 協議體系是目前最成功, 使用最頻繁的Internet 協議, 有著良好的實用性和開放性。在數據傳輸中,TCP/IP協議是基于兩個網絡主機之間的點對點通信,即采用無連接傳輸的IP協議,具體為用IP地址來區分網絡中不同的數據站點,數據傳輸通過確定各個主機的IP地址,實現點對點的通信[3]。
采用 TCP/IP協議進行遠程網絡數據傳輸時,系統分客戶端(Client)和服務器端(Server)兩部分[4]。服務器端先對指定的端口監聽,客戶端向服務器端被監聽的端口發出請求,服務器端接收到請求后便建立與客服端的連接,向客戶端傳輸采集到的數據,客戶端接收數據并進行數據的處理、分析與存取。通信完畢后,兩段通過關閉連函數斷開連接。
利用LabVIEW軟件中的聲卡采集模塊,結合“聲音讀取”vi和 while循環結構控件函數設計基于LabVIEW的遠程網絡數據數據采集系統。
服務器端的前面板設計主要包括:①采樣模式:連續采樣;②聲音格式的設置:采樣頻率:22 050 Hz、通道數位 1、每采樣比特數為 16;③聲波顯示Wave-form;④停止采集的控制按鍵;⑤每通道采樣數1000000/ch;⑥為了便于頻譜分析與數據計算,采用單通道進行測試。
圖2中,利用TCP Listen子程序接收客戶端連接請求,利用Sound Input Configure節點對聲卡進行初始化設置(每通道采樣數,聲音格式,采樣模式,設備ID)。建立TCP連接后,通過Sound Input Read節點采集數據,利用節點函數TCP Write把需傳輸的數據(振動、時間、應變、位移等)通過網絡發送出去。為發送不同類型的數據,采用Type Cast節點函數把不同類型的數據都轉變為字符類型,同時為了提高傳輸的準確性,采用兩個TCP Write節點進行傳輸,第一個節點發送數據的長度,第二個節點發送采集到的數據,實現程序如圖3所示。

圖2 服務器端程序設計
客戶端程序中,首先利用節點函數 TCP Open Connection打開一個指定服務器和遠程端口TCP連接,進入While Loop循環;其次,與服務器端相對應,為了確保信號有效的傳輸,采用兩個TCP Read節點接收數據,第一個節點接收數據的長度,第二個節點接收采集到的數據,并在前面板顯示出波形圖,同時在信號分析之前加入了Butterworth低通濾波器,對原始信號進行平滑濾波處理以消除高次諧波失真和噪聲干擾,提高信噪比。最后為了實現對聲音信號的存取[5],在循環里面加入了一個條件結構,存取模塊主要是把波形資料寫入到文件中去,單擊客戶端的【寫入數據】按鈕可以將采集到的數據按照指定的路徑保存了下來[6],同時設置文件存取路徑,以方便隨時讀取數據。在信號傳輸的過程中,為了不停止整個程序的運行,同時分析任意時刻的數據,在循環結構體中加入了事件結構,當點擊【暫停】按鈕時,不需把整個程序停止就可以進行數據分析,程序如圖3所示。

圖3 客戶端程序框
通過上述程序設計過程,程序運行后,客戶機能準確接收服務器由聲卡采集進來的實際信號。以下是在現場進行采集的聲音信號顯示波形如圖4所示。

圖4 聲音信號顯示波形
由圖4分析可知,服務器端采集的信號和客戶端接收到得信號是完全相同的,只是客戶端比服務器端延時100 ms接收信號,實現了網絡的遠程數據傳輸功能。同時在遠程監控計算機上對采集的信號進行分析處理以及存盤等操作。
地址:是要與其建立連接的地址。該地址可以為 IP句點符號格式或主機名[7]。如未指定地址,LabVIEW將建立與本地計算機的連接。
遠程端口:可以接收數字或字符串輸入,是要與其確立連接的端口或服務的名稱。有些端口已經分配給指定的用途,因此在選著端口時,最好不要選擇小于 1024的端口,1024以下的端口是保留給特定用途的,例如FTP,HTTP和Telnet等。本設計的地址設定為1052,客戶端和服務器端的地址一定要一樣。
存儲路徑:是文件的路徑名,將接收的數據寫到指定的文件中。
暫停:可以使傳送暫時停止,以便進行數據分析。
首先,單擊服務器端界面菜單欄上的“運行”或“連續運行”按鈕,然后單擊客戶端界面菜單欄上的“運行”或“連續運行”按鈕,服務器端通過TCP偵聽技術,監聽到從客戶端發出的請求連接命令后,就可以進行聲卡采集數據,同時顯示采集到的信號。客戶端可以經過Internet網絡利用TCP技術來讀取服務器端采集的數據。
網絡數據采集與分析系統用聲卡作為數據采集卡,根據 LabVIEW中的TCP函數實現數據遠程網絡傳輸[8-9],實現在一些環境惡劣以及高空危險場合實時的監測,通過LabVIEW中提供的信號分析工具對接收到的信號進行分析處理,同時為了方便工作人員實時的讀取接收到的信號,對接收到的信號進行存盤操作。實現數據的連續采集、遠程傳輸、數據存儲、實時顯示波形和相應的處理。充分利用計算機和網絡資源,代替多個復雜的硬件設備,節約了測試成本,提高了經濟效益,操作人性化,智能性強。易于用戶根據自己的需要進行構建和升級。采用了虛擬儀器技術,體現了系統較好的靈活性,為遠程監控提供了一種全新的手段和思路。
[1] 高琴,陳樹軍. 多功能虛擬示波器的設計與實現[J].通信技術,2010,43(04):217-219.
[2] 呂鋒,董偉. 基于 LabVIEW 的 LTE 物理上行共享信道仿真[J].通信技術,2011,44(05):125-130.
[3] 劉剛,王立香.LabVIEW 8.20中文版編程及應用[M].北京:電子工業出版社,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的電機噪聲測試系統[J].電機與控制應用,2010,37(09):29-31.
[6] 唐東煒,安軍.基于 LabVIEW和聲卡的機床噪聲測試分析系統[J].實驗室研究與探索,2008,27(09):61-70.
[7] 王吉平,趙哲.基于LabVIEW的通信測量技術研究[J].自動化與儀表,2011(01):29-31.
[8] 金甌,施勇,薛質.基于TCP協議的網絡數據實時篡改[J].信息安全與通信保密,2010(04):74-77.
[9] 何方白,方飛,冉偉. 移動IP的安全策略研究[J]. 信息安全與通信保密,2006(02):68-70,74.