張婧婧
(襄樊學(xué)院 物理與電子工程學(xué)院,湖北 襄樊 441053)
基于Web和MATLAB的控制系統(tǒng)虛擬實驗室的研究與實現(xiàn)
張婧婧
(襄樊學(xué)院 物理與電子工程學(xué)院,湖北 襄樊 441053)
使用HTML語言設(shè)計網(wǎng)絡(luò)虛擬實驗室網(wǎng)站,用Matlab編寫仿真程序,使Matlab Web Server組件實現(xiàn)與Web服務(wù)器的動態(tài)交互,可進(jìn)行《控制工程基礎(chǔ)》課程的網(wǎng)絡(luò)虛擬實驗.
虛擬實驗室;網(wǎng)絡(luò)虛擬實驗室;動態(tài)交互;MATLAB Web server
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,基于 B/S(瀏覽器/服務(wù)器)的計算模式已經(jīng)成為當(dāng)前發(fā)展的主流. 如何通過Internet讓更多的人體驗到這種最新的學(xué)習(xí)和計算模式就成了一個急待解決的問題. 許多專家在基于 Web的系統(tǒng)設(shè)計方面進(jìn)行了相關(guān)研究,提出了許多成功的應(yīng)用實例[1-3].
MATLAB是科學(xué)技術(shù)領(lǐng)域應(yīng)用很廣的工具軟件,利用它工程人員只需通過簡單編程就可以實現(xiàn)對系統(tǒng)的計算和仿真. 因此,將MATLAB強(qiáng)大的數(shù)值計算能力和Web技術(shù)結(jié)合起來,設(shè)計基于Web的系統(tǒng)分析和應(yīng)用程序設(shè)計也得到人們的重視,這些研究大多側(cè)重于對信號的遠(yuǎn)程分析和數(shù)據(jù)處理[4]. 針對控制系統(tǒng)網(wǎng)絡(luò)虛擬實驗室的開發(fā),筆者提出一種基于Web和MATLAB的設(shè)計方法.
網(wǎng)絡(luò)實驗室可以分為網(wǎng)絡(luò)虛擬實驗室和遠(yuǎn)程實驗室兩大類. 本文所要實現(xiàn)的是網(wǎng)絡(luò)虛擬實驗室. 即基于計算的實驗方法,所需信號源、控制器、對象、多通道數(shù)字存儲示波器以及動態(tài)趨勢分析儀等均用軟件設(shè)計實現(xiàn),可進(jìn)行動態(tài)分析及參數(shù)優(yōu)化. 僅用專用服務(wù)器即可完成實驗,不用外接任何硬件設(shè)備(有些實驗所使用的設(shè)備數(shù)量少而且價格昂貴,如果有需要可以在此基礎(chǔ)上再開發(fā)遠(yuǎn)程控制實驗室,那么學(xué)生就可以不局限于時間和地點直接使用大型精密儀器做實驗了).
依照系統(tǒng)的功能需求控制系統(tǒng)虛擬實驗可以劃分為兩大部分:系統(tǒng)的分析(時域分析、頻域分析、穩(wěn)定性分析等)和系統(tǒng)的設(shè)計(超前校正設(shè)計、滯后校正設(shè)計、滯后——超前校正設(shè)計等).
系統(tǒng)的每個功能都由Web頁面來實現(xiàn). 用戶只需在客戶端輸入相應(yīng)的控制參數(shù),就可以通過Web頁面的提交來調(diào)用服務(wù)器端的MATLAB進(jìn)程,進(jìn)行相應(yīng)的計算和仿真. 最后,用戶可以從返回的頁而上查看運行的結(jié)果. 為了便于用戶的使用,在每個頁面上都給出相應(yīng)的操作提示. 這樣,無需額外的幫助文件,就可以使用戶很容易地使用該系統(tǒng). 該系統(tǒng)具有以下特點:1)客戶端無需安裝MATLAB軟件,只需利用Web瀏覽器就可進(jìn)行控制系統(tǒng)的遠(yuǎn)程仿真與設(shè)計;2)所有的運算操作都在服務(wù)器端完成,MATLAB Web服務(wù)器與Web服務(wù)器可以在同一臺主機(jī)上也可以在不同的主機(jī)上;3)由于系統(tǒng)是開放的,所以系統(tǒng)可以根據(jù)需要靈活地添加相應(yīng)的功能.
2.1 網(wǎng)絡(luò)虛擬實驗室體系結(jié)構(gòu)
本文提出的系統(tǒng)硬件結(jié)構(gòu)可分為遠(yuǎn)程客戶端、通訊網(wǎng)絡(luò)和本地服務(wù)器三個層次.
瀏覽器/服務(wù)器模式(如圖1所示)是以Web技術(shù)為基礎(chǔ),以Web瀏覽器代替了普通客戶端的應(yīng)用程序,它主要是基于HTTP通訊協(xié)議的. 它以每個操作系統(tǒng)自帶的瀏覽器作為客戶端. 因為該類型的系統(tǒng)在需要升級時,只需要在服務(wù)器上進(jìn)行更新,所以極大地簡化了客戶端程序的安裝、維護(hù)等系統(tǒng)升級工作量. 此外,基于網(wǎng)頁技術(shù)的界面可以做得非常美觀,可以在其中嵌入插件(如Java Applet,Cosmo player,ActiveX,F(xiàn)lash等),通過文本、聲音和動畫等多媒體技術(shù)實現(xiàn)動態(tài)交互.
圖1瀏覽器/服務(wù)器結(jié)構(gòu)模式
C/S系統(tǒng)涉及到的通訊數(shù)據(jù)量少,所以相對來說通訊速度比較快,網(wǎng)絡(luò)負(fù)荷小(如ERP財務(wù)軟件). 然而,由于C/S結(jié)構(gòu)軟件的數(shù)據(jù)分布特性,有些時候必須在不同地方安裝多個服務(wù)器,所以,該類型系統(tǒng)在數(shù)據(jù)安全性、一致性、實時性等方面都受到一定的影響. C/S結(jié)構(gòu)不適合很多用戶訪問情況下的系統(tǒng)(當(dāng)用戶量增多時,系統(tǒng)性能會明顯下降),一般只局限于局域網(wǎng)內(nèi)或?qū)拵в脩? B/S結(jié)構(gòu)則不同,它將數(shù)據(jù)集中存放于總部的數(shù)據(jù)庫服務(wù)器內(nèi),所以就不涉及數(shù)據(jù)同步帶來的問題. 其次,它能適用于任何網(wǎng)絡(luò)(包括撥號入網(wǎng)). 此外,B/S結(jié)構(gòu)在代碼重用性、系統(tǒng)維護(hù)和升級等方面都比C/S更有優(yōu)越性.
網(wǎng)絡(luò)虛擬實驗室在設(shè)計上要求能讓大多數(shù)人都方便用上該系統(tǒng). 采用訪問網(wǎng)站的形式讓用戶做實驗是更好的選擇. 其次,由于實驗內(nèi)容的項目不斷更新. 當(dāng)教學(xué)大綱進(jìn)行修改后,實驗內(nèi)容也會進(jìn)行修正. 考慮到B/S模式的可維護(hù)性、靈活性和可擴(kuò)展性等優(yōu)點,本文采用了基于Web的B/S模式.
2.2 網(wǎng)絡(luò)虛擬實驗室的軟硬件要求
該系統(tǒng)的Web服務(wù)器可以和MATLAB Web服務(wù)器在同一臺主機(jī)上,可以分別在不同的主機(jī)上. 考慮到配置服務(wù)器和調(diào)試系統(tǒng)便利,把Web服務(wù)器和MATLAB Web服務(wù)器放置在一臺主機(jī)上,在此種情況下,系統(tǒng)的服務(wù)器最低配置要求如下:
CPU:主頻1.6G;內(nèi)存:512MB DDR;顯卡:顯存128M;網(wǎng)卡:10/100M自適應(yīng)網(wǎng)卡;硬盤:80G;軟件:winXP professional+IIS5.0+MATLAB6.0(Simulink +Web server)+MS SQL Server 2000
2.3 網(wǎng)絡(luò)虛擬實驗室的實現(xiàn)方案
使用HTML語言或者一些專門的網(wǎng)頁創(chuàng)建工具(如FrontPage、Dreamweaver等)構(gòu)建虛擬實驗室的門戶網(wǎng)站,用戶可以通過Internet訪問虛擬實驗室系統(tǒng). 使用MATLAB提供的圖形化的用戶仿真工具Simulink完成數(shù)學(xué)建模、系統(tǒng)仿真和分析等Web服務(wù)器的計算工作. 使用MATLAB6.0以后的版本提供的MATLAB Web Server組件實現(xiàn)與Web服務(wù)器進(jìn)行動態(tài)交互.
用戶在客戶端的Web界面直接輸入數(shù)據(jù),數(shù)據(jù)通過網(wǎng)絡(luò)提交給Web服務(wù)器上的MATLAB應(yīng)用程序,用Matlab.m處理HTML文檔中隱藏字段mlmfile 所指定的M文件,在HTML文件、MATLAB和M文件之間建立聯(lián)系. 經(jīng)其處理后的結(jié)果再以數(shù)據(jù)或圖片的形式在用戶端的 Web瀏覽器中顯示,從而達(dá)到通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程開放性和交互性實驗的目的. 其工作原理如圖2所示.
2.4 系統(tǒng)服務(wù)器端的配置
2.4.1 MATLAB Web Server配置文件
開發(fā)一個MATLAB Web Server 應(yīng)用程序,首先必須建立站點根目錄,在該根目錄下,需要配置以下文件:matlabserver.conf 和matweb.conf 文件.
matlabserver.conf 文件的內(nèi)容設(shè)置如下:-m 1 -p 80
其中,參數(shù)m表示允許同時運行的MATLAB進(jìn)程數(shù),默認(rèn)值為1;參數(shù)p 表示端口號,默認(rèn)值為80,本文中對此文件內(nèi)容的設(shè)置均采用默認(rèn)值.
matweb.conf 文件的內(nèi)容設(shè)置如下:[MATLAB應(yīng)用程序名];mlserver=[主機(jī)名或IP];mldir=站點根目錄
此文件的作用相當(dāng)于程序調(diào)用接口,它能使用戶通過網(wǎng)絡(luò)準(zhǔn)確地調(diào)用你的MATLAB應(yīng)用程序進(jìn)行計算.每增加一個MATLAB Web Server 應(yīng)用程序,該文件里就相應(yīng)地增加一項配置.
圖2 MATLAB Web Server工作原理圖
2.4.2 IIS配置
在進(jìn)行MATLAB Web Server應(yīng)用程序開發(fā)時,所有的文件均放在根目錄“
所有的文件配置完畢后,需要對IIS屬性[5]進(jìn)行設(shè)置,打開IIS管理器中“默認(rèn)網(wǎng)站”,在“屬性”對話框中IP 地址欄里輸入你的主機(jī)IP地址,并將網(wǎng)站首頁設(shè)為“默認(rèn)網(wǎng)站”.
在對MATLAB web的配置完成以后,即可以開發(fā)具體的網(wǎng)絡(luò)應(yīng)用,它是通過結(jié)合MATLAB的M文件、超文本標(biāo)記語言(HTML)和圖形來實現(xiàn)的,具體包括:
下面通過一個實例說明MATLAB仿真實驗的實現(xiàn)過程:
1) 建立HTML輸入頁,接收用戶端數(shù)據(jù)輸入的HTML文件,主要代碼如下:
2) MATLAB應(yīng)用程序,用來生成需要的圖形和數(shù)據(jù),主要代碼如下;
3) 建立HTML輸出頁,顯示輸出結(jié)果數(shù)據(jù)的HTML文件,主要代碼如下:
最后,在瀏覽器中可以根據(jù)輸入的比例系數(shù)看到經(jīng)過MATLAB計算后顯示出來的圖形(見圖4).
圖 3 輸入系數(shù)的界面
圖 4 輸出響應(yīng)圖線
該方法使用MATLAB Web server可以根據(jù)瀏覽器傳送過來的參數(shù),利用MATLAB進(jìn)行虛擬實驗,最后將結(jié)果傳送回客戶端在瀏覽器里顯示出來. 它降低了用戶端系統(tǒng)對軟件環(huán)境的要求,提高了學(xué)習(xí)者的效率,比較適合用于網(wǎng)絡(luò)虛擬實驗室的實現(xiàn),值得使用和推廣.
[1] YIN G F, TIAN G Y, TAYLOR D. A Web-based Remote Cooperative Design for Spatial CAM Mechanisms[J]. Advanced Manufacturing Technology, 2002, 20: 557-563.
[2] HAILHAM M S LAHABIDI, CHRISTOPHER G J BAKER. Web-based expert system for food dryer selection[J]. Computers & Chemical Engineering, 2003, 27(7): 997-1009.
[3] ZENG JIAN-JIANG, CHEN WEN-LIANG, DING QIU-TING. A web-based CAD system[J]. Journal of Materials Processing Technology, 2003, 139: 229-232.
[4] 李偉紅, 龔衛(wèi)國, 秦 嵐, 等. 基于Matlab和Web技術(shù)的遠(yuǎn)程數(shù)據(jù)處理方法[J]. 測控技術(shù), 2004, 4: 23- 25.
[5] ZHAO AI PING, YU LIE, XIE YOU BAI. Matlab web server and its application in remote collaborative design of magnetic bearing systems[J]. Chinese Journal of Mechanical Engineering, 2001, 14(2): 179-183.
Control System Virtual Laboratory Based on Web and MATLAB
ZHANG Jing-jing
(School of Physics and Electronic Engineering, Xiangfan University, Xiangfan 441053, China)
to design a website for networking virtual laboratory with HTML, to program a simulation procedure with Matlab, in order to realize dynamic interaction between Matlab Web Server components and Web server. Then networking virtual experiments for Fundamentals of Control Engineering can come into effect.
Virtual Laboratory; Networking Virtual Laboratory; Dynamic Interaction; MATLAB Web server
TP391.9
A
1009-2854(2010)05-0061-03
2010-03-24;
2010-04-22
張婧婧(1980— ), 女, 湖北襄樊人, 襄樊學(xué)院物理與電子工程學(xué)院助教.
饒 超)