张婧婧
(襄樊学院 物理与电子工程学院,湖北 襄樊 441053)
基于Web和MATLAB的控制系统虚拟实验室的研究与实现
张婧婧
(襄樊学院 物理与电子工程学院,湖北 襄樊 441053)
使用HTML语言设计网络虚拟实验室网站,用Matlab编写仿真程序,使Matlab Web Server组件实现与Web服务器的动态交互,可进行《控制工程基础》课程的网络虚拟实验.
虚拟实验室;网络虚拟实验室;动态交互;MATLAB Web server
随着网络技术的发展,基于 B/S(浏览器/服务器)的计算模式已经成为当前发展的主流. 如何通过Internet让更多的人体验到这种最新的学习和计算模式就成了一个急待解决的问题. 许多专家在基于 Web的系统设计方面进行了相关研究,提出了许多成功的应用实例[1-3].
MATLAB是科学技术领域应用很广的工具软件,利用它工程人员只需通过简单编程就可以实现对系统的计算和仿真. 因此,将MATLAB强大的数值计算能力和Web技术结合起来,设计基于Web的系统分析和应用程序设计也得到人们的重视,这些研究大多侧重于对信号的远程分析和数据处理[4]. 针对控制系统网络虚拟实验室的开发,笔者提出一种基于Web和MATLAB的设计方法.
网络实验室可以分为网络虚拟实验室和远程实验室两大类. 本文所要实现的是网络虚拟实验室. 即基于计算的实验方法,所需信号源、控制器、对象、多通道数字存储示波器以及动态趋势分析仪等均用软件设计实现,可进行动态分析及参数优化. 仅用专用服务器即可完成实验,不用外接任何硬件设备(有些实验所使用的设备数量少而且价格昂贵,如果有需要可以在此基础上再开发远程控制实验室,那么学生就可以不局限于时间和地点直接使用大型精密仪器做实验了).
依照系统的功能需求控制系统虚拟实验可以划分为两大部分:系统的分析(时域分析、频域分析、稳定性分析等)和系统的设计(超前校正设计、滞后校正设计、滞后——超前校正设计等).
系统的每个功能都由Web页面来实现. 用户只需在客户端输入相应的控制参数,就可以通过Web页面的提交来调用服务器端的MATLAB进程,进行相应的计算和仿真. 最后,用户可以从返回的页而上查看运行的结果. 为了便于用户的使用,在每个页面上都给出相应的操作提示. 这样,无需额外的帮助文件,就可以使用户很容易地使用该系统. 该系统具有以下特点:1)客户端无需安装MATLAB软件,只需利用Web浏览器就可进行控制系统的远程仿真与设计;2)所有的运算操作都在服务器端完成,MATLAB Web服务器与Web服务器可以在同一台主机上也可以在不同的主机上;3)由于系统是开放的,所以系统可以根据需要灵活地添加相应的功能.
2.1 网络虚拟实验室体系结构
本文提出的系统硬件结构可分为远程客户端、通讯网络和本地服务器三个层次.
浏览器/服务器模式(如图1所示)是以Web技术为基础,以Web浏览器代替了普通客户端的应用程序,它主要是基于HTTP通讯协议的. 它以每个操作系统自带的浏览器作为客户端. 因为该类型的系统在需要升级时,只需要在服务器上进行更新,所以极大地简化了客户端程序的安装、维护等系统升级工作量. 此外,基于网页技术的界面可以做得非常美观,可以在其中嵌入插件(如Java Applet,Cosmo player,ActiveX,Flash等),通过文本、声音和动画等多媒体技术实现动态交互.
图1浏览器/服务器结构模式
C/S系统涉及到的通讯数据量少,所以相对来说通讯速度比较快,网络负荷小(如ERP财务软件). 然而,由于C/S结构软件的数据分布特性,有些时候必须在不同地方安装多个服务器,所以,该类型系统在数据安全性、一致性、实时性等方面都受到一定的影响. C/S结构不适合很多用户访问情况下的系统(当用户量增多时,系统性能会明显下降),一般只局限于局域网内或宽带用户. B/S结构则不同,它将数据集中存放于总部的数据库服务器内,所以就不涉及数据同步带来的问题. 其次,它能适用于任何网络(包括拨号入网). 此外,B/S结构在代码重用性、系统维护和升级等方面都比C/S更有优越性.
网络虚拟实验室在设计上要求能让大多数人都方便用上该系统. 采用访问网站的形式让用户做实验是更好的选择. 其次,由于实验内容的项目不断更新. 当教学大纲进行修改后,实验内容也会进行修正. 考虑到B/S模式的可维护性、灵活性和可扩展性等优点,本文采用了基于Web的B/S模式.
2.2 网络虚拟实验室的软硬件要求
该系统的Web服务器可以和MATLAB Web服务器在同一台主机上,可以分别在不同的主机上. 考虑到配置服务器和调试系统便利,把Web服务器和MATLAB Web服务器放置在一台主机上,在此种情况下,系统的服务器最低配置要求如下:
CPU:主频1.6G;内存:512MB DDR;显卡:显存128M;网卡:10/100M自适应网卡;硬盘:80G;软件:winXP professional+IIS5.0+MATLAB6.0(Simulink +Web server)+MS SQL Server 2000
2.3 网络虚拟实验室的实现方案
使用HTML语言或者一些专门的网页创建工具(如FrontPage、Dreamweaver等)构建虚拟实验室的门户网站,用户可以通过Internet访问虚拟实验室系统. 使用MATLAB提供的图形化的用户仿真工具Simulink完成数学建模、系统仿真和分析等Web服务器的计算工作. 使用MATLAB6.0以后的版本提供的MATLAB Web Server组件实现与Web服务器进行动态交互.
用户在客户端的Web界面直接输入数据,数据通过网络提交给Web服务器上的MATLAB应用程序,用Matlab.m处理HTML文档中隐藏字段mlmfile 所指定的M文件,在HTML文件、MATLAB和M文件之间建立联系. 经其处理后的结果再以数据或图片的形式在用户端的 Web浏览器中显示,从而达到通过网络进行远程开放性和交互性实验的目的. 其工作原理如图2所示.
2.4 系统服务器端的配置
2.4.1 MATLAB Web Server配置文件
开发一个MATLAB Web Server 应用程序,首先必须建立站点根目录,在该根目录下,需要配置以下文件:matlabserver.conf 和matweb.conf 文件.
matlabserver.conf 文件的内容设置如下:-m 1 -p 80
其中,参数m表示允许同时运行的MATLAB进程数,默认值为1;参数p 表示端口号,默认值为80,本文中对此文件内容的设置均采用默认值.
matweb.conf 文件的内容设置如下:[MATLAB应用程序名];mlserver=[主机名或IP];mldir=站点根目录
此文件的作用相当于程序调用接口,它能使用户通过网络准确地调用你的MATLAB应用程序进行计算.每增加一个MATLAB Web Server 应用程序,该文件里就相应地增加一项配置.
图2 MATLAB Web Server工作原理图
2.4.2 IIS配置
在进行MATLAB Web Server应用程序开发时,所有的文件均放在根目录“
所有的文件配置完毕后,需要对IIS属性[5]进行设置,打开IIS管理器中“默认网站”,在“属性”对话框中IP 地址栏里输入你的主机IP地址,并将网站首页设为“默认网站”.
在对MATLAB web的配置完成以后,即可以开发具体的网络应用,它是通过结合MATLAB的M文件、超文本标记语言(HTML)和图形来实现的,具体包括:
下面通过一个实例说明MATLAB仿真实验的实现过程:
1) 建立HTML输入页,接收用户端数据输入的HTML文件,主要代码如下:
2) MATLAB应用程序,用来生成需要的图形和数据,主要代码如下;
3) 建立HTML输出页,显示输出结果数据的HTML文件,主要代码如下:
最后,在浏览器中可以根据输入的比例系数看到经过MATLAB计算后显示出来的图形(见图4).
图 3 输入系数的界面
图 4 输出响应图线
该方法使用MATLAB Web server可以根据浏览器传送过来的参数,利用MATLAB进行虚拟实验,最后将结果传送回客户端在浏览器里显示出来. 它降低了用户端系统对软件环境的要求,提高了学习者的效率,比较适合用于网络虚拟实验室的实现,值得使用和推广.
[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] 李伟红, 龚卫国, 秦 岚, 等. 基于Matlab和Web技术的远程数据处理方法[J]. 测控技术, 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— ), 女, 湖北襄樊人, 襄樊学院物理与电子工程学院助教.
饶 超)