資源描述:
《labview實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集與傳輸22530》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、LabView實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集與傳輸梁惺彥,和衛(wèi)星(江蘇大學(xué),江蘇鎮(zhèn)江212013)摘要:闡述了在NILabView平臺(tái)上結(jié)合TCP/IP協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)墓ぷ鞣椒?,并給出對(duì)工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)采集傳送與監(jiān)控的仿真實(shí)例。關(guān)鍵詞:TCP/IP虛擬儀器LabView中圖分類號(hào):TM93????文獻(xiàn)標(biāo)識(shí)碼:ARealizationoftheDataAcquisitionandTransmissionBaseonLabviewLiangXingyan,HeWeixing(JiangsuUniversity,JiangsuZ
2、henjiang,212013,China)Abstract:ItdescribesanmothedtotransmitdatawithTCP/IPbaseonLabView,andgivesanemluatorofdataacquisitionandtransmissionforindustryuse.Key:TCP/IP;VirtualInstrument;LabView1、引言在現(xiàn)代儀器系統(tǒng)中,計(jì)算機(jī)已經(jīng)與儀器結(jié)合得非常緊密,已成為整個(gè)系統(tǒng)的核心,許多傳統(tǒng)儀器正在逐漸被計(jì)算機(jī)部分、甚至全部取代。粗略地
3、說(shuō)這種結(jié)合有兩種方式:一種是將計(jì)算機(jī)裝入儀器;另一種方式是將儀器裝入計(jì)算機(jī),即以通用的計(jì)算機(jī)硬件及操作系統(tǒng)為依托,實(shí)現(xiàn)各種儀器功能。虛擬儀器主要是指這種方式,其實(shí)質(zhì)就是一個(gè)按照儀器需求組織的數(shù)據(jù)采集系統(tǒng)。美國(guó)NI公司的LabVIEW就是目前在這一領(lǐng)域內(nèi)使用較為廣泛的計(jì)算機(jī)語(yǔ)言。隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,虛擬儀器與Internet技術(shù)的結(jié)合為虛擬儀器網(wǎng)絡(luò)化、工業(yè)現(xiàn)場(chǎng)遠(yuǎn)程測(cè)控提供了更好的實(shí)現(xiàn)平臺(tái)[1]。本文介紹在LabView開(kāi)發(fā)平臺(tái)上結(jié)合TCP/IP技術(shù)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集傳輸系統(tǒng)。2、LabView簡(jiǎn)介L(zhǎng)abVie
4、w廣泛應(yīng)用于數(shù)據(jù)采集與控制、信號(hào)處理以及數(shù)據(jù)表達(dá)等方面,它提供了一種全新的編程方法,即對(duì)軟件對(duì)象“虛擬儀器(VI)”進(jìn)行圖形化的組合操作[2][3]。LabView程序的執(zhí)行順序是按數(shù)據(jù)流的方式確定的,可以實(shí)現(xiàn)多任務(wù)的并行。LabView的程序由前面板(frontpanel)和流程圖(blockdiagram)兩部分組成,整個(gè)程序是基于多線程的設(shè)計(jì),前面板和流程圖各占用一個(gè)線程。前面板是LabView程序的圖形用戶接口,此接口集成了用戶輸入,并顯示程序的輸出,相當(dāng)于傳統(tǒng)儀器的面板。流程圖包含虛擬儀器程序的圖
5、形化源代碼,編程控制和定義在前面板上的輸入和輸出功能。在虛擬儀器設(shè)計(jì)中,從控制模板中選取所需的控制及顯示對(duì)象構(gòu)建出儀器的操作面板;在功能模板中選取適當(dāng)?shù)墓δ苣K并進(jìn)行必要的連接與設(shè)置,制作控制流程圖,完成所設(shè)計(jì)儀器應(yīng)具有的功能,程序的模塊化與層次化更為直觀。3、TCP技術(shù)TCP/IP協(xié)議體系是目前最成功、使用最頻繁的Intranet/Internet協(xié)議[5]。作為一個(gè)流行的工業(yè)標(biāo)準(zhǔn),TCP/IP技術(shù)有著良好的實(shí)用性和開(kāi)放性。它定義了網(wǎng)絡(luò)層的網(wǎng)際互連協(xié)議IP,傳輸層的傳輸控制協(xié)議TCP、用戶數(shù)據(jù)協(xié)議UDP,
6、等等?;赥CP/IP技術(shù)可以架構(gòu)各種Web服務(wù),如郵件傳輸SMTP、文件傳輸FTP,以及利用超文本傳輸協(xié)議HTTP實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)發(fā)布[5]和網(wǎng)絡(luò)瀏覽。在數(shù)據(jù)傳輸中,TCP/IP網(wǎng)絡(luò)通過(guò)提供通用網(wǎng)絡(luò)服務(wù),使得具體網(wǎng)絡(luò)技術(shù)對(duì)用戶或應(yīng)用程序透明,從而將具體通信問(wèn)題從網(wǎng)絡(luò)細(xì)節(jié)中解放出來(lái),使網(wǎng)絡(luò)應(yīng)用更加靈活方便。體現(xiàn)到Labview應(yīng)用中,我們可以直接調(diào)用TCP模塊完成流程編寫,而無(wú)需過(guò)多考慮網(wǎng)絡(luò)的底層實(shí)現(xiàn)。協(xié)議結(jié)構(gòu)上,TCP/IP體系利用基于無(wú)連接傳輸?shù)腎P協(xié)議,具體表現(xiàn)為IP地址,來(lái)區(qū)分網(wǎng)絡(luò)中不同的數(shù)據(jù)站點(diǎn)。同時(shí)
7、提供了兩種傳輸方式:傳輸控制協(xié)議(TCP)為典型的傳輸大量數(shù)據(jù)或需要接收數(shù)據(jù)許可的應(yīng)用程序提供面向連接和可靠的通信;用戶數(shù)據(jù)協(xié)議(UDP)提供無(wú)連接的通信,典型的即時(shí)傳輸少量數(shù)據(jù)的應(yīng)用程序使用UDP。根據(jù)IP協(xié)議內(nèi)容和TCP的報(bào)文格式(圖1),數(shù)據(jù)傳輸需確定各主機(jī)的IP地址及通信的源端口號(hào)、目標(biāo)端口號(hào),也即通常所稱套接字Socket,從而實(shí)現(xiàn)端口對(duì)端口基礎(chǔ)上的面向連接的數(shù)據(jù)通信。相對(duì)于其他網(wǎng)絡(luò)協(xié)議,TCP/IP這種端對(duì)端的傳輸具有兩大優(yōu)點(diǎn)。第一,TCP/IP跟其它協(xié)議相比,顯得簡(jiǎn)潔清晰。利用通用接口,實(shí)現(xiàn)方
8、便。第二,TCP/IP的效率相當(dāng)高。TCP/IP的IP協(xié)議是“盡力傳遞”方式,只有TCP層為保證傳輸可靠性而做必要的工作,這樣的工作模式在物理網(wǎng)絡(luò)可靠的環(huán)境下傳輸效率相當(dāng)高,同時(shí)TCP實(shí)現(xiàn)的端對(duì)端連接也有效的保證了傳輸?shù)恼_率。本文利用TCP、IP協(xié)議實(shí)現(xiàn)各數(shù)據(jù)采集點(diǎn)與處理主機(jī)的連接。4、Labview中TCP傳輸?shù)膶?shí)現(xiàn)在Labview中可以利用已發(fā)布的TCPVI及相關(guān)子例程設(shè)計(jì)實(shí)現(xiàn)TCP通信[4]。此前需要在通