時(shí)間:2008-07-14 14:19:00來源:ronggang
圖 三:DataSocket的數(shù)據(jù)發(fā)布和數(shù)據(jù)接收程序框圖(左為發(fā)布右為接收)[/align]
利用DataSocket技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)化測控具有許多優(yōu)越性。突出的一點(diǎn)就是安全性高。利用DataSocket ServerManager可以設(shè)定客戶端連接數(shù)目、數(shù)據(jù)項(xiàng)數(shù)目,創(chuàng)建用戶組和用戶,設(shè)置用戶讀/寫以及創(chuàng)建數(shù)據(jù)項(xiàng)的權(quán)限(未設(shè)定權(quán)限的用戶對服務(wù)器不可訪問)。另外,DataSocket傳輸數(shù)據(jù)的端口使用3015,此端口已經(jīng)通過IANA(Internet地址分配機(jī)構(gòu))注冊為DSTP協(xié)議專用端口,因此可以在防火墻外部的計(jì)算機(jī)上運(yùn)行DataSocket服務(wù)器,同時(shí)可保證在防火墻內(nèi)部的計(jì)算機(jī)上安全地運(yùn)行數(shù)據(jù)發(fā)布等應(yīng)用程序DataSocket傳輸?shù)臄?shù)據(jù)本身包含很小的頭文件,因此,數(shù)據(jù)傳輸速度快,適合于在網(wǎng)絡(luò)上大量實(shí)時(shí)數(shù)據(jù)的傳輸。
3 數(shù)據(jù)傳送與接收的一致性問題
在進(jìn)行信號的采集時(shí),采集的各數(shù)據(jù)跟時(shí)間是密切相關(guān)的,因此,時(shí)間信息及其它相關(guān)信息需要和采集的實(shí)時(shí)數(shù)據(jù)一起進(jìn)行傳遞??梢圆扇≡诎l(fā)布端發(fā)送多個(gè)數(shù)據(jù)項(xiàng)的方法解決,即把實(shí)時(shí)數(shù)據(jù)、時(shí)間、及其他信息分別建立各自的數(shù)據(jù)項(xiàng),之后經(jīng)采集服務(wù)器端的DataSocket Publisher分別發(fā)布給DataSocket Server,再由客戶端分別接收。但經(jīng)測試發(fā)現(xiàn),會產(chǎn)生偽數(shù)據(jù)現(xiàn)象。為保證客戶端接收數(shù)據(jù)的一致性,采用數(shù)據(jù)屬性方法,把時(shí)間等信息作為數(shù)據(jù)屬性同實(shí)時(shí)數(shù)據(jù)綁定后再進(jìn)行數(shù)據(jù)發(fā)布。這樣在服務(wù)器和客戶端之間傳遞的是實(shí)時(shí)數(shù)據(jù)、時(shí)間等內(nèi)容的綁定整體,所有的傳遞信息同時(shí)到達(dá)數(shù)據(jù)接收端,之后再由接收端利用數(shù)據(jù)屬性來提取相應(yīng)的數(shù)據(jù)。采用這種措施后即使傳輸過程中出現(xiàn)數(shù)據(jù)丟失現(xiàn)象,丟失的也只能是綁定的數(shù)據(jù)包,并不會對下次傳來的數(shù)據(jù)產(chǎn)生影響,實(shí)驗(yàn)的偽數(shù)據(jù)就不會產(chǎn)生了,從而避免了因某一項(xiàng)數(shù)據(jù)丟失而無法匹配或匹配錯誤情況的發(fā)生。
測控服務(wù)器端在采集、分析的同時(shí),要求客戶端能夠正確、同步地實(shí)時(shí)顯示測試結(jié)果。如果僅用DataSocket中的DataSocket Write.vi和 DataSocket Read.vi來簡單實(shí)現(xiàn),往往會出現(xiàn)以下問題:發(fā)送數(shù)據(jù)和接受的數(shù)據(jù)并不同步,并且會接收到許多的無用數(shù)據(jù),如DataSocket Read.vi中出現(xiàn)Timeout提示,會再次返回上一次的接收數(shù)據(jù)或讀不到數(shù)據(jù),返回“0”值等,這些都是與測控過程無關(guān)的偽數(shù)據(jù),反而導(dǎo)致接收端顯示的混亂。為解決這個(gè)問題,即要保證客戶端接收數(shù)據(jù)的一致性,可采用上面提出的數(shù)據(jù)屬性方法,把標(biāo)識號與實(shí)時(shí)數(shù)據(jù)綁定、打包后后再進(jìn)行數(shù)據(jù)發(fā)布。具體是將每個(gè)數(shù)據(jù)包分為兩項(xiàng):數(shù)據(jù)項(xiàng)和屬性項(xiàng),分別存放采集數(shù)值和本次發(fā)送的標(biāo)記—序號Q,然后發(fā)包給DataSocket;接收方也建立一個(gè)接收標(biāo)記—序號P(初值與序號Q同),由于每個(gè)包都有一個(gè)唯一的序號,因此接收方每次讀到數(shù)據(jù)包時(shí),只按序號P與序號Q的一致性來判斷是否接收包并存放到顯示數(shù)組中,之后將序號P自動加1(即預(yù)置為下一個(gè)接收包的序號)為下次傳送做準(zhǔn)備。如果某次從DataSocket Read.vi中返回的數(shù)據(jù)包中序號Q為0或其它值,就會與當(dāng)前序號P中的值不一致,表明此數(shù)據(jù)包無效,客戶端不予接收并循環(huán)等待讀取下一個(gè)數(shù)據(jù)包。圖四為程序流程:
[align=center]
圖 四:收發(fā)數(shù)據(jù)流程[/align]
4 創(chuàng)新點(diǎn)總結(jié)
本文的創(chuàng)新點(diǎn)是提出了一種基于虛擬儀器的遠(yuǎn)程網(wǎng)絡(luò)測控系統(tǒng)實(shí)現(xiàn)方案,詳細(xì)分析了遠(yuǎn)程測控系統(tǒng)的總體框架和實(shí)現(xiàn)技術(shù)。并且隨著網(wǎng)絡(luò)技術(shù)的引入,虛擬儀器技術(shù)漸漸向網(wǎng)絡(luò)化方向發(fā)展,很多測試任務(wù)也提出了遠(yuǎn)程測試的要求。網(wǎng)絡(luò)化的虛擬儀器已經(jīng)成為虛擬儀器技術(shù)的一個(gè)發(fā)展方向。課題采用基于C/S模式的DataSocket技術(shù),解決了數(shù)據(jù)傳送與接收的一致性問題,實(shí)現(xiàn)了虛擬儀器的的遠(yuǎn)程測控功能。
參考文獻(xiàn):
1 王承 何志偉 基于虛擬儀器的網(wǎng)絡(luò)化自動測試系統(tǒng)的構(gòu)架及實(shí)現(xiàn)[J] 電子技術(shù)應(yīng)用 2002
2 武安河,周利莉編著.Windows設(shè)備驅(qū)動程序(VxD 與WDM)開發(fā)實(shí)務(wù)[M].電子工業(yè)出版社,2001
3 石傅強(qiáng) 趙德永等LabVIEW6.1編程技術(shù)實(shí)用教程[M] 中國鐵道出版社 2000
4 龔崇權(quán). 基于現(xiàn)場總線技術(shù)的虛擬儀器開發(fā)[J],微計(jì)算機(jī)信息,2006,2-1:177-178
標(biāo)簽:
![]()
傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-31
勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
2025-09-23