新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LabVIEW中遠程數據采集的實現

        LabVIEW中遠程數據采集的實現

        作者: 時間:2017-01-05 來源:網絡 收藏
        1. 基于B/S和C/S模式的網絡通信技術
        (1)TCP與UDP
        TCP與UDP為傳輸層協議,當需要保證數據傳輸的完整性與可靠性時,TCP為當然的選擇;UDP則適合于大量的連接和高速度傳輸。。LabVlEW 中對這兩種協議的編程進行了高度集成,將Winsock DLL封起來,形成TCP與UDP圖形化編程節點與VI。
        (2)DataSocker
        DataSocket是NI提供的一種編程工具,借助它可以在不同的應用程序和數據源之間傳遞數據。。DataSocket可以訪問本地文件以及HTTP和FTP服務器上的數據。DataSocket為低層通訊協議提供了一致的API,編程者無需為不同的數據格式和通信協議編寫具體的程序代碼,而且這些數據源可以分布在不同的計算機上。使用一種增強數據類型來交換儀器類型的數據,這種數據類型包含數據特性和實際測試數據。用類似于Web中的統一資源定位器(URL)定位數據源,URL不同的前綴表示了不同的數據類型。
        (3)VI Server
        VI Server是LabVlEW 獨有的一項技術。利用VI Server技術用戶可以編程動態控制位于本地或遠程計算機上的LabVlEW Vls,但不能在本地打開位于遠程計算機上的VI前面板。
        使用VI Server,首先需要對VI Server進行設置,設置內容有三項:Configuration、TCP/IP Access、Exported VIs;接著利用LabVlEW 定義好的Application類和VI類的屬性和方法進行編程來控制應用程序和VI。
        (4)Remote Panels
        LabVlEW 提供的Web Server,可構建兩種網絡通信方法:一種是將已被載人服務器內存的VI前面板圖像嵌入網頁;另一種方法是利用Remote Panels技術,實現用戶可直接在本地計算機上打開并操作位于遠程計算機上VI的前面板,甚至在網頁
        中打開并操作它。也可以開發與服務器端的數據采集應用程序進行TCP/UDP/DSTP通信的ActiveX控件,并將其嵌入網頁,用Web服務器提供Web服務,客戶端通過下載的ActiveX控件與服務器端的數據采集程序通信。
        2. 遠程數據采集實現
        基于NI PCI-6221的簡單采集VI如圖1所示,采集數據為一個帶噪聲的方波電壓波形信號。

        本文引用地址:http://www.104case.com/article/201701/336575.htm
        圖1(a)前面板

        圖1(b)框圖程序
        圖1 DAQ.vi前面板和框圖程序
        下文基于LabVIEW 的上述四種通信方式分別以此DAQ.vi做為子程序,將電壓信號進行網絡通信,從而實現遠程數據采集。
        2.1 基于TCP/IP通信的數據采集
        圖2 TCP遠程采集服務器端前面板及框圖程序
        圖3 TCP遠程采集客戶端前面板及框圖程序
        利用TCP進行雙機通信實現遠程數據采集如圖2和圖3所示。運行這兩個程序,若首先運行服務器端VI,高亮運行可以觀察到VI不進入循環,直到運行客戶端VI時,服務器端VI才采集數據,同時服務器端和客戶端顯示數據。兩臺PC顯示器上的波形圖數據一致,表明遠程數據采集成功。關閉時若先關閉客戶端,服務器端繼續采集;若關閉服務器,則客戶端停止數據顯示。
        2.2 基于DataSocket技術的數據采集
        DataSocket通信的三要素為:Publisher、DataSocket Server和Subscriber。Publisher將數據寫到DataSocket中,而Subscriber讀出數據。
        利用DataSocket分別編寫服務器端和客戶端軟件,可以實現客戶端與服務器端運行狀態完全相同,即客戶端不僅可以顯示服務器前面板上的數據和控件狀態,而且可以控制服務器端面板上的控件動作,因此也是一種實現網絡測控的方法。
        創建客戶端程序,只需將服務器端前面板的所有控件復制到一個新的VI中,即客戶端前面板與服務器端前面板完全相同。由于DataSocket只能傳遞控件對應變量的值,而不能傳遞控件的屬性,因此客戶端需要對控件值的變化而引起的控件屬
        性的變化進行編程。利用DataSocket通信實現遠程數據采集的程序如圖4所示。
        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 新竹市| 习水县| 响水县| 井陉县| 阜康市| 余庆县| 海城市| 丰城市| 项城市| 洪湖市| 高雄县| 新干县| 大竹县| 蒲城县| 隆安县| 田东县| 孟州市| 资溪县| 凤阳县| 昆山市| 安达市| 康平县| 达孜县| 沈丘县| 桃园市| 山东省| 固镇县| 宝兴县| 祁门县| 九寨沟县| 克山县| 呼图壁县| 黄石市| 定日县| 静乐县| 陈巴尔虎旗| 台南县| 孟连| 成安县| 柳林县| 张北县|