LabVIEW環(huán)境下遠程資源共享及Dat Socket實(shí)現
此方法由于使用了RDA Server,與方法1相比具有更大的實(shí)用性,用戶(hù)只需要在原來(lái)設計的程序外面添加建立連接或者結束連接的子程序,就可以把在本機運行的采集程序改為使用遠程采集卡時(shí)的程序。但是此方法也并不滿(mǎn)足多客戶(hù)同時(shí)從服務(wù)器獲取采集數據的需求,而且這種任務(wù)管理機制的程序設計也使用戶(hù)增加了額外編程負擔。
2.2 利用DS技術(shù)實(shí)現多客戶(hù)同時(shí)共享數據采集卡的設計方案
綜合以上兩種方法的優(yōu)點(diǎn),保留虛擬采集卡等思想,同時(shí)針對其缺點(diǎn),利用DataSocket提供的DataSocketConnection URL特殊屬性,結合實(shí)際需要分別在服務(wù)端和多個(gè)客戶(hù)端設計非常簡(jiǎn)單的程序來(lái)滿(mǎn)足多客戶(hù)的同時(shí)
需求。其設計思想如下:在帶有采集卡的服務(wù)端進(jìn)行數據采集,可以利用DataSocket函數把采集到的數據寫(xiě)入到DataSocket服務(wù)器;在客戶(hù)端,同樣利用DataSocket函數從服務(wù)器實(shí)時(shí)的讀取采集卡采集到的數據,而且這些數據可以根據具體需要直接作為客戶(hù)端不同程序的輸入數據。這樣,相同的數據,客戶(hù)端可以設計不同的程序對其進(jìn)行處理,從而及時(shí)得到所需要的不同結果。這種方案的關(guān)鍵是使用DataSocket Connection URL特殊屬性把控件的值連接并同步起來(lái)。如前所述:如果為不同計算機中的兩個(gè)類(lèi)型相同的 LabVIEW控件設置相同的DataSocket Connection URL地址,那么,這兩個(gè)控件就由DataSocket連接起來(lái),這兩個(gè)控件的值就會(huì )完全保持同步。
下面以一個(gè)實(shí)驗為例進(jìn)行簡(jiǎn)要說(shuō)明。實(shí)驗中,按既定的輸入值得到相對應的一組實(shí)測數據,要求把這兩組數據進(jìn)行不同階次的曲線(xiàn)擬合,從而分析不同擬合階次對擬合效果的影響,最后對輸入數據和實(shí)測數據在實(shí)驗的基礎上進(jìn)行合理的擬合分析。程序的前面板和流程圖如圖2所示。本文引用地址:http://dyxdggzs.com/article/158071.htm
在程序流程圖中,DSTP(DataSocket Transfer Protoco1)是數據套接傳輸協(xié)議,這是數據套接自身的協(xié)議,用戶(hù)必須為數據提供附在URL中的命名標簽和數據項定址。兩組數據經(jīng)過(guò)變體后通過(guò)函數寫(xiě)入服務(wù)器;在客戶(hù)端,變體后的數據通過(guò)函數讀取出來(lái)可以根據用戶(hù)需要進(jìn)行一系列處理,兩組數據在服務(wù)器和客戶(hù)機上是完全同步的。通過(guò)實(shí)驗可以證明:數據在服務(wù)器和多臺客戶(hù)機上都是同步的,客戶(hù)機之間也不存在競爭。
在程序運行的前面板圖中,可以看到服務(wù)器端對輸入數據和實(shí)測數據進(jìn)行了分析處理;同時(shí),客戶(hù)端對從服務(wù)器讀取的數據進(jìn)行了不同處理,客戶(hù)端可以根據自己需要輸入不同的階次,由于階次不一樣,每個(gè)客戶(hù)端的擬合圖、擬合系數以及方差均不一樣。服務(wù)器和多個(gè)客戶(hù)端只共享一個(gè)數據采集卡,從數據采集卡得到相同的數據后,每個(gè)客戶(hù)端和服務(wù)器都可以同時(shí)對數據進(jìn)行不同的處理,用戶(hù)還可以設計其他程序(比如直線(xiàn)擬合、數值插值等)對這組數據進(jìn)行同步處理。
這種方案的優(yōu)點(diǎn)在于通過(guò)設置相同的DataSocket Connection URL地址把控件的值完全保持同步,從而為多客戶(hù)提供實(shí)時(shí)的數據。該方案的另一個(gè)優(yōu)點(diǎn)是服務(wù)器與客戶(hù)端的程序設計非常簡(jiǎn)單,用戶(hù)可以把更多的精力集中在工程設計本身。此方案同時(shí)也為學(xué)校構建經(jīng)濟型網(wǎng)絡(luò )虛擬實(shí)驗室提供了很好的思路。
本方案雖然解決了多客戶(hù)同時(shí)對數據需求的問(wèn)題,但客戶(hù)端只能接受和處理數據,如果想控制服務(wù)器,可能還得借助其它方式去實(shí)現(比如通過(guò)瀏覽器方式去申請控制權等),限于篇幅,本文沒(méi)有進(jìn)一步展開(kāi)敘述。
3 展望
本文只在虛擬儀器的網(wǎng)絡(luò )化方面進(jìn)行了初步的嘗試,還沒(méi)有涉及到LabVIEW對數據庫的訪(fǎng)問(wèn)和控制等方面。如果能進(jìn)一步將虛擬儀器技術(shù)、網(wǎng)絡(luò )技術(shù)和數據庫技術(shù)結合起來(lái),那么遠程虛擬測試系統將會(huì )有更廣闊的應用前景。
評論