摘要:针对传统Web技术路线方案用于构造变电站自动化系统中Web服务器存在的困难,提出应用嵌入式技术开发变电站自动化系统中嵌入式Web服务器的基本思想。本文结合变电站监控系统产品开发实例,介绍了嵌入式Web服务器的功能,给出了系统基于三层B/S结构的瘦Web服务器体系结构,详细阐述了嵌入式Web服务器实现的一些关键技术,包括:采用自定义数据点标记使得网页设计与服务器程序分离,系统具有灵活性和可扩展性;提出数据点基于“点”和基于“面”的双重复用技术,满足嵌入式Web服务器有限资源约束;集成嵌入式JavaApplet和JavaScript实现中间代理机制,解决了变电站自动化系统中大量数据点实时动态刷新的问题;采用PPP链路提供远程访问接入服务和发送电子邮件等。变电站自动化系统这种基于嵌入式Web服务器的远程监控维护方式将有效降低系统监控运行维护成本、提高监控运行维护效率,因而具有很大的应用前景和推广价值。
关键词:嵌入式Web服务器;变电站自动化系统;自定义标记;数据点复用;嵌入式Java;PPP
0 引言
Internet 网络技术应用于变电站自动化领域将导致该领域传统运行维护模式的一场变革:将Web服务器“植入”变电站自动化系统后接入Internet,在世界上任何一个地方即可通过网络浏览器从Internet获取该Web服务器发布的系统实时信息,进而实现远程实时控制、调节与维护;并且,这种基于HTML标准化的Web用户界面降低了为不同操作平台而定制人机界面的开发费用、通信费用、人员培训费用和系统升级维护费用。显然,变电站自动化系统这种基于Web的远程监控维护方式将克服传统本地监控维护方式[1]存在的低效率、高成本的缺陷。
但是,传统的Web技术路线方案[2,3]不能直接用于构造变电站自动化系统中的Web服务器。传统Web服务器以具有高运算处理能力和海量存储容量的工作站或PC 机为硬件工作平台,以非实时操作系统为软件工作平台,其上运行的是大型复杂的服务器程序,典型的如基于Windows NT的IIS(Internet Information Server)、基于Unix 的Apache Web Server 等,服务器的这种高档配置方案对于大量使用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.7 PPP拨号上网功能
Web服务器通过PPP(Point to Point Protocol)拨号方式接入Internet 提供远程访问服务。
2 系统设计
2.1 系统体系结构 (图片)
图1 系统体系结构 嵌入式Web服务器的PC网关体系结构[6]作为现有变电站自动化系统网络化的手段或许可以接受,但从严格意义而言,这不是真正意义上的嵌入式Web服务器,且因此而添加购置的PC机网关提高了系统的整体造价成本。由嵌入式系统自身实现Web服务器功能是真正意义上的嵌入式Web服务器,但若使系统中每一台嵌入式设备都具备Web服务器功能,一则Internet通信协议簇要求CPU的运算速度和存储器的存储容量较高,导致系统造价成本大幅度提高,再则每台嵌入式设备成为Web服务器接入Internnet 也无必要。因此较为合理的体系结构方案是:系统中一台配置较高的嵌入式设备完成嵌入式Web服务器功能,其它配置较低的嵌入式设备完成数据采集和控制功能。
本监控系统即是基于以上思想构建而成,其分层分级分布式体系结构如图1所示,系统由一台通信处理装置(CPU为32位的Intel X86系列单片机)、若干台分布的测控保护装置(CPU为32位的M68332单片机)组成,各装置间以现场总线CAN、FDKBus或工业以太网互联。通信处理装置采用分层分级模块化结构,Web服务器嵌入其中,主要完成的功能包括:通过现场总线或以太网收集各测控保护装置的采集信息并向Internet发布,接收Internet上的远程客户提交的配置控制命令后下发给测控保护装置执行。
2.2 嵌入式Web服务器的体系结构(图片) 如图2所示,嵌入式Web服务器为基于三层B/S结构的瘦Web服务器。其中,HTTP Server和Client间的通信协议采用HTTP 1.1, 嵌入式实时多任务操作系统pSOS提供TCP/IP协议支持,编程接口为Berkerly Sockets 4.3,HTTP Server与 Database Server间的交互接口为CGI (Common Gateway Interface)。整个嵌入式Web服务器程序采用ANSI C编写,HTML页面的制作采用Microsoft Frontpage 2000,系统主页面如图3所示。(图片)
图3 系统主页 3 系统实现关键技术
3.1 自定义数据点标记
网页只提供文件链接功能,欲在网页中显示变电站自动化系统中大量的实时数据,常规方法是将HTML代码直接集成到程序代码中,如(图片),或者反之将C程序代码集成到HTML标记语言中,这两种方法均要求开发人员对HTML标记语言的语法细节非常熟悉,且网页界面或程序结构的单方面调整都将导致整个系统全盘修改,系统不具灵活性与可扩展性。
网页描述语言HTML的精髓在于该语言的“标记”性,各种不同的标记如(图片)的具体含义是由Web服务器和Web浏览器进行解析,因此,当现有即定标记不能满足新的应用需求时,不妨自行定义新的标记,只需自己的Web服务器将自定义标记解析为标准标记,然后传送给标准Web浏览器解析成的Web页面即可。
基于以上思想,本系统中定义数据点标记"$%DataMark#$"用于在网页中嵌入动态实时数据,再定义如图4所示的数据字典。运行时当客户端发出查看实时数据“GET Method”请求后,嵌入式Web服务器将相应HTML文件从电子盘加载到内存进行逐项解析,辩识出标记"$%...#$"后,从数据字典中查找该标记对应的Get_Handler指针,用Get_Handler返回的该标记对应的数据点当前值置换HTML文件流中的"$%DataMark#$"标记,全部解析过程完成后,嵌入式Web服务器将解析结果通过HTTP协议发送给客户端,经客户端的Web 浏览器解析后变为Web页面呈现在客户端面前。以上过程为实时数据查看的实现机制,参数设置和远程实时控制的实现机制基本类同,所不同的是,客户端发出的是“POST Method”请求,服务器在数据字典中查找的是“Set_Handler 指针”。(图片) 以上分析表明,通过自定义数据点标记实现变电站自动化系统Web页面中实时数据点的动态显示和控制,动态数据的网页嵌入设计与动态数据的Web服务器处理程序得以分离,处于一种弱耦合关联状态,这样,网页界面的调整不会影响Web服务器的程序设计,Web服务器程序的修改也与网页界面设计无关,整个嵌入式Web服务器设计具有了灵活性和可扩展性。
3.2 数据点复用技术
本系统中测控装置和保护装置最大配置为255个,每个装置中的遥测、遥信、电度等采集点又分别最多可达96路,若每个装置对应一个页面,装置中的每一个数据点对应该Web页面中的一个"$%DataMark#$",势必导致系统中所有Web页面文件个数和每个Web页面文件大小趋于无穷。对于以有限资源约束为主要特征的嵌入式系统而言,这种Web页面设计方案不具可行性。
解决方法之一是采用复用技术,提出“基于点”和“基于面”的双重复用技术。以综合测控装置的遥信点为例,系统中所有综合测控装置共用同一Web页面,该页面中的所有遥信点共用一个数据点标记(图片) 其中,$%repeat()#$为带参数的自定义标记,用于循环控制,$%DevSeledMYxNum#$数据点标记表示该装置中的遥信点个数。运行时当嵌入式Web服务器辩识至$%MsYxVal#$,该标记将被解析为二维数组变量MsYxVal[devNo][ptNo],其中:devNo为该遥信点所在DF3670类型装置的设备序号(可理解为页面号),devNo由URL中QueryString提交,限于HTTP协议的无状态记忆性,提交后的devNo由HTML文件中的Form Hidden Element记忆;ptNo为该遥信点在装置中的遥信点序号(可理解为点号),ptNo值表征循环标记REPEAT中当前的循环次数。此后,服务器将devNo和ptNo作为参数传给MsYxVal所在数据页面中的Get/Set_Handler函数进行处理,得到返回值置换$%MsYxVal#$标记。
采用以上数据点双重复用技术后,系统总Web页面文件个数为16,最大Web页面文件大小为5KB。
3.3 嵌入式JavaApplet与JavaScript
HTML页面技术只提供基于页面的浏览刷新机制,这一机制用于显示只需动态刷新数据点的页面时存在闪烁缺陷,解决的方法是采用Java技术[7]。Java以其平台无关性、可下载性、动态性而成为一种优秀的Internet编程语言,但将Java直接用于嵌入式系统存在以下问题:(1)Java虚拟机JVM脚本相对存储资源有限的嵌入式系统过于庞大;(2)由于HTTP协议的无状态性,Web Server为响应多个Java Applet周期性的刷新请求被迫反复的创建再删除TCP堆栈,当请求周期足够短时,根据Heisenberg原理,有限资源的嵌入式系统的CPU将很快达到其处理能力的极限。因此,从这一角度而言,嵌入式系统中允许使用的Applet个数是有限的,但这一限制这对于有大量数据点需实时动态刷新的变电站自动化系统而言是不现实的要求。(图片) 为解决以上问题,本系统放弃了常规Java虚拟机机制而采用中间代理机制,如图5所示,所有下载到客户端的Applet(包括图形化Applet和数据Applet)与Web Server 的交互都需要通过中间代理Applet Broker,该Applet在Web页面上不可视,其功能有两个方面,一是将所有图形化Applet和数据Applet对嵌入式Web服务器的数据请求“整合”后送往Web服务器,另一方面则是将从嵌入式Web服务器接收到的响应分发给相应的图形化Applet和数据Applet。这样,若干Applet与嵌入式Web服务器的数据传输次数得以最小化,嵌入式Web服务器对于Applet的响应处理负载得以减轻,系统允许使用的Applet不再有个数限制。
此外,Brower方的控制应用程序采用了JavaSript配合JavaApplet完成与服务器的交互过程。JavaSript用于控制管理Brower方各客户不同的操作信息,通过Querying String或 Form Hidden Element向Web Server提交,Server解析提交信息后置(图片)值,然后下载该Applet, Applet下载至客户端开始运行,首先从(图片)中读取相应信息完成初始化过程,进而开始与服务器的LoginàGetàLogout的循环交互。
3.4 访问级别设置与权限认证
嵌入式设备上网后,安全性问题成为衡量系统性能的一项重要指标。本系统对此采用了访问权限认证机制,其中:设计阶段中的访问级别设置不仅提供传统的“基于页面”方式,而且,提供灵活的“基于对象”的方式,单个设备,数据采集点的DataMark均可成为“对象”,这样同一页面不同重要级别的数据点可被分别设置为不同的读、写操作访问级别,只有权限不低于设定要求访问级别的客户经Web 服务器认证后方可进行其权限范围内的监控操作;运行阶段中权限认证采用JavaScript-Digest方式,相对传统Browser-based的双向可逆Base64加密算法,JavaScript-Digest的MD5加密算法具有不可逆性,因此用户名和密码即使被网上非法用户截获也无法破解,此外,系统权限认证中使用的Cookie驻留客户端Browser内存中而非客户端的硬盘文件中,因此非法用户也无法在客户端从Cookie中获取合法用户名和访问密码。
3.5 Point-to-Point Protocol(PPP)与电子邮件告警(SMTP)
PPP链路一般工作于Server Mode以提供远程访问接入服务,当发送电子邮件告警信息时,PPP链路切换至Client Mode。电子邮件告警信息的发送采用SMTP(Send Mail Transfer Protocol)协议,发送前应设置ISP(Internet Service Provider)为到达电子邮局的出口网关,例如ISP可选用163电信局,电子邮局可选用263邮局。
4 结语
本文重点探讨了变电站自动化系统中嵌入式Web服务器的设计方法与实现中的一些关键问题,嵌入式Web服务器的其它一些功能(包括文件上传与下载、权限登陆与注销等)的实现类同传统Web服务器,限于篇幅,本文不再赘述。
目前DF3600系统已顺利通过北京电科院质检中心的入网测试,表明利用嵌入式技术在嵌入式系统中开发变电站自动化系统中的嵌入式Web服务器是切实可行的。变电站自动化系统基于嵌入式Web服务器的远程监控维护方式将有效降低监控运行维护成本、提高监控运行维护效率,因而具有很大的应用前景和推广价值。
参 考 文 献
1 刘立芳(Liu Lifang). 远程设备实时监控管理系统的设计与实现(The design and implementation of an equipments’ real-time remote monitoring and controlling system). 计算机工程(Computer engineering), 2000 (4 ),Vol.26
2 汪源生(Wang Yuansheng). 基于Web的继电保护信息管理系统的开发与应用(Web-based management information system of relay protection). 电力系统自动化(Automation of electric power systems), 2001 (5 )
3 朱磊(Zhu lei). 基于Web的电力通信网监控系统的设计与实现(Design and implementation of a web-based supervisory control system for the communication network of electric power system). 电力系统自动化(Automation of electric power systems), 2001 (2 )
4 Burton H. Lee. Embedded Internet Systems: Poised for Takeoff. Internet Computing, 1998 (3 ),Vol.2
5 LN Duglas Agranat. Engineering Web Technologies for Embedded Applications. Internet Computing, 1998 (3 )
6 李农(Li Nong). 因特网技术在嵌入式系统中的应用(Application of internet technology for embedded system). 测控技术(Measurement & control technology), 2000 (4),Vol.19
7 Peter van der Linden. Just Java and Beyong. Palo Alto, California: Sun Microsystems Press, 1998
Design and Implementation of Embedded Web Server in Substation Automation System
Jin Min Zhou Xiang Wang Chuanqi Xu Tianjun
(Yantai Dongfang Electronics Information Industry Ltd. , Yantai 264000, China)
Abstracts: Aimed at the difficulty of applying traditional web technology to construct web server in substation automation system, a new ideology of adopting embedded technology to develop embedded web server in substation automation system is proposed in the paper. With an example of developing an substation automation system product, the function and architecture of embedded web server are presented. The key realization technologies are described in detail, which include using custom tags to separate page designing from server programming for the flexibility and expandability of system, putting out the double reuse based on point and page to satisfy the constraint of limited resource in embedded web server, integrating embedded JavaApplet and JavaScript to implement the broker for real-time update of lots of data points in substation automation system, adopting PPP link to provide remote access service an e-mail transmission etc. The remote monitor and control mode based on embedded web server in substation automation system will decrease system running cost and improve maintaining efficiency, which has wide application prospect and popularization value.
Keywords: embedded web server; substation automation system; custom tags; data-point reuse; embedded Java; PPP
注:该文发表于《电力系统自动化》2002年第18期
7/31/2005
|