NCSLab: 完全基于Web的网络化控制系统实验室
庞中华1, 2,刘国平3,乔宇亮2
(1. 青岛理工大学 自动化工程学院,山东 青岛,266033;
2. 中国科学院 自动化研究所 复杂系统与智能科学实验室,北京,100190;
3. Faculty of Advanced Technology, University of Glamorgan, Pontypridd CF37 1DL, UK)
摘要:为实现全球范围内实验资源的共享,促进自动控制理论的研究与应用,设计一个基于Web的网络化控制系统实验室NCSLab(Networked control system laboratory, http://www.ncslab.net)。NCSLab采用Web浏览器、中央Web服务器与MATLAB服务器、区域实验服务器、实验台4层体系结构,为远程控制系统和网络化控制系统提供一个完全基于Web的快速设计与实现平台。研究结果表明:用户可不受时间、地点的约束,无需安装任何软件或插件,仅通过Web浏览器即可快速进行控制系统的设计、离线仿真、实时控制以及监控组态、实时监控等工作。
关键词:Web实验室;远程控制;网络化控制
中图分类号:TP273 文献标志码:A 文章编号:1672-7207(2011)04-1005-10
NCSLab: A whole Web-based networked control system laboratory
PANG Zhong-hua1, 2, LIU Guo-ping3, QIAO Yu-liang2
(1. School of Automation Engineering, Qingdao Technological University, Qingdao 266033, China;
2. Lab of Complex Systems and Intelligence Science,
Institute of Automation, Chinese Academy of Sciences, Beijing 100190, China;
3. Faculty of Advanced Technology, University of Glamorgan, Pontypridd CF37 1DL, UK)
Abstract: To share global experimental resources and promote the research and application of automatic control theories, a Web-based networked control system laboratory (NCSLab, http://www.ncslab.net) was developed. A four-layer scalable architecture including Web browsers, a central Web server, a MATLAB server, regional experiment servers and test rigs was adopted by NCSLab. NCSLab provides a completely Web-based platform for the rapid design and implementation of remote control systems and networked control systems. The results show that at any time and from any location, users can rapidly carry out experiments on NCSLab with just a Web browser from control system designing, off-line simulation, real-time control, monitoring configuration, to real-time monitoring and supervisory control, without installing any special software or plug-in on their computers.
Key words: Web-based laboratory; remote control; networked control
实验室作为衔接理论和实践的应用平台,是进行实践教学和科学研究的重要场所,对于创新型人才的培养和科学技术的发展具有重要的意义和作用。自20世纪90年代中期以来,随着计算机技术、网络通讯技术和Web技术的迅速发展,作为真实实验室的有力补充,基于Web的远程实验室[1-4]不断涌现并得到广泛应用。与真实实验室相比,基于Web的远程实验室具有如下优势:(1) 远程实验室可以实现实验设备的共享,提高实验资源的使用效益。目前,全球实验资源存在着这样1对矛盾:一方面,由于各高校、科研机构无统一的协调和管理,贵重实验仪器存在着严重的重复购置、长久闲置不用等现象,使用效益低;另一方面,有些高校和科研机构由于受各种条件(资金、场所等)的限制,无法购置所需要的实验设备,从而无法正常开展相关实验。而若利用远程实验室,通过共享全球实验资源,则可很好地解决上述矛盾。(2) 用户通过远程实验室做实验,可不受时间、地点的约束,如:教师可以在课堂教学时,边传授理论知识边辅以实验演示;学生可以在宿舍、家中甚至途中等场所进行实验;等。目前,已有多种基于Web的远程控制实验室解决方案,但大多数仅针对特定的实验设备,如直流电机[5-6]、倒立摆[7]、机器人[8]、双容水箱[9]等。而且这些实验室一般不允许用户自行设计实验过程、实验算法等,仅可进行验证性实验,从而无法满足设计型和综合型实验的需要。意大利Siena大学开发的远程控制实验室Automatic Control Telelab[10],允许用户设计自己的控制算法,并可在实验过程中修改控制器参数、参考输入等,但在使用时,需要远程用户在浏览器端安装并配置JRE运行环境、安装MATLAB/Simulink软件等,且实时监控功能较弱。远程控制实验室WebLab-Deusto[11]采用“终端客户/主服务器/微服务器/实验设备”的4层分布式结构,便于控制分布在不同地域的实验设备,但WebLab-Deusto允许终端用户访问与设备直接连接的微服务器,从而给设备带来了安全隐患。例如:当过多用户同时访问同一微服务器或者微服务器受到网络攻击时,设备将无法正常运行。为了设计一个完全基于Web的远程控制和网络化控制实验室,共享位于全球各地的自动控制实验装置,中国科学院自动化研究所与英国Glamorgan大学联合开发了网络化控制系统实验室NCSLab(Networked control system laboratory)。NCSLab无需用户安装任何软件或插件,无需学习任何特定的编程语言,仅通过连入因特网中的Web浏览器,即可设计自己的控制算法,并可进行控制系统的离线仿真、远程编译、实时控制以及可视化监控组态、实时监控等。
1 NCSLab体系结构
自2006年NCSLab建立以来,其体系结构经历了如下变革。
(1) NCSLab V1:Web浏览器/主服务器/子服务器/实验台[12];
(2) NCSLab V2:Web浏览器/中央服务器/区域服务器/子服务器/实验台[13];
(3) NCSLab V3,即NCSLab最新版本,采用如图1所示的4层体系结构,自右向左依次为:Web浏览器、中央Web服务器与MATLAB服务器、区域实验服务器、实验台。

图1 NCSLab V3的体系结构
Fig.1 Architecture of NCSLab V3
1.1 Web浏览器
NCSLab采用Web浏览器作为客户端,并利用AJAX和Flash等技术增强用户与Web浏览器、中央Web服务器之间的交互。Web浏览器可以是Windows预装的Internet Explorer,也可以是其他浏览器,如Maxthon浏览器、Firefox浏览器等。Web浏览器通过HTTP协议与中央Web服务器交互,从中下载网页并获取各种动态数据信息,同时也向中央Web服务器提交用户操作的相关信息。
1.2 中央Web服务器
中央Web服务器是NCSLab的门户和核心,它借助MySQL数据库来管理全局资源,如MATLAB服务器、区域实验服务器、实验台等,并通过程序检测这些资源的运行状态。在多个用户同时竞争某一实验设备时,中央Web服务器负责调度这些用户的访问。此外,用户的个性化数据信息(如实验算法、监控组态等)也保存在此服务器中。
1.3 MATLAB服务器
为了实现基于Web的远程仿真和编译,NCSLab设置了MATLAB服务器。MATLAB服务器由MATLAB软件(内嵌Simulink、RTW及相关工具包)、ARM Linux GCC交叉编译器和MatCom通讯程序组成。MatCom接收来自中央Web服务器用户编制的控制框图数据,将其转化为Simulink模型文件(mdl文件);然后,RTW将mdl文件转化为C代码,再由ARM Linux GCC对其进行编译,得到可运行于实验台上的可执行程序;最后,由MatCom将其传送回中央Web服务器。
在MATLAB软件中,除Simulink提供的各种工具箱外,为了配合基本硬件驱动和满足网络化控制系统设计的需要,还嵌入了作者所在小组开发的网络化控制工具箱[12](Networked Control Toolbox)。该工具箱提供了从硬件接口到网络应用的众多模块,可快速完成本地/网络化控制系统的设计和分析,大大缩短了系统开发周期。
1.4 区域实验服务器
与中央Web服务器一样,区域实验服务器也部署在因特网环境下,负责与实验台交互。区域实验服务器接受中央Web服务器的管理,为中央Web服务器提供某一实验台的启动、停止或实验切换等服务。在进行实时控制实验时,程序自动选取最佳区域实验服务器(一般情况下,会选择与实验台在同一区域的实验服务器),由其直接向远程用户提供实时监控服务,这样可以缩短监控数据的传输路径,提高监控的实时性;另外,区域实验服务器的引入,可以避免实验负载过度集中在中央Web服务器上,增强了系统的可扩展性。目前,NCSLab部署了2台区域实验服务器,分别位于英国和中国,如图1所示。
1.5 实验台
实验台由2部分组成:网络化控制器与实验设备。
(1) 网络化控制器。网络化控制器[14]是作者所在小组为NCSLab开发的基于以太网的前端控制器,它采用高性能、低功耗的32位ARM微处理器,运行嵌入式实时操作系统,主要用于控制算法的具体实现。网络化控制器可通过网络接收用户下载的控制算法以及用于修改控制参数的指令等,并将控制对象的运行状态实时上传至区域实验服务器。
网络化控制器采用工业级模块化设计方式,主要包括3类模块:电源模块、主板模块和扩展功能模块(如通用I/O模块、高速测速模块等),各类模块通过EAB总线[14]集成在一起。主板模块主处理器采用AT91RM9200,配有高容量的存储器和其他通用接口,如串口、网线接口、USB接口等。通用I/O模块提供多路标准输入输出接口,如ADC,DAC,DI,DO,PWM和中断输入等;另外,根据具体实验设备的需要,网络化控制器还可扩展其他功能模块,如用于倒立摆控制系统的高速测速模块等。
(2) 实验设备。目前,NCSLab已连入12台实验设备,如伺服控制系统(英国)、磁悬浮系统(英国)、直流电机系统(中国)、液位装置(中国)、球杆系统(中国)、倒立摆系统(中国)等。对于NCSLab来说,只要实验设备可由标准电气信号(电压或电流)驱动,均可通过网络化控制器连入其中。
2 NCSLab设计机理
NCSLab为用户提供了一个完全基于Web的远程控制和网络化控制快速开发方案,仅通过Web浏览器即可完成真实实验室中大部分工作,如控制系统设计、离线仿真、实时控制以及监控组态、实时监控等。下面介绍NCSLab实现这些功能的设计机理。
2.1 基于Web的控制框图设计
NCSLab为连入其中的每台实验设备均配备了演示控制算法,如PID算法、LQG算法等,用户可直接调用这些算法进行相应验证性实验。
同时,NCSLab也允许用户基于Web设计自己的控制算法,该方式称为WebConSim工程,如图2所示。从图2可以看出:WebConSim的界面与Simulink类似。左边为2个模块库,即WebConSim公共模块库和网络化控制模块库。前者为常用模块,类似于Simulink中的公共模块库;后者对应于作者所在小组开发的网络化控制工具箱。鼠标左键单击模块库前的“+”,可展开查看模块库中的模块。左键单击某个模块,可将其放入系统模型中。双击系统模型中的模块,会弹出1个对话框,用于模块参数的设置,如:鼠标左键双击图2中的“Kd”增益模块,则会弹出“Gain Block”对话框,用于增益的设置。在选择好所需模块后,将前一模块的输出与后一模块的输入相连,即可按照系统的信号流程将各模块正确连接起来。可见,在WebConSim中构建控制框图与Simulink类似,操作直观、简便。
WebConSim采用HTML和JavaScript混合编写,用户打开网页即可完成自动加载过程,无需安装任何插件。用户的绘图操作命令(如模块拖入、连线等)由Web浏览器本地运行的JavaScript代码响应。借助JSON(JavaScript Object Notation),JavaScript可以在Web浏览器本地内存中保存数据,这样在控制组态过程中,用户无需通过网络与远程服务器交互,因此,控制框图设计具有很快的响应速度。用户在设计过程中,也可以点击“保存”按钮,将控制框图的JavaScript数据保存至中央Web服务器,以备将来从中加载使用。
2.2 基于Web的离线仿真
NCSLab支持基于Web的离线仿真功能,从而可以在进行实时控制实验前对所设计系统的控制效果进行检验。NCSLab为每台实验设备建立了数学模型,当用户创建WebConSim工程时,所选设备对象的数学模型已作为一个模块包含在WebConSim界面里。WebConSim控制框图如图3所示。用户完成控制框图设计后,点击“运行仿真模型”按钮,控制框图的JavaScript数据将发送至中央Web服务器;然后,中央Web服务器再将其发送至MATLAB服务器并请求其进行“仿真”操作;接着,MATLAB服务器将JavaScript数据解析并转化为对应的mdl文件,并启动“仿真”操作,产生相应的仿真结果,如文本数据、曲线图像等;最后,MATLAB服务器将仿真结果发送回中央Web服务器,显示在Web浏览器中,并可以下载和保存。
用户可以重复设计、修改控制框图并多次进行离线仿真,直至仿真效果良好。由于AJAX技术的适当应用,控制框图的设计和仿真以及编译过程均在同一个页面里实现,用户无需切换、刷新页面,因此用户可以获得与桌面客户端软件类似的体验。由于算法设计的缺陷或MATLAB服务器的故障,可能导致仿真操作的失败,MATLAB服务器能够监视到这种状况,并在仿真结果页面中向用户提供错误信息以供调试。
2.3 基于Web的实时控制
实现基于Web的实时控制,需要解决以下问题:
(1) 离线仿真时,用的是被控对象的数学模型,以模拟实际设备的特性。但在进行实时控制实验时,数学模型是无意义的,需要直接对硬件接口进行操作。
(2) Simulink模型文件无法在网络化控制器中直接运行,需要将其转化为实时可执行代码。
为了解决问题(1),利用网络化控制工具箱中的相关硬件接口模块替换掉控制框图中的仿真模型模块,以实现对设备对象的实时控制;为了解决问题(2),利用RTW和ARM Linux GCC交叉编译器将Simulink模型文件转化为可执行代码。RTW可将Simulink模型转化为C代码,该代码可以在Unix,Windows,VxWorks,DOS等环境下运行。由于MATLAB服务器是基于Windows平台运行的,而网络化控制器则基于ARM-Linux运行,因此,需要实现在Windows平台上对C代码的交叉编译。基于此, MATLAB服务器中安装了ARM Linux GCC交叉编译器,在Windows平台上模拟Linux的运行环境。编译后的可执行代码可直接下载至网络化控制器Linux操作系统下运行。WebConSim控制框图的编译过程(图3)如下:
(1) 将仿真模型无缝替换至实时模型(如图4所示)。在此过程中,仅将仿真模型模块由被控对象对应的硬件接口模块替换掉,其他模块不做任何变动。该操作由系统管理员预先定义。
(2) 替换后的控制框图的JavaScript数据被发送至中央Web服务器;然后,由其启动“远程编译调用引擎”,将JavaScript数据发送至MATLAB服务器。
(3) MATLAB服务器对JavaScript数据进行解析,将其转化为对应的Simulink模型文件,并由RTW和ARM Linux GCC将其编译为可执行代码,最后发送回中央Web服务器。算法标题将显示在NCSLab“实验算法”列表中。

图2 基于Web的控制组态界面
Fig.2 Web-based control configuration interface

图3 WebConSim的仿真过程
Fig.3 Flow of simulation of WebConSim
用户若想启动实验,在“实验算法”列表中选择该算法,点击“开始实验”按钮,中央Web服务器则将编译好的算法经最佳区域实验服务器下载至实验台,并立刻执行。从图3可以看出:WebConSim控制框图的编译过程虽然复杂,但均是在后台进行的,用户无需进行任何干预,也无需详细了解其工作流程。

图4 仿真模型至实时模型的无缝替换
Fig.4 Seamless replacement from simulated model to real-time model
2.4 基于Web的可视化监控组态
NCSLab为每台实验设备的演示算法配备了相应的监控组态页面,用户可直接调用。同时,用户也可以基于Web组建自己的监控页面,以便在实验过程中查看自己感兴趣的相关信号或修改相关参数,以及通过视频观看实验设备的现场运行状况等。
控制算法下载至实验台后,实验过程随之开始,同时实验台也将启动一个监控和数据采集(Supervisory control and data acquisition,SCADA)服务进程。区域实验服务器可以通过NSP(NetCon Supervisory Protocol)协议[15] 与该服务进程通讯,其过程如下:区域实验服务器在指定的端口与网络化控制器的SCADA服务进程建立TCP连接后,向其发送EXT_GET_PARAMSIGNAL消息;SCADA服务进程向区域实验服务器返回所有可调参数和可观测信号的列表,区域实验服务器将保存此列表,以备用户监控组态时选用。
NCSLab基于Web的可视化监控组态页面如图5所示。监控组态页面中提供了多种可视化Flash虚拟组件,如数字输入框、多路开关、滑动条、实时趋势图、液晶显示框、仪表盘、实时视频等。单击所需的虚拟组件,即可将其放入组态页面内。双击组态页面内的组件,可关联“信号/参数”列表中想要观看的信号或需要调试的参数(其步骤为如图5所示的①,②和③)。组件的位置和大小可以通过拖放进行调整,其显示方式可以在双击弹出的设置面板里定制。监控组态页面也采用了AJAX技术,在Web浏览器中离线运行。用户组态完成后,点击“保存”按钮可将其存储在中央Web服务器中。

图5 基于Web的监控组态界面
Fig.5 Web-based motoring configuration interface
2.5 基于Web的实时监控
完成基于Web的监控组态后,点击“运行”按钮,即可进行实时监控。这时,区域实验服务器向网络化控制器发送EXT_SELECT_SIGNAL消息,请求其上传监控组态页面里选定的“参数”或“信号”的实时数据。网络化控制器接到命令后,将所选“参数”或“信号”的最新数据打包为EXT_UPLOAD_DATA消息,周期性地传送至区域实验服务器。Web浏览器以固定时间间隔轮询区域实验服务器,获取实时数据并将其显示在虚拟仪器中。用户若修改调试参数的数值,其操作指令先由中央Web服务器提交至区域实验服务器;再由其将参数名称和参数值打包为EXT_SETPARAM消息,发送至网络化控制器;最后,网络化控制器将响应此消息,并完成参数值修改操作。
在实时监控过程中,用户与Web浏览器的交互仅由区域实验服务器处理,而不直接访问网络化控制器,因此,NCSLab允许多人同时对某一实验设备进行监控。但是,仅允许获得实验控制权的唯一用户修改监控页面中的相关参数值,其他用户只可旁观,这与真实实验室内多人同时在某一实验设备上做实验的情形相似。
3 NCSLab主要功能
目前,在如上所述的体系结构和设计机理下,NCSLab已实现如下主要功能:
(1) 为满足不同区域、不同语言用户的需要,NCSLab页面简洁、操作简单,页面语言可进行中/英文切换,而且连入NCSLab中的实验台7×24 h无人看守运行。
(2) NCSLab具有用户权限设定功能。在NCSLab中,用户分为2类:有实验权用户和有观看权用户。前者可以进行实验的各种操作,如控制系统设计、仿真、实时控制以及监控组态、实时监控等,对于某一实验设备,同一时间仅允许一个用户具有实验权;后者只能通过监控页面观看别人实验的运行情况,无权对实验设备做任何修改操作。用户登入NCSLab后,就被赋予了观看权,而实验权的获得需要申请,并由系统按照一定的排队策略进行分配。
(3) 用户身份定义和排队策略:NCSLab用户包括本科生、研究生、实验室老师、专业研究人员等,基于他们不同的专业水平,在注册时系统为其分配不同的优先权。当某一实验设备在众多请求下产生设备竞争时,NCSLab将综合考虑用户的优先权和请求先后顺序,以确定其在排队中的位置。另外,在必要的情况下,管理员可对排队顺序进行人工干预。
(4) NCSLab为连入其中的每台实验设备提供了丰富的帮助文档,如设备描述、控制方案简介、动画演示等,可快速地指导用户利用NCSLab进行实验。
(5) NCSLab为每台实验设备均提供了现成的演示算法和监控页面,可直接使用。同时,NCSLab也允许用户自行设计实验过程,即通过Web浏览器进行控制算法的设计、控制系统的离线仿真、实时控制、监控组态、实时监控等。
(6) NCSLab不仅支持远程的本地控制实验,还可非常容易地实现网络化控制实验(包括离线仿真、半实物仿真、实时控制及监控等),以研究网络诱导时延、数据丢包等网络不确定因素对控制系统造成的影响。
(7) 不同用户之间可基于Web实现资源共享。NCSLab不仅能够实现实验设备的共享,而且允许用户共享他人的实验算法、监控组态等资源。通过共享实验算法,来促进用户间的相互学习和算法改进;通过共享监控组态,可旁观他人的实验过程。
(8) NCSLab具有实时视频反馈功能,增强了远程控制实验的临场感,并开辟了论坛网页,可供用户进行学术和经验交流。
(9) NCSLab具有较强的可扩展性,既可以应用在因特网环境下,整合全球范围内的实验设备;也可以直接布署在校园局域网内,便于高校的教学和科研。
(10) NCSLab具有较强的设备安全和网络安全措施。设备安全措施根据实验设备的不同而不同,以保证实验设备的7×24 h无人看守运行;同时,在NCSLab的各个环节也都采取了相应的网络安全措施,如在网络化控制系统中,对传感器、控制器、执行器之间的通信数据进行了加解密等安全处理。
4 实验实例
在NCSLab中,每台实验设备通过电缆与1台本地网络化控制器相连,构成本地控制系统;也可与其他远程网络化控制器协作,构成网络化控制系 统[16-18](Networked control systems, NCS)。本文以位于Glamorgan大学的伺服控制实验装置(以下简称伺服装置)作为被控对象,介绍如何在NCSLab中进行远程控制实验和网络化控制实验的设计与实现。
伺服装置包括直流电机、磁性负载、传动装置、角位移传感器、放大器和电源。控制目标为:通过控制DC伺服电机,使角位移跟踪给定值。伺服装置为单输入单输出系统,输入为控制电压信号(-10~10 V),输出为角位移信号(-120°~120°)。
4.1 远程本地控制实验
所谓远程本地控制(简称远程控制)是指远程用户通过网络进行实验,但控制系统在结构上属于本地控制,即仅有1台网络化控制器与被控对象通过电缆直接连接,构成闭环控制系统。用户凭借注册的用户名和密码进入NCSLab后,首先看到的是NCSLab设备列表。点击“格拉摩根伺服控制平台”,可查看该设备的相关文档和设备的实时图像,以及为其提供的多种演示控制算法及监控页面等。
目前,NCSLab提供2种控制框图设计方式:WebConSim方式和常规Simulink方式,这里采用前者。点击“算法设计”中的“创建新工程”,即可打开WebConSim控制框图组态页面。该页面内已存在1个模块“Plant”,即伺服装置的数学模型:
(1)
式中,G(z-1)为离散传递函数;z-1为单位延迟因子。
这里采用PID算法对伺服装置进行控制,并取控制器参数分别为kp=0.5,ki=0.5和kd=0.03,设计的控制框图如图2所示。点击“运行仿真模型”按钮,离线仿真结果如图6所示,并可点击曲线下方的超级链接下载仿真数据。
从图6可以看出:离线仿真结果令人满意。此时,用户无需对控制框图做任何改动,只需设置相关实时参数,如采样周期、求解器等;然后,点击“编译实时模型”按钮即可进行编译,生成可在网络化控制器中运行的可执行代码,并最终显示在“实验算法”列表中。

图6 基于Web的离线仿真结果
Fig.6 Web-based off-line simulation results
在申请到实验控制权后,从“实验算法”列表中选择自己先前编制的算法,点击“开始实验”按钮,即可进行远程控制实验。若想中途停止实验,则点击“停止实验”按钮即可,此时实验台将切换为默认的算法。
在远程控制实验过程中,用户与实验台通常处于异地,为了实现对系统运行状况的实时观测和相关参数的在线修改,需要设计相应的远程实时监控页面。在NCSLab中,点击“新建监控组态”按钮,用户可基于Web自行组建监控页面。本实验的监控组态页面如图5所示。这里选择了4种组件:“数字输入框”用于PID参数的调试;“液晶显示框”用于系统输出(角位移)的实时显示;“实时趋势图”用于系统输出与设定值的实时曲线显示;“实时视频”用于观看设备的现场运行情况。
点击“运行”按钮,实时监控页面如图7所示。由图6和图7可以看出:由于所建的伺服装置数学模型较精确,利用相同的PID控制器参数,离线仿真结果与实际控制结果相近。
4.2 网络化控制实验
对于网络化控制实验,其设计流程与上述远程控制实验类似,这里仅介绍其控制系统组成、控制框图设计及实验结果。
在伺服装置的网络化控制系统中,共有2台网络化控制器,分别为位于英国Glamorgan大学的控制器A(IP:193.63.131.219)和位于中国中科院自动化所的控制器B(IP:159.226.20.109)。网络化控制器A作为驱动执行单元与角位移采样单元,与伺服装置通过电缆直接连接;网络化控制器B作为控制器单元,通过因特网与控制器A进行数据交换。
由于2个节点间通讯距离较远,数据在传输过程中存在较大的网络时延和较频繁的数据丢包,这里采用网络化预测控制(Networked predictive control, NPC)[16, 19] 策略对其进行补偿。NPC的基本思想为:基于被控对象的数学模型,在控制器端对未来时刻的若干步输出进行预测,进而计算出未来若干步的控制量,并利用网络“包传输”的特性,将此序列传送到执行器端;在执行器端设置足够大的缓冲区,根据所测网络时延,提取出合适的控制量输出给被控对象。伺服装置NPC系统的WebConSim框图如图8所示,其中:左边为控制器B(控制器端)的框图,采用MPC算法计算控制预测序列;右边为控制器A(传感-执行器端)的框图,根据网络环路时延,从最新控制预测序列中选择针对本时刻的预测控制量进行输出,并将最新采样数据发送至控制器端。将这2个控制框图分别编译并下载至对应的控制器中,并建立监控组态页面对其进行监控,网络化控制结果如图9所示。从图9可以看出:NPC策略可以有效地补偿随机网络时延、数据丢包等现象,从而有效改善网络化控制系统性能。

图7 基于Web的实时监控界面
Fig.7 Web-based real-time motoring and supervisory control interface

图8 网络化预测控制WebConSim框图
Fig.8 WebConSim diagram of NPC

图9 网络化控制系统实验结果
Fig.9 Experimental results of NCS
5 结论
(1) 由于4层体系结构的提出及Web 2.0,J2EE和AJAX等最新技术的应用,NCSLab允许用户访问位于全球各地连入其中的实验设备,并为其提供了一个完全基于Web的远程控制和网络化控制的设计与实现平台,可快速、灵活地进行控制算法的设计、控制系统的离线仿真、远程编译、实时控制以及可视化监控组态、实时监控等。
(2) 与其他远程控制实验室相比,NCSLab更为突出的功能是其支持网络化控制实验,这将对NCS的理论研究和工程实现产生较大的促进作用。
参考文献:
[1] Aktan B, Bohus C A, Crowl L A, et al. Distance learning applied to control engineering laboratories[J]. IEEE Transactions on Education, 1996, 39(3): 320-326.
[2] Shaheen M, Loparo K A, Buchner M R. Remote laboratory experimentation[C]//Proceedings of the American Control Conference. Philadelphia, 1998: 1326-1329.
[3] Ma J, Nickerson J V. Hands-on, simulated, and remote laboratories: A comparative literature review[J]. ACM Computing Surveys, 2006, 38(3): Article 7.
[4] Rodriguez F J, Giron C, Bueno E J, et al. Remote laboratory for experimentation with multilevel power converters[J]. IEEE Transactions on Industrial Electronics, 2009, 56(7): 2450-2463.
[5] Kikuchi T, Kenjo T, Fukuda S. Remote laboratory for a brushless DC motor[J]. IEEE Transactions on Education, 2001, 44(2): 12.
[6] Yeung K, Huang J. Development of the Internet based control experiment[C]//Proceedings of the 40th IEEE Conference on Decision and Control. Oriando, 2001: 2809-2815.
[7] Sanchez J, Dormido S, Pastor R, et al. A Java/MATLAB based environment for remote control system laboratories: Illustrated with an inverted pendulum[J]. IEEE Transactions on Education, 2004, 47(3): 321-329.
[8] Tzafestas C S, Palaiologou N, Alifragis M. Virtual and remote robotic laboratory: Comparative experimental evaluation[J]. IEEE Transactions on Education, 2006, 49(3): 360-369.
[9] Ko C C, Chen B M, Chen J P, et al. Development of a Web-based laboratory for control experiments on a coupled tank apparatus[J]. International Journal of Engineering Education, 2005, 21(6): 1017-1030.
[10] Casini M, Prattichizzo D, Vicino A. The Automatic Control Telelab: A user-friendly interface for distance learning[J]. IEEE Transactions on Education, 2003, 46(2): 252-257.
[11] Garcia-Zubia J, Lopez-de-Ipina D, Orduna P, et al. Questions and answers for designing useful WebLabs[J]. International Journal of Online Engineering, Special Issue REV 2006, 2(3): 1-6.
[12] Hu W S, Liu G P, Rees D, et al. Design and implementation of Web-based control laboratory for experiment devices in geographically diverse locations[J]. IEEE Transactions on Industrial Electronics, 2008, 55(6): 2343-2354.
[13] Hu W S, Liu G P, Rees D, et al. Design of Web-based real-time control laboratory for diversely located test rigs[C]//Proceedings of the 17th IFAC World Congress. Seoul, 2008: 12643-12648.
[14] Bian H B, Liu G P, Dong Z. Structure design and application of embedded Ethernet based control systems[C]//Proceedings of the 2007 IEEE International Conference on Networking, Sensing and Control. London, 2007: 47-51.
[15] Zhu Y Z, Zheng G, Dong Z, et al. Design of supervisory software for Ethernet-based control systems[C]//Proceedings of 2007 IEEE International Conference on Networking, Sensing and Control. London, 2007: 36-41.
[16] Liu G P, Xia Y, Chen J, et al. Networked predictive control systems with random network delays in both forward and feedback channels[J]. IEEE Transactions on Industrial Electronics, 2007, 54(3): 1282-1297.
[17] Hespanha J P, Naghshtabrizi P, Xu Y G. A survey of recent results in networked control systems[J]. Proceedings of the IEEE, 2007, 95(1): 138-162.
[18] Cloosterman M B G, van de Wouw N, Heemels W P M H, et al. Stability of networked control systems with uncertain time-varying delays[J]. IEEE Transactions on Automatic Control, 2009, 54(7): 1575-1580.
[19] Hu W S, Liu G P, Rees D. Design and implementation of networked predictive control systems based on round trip time delay measurement[C]//Proceedings of the 2006 American Control Conference. Minneapolis, 2006: 674-679.
(编辑 赵俊)
收稿日期:2009-10-09;修回日期:2010-03-27
基金项目:国家自然科学基金资助项目(60934006,60621001);国家“863”计划项目(2007AA04Z202)
通信作者:庞中华(1981-),男,山东成武人,博士研究生,讲师,从事网络化控制系统等研究;电话:15011472408;E-mail:zhonghua.pang@ia.ac.cn