028-69360699
应用案例分类收起分类展开分类
应用案例
应用案例
RC3000 Web Scada综合自动化监控软件的可伸缩性研究
发表时间:

        【摘要】:针对Web Scada系统中如何更好地适应用户规模变化的问题,分析现有实现方式对建立可伸缩系统的限制,提出了基于WCF技术建立可伸缩的Web Scada系统的解决方案。系统核心是采用面向服务的SOA架构,推送或抓取不同规模用户的数据采集终端的各种数据,对外公布数据访问和推送接口。实现了Web客户端响应推送服务或查询采集数据,呈现到监控页面中。

        【关键词】:Web Scada 系统;可伸缩;监控页面;面向服务;WCF基于Web的Scada系统不仅提高了Scada系统的适应范围,提高了系统的可靠性,也使Scada系统的管理和维护变得更加简单方便,已经成为国内Scada系统事实上的标准。从Windows平台的基于DCOM、ActiveX技术的同构平台,到CGI/PHP,再到SOAP、SOA的异构平台,它涉及了Web数据发布技术、实时图形的生成和处理、客户端图形实时刷新技术、遥控操作图像热点处理技术、系统管理和安全技术等方面[2]。由于Scada系统的特点决定了它必须处理数量变化的远程通讯装置的数据采集。由于当前数据采集技术的限制,数据的采集源点可能千差万别,给Web数据发布带来了可伸缩的要求。可以这样说,能否具有可伸缩性能是决定Web Scada系统能够进入大规模工程实际应用的基础。其他的多项技术都须建立在它的基础之上才会有实际意义。

Web Scada系统的分层设计如下[3]:

        由监控逻辑层处理复杂多变的通讯层变动,为界面层提供一个稳定的数据来源是建立可伸缩Web Scada系统的关键。

        本文拟以一个实际的Web Scada系统的开发为背景,利用.Net Framework 4.0、VS2010以及IIS、HTML技术建立一个可伸缩的Web Scada 系统,其核心是建立介于通讯层和界面层之间的监控逻辑层。通过该层实现与通讯层的可伸缩连接和与Web界面层之间的稳定连接。

        一、现有Web Scada系统模式

        现有的Web Scada 系统主要为了实现采集的数据信息的Web展现,他们都以在Web 页面中实施展现通讯层的数据采集内容为主要功能。由于面对的用户规模不同,出现了比较多的Web Scada 系统,但它们基本都属于以下两类:

        1、 分布式Web Scada 系统(下称分布式系统)

        系统有多个服务器分别处理不同间隔内的远程装置(RTU)数据采集。形成分布式的网络数据库,用户根据需要连接到不同的服务器对其连接的远程装置进行监控。在此结构中,服务中内含Web Server。它可以根据用户规模的不同,增添更多的服务器来满足用户的扩展要求。如下图2。

        2、 集中式Web Scada系统(下称集中式系统)

        系统只有一个服务器分别处理间隔内的远程装置(RTU)数据采集。形成集中的网络数据库,用户可以对其连接的远程装置进行监控。在此结构中,服务中内含Web Server。它可以根据用户规模的不同,增添更多远程装置和采用更好的服务器来满足用户的扩展要求。如上图3。

        二、 可伸缩Web Scada 系统模式

        上述的两种系统模式在解决实际的问题时,存在着各自的优缺点。

        分布式系统的优点是扩展服务器的数量可以适应更大规模的用户需求,它适应用户规模较大的情况,缺点是:如果采用客户端查询方式(client pull)[2]没有更新的数据时也需要定时查询,网络流量大;如果采用服务端推送(server push)[2],则由于需要保持连接通道,使得客户端的数量受到限制。同时,如果要同时监控多个服务器的数据则需要服务器之间要建立相应的联系,会破坏服务器之间的独立性,极大地增加其扩展的代价。

        集中式系统显然没有分布式系统的这些缺点,其优点是:结构简单,数据统一管理,网页设计简单稳定,页面刷新延迟小。但它的缺点也是显而易见的:扩展受限,要增加远程装置的数据,只能提升服务器的性能。它只适应用户规模较小的情况。

        在我们开发Web Scada系统的时,我们提出了以下目标:

        稳定的界面层

        灵活地适用于不同的用户规模

        因为我们的用户分布于各个行业,自动化水平相差很大,我们提出这样的目标是要实现开发和维护成本的最低化。该系统的结构如下图4:

        比较它和分布式系统结构,我们可以看到,Web Server不再内含。它增加了发布网页的Web Server、进行数据管理的数据服务器、进行文件管理的文件传送服务器等等(我们的实际系统中,还包含事件管理服务器、口令管理服务器、数据转发服务器等等)。因为它是按照需要的功能进行配置的,所以它是可伸缩的。比如增加事件短信报警功能,接在网络上加挂一个短信报警服务器。

        在用户规模的可伸缩上,Web Scada Server、数据服务器(历史数据、实时数据)、文件传送服务器、事件管理服务器、口令管理服务器、数据转发服务器等服务器都是可配置的,而且是自动加载的,可以实现在线切换。

        在具体实现方式上,每个服务器均公布WCF接口,按照SOA架构进行开发,每个服务均是可配置(绑定、终结点)的,便于在复杂的网络中进行灵活的部署。此外,数据转发服务器可以增加、修改、删除转发实例,为实现用户规模的可伸缩奠定了基础。部署结构如图5

        三、关键技术的实现

        1、 灵活的数据转发

       我们知道,用户规模不同,远程通讯装置的数量就不同,要为界面层建立一个稳定的数据来源,我们需要建立一个处理系统所有同类数据的服务器,然后把相关的数据都交到该服务器中进行处理,让它进行Web数据发布。以历史数据处理为例,其软件结构如下图6:

        这样,针对多个通讯服务器(对应不同的用户规模),我们在系统中配置对应数量的历史数据转发器,就可以适应用户的远程通讯装置数量的扩展变化。历史数据转发器运行的实例数量根据配置文件自动生成,不仅如此,还必须在服务器系统启动后自动载入,且在运行过程中受到监控。?

        2、 数据服务端推送

        如图1,监控逻辑层向界面层发布数据是实现界面层向用户呈现采集数据的基础,由于我们采用的是SOA架构,模块连接采用WCF接口,所以我们可以很方便地采用建立双向通道的方式实现服务端数据推送[1]。

        如图7,实时数据转发器在从通讯服务器取得实时数据后将实时数据存入实时数据存取服务器,实时数据存取服务器发现数据有变化便使用实时监控画面事先与实时数据存取服务器建立好的回调通道,向实时监控画面推送实时数据。在WCF技术中,一般采用TCP通道,因为它是面向连接的,而Http通道是无状态的,不适合做双向通道,当然,Http也有双向的Http,但是由于它要指定回调的知名端口而使得回调会受到一些限制[4]。

        四、结束语

        采用面向服务的系统结构式我们可以结合Web Scada系统分布式和集中式模式的优点形成可伸缩Web Scada系统,该系统由简洁的数据通讯服务器、数据管理服务器、文件传送服务器、口令管理服务器等组成。它综合了集中式系统和分布式系统的优点。由于通讯服务器负责与远程装置的数据通讯,灵活地部署和配置通讯服务器可以适应不同规模的用户需求,灵活地部署各个功能服务器可以适应用户的不同功能要求,以此形成可伸缩Web Scada系统。今后,还将开发多级热备份功能,故障录播分析服务器、潮流分析服务器、谐波分析服务器、数据预处理系统等行业系统的专用功能服务器。

        二、 文献

        [1] 秦友伦、孟文、易东,Sliverlight在Web Scada中的应用,工业控制计算机,2011,24(9):31-31

        [2] 蒋士林,基于Web的SCADA系统,科技广场,2006,1:32-33

        [3] 沈正、陈锺,基于WCF和SOA的电力SCADA系统研究与开发,中国新技术新产品,2009,No.13:17-18

        [4] Juval Lowy,WCF服务编程(张逸、徐宁译),机械工业出版社,2009

        [5] 蒋金楠,WCF技术剖析(卷1),电子工业出版社,2008

        作者简介:

        曾明昌 (1966- ) 男 四川省德阳人 本科生 研究方向:WCF应用、SOA、网络数据管理


Copyright 2018  成都瑞科电气有限公司 REALCODE ELECTRIC  版权所有  蜀ICP备14026715号-1