用Labwindows/CVI實現基于C/S模式的網絡化虛擬測試系統
發布時間:2007/8/24 0:00:00 訪問次數:1020
惠俊軍 王志賢
摘 要:本文分析了基于C/S模式的網絡化虛擬儀器測試系統的框架;簡單介紹了DateSocket技術——DataSocket Server和DataSocket API;給出了在Labwindows/CVI下實現C/S模式的網絡化虛擬儀器測試系統的方法和實例。
關鍵詞:C/S模式;虛擬儀器;Labwindows/CVI;DataSocket
基于C/S模式的網絡化虛擬儀器測試系統框架
隨著網絡技術的引入,虛擬儀器技術漸漸向網絡化方向發展,很多測試任務也提出了遠程測試的要求。于是,網絡化的虛擬儀器成了虛擬儀器技術的一個發展方向。
Labwindows/CVI是NI公司開發的Measurement studio軟件組中的一員,它以標準C語言為基準,提供了豐富的庫函數,包括數據采集、儀器控制、網絡通信等。在最新的Labwindows/CVI 7.0中又增加了許多功能。本文討論在Labwindows/CVI下的基于C/S(Client/Server)模式的網絡化虛擬儀器測試系統的具體框架,并給出了基本的實現方法和實例,這里主要介紹NI公司的DataSocket技術。
1.DataSocket技術簡介
DataSocket是基于NI公司推出的一項基于TCP/IP標準的新技術。DataSocket面向測量和網上實時高速數據交流,可用于一個計算機內或網絡中多個應用程序之間的數據交換。雖然目前已經有TCP/IP、DDE等多種用于兩個應用程序之間共享數據的技術,但這些技術都不是用于實時數據(Live Data)傳輸的。只有DataSocket是一項在測量和自動化應用中用于共享和發布實時數據的技術。DataSocket技術是一種簡單易用的網絡數據通信技術,它封裝了TCP/IP編程細節(如選擇端口號、定義協議、創建連接、字節流處理、錯誤處理等),使測試工程師不用了解底層的網絡編程技術,就可以方便的搭建網絡化虛擬儀器測試系統。如一個大學實驗室用一臺計算機采集實驗設備數據,而同時有多個學生可以在自己的工作站上實時數據分析。DataSocket由DataSocket API和DataSocket Server兩大部分組成。DataSocket API提供了多種環境下(如VB、CVI、LV)的編程接口技術,而DataSocket Server是一個網絡數據管理軟件,只需對數據項和訪問組做有關設置,無須任何編程。
2.Labwindows/CVI下基于C/S模式網絡化虛擬儀器的測試系統框架
圖1是基于C/S模式的網絡化虛擬儀器測試系統框架示意圖。
在圖中,數據采集站使用DataSocket API向DataSocket Server寫數據,客戶站使用DataSocket API向DataSocket Server讀數據。數據采集站和DataSocket Server可以運行在一臺計算機上,但DataSocket Server最好還是單獨運行在一臺機器上,這樣可以提高測試系統的性能和安全。客戶站和數據采集站應用程序可以用VB、LabVIEW和Labwindows/CVI等軟件編寫。
具體實現方法結紹
1.DataSocket Server的運行
由圖1可以看出,DataSocket Server是整個網絡化測試系統的核心。運行界面如圖2a所示,其中,“301-ke1yvhwjvjf”為機器名稱,可以在Windows的“控制面板”的‘網絡’項中進行設置。另外還顯示了連接的過程數目和已傳遞的包的數目等。
2.DataSocket管理器與服務器
(1) DataSocket管理器
在安裝了Labwindows/CVI后,其安裝目錄下會生成一個DataSocket子目錄。當打開子目錄后,可以看到其中有兩個文件名:cwdssmgr與cwdss。
雙擊“cwdssmgr”,出現DataSocket Manager對話框,如圖2b所示。
主要參數設置如下。
1)Server Setting
Maxconnection:最多可以連接的客戶端數。最多可以連接1000個客戶端。
MaxItems:能夠顯示的測試參量數。最多可以顯示1000個測試參量。
2)Permission Groups
DefaultReaders默認的客戶(Host)端測控裝置的網絡名。設置默認客戶端來進一步明確相互通信的對象,否則表示和所有的客戶端都進行通信連接。
3)Predefined Data Items
用來設置DataSocket服務器欲顯示的測試數據的類型。
(2)DataSocket服務器
雙擊“cwdss”,出現“DataSocket Server”對話框,如圖2c所示。
主要參數設置如下。
Processed connected:顯示和DataSocket服務器連接的客戶端的實際數目。
Packets Sent:顯示傳輸的數據包的數
惠俊軍 王志賢
摘 要:本文分析了基于C/S模式的網絡化虛擬儀器測試系統的框架;簡單介紹了DateSocket技術——DataSocket Server和DataSocket API;給出了在Labwindows/CVI下實現C/S模式的網絡化虛擬儀器測試系統的方法和實例。
關鍵詞:C/S模式;虛擬儀器;Labwindows/CVI;DataSocket
基于C/S模式的網絡化虛擬儀器測試系統框架
隨著網絡技術的引入,虛擬儀器技術漸漸向網絡化方向發展,很多測試任務也提出了遠程測試的要求。于是,網絡化的虛擬儀器成了虛擬儀器技術的一個發展方向。
Labwindows/CVI是NI公司開發的Measurement studio軟件組中的一員,它以標準C語言為基準,提供了豐富的庫函數,包括數據采集、儀器控制、網絡通信等。在最新的Labwindows/CVI 7.0中又增加了許多功能。本文討論在Labwindows/CVI下的基于C/S(Client/Server)模式的網絡化虛擬儀器測試系統的具體框架,并給出了基本的實現方法和實例,這里主要介紹NI公司的DataSocket技術。
1.DataSocket技術簡介
DataSocket是基于NI公司推出的一項基于TCP/IP標準的新技術。DataSocket面向測量和網上實時高速數據交流,可用于一個計算機內或網絡中多個應用程序之間的數據交換。雖然目前已經有TCP/IP、DDE等多種用于兩個應用程序之間共享數據的技術,但這些技術都不是用于實時數據(Live Data)傳輸的。只有DataSocket是一項在測量和自動化應用中用于共享和發布實時數據的技術。DataSocket技術是一種簡單易用的網絡數據通信技術,它封裝了TCP/IP編程細節(如選擇端口號、定義協議、創建連接、字節流處理、錯誤處理等),使測試工程師不用了解底層的網絡編程技術,就可以方便的搭建網絡化虛擬儀器測試系統。如一個大學實驗室用一臺計算機采集實驗設備數據,而同時有多個學生可以在自己的工作站上實時數據分析。DataSocket由DataSocket API和DataSocket Server兩大部分組成。DataSocket API提供了多種環境下(如VB、CVI、LV)的編程接口技術,而DataSocket Server是一個網絡數據管理軟件,只需對數據項和訪問組做有關設置,無須任何編程。
2.Labwindows/CVI下基于C/S模式網絡化虛擬儀器的測試系統框架
圖1是基于C/S模式的網絡化虛擬儀器測試系統框架示意圖。
在圖中,數據采集站使用DataSocket API向DataSocket Server寫數據,客戶站使用DataSocket API向DataSocket Server讀數據。數據采集站和DataSocket Server可以運行在一臺計算機上,但DataSocket Server最好還是單獨運行在一臺機器上,這樣可以提高測試系統的性能和安全。客戶站和數據采集站應用程序可以用VB、LabVIEW和Labwindows/CVI等軟件編寫。
具體實現方法結紹
1.DataSocket Server的運行
由圖1可以看出,DataSocket Server是整個網絡化測試系統的核心。運行界面如圖2a所示,其中,“301-ke1yvhwjvjf”為機器名稱,可以在Windows的“控制面板”的‘網絡’項中進行設置。另外還顯示了連接的過程數目和已傳遞的包的數目等。
2.DataSocket管理器與服務器
(1) DataSocket管理器
在安裝了Labwindows/CVI后,其安裝目錄下會生成一個DataSocket子目錄。當打開子目錄后,可以看到其中有兩個文件名:cwdssmgr與cwdss。
雙擊“cwdssmgr”,出現DataSocket Manager對話框,如圖2b所示。
主要參數設置如下。
1)Server Setting
Maxconnection:最多可以連接的客戶端數。最多可以連接1000個客戶端。
MaxItems:能夠顯示的測試參量數。最多可以顯示1000個測試參量。
2)Permission Groups
DefaultReaders默認的客戶(Host)端測控裝置的網絡名。設置默認客戶端來進一步明確相互通信的對象,否則表示和所有的客戶端都進行通信連接。
3)Predefined Data Items
用來設置DataSocket服務器欲顯示的測試數據的類型。
(2)DataSocket服務器
雙擊“cwdss”,出現“DataSocket Server”對話框,如圖2c所示。
主要參數設置如下。
Processed connected:顯示和DataSocket服務器連接的客戶端的實際數目。
Packets Sent:顯示傳輸的數據包的數