《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于LabVIEW和TCP的數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)
基于LabVIEW和TCP的數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)
來源:電子技術應用2012年第7期
姚 娟, 張志杰,, 李麗芳
中北大學 信息與通信工程學院,, 山西 太原 030051
摘要: 針對低成本和遠程控制的數(shù)據(jù)采集的需求,以LabVIEW為平臺開發(fā)了一套數(shù)據(jù)采集系統(tǒng),,通過TCP連接實現(xiàn)PC機LabVIEW圖形化人機界面軟件與數(shù)據(jù)采集設備的通信,,具有參數(shù)設置、數(shù)據(jù)采集和存儲以及數(shù)據(jù)分析等功能,。該系統(tǒng)操作簡單,,設置簡便,功能實用,,成本較低,。實驗結果表明,系統(tǒng)具有良好的可靠性和穩(wěn)定性,,是進行數(shù)據(jù)采集的有力工具,。
中圖分類號: TP274
文獻標識碼: B
文章編號: 0258-7998(2012)07-0072-03
Design and implementation of data acquisition system based on LabVIEW and TCP
Yao Juan, Zhang Zhijie, Li Lifang
School of Information and Communication Engineering,,North University of China, Taiyuan 030051,,China
Abstract: Aimed at the need of inexpensive and remotely controlled data acquisition, a data acquisition system is developed on the platform of LabVIEW. The software of LabVIEW graphical man-machine interface communicates with the data acquisition device by TCP connection. It can realize the functions of parameter setting, data acquisition and storage, data analysis and processing and so on. The system has features such as easy operation, convenient setting, utility functionalities, low cost, and easy to operate. The results of experiment indicate that the system is a powerful tool for data acquisition which has good stability and reliability.
Key words : data acquisition; LabVIEW; TCP; man-machine interface

    隨著科學技術的迅速發(fā)展,,越來越多的數(shù)據(jù)采集儀器設備被應用于測量和測試各種參數(shù)信息。然而,,科學技術的飛速發(fā)展,,也導致舊的儀器設備越來越難于滿足新技術所需測量的參數(shù)及其所需達到的測量指標。而開發(fā)新的儀器設備不僅存在開發(fā)周期長,、測試效率低等問題,,還大大增加了測試成本。這些都是傳統(tǒng)儀器存在的難以避免的缺點[1],。

    由美國國家儀器有限公司(NI)提出的虛擬儀器技術很好地解決了以上問題,。它推出的圖形化編程語言LabVIEW提供了很多外觀與傳統(tǒng)儀器類似的控件,采用數(shù)據(jù)流編程方式[2],,在程序界面設計,、編寫代碼和實現(xiàn)功能等都采用了圖形化方式,被廣泛應用于航空,、汽車,、通信和過程控制等領域[3]。本文提出了使用LabVIEW虛擬儀器技術來設計數(shù)據(jù)采集系統(tǒng)軟件平臺,,解決了測試成本高,、測試效率低、系統(tǒng)開發(fā)時間長等幾個關鍵問題,,同時它還具備遠程控制,、數(shù)據(jù)采集、數(shù)據(jù)分析等功能,。
1 系統(tǒng)設計思想
    完整的數(shù)據(jù)采集系統(tǒng)由硬件和軟件兩部分構成,。硬件部分如圖1所示,主要完成數(shù)據(jù)的采集工作[4],。軟件部分主要由計算機系統(tǒng)軟件和軟件開發(fā)平臺組成,,主要完成數(shù)據(jù)的讀取、顯示和分析工作,。系統(tǒng)采用LabVIEW軟件進行編程設計,首先作為服務器端的PC機通過TCP通信協(xié)議經RJ45網(wǎng)絡端口發(fā)出命令,對連接客戶端數(shù)據(jù)采集設備的無線通信信道進行工作狀態(tài)檢測,,隨后對工作正常的設備的數(shù)據(jù)采集卡進行參數(shù)設置,讀取TCP通信傳輸過來的數(shù)據(jù)后顯示波形,,同時以二進制文件格式存儲到指定的文件路徑中,,完成有用信息提取、數(shù)據(jù)處理和分析等工作,,從而實現(xiàn)系統(tǒng)遠程控制及數(shù)據(jù)采集的功能,。

2 系統(tǒng)設計
2.1 開發(fā)工具和關鍵技術

  系統(tǒng)以LabVIEW軟件為開發(fā)平臺,,采用TCP協(xié)議實現(xiàn)Socket通信。
    LabVIEW集成了豐富的數(shù)據(jù)采集,、存儲,、分析,、顯示等工具包,,內置了多種通信協(xié)議的標準庫函數(shù),提供了強大的傳統(tǒng)程序調試工具和外部程序接口能力[5],。利用LabVIEW設計開發(fā)的數(shù)據(jù)采集系統(tǒng),,在實際開發(fā)中利用封裝好的VI函數(shù),可實現(xiàn)PC機RJ45網(wǎng)絡接口與LabVIEW的通信,,從而替代了NI公司配備的價格高昂的數(shù)據(jù)采集卡,,大大降低了設備成本。
  TCP協(xié)議是一個面向連接的傳輸控制協(xié)議,,同時具有順序傳遞,、流量控制、擁塞控制,、差錯控制等機制,,能夠實現(xiàn)可靠的連接服務,為數(shù)據(jù)的無差錯傳輸提供了保障[6],。
  Socket技術最初是由加州大學Berkeley分校開發(fā)的,,是用于兩個基于TCP/IP協(xié)議的應用程序之間相互通信的網(wǎng)絡通信接口(API)。采用Socket技術連接時,,發(fā)起呼叫連接請求的一方為客戶端,,接受呼叫連接請求的一方為服務端。連接過程可以分為三個步驟:服務器監(jiān)聽即服務器處于等待連接的狀態(tài),,實時監(jiān)控網(wǎng)絡狀態(tài),;客戶端向服務器端Socket提出連接請求;連接確認即服務器端Socket監(jiān)聽到連接請求后響應請求,。Socket技術能有效地支持不同應用程序對數(shù)據(jù)的同時應用以及多個應用程序之間的數(shù)據(jù)交互,,實現(xiàn)不同機器、不同語言,、不同進程間的實時數(shù)據(jù)交互和共享[7],。
2.2 系統(tǒng)的軟件結構設計
 采集系統(tǒng)主要需要實現(xiàn)以下功能:(1)工作狀態(tài)檢測,即對選定的數(shù)據(jù)采集設備(客戶端)通信信道進行的工作狀態(tài)檢測,;(2)參數(shù)設置,,包括對采樣頻率、采樣點數(shù),、放大倍數(shù)等參數(shù)的設置,;(3)讀取數(shù)據(jù),,并顯示波形及頻譜分析圖;(4)讀取已存儲的數(shù)據(jù)文件,;(5)對已采集到的數(shù)據(jù)提取有用或感興趣部分并保存,; (6)數(shù)據(jù)分析處理。軟件結構圖如圖2所示,。

3 功能實現(xiàn)
    數(shù)據(jù)采集系統(tǒng)以LabVIEW為設計平臺,,其圖形化人機界面的特點為人機交互提供了便捷[8],同時,,其強大靈活的功能特點使得實現(xiàn)信道工作狀態(tài)檢測,、硬件設備參數(shù)設置、數(shù)據(jù)讀?。ú杉?、波形顯示、頻譜分析,、有用信號提取和數(shù)據(jù)分析處理等功能成為可能,。
3.1工作狀態(tài)檢測功能
    工作狀態(tài)檢測模塊的作用是,在進行數(shù)據(jù)采集之前進行準備工作,其目的一是檢測數(shù)據(jù)采集硬件設備是否正常工作,,二是檢查無線通信信道是否暢通,。由于在特定的測試環(huán)境中可能同時采用多套無線通信的數(shù)據(jù)采集設備,因此根據(jù)TCP協(xié)議,,設定PC機為服務器端,,數(shù)據(jù)采集設備端設為客戶端。進行狀態(tài)檢測時,,先通過復選框選擇需檢測的設備,,點擊“檢測”按鈕后,PC機向客戶端發(fā)送狀態(tài)檢測命令,,通過接收到的反饋信息或者連接超時信息來判定設備工作狀態(tài),。
3.2 參數(shù)設置功能
    參數(shù)設置模塊的功能是通過LabVIEW的TCP子VI,可選擇地對數(shù)據(jù)采集設備發(fā)送參數(shù)設置控制指令,,這些參數(shù)中包括采樣頻率,、采樣點數(shù)、采樣時間和放大倍數(shù)等,,同時,,參數(shù)設置模塊中還包含了對無線通信模塊的控制指令,其中包括斷電,、清除備份,、重啟等功能。通過軟件中的TCP通信程序,,參數(shù)設置模塊實現(xiàn)了對數(shù)據(jù)采集設備的遠程控制,,大大提高了系統(tǒng)自動化程度,,為特殊環(huán)境中的數(shù)據(jù)采集提供了可能。
3.3 數(shù)據(jù)讀取功能
    數(shù)據(jù)讀取模塊的程序框圖如圖3所示,。數(shù)據(jù)讀取模塊的作用是向下位機發(fā)送開始采集數(shù)據(jù)的命令,,并且讀回已采集到的數(shù)據(jù)。LabVIEW為用戶提供了封裝好的TCP VI函數(shù),,使用時服務器端TCP VI需設置指定的監(jiān)聽端口,,客戶端TCP VI則需設置要與其建立連接的地址和遠程端口號。根據(jù)Socket技術,,其TCP通信流程包括:作為服務器端的PC機先對指定的端口監(jiān)聽并處于等待連接狀態(tài),,作為客戶端的數(shù)據(jù)采集端向服務器端被監(jiān)聽的端口發(fā)出連接請求后,,PC機響應,,先向客戶端發(fā)出數(shù)據(jù)采集命令,再讀取客戶端反饋的表示確認握手成功的信息后,,讀取文件是否為加密文件的標志位,,讀取文件數(shù)據(jù)大小信息,最后讀取數(shù)據(jù),,完成后關閉TCP,。

 

 

    當所采集的數(shù)據(jù)量較大時,無線傳輸所需要的時間也會相應增加,,為減少時間和數(shù)據(jù)存儲開銷,,數(shù)據(jù)采集端對數(shù)據(jù)進行了壓縮。相應地,,服務器端的采集系統(tǒng)也需進行解壓工作,。為實現(xiàn)解壓縮功能,在程序中使用了執(zhí)行系統(tǒng)命令VI(System Exec.vi), 嵌入執(zhí)行軟件7z.exe的解壓縮命令,,達到了數(shù)據(jù)解壓縮的目的,。
3.4 有用信號提取功能
    由于在所采集到數(shù)據(jù)中,有用信號或感興趣部分只占所采集到的信號中的一部分,,為了方便波形的觀察和數(shù)據(jù)的分析處理以及節(jié)省內存資源,,通常會對信號進行截取。程序中通過兩個游標位置可確定信號感興趣部分的范圍,,截取并保存范圍內的波形,,即可實現(xiàn)系統(tǒng)有用信號提取功能。
3.5 波形顯示功能
    LabVIEW中的波形圖控件本身包含了一些小的輔助控件,,其中包括圖形工具,、游標圖例、標尺等,。由于游標圖例的顯示影響系統(tǒng)界面的整體效果,,程序中通過編程達到了顯示游標坐標和通過輸入數(shù)值重新定位游標的效果,,從而替代了游標圖例。為初步判斷所采集到的信號的正確性,,系統(tǒng)對數(shù)據(jù)進行了簡單的頻譜分析,。同時,由于波形圖控件沒有撤銷重做的功能,,程序中通過捕捉標尺范圍的變化,,并將改變前的標尺范圍值入棧保存來實現(xiàn)撤銷功能。 撤銷功能模塊的部分程序框圖如圖4所示,。

3.6 數(shù)據(jù)處理功能
    為使去噪效果較理想,,數(shù)據(jù)處理模塊中提供了巴特沃斯、切比雪夫,、平滑濾波,、中值濾波等多種濾波方式以供選擇。此模塊還對濾波后信號的頻譜和功率譜進行分析,,并進行特征值提取,、均值和峰值計算、基線估計,、溫壓的動態(tài)特性修正等工作,。
4 系統(tǒng)應用效果驗證
    為了測試系統(tǒng)的可靠性,將PC機的RJ45口與數(shù)據(jù)采集設備相連,,運行并對系統(tǒng)進行工作狀態(tài)檢測和參數(shù)設置,,系統(tǒng)數(shù)據(jù)采集的運行界面如圖5所示。試驗證明,,系統(tǒng)采集到的信號與下位機所發(fā)送的2 Mb的三角波一致,可見數(shù)據(jù)采集系統(tǒng)能夠穩(wěn)定,、可靠、準確地工作,。

    在實際項目開發(fā)中,,系統(tǒng)以LabVIEW軟件為開發(fā)平臺,充分利用了LabVIEW的強大功能,,通過TCP連接實現(xiàn)了PC機與數(shù)據(jù)采集設備的通信,,實現(xiàn)了采集卡參數(shù)的遠程設置,完成了遠程數(shù)據(jù)的采集,、顯示,、存儲、處理等,,自動化程度較高,,具有較高的可靠性和穩(wěn)定性,具有實際應用價值。此數(shù)據(jù)采集系統(tǒng)開發(fā)中取得的經驗,,可在其他數(shù)據(jù)采集等測控系統(tǒng)中應用推廣,。
參考文獻
[1] 曾劍,周劍揚.基于LabVIEW的SFP光模塊測試平臺的設計與實現(xiàn)[J].電子技術應用,,2011,,37(4):67-69.
[2] 陳錫輝,張銀鴻. LabVIEW 8.2程序設計從入門到精通[M].北京:清華大學出版社,,2007.
[3] 張東,,施奇峰.基于LabVIEW和TCP的數(shù)據(jù)采集系統(tǒng)的開發(fā)及應用[J].冶金自動化,2011,,35(2):36-40.
[4] 董剛剛,,吳建.基于CPLD+FLASH的多通道測試記錄儀[J].光電技術應用,2011,,26(4):8-10.
[5] 陳學慶,,房小溪.LabVIEW圖形化編程與實例應用[M].北京:中國鐵道出版社,2005.
[6] 謝希仁.計算機網(wǎng)絡[M].第5版.北京:電子工業(yè)出版社,,2008.
[7] DONAHOO M J,, CALVERT K L. TCP/IP Sockets編程(C語言實現(xiàn))[M]. 第2版. 陳宗斌,等譯.北京:清華大學出版社,2009.
[8] 李全江.虛擬儀器設計測控應用典型實例[M].北京:電子工業(yè)出版社,,2010.

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載,。