您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 变电站自动化系统中嵌入式Web服务器的设计与实现
变电站自动化系统中嵌入式Web服务器的设计与实现摘要:针对传统Web技术路线方案用于构造变电站自动化系统中Web服务器存在的困难,提出嵌入式技术开发变电站自动化系统中嵌入式Web服务器的基本思想。本文结合变电站监控系统产品开发实例,介绍了嵌入式Web服务器的功能,给出了系统基于三层B/S结构的瘦Web服务器体系结构,详细阐述了嵌入式Web服务器实现的一些关键技术,包括:采用自定义数据点标记使得网页设计与服务器程序分离,系统具有灵活性和可扩展性;提出数据点基于“点”和基于“面”的双重复用技术,满足嵌入式Web服务器有限资源约束;集成嵌入式JavaApplet和JavaScript实现中间代理机制,解决了变电站自动化系统中大量数据点实时动态刷新的;采用PPP链路提供远程访问接入服务和发送邮件等。变电站自动化系统这种基于嵌入式Web服务器的远程监控维护方式将有效降低系统监控运行维护成本、提高监控运行维护效率,因而具有很大的应用前景和推广价值。关键词:嵌入式Web服务器;变电站自动化系统;自定义标记;数据点复用;嵌入式Java;PPP中图分类号:TM77;TP3930引言Internet技术应用于变电站自动化领域将导致该领域传统运行维护模式的一场变革:将Web服务器“植入”变电站自动化系统后接入Internet,在世界上任何一个地方即可通过网络浏览器从Internet获取该Web服务器发布的系统实时信息,进而实现远程实时控制、调节与维护;并且,这种基于HTML标准化的Web用户界面降低了为不同操作平台而定制人机界面的开发费用、通信费用、人员培训费用和系统升级维护费用。显然,变电站自动化系统这种基于Web的远程监控维护方式将克服传统本地监控维护方式[1]存在的低效率、高成本的缺陷。但是,传统的Web技术路线方案[2,3]不能直接用于构造变电站自动化系统中的Web服务器。传统Web服务器以具有高运算处理能力和海量存储容量的工作站或PC机为硬件工作平台,以非实时操作系统为软件工作平台,其上运行的是大型复杂的服务器程序,典型的如基于WindowsNT的IIS(InternetInformationServer)、基于Unix的ApacheWebServer等,服务器的这种高档配置方案对于大量使用8位、16位或32位单片机的变电站自动化系统而言是不现实的要求。基于嵌入式技术[4,5]的嵌入式Web服务器的出现为解决以上问题开辟了一条崭新途径。嵌入式Web服务器以8位、16位或32位单片机为硬件工作平台,以嵌入式实时多任务操作系统(RTOS)为软件工作平台,其上运行小型精简的服务器程序。已有嵌入式Web服务器的成功开发案例主要集中于通信领域中的路由器、交换机、网络视频监控等产品,这类产品的共同特征是监控数据点较少,而变电站自动化领域中的嵌入式Web服务器需要处理的是大批量的采集监控点,这方面的报导甚为少见。本文以开发烟台东方电子高压变电站综合自动化监控系统DF3600中嵌入式Web服务器的项目实践为例,阐述应用嵌入式技术开发变电站自动化系统中嵌入式Web服务器的一般性设计和一些关键实现技术。1系统功能需求主要包括以下七个方面。1.1实时数据与数据动态发布功能实时数据包括遥测、遥信、电度、时钟信息等,历史数据包括事项信息、保护动作信息等。嵌入式Web服务器将实时数据和历史数据以网页形式发布到Internet网上,且动态实时刷新,远方客户通过接入Internet浏览该服务器发布的高压监控系统实时信息。1.2参数设置功能参数包括运行参数和设备状态参数,如遥测、遥信、电度的初始值、整定系数、满度值等。Web服务器接收到远方客户提交的参数设置请求后执行参数写入操作。1.3远程实时控制功能控制功能包括遥控、遥调、同期操作和定值切换。Web服务器接收到远方客户提交的控制操作请求后,下发控制命令驱动监控系统中相应的执行机构。1.4文件下载与上传功能下载和上传的文件是指系统、模块和端口的配置信息参数文件。下载功能是将参数文件从Web服务器方下载到客户方,上传功能是将参数文件从客户方上传至Web服务器方。1.5电子邮件告警(SMTP)功能电子邮件告警功能用于当变电站设备运行出现异常时,Web服务器通过Internet自动发送电子邮件,及时通知管理人员进行设备维护。此外,在系统正常运行期间,还可以根据用户设置,定期向指定的E-mail信箱发送变电站自动化系统运行日志。1.6访问级别设置与权限认证功能访问级别设置不仅提供传统的“基于页面”方式,而且提供灵活的“基于对象”方式,单个设备、数据采集点均可成为“对象”,这样同一页面不同重要等级的数据点可被设置为不同的访问级别,只有权限不低于设备要求访问级别的客户经Web服务器认证后方可进行其权限范围内的监控操作。1.7PPP拨号上网功能Web服务器通过PPP(PointtoPointProtocol)拨号方式接入Internet提供远程访问服务。2系统设计2.1系统体系结构图1系统体系结构嵌入式Web服务器的PC网关体系结构[6]作为现有变电站自动化系统网络化的手段或许可以接受,但从严格意义而言,这不是真正意义上的嵌入式Web服务器,且因此而添加购置的PC机网关提高了系统的整体造价成本。由嵌入式系统自身实现Web服务器功能是真正意义上的嵌入式Web服务器,但若使系统中每一台嵌入式设备都具备Web服务器功能,一则Internet通信协议簇要求CPU的运算速度和存储器的存储容量较高,导致系统造价成本大幅度提高,再则每台嵌入式设备成为Web服务器接入Internnet也无必要。因此较为合理的体系结构方案是:系统中一台配置较高的嵌入式设备完成嵌入式Web服务器功能,其它配置较低的嵌入式设备完成数据采集和控制功能。本监控系统即是基于以上思想构建而成,其分层分级分布式体系结构如图1所示,系统由一台通信处理装置(CPU为32位的IntelX86系列单片机)、若干台分布的测控保护装置(CPU为32位的M68332单片机)组成,各装置间以现场总线CAN、FDKBus或以太网互联。通信处理装置采用分层分级模块化结构,Web服务器嵌入其中,主要完成的功能包括:通过现场总线或以太网收集各测控保护装置的采集信息并向Internet发布,接收Internet上的远程客户提交的配置控制命令后下发给测控保护装置执行。2.2嵌入式Web服务器的体系结构如图2所示,嵌入式Web服务器为基于三层B/S结构的瘦Web服务器。其中,HTTPServer和Client间的通信协议采用HTTP1.1,嵌入式实时多任务操作系统pSOS提供TCP/IP协议支持,编程接口为BerkerlySockets4.3,HTTPServer与DatabaseServer间的交互接口为CGI(CommonGatewayInterface)。整个嵌入式Web服务器程序采用ANSIC编写,HTML页面的制作采用MicrosoftFrontpage2000,系统主页面如图3所示。3系统实现关键技术3.1自定义数据点标记网页只提供文件链接功能,欲在网页中显示变电站自动化系统中大量的实时数据,常规是将HTML代码直接集成到程序代码中,如,或者反之将C程序代码集成到HTML标记语言中,这两种方法均要求开发人员对HTML标记语言的语法细节非常熟悉,且网页界面或程序结构的单方面调整都将导致整个系统全盘修改,系统不具灵活性与可扩展性。网页描述语言HTML的精髓在于该语言的“标记”性,各种不同的标记如的具体含义是由Web服务器和Web浏览器进行解析,因此,当现有即定标记不能满足新的需求时,不妨自行定义新的标记,只需自己的Web服务器将自定义标记解析为标准标记,然后传送给标准Web浏览器解析成的Web页面即可。基于以上思想,本系统中定义数据点标记用于在网页中嵌入动态实时数据,再定义如图4所示的数据字典。运行时当客户端发出查看实时数据“GETMethod”请求后,嵌入式Web服务器将相应HTML文件从盘加载到内存进行逐项解析,辩识出标记后,从数据字典中查找该标记对应的Get_Handler指针,用Get_Handler返回的该标记对应的数据点当前值置换图3系统主页HTML文件流中的标记,全部解析过程完成后,嵌入式Web服务器将解析结果通过HTTP协议发送给客户端,经客户端的Web浏览器解析后变为Web页面呈现在客户端面前。以上过程为实时数据查看的实现机制,参数设置和远程实时控制的实现机制基本类同,所不同的是,客户端发出的是“POSTMethod”请求,服务器在数据字典中查找的是“Set_Handler指针”。以上表明,通过自定义数据点标记实现变电站自动化系统Web页面中实时数据点的动态显示和控制,动态数据的网页嵌入设计与动态数据的Web服务器处理程序得以分离,处于一种弱耦合关联状态,这样,网页界面的调整不会Web服务器的程序设计,Web服务器程序的修改也与网页界面设计无关,整个嵌入式Web服务器设计具有了灵活性和可扩展性。3.2数据点复用技术本系统中测控装置和保护装置最大配置为255个,每个装置中的遥测、遥信、电度等采集点又分别最多可达96路,若每个装置对应一个页面,装置中的每一个数据点对应该Web页面中的一个,势必导致系统中所有Web页面文件个数和每个Web页面文件大小趋于无穷。对于以有限资源约束为主要特征的嵌入式系统而言,这种Web页面设计方案不具可行性。解决之一是采用复用技术,提出“基于点”和“基于面”的双重复用技术。以综合测控装置的遥信点为例,系统中所有综合测控装置共用同一Web页面,该页面中的所有遥信点共用一个数据点标记其中,为带参数的自定义标记,用于循环控制,数据点标记表示该装置中的遥信点个数。运行时当嵌入式Web服务器辩识至,该标记将被解析为二维数组变量MsYxVal[devNo][ptNo],其中:devNo为该遥信点所在DF3670类型装置的设备序号(可理解为页面号),devNo由URL中QueryString提交,限于HTTP协议的无状态记忆性,提交后的devNo由HTML文件中的FormHiddenElement记忆;ptNo为该遥信点在装置中的遥信点序号(可理解为点号),ptNo值表征循环标记REPEAT中当前的循环次数。此后,服务器将devNo和ptNo作为参数传给MsYxVal所在数据页面中的Get/Set_Handler函数进行处理,得到返回值置换标记。采用以上数据点双重复用技术后,系统总Web页面文件个数为16,最大Web页面文件大小为5KB。3.3嵌入式JavaApplet与JavaScriptHTML页面技术只提供基于页面的浏览刷新机制,这一机制用于显示只需动态刷新数据点的页面时存在闪烁缺陷,解决的方法是采用Java技术[7]。Java以其平台无关性、可下载性、动态性而成为一种优秀的Internet编程语言,但将Java直接用于嵌入式系统存在以下:(1)Java虚拟机JVM脚本相对存储资源有限的嵌入式系统过于庞大;(2)由于HTTP协议的无状态性,WebServer为响应多个JavaApplet周期性的刷新请求被迫反复的创建再删除TCP堆栈,当请求周期足够短时,根据Heisenberg原理,有限资源的嵌入式系统的CPU将很快达到其处理能力的极限。因此,从这一角度而言,嵌入式系统中允许使用的Applet个数是有限的,但这一限制这对于有大量数据点需实时动态刷新的变电站自动化系统而言是不现实的要求。为解决以上问题,本系统放弃了常规Java虚拟机机制而采用中间代理机制,如图5所示,所有下载到客户端的Applet(包括图形化Applet和数据Applet)与WebServer的交互都需要通过中间代理AppletBroker,该Applet在Web页面上不可视,其功能有两个方面,一是将所有图形化Applet和数据Applet对嵌入式Web服务器的数据请求“整合”后送往Web服务器,另一方面则是将从嵌入式Web服务器接收到的响应分发给相应的图形化Applet和数据Apple
本文标题:变电站自动化系统中嵌入式Web服务器的设计与实现
链接地址:https://www.777doc.com/doc-2616818 .html