基于LabVIEW的數(shù)控機(jī)床網(wǎng)絡(luò)測(cè)控系統(tǒng)--網(wǎng)絡(luò)通信關(guān)鍵技術(shù)研究 1
(3)利用TCP協(xié)議通信實(shí)例
以下通過(guò)C/S(客戶端/服務(wù)器)通信模式實(shí)現(xiàn)的數(shù)據(jù)傳輸模式。
在服務(wù)器端,用“TCP Create Listener”節(jié)點(diǎn)創(chuàng)建偵聽(tīng),“TCP Wait on Listener”節(jié)點(diǎn)等待客戶機(jī)連接,通過(guò)循環(huán)產(chǎn)生100個(gè)正弦信號(hào)數(shù)據(jù),用兩個(gè)“TCP Write”節(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ù),最后,用“TCP Close Connection”節(jié)點(diǎn)結(jié)束連接。程序框圖如圖4.4所示:
在客戶端,用“TCP Open Connection”節(jié)點(diǎn)打開(kāi)TCP連接,用兩個(gè)“TCP Read”節(jié)點(diǎn)讀取數(shù)據(jù),第一個(gè)節(jié)點(diǎn)接收波形長(zhǎng)度作為第二個(gè)節(jié)點(diǎn)的輸入,第二個(gè)節(jié)點(diǎn)接收波形數(shù)據(jù),最后,用“TCP Close Connection”節(jié)點(diǎn)結(jié)束連接。程序框圖如圖4.5所示:
運(yùn)行TCP客戶端程序,顯示結(jié)果如下圖4.6所示。
4.2.2 DataSocket技術(shù)
在LabVIEW中實(shí)現(xiàn)網(wǎng)絡(luò)通信的最簡(jiǎn)單方法就是DataSocket.由于DataSocket可以應(yīng)用于任何編程環(huán)境,而且支持多種協(xié)議(PSP、DSTP、OPC、LOOKOUT、HTTP、FTP和文件訪問(wèn))。DataSocket是一種編程技術(shù),它簡(jiǎn)化了網(wǎng)絡(luò)計(jì)算機(jī)之間尤其是現(xiàn)場(chǎng)數(shù)據(jù)的交換。DataSocket技術(shù)是一種面向測(cè)控領(lǐng)域的網(wǎng)上實(shí)時(shí)數(shù)據(jù)交換編程技術(shù),DataSocket技術(shù)基于Microsoft的COM和ActiveX技術(shù),對(duì)TCP/IP協(xié)議進(jìn)行高度封裝,它包括了通用資源定位符URL (UNIform Resource Locator)和文件格式等技術(shù)規(guī)范。它能大大簡(jiǎn)化Internet網(wǎng)上計(jì)算機(jī)之間測(cè)控?cái)?shù)據(jù)交換的編程工作。DataSocket也可用于一臺(tái)計(jì)算機(jī)內(nèi)或局域網(wǎng)中多個(gè)應(yīng)用程序之間的數(shù)據(jù)交換,DataSocket的體系結(jié)構(gòu)如圖所示。
(1)DataSocket邏輯構(gòu)成DataSocket包括DataSocket Server Manager(以下簡(jiǎn)Manager),DataSocket Server和DataSocket API一部分。
Manager是一個(gè)獨(dú)立運(yùn)行的程序,主要功能有:設(shè)置DataSocket Server連接的客戶端程序的最大數(shù)目和創(chuàng)建數(shù)據(jù)項(xiàng)的最大數(shù)目:創(chuàng)建用戶組和用戶;設(shè)置用戶創(chuàng)建和讀寫數(shù)據(jù)項(xiàng)的權(quán)限;限制身份不明的客戶對(duì)服務(wù)器進(jìn)行訪問(wèn)和攻擊。例如,將Manager中的Default Reader設(shè)置為everyhost,則網(wǎng)中的每臺(tái)客戶計(jì)算機(jī)都可以讀取服務(wù)器上的數(shù)據(jù)。Manager對(duì)DataSocket Server的配置必須在本地計(jì)算機(jī)上進(jìn)行,而不能遠(yuǎn)程配置或通過(guò)運(yùn)行程序來(lái)配置。
DataSocket Server是一個(gè)必須運(yùn)行在服務(wù)器端的程序,負(fù)責(zé)監(jiān)管Manager中所設(shè)定的具有各種權(quán)限的用戶組和客戶端程序之間的數(shù)據(jù)交換。DataSocket Server通過(guò)內(nèi)部數(shù)據(jù)自描述格式對(duì)TCP/IP進(jìn)行優(yōu)化和管理,簡(jiǎn)化Internet.通信方式,提供自由的數(shù)據(jù)傳輸,可以直接傳送虛擬儀器程序所采集到的布爾型、數(shù)字型、字符串型、數(shù)組型和波形等常用類型的數(shù)據(jù)。它可以和測(cè)控應(yīng)用程序安裝在同一臺(tái)計(jì)算機(jī)上,也可以分裝在不同的計(jì)算機(jī)上,以便用防火墻進(jìn)行隔離來(lái)增加整個(gè)系統(tǒng)的安全性。DataSocket Server不會(huì)占用測(cè)控計(jì)算機(jī)CPU的工作時(shí)間,測(cè)控應(yīng)用程序可以運(yùn)行得更快。
評(píng)論