摘 要:隨著計算機和遠程通訊為代表的信息技術的飛速發合廣泛應用,使遠程測控實驗成為當前實驗改革的一個熱點。文章提出了一種基于客戶/服務器模式的遠程實驗系統,闡述了其體系結構及各個部分功能,并開發了基于TCP/IP協議的遠程通信實用程序。
關鍵詞:測控技術 遠程實驗系統 實驗系統設計 遠程控制 TCP/IP客戶/服務器
中圖分類號:G642.0 文獻標識碼:A
教學活動中,實驗是一個不可缺少的環節,尤其是理工科的教學實踐活動。對于許多實踐性較強的學科,比如物理、控制學、計算機硬件、電路原理、電子線路等,實驗起到了重要的作用。實驗是學生學習知識參與實踐的必須項目,傳統的實驗方式要求學生必須到實驗室且必須一人一臺儀器,而且只能在規定的時間進行實驗,設備利用效率低。但在遠程控制實驗系統中,學生可以不用到實驗室做實驗,利用校園網就可以在任何時候參加實驗,設備利用率高,因此遠程實驗系統的建立是很必要的。
本課題研究的內容是設計一個基于以太網采用C/S模式的遠程控制實物實驗平臺,并將該實驗平臺應用于遠程實際進行操作“模擬法測繪靜電場”的實驗。
一、系統設計實施方案
1 系統總體方案
本系統的總體設計方案是:設計一個基于以太網采用C/S模式的遠程實驗網絡控制系統,實現異地計算機控制本地實驗設備運動,處理識別儀表指針讀數,采集實驗數據,并能及時地調整實驗參數。它以TCP/IP協議為網絡基礎,采用Client/Server的工作模式。以達到充分利用實驗設備的目的。

用戶進行實驗的時候,在遠程的某終端PC登陸成功后,即可與現場的服務器計算機建立連接。服務器根據用戶的指令對控制對象進行控制,同時將現場的信息再通過網絡傳給客戶計算機。
遠程實驗系統的基本架構如圖1所示。
遠端技術服務中心作為客戶端,它主要是用于和監控用戶的交互,從網絡中得到實驗室端設備運行采集到的實驗數據,并將其傳遞給用戶進行分析和處理,其分析結果、控制信息和數據信息,通過網絡傳遞到實驗室端(即服務器)進行執行。
以實驗室端的控制器作為服務器。一方面,它通過本身的串口與下位機進行通信,來控制實驗設備的運行及控制電壓等分點的選擇;另一方面,它能夠通過網絡傳送實驗設備運行中采集到的數據信息(如電壓等勢點所在位置的坐標值)和控制信息(如控制實驗設備運行的參數及設備運動的方向、及精度)。當開啟遠程控制時,服務器能夠根據客戶端的要求采集實驗數據并通過網絡向其發送。另外,在本系統中,采用了VC++與MA~AB混合編程,用于指針式儀表圖像的處理與識別,對原有人工操作的實驗設備進行了改進,改進以后的實驗設備實現了采集實驗數據的自動化。

2 系統具體設計實現方案
實驗室內服務器控制結構如圖2所示。
控制服務器的主要功能模塊如下:
一是控制模塊。控制視頻流中對單幀圖像的捕獲,控制與下位機、遠程客戶端發送數據與接收合符實驗要求的數據。
二是實時通信模塊。建立與遠程客戶端的通信、與下位機(單片機)的實時通信控制。
三是視頻圖像采集模塊。通過USB攝像頭采集儀表視頻流及對單幀圖像進行捕獲。
四是指針式儀表圖像處理與識別模塊。將采集到的單幀儀表圖像載人MATLAB進行圖像的處理與識別,對儀表指針的讀數進行識別,并返回當前指針儀表的數值。
遠程終端主要是一臺安裝了遠程控制程序的計算機。用戶通過程序登陸,與現場服務器建立連接后,即可選擇各種實驗,進行實驗操作。同時客戶端計算機記錄下遠程對象的各種數據,比如測量值、數據坐標值等。
二、實驗設備遠程控制的實現和設計
1 遠程控制的實現
本系統中,實驗設備的控制與遠程發布是在VC++環境下編程實現,在控制服務器端通過RS-232串口控制下位機控制器從而控制實驗設備的運行與采集數據。

下位機控制器主要實現的功能是:單片機通過RS-232接口電路與實驗室中的服務器通信,接收服務器的控制命令并發送狀態信息,從而實現遠程控制。單片機根據接收到的命令,判別該命令是控制選擇電壓等分點還是控制步進電機命令,若是選擇電壓等分點命令,則通過單片機的P3口控制多路開關選擇電壓等分點;若是控制步進電機命令,則通過單片機的P2口控制步進電機的運動。
第一,單片機控制部分。采用51系列單片機。一方面,單片機利用SCI串行口,經Rs-232接口電路,通過Rs-232與Pc機進行通信,接收控制命令并傳送數據;另一方面,單片機通過I/O口控制其他的電壓等分點選擇電路和步進電機驅動電路,根據控制命令選擇電路、設置參數。此外,單片機還要向服務器發送合符實驗要求的坐標值。
第二。RS一232串口通信接口電路。采用Max232芯片,Max232是一個低電源收發器,適用于RS-232。
第三,電壓等分點選擇控制電路。采用CD4051芯片,通過該多路開關芯片可以對電壓等分器的8個等分點進行選擇。該芯片的A、B、C和INT四個引腳與單片機的P2.0-P2.3口線連接,可對電壓等分器的8個等分點進行選擇。對原有的手工選擇電壓等分點的操作方式進行了改進,實現了自動改換等勢點的功能。

第四,步進電機驅動放大電路。在該電路中,采用光耦隔離器件TP521對數字電路與模擬電路進行隔離,以免造成對單片機數字電路的干擾;在放大部分,采用兩個三極管構成達林頓管進行電流的放大。 在原有的手工移動探針的實驗設備上,對其加以改進,采用步進電機控制絲桿轉動,實現探針在服務器端的控制下自動沿x軸、Y軸運動,對靜電場中的每一個點進行掃描。
2 遠程控制程序設計
遠程控制系統程序流程圖如圖4所示。 本系統采用VC++調用Winsock控件編寫TCP/IP通信程序。之所以選擇TCP是因為它是一種基于連接的協議,在數據傳輸時會先行建立連接,通過連接可確保文件傳輸的正確性;UDP則是一種無連接的協議,它在傳輸數據時不會確保傳輸端的文件能否正確無誤地傳送到接收端,故沒有采用UDP協議,而是采用的是TCP協議。
三、結束語
設計了基于C/s模式,并以winsock控件為基礎的遠程實驗控制系統,完成開發了客戶端和控制服務器端軟件系統。通過網絡可以遠程控制實驗室的實驗設備,完成實驗。在該過程中的某些思想和方法也可以應用到其他各種遠程實驗平臺建設中,具有一定的應用價值。
參考文獻
[1]于海生,微型計算機控制技術[M].北京:清華大學出版社,1998.103—118
[2]李朝青,PC機及單片機數據通信技術[M].北京:北京航空航天大學出版社,2000.153—165
[3]汪翔,袁輝,Visual c++實踐與提高——網絡編程篇[M].北京:中國鐵道出版社,2001.78—90
(文字編輯、責任校對:王麗華)