摘 要:隨著計(jì)算機(jī)和遠(yuǎn)程通訊為代表的信息技術(shù)的飛速發(fā)合廣泛應(yīng)用,使遠(yuǎn)程測(cè)控實(shí)驗(yàn)成為當(dāng)前實(shí)驗(yàn)改革的一個(gè)熱點(diǎn)。文章提出了一種基于客戶/服務(wù)器模式的遠(yuǎn)程實(shí)驗(yàn)系統(tǒng),闡述了其體系結(jié)構(gòu)及各個(gè)部分功能,并開發(fā)了基于TCP/IP協(xié)議的遠(yuǎn)程通信實(shí)用程序。
關(guān)鍵詞:測(cè)控技術(shù) 遠(yuǎn)程實(shí)驗(yàn)系統(tǒng) 實(shí)驗(yàn)系統(tǒng)設(shè)計(jì) 遠(yuǎn)程控制 TCP/IP客戶/服務(wù)器
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A
教學(xué)活動(dòng)中,實(shí)驗(yàn)是一個(gè)不可缺少的環(huán)節(jié),尤其是理工科的教學(xué)實(shí)踐活動(dòng)。對(duì)于許多實(shí)踐性較強(qiáng)的學(xué)科,比如物理、控制學(xué)、計(jì)算機(jī)硬件、電路原理、電子線路等,實(shí)驗(yàn)起到了重要的作用。實(shí)驗(yàn)是學(xué)生學(xué)習(xí)知識(shí)參與實(shí)踐的必須項(xiàng)目,傳統(tǒng)的實(shí)驗(yàn)方式要求學(xué)生必須到實(shí)驗(yàn)室且必須一人一臺(tái)儀器,而且只能在規(guī)定的時(shí)間進(jìn)行實(shí)驗(yàn),設(shè)備利用效率低。但在遠(yuǎn)程控制實(shí)驗(yàn)系統(tǒng)中,學(xué)生可以不用到實(shí)驗(yàn)室做實(shí)驗(yàn),利用校園網(wǎng)就可以在任何時(shí)候參加實(shí)驗(yàn),設(shè)備利用率高,因此遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的建立是很必要的。
本課題研究的內(nèi)容是設(shè)計(jì)一個(gè)基于以太網(wǎng)采用C/S模式的遠(yuǎn)程控制實(shí)物實(shí)驗(yàn)平臺(tái),并將該實(shí)驗(yàn)平臺(tái)應(yīng)用于遠(yuǎn)程實(shí)際進(jìn)行操作“模擬法測(cè)繪靜電場(chǎng)”的實(shí)驗(yàn)。
一、系統(tǒng)設(shè)計(jì)實(shí)施方案
1 系統(tǒng)總體方案
本系統(tǒng)的總體設(shè)計(jì)方案是:設(shè)計(jì)一個(gè)基于以太網(wǎng)采用C/S模式的遠(yuǎn)程實(shí)驗(yàn)網(wǎng)絡(luò)控制系統(tǒng),實(shí)現(xiàn)異地計(jì)算機(jī)控制本地實(shí)驗(yàn)設(shè)備運(yùn)動(dòng),處理識(shí)別儀表指針讀數(shù),采集實(shí)驗(yàn)數(shù)據(jù),并能及時(shí)地調(diào)整實(shí)驗(yàn)參數(shù)。它以TCP/IP協(xié)議為網(wǎng)絡(luò)基礎(chǔ),采用Client/Server的工作模式。以達(dá)到充分利用實(shí)驗(yàn)設(shè)備的目的。
用戶進(jìn)行實(shí)驗(yàn)的時(shí)候,在遠(yuǎn)程的某終端PC登陸成功后,即可與現(xiàn)場(chǎng)的服務(wù)器計(jì)算機(jī)建立連接。服務(wù)器根據(jù)用戶的指令對(duì)控制對(duì)象進(jìn)行控制,同時(shí)將現(xiàn)場(chǎng)的信息再通過網(wǎng)絡(luò)傳給客戶計(jì)算機(jī)。
遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的基本架構(gòu)如圖1所示。
遠(yuǎn)端技術(shù)服務(wù)中心作為客戶端,它主要是用于和監(jiān)控用戶的交互,從網(wǎng)絡(luò)中得到實(shí)驗(yàn)室端設(shè)備運(yùn)行采集到的實(shí)驗(yàn)數(shù)據(jù),并將其傳遞給用戶進(jìn)行分析和處理,其分析結(jié)果、控制信息和數(shù)據(jù)信息,通過網(wǎng)絡(luò)傳遞到實(shí)驗(yàn)室端(即服務(wù)器)進(jìn)行執(zhí)行。
以實(shí)驗(yàn)室端的控制器作為服務(wù)器。一方面,它通過本身的串口與下位機(jī)進(jìn)行通信,來控制實(shí)驗(yàn)設(shè)備的運(yùn)行及控制電壓等分點(diǎn)的選擇;另一方面,它能夠通過網(wǎng)絡(luò)傳送實(shí)驗(yàn)設(shè)備運(yùn)行中采集到的數(shù)據(jù)信息(如電壓等勢(shì)點(diǎn)所在位置的坐標(biāo)值)和控制信息(如控制實(shí)驗(yàn)設(shè)備運(yùn)行的參數(shù)及設(shè)備運(yùn)動(dòng)的方向、及精度)。當(dāng)開啟遠(yuǎn)程控制時(shí),服務(wù)器能夠根據(jù)客戶端的要求采集實(shí)驗(yàn)數(shù)據(jù)并通過網(wǎng)絡(luò)向其發(fā)送。另外,在本系統(tǒng)中,采用了VC++與MA~AB混合編程,用于指針式儀表圖像的處理與識(shí)別,對(duì)原有人工操作的實(shí)驗(yàn)設(shè)備進(jìn)行了改進(jìn),改進(jìn)以后的實(shí)驗(yàn)設(shè)備實(shí)現(xiàn)了采集實(shí)驗(yàn)數(shù)據(jù)的自動(dòng)化。
2 系統(tǒng)具體設(shè)計(jì)實(shí)現(xiàn)方案
實(shí)驗(yàn)室內(nèi)服務(wù)器控制結(jié)構(gòu)如圖2所示。
控制服務(wù)器的主要功能模塊如下:
一是控制模塊。控制視頻流中對(duì)單幀圖像的捕獲,控制與下位機(jī)、遠(yuǎn)程客戶端發(fā)送數(shù)據(jù)與接收合符實(shí)驗(yàn)要求的數(shù)據(jù)。
二是實(shí)時(shí)通信模塊。建立與遠(yuǎn)程客戶端的通信、與下位機(jī)(單片機(jī))的實(shí)時(shí)通信控制。
三是視頻圖像采集模塊。通過USB攝像頭采集儀表視頻流及對(duì)單幀圖像進(jìn)行捕獲。
四是指針式儀表圖像處理與識(shí)別模塊。將采集到的單幀儀表圖像載人MATLAB進(jìn)行圖像的處理與識(shí)別,對(duì)儀表指針的讀數(shù)進(jìn)行識(shí)別,并返回當(dāng)前指針儀表的數(shù)值。
遠(yuǎn)程終端主要是一臺(tái)安裝了遠(yuǎn)程控制程序的計(jì)算機(jī)。用戶通過程序登陸,與現(xiàn)場(chǎng)服務(wù)器建立連接后,即可選擇各種實(shí)驗(yàn),進(jìn)行實(shí)驗(yàn)操作。同時(shí)客戶端計(jì)算機(jī)記錄下遠(yuǎn)程對(duì)象的各種數(shù)據(jù),比如測(cè)量值、數(shù)據(jù)坐標(biāo)值等。
二、實(shí)驗(yàn)設(shè)備遠(yuǎn)程控制的實(shí)現(xiàn)和設(shè)計(jì)
1 遠(yuǎn)程控制的實(shí)現(xiàn)
本系統(tǒng)中,實(shí)驗(yàn)設(shè)備的控制與遠(yuǎn)程發(fā)布是在VC++環(huán)境下編程實(shí)現(xiàn),在控制服務(wù)器端通過RS-232串口控制下位機(jī)控制器從而控制實(shí)驗(yàn)設(shè)備的運(yùn)行與采集數(shù)據(jù)。
下位機(jī)控制器主要實(shí)現(xiàn)的功能是:?jiǎn)纹瑱C(jī)通過RS-232接口電路與實(shí)驗(yàn)室中的服務(wù)器通信,接收服務(wù)器的控制命令并發(fā)送狀態(tài)信息,從而實(shí)現(xiàn)遠(yuǎn)程控制。單片機(jī)根據(jù)接收到的命令,判別該命令是控制選擇電壓等分點(diǎn)還是控制步進(jìn)電機(jī)命令,若是選擇電壓等分點(diǎn)命令,則通過單片機(jī)的P3口控制多路開關(guān)選擇電壓等分點(diǎn);若是控制步進(jìn)電機(jī)命令,則通過單片機(jī)的P2口控制步進(jìn)電機(jī)的運(yùn)動(dòng)。
第一,單片機(jī)控制部分。采用51系列單片機(jī)。一方面,單片機(jī)利用SCI串行口,經(jīng)Rs-232接口電路,通過Rs-232與Pc機(jī)進(jìn)行通信,接收控制命令并傳送數(shù)據(jù);另一方面,單片機(jī)通過I/O口控制其他的電壓等分點(diǎn)選擇電路和步進(jìn)電機(jī)驅(qū)動(dòng)電路,根據(jù)控制命令選擇電路、設(shè)置參數(shù)。此外,單片機(jī)還要向服務(wù)器發(fā)送合符實(shí)驗(yàn)要求的坐標(biāo)值。
第二。RS一232串口通信接口電路。采用Max232芯片,Max232是一個(gè)低電源收發(fā)器,適用于RS-232。
第三,電壓等分點(diǎn)選擇控制電路。采用CD4051芯片,通過該多路開關(guān)芯片可以對(duì)電壓等分器的8個(gè)等分點(diǎn)進(jìn)行選擇。該芯片的A、B、C和INT四個(gè)引腳與單片機(jī)的P2.0-P2.3口線連接,可對(duì)電壓等分器的8個(gè)等分點(diǎn)進(jìn)行選擇。對(duì)原有的手工選擇電壓等分點(diǎn)的操作方式進(jìn)行了改進(jìn),實(shí)現(xiàn)了自動(dòng)改換等勢(shì)點(diǎn)的功能。
第四,步進(jìn)電機(jī)驅(qū)動(dòng)放大電路。在該電路中,采用光耦隔離器件TP521對(duì)數(shù)字電路與模擬電路進(jìn)行隔離,以免造成對(duì)單片機(jī)數(shù)字電路的干擾;在放大部分,采用兩個(gè)三極管構(gòu)成達(dá)林頓管進(jìn)行電流的放大。 在原有的手工移動(dòng)探針的實(shí)驗(yàn)設(shè)備上,對(duì)其加以改進(jìn),采用步進(jìn)電機(jī)控制絲桿轉(zhuǎn)動(dòng),實(shí)現(xiàn)探針在服務(wù)器端的控制下自動(dòng)沿x軸、Y軸運(yùn)動(dòng),對(duì)靜電場(chǎng)中的每一個(gè)點(diǎn)進(jìn)行掃描。
2 遠(yuǎn)程控制程序設(shè)計(jì)
遠(yuǎn)程控制系統(tǒng)程序流程圖如圖4所示。 本系統(tǒng)采用VC++調(diào)用Winsock控件編寫TCP/IP通信程序。之所以選擇TCP是因?yàn)樗且环N基于連接的協(xié)議,在數(shù)據(jù)傳輸時(shí)會(huì)先行建立連接,通過連接可確保文件傳輸?shù)恼_性;UDP則是一種無連接的協(xié)議,它在傳輸數(shù)據(jù)時(shí)不會(huì)確保傳輸端的文件能否正確無誤地傳送到接收端,故沒有采用UDP協(xié)議,而是采用的是TCP協(xié)議。
三、結(jié)束語
設(shè)計(jì)了基于C/s模式,并以winsock控件為基礎(chǔ)的遠(yuǎn)程實(shí)驗(yàn)控制系統(tǒng),完成開發(fā)了客戶端和控制服務(wù)器端軟件系統(tǒng)。通過網(wǎng)絡(luò)可以遠(yuǎn)程控制實(shí)驗(yàn)室的實(shí)驗(yàn)設(shè)備,完成實(shí)驗(yàn)。在該過程中的某些思想和方法也可以應(yīng)用到其他各種遠(yuǎn)程實(shí)驗(yàn)平臺(tái)建設(shè)中,具有一定的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]于海生,微型計(jì)算機(jī)控制技術(shù)[M].北京:清華大學(xué)出版社,1998.103—118
[2]李朝青,PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[M].北京:北京航空航天大學(xué)出版社,2000.153—165
[3]汪翔,袁輝,Visual c++實(shí)踐與提高——網(wǎng)絡(luò)編程篇[M].北京:中國鐵道出版社,2001.78—90
(文字編輯、責(zé)任校對(duì):王麗華)