版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔-下載后可編輯在LABVIEW中實(shí)現(xiàn)網(wǎng)絡(luò)通信的幾種方法-基礎(chǔ)電子1引言
隨著計(jì)算機(jī)技術(shù)、大規(guī)模集成電路、通信技術(shù)等的飛速發(fā)展,儀器系統(tǒng)與計(jì)算機(jī)軟件技術(shù)緊密結(jié)合,使得傳統(tǒng)儀器的概念得以突破,出現(xiàn)了一種全新的儀器概念——虛擬儀器。1986年,美國(guó)國(guó)家儀器(nationalinstruments,簡(jiǎn)稱NI)公司研發(fā)推出了圖形化編程環(huán)境的開(kāi)發(fā)平臺(tái)——LabVIEW軟件,隨即就廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室認(rèn)可并接受,被公認(rèn)為標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件,成為目前實(shí)現(xiàn)虛擬儀器軟件設(shè)計(jì)的工具之一。
同時(shí)隨著網(wǎng)絡(luò)的迅速發(fā)展,通過(guò)將網(wǎng)絡(luò)技術(shù)和虛擬儀器相結(jié)合,構(gòu)成網(wǎng)絡(luò)化虛擬儀器系統(tǒng),是自動(dòng)測(cè)試儀器系統(tǒng)的發(fā)展方向之一。所以通過(guò)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)共享是各種軟件的發(fā)展趨勢(shì),而LabVIEW軟件平臺(tái)正是適應(yīng)了這一發(fā)展趨勢(shì),它具有強(qiáng)大的網(wǎng)絡(luò)通信功能,使用LabVIEW實(shí)現(xiàn)網(wǎng)絡(luò)通信有4大類方法:(1)使用網(wǎng)絡(luò)通信協(xié)議編程實(shí)現(xiàn)網(wǎng)絡(luò)通信,可以使用的通信協(xié)議類型包括TCP/IP協(xié)議、UDP、串口通信協(xié)議、無(wú)線網(wǎng)絡(luò)協(xié)議等;(2)使用基于TCP/IP的數(shù)據(jù)傳輸協(xié)議DSTP的DataSocket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)通信;(3)使用共享變量實(shí)現(xiàn)網(wǎng)絡(luò)通信;(4)通過(guò)遠(yuǎn)程訪問(wèn)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)通信。
本文對(duì)以上各種實(shí)現(xiàn)方法進(jìn)行探討,簡(jiǎn)單地分析了各種方法的優(yōu)缺點(diǎn)及應(yīng)用場(chǎng)合。
2網(wǎng)絡(luò)協(xié)議通信
2.1TCP通信技術(shù)
網(wǎng)絡(luò)通信協(xié)議是網(wǎng)絡(luò)中傳遞、管理信息的一些規(guī)范,是計(jì)算機(jī)之間相互通信需要共同遵守的一些規(guī)則[1]。網(wǎng)絡(luò)通信協(xié)議通常被分為多個(gè)層次,每一層完成一定的功能,通信在對(duì)應(yīng)的層次之間進(jìn)行。LabVIEW中支持的通信協(xié)議類型包括TCP/IP、UDP、串口通信協(xié)議、無(wú)線網(wǎng)絡(luò)協(xié)議和郵件傳輸協(xié)議。TCP/IP協(xié)議體系是目前成功,使用頻繁的Internet協(xié)議,有著良好的實(shí)用性和開(kāi)放性。它定義了網(wǎng)絡(luò)層的網(wǎng)際互連協(xié)議IP,傳輸層的傳輸控制協(xié)議TCP、用戶數(shù)據(jù)協(xié)議UDP等。
LabVIEW中為網(wǎng)絡(luò)通訊提供了基于TCP/UDP的通訊函數(shù)供用戶調(diào)用。這樣用戶可直接調(diào)用TCP模塊中已發(fā)布的TCPVI及相關(guān)的子VI來(lái)完成流程的編寫(xiě),而無(wú)需過(guò)多考慮網(wǎng)絡(luò)的底層實(shí)現(xiàn)。在設(shè)計(jì)上采用C/S(客戶端/服務(wù)器)通信模式,VI程序分為兩部分:處理主機(jī)工作在Server模式,完成數(shù)據(jù)接收,并提供數(shù)據(jù)的相關(guān)處理;數(shù)據(jù)點(diǎn)計(jì)算機(jī)工作于Client模式,實(shí)現(xiàn)數(shù)據(jù)傳送[5]。TCP傳輸數(shù)據(jù)過(guò)程如下:首先由發(fā)送端發(fā)送連接請(qǐng)求,接收端偵聽(tīng)到請(qǐng)求后回復(fù)并建立連接,然后開(kāi)始傳輸,數(shù)據(jù)傳輸完成后關(guān)閉連接,傳輸過(guò)程結(jié)束。
2.2利用TCP協(xié)議通信實(shí)例
以下通過(guò)C/S(客戶端/服務(wù)器)通信模式實(shí)現(xiàn)的數(shù)據(jù)傳輸模式。
在服務(wù)器端,用“TCPCreateListener”節(jié)點(diǎn)創(chuàng)建偵聽(tīng),“TCPWaitonListener”節(jié)點(diǎn)等待客戶機(jī)連接,通過(guò)循環(huán)產(chǎn)生100個(gè)正弦信號(hào)數(shù)據(jù),用兩個(gè)“TCPWrite”節(jié)點(diǎn)來(lái)發(fā)送數(shù)據(jù),個(gè)節(jié)點(diǎn)用來(lái)發(fā)送波形數(shù)據(jù)的長(zhǎng)度,第二個(gè)節(jié)點(diǎn)發(fā)送波形數(shù)據(jù),,用“TCPCloseConnection”節(jié)點(diǎn)結(jié)束連接。程序框圖如圖1所示:
圖1TCP服務(wù)器端程序框圖
在客戶端,用“TCPOpenConnection”節(jié)點(diǎn)打開(kāi)TCP連接,用兩個(gè)“TCPRead”節(jié)點(diǎn)讀取數(shù)據(jù),個(gè)節(jié)點(diǎn)接收波形長(zhǎng)度作為第二個(gè)節(jié)點(diǎn)的輸入,第二個(gè)節(jié)點(diǎn)接收波形數(shù)據(jù),,用“TCPCloseConnection”節(jié)點(diǎn)結(jié)束連接。程序框圖如圖2所示:
圖2TCP客戶端程序框圖
運(yùn)行程序,結(jié)果如下圖3、4:
圖3服務(wù)器端顯示結(jié)果
圖4客戶端顯示結(jié)果
3DataSocket技術(shù)通信
3.1DataSocket技術(shù)
DataSocket技術(shù)是一種面向測(cè)控領(lǐng)域的網(wǎng)上實(shí)時(shí)數(shù)據(jù)交換編程技術(shù)[9],DataSocket技術(shù)基于Microsoft的COM和ActiveX技術(shù),對(duì)TCP/IP協(xié)議進(jìn)行高度封裝,它包括了DataSocketServerManager、DataSocketServer和DataSocketAPI這幾個(gè)工具軟件,以及DSTP(DataSocketTransferProtocol)協(xié)議、通用資源定位符URL(Uniform.ResourceLocator)和文件格式等技術(shù)規(guī)范。它能大大簡(jiǎn)化Internet網(wǎng)上計(jì)算機(jī)之間測(cè)控?cái)?shù)據(jù)交換的編程工作。同時(shí),DataSocket也可用于一臺(tái)計(jì)算機(jī)內(nèi)或局域網(wǎng)中多個(gè)應(yīng)用程序之間的數(shù)據(jù)交換。
DataSocketServerManager是一個(gè)獨(dú)立運(yùn)行的應(yīng)用程序,它的主要功能是設(shè)置DataSocketServer可連接的客戶端程序的數(shù)目和可創(chuàng)建的數(shù)據(jù)項(xiàng)的數(shù)目,設(shè)置用戶和用戶組,設(shè)置用戶可創(chuàng)建數(shù)據(jù)項(xiàng)和讀寫(xiě)數(shù)據(jù)項(xiàng)的權(quán)限,未經(jīng)授權(quán)的用戶不能在DataSocketServer上創(chuàng)建或讀寫(xiě)數(shù)據(jù)項(xiàng),數(shù)據(jù)項(xiàng)實(shí)際上是DataSocketServer中的數(shù)據(jù)文件。DataSocketServer也是一個(gè)獨(dú)立運(yùn)行的應(yīng)用程序,它能為用戶解決大部分網(wǎng)絡(luò)通信方面的問(wèn)題,它負(fù)責(zé)監(jiān)管Manager中所設(shè)定的各種權(quán)限的用戶組和客戶端程序之間的數(shù)據(jù)交換,自動(dòng)處理底層的網(wǎng)絡(luò)連接及客戶程序之間的數(shù)據(jù)交換,使網(wǎng)絡(luò)連接對(duì)客戶端保持透明。DataSocketServer與測(cè)控應(yīng)用程序可安裝在同一臺(tái)計(jì)算機(jī)上,也可以分裝在不同計(jì)算機(jī)上,后一種方法可增加整個(gè)系統(tǒng)的安全性,因?yàn)閮膳_(tái)計(jì)算機(jī)之間可用防火墻加以隔離,而且,DataSocketServer程序不會(huì)占用測(cè)控計(jì)算機(jī)CPU的工作時(shí)間,從而使測(cè)控應(yīng)用程序可以運(yùn)行得更快。
DataSocketAPI包含有Open、Read、Write和Close等函數(shù),其中的Read和Write函數(shù)又分為單個(gè)或數(shù)組形式的字符串型、布爾型、數(shù)值型和波形等多種類型。DataSocket技術(shù)可在C語(yǔ)言、VB和LabVIEW等多種開(kāi)發(fā)環(huán)境中應(yīng)用,因此,這些函數(shù)有不同的形式,它們?cè)贑語(yǔ)言中是函數(shù),在VB中是ActiveX控件,而在LabVIEW中則是功能模塊,DataSocket的ActiveX控件還可以應(yīng)用在VC、EXCEL、網(wǎng)頁(yè)和其他支持ActiveX技術(shù)的環(huán)境中。
3.2利用DataSocket技術(shù)通信實(shí)例
以下通過(guò)DataSocketC/S模式實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸。
在服務(wù)器端對(duì)DataSocketServerManager進(jìn)行設(shè)置,也可采用默認(rèn)值。然后運(yùn)行應(yīng)用程序DataSocketServer,打開(kāi)DataSocketServer。和上例一樣通過(guò)循環(huán)產(chǎn)生100個(gè)正弦信號(hào)數(shù)據(jù),利用DataSocketWrite節(jié)點(diǎn)將數(shù)據(jù)發(fā)送到dstp格式指定的連接中。程序框圖如圖5所示:
圖5DataSocket服務(wù)器端程序框圖
在客戶端,使用DataSocketRead節(jié)點(diǎn)將數(shù)據(jù)從指定的地址讀取數(shù)據(jù),并顯示波形。程序框圖如圖6所示:
圖6DataSocket客戶端程序框圖
運(yùn)行程序,結(jié)果和圖3、4結(jié)果類似,波形相同,只是連接輸入格式不一樣。
4共享變量通信
4.1共享變量
共享變量是繼DataSocket技術(shù)之后LabView為簡(jiǎn)化網(wǎng)絡(luò)編程邁出的又一大步。通過(guò)共享變量,用戶無(wú)需編程就可以在不同計(jì)算機(jī)之間方便的實(shí)現(xiàn)數(shù)據(jù)的共享。用戶無(wú)需了解任何的底層復(fù)雜的網(wǎng)絡(luò)通信,就能輕松地實(shí)現(xiàn)數(shù)據(jù)交換。用戶建立和使用共享變量就如同操作全局變量一樣方便。
4.2利用共享變量通信實(shí)例
以下通過(guò)C/S(客戶端/服務(wù)器)通信模式實(shí)現(xiàn)數(shù)據(jù)的傳輸模式。
由于共享變量只能存在于工程項(xiàng)目中,建立一個(gè)共享變量之前先得建立一個(gè)工程,然后在工程目錄下選擇New︱Variable選項(xiàng),然后根據(jù)提示一步一步即可完成設(shè)置,但需要注意的是要實(shí)現(xiàn)網(wǎng)絡(luò)通信變量類型必須選擇為“Network-Published”。這里在服務(wù)器中創(chuàng)建一個(gè)名為Server_Variable的共享變量,同樣在客戶端建立一個(gè)名為Client_Variable的變量,兩變量其數(shù)據(jù)和變量類型一致,都為一維數(shù)組雙精度和網(wǎng)絡(luò)發(fā)布類型。在客戶端其程序框圖如圖7所示:
圖7共享變量服務(wù)器端程序框圖
在客戶端只需把共享變量Client_Variable的BindtoSource設(shè)置為服務(wù)器中的Server_Variable即可,將其拖入程序框圖。建立的程序框圖如圖8所示:
圖8共享變量客戶端程序框圖
運(yùn)行程序,結(jié)果如圖3、4。
5遠(yuǎn)程訪問(wèn)
5.1遠(yuǎn)程訪問(wèn)技術(shù)
在LabVIEW中,實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)的方式有兩種:遠(yuǎn)程面板控制和客戶端瀏覽器訪問(wèn),且在實(shí)施這兩種訪問(wèn)之前都需要對(duì)服務(wù)器進(jìn)行配置。
配置服務(wù)器包括3部分:服務(wù)器目錄與日志配置、客戶端可見(jiàn)VI配置和客戶端訪問(wèn)權(quán)限配置。在LabVIEW中選擇“工具→選項(xiàng)”即可打開(kāi)參數(shù)配置框,左側(cè)分別可見(jiàn)“Web服務(wù)器:配置”、“Web服務(wù)器:瀏覽器訪問(wèn)”。其中“Web服務(wù)器:配置”是用來(lái)配置服務(wù)器目錄和日志屬性、“Web服務(wù)器:可見(jiàn)VI”用來(lái)配置服務(wù)器根目錄下可見(jiàn)的VI程序,也即對(duì)客戶端可操作的VI程序?!癢eb服務(wù)器:瀏覽器訪問(wèn)”用來(lái)設(shè)置客戶端的訪問(wèn)權(quán)限。完成服務(wù)器配置以后,即可以選擇遠(yuǎn)程控制面板或?yàn)g覽器方式訪問(wèn)服務(wù)器、對(duì)服務(wù)器進(jìn)行交互遠(yuǎn)程操作等。
5.2利用瀏覽器訪問(wèn)通信實(shí)例
通過(guò)客戶端瀏覽器訪問(wèn)時(shí),首先需要在服務(wù)器端發(fā)布網(wǎng)頁(yè),然后才能從客戶端訪問(wèn),以實(shí)現(xiàn)遠(yuǎn)程通信。
在服務(wù)器端發(fā)布網(wǎng)頁(yè)。在LabVIEW中選擇“工具→Web發(fā)布工具...”打開(kāi)“Web發(fā)布工具欄”,分別對(duì)其設(shè)置,確定即可,如圖9所示:
圖9Web發(fā)布工具
在客戶端通過(guò)網(wǎng)頁(yè)瀏覽器訪問(wèn)服務(wù)器訪問(wèn)的頁(yè)面。這樣通過(guò)Web頁(yè)面的發(fā)布就可實(shí)現(xiàn)網(wǎng)絡(luò)的通信,且用戶可與發(fā)布的前面板進(jìn)行交互式操作,使用戶可以通過(guò)Internet操作儀器設(shè)備。
6結(jié)論
從圖1~圖9可以看出,利用以上四種通信方式都可以把服務(wù)器端產(chǎn)生的正弦信號(hào)數(shù)據(jù),通過(guò)網(wǎng)絡(luò)通信成功地送至客戶機(jī)進(jìn)行顯示。如果要實(shí)現(xiàn)界面的互操作,需采用遠(yuǎn)程訪問(wèn)方式,但需要注意的是使用此種方式進(jìn)行網(wǎng)絡(luò)通信時(shí),產(chǎn)生的結(jié)果數(shù)據(jù)是保存在服務(wù)器端而不是客戶端,如果客戶端需要得到數(shù)據(jù),還需使用網(wǎng)絡(luò)通信協(xié)議、DataSo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 櫥柜燈光施工方案(3篇)
- 景區(qū)門票收入核算制度
- 2026屆河南省非凡吉名校創(chuàng)聯(lián)盟高三上英語(yǔ)期末檢測(cè)模擬試題含解析
- 2026廣東湛江市消防救援支隊(duì)政府專職消防員招錄54人備考題庫(kù)(第一期)及參考答案詳解一套
- 2026北京中關(guān)村第三小學(xué)永新分校招聘?jìng)淇碱}庫(kù)(含答案詳解)
- 2026四川雅安市老干部活動(dòng)中心招聘1人備考題庫(kù)及答案詳解(新)
- 2026江西吉安市吉水縣綜合交通運(yùn)輸事業(yè)發(fā)展中心面向社會(huì)招聘司機(jī)及系統(tǒng)操作員2人備考題庫(kù)及1套完整答案詳解
- 2026山東煙臺(tái)市萊山區(qū)事業(yè)單位招聘?jìng)淇碱}庫(kù)有完整答案詳解
- 琴行財(cái)務(wù)制度
- 法院加強(qiáng)財(cái)務(wù)制度
- 管理會(huì)計(jì)學(xué) 第10版 課件 第1、2章 管理會(huì)計(jì)概論、成本性態(tài)與變動(dòng)成本法
- 2024年度初會(huì)《經(jīng)濟(jì)法基礎(chǔ)》高頻真題匯編(含答案)
- 課例研究報(bào)告
- 建筑工程各部門職能及各崗位職責(zé)201702
- 五年級(jí)上冊(cè)道德與法治期末測(cè)試卷推薦
- 重點(diǎn)傳染病診斷標(biāo)準(zhǔn)培訓(xùn)診斷標(biāo)準(zhǔn)
- GB/T 3934-2003普通螺紋量規(guī)技術(shù)條件
- 蘭渝鐵路指導(dǎo)性施工組織設(shè)計(jì)
- CJJ82-2019-園林綠化工程施工及驗(yàn)收規(guī)范
- 小學(xué)三年級(jí)閱讀練習(xí)題《鴨兒餃子鋪》原文及答案
- 六宮格數(shù)獨(dú)100題
評(píng)論
0/150
提交評(píng)論