下面介紹的是計(jì)算機(jī)專業(yè)論文范例虛擬網(wǎng)絡(luò)實(shí)驗(yàn),希望對您有所幫助!
摘要:本文通過局域網(wǎng)和最后遠(yuǎn)程虛擬實(shí)驗(yàn)的網(wǎng)絡(luò),控制虛擬實(shí)驗(yàn)實(shí)現(xiàn)了基于虛擬實(shí)驗(yàn)和LabWindows/CVI軟件平臺。介紹了基于LabWindows應(yīng)用程序設(shè)計(jì)的虛擬實(shí)驗(yàn)網(wǎng)絡(luò)結(jié)構(gòu)、虛擬實(shí)驗(yàn)網(wǎng)絡(luò)通信、客戶端/編程模式的服務(wù)器、遠(yuǎn)程PC和服務(wù)器通信實(shí)現(xiàn)功率控制工作站傳輸和服務(wù)器程序等基本技術(shù)。
關(guān)鍵詞:虛擬實(shí)驗(yàn) 虛擬實(shí)驗(yàn)網(wǎng)絡(luò) 通信 遠(yuǎn)程控制
1 介紹
互聯(lián)網(wǎng)技術(shù)和遠(yuǎn)程虛擬實(shí)驗(yàn)是基于虛擬實(shí)驗(yàn)(VI)來設(shè)計(jì)的,該技術(shù)多年來被應(yīng)用在許多領(lǐng)域。VI的遠(yuǎn)程控制和遠(yuǎn)程獲取、通過VI和交付量的測量信息也越來越重要。通過局域網(wǎng)設(shè)置了基于軟件平臺的LabWindows / CVI,具體的網(wǎng)絡(luò)通信部分,要使用VI實(shí)現(xiàn)網(wǎng)絡(luò)連接彼此內(nèi)部局域網(wǎng),利用服務(wù)器/客戶模式申請權(quán)力和控制,客戶程序可通過指令獲得遠(yuǎn)程虛擬網(wǎng)絡(luò)實(shí)驗(yàn)平臺的控制權(quán)。
虛擬實(shí)驗(yàn)網(wǎng)絡(luò)(VIN)由一組硬件和系統(tǒng)構(gòu)成。硬件包括計(jì)算機(jī)(可單機(jī)或局域網(wǎng)組成的服務(wù)器以及一些PC)。該軟件采用的編程環(huán)境是LabWindows / CVI和c++。LabWindows / CVI可以開發(fā)使用虛擬設(shè)備,實(shí)現(xiàn)VI的功能??梢允褂媒壎ǖ挠布蛙浖s短開發(fā)周期和提高VI的可用性。
根據(jù)設(shè)計(jì)的原則,系統(tǒng)硬件配置,采用VXI總線實(shí)驗(yàn)和GPIB實(shí)驗(yàn)。選擇VXI主機(jī)控制器為主要系統(tǒng)硬件框架,里面放置0槽控制計(jì)算機(jī)作為系統(tǒng)控制器。
一般的標(biāo)準(zhǔn)接口是每個(gè)測試函數(shù)模塊之間的一座橋梁,他們一起構(gòu)成了電路板的測試模塊。接口適配器完成標(biāo)準(zhǔn)接口與電路板連接機(jī)器測試。信號源采用電路板標(biāo)準(zhǔn)接口和相應(yīng)適配器,這和響應(yīng)信號需要測試給定的標(biāo)準(zhǔn)接口有關(guān)。
2 虛擬實(shí)驗(yàn)網(wǎng)絡(luò)通信設(shè)計(jì)
VIN的溝通任務(wù)是:查詢服務(wù)器和數(shù)據(jù)庫(BD)的工作站的IP地址,然后得到對應(yīng)的結(jié)果控制工作站;讓遠(yuǎn)端電腦遠(yuǎn)程控制GPIB實(shí)驗(yàn);遠(yuǎn)端PC將命令發(fā)送到GPIB實(shí)驗(yàn);決定是否通過局域網(wǎng),或者回送到獲取遠(yuǎn)端實(shí)驗(yàn)數(shù)據(jù)的電腦。
網(wǎng)絡(luò)規(guī)劃是由web服務(wù)器程序、客戶端程序和通用接口總線控制器組成。采用TCP / IP網(wǎng)絡(luò)協(xié)議,在面向連接的客戶端與web服務(wù)器必須得到一個(gè)鏈接之前,要先將數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)服務(wù)器。一旦運(yùn)行客戶端程序,它發(fā)送一個(gè)連接請求到web服務(wù)器(假設(shè)web服務(wù)器已成功開啟了一個(gè)端口與客戶溝通),為了整個(gè)系統(tǒng)安全,web服務(wù)器需要驗(yàn)證用戶的身份的有效性。實(shí)現(xiàn)成功的發(fā)送和接收的交流結(jié)束之前,必須遵守彼此傳輸格式。
網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包格式是:頭和內(nèi)容的信息,由制表字符“\ r \ n”之間的信息頭和信息的內(nèi)容組成。信息頭放在特殊容器中。具體的內(nèi)容之間的信息和內(nèi)容與內(nèi)部信息也分開,依然用“\ r \ n”分隔。在轉(zhuǎn)移到網(wǎng)絡(luò)服務(wù)器時(shí),服務(wù)器將通過查詢數(shù)據(jù)包驗(yàn)證其身份。
頭的信息是:“[Log_Serv]”,項(xiàng)目內(nèi)容結(jié)果是:“=”、“= ”型。如果登錄成功,整個(gè)信息內(nèi)容是:“Log_Serv \ r \ nRESULT =OK\ r \ nTYPE = XS \ r \ n”;如果登錄失敗,整個(gè)信息內(nèi)容是:“[Log_Serv]\ r \ n \ r \ nRESULT = NG”。這時(shí),來自客戶機(jī)的通信網(wǎng)絡(luò)服務(wù)器已經(jīng)基本完成。在收到確認(rèn)信息的GPIB實(shí)驗(yàn)控制器客戶端,將設(shè)置獨(dú)立的與GPIB實(shí)驗(yàn)控制器相聯(lián)系的地址。
3 VI傳輸程序設(shè)計(jì)
先根據(jù)網(wǎng)絡(luò)傳輸?shù)目刂乒δ?,提出TCP LabWindows / CVI所用函數(shù)庫,它是屬于Windows Socket和支持TCP服務(wù)的一個(gè)子集。與直接使用Windows Socket編程API函數(shù)相比,它更方便和容易使用。LabWindows / CVI TCP函數(shù)庫包含3個(gè)子類:服務(wù)器、客戶端、支持功能的函數(shù)。
第一個(gè)是通信控制功能子類的服務(wù)器端,包括4個(gè)組件:負(fù)責(zé)接口的注冊表、服務(wù)器和讀取/寫稿數(shù)據(jù)的端口。第二個(gè)是設(shè)置和通訊功能子類的客戶端,這樣的子類型包括客戶機(jī)通信控制功能。最后是其他功能子類:比如獲得當(dāng)前主機(jī)的IP地址、主機(jī)名等。
首先,客戶端發(fā)送一個(gè)請求到Web服務(wù)器,請求GPIB實(shí)驗(yàn)的地址,控制器是為了控制之間的數(shù)據(jù)交流。Web服務(wù)器發(fā)送的GPIB實(shí)驗(yàn)地址,控制器后臺處理客戶端的請求。
4 PC和服務(wù)器之間的通信和控制程序設(shè)計(jì)
4.1 菜單程序回調(diào)函數(shù)
放在設(shè)置文件之前,系統(tǒng)自動代碼框架代碼的主程序和回調(diào)功能函數(shù)。
菜單回調(diào)函數(shù)的基本框架是:
void CVICALLBACK(int menuBar, int menuItem, void *callbackData, int panel){ }
相應(yīng)代碼添加會根據(jù)具體功能菜單調(diào)用回調(diào)函數(shù)。在使用回調(diào)函數(shù)“Exit _All”(退出實(shí)驗(yàn)臺)時(shí),它只需要添加退出用戶接口(0)。