0 引言
Internet网络技术应用于变电站自动化领域将导致该领域传统运行维护模式的一场变革:将Web服务器“植入”变电站自动化系统后接人Internet,在世界上任何一个地方即可通过网络浏览器从Internet获取该Web服务器发布的系统实时信息,进而实现远程实时控制、调节与维护;并且,这种基于HTML标准化的Web用户界面降低了为不同操作平台而定制人机界面的开发费用、通信费用、人员培训费用和系统升级维护费用。显然,变电站自动化系统这种基于Web的远程监控维护方式将克服传统本地监控维护方式”’的低效率、高成本的缺陷。
但是,传统的Web技术路线方案[2,3]不能直接用于构造变电站自动化系统中的Web服务器。传统Web服务器以具有高运算处理能力和海量存储容量的工作站或PC机为硬件工作平台,以非实时操作系统为软件工作平台,其上运行的是大型复杂的服务器程序,典型的如基于Windows NT的IIS(Internet lnformation Server)、基于UNIx的APACheWeb Server等,服务器的这种高档配置方案对于大量使用8位、16位或32位单片机的变电站自动化系统而言是不现实的要求。
基于嵌入式技术[4,5]的嵌入式Web服务器的出现为解决以上问题开辟了一条崭新途径。嵌入式Web服务器以8位、16位或32位单片机为硬件工作平台,以嵌入式实时多任务操作系统(RTOS)为软件工作平台,其上运行小型精简的服务器程序。已有的嵌入式Web服务器的成功开发案例主要集中于通信领域中的路由器、交换机、网络视频监控等产品,这类产品的共同特征是监控数据点较少,而变电站自动化领域中的嵌入式Web服务器需要处理大量的采集监控点,目前这方面的研究报道仍不多见。
本文阐述了应用嵌入式技术开发变电站自动化系统中嵌入式Web服务器的一般性设计方法和一些关键实现技术。
1 系统功能需求分析
1.1 实时数据与历史数据动态发布功能
实时数据包括遥测、遥信、电能、时钟信息等,历史数据包括事项信息、保护动作信息等。嵌入式Web服务器将实时数据和历史数据以网页形式发布到Internet上,且动态实时刷新,远方客户通过接人Internet浏览该服务器发布的高压监控系统实时信息。
1 2 参数设置功能
参数包括运行参数和设备状态参数,如遥测、遥信、电能的初始值、整定系数、满度值等。Web服务器接收到远方客户提交的参数设置请求后执行参数写入操作。
1 3 远程实时控制功能
控制功能包括遥控、遥调、同期操作和定值切换。Web服务器接收到远方客户提交的控制操作请求后,下发控制命令驱动监控系统中相应的执行机构。
1.4 文件下载与上传功能
下载和上传的文件是指系统、模块和端口的配置信息参数文件。下载功能是将参数文件从Web服务器方下载到客户方,上传功能是将参数文件从客户方上传至Web服务器方。
1.5 电子邮件告警功能
电子邮件告警功能(SMTP)用于当变电站设备运行出现异常时,Web服务器通过Internet自动发送电子邮件,及时通知管理人员进行设备维护。此外,在系统正常运行期间,还可以根据用户设置,定期向指定的电子邮件信箱发送变电站自动化系统运行日志。
1.6 访问级别设置与权限认证功能
访问级别设置不仅提供传统的“基于页面”方式,而且提供灵活的“基于对象”方式,单个设备、数据采集点均可成为“对象”,这样同一页面不同重要等级的数据点可被设置为不同的访问级别,只有权限不低于设备要求访问级别的客户经Web服务器认证后方可进行其权限范围内的监控操作。
1.7 PPP拨号上网功能
Web 服务器通过PPP(point-to-point protoc01)拨号方式接人Internet提供远程访问服务。
2 系统设计
2.1 系统体系结构
嵌入式Web服务器的PC网关体系结构[6]作为现有变电站自动化系统网络化的手段或许可以接受,但从严格意义上而言,并不是真正意义上的嵌入式Web服务器,且因此而添加购置的PC机网关提高了系统的整体造价成本。由嵌入式系统自身实现Web服务器功能是真正意义上的嵌入式Web服务器,但若使系统中每一台嵌入式设备都具备Web服务器功能,一则Internet通信协议族要求CPU的运算速度和存储器的存储容量较高,导致系统造价成本大幅度提高,再则每台嵌入式设备成为Web服务器接入Internet也无必要。因此,较为合理的体系结构方案是:系统中一台配置较高的嵌入式设备完成嵌入式Web服务器功能,其他配置较低的嵌入式设备完成数据采集和控制功能。
本监控系统即是基于以上思想构建而成,其分层分级分布式体系结构如图1所示。系统由1台通信处理装置(CPU为32位的Intel X86系列单片机)、若干台分布的测控保护装置(CPU为32位的M68332单片机)组成,各装置间以现场总线CAN,FDKBu:或工业以太网互联。通信处理装置采用分层分级模块化结构,Web服务器嵌入其中,主要完成的功能包括:通过现场总线或以太网收集各测控保护装置的采集信息并向Internet发布,接收Internet上的远程客户提交的配置控制命令后下发给测控保护装置执行。

2.2 嵌入式Web服务器的体系结构
如图2所示,嵌入式Web服务器为基于3层B/S结构的瘦Web服务器。其中,HTTPServer和Client间的通信协议采用HTTP 1.1,嵌入式实时多任务操作系统pSOS提供TCP/IP协议支持,编程接口为Berkerly Sockets 4.3,HTTP Server与Database Server间的交互接口为CGI(common gatewayinterface)。整个嵌入式Web服务器程序采用ANSI C编写,HTML页面的制作采用Microsoft Frontpage 2000。

3 系统实现关键技术
3.1 自定义数据点标记
网页只提供文件链接功能,欲在网页中显示变电站自动化系统中大量的实时数据,常规方法是将HTML代码直接集成到程序代码中,或者反之将C程序代码集成到HTML标记语言中,这两种方法均要求开发人员对HTML标记语言的语法细节非常熟悉,且网页界面或程序结构的单方面调整都将导致整个系统全盘修改,系统不具有灵活性与可扩展性。
网页描述语言HTML的精髓在于该语言的“标记”性,各种不同的标记如,
的具体含义是由Web服务器和Web浏览器进行解析,因此,当现有既定标记不能满足新的应用需求时,不妨自行定义新的标记,只需自己的Web服务器将自定义标记解析为标准标记,然后传送给标准Web浏览器解析成的Web页面即可。
基于以上思想,本系统中定义数据点标记“$%DataMark#$”用于在网页中嵌入动态实时数据,再定义如图3所示的数据字典。运行时当客户端发出查看实时数据“GET Method”请求后,嵌入式Web服务器将相应HTML文件从电子盘加载到内存进行逐项解析,辨识出标记“$%…#$”后,从数据字典中查找该标记对应的Get Handler指针,用Get Handler返回的该标记对应的数据点当前值置换HTML文件流中的$%DataMark#$标记,全部解析过程完成后,嵌入式Web服务器将解析结果通过HTTP协议发送给客户端,经客户端的Web浏览器解析后成为Web页面呈现在客户端面前。以上过程为实时数据查看的实现机制,参数设置和远程实时控制的实现机制基本类同,所不同的是,客户端发出的是"POSTMethod”请求,服务器在数据字典中查找的是"Set_Handler指针”。

以上分析表明,通过自定义数据点标记实现变电站自动化系统Web页面中实时数据点的动态显示和控制,动态数据的网页嵌入设计与动态数据的Web服务器处理程序得以分离,处于一种弱耦合关联状态,这样,网页界面的调整不会影响Web服务器的程序设计,Web服务器程序的修改也与网页界面设计无关,整个嵌入式Web服务器设计具有灵活性和可扩展性。
3.2 数据点复用技术
本系统中测控装置和保护装置最大配置为255个,每个装置中的遥测、遥信、电能等采集点又分别最多可达96路,若每个装置对应一个页面,装置中的每一个数据点对应该Web页面中的一个$%DataMark#$,势必导致系统中所有Web页面文件个数和每个Web页面文件大小趋于无穷。对于以有限资源约束为主要特征的嵌入式系统而言,这种Web页面设计方案不具有可行性。
解决方法之一是采用复用技术,提出“基于点”和“基于面”的双重复用技术。以综合测控装置的遥信点为例,系统中所有综合测控装置共用一个Web页面,该页面中的所有遥信点共用一个数据点标记“$%MsYxVal#%”,则HTML页面文件中遥信点表示为:

其中:$%REPEAT()#$为带参数的自定义标记,用于循环控制;$%DevSeledMYxNum#$数据点标记表示该装置中的遥信点个数。
运行时,当嵌入式Web服务器辨识到$%MsYxVal#$,该标记将被解析为二维数组变量
MsYxVal[devNo汇ptNo],其中:devNo为该遥信点所在DF3670类型装置的设备序号(可理解为页面号),由URL中QueryString提交,限于HTTP协议的无状态记忆性,提交后的devNo由HTML文件中的FormHiddenElement记忆;ptNo为该遥信点在装置中的遥信点序号(可




