1 引言
随着现代通信技术的发展,网络技术特别是基于TCP/IP通信协议的Web技术得到了广泛的应用和普及。在TCP/IP协议基础上建立的HTTP超文本传输协议、FTP文件传输协议、Telnet远程登陆协议以及SMTP邮件协议等协议族构成了Web技术的核心。更重要的是这些协议是开放、标准和独立于系统平台的,利用现有的网络硬件基础,就可以很方便地建立基于TCP/IP网络协议的Internet/Intranet网络系统。Web技术允许任意地点的用户通过Web浏览器接入网络,访问Web服务器发布的各类信息,实现世界范围内的互联[1]。Web浏览器使用的是基于 HTTP超文本协议的HTML超文本模式语言,其标准化的界面表达独立于客户端软硬件平台,极大地节省了客户端人机界面维护工作和使用人员的培训费用。在传统的Web应用中,Web服务器往往与数据库系统或者文件系统并存在一台高性能的计算机系统中,数据库服务器是Web服务器的信息来源,Web服务器则是系统的信息发布中心,它接收来自浏览器的请求,并根据请求生成新的页面发送给Web浏览器,完成信息在网络范围内的传输。Web服务器检索的信息来自数据库系统,实时性要求不高,可以满足常规的查询和检索系统的要求。
为了提高生产效率和管理水平,远程监控和生产过程控制等系统很适合应用Web技术,从浏览器上直接监控现场设备的运行。但作为实时性要求较高的面向任务的系统,必须解决基于Web应用的实时性问题、系统结构问题和安全性等问题。而嵌入式Web服务器技术作为结合了Web技术和现场工作要求特点的一项新技术,是一种很好的解决方案。
本文分析和介绍了嵌入式Web服务器技术,并探讨了其在电力系统中的应用实例和应用前景。
2 嵌入式Web服务器技术
2.1 概述
嵌入式Web服务器(Embedded Web Server, EWS)是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备[2,3]。EWS系统与传统的Web应用相比,简化了系统结构,将信息采集和信息发布都集成到现场的测控设备中。由于有了标准的接口形式和通信协议,内嵌于设备的Web服务器可以向任何接入它所在网络的合法用户提供统一的基于浏览器方式的操作和控制界面,浏览器成了设备的前端控制板[4]。由于Web技术的开放性和独立平台特性,大大降低了软件系统和通信系统的设计、维护工作量,节省了人员培训费用等,提高了现场测试和控制设备的管理水平。
2.2 EWS的硬件结构
EWS的硬件系统是包含了Web通信功能的微型处理器或者微型控制器系统[3],它可以和前端的应用系统直接集成在一起,也可以通过现场总线与应用系统相连。其硬件结构图如图1所示。
一个完整的EWS硬件系统必须具备FLASH ROM存储器用来存储实时操作系统的系统内核、TCP/IP协议栈、各种Web文档;DRAM存储器供系统运行时使用;以太网接口实现与Internet /Intranet连接;前端应用系统的硬件完成传统意义上的应用功能;而微型处理器负责全体的运行和管理。
考虑到性价比,EWS的硬件结构不能很复杂,硬件资源也很有限,FLASH ROM的空间一般为2~4M,DRAM的存储空间一般为8~16M。而实时操作系统的系统内核、TCP/IP协议栈、各种Web文档都必须写入到ROM中和运行时调入到DRAM中运行,这样对EWS的软件系统提出了较高的要求。
2.3 EWS的软件系统
EWS的软件系统包括五个部分[5]:①HTTP引擎;②虚拟文件系统;③配置模块;④安全模块;⑤应用程序接口模块。其组成如图2所示。
其中HTTP引擎负责响应用户的请求、通过虚拟文件系统访问静态数据信息、通过应用程序接口得到动态数据信息。
虚拟文件系统为EWS提供虚拟文件服务,虚拟文件系统使用数据结构存储文件大小、修改时间等信息。对于存储HTML文件需要的动态信息建立数据结构保存脚本的指针和脚本所调用函数的名称。通过虚拟文件系统将Java, GIF, PDF, HTML以及文本等文件形式编译为Web服务器认可的代码,而独立于具体的文件系统。
配置模块使系统管理员可以从任何一台标准的Web浏览器上设置EWS参数,在系统启动中定义的配置环境变量包括并发连接数、Socket端口、主机名称、根文件路径、缺省初始文件以及非活动超时和时区等。
配置模块对标准浏览器的开放使得安全问题更加重要,尤其是对网络设备的配置和控制信息的访问成为安全保护的重点。安全模块通过在服务器上定义安全域和对每个安全域定义的用户名/密码实现对敏感信息的保护。还可以对请求数据采取加密措施实现安全保护功能。
应用程序接口模块实现和嵌入式应用系统的数据交换,在EWS中,应用程序接口与嵌入式操作系统通信,实现对嵌入系统的配置、监视和控制,是EWS软件系统的核心。而应用程序接口模块常见的有CGI(Common Gateway Interface)、SSI(Server Side Include)和HCPA(HTML-to-C Preprocessor Approach)等3种形式。[page]
2.4 基于不同应用程序接口的信息流分析
通过应用程序接口模块可以和嵌入式系统进行动态交换各种数据信息,在不同接口形式下,信息的处理方式和信息流动的途径有较大的差别[3, 6, 7]。
(1)基于CGI接口形式的信息流分析
CGI提供EWS一个执行外部程序的通道,CGI程序经过编译成为可执行文件,放在服务器端运行,其信息流图如图3所示。EWS根据用户的请求调用相应的CGI程序,并由EWS将CGI程序得到的动态信息封装到页面中,发送到用户浏览器上。
CGI接口是EWS系统中最简单的实现方案,但是由于它必须是执行后才可以看到结果,而且编程复杂。故对于嵌入式应用系统而言,必须将程序写入到Flash存储器中才可以进行在线测试,将大大增加开发和维护的难度。
(2)基于SSI接口形式的信息流分析
SSI 接口方法将含有内嵌脚本的HTML页面存储在EWS中,EWS将根据用户请求启动脚本引擎,调入相应带有脚本代码的HTML 页面,脚本引擎与嵌入式系统进行交互,将脚本代码部分替换为实际数据,最后由EWS将替换后的HTML页面发送到客户端。具体的信息流图如图4所示。
SSI接口比CGI接口要简单,便于开发,但脚本引擎的运行必然要影响嵌入式系统的性能。而且脚本以及脚本名称到嵌入式软件系统中的函数和变量名的映射都将耗费EWS的宝贵存储空间。
(3)基于HCPA接口形式的信息流分析
此接口形式与SSI类似,首先生成带有C源码的Web页面,其中的C源码带有标记而且可以和嵌入式软件系统进行简单高效的接口。其处理过程如图5所示,预处理器将Web源页面压缩,提取参量标记,解析HTML页面,最终生成C代码。C编译器将生成的C代码,Web端的C代码和应用系统的C代码连接编译为可执行文件。可执行文件存放在EWS的存储器中,其信息流图和CGI接口下的信息流图类似。
通过预处理器的处理和解析过程,大大减轻了EWS系统的运行负荷,而嵌入C代码和HTML页面解析方法为开发嵌入式系统提供了很大的灵活性。它结合了CGI方式的高效运行和SSI方式的快捷开发的优点,适合于小型、高效的嵌入式应用系统的开发。
2.5 实现EWS的关键问题
(1)资源分配问题
一个好的EWS设计方案一定是一个合理分配系统资源的系统方案。这里主要考虑的是系统硬件资源的分配问题。硬件资源主要包括CPU的计算资源和系统的存储空间资源。
由于EWS的CPU同时承担着应用系统本身的计算、控制等任务负荷,所以EWS进程必须尽可能少的使用CPU的计算资源,尤其是实时监控设备,操作系统一般分配等级低的线程给EWS使用而不影响系统自身的性能。同时EWS采用HTTP 1.1通信协议,明确引入了缓冲控制机制,可以有效减轻CPU的负荷。对多个HTTP事务建立单一持续的连接,而不是对每一个HTTP请求建立各自的 TCP连结,同样可以改善网络和系统的性能。
存储空间的分配主要解决减小软件代码量的问题,上一节分析的HCPA接口方案可以利用生成的可执行文件减少代码冗余,尽可能少地占用存储空间,而简化的实时操作系统内核和TCP/IP协议栈也可以减少存储空间的需要量,高效的TCP/IP协议栈和Web服务器软件只占用大约48k的ROM和16 k的RAM的存储空间。
同时针对不同的应用系统,还必须考虑EWS系统的总体资源配置问题。EWS实现了对现场设备的网络控制,但并不意味着系统的每一台嵌入式设备都必须成为 Web服务器。在设备相对集中的区域可以考虑建立独立的EWS系统,通过现场总线与一定数目的嵌入式设备通信,成为这些设备共同的Web服务器,在系统造价和性能间可以获得更优的组合设计。
(2)安全性问题
由于Web技术的开放性和标准性,其优点有时也是缺点,即必须对访问者有所区分,否则系统的安全将不可预料。没有详细的安全和保密措施的EWS系统是不完整的系统。目前可能的安全策略有[4]:
1)闭环网络访问策略:把网络访问范围局限在Intranet范围内,通过网内的任意PC机上的浏览器就可以进行远程监视、诊断,甚至实现远程控制和参数设置。同时网络是封闭的,所有可能的攻击点全部局限在本网络范围内;
2)回呼策略:当用户在Intranet范围外通过电话拨号的方式访问网内的设备资源时,通过授权的回呼连接,将提供高的安全性能。“回呼”保证了只有授权的电话连接才可以访问Intranet范围内的资源,同时电话号码也要保密,以防止该电话号码被恶意拨打阻塞访问通道,造成“拒绝服务”此类的错误。
3)只读访问策略:对关键信息和敏感信息,一个重要的安全措施就是将其标记为只读特性,尤其是从Intranet范围外的IP地址来的访问请求。这样用户可以在任意地方查看嵌入式系统的状况,出现问题可以及时采取措施。
4)密码和防火墙策略:如果希望实现任意地点的用户对嵌入式系统的控制和参数设定,则必须将防火墙技术引入到Intranet的网关中,必要时还须将其集成到EWS中,根据规则过滤掉外部的数据流。同时所有的数据传送必须加密,访问所有可能受到攻击的点都必须提供正确的用户名和密码才可以访问。[page]
(3)实时性问题
为了解决传统Web技术在实时性方面的欠缺,EWS提供了实时访问的软、硬件平台。EWS采用16位以上的微处理器,内含较大的RAM存贮空间,支持多级中断,具有良好的实时响应性能。而以实时操作系统(如pSOS,QNX,VxWork等)为核心的软件系统提供了TCP/IP协议支持,可以实现HTTP Server功能,充分满足EWS实时性的要求[8]。提高系统实时性的主要措施是降低对系统资源的占用,有关措施在本节的资源分配问题中作了分析。
与EWS自身实时性相对应的还有与EWS相连接的通信系统的实时性问题。目前的解决方案是采用现场总线技术提高通信的实时性,而随着带有区分服务的宽带IP网络技术的成熟,通信系统的实时性将不会成为影响EWS系统的实时响应性能的瓶颈。
3 嵌入式Web服务器技术在电力系统中的应用
电力系统是一个包含了电能生产、传输和使用的复杂系统,各种生产设备地域分布广泛,设备类型众多、数量巨大,对这些设备的监控、诊断和维护成为提高系统管理水平的重要内容。而电力系统经过设备改造后,其硬件基础和信息网络的建设得到了极大的改善,这就为EWS技术在电力系统的应用打下了良好的基础。下面是 EWS技术在电力系统中的应用实例:
(1)基于EWS技术的网络视频监控在电力系统中的应用[9]
基于嵌入式Web服务器技术的远程网络视频监控的原理是在视频服务器内置一个嵌入式Web服务器,采用嵌入式实时操作系统。摄像机传送来的视频信号数字化后由高效压缩芯片压缩,通过内部总线传送到内置的Web服务器。网络上用户可以直接用浏览器观看Web服务器上的摄像机图像,授权用户还可以控制摄像机云台镜头的动作或对系统配置进行操作。该系统主要应用于无人值守变电站、电业局/电厂综合监控系统、现场生产调度指挥系统以及对灾害和突发事件的应急处理,以确保监控场所内设备的可靠运行及人员的安全。相对传统的监控系统而言,它具有节省费用、即插即看、高性能、独立网络环境和设备的灵活接入等优点。
(2)基于EWS技术的远程监测与故障诊断在电力系统中的应用
将 Web技术与监测及故障诊断技术的结合策略有设备端嵌入式Web服务器体系、基于服务的Web服务器体系和综合的多Web服务器的系统体系等3种。其中设备端嵌入式Web服务器体系把Web服务器放在设备处,与设备集成在一起,用户通过Web浏览器监测设备状态,同时可通过浏览器编程的方式来控制设备端的数据采集方式。通过合理分配计算任务,可以充分发挥客户机的强大计算能力,减轻设备端的计算负荷。恰当地把Web技术与设备的监测与故障诊断技术结合起来,将突破监测及故障诊断原来相对封闭的概念框架,是对设备监测与故障诊断技术的提升。
(3)基于EWS技术的保护和控制设备在变电站自动化系统中的应用[4, 10]
将 EWS技术应用在变电站的保护和控制设备中将导致传统变电站自动化领域运行维护模式的一场变革。通过Web浏览器获取EWS中的系统实时信息,进而实现远程实时控制、调节和维护。基于EWS技术的变电站自动化系统可以实现的功能包括:实时数据与历史数据动态发布功能、参数设置功能、远程实施控制功能、文件下载与上传功能、电子邮件告警功能、访问级别设置与权限认证功能、PPP拨号上网等功能。
目前ABB公司开发的“REF542 plus”新一代综合保护和控制继电器中已经集成了EWS技术,可以实现基于浏览器或当地控制装置进行实时控制,国内的东方电子信息产业股份有限公司开发的“DF 3600”系统也可实现类似的功能。
由于电力系统安全运行的重要性,EWS技术在现场监测和控制设备中的实际应用是逐步深入和不断扩展的。而随着TCP/IP技术在变电站通信系统中的应用,特别是带有区分服务的宽带TCP/IP技术应用到设备层和间隔层间的通信,可以满足实时性要求,则能更充分发挥EWS技术的优势,提高远程监测和控制水平。
4 结束语
本文分析和介绍了嵌入式Web服务器技术的主要内容,并以实例说明了其在电力系统中的应用。随着嵌入式Web服务器技术的成熟和发展,其广泛的应用将大大提高测控设备的性能,从根本意义上改变设备的运行和管理方式。在电力系统领域里,基于嵌入式Web服务器技术建立的新型监测和控制系统,将有效降低系统运行维护费用,提高系统管理水平,在电力系统有着广泛的应用前景。
参考文献
[1] Comer D E(美).用TCP/IP进行网际互连(第一卷)[M].北京:电子工业出版社,1998.
[2] ZiLOG Inc.Introduction to embedded webservers[OL/D].http://www.zilog.com/docs/ez80,2002.
[3] SSV Software Syestems. Web server for embedded systems[OL/D].http://www.dilnetpc.com,2002.
[4] Tabara D,Rijanto H,Sabbattini B.Embedded Web technology:adding a new dimension to protection and control[J].ABB Review,2001,(2):16-19.
[5] Hong- Taek Ju,Embedded Web server architecture for Web-based element and network management[D].Thesis of DP&NM Lab,CSE,POSTECH,Korea,2001.
[6] Agranat L D.Engineering Web technologies for embedded applications[J].Internet Computing,1998,(3).
[7] Coelho C N,da Silva D C,Padrao W C.Reengineering embedded systems for the internet[C].15th Triennial World Congress,Barcelona,Spain,2002 IFAC.
[8] 李农(Li Nong).因特网技术在嵌入式系统中的应用(Application of Internet technology for embedded system)[J].测控技术(Measurement and Control Technology),2000,19(4):15-16.
[9] 袁毅(Yuan Yi).基于嵌入式Web服务器的网络视频监控(A remote video surveillance system based on embedded Web server technology)[J].电网技术(Power System Technology),2000,24(5):71-73.
[10] 陈忠,郑时雄,孙延明(Chen Zhong,Zheng Shixiong,Sun Yanming).基于Web的远程监测与故障诊断实现策略(Web based telemonitoring and telediagnosis strategies)[J].华南理工大学学报(自然科学版)(Journal of South China University of Technology (Natural Science Edition)),2002,30(6):30-32.
上一篇:嵌入式频率计的设计
下一篇:基于Mpc823e的bootloader分析和实现
推荐阅读最新更新时间:2024-03-16 13:00