NCSLab网络控制实验室 (开篇序言)

作者:一点一滴的Beer http://beer.cnblogs.com/

前言:本文及后续文章将介绍一个符合了目前互联网界两个流行理念“云计算”、“物联网”的产生于高校和研究所的系统。本系统目前还没有正式进入到商业应用领域,即使是在高校的教学中的应用也只是很初步的阶段,但是如果一旦这些技术成熟,而且顺利得到推广,其发展前景无疑是相当巨大的。我自己的眼界可以比较狭小,但是我应该相信我的那位刚从英国回来的师兄的话(他的眼界应该比我开阔多了吧,在英国那边过了五年):“这个系统集中了目前互联网最新的技术和理念,虽然是几年前的成果,但是现在还是很新的技术应用,绝对属于高新科技的范筹”。希望此言不假,如果到网上碰到各位技术大牛了,也希望轻拍砖,敬请批评指正,本人定当虚心听教。

一、视频简介

视频地址:http://player.youku.com/player.php/sid/XMjU4MTU2MTI4/v.swf

版权声明:

    本视频公是对目前所从事的研究内容进行效果演示,系统版权不属于本人所的。本系统的著作权属于YL.Qiao和WS.Hu两位师兄。本系统是两位师兄博士期间的成果,而我只是硕士期间很幸运地加入到了WS.Hu师兄的课题组而逐渐学习和承接了这方面的本领。本系统即将作为我的硕士毕业论文,我花了半年的时间从零开始学习Java,JSP,Linux,Yahoo UI等等,到今天才逐渐将系统的主要技术框架弄得不至于太模糊。目前视频中的内容仅是个人这段时间的学习心得,而自己将在接下来的一的时间从来相关内容的扩展工作,到时候这些内容将出现在自己的硕士毕业论文当中,作为自己的东西来呈现吧。

视频主要内容:

1.底层设备软件开发平台的建立。一台Windows系统PC机;一台Linux系统PC机;一台arm-linux嵌入式小型工控机。

2.客户端用户设计Matlab算法。用户本地设计算法,然后通过网络传送到甚至大洋彼岸的实验室并进行现场实验台测试。

3.C/S模式的NetCon System的演示。安装桌面软件,对远端的实验设备传回的数据进行测控和分析。(关于这种模式的软件的优点缺点,今后会做统一分析)。

4.B/S模式的NCSLab开发平台的建立及主要结构演示。

5.实验设备页面3D模型显示。利用3D的Flash技术,绘制出和现场实验设备一样的模型,制造也身临其境的感觉。

6.监控组态界面演示。

致谢:

    我感觉自己是超级幸运的,因为我跟随导师的这一年,正好我的导师把WS.Hu师兄从英国引进回实验室后,然后研一在实验室的这一年,是自己学习内容最为集中爆发的一年,以前学习是要自己一点点摸索寻宝,但是现在却是直接从无源的宝库中取。

    首先感谢这个系统的框架的主要设计者YL.Qiao,我只能表示我在下面仰望你了;然后就是感谢WS.Hu师兄把这套系统带回来(当然还要感谢周博导将他引进回来),而且倾囊传授给我理解和着手开发这个系统的一身本领;最后还感谢实验室的同伴们,一起完成本系统的各个分支的内容;相信最后大家都会有不小的收获。

    很感谢他们,能让我有这个平台学习和研究。要学习的内容确实好多好多,而且这些技术问题即使全部解决后,留下的工作量也是相当大。上面做的演示视频,我只能说是把自己这半年的学习和认识心得给写下来,把大致的操作流程和开发流程过了一遍。接下来的一年,可能就是真正开始做事了,开始在目前的基础上有所发展,希望在此基础上,自己的硕士毕业论文质量也会增加不少。

    半年用来磨剑,然后接下来一年就是用来试剑了。看一年后自己的毕业论文的完成情况吧。

二、NCSLab网络控制实验室介绍

   (特此声明:以下内容均来自YL.Qiao师兄的博士论文概要节选,版权完全归属于他本人)。

2.1 NCSLab简述

    网络化控制系统是控制技术、计算机技术和网络通讯技术相互交叉、相互融合而产生的一个很有前途的研究方向,而基于Web的网络化控制系统则是把计算机网络当前最活跃的领域——互联网的成果应用到网络化控制领域所产生的一个全新的研究方向。基于Web的网络化控制系统不仅可以在互联网上向公众开放实验设备等硬件资源,还可以在互联网上给用户提供共享的控制系统分析和设计的软件工具以及可供运行这些工具的计算机资源。而且,用户设计的网络化控制算法的最新成果也可以在互联网上共享。本文就是围绕基于Web的网络化控制系统平台——NCSLab的平台设计和应用来展开的。

    本文首先设计了一个基于Web的网络化控制系统平台架构。此平台架构采用Web浏览器作为用户客户端,后台具有强大的服务器集群支持以及分布在全球各地的实验设备可供共享。从顶往下,平台架构包含Web浏览器、中央网站服务器、MATLAB服务器、实验服务器、设备控制单元和实验设备六个层次。平台设计充分考虑到了伸缩性、实时性、安全性、共享性以及软件集成的方便性,体现了互联网技术在控制领域的最新应用成果。

    基于此平台,NCSLab给用户提供了一个完全基于Web的控制系统设计和实现流程,此流程包含了从控制器算法框图设计、仿真、实时代码生成、实时算法下载、监控组态到监控的一个完整的过程。并对其中的诸多技术难点应用问题做了探索性的研究。

    ……

2.2 NCSLab实际应用成果

    NCSLab由英国格拉摩根大学先进控制与网络技术研究室于2006年发起,其后得到了中国科学院自动化研究所、清华大学、北京理工大学、中南大学和南京师范大学等国内外大学和科研机构的广泛支持。截止到目前为止,NCSLab已经7×24小时无故障运行近4年,先后集成了来自中英两国的电机、水箱、磁悬浮装置、球杆系统和燃料电池等12个设备。NCSLab部署在Internet上,对国内外研究人员免费开放,目前已经有来自英国、中国、西班牙、俄罗斯、印度、巴基斯坦、埃及等国家的研究人员注册使用。很多研究人员在NCSLab上设计和实现新的控制算法,并利用NCSLab的设备验证其控制算法的有效性。

    自NCSLab新系统于2008年12月部署添加实验次数统计功能以来,截止到目前(2010年4月18日)为止,NCSLab总计进行了2071次实验。此外,NCSLab的校园版已经被应用在英国格拉摩根大学“电子原理、方法和仿真”课程和毕业设计中,中南大学信息科学与工程学院“运动和过程控制”的课程建设和毕业设计中。

2.3 今后的工作

    控制系统的网络化发展是控制系统发展的必然趋势,基于Web的网络化控制系统也应体现控制技术、计算机技术、通讯技术和互联网技术的最新成果。在NCSLab已有工作的基础上,今后可以开展和探索的工作有:

1. 网络化控制系统的透明化集成设计。目前NCSLab支持网络化控制实验的设计和实时实验,但控制器端和被控对象端的设计和实验是分开进行的,用户需要在两端打开两个网页进行设计和监控。将控制器端和被控对象端的设计和监控集成在同一个网页里,不仅可以给用户带来方便,而且可引导用户以整体、系统的思维去思考网络化控制的结构,从而激发更多创新算法的出现。

2. 虚拟实验室的完善。尽管远程实物实验室能更真实的反应实际实验过程,但远程实物实验室需要购买物理实验设备,投资较大,而且还存在设备折旧和损坏的风险。而虚拟实验室采用软件模拟实验过程,不仅能节省投资,而且还便于维护。因此,NCSLab在提供实物实验的同时,也需要考虑提供虚拟实验的选择。设备控制单元可以运行实时仿真,这是NCSLab虚拟实验实现的技术基础。但NCSLab需要对虚拟实验进一步增强。如把虚拟现实技术引入NCSLab中,在网页上提供三维化的虚拟实验室场景和虚拟仪器,增强用户虚拟实验的临场感和趣味性。由于虚拟实验不跟实际物理设备关联,因此其可以在设备控制单元里自由迁移。虚拟实验在NCSLab的实现,需考虑虚拟实验的负载均衡问题。

3. 在NCSLab里设计和实现用户协作和竞争等应用模式,提高用户实验的参与度和积极性。尽管NCSLab是一个以设备实验为中心的应用平台,但不能忽视用户在实验中可能存在和其他人上进行交流协作的需求。在互联网上进行协同实验和协同学习,需要NCSLab在使用模式和技术上进行探索。此外,竞争机制也可以被引入NCSLab中,在针对同一设备的同一控制目标下实现控制效果的竞争,可以催生更好的控制算法。通过协作和竞争,可以激发用户的创造性。此外,NCSLab的用户群体具有同质性,可以形成SNS科研社区并提供实验以外的其他服务。

4. 结合云计算和智能手机等最新技术成果,实现“设备即服务”。在有大量用户访问大量设备的情况下,NCSLab目前是采用分布式的服务器集群技术来解决负载问题的。但NCSLab的设备和用户规模会进一步膨胀,在规模达到一定程度后,云计算技术将凭借其更好的应用伸缩性可被应用在NCSLab系统中。目前的云计算能实现“基础设施即服务”、“平台即服务”和“软件即服务”三个层次,如果NCSLab结合云计算技术,将能够实现“设备即服务”的层次。如果NCSLab支持智能手机等访问,将更有利于NCSLab的应用推广。

5. 跟踪物联网技术的发展,拓展NCSLab的应用范围。目前NCSLab的应用主要集中在教学和科研中,主要实现的是实验设备在互联网上共享。其中涉及的多用户多设备的集成技术可以被物联网所用。实际上,我们可以认为实验设备是一个嵌入了传感器和执行器的RFID芯片,用户从而跟RFID芯片可以有更多的交互,这一模式会拓展出NCSLab在更多领域的应用。

    …………

    因为担心产生最后的知识产权纠纷,所以就此打住。具体的模型分析细节就略去了,本文纯做功能介绍吧。也算是为诸位师兄做下广告宣传下吧。等接下来的一年有了属于自己的成果后,再进行详细介绍吧。

三、主要涉及到的技术

    主要涉及到的技术列表如下:

1.嵌入式系统硬件设计。实验室现场需要传感器和终端工控机进行现场的操作,需要对对小型工控机及现场传感器进行设计。

2.嵌入式系统Linux软件设计。因为现有的开源的Linux系统对网络和通讯这一块的技术已经比较成熟,所以底层的嵌入式工控机采用arm-linux系统。主要用来承接远端客户传送过来的Matlab算法。

3.Web应用程序设计。也是网络控制实验室比较核心的内容,涉及的技术领域也比较多,AJAX技术,RMI技术,数据库技术等等。

4.页面3D -Flash技术。这是网络控制实验室中比较重要的内容,用于实验室设备和数据的再现,制造身临其境的感觉。

5.其它技术。因为目前我自己也才学习此系统半年,了解也只算皮毛,还有很多技术可能自己目前知识局限可能还没有触及到。

    各个技术在不同层次的作用简述:

1)实验室现场的嵌入式工控机采用arm-linux系统,其主要功能如下:

1.将实验室实验设备接入互联网,实现实验设备全球共享。

2.开启算法侦听线程,接收来自全球任何一个客户端用户传送过来的Matlab算法,并下载到实验室的设备中进行实验。

3.收集实验室现场传感器采集的数据并进行一定的分析计算和汇总,并通过网络传送到客户端。

2)B/S模式的客户端系统,功能如下:

1.为不同登录用户分配权限。

2.提供算法上传的功能。

3.实现必要的实验室设置。

4.远端现场实验室实验设备进行3D模拟再现,制造身临其境的感觉。

因为是网页应用程序,而且需要达到基本的操作流畅性和界面友好性,所以还会涉及到很多现在流行的网页技术,在此也无法一一列举。

四、本系统的应用前景

    目前信息产业界很多流行词汇,诸如:云计算,物联网等等。而本系统虽然是一个以网络教学实验作为背景的一个应用,但是其涉及到的技术问题,无疑是当下互联网信息界最热门的技术。

    下面结合自己近年来从事参与过的一些项目背景来谈下体会,权当抒发下自己的愚见吧。

    我的硕士生导师主要从事的的智能电网和智能家居这一方面的研究。今年我也有幸参加过一些项目的设计工作。

智能家居:智能家居是以住宅为平台,利用综合布线技术、网络通信技术、 智能家居-系统设计方案安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境(定义来自百度百科)。

智能电网:智能电网(smart power grids),就是电网的智能化,也被称为“电网2.0”,它是建立在集成的、高速双向通信网络的基础上,通过先进的传感和测量技术、先进的设备技术、先进的控制方法以及先进的决策支持系统技术的应用,实现电网的可靠、安全、经济、高效、环境友好和使用安全的目标,其主要特征包括自愈、激励和包括用户、抵御攻击、提供满足21世纪用户需求的电能质量、容许各种不同发电形式的接入、启动电力市场以及资产的优化高效运行(定义来自百度百科)。

    其实不管是智能家居还是智能电网甚至智能交通、智能水利等等,本质上都还是属于社会系统的信息化问题,在概念上都属于“物联网”的范畴。

    物联网中很重要的一个部分就是信息的分类、分析和展示。关于信息的处理平台,可以用C/S模式的软件结构,也可以用B/S模式的软件结构。当下热门的IT词汇“云计算”,则将这些业务模式都集中到服务器中来。

    B/S模式的优势不言而寓。除了传统所说的那些优点,诸如:免安装,升级和维护成本低等等。还有个很重要的优点:可以很好的实现跨平台。目前可能桌面系统是Windows的天下,但是将来这种格局肯定会逐渐会被打破的,而且现在大家也看到这种趋势了,“云计算”对将来的构想就是,只需要一个安装了浏览器的能上网的终端设备,那么你就可以得到任何你想要的信息服务。可能现在网络应用程序还没有得爆发式地发展时期,所以现在用户上网可能主要是获取信息,而没有能够很好地体会应用程序带来的体验,但等将来一些关键性的技术问题,比如浏览器(不仅仅是PC机,还有嵌入式系统机,手持移动终端机,Pad等等)平台日趋成熟,新兴的网页设计技术的发展,无线通讯技术发展,将来的网页应用程序必然会迎来蓬勃发展的时期。到时候用户可能只需要一个接入了无线网络的手机就可以解决一切现在只有用PC机才能解决的问题。简单的物联网模型构想图如下:

image

    其实一些应用前景展望,YL.Qiao师兄已经做了一些详细的分析。但是我觉得还是有必要在物联网领域做了上述的一些“重复”介绍。这套技术不仅仅只局限于在高校实验设备教学上进行应用,而更应该扩展到大型系统,比如,电网,交通,水利等等,将极大的改变社会的面貌和人们的生活方式。

    关于在电网,交通,水利等等方面的应用,让我想到了我的本科毕业设计内容

配电网WebGIS研究与开发

http://www.cnblogs.com/beer/archive/2010/12/13/1904442.html

    地理信息系统也是对系统信息的一大集成,极好地对信息进行分类汇总,如果和NCSLab网络控制系统相结合,信息流通的效率将得到进一步提升,系统的可扩展性也将得到大大加强,逐步实现全球物联将不是梦想。

五、开篇结语

    自己的园子已经好像半年没有更新了,这段时间自己一直忙于纠结一些私事,头痛了半年。现在决定开始重新走入园子吧,而且也到了找工作的季节,自己也需要把自己给包装一下,否则到时候没有找到好的工作,一切都将是浮云了。

    后面在不触及知识产权纠纷的情况下,我尽量分享自己的学习心得吧(核心技术的知识产权不属于我,我估计也只能分享下自己的个人学习心得和自己的一些扩展成果吧)。当然,前提还是要我有足够的时间哦,因为我不想这两年只光顾着自己学习和总结知识而没有给自己的导师还有师兄带来任何实质性的成果,所以也需要完成一定量的任务,否则就对不起他们对我的培养了。

作者:一点一滴的Beer
Email /Gtalk:dreamzsm@gmail.com
出处:http://www.cnblogs.com/beer/

Time:2011-4-12

Addr:WHU
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,请尊重作者的劳动成果。

作者: 一点一滴的Beer 发表于 2011-04-12 10:03 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架