'基于Web的现场工况监控系统图形化集成及应用重庆大学硕士学位论文(专业学位)学生姓名:谭茜指导教师:张可副教授兼职导师:鲁远祥研究员学位类别:工程硕士(控制工程领域)重庆大学自动化学院二O一三年四月
GraphicalintegrationandapplicationofsiteconditionsmonitoringsystembasedonWebAThesisSubmittedtoChongqingUniversityinPartialFulfillmentoftheRequirementforProfessionalDegreeByTanxiSupervisorbyAss.Prof.ZhangkePluralisticSupervisedbyProf.LuYuanxiangSpecialty:ME(ControlEngineeringField)CollegeofAutomationofChongqingUniversity,Chongqing,ChinaApril2013
重庆大学硕士学位论文中文摘要摘要随着企业信息化的不断推进和网络技术的飞速发展,实时远程监控系统在企业的安全生产中发挥着越来越重要的作用,但传统的实时监控系统由于其安装繁琐、兼容性差等缺点,已不能满足企业系统集成及远程监控的发展要求,而将实时监控系统与Web技术相结合,提供分布式的、可视化的、瘦客户端的监控服务,有利于解决传统监控系统所出现的问题。本文以煤矿行业为应用背景,分析了当前监控系统所出现的一些问题,并将Web技术、组件化技术和实时监控技术结合起来,形成了一种新的基于Web的现场工况图形化监控系统集成方法。本系统主要研究三个方面的内容:①基于Web的图形化组态开发系统:首先利用组件化技术构建SVG图元库,再通过对图元的引用设计了一个在线图形组态系统,用于对现场地貌的真实模拟;②实时数据的发布:通过比较几种主流的前端数据可视化展示技术,就这些技术用于煤矿行业的可行性进行了详细分析,最终选用SVG+Ajax的方式进行实时数据的动态展示,实现了对现场设备的实时监控;③异构系统间的数据集成:本文分析了当前煤矿行业监控系统所出现的问题,比较了DCOM、CORBA和WebServices三种集成方式的优缺点,最终利用WebServices的松耦合的方式实现系统的集成,然后在基于WebServices的系统集成方式和SVG+Ajax的实时数据展示上构建了一种基于Web的实时监控系统,该系统具有易集成性和较强的扩展性。本文在最后将设计的图形化监控系统集成于川煤集团安全综合监控联网系统中,实现了对矿区设备的多方面的监控和展示,在提高了煤矿生产安全的同时也验证了该系统的实用性和有效性。关键词:远程工况实时监控,Web服务,动态数据图形化,异构系统集成,煤矿安全I
重庆大学硕士学位论文英文摘要ABSTRACTWiththerapiddevelopmentofnetworkandenterpriseinformationtechnology,theremotereal-timemonitoringsystemplaysanmoreandmoreimportantroleinsafetyproductionofenterprise.However,duetotheshortcomingsofinstalltrivalandpoorcompatibility,thetraditionalreal-timemonitoringsystemscannotsatisfyrequirementsofenterprisesystemintegrationandremotemonitoring.Combiningthereal-timemonitoringsystemwithWebtechnologyandprovidingdistributedandvisualizationmonitoringservicesusingthinclientscanbeconducivetoresolvetheproblems.Intheapplicationbackgroundofcoalindustry,thispaperanalysisessomeproblemsofcurrentmonitoringsystems,andcombiningWebtechnologywithcomponenttechnologyandreal-timemonitoringtechnologytoformanewintegratedmethodologyforsiteconditionsmonitoringsystembaseonWeb.Thedissertationmainlyincludesthreeaspectsasfollows:①GraphicalconfigurationdevelopmentsystembasedonWeb:Firstly,usescomponenttechnologiestobuildaSVGGraphicslibrary,andthenreferenceGraphicslibrarytodesignanonlineconfigurationsystemtoachieverealsimulationofthesitefeatures.②Releaseofreal-timedata:AjaxandSVGareusedtodisplayreal-timedatadynamicallyaftercomparingwithseveralmethodsandadetailedanalysisthatifthetechnologisecanbeusedinthecoalindustry.Andimplementationofreal-timemonitoringoffielddevices.③Realizetheintegrationwithothermonitoringsystems:Thisdissertationanalyzesthecharacteristicsofthecurrentmonitoringsystemanddiscussesadvantagesanddisadvantagesofthesethreesystemintegrationmodesasthefollowing,DCOM,CORBAandWebServices.Finally,chooseslooselycoupledWebServicestorealizesystemintegration.Thenareal-timemonitoringsystembasedonWebServicesandSVGandAjaxisbeenbuilt,thesystemhaseasyintegrationandstrongexpansibility.InthefinalthegraphicalremotemonitoringsystemisintegratedwithmonitoringnetworksystemforSiChuanCoalGroupandimplementationofthemultiplemonitoringanddisplayofminingequipment.Notonlyimprovethesafetyproductionincoalminebutalsoverifytheeffectivenessandpracticalityofthesystem.Keywords:Remotesiteconditionsreal-timemonitoring,WebServices,Dynamicdatagraphical,HeterogeneousSystemintegration,CoalMineSafetyII
重庆大学硕士学位论文目录目录中文摘要····································································································I英文摘要···································································································II1绪论········································································································11.1选题背景及意义·······················································································11.2国内外研究现状·······················································································21.2.1监控系统研究现状···············································································21.2.2图形技术研究现状···············································································31.3系统的特点·····························································································41.4主要研究的内容·······················································································51.5本章小结································································································52系统关键技术分析·················································································62.1动态页面发布技术····················································································62.2面向WEB2.0的数据传输与服务···································································72.2.1应用层数据传输协议与技术···································································72.2.2WebServices·······················································································92.3组件化技术分析·····················································································112.4本章小结······························································································123系统可行性分析···················································································133.1应用背景······························································································133.2需求分析······························································································143.2.1功能需求························································································143.2.2性能需求························································································163.3SVG技术可行性分析···············································································163.3.1SVG描述矿图可行性分析····································································173.3.2矿图文件格式转换分析·······································································173.4系统关键问题分析··················································································213.4.1实时数据发布··················································································213.4.2异构数据源的整合·············································································223.5系统设计方案························································································233.5.1方案的提出·····················································································233.5.2系统体系结构··················································································24III
重庆大学硕士学位论文目录3.5.3异构系统解决方案·············································································253.6技术路线和开发环境···············································································263.6.1技术路线························································································263.6.2开发环境························································································263.7本章小结······························································································264系统详细设计方案···············································································274.1设备图元库设计·····················································································274.1.1SVG图元的生成················································································274.1.2SVG图库的管理················································································284.1.3脚本程序的构造················································································294.2图形组态模块设计··················································································304.2.1矿图处理加载流程·············································································314.2.2图形绘制功能··················································································334.2.3模块类结构设计················································································374.2.4菜单模块设计··················································································384.2.5右键菜单重构··················································································394.3实时数据的动态发布机制··········································································404.3.1图元与设备的映射·············································································414.3.2实时数据的获取················································································424.4数据库设计···························································································444.4.1系统数据库E-R图(部分)·································································444.4.2系统数据结构设计·············································································454.5本章小结······························································································475系统实现······························································································485.1系统集成的实现·····················································································485.1.1集成方案描述··················································································485.1.2集成前后系统对比·············································································495.1.3Web客户端运行流程··········································································515.2客户端组态界面的实现············································································525.2.1基本图形的绘制················································································525.2.2设备图元的绘制················································································525.2.3矿图管理模块··················································································535.3基于WEB图形监控的实现·······································································545.4本章小结······························································································56IV
重庆大学硕士学位论文目录6总结全文与展望···················································································576.1论文的主要工作·····················································································576.2展望····································································································57致谢··································································································59参考文献··································································································60V
重庆大学硕士学位论文1绪论1绪论1.1选题背景及意义在企业生产过程中,随着自动化程度的不断提高,工业监控系统发挥着越来越重要的作用,已成为企业生产过程不可或缺的一部分。然而随着生产技术的提高和企业需求的不断变化,目前基于专用操作系统和专用机且运行在本地的传统[1]监控系统难以无法满足当前企业发展的要求。同时随着企业生产规模的不断扩大,生产地域也越来越分散,部门也越来越多,且每个部门或生产地都建立有自己的监控系统,由于这些部门在建立监控系统时都具有一定的自主性,这导致了个部门的系统是基于不同的平台、不同厂商、不同的语言,导致各部门的系统相[2]互独立,数据不能共享,形成了“信息孤岛”,不利于企业对整个生产情况的掌握,严重阻碍了企业的发展。另一方面,传统的监控系统通常都是以数据表格的形式对企业现场设备进行实时监控,而不能以图形的形式直观的展示出当前现场设备的状况,不具有良好的用户体验。面对这些情况,企业急需一种能够方便各部门异构系统集成,且能以矢量图形的方式展示现场工况的远程监控系统。随着Internet技术的发展和普及,图形图像技术在互联网行业发挥着越来越重要的作用。目前WEB图形技术主要是以位图为主的对图像简单显示,但随着图像应用的逐渐深入,人们对图像的质量和性能的要求越来越高,而位图由于其本身数据量大、缩放失真、交互性差等缺点已经不能满足人们的需求。就是在这种[3]情况下,SVG(可缩放矢量图形)技术逐渐的发展起来。SVG作为W3C的推荐标准,它使用XML描述图形应用和二维图形结构,具有文件小、图形矢量性、人机交互好等优点。它也可以在移动电话、手持设备或Web浏览器等多种设备上[5]显示。图形化远程监控是指本地客户端通过网络连接远程设备,以矢量图型的方式实现对现场生产过程的监控。管理者不必亲临现场就能通过网络直接的观测到现场生产情况,并根据这些信息在本地发出指令,对现场设备进行相应的调控,从而大大的减少了物力和人力。其意义在于:①Web客户端是以矢量图形的形式展现当前现场的生产状况,工作人员能更加形象生动的监测当前现场的信息,提供了良好的人机交互环境。②生产管理者在不亲临现场的情况下,就能掌握现场的实时工作情况,完成相关数据的监测和设备故障的恢复,提高了生产效率。③该监控系统有利于各地的专家通过网络监测和分析故障的原因,从而得到1
重庆大学硕士学位论文1绪论最优的解决方案。④通过各异构系统的集成,企业领导能对企业有一个全局的掌控,从而合理的安排生产,有利于企业各部门间的合作,提高企业的核心竞争力。1.2国内外研究现状1.2.1监控系统研究现状随着经济全球化发展,现代的企业也逐渐向国际化发展,企业生产地分布也越来越广泛,形成了分布式生产。特别是随着Internet的出现,使得分布式生产方式更加容易实现。因此,基于Web的分布式监控系统,已成为当前研究的热点之一。国外在基于Web分布式监控系统的研究已非常广泛,如在人工智能领域中,美国国家航天局(NASA)与德州的大学合作,通过Internet在NASA控制德州两所大学的机器人,并进行相关监测和分析,成功实现了对机器人远程分布式控制。1994美国南加州大学成功完成Mercury试验,该试验允许用户通过Web浏览器[4]控制机器人进行文物挖掘等工作。在工业生产领域中,美国NorthAndover公司通过将PLC接入Internet中,用户在Web客户端实现了与PLC间的通信,并对过程参数进行远程设定或者控制对象的开启与闭合,但不足之处是不能用于控制设备。而美国南太平洋科学仪器公司,由控制计算机提供原始数据,利用总线技术传送数据,通过Web技术实现传感器与控制器之间的会话,并与实际生产过程中[5]的数据综合,以检测故障,控制现场生产以及相关控制参数的设定。在设备远程故障领域中,美国波音公司将Web网络技术应用到设备维护系统中,利用Web浏览器和以太网TCP/IP协议实现了对机器和设备进行维护和远程诊断。加拿大Granby公司使用Web浏览器技术,通过以太网对机床进行故障诊断,排查以及维[6]护。目前国内也有一些这方面的研究,如基于Web技术的B/S模式油田监控系统[7],将Web技术与Active技术结合起来运用到电力监控系统中,从而形成一种新[8]的基于Web的电力监控系统。而对基于Web的实时监控技术,国内许多研究机构和高校也对监控系统展开了研究。另外,国内的一些组态软件厂商也开始将Web[9]技术引入监控系统中,如力控软件、北京亚控的组态王等都已经支持基于Web的分布式监控系统的开发和运行,但也存在着缺陷和不足,主要表现在远程客户通过该监控系统只能对现场情况进行实时监视,而不能对监测的变量做相应的改变,与正真的监控系统还有一定的差距。目前,基于Web的监控系统在许多领域已经得到很好应用,并取得了良好的效益。随着监控技术的进一步发展,其对核电站监控,煤矿安全监控、电网监控、2
重庆大学硕士学位论文1绪论石油输送管道监控等方面的发展将起到巨大的推动作用。1.2.2图形技术研究现状近年来,在中央和地方政府的督导下,企业信息化技术应用越来越广泛,各地的企业也都相继开发了一些图形监控系统,如利用AUTOCAD软件进行二次开发,或购买一些专业图形软件来进行二次开发,但这些系统软件都还存在着一些问题。①网络传输缓慢、图形缩放失真。目前国内大多数图形软件都是以光栅格式存储和显示的。相比于矢量图形,光栅图形的数据量比较大,因此在远程网络将数据从服务器发送到客户端时,数据传输相对较慢。另外,由于光栅图形是由像素的单个点组成的,因此在对光栅图像进行放大时可以看见构成整个图像的单个像素方块,为了显示清晰,浏览器不得不为那些在原始的图形图像中,插入不存[10]在的猜测数值或像素,从而导致线条有锯齿形状且显得参差不齐。因此光栅格式的图形无论是在图形质量或网络传输都不能满足当前煤矿图形监控系统的发展。②图形内容交互性差、管理困难。随着企业规模的不断扩大、图形的显示和管理也变得越来越复杂,如何将这些图元设备组织管理好,在图形监控界面中准[11]确、形象、分层次的表达出来是现代企业图形系统最重要的功能。③浏览形式单一且兼容性差。目前,企业图形监控系统主要是以Web浏览器的方式显示,而不能在移动终端或手持设备上显示。现在市面上存在着多种浏览器,且各个浏览器厂家标准不尽相同,所以怎样使图形软件兼容各个浏览器,带来良好的用户体验,也是一个重要的问题。鉴于出现的以上问题,本课题提出了用SVG矢量图作为图形监控界面的图形显示技术。矢量图形不是新近才出现的,在Web发展之处并存在于网络中。迄今为止,尽管有许多标准被提出了,但是还没有单一的标准存在,最新的主流浏览器的组[12]件还没有实现统一的标准。目前Web矢量图支持的格式主要包括DrawML、PGML(精确图形描述语言)和VML(矢量标记语言),它们都是基于XML(扩[13]展标记语言)应用。DrawML是一种建立流程图和图表的标记语言,它拓展了Java的应用来定义绘制于屏幕的图形。PGML和VML是由W3C组织(WorldWideWebConsortium,全球万维网联盟的简称)在1998年提出作为矢量图初始标准。PGML和VML有很多相似的地方,PGML适合公众出版和专业设计的图像,但VML比较适合一些普通的图像。随着图像标准的进一步发展,W3C成立了SVG工作组。SVG工作组将PGML和VML的优势结合到一起,重新推出了新的标准矢[14]量格式,这就是SVG。3
重庆大学硕士学位论文1绪论从SVG的提出到现在已经经历了多个版本,SVGTiny1.2为目前W3C推荐的[15]版本,在不久的将来W3C会推出SVG1.2版本。SVG标准提出后,国外就涌现出了大量使用SVG应用,由于SVG是一种专门为网络而设计的基于文本的图像格式且在图形存储和展示方面的优势,它已经应用在一些领域的图形显示。如将SVG应用到地理信息系统、医学图像系统、电力系统及移动设备终端的图像显[16][17]示。SVG技术在的应用还包括使用了SVG技术的模式识别装置,将其它格[18][19]式的图形文件转换成SVG格式文件,如将光栅图形转换成SVG格式。1.3系统的特点本文提出了使用SVG技术作为企业图形监控系统的可视化技术,该系统为企业监测系统提出了一种新的图形处理手段,实现了现场设备可视化查询和实时修改的功能。同时引入了SVG图元技术,实现了现场设备和图元的动态绑定。采用图元技术能通过我们对图元的引用构造复杂的图形,降低了图元之间的耦合性,[20]不仅减少了图形绘制的复杂度,也提高代码的可重用性。该系统可集成于企业其他异构系统,通过应用的集成实现数据的共享。在对企业现场的图形监控中,本系统具有如下特点:①该系统是基于B/S架构实现的,因此对用户终端不需要安装其他软件,只要连接Internet,就能实现对设备的监管和控制,实现远程监控。工作人员不必亲临现场就可以完成相关参数的设置与调整,大大提高了生产效率。②设备图形格式是基于SVG格式储存和传输的,由于SVG是基于XML语言描述的,所以相比于传统监控系统,图形的数据量变小很多,更有利于网络传输。③提高了显示精度。传统的WEB显示主要是以JPEG、BMP等几种格式,虽然它们数据量较小且实现简单,但它们都不能在客户端无限放大或缩小,否则将使图像失真。本系统图形是基于SVG标准的,由于SVG的矢量图性,能实现无限放大和缩小而不失真,从根本上提高了图形的精确性,解决了图形放大失真问题。④在实时数据的发布问题上,本系统引入了Ajax技术,作为服务端和客户端的数据通信工具,实现无刷新动态实时显示,为企业监控系统建立了良好的人机交互界面。⑤本系统是一种分布式系统,利用了WebServices技术,能集成于其他的异构系统,实现了各异构数据的交互和共享。4
重庆大学硕士学位论文1绪论1.4主要研究的内容本文以煤矿行业为应用背景,在认真研究了当今煤矿监控系统的问题,通过分析煤矿图形的实际需求,提出了一种基于Web的煤矿图形监控系统框架模型。该框架模型主要研究以下几个方面:①分析了目前常用到的动态页面发布技术,并最终选择SVG作为了矿区图形监控系统的Web页面图形展示技术。②对当前矿区图纸格式进行了研究,为了兼容以前绘制的矿区图,设计了从老矿区图形到SVG图形的格式转换方案。③建立矿区图元库。由于矿井下设备众多、图形交互复杂,为了简化作图,提高绘图效率,本系统引入了图元技术,采用专业绘图工具设计出煤矿行业的专有图元,并用JavaScript脚本封装图元,建立图形组件库。④分析了实时数据动态发布技术,并将Web页面动态展示技术与实时数据发布技术相结合,实现了对矿区的实时监控。⑤利用WebServices技术实现与煤矿联网系统的集成,统一数据交互。本文共分为六个部分。论文的组织结构如下:第一章为绪论,首先介绍了课题应用的背景和研究意义;其次介绍国内外监控系统的研究现状及出现的问题;最后介绍了主要研究内容和论文的章节安排。第二章分析了系统涉及到的关键技术,即动态页面发布技术、Web应用层数据传输相关技术和组件化技术。第三章以煤矿行业为应用背景,对系统进行了可行分析,从应用背景、需求分析、系统关键问题分析、系统解决方案、系统技术路线这几个方面进行了全面的分析。第四章结合第二章的关键技术分析和第三章对系统的可行性分析,提出了系统的详细设计方案。本章从图元库的设计、图形组态模块的设计、实时数据的发布和数据库设计几个方面对系统进行了详细的分析。第五章为系统实现,利用WebServices技术实现了本系统与煤矿联网系统的集成。第六章为论文总结和展望部分,总结本文做的研究和工作,指出今后有待进一步研究的问题。1.5本章小结本章主要介绍了本课题的应用背景、意义、国内外研究现状、系统的特点和主要研究的内容。5
重庆大学硕士学位论文2系统关键技术分析2系统关键技术分析本章首先是对基于Web的实时监控系统中动态页面如何发布和异构系统之间的数据如何交互两个方面进行相关技术的分析和研究,通过对现有技术的比较,进一步得出本系统的关键技术方案。最后也对图形组件化技术进行了分析和介绍。2.1动态页面发布技术在基于Web的图形监控系统中,Web客户端页面是监控系统的窗口,用户通过该Web页面实现对现场情况的监控,客户端页面对实时数据的展示情况直接影响到用户体验,因此需要一种方法用于对实时数据的动态展示。目前常用的Web[21][22]客户端动态页面发布技术主要有:ActiveX、Flash、JavaApplet和SVG等,下面将简单介绍这几种技术。ActiveX技术是微软提出的利用对象模型COM及相关技术实现网络中基于不[23]同语言开发的应用组件之间的交互技术。利用ActiveX技术设计的ActiveX组件与HTML相结合,能使用户观测现场监控画面,了解矿区现场情况。由于服务器和Web客户端通常位于不同的地方,只能通过网络连接,因此要想实现Web端与服务器的数据通信就需要通过添加网络传输控件方式来实现,通过该控件对Web服务器上ASP页面的访问,实现了对服务器数据库的访问,从而实现了ActiveX控件与数据库之间的交互。Active控件与Web数据库的交互过程如图2.1所示。浏览器Web服务器数据库服务器HTMLActiveX控件ASPADO数据库图2.1ActiveX与Web数据库的交互过程Fig.2.1InteractionofActiveXanddatabase然而在利用ActiveX技术进行动态页面展示时,对客户端浏览器的要求相对较高,并且在客户端部署ActiveX组件也相对较难。同时,由于ActiveX是基于微软6
重庆大学硕士学位论文2系统关键技术分析COM组件的,因此该技术只适用于Windows平台,具有局限性。JavaApplet是基于Java的一些小应用程序,可以通过它们在网页中实现对图形绘制、声音和动画的插入、颜色和字体的控制、网络交流、人机交互等功能。由于JavaApplet是基于Java的,所以有较好的跨平台性,可以运行在不同系统的Web客户端。但由于每次运行客户端监控界面时都需要下载相应的Java程序,所以当网络环境不好时,会降低运行速度,影响用户体验。SVG,是可缩放矢量图形(ScalableVectorGraphics)的简称,SVG标准由权威的W3C组织制定并推荐,它基于XML(ExtensibleMarkupLanguage,可扩展标示语言)格式,继承了XML的跨平台性,是一个全新的标准开放的矢量图像和动画格式。虽然Flash也能提供矢量图像和动画功能,但Flash是基于二进制格式的,不能实现文字检索功能,而且Flash在与脚本语言交互方面也比较受限,需要借助[24]于其他技术才能实现。而SVG的文本特性,使SVG文件可以通过文字检索的形式被检索到,也意味着可以直接用记事本生成SVG图像,方便了对SVG图像的更新和二次修改。SVG也完全符合DOM(DocumentObjectModel,文档物件模型)规范,可以通过JavaScript脚本直接操控SVG文件里面的DOM节点,实现数据交互。将SVG可视化技术应用于监控系统的客户端数据展示已成为一种新的趋势。2.2面向Web2.0的数据传输与服务2.2.1应用层数据传输协议与技术针对在异构环境下对数据传输的要求,目前流行的分布式传输协议及技术主[25]要有DCOM、CORBA和SOAP等。它们都是基于对象的分布式协议,下面将分别对他们进行介绍。DCOM(DistributedComponentObjectModel)是基于微软COM(ComponentObjectModel)的分布式组件对象模型,支持在Internet、广域网和局域网上不同计[26]算机之间的通信。COM对象实例由COM服务器创建,每个COM对象都支持多个接口,并且每个接口都有相对应的方法。COM对象之间的通信主要是通过COM对象接口指针对COM方法的调用实现。COM规范的定义采用二进制代码级的标准,并不依赖于特定语言,实现不同语言的应用程序的数据交互。DCOM是基于COM应用程序、工具、组件的基础之上的,将这些组件或应用程序重新组合起来形成具有完整功能的应用程序,实现各异构系统之间的数据交换。图2.2为DCOM与客户端之间的通信示意图。DCOM组件具有效率高、开发相对容易等优点,但由于DCOM是基于Windows平台的,因此DCOM没有良好的跨平台性,难以与第三方进行交互。7
重庆大学硕士学位论文2系统关键技术分析DCOM协议协议栈协议栈安全提远程安全提远程供器调用供器调用客户COM运行库COM运行库客户图2.2DCOM与客户端的通信Fig.2.2DCOMcommunicatewiththeclientCORBA(CommonObjectRequestBrokerArchitecture)是由OMG(ObjectManagementGroup)制定的一种面向对象的实现各应用程序数据交互和相互操作[27]的规范。CORBA的组成部分包括:对象请求代理ORB、公共设施、应用接口、域和对象服务。其中ORB为最核心部分。ORB可看作是建立用户与服务关系的中间件,通过该中间件,用户可以透明的调用服务对象所提供的服务,而并不需要知道该服务对象的具体位置,即服务对象可以运行在本地机器上,也可以运行在[28]其他机器上通过网络与客户进行交互。ORB首先会截取客户发出的请求,然后在软件总线上找到相对应的服务对象,然后完成相关方法、参数的调用,并返回[29]最终的结果,实现数据交互。图2.3显示了CORBA应用程序各部件之间的调用关系,ORB在CORBA客户与服务器传递方法调用和相关信息。客户机应用对象实例框架存根stubSkeleton基本对象ORBSmartAgentCORBA适配器图2.3CORBA应用程序结构Fig.2.3CORBAapplicationstructure8
重庆大学硕士学位论文2系统关键技术分析CORBA虽然能实现各异构系统间的数据交互,但它的缺点是要求每个应用系统都要使用相同的ORB产品。SOAP(SimpleObjectAccessProtocol)简单对象访问协议是在分散或分布式的环境中交换信息的简单协议,是计算机网络Web服务中默认的消息传递方式。它将XML与Web技术完美的结合,提供了一种新的实现异构系统集成和数据交[30]互的手段。相比于其他协议,SOAP协议还具有如下优势:①DCOM或CORBA在对单个企业的某一部门实现数据集成方面,有一定的优势,但对于网络环境下的异构系统,使用DCOM或CORBA就有自己的局限性,数据之间的通讯明显表现出不足。主要原因在于DCOM是基于Windows平台,应用受到限制,而CORBA虽然与平台无关,但由于其相互通信的系统都需要运行ORB产品,其应用限制也比较苛刻。而SOAP消息传递是基于XML的,与应用系统平台无关,并且SOAP使用的HTTP协议能与目前的通信技术实现最大限度的融合。②使用DCOM和CORBA容易受到防火墙的拦截,使其在网络环境下应用受到限制。而在使用SOAP传输数据时,由于SOAP是基于HTTP协议通信的,而HTTP协议又是网上公认的协议,因此使用SOAP可以不受限制的穿越防火墙。③由于使用DCOM和CORBA专用性较强且需掌握较高技术,因此比较不容易实现。而SOAP只需利用现在已经很成熟的HTTP和XML协议即可,因此相对容易实现。通过上面对各数据协议的比较,很容易发现SOAP方式比DCOM和CORBA方式有较大的优势,因此本文最终选择SOAP方式作为本系统的数据传输协议,而SOAP是WebServices框架中默认的消息传递方式,因此本系统选择WebServices用于实现各异构数据的集成。2.2.2WebServices基于Web的煤矿图形化实时监控系统是一个分布式系统,该系统可以集成于煤矿人员定位、瓦斯报警等系统,从而将各种异构异地的数据和资源连接起来,[31]达到资源共享的目的。然而,这些应用系统往往是基于不同的平台和语言开发的,并且运行在不同的数据库和操作系统上,导致了它们之间的通信协议不一致,很难实现数据共享。而随着信息化的发展,几乎所有的应用程序都需要与运行在其他异构平台上的应用程序集成并进行数据交换,因此如何实现异构系统间的集成,实现数据交互,就成了一个关键问题。而WebServices技术就是在这种背景下产生的。WebServices是一个自包含的、松耦合的、平台独立的、基于可编程的web的应用程序,可以通过XML标准来描述、发现、发布、配置和协调这些应用程序9
重庆大学硕士学位论文2系统关键技术分析[32]。WebServices默认SOAP为消息传递方式,并通过HTTP协议传送XML数据格式,实现各系统之间的数据交互。WebServices打破了各种设备、网站和软件应用之间的格格不入的状态,实现了异构系统无缝集成的目标。在构建Web服务时,主要使用下面几个关键的技术和规则:[33]①XML(可扩展标记语言):是WebService描述数据的基本格式并且是与平台和厂商无关的。[34]②SOAP(简单对象访问协议):基于XML格式的,是WebService平台默认的数据传输协议,通过HTTP协议实现各系统之间的数据交互。③WSDL(Web服务描述语言):定义Web服务的接口规范,描述Web服务之间如何通信的基于XML的消息格式。④UDDI(UniversalDescription,DiscoveryandIntegration):Web服务的功能注册表,它能通过标准化的方式来储存各种服务信息。通过UDDI能发现和发布各种服务,再通过统一的方法实现对服务的调用。实际上,WebServices的主要目标是跨平台的可互操作性。为了达到这一目标,WebServices完全基于XML、XSD等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。由此可以看出,使用WebServices的优势在于:①跨防火墙通信。由于客户端和服务器之间通常会有防火墙或者代理服务器,因此当有成千上万的用户与服务器通信时,使用DCOM就会变得比较复杂,且不利于对客户端程序的发布。如果使用传统的做法,选择用浏览器作为客户端,写下一大堆ASP页面,把应用程序的中间层暴露给最终用户。这样做的结果是开发难度大,程序很难维护。因此如果使用WebServices技术,将中间层换成WebServices的话,用户界面可以直接调用中间层组件,不仅缩短了周期还减少了代码复杂度。②应用程序集成。由于企业经常需要把用不同平台开发的程序集成起来,而通过一般方法集成将花费大量精力。因此如果使用WebService技术,通过标准的方法把应用程序的功能和数据"暴露"出来,供其它应用程序使用,就能实现不同系统间的集成③软件和数据的重用。WebServices不仅可以重用代码,还可以重用代码后的数据,因此在使用WebServices重用软件时,不必先从第三方购买、安装软件组件,再调用这些组件,只需要直接调用远端的WebServices就可以了。WebServices主要提供一些服务接口供客户端远程调用,而客服端只需要通过格式化的XML消息机制来实现对这些服务接口的访问,并不需要知道服务是如何实现的。WebServices将所有实体都被抽象成服务,是一种面向服务的体系架构,10
重庆大学硕士学位论文2系统关键技术分析具体分为服务提供者(ServiceProvider)、服务请求者(ServiceRequester)、服务代理(ServiceBroker)三种角色。服务的提供者即服务的所有者,主要是将服务接口发布到服务器上供其他服务调用,提供了服务的平台;服务请求者从应用角度上主要指需要请求特定功能的企业,用于向服务器发送SOAP消息获取所需要的服务;服务代理是将服务提供与服务请求联系起来的桥梁,服务提供方在这里发布服务,[35]服务请求方在这里查找相应的服务,获取服务的绑定信息。与三种角色相对应有发布(Publishing)、查找(Finding)、绑定(Binding)三种操作。发布是指服务提供者将服务进行一定的描述并注册到服务器上,服务提供者需要通过注册服务器的身份验证,才能对服务描述信息进行修改;查找主要分为浏览和直接获取两种查找模式,服务请求者根据注册服务器提供的规范接口发出查询请求,以获取绑定服务所需的相关信息。绑定主要是指服务请求方通过分析从注册服务器中得到服务调用的参数、服务的访问路径、安全要求、返回结果、传输协议等服务绑定信息,对自己的系统进行相应配置,进而远程调用服务提供者所提供的服务。WebServices体系架构如图2.2所示。服务提供者注册发布发送请求的服务提供服务发布服务发现服务服务请求者服务代理联系服务提供者和请求者图2.4WebServices体系架构Fig.2.4WebServicessystemarchitecture2.3组件化技术分析组件是独立于特定的应用程序和设计语言、自包含和可重用的软件成分,这些软件成分可以很容易的被组合到更大的程序当中而不用考虑其本身的实现细节。在一个系统中,组件是一个可替换单元,因此,软件系统更易开发且具有更大的灵活性。组件技术被认为是面向对象技术的延伸,与面向对象技术相比组件技术注重于宏观层次上对模块(即组件)的划分,确定模块之间划分的合理性和依赖性,11
重庆大学硕士学位论文2系统关键技术分析[36]而面向对象技术更注重于应用程序的微观层次,关心数据如何封装成对象。用户使用组件技术不必关心组件的实现细节,只需要调用组件提供的相关接口即可实现对组件的调用。当用户需求发生变化时,并不需要对整个系统进行修改、编译,而只需对受影响的组件进行修改编译,然后重新组合就能得到新的软件。组件在设计的时候都拥有与具体实现相对应的规范,这种规范定义了如何对组件进行封装,主要包括如何封装组件的相关属性和事件、不同组件之间如何相互组合、如何为其他组件或功能模块提供公共接口。如果所有组件都符合了相应的规范,那他们之间的交互操作就变得非常简单,完全不需要额外编写代码。这[37]种集成方式被称为即插即用(plug-and-play)集成。在对SVG图元库的创建和管理中使用组件化技术会具有如下优势:①图元重用。使用组件化技术把每一个图元封装成一个相对独立的对象,当需要对图元进行操控的时候,只需要调用该图元对外开放的接口即可。②易于扩展。由于每个图元是相对独立的,所以当用户需要增加或修改图元时,只需要通过组件化技术进行添加或修改相应图元,不需修改系统的其他部分。③更加专业化。通过组件化技术对专业图元的封装,使用户在图形绘制的时候能绘制出专业的图元,使系统更加专业化。2.4本章小结本章主要对煤矿图形监控系统所涉及到的关键技术进行了分析,首先对ActiveX、Flash、JavaApplet和SVG等技术进行了比较分析,并选择SVG作为Web前端显示技术,然后分析了面向Web2.0数据传输技术,并选择WebServices技术实现与其他异构系统集成和数据的共享。最后对组件化技术进行了分析,并分析了组件化技术在本系统所具备的优势。12
重庆大学硕士学位论文3系统可行性分析3系统可行性分析本系统以煤矿行业为应用背景,设计一个图形化的远程实时监控系统,该系统是通过矢量图形的方式展示当前矿区的设备信息,实现了对煤矿井下信息的远程监控。该系统主要分成三个部分,首先是利用组件化技术构建基于SVG的面向煤矿安全生产管理的基本图元库;其次是利用建立好的SVG图元库,对煤矿井下设备运行情况进行图形仿真,实现实时数据的图形化展示;最后,充分考虑系统的可扩展性,将该系统集成于其他的一些监控系统,实现各异构系统的数据交互。3.1应用背景煤炭作为我国的主要能源,是我国经济维持长期快速发展的总要保障,在我国经济中占有重要地位。在未来几十年,我国以煤炭为主的能源结构将不会改变,煤炭依旧是我国的主要能源和重要原料,因此煤炭的安全生产受到国家的高度重[38]视。虽然近几年煤矿的开采已经逐渐规范化,开采技术也有所提高,但是煤矿的安全问题仍然是煤矿生产的主要难题,制约着煤矿生产的发展。据统计,2011年,全国煤矿发生事故1201起、死亡1973人,虽然已下降14.4%和19.0%,但远[39]远高于世界平均水平。在社会安全事故、自然灾害、公共卫生事件和事故灾难四类突发事件中,影响最为恶劣,损失最为惨重的都是在事故灾难中发生的。如何提高煤矿安全,最大限度的降低人员伤亡成了煤矿行业急需解决的关键问题。煤矿出现事故的原因是复杂和多方面的,有宏观因素,有微观因素;有自然的原因,也有人为的原因。但几乎所有的煤矿事故都是由于没有及时了解到井下设备运行情况和井下地理信息,从而导致了灾难的发生。例如煤矿中最常见的瓦斯爆炸事故,我们可以在矿井下安装相关气体检测设备,通过该设备检测当前瓦斯等相关气体的浓度,并实时传递相关数据到监控系统中,通过系统对当前数据的分析,如果发现有瓦斯泄漏或其他安全事故,系统会马上报警通知矿下人员撤离矿井并检查泄漏原因,有效的预防事故,避免了灾难的发生。因此煤矿灾难的最主要原因在于生产技术的落后,没有及时的对生产技术进行更新换代。所以加大对煤矿生产技术的投入,建立安全的煤矿监控监测系统,对煤矿的安全生产具有重要意义。目前,国内各级煤矿都已经安装了安全监控系统,如KJ90、KJ95、KJF2000,但都还存在一些问题。一方面各级管理部门缺乏有效的监管手段,使煤矿监控系统不能充分发挥应有的作用,另一方面,现在大部分系统主要作重于参数的监测和控制,而以图形动画的方式展现井下设备状态和地理信息的形式较少。虽然也13
重庆大学硕士学位论文3系统可行性分析有一些监控系统以图形的形式对井下设备和地理信息的显示,但这些系统大部分是以栅格图形的形式来展现井下的地理信息,仅仅能够实现井下地理信息的可视化,对井下地理信息的操作控制以及信息采集和变更等要求,均无法满足。由于煤矿行业危险性大、长期的地下作业等特性,对矿区的可视化研究就变得尤为重要。可以说煤矿安全生产的方方面面都要用到图形可视化技术,如矿区地理信息管理、井下设备管理、人员轨迹查询、煤矿建设和设计决策等方面。在煤矿行业中使用的可视化软件不仅要求具有图形输入、数据监视等功能,还需要能对监测的数据进行远程控制,方便各地的专家通过实时数据诊断故障,并提出最优的解决方案。3.2需求分析3.2.1功能需求①图形组态功能在对煤矿图形监控系统的开发中首先需要实现的功能就是图形界面组态的功能。该功能主要是实现对矿区现场设备的真实模拟,在实时监控时能进行友好的人机交互。而由于在实际的组态过程中,有许多图形是相同的,只是使用在不同的区域,如风机、水泵、皮带等。将这些经常使用的图形在作图时以图元的形式描述出来,在实际作图中只需简单的引用即可。预先设计图元有以下好处。首先图形界面开发变得简单,用户只需对图元简单的拖拽就能完成图形绘制。其实,通过专业工具绘制的图元可以实现煤矿图形的标准化,规范化,特别是在用户需要某个设备表示方法时,不必逐个修改已作好的图形,只是简单修改某个图元即可,将图元制作从图形界面的开发分离出来。因此在进行系统开发时,首先需要建立矿区图元库,对各个图元进行组态化设计。图形监控界面主要分为两种:一种是各个矿区或者子公司总体监控。通过该监控界面能观测到各个矿区或子公司的数据上传情况和是否有异常数据。另一种则是对矿区井下设备的详细监控。主要表现在监控界面要根据实时数据的变化而周期性的刷新动态图形(如实时数据显示、设备实时动画、设备控制按钮等),这些图形是工作人员根据当前矿区的实际情况动态添加上去的,通过与监控测点的绑定,能真实表现出当前矿区和矿井下的设备运行状况。而这两种监控界面又是相关联的,通过总体监控界面可以进入到具体矿井的详细监控界面,对各个矿区的详细信息进行监测。②实时监控功能实时监控为煤矿图形监控系统中最核心的功能,通过该功能就能实时监测矿井下的设备信息,并能对相关参数做出控制。通过对当前煤矿行业分析,发现煤14
重庆大学硕士学位论文3系统可行性分析矿监控系统在对矿井下测点和设备监控的时候监控画面必须显示各种实时信息,包括重要数据显示、设备动画显示、人员位置显示等,画面上信息的显示状态是随着实时数据的刷新而变化的。因此,在对煤矿现场进行监控时,要不断的访问实时数据库,并根据得到的数据刷新监控界面。对于已构建的图元对象,在系统的数据库中都有相关的描述信息,每实例化一个图元对象,也会在系统数据库保存该实例化图元的信息,通过这些信息系统就能知道该图元的类别、具体位置及其关联的对象。所以在开发图形监控界面时,用户还需要将界面上的图形对象与煤矿现场设备或测点绑定起来,使得监控界面能动态实时反映当前所监控设备或测点的信息变化。要想在Web客户端实现实时数据的显示,就必须先获得矿区现场的实时数据。当前矿区在矿区现场的实时数据主要是通过现场监控系统首先将矿井下的数据上传到矿上,再由矿上根据相关协议上传到局里,最后再解析到实时数据库并通过Web服务将数据发布出来。Web客户端调用相关服务接口,实现对数据的实时监控。因此本系统在研究时,还应考虑到实时数据的获取,即数据是怎么进行通信的。系统网络结构如图3.1所示。数据采集服务器双机设备应用应用客户端Web服务服务服务数据存储器器器中心数据交换防火墙核心交换机矿矿矿123图3.1系统网络结构Fig.3.1SystemNetworkArchitecture15
重庆大学硕士学位论文3系统可行性分析数据采集服务器:用于实时采集矿段生产数据。采集服务器采用两台机器构建双机热备模式,保证始终有一台数据采集服务器能处于正常工作状态,确保系统工作正常。这是系统的一种自我恢复能力体现。采集服务器故障会导致整个现场环境、人员监控、煤炭调运系统处于失控状态,严重影响调度与决策。数据存储中心:用于存储实时采集数据、业务数据、其它第三方数据。采用双机设备与磁盘阵列保证存储系统可靠运转与数据不会丢失。在一定的硬件设备支撑下可以保证系统可用性达到99.9%。WEB服务器:用于发布内网信息与外网信息门户,提供网络访问接口,处理相关数据。防火墙:用于系统安全防护,防治非法入侵。③异构系统集成当前已有很多应用系统应用于煤矿监控和系统管理,但由于各个系统采用的体系结构、应用技术、应用领域及管理对象都不尽相同,导致了各个系统自成体系,数据交互困难,系统间难以集成。因此本系统需解决各个子系统中数据的异构问题,实现子系统之间的数据共享。3.2.2性能需求①数据实时性矿区底层监控设备以几秒/次的速率采集实时数据,并上传到数据服务器,用于监控界面的实时显示,因此监控界面的数据刷新必须满足数据上传速率。本系统使用Ajax技术来实现界面的无闪烁刷新,可以满足数据的实时显示。②图形动画本监控系统在进行实时监控时,主要对矿区井下测点监控和仪表仪器的数据显示,所以不存在大量的复杂的图元动画的情况,在图元动画方面对系统的性能要求不高,用SVG进行动画展示完全满足当前要求。③适应性该系统用于煤矿行业的实时监控,因此必须遵守煤矿行业对监控系统的相关规定,由于当前矿区图纸大部分是用AutoCAD绘制而成,所以本系统设计必须兼容以前的矿区图纸。图元的设计也需要根据矿井下的实际情况设计煤矿行业的专有图元,并根据实时数据接口设计对应的图元接口。3.3SVG技术可行性分析本文在第二章对动态页面发布技术进行了分析,通过对当前技术的比较,选择SVG作为本系统的Web客户端的动态页面发布技术,下面将分别从SVG描述矿图的可行性和矿图文件格式转换两个方面对该技术用于煤矿监控系统的可行性16
重庆大学硕士学位论文3系统可行性分析进行分析。3.3.1SVG描述矿图可行性分析SVG标准不是为了某一种应用而制定的,但它的许多特性都被广泛的应用于矿图的信息处理中,将通过下面几点来说明:①SVG提供了文字(text)、路径(path)、圆(circle)、直线(line)、图标(symbol)、图像(image)等丰富的对象,通过对这些图形对象的组合完全能够满足煤矿图元描述的需要。在进行图形组合时,可以对这些图形对象设置不同的显示样式和属性来实现不同的显示效果。由于SVG是基于XML格式的,所以在对图形对象属性的获取或赋值时可以调用getAttribute或setAttribute方法,方便了对图形对象的[36]操控。SVG里面还定义了许多容器标签,如: