Chinaunix首页 | 论坛 | 博客
  • 博客访问: 165646
  • 博文数量: 207
  • 博客积分: 10280
  • 博客等级: 上将
  • 技术积分: 2600
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-11 11:01
文章分类

全部博文(207)

文章存档

2011年(1)

2008年(206)

我的朋友
最近访客

分类:

2008-10-17 09:57:29

基于嵌入式Internet技术的电网远程监测系统

引言 
      社会的不断进步和科学技术的飞速发展,为电力系统的发展和进步提供了广阔的空间和新的技术手段,对于电网的监测也提出了新的挑战。以往的电网监测装置普遍是基于单片机开发的,在特定时间或地点进行电网的监测操作,精度较低,实时性不高。随着电网不断扩大,原本的监测装置己很难满足实际需要。
      本系统基于近年来新兴的嵌入式Internet技术将嵌入式系统与Internet结合,把公司生产的ARM7微处理器作为系统实现的核心器件,同时利用以太网接口芯片构建一个嵌入式网络系统并将其运用到电网远程监测中。整个设计符合电网远程监测的要求,并克服了传统模式的监测方式,以其优异的性能应用于电网远程监测系统中。
      1.系统总体设计
      基于嵌入式Internet技术的电网远程监测系统是电网监测研究领域的一个崭新的方向。目前为了将嵌入式系统与Internet结合常用的嵌入式Internet技术实现方案主要有以下几种:[1]
      第一种方案是单片机应用系统内部支持TCP/IP协议,它实质上由MCU及内部固化TCP/IP协议的芯片组成应用系统的核心。此方案中,由于单片机使用了TCP/IP协议芯片,因此[1]需要大容量的程序存储器,而且要求MCU有较高的运行速度。应用系统的设计工程师还必须熟悉TCP/IP协议和相关的接口,软件设计复杂,工作量大。
      第二种方案是采用嵌入式微控制器结合通用的网络接口芯片的方法,解决以微控制器为核心的嵌入式系统接入Internet的问题。
      本系统将第二种方案应用于电网远程监测系统的开发与实现,把监测装置作为以太网中的一个独立的节点,使其拥有自己的IP地址,而任何授权的工作站都可以通过Internet实时浏览在线信息。整个电网远程监测系统的结构如图1,其中用户层是远程监测主机,负责实时监测电网运行参数确保电网运行安全。应用层为采用嵌入式Internet技术设计开发的电网远程监测系统,每个监测设备分配一个独立的IP,方便用户层进行数据监测。数据层则为分布在各地的待监测的电网,提供电网运行参数。

      图1电网远程监测系统结构图
      Fig1.Compositionchartofelectricnetworkremotemonitoringsystem
      2.系统的硬件平台
      硬件平台是实现嵌入式Internet接入的基础,本文提出的电网远程监测系统的硬件平台采用ARM7代替了传统的CPU,同时在外围接入电流电压监测模块、功率因数监测模块、键盘输入模块、以及网络通信模块,整个系统的硬件平台结构图如图2。其中微处理器部分采用基于ARM7TDMI内核的LPC2290,它拥有16kB片内静态RAM,32位定时器、8路10位ADC,并且拥有多个串行接口,包括2个UART、高速I2C接口和2个SPI接口,通过配置总线,LPC2290最多可提供76个GPIO。由于LPC2290内置了宽范围的串行通信接口,因此在通信网关、协议转换器,远程监测以及其它各种类型的应用中非常适合。
      网络通信模块是实现嵌入式系统与Internet互联的关键,本系统采用的是通用的以太网控制芯片,它是MAC、PHY、MMU三合一的网络芯片,精度高、速度快,具有10M/100M自适应、16KB大容量FIFO、4路多功能GPIO、掉电特性、全双工工作等功能。由于它拥有3种等级的掉电模式,所以是作为网络设备的理想选择,在全双工模式下,如果连接到一个同样是全双工的交换机或集线器,则可以实现同时接收和发送。通过该芯片可实现嵌入式系统与Internet的互联。

      图2系统的硬件平台
      3.系统的软件实现
      3.1嵌入式操作系统的选择
      嵌入式操作系统是整个嵌入式系统的核心,它具有实时性强、可靠性高等特点,在嵌入式系统中应用广泛。商用的嵌入式实时操作系统比如Vxworks、Nucleaus、QNX等价格比较昂贵,一般不适宜广泛应用。μCLinux是从Linux2.0/2.4内核派生而来[2],适用于没有虚拟内存或内存管理单元(MMU)的处理器,它在标准的Linux基础上进行了适当的裁剪和优化,体积很小,而且保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能,并内嵌了TCP/IP协议。考虑到嵌入式μCLinux的以上优点,本系统选择采用嵌入式μCLinux作为嵌入式的实时操作系统。
      3.2Web服务器的实现
      在电网远程监测系统中,嵌入式Web服务器技术将有效降低系统运行维护费用,提高系统管理水平[3]。本系统将嵌入式Web服务器以及B/S结构模型相结合。其中B/S结构中最底层为数据层,负责从采集电网数据;中间层为信息处理系统,负责将电网中的实时参数写入挂接在这一层的Web服务器中,然后对数据进行统计、分析等处理,最后将处理过的数据实时的以网页的形式发送到第三层客户端,客户端可以通过浏览器直接监测电网运行参数,实现了电网远程监测系统。
      嵌入式Web服务器(EmbeddedWebServer,简称EWS)是实现电网远程监测的重要组成部分和关键技术,利用嵌入式Web服务器可对电网进行监测和实时参数的传输[4]。嵌入式web服务器通过CGI接口或其他方法,可以在HTML文件或表单中运行代码,供RAM读/写数据。在μCLinux下,本系统选择使用一个支持CGI的、非常适合于嵌入式系统的BoaWebServer。在BoaWebServer使用时需要对与Boa相关的文件做一些配置和修改:
      1)建立存放目录
      由于μClinux默认的根文件系统romfs是只读的,不能用mkdir等命令来新建目录,故应在编译内核前先建好要用到的目录,这通过修改../μClinux-dist/vendors/Philips/LPC2200/Makefile文件来实现。在ROMFS_DIRS=bindevetchomelibmntprocusrvar的后边增加home/cgi-bin,这样修改后编译内核,编译好的根文件系统romfs中就包含这些目录了。
      2)指定Web服务器的根目录路径。
      进入../μClinux-dist/user/boa/src/目录,通过修改defines.h文件中#defineSERVERROOT“/home/”语句来指定SERVERROOT。
      3)修改boa.conf文件。修改../μClinux-dist/user/boa/examples/boa.conf主要内容如下:
      Part80
      User0
      Group0
      ServerNameμClinux
      DocumentRoot/home//*设定存放路径*/
      Directoryindexindex.html
      MimeType/home/mime.types
      ScriptAlias/cgi-bin//home/cgi-bin/
      AddTypetext/plain.txt/*可支持的文件类型*/
      AddTypeimage/gif.gif
      AddTypetext/html.html
      AddTypetext/html.htm
      AddTypeimage/jpeg.jpeg
      这样指定后,index.html为远程浏览客户访问WebServer所看到的首页默认值。把C编写的CGI程序编译成二进制文件,存放到../home/cgi-bin/目录下。Boa.conf和mime.types文件必须放到Web服务器根目录下,也就是把bao.conf和mime.types复制到“../μClinux-dist/romfs/home/”目录下。然后在../μClinux-dist/Vendors/Philip/LPC2200/inittab里修改,在“inet:unknown:/bin/inetd”后加“boa:unknown:/bin/boa/home/”。
      配置完成后,重新编译内核。把编译好的内核下载到ARM硬件平台,启动μClinux操作系统,完成IP配置,运行BoaWebServer,然后就可以通过浏览器访问网页了。
      3.3用户与主机间安全交互的实现
      为了在μCLinux系统中实现网页的实时刷新,得到实时电网参数,实现客户端与电网监测系统之间的交互,本系统采用了CGI的方法。当客户端采用FORMPOST形式向Boa服务器发出CGI请求时,服务器守护进程启动相应的CGI程序,CGI程序通过CONTENT—LENGTH获取客户端传输数据的字节数,通过STDIN读取客户端传输数据,这些数据一般是客户端在表单中输入的简单的监控信息。CGI获取这些信息后通过串行通信将这些信息发送到电网监测系统中,等待监测系统模块的应答消息,最后生成网页文件,并且将返回结果嵌入到网页文件中,通过cgi—send—string函数将此网页发送给客户端浏览器。一段时间后客户端浏览器会再次向服务器发送一个CGI请求,相应的CGI函数会查询最新的数据,刷新后将新数据发送给客户端浏览器。这样周而复始,实现了网页的刷新功能,从而保证了远程监测数据的实时性,实现客户端与电网监测系统之间的交互。客户端通过CGI接口与电网监测系统之间交互的关系如图3所示[5]。

      图3用户通过CGI与目标板交互
      Fig.3ClientConnectswithTargetBoardthroughCGI
      同时为了保证远程监测的安全性不被非法侵入,通常嵌入式Internet可以采用:加密和解密(Encryptionandde—eryption)、数字签名(Digitalsignatures)、信息摘要(Messagedigests)、公共密钥基本架构(Public—keyinfiastrueture)、证书(Certifieates)等方法确保网络通讯的安全。本系统采用了用命令识别的方法来保证系统数据传输的安全性,即客户端计算机首先向监测系统发送命令代码,由监测系统分析,确定为请求数据发送命令码再向客户端计算机端发送数据,发送命令代码即相当于发送了身份验证码,从而保证电网数据传输的安全性。
      4.系统的应用
      本系统在成都某电厂的局域网(以太网)的环境里做调试,通过IE浏览器完全实现了电网参数的监测功能:在客户端IE浏览器中输入主网页的地址,进入电网监测系统的主网页,如图4;输入正确的用户名和密码后登陆电网远程监测系统的参数监测网页。在参数监测网页可以监测到电网运行的实时参数。整个系统具有良好的人机界面,操作简单,有效的保证了电网运行安全,大幅提高了电网监测的实时性和有效性。

      图4主网页
      Fig4Thehome
      5.结束语
      本文提出了将嵌入式Internet技术应用于电网远程监测系统的开发与实现,研究了基于嵌入式实时操作系统μCLinux下嵌入式Internet的接入方案以及BoaWeb服务器的参数配置,并提出了利用CGI技术实现网页的实时刷新以及客户端与主机间交互的方法,开发实现了电网远程监测系统并将该系统应用于成都某电厂。实践表明,该系统可以实时监测电网参数,保证了电网的安全运行。本系统的构建代表了新一代监测网络发展的必然趋势,在不久的未来必将具有十分广阔的应用前景.

    本文可能所用到的IC型号:        
阅读(113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~