| 基于C/S模式的網(wǎng)絡化虛擬儀器測試系統(tǒng)框架 ---隨著網(wǎng)絡技術的引入,虛擬儀器技術漸漸向網(wǎng)絡化方向發(fā)展,很多測試任務也提出了遠程測試的要求。于是,網(wǎng)絡化的虛擬儀器成了虛擬儀器技術的一個發(fā)展方向。 ---Labwindows/CVI是NI公司開發(fā)的Measurement studio軟件組中的一員,它以標準C語言為基準,提供了豐富的庫函數(shù),包括數(shù)據(jù)采集、儀器控制、網(wǎng)絡通信等。在最新的Labwindows/CVI 7.0中又增加了許多功能。本文討論在Labwindows/CVI下的基于C/S(Client/Server)模式的網(wǎng)絡化虛擬儀器測試系統(tǒng)的具體框架,并給出了基本的實現(xiàn)方法和實例,這里主要介紹NI公司的DataSocket技術。 1.DataSocket技術簡介 ---DataSocket是基于NI公司推出的一項基于TCP/IP標準的新技術。DataSocket面向測量和網(wǎng)上實時高速數(shù)據(jù)交流,可用于一個計算機內(nèi)或網(wǎng)絡中多個應用程序之間的數(shù)據(jù)交換。雖然目前已經(jīng)有TCP/IP、DDE等多種用于兩個應用程序之間共享數(shù)據(jù)的技術,但這些技術都不是用于實時數(shù)據(jù)(Live Data)傳輸?shù)。只有DataSocket是一項在測量和自動化應用中用于共享和發(fā)布實時數(shù)據(jù)的技術。DataSocket技術是一種簡單易用的網(wǎng)絡數(shù)據(jù)通信技術,它封裝了TCP/IP編程細節(jié)(如選擇端口號、定義協(xié)議、創(chuàng)建連接、字節(jié)流處理、錯誤處理等),使測試工程師不用了解底層的網(wǎng)絡編程技術,就可以方便的搭建網(wǎng)絡化虛擬儀器測試系統(tǒng)。如一個大學實驗室用一臺計算機采集實驗設備數(shù)據(jù),而同時有多個學生可以在自己的工作站上實時數(shù)據(jù)分析。DataSocket由DataSocket API和DataSocket Server兩大部分組成。DataSocket API提供了多種環(huán)境下(如VB、CVI、LV)的編程接口技術,而DataSocket Server是一個網(wǎng)絡數(shù)據(jù)管理軟件,只需對數(shù)據(jù)項和訪問組做有關設置,無須任何編程。 2.Labwindows/CVI下基于C/S模式網(wǎng)絡化虛擬儀器的測試系統(tǒng)框架 ---圖1是基于C/S模式的網(wǎng)絡化虛擬儀器測試系統(tǒng)框架示意圖。 ---在圖中,數(shù)據(jù)采集站使用DataSocket API向DataSocket Server寫數(shù)據(jù),客戶站使用DataSocket API向DataSocket Server讀數(shù)據(jù)。數(shù)據(jù)采集站和DataSocket Server可以運行在一臺計算機上,但DataSocket Server最好還是單獨運行在一臺機器上,這樣可以提高測試系統(tǒng)的性能和安全。客戶站和數(shù)據(jù)采集站應用程序可以用VB、LabVIEW和Labwindows/CVI等軟件編寫。 具體實現(xiàn)方法結(jié)紹 1.DataSocket Server的運行 ---由圖1可以看出,DataSocket Server是整個網(wǎng)絡化測試系統(tǒng)的核心。運行界面如圖2a所示,其中,“301-ke1yvhwjvjf”為機器名稱,可以在Windows的“控制面板”的‘網(wǎng)絡’項中進行設置。另外還顯示了連接的過程數(shù)目和已傳遞的包的數(shù)目等。 2.DataSocket管理器與服務器 ---(1) DataSocket管理器 ---在安裝了Labwindows/CVI后,其安裝目錄下會生成一個DataSocket子目錄。當打開子目錄后,可以看到其中有兩個文件名:cwdssmgr與cwdss。 ---雙擊“cwdssmgr”,出現(xiàn)DataSocket Manager對話框,如圖2b所示。 ---主要參數(shù)設置如下。 ---1)Server Setting ---Maxconnection:最多可以連接的客戶端數(shù)。最多可以連接1000個客戶端。 ---MaxItems:能夠顯示的測試參量數(shù)。最多可以顯示1000個測試參量。 ---2)Permission Groups ---DefaultReaders默認的客戶(Host)端測控裝置的網(wǎng)絡名。設置默認客戶端來進一步明確相互通信的對象,否則表示和所有的客戶端都進行通信連接。 ---3)Predefined Data Items ---用來設置DataSocket服務器欲顯示的測試數(shù)據(jù)的類型。 ---(2)DataSocket服務器 ---雙擊“cwdss”,出現(xiàn)“DataSocket Server”對話框,如圖2c所示。 ---主要參數(shù)設置如下。 ---Processed connected:顯示和DataSocket服務器連接的客戶端的實際數(shù)目。 ---Packets Sent:顯示傳輸?shù)臄?shù)據(jù)包的數(shù)目。 ---Packets Sent:顯示接受的數(shù)據(jù)包的數(shù)目。 應用實例 ---在這里,基于C/S模式,采用DataSocket技術設計一個網(wǎng)絡化虛擬正弦波發(fā)生器。服務器端有一個正弦波發(fā)生器的服務器端應用程序,而底層的客戶端有一系列正弦波發(fā)生器的客戶端程序,實驗結(jié)果如下。 ---圖3a為服務器端應用程序,圖3b為客戶端應用程序。實驗結(jié)果表明,該儀器很好的實現(xiàn)了在服務器端產(chǎn)生一個正弦波信號,并寫入服務器;客戶端從服務器讀取數(shù)據(jù),并重構正弦波發(fā)生器。 結(jié)論 ---隨著網(wǎng)絡技術的引入,虛擬儀器技術漸漸向網(wǎng)絡化的方向發(fā)展,給虛擬儀器帶來了新的活力。許多大學實驗室也正在向虛擬網(wǎng)絡儀器這一方面發(fā)展,這不僅拓寬了虛擬儀器的應用范圍,而且節(jié)省了大量資源。 參考文獻 1 楊樂平,李海濤. 虛擬儀器技術概論. 電子工業(yè)出版社 2 劉君華. 基于LabWindows/CVI的虛擬儀器設計. 電子工業(yè)出版社 |