当前位置:首页 期刊杂志

变电站自动化IED设备嵌入式通信模块的开发

时间:2024-05-18

王伟等

摘 要:在变电站自动化系统中,IED(Intelligent Electronic Device)是采集底层和监控设备信息,并将信息与站控层计算机交互的嵌入式装置。随着变电站自动化技术的发展,变电站对网络通信的要求越来越高,集成了嵌入式以太网的IED成为未来IED一种发展趋势。与传统变电站网络通信系统相比,采用嵌入式以太网技术的变电站网络通信系统的网络带宽大大增加了,网络连接更加智能化,更容易与PC 机和广域网相连,实现变电站的远距离操控,具有很好的应用前景。笔者针对以太网和现场总线相结合的以太网应用模式,提出了一种IED嵌入式通信模块的开发方法。本文不仅给出了硬件结构图,还给出了部分程序。

关键词:变电站自动化 IED ARM Linux Web服务器

中图分类号:TP368.5 文献标识码:A 文章编号:1672-3791(2014)08(c)-0009-02

20世纪末兴起的IED在变电站自动化领域获得了广泛的应用。

IED在电力系统中的应用主要多用于底层来实现数据采集、监视控制与仪表计量、通信控制等功能,而上层应用由于对数据处理与存储能力、人机交互(HMI)、网络通信等方面要求甚高,一般都是由PC系统或局域网(LAN)的形式实现。

随着变电站IED、数字光电流互感器、数字光电压互感器、变压器及GIS等一次设备在线状态监测和变电站运行操作仿真等技术日趋成熟,以及计算机网络新技术在实时系统中的开发应用,使得变电站一次设备和二次设备走向集成化。在基于IEC51850体系的变电站自动化系统中,过程层与间隔层、间隔层与变电站层之间的通信方式将全部采用标准以太网方式,采用TCP/IP协议。

本文接下来将对IED接入以太网的体系结构,IED的硬件、软件结构作详细的说明。

1 IED嵌入式以太网的体系结构

变电站通信的局域网通常采用以太网,因为以太网是一种采用总线型拓扑结构的局部通信网,它的特点是:信道带宽高,误码率很低,具有高度的扩充灵活性和互联性,建设成本低,见效快。

IED接入变电站以太网的方式有很多种,有基于通信服务器的接入模式、基于嵌入式Web服务器的接入模式等等。不管采取哪种模式,嵌入式IED与站控层计算机的通信必须取“瘦”服务器,“胖客户”的策略,即在IED上搭建一个小型web服务器,站控层计算机作为客户机可以对其进行信息访问、控制等操作。

因此变电站IED嵌入式系统只要转变为Web服务器,并装载和解释TCP/IP协议就可以实现和Internet互连。目前的嵌入式网络技术已经可以完全支持基于Web服务器的IED接入模式

2 硬件结构设计

为了构建Web服务器并满足变电站自动化系统的实时性和可靠性的要求,用传统的8位、16位的单片机作为IED嵌入式系统的核心已不能满足需要。因此必须选择更高性能的微控制器作为IED嵌入式系统的核心。

ARM处理具有体积小、功耗低、成本低、性能高等特点,并且具有16/32位双指令集。ARM广泛应用于16/32位嵌入式RISC解决方案中,几乎占有嵌入RISC微处理器市场份额的75%。Linux操作系统因其易裁剪、稳定性强、设备独立性、可移植性良好、提供了丰富的网络功能等优势,成为嵌入式行业中一大主流操作系统。

本文采用的ARM处理器为基于东南大学ASIC工程中心自主设计的嵌入式处理器SEP4020,内嵌100MHz ARM720T兼容内核(MMU+8K Cache),支持Linux和Windows CE 操作系统,提供强大32位处理能力,内嵌10M/100M 以太网MAC,支持设备与网络的互连。

网络接口采用DAVICOM公司的芯片DM9161E,它是一款高性能的网络物理层收发器,采用RMII接口,与处理器内部的MAC控制器实现10M/100Mbps自适应的网口,系统需要的主时钟由外部的50MHZ有源晶振提供。

3 软件结构设计

3.1 操作系统

本文设计的IED嵌入式系统软件部分是基于嵌入式Linux操作系统基础上的。

嵌入式操作系统可以简化应用程序设计,并可有效地保障软件质量和缩短开发周期。嵌入式操作系统大体上可分为两种:商用型和免费型。商用型的实时操作系统:功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵。免费型的实时操作系统:在价格方面具有优势,目前主要有Linux。

针对电力而言,系统的可靠性和实时性是关键。Linux是个与生俱来的网络操作系统,成熟而且稳定。Linux是源代码开放的软件,不存在黑箱技术,任何人都可修改它,或者用它开发自己的产品。Linux系统是可定制的,系统内核目前已经可做得很小。Linux作为一种可裁减的软件平台系统,是发展未来嵌入设备产品的绝佳资源,因此,Linux作为嵌入式系统新的选择,在电力嵌入式系统中应用已成必然。

3.2 Web服务器

IED 网络通信功能的实现可采用嵌入式Web服务器技术。站控层计算机。嵌入式Web服务器以嵌入式平台为硬件工作平台,以嵌入式实时多任务操作系统为软件工作平台,其上运行小型精简的服务器程序。站控层计算机通过访问建立在IED上的嵌入式Web服务器,即可对IED的信息进行访问和控制,从而实现站控层与间隔层的信息交互。

Boa服务器是一种小型的web服务器程序,易于移植,且资源消耗低,具有很高的HTTP请求处理速度和效率,如今广泛地应用于嵌入式系统中。使用Boa作为web服务器的IED,可以使稳定高效地实现现场数据的采集、存储和转换,以及通信功能,并且使用和维护方便,可靠性高。

嵌入式web服务器Boa和普通web服务器一样,能够完成接收客户端请求、分析请求、响应请求、向客户端返回请求结果等任务。与其他传统的web服务器不同的是当有连接请求到来时,它并不为每个连接单独创建进程,也不通过复制自身进程来处理多链接,而是通过建立HTTP请求列表来处理多路HTTP连接请求,同时它只为CGI程序创建新的进程,这样就在最大程度上节省了系统资源,这对嵌入式IED来说至关重要。同时它还具有自动生成目录、自动解压文件等功能,因此,Boa在嵌入式IED中具有很高的应用价值。

3.3 CGI程序

为了在嵌入式IED上实现网络通信功能,除了为其安装Boa服务器之外,还要编写特定的程序才能显现它的网络通信功能。 本文中的嵌入式IED采用CGI程序来利用Boa服务器与变电站层计算机进行交互。

CGI是运行在Boa服务器与本机或或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上,这里的CGI运行在装有Boa服务器的IED上。在物理上,CGI是一段程序,它运行在Server上,提供同客户端 Html页面的接口。它解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。

本文在这里用C语言作为编程语言,编写一个简单的通过控制IED的某个开关量信息“switch”的CGI程序。计算机通过CGI请求访问装有Boa服务器和CGI程序的ARM嵌入式系统,来控制IED的开关量信息。从而实现站控层计算机对IED进行简单的访问和控制的过程。

控制IED的开关量信息“switch”的CGI程序流程图和源代码如下:

#include

#define OPEN 1

#define CLOSE 0

int main(int argc, char **argv)

{

int fd;

int switch;

int i,j,k;

char *data;

data = getenv("QUERY_STRING");

printf("Content-type:text/html\n\n");

printf("\n");

printf("\n");

printf("IED CGI TEST\n");

printf("\n");

printf("\n");

printf("

IED CGI TEST

\n");

fd = open("/dev/switch",0);

//打开switch驱动

if(fd == -1)

{

printf("wrong\r\n");

exit(-1);

}

sscanf(data,"switch=%d",&switch);

if(switch == 1) //如果按下“TurnOn”按钮,打开SWITCH,同时将按钮字符改为“TurnOff”

{

printf("TurnOff");

ioctl(fd, OPEN);

}

}

else //如果按下“TurnOff”按钮,关闭SWITCH,同时将按钮字符改为“TurnOn”

{

printf("TurnOn");

ioctl(fd, CLOSE);

}

close(fd); //关闭SWITCH驱动

printf("\n");

return 0;

}

程序编写完成后保存为ied.c。接着对其进行编译。在Linux终端中输入下列语句:

#arm-linux-gcc ied.c –o ied.cgi

最后开启webserver,我们就可以通过网页来控制IED的开关switch了,在PC网页浏览器里调入CGI的URL(http://BoardIP/cgi-bin/ied.cgi?switch=1)就可以访问该CGI并且可以控制开关switch了。如图,点击TurnOff按钮可以关闭switch,再次点击则打开switch开关。

4 结论

智能化与网络化是变电站自动化发展的必然要求,在变电站自动化中,站控层与间隔层IED的通信时建立在以太网技术的基础上。本文提出了一种为IED构建嵌入式Web服务器的网络通信方案,并给出了硬件和软件的设计方法。该方案实现简单,具有很好的可移植性和可拓展性。由于本文的研究是在ARM开发板上进行,由于条件所限,对于其健壮性和抗干扰性等性能无法进行准确的评估,笔者期待符合标准的产品出现。

参考文献

[1] 吴在军,窦晓波,蒋云贵.基于嵌入式Internet的变电站智能设备接入技术研究[J].电力自动化设备,2005,25(7).

[2] 王博,游大海,许广伟,等.数字变电站IED设备通信研究[J].电力系统通信,2006,27(166).

[3] 杨刚,杨仁刚,郭喜庆.嵌入式以太网在变电站自动化系统智能化电气设备上的实现[J].电力系统自动化,2004,28(3).

[4] 孙英会,鲁强,高会生,等.基于WebVR的变电站通信监控系统设计与实现[J].华北电力大学学报,2005,32(3).

[5] 徐天奇,尹项根,游大海,等.兼容IEC61850的间隔层IED模型设计与实现[J].电力系统自动化,2007,31(24).

[6] 余斌,葛亮,房萍,等.变电站Web发布系统的实现[J].电网技术,2004,28(24).

[7] 李文光,刘昕戈,康景利.基于IEC61850和嵌入式以太网的变电站网络通信系统[J].仪表技术与传感器,2006,9.

[8] 王海吉,王书强,刘海波,等.基于IEC61850标准开发数字化变电站可编程的IED[J].继电器,2008,36(3).

3.3 CGI程序

为了在嵌入式IED上实现网络通信功能,除了为其安装Boa服务器之外,还要编写特定的程序才能显现它的网络通信功能。 本文中的嵌入式IED采用CGI程序来利用Boa服务器与变电站层计算机进行交互。

CGI是运行在Boa服务器与本机或或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上,这里的CGI运行在装有Boa服务器的IED上。在物理上,CGI是一段程序,它运行在Server上,提供同客户端 Html页面的接口。它解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。

本文在这里用C语言作为编程语言,编写一个简单的通过控制IED的某个开关量信息“switch”的CGI程序。计算机通过CGI请求访问装有Boa服务器和CGI程序的ARM嵌入式系统,来控制IED的开关量信息。从而实现站控层计算机对IED进行简单的访问和控制的过程。

控制IED的开关量信息“switch”的CGI程序流程图和源代码如下:

#include

#define OPEN 1

#define CLOSE 0

int main(int argc, char **argv)

{

int fd;

int switch;

int i,j,k;

char *data;

data = getenv("QUERY_STRING");

printf("Content-type:text/html\n\n");

printf("\n");

printf("\n");

printf("IED CGI TEST\n");

printf("\n");

printf("\n");

printf("

IED CGI TEST

\n");

fd = open("/dev/switch",0);

//打开switch驱动

if(fd == -1)

{

printf("wrong\r\n");

exit(-1);

}

sscanf(data,"switch=%d",&switch);

if(switch == 1) //如果按下“TurnOn”按钮,打开SWITCH,同时将按钮字符改为“TurnOff”

{

printf("TurnOff");

ioctl(fd, OPEN);

}

}

else //如果按下“TurnOff”按钮,关闭SWITCH,同时将按钮字符改为“TurnOn”

{

printf("TurnOn");

ioctl(fd, CLOSE);

}

close(fd); //关闭SWITCH驱动

printf("\n");

return 0;

}

程序编写完成后保存为ied.c。接着对其进行编译。在Linux终端中输入下列语句:

#arm-linux-gcc ied.c –o ied.cgi

最后开启webserver,我们就可以通过网页来控制IED的开关switch了,在PC网页浏览器里调入CGI的URL(http://BoardIP/cgi-bin/ied.cgi?switch=1)就可以访问该CGI并且可以控制开关switch了。如图,点击TurnOff按钮可以关闭switch,再次点击则打开switch开关。

4 结论

智能化与网络化是变电站自动化发展的必然要求,在变电站自动化中,站控层与间隔层IED的通信时建立在以太网技术的基础上。本文提出了一种为IED构建嵌入式Web服务器的网络通信方案,并给出了硬件和软件的设计方法。该方案实现简单,具有很好的可移植性和可拓展性。由于本文的研究是在ARM开发板上进行,由于条件所限,对于其健壮性和抗干扰性等性能无法进行准确的评估,笔者期待符合标准的产品出现。

参考文献

[1] 吴在军,窦晓波,蒋云贵.基于嵌入式Internet的变电站智能设备接入技术研究[J].电力自动化设备,2005,25(7).

[2] 王博,游大海,许广伟,等.数字变电站IED设备通信研究[J].电力系统通信,2006,27(166).

[3] 杨刚,杨仁刚,郭喜庆.嵌入式以太网在变电站自动化系统智能化电气设备上的实现[J].电力系统自动化,2004,28(3).

[4] 孙英会,鲁强,高会生,等.基于WebVR的变电站通信监控系统设计与实现[J].华北电力大学学报,2005,32(3).

[5] 徐天奇,尹项根,游大海,等.兼容IEC61850的间隔层IED模型设计与实现[J].电力系统自动化,2007,31(24).

[6] 余斌,葛亮,房萍,等.变电站Web发布系统的实现[J].电网技术,2004,28(24).

[7] 李文光,刘昕戈,康景利.基于IEC61850和嵌入式以太网的变电站网络通信系统[J].仪表技术与传感器,2006,9.

[8] 王海吉,王书强,刘海波,等.基于IEC61850标准开发数字化变电站可编程的IED[J].继电器,2008,36(3).

3.3 CGI程序

为了在嵌入式IED上实现网络通信功能,除了为其安装Boa服务器之外,还要编写特定的程序才能显现它的网络通信功能。 本文中的嵌入式IED采用CGI程序来利用Boa服务器与变电站层计算机进行交互。

CGI是运行在Boa服务器与本机或或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上,这里的CGI运行在装有Boa服务器的IED上。在物理上,CGI是一段程序,它运行在Server上,提供同客户端 Html页面的接口。它解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。

本文在这里用C语言作为编程语言,编写一个简单的通过控制IED的某个开关量信息“switch”的CGI程序。计算机通过CGI请求访问装有Boa服务器和CGI程序的ARM嵌入式系统,来控制IED的开关量信息。从而实现站控层计算机对IED进行简单的访问和控制的过程。

控制IED的开关量信息“switch”的CGI程序流程图和源代码如下:

#include

#define OPEN 1

#define CLOSE 0

int main(int argc, char **argv)

{

int fd;

int switch;

int i,j,k;

char *data;

data = getenv("QUERY_STRING");

printf("Content-type:text/html\n\n");

printf("\n");

printf("\n");

printf("IED CGI TEST\n");

printf("\n");

printf("\n");

printf("

IED CGI TEST

\n");

fd = open("/dev/switch",0);

//打开switch驱动

if(fd == -1)

{

printf("wrong\r\n");

exit(-1);

}

sscanf(data,"switch=%d",&switch);

if(switch == 1) //如果按下“TurnOn”按钮,打开SWITCH,同时将按钮字符改为“TurnOff”

{

printf("TurnOff");

ioctl(fd, OPEN);

}

}

else //如果按下“TurnOff”按钮,关闭SWITCH,同时将按钮字符改为“TurnOn”

{

printf("TurnOn");

ioctl(fd, CLOSE);

}

close(fd); //关闭SWITCH驱动

printf("\n");

return 0;

}

程序编写完成后保存为ied.c。接着对其进行编译。在Linux终端中输入下列语句:

#arm-linux-gcc ied.c –o ied.cgi

最后开启webserver,我们就可以通过网页来控制IED的开关switch了,在PC网页浏览器里调入CGI的URL(http://BoardIP/cgi-bin/ied.cgi?switch=1)就可以访问该CGI并且可以控制开关switch了。如图,点击TurnOff按钮可以关闭switch,再次点击则打开switch开关。

4 结论

智能化与网络化是变电站自动化发展的必然要求,在变电站自动化中,站控层与间隔层IED的通信时建立在以太网技术的基础上。本文提出了一种为IED构建嵌入式Web服务器的网络通信方案,并给出了硬件和软件的设计方法。该方案实现简单,具有很好的可移植性和可拓展性。由于本文的研究是在ARM开发板上进行,由于条件所限,对于其健壮性和抗干扰性等性能无法进行准确的评估,笔者期待符合标准的产品出现。

参考文献

[1] 吴在军,窦晓波,蒋云贵.基于嵌入式Internet的变电站智能设备接入技术研究[J].电力自动化设备,2005,25(7).

[2] 王博,游大海,许广伟,等.数字变电站IED设备通信研究[J].电力系统通信,2006,27(166).

[3] 杨刚,杨仁刚,郭喜庆.嵌入式以太网在变电站自动化系统智能化电气设备上的实现[J].电力系统自动化,2004,28(3).

[4] 孙英会,鲁强,高会生,等.基于WebVR的变电站通信监控系统设计与实现[J].华北电力大学学报,2005,32(3).

[5] 徐天奇,尹项根,游大海,等.兼容IEC61850的间隔层IED模型设计与实现[J].电力系统自动化,2007,31(24).

[6] 余斌,葛亮,房萍,等.变电站Web发布系统的实现[J].电网技术,2004,28(24).

[7] 李文光,刘昕戈,康景利.基于IEC61850和嵌入式以太网的变电站网络通信系统[J].仪表技术与传感器,2006,9.

[8] 王海吉,王书强,刘海波,等.基于IEC61850标准开发数字化变电站可编程的IED[J].继电器,2008,36(3).

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!