APP下载

数字变电站间隔层与过程层通信的实时性优化方案

2015-09-22蔡志远吴晗序

电气开关 2015年1期
关键词:重传处理单元实时性

蔡志远,吴晗序

(沈阳工业大学电气工程学院,辽宁 沈阳 110870)

1 引言

我国对变电站自动化系统其展开了深入研究和开发工作。国际电工委员会(IEC)制定的IEC61850标准,代表了变电站自动化系统SAS技术的最新趋势,是实现数字化、智能化变电站技术的关键[1]。

国内研究成果较多集中在对国际标准的研究,过程层和间隔层网络通信部分的研究相对少些,最缺乏的是工程实践方面的文献和报道[2]。本文提出了在工程实践中基于PowerPC和Vxworks组合平台对间隔层和过程层快速报文进行传输并优化其实时性和稳定性的设计方案。

2 IEC61850模型的通信实时性

2.1 IEC61850模型中数据传输特点

IEC61850有7种报文类型,这些报文类型标准中,GOOSE报文信息传输要求一般在1ms内完成,是该模型中实时性要求最高的报文。而SAV主要是把电子互感器所在合并单元的数据,持续不断的传送到间隔层设备中。一般要求在2~3ms完成单次传输。SAV有很大的通信量和较高的实时性要求。

2.2 目前常用方案的报文实时性表现

本文以基于VxWorks操作系统的间隔层/过程层的数据通信为详细讨论对象。根据我国目前的文献,采用VxWorks操作系统的实现方案,归纳总结起来多与Power QUICC II系列处理器搭配,实现GOOSE等快速报文的实时传输。实时性表现如表1所示,传输场景与下文一致[3]。

根据文献,引起传输时延不确定的因素主要为:(1)端节点CPU的利用率(与端节点CPU的处理能力和端节点操作系统性能有关);(2)端节点处的通信流量(到达率、报文大小);(3)网络负载[4]。

表1 快速报文实时性数据

3 通信方案的设计

3.1 硬件方案设计

硬件方案选用目前常用的Freescale公司的Power QUICC II系列处理器,整个硬件方案的核心部分需要一套集成PowerPC处理器的硬件平台,中央处理单元为Freescale公司的MPC8315E处理核心,并搭配一个RISC(Reduced Instruction Set Computer精简指令计算机)协处理单元,主频分别是333MHz和198MHz。采用8MB byte NOR FLASH和32MB byte 8位NAND FLASH,外部接口包括2路网口,1个PCI-E接口作为预留扩展(可通过集成模块扩展多路光口),使用标准16线JTAG接口用于调试,因为目前多数的变电站设施还在使用串口IEC60870-5-103/104协议,因此一个RS-485接口是必要的,另外考虑到管理单元对存取录波的需要,需要增加一个SATA数据接口用以接入大容量存储设备。

3.2 驱动方案设计

VxWorks为用户提供了对应用层的一套标准的接口函数,称作I/O库,VxWorks下由ioLib.c文件提供。I/O子系统这一层次,内核维护着几个十分关键的数组用以对设备驱动,设备本身以及当前系统文件句柄进行管理[5]。驱动方案避面复杂数据结构设计,采用面向对象思想,数据结构设计成环状通信节点链表结构,如图1。

图1 数据结构

采用主协处理单元协同设计,使其分工明确。主处理单元只对环状链表中的单一通信缓冲节点做循环处理,协处理单元在协议栈的指示下补充结构间隙,定义头指针Hd_index和当前指针Act_index,这样的结构清晰不混乱,避免指针跳转频繁造成的潜在问题,加强了软件的稳定性和执行效率。

2.2.1 核心驱动设计

主要有初期化SECTION、发送SECTION和中断SECTION,三个部分构成驱动程序完整流程。

初期化SECTION完成设备的初始定义,还原指针位置、中间变量。缓冲区域在定义过程的同时也对其进行了划分,具体划分方案包括DRB(Data Receive buffer接收缓冲区)和DSB(Data Send buffer发送缓冲区)。其中 DRB划分为16个页,单页为1535Byte;DSB划分为32个页,单页同样是1535 Byte。定义完成后将DRB与DSB的用数据链表的结构链接并初期化,节点状态位的初始值设置为0,长度为0x05FF,Hd_index指针指向新定义页。

在发送SECTION中,为了提高效率,从设计上避免出现对执行效率严重影响的循环命令,设计了一线式顺行结构,如图2。在发送驱动中定义发送缓冲区位置指针psb_index,随着处理次数psb_index作自加运算,到链表尾端psb_index归0。因在硬件上搭载协处理单元,考虑算法效率问题,选用离散(Scatter)方式数据指针。

图2 发送SECTION流程

关闭中断后,核心处理单元将数据指针bp_index传送至psb_index所在的链表节点,填写数据长度,设定状态值为R|L,开中断。主处理单元随即返回,之后的发送事件即可交付于协处理单元。采用这样的设计可以简化主处理的执行语句,迅速完成执行过程。

中断SECTION中包含了对发送中断,接收中断和错误中断的处理,在经过初期化处理中对其进行了初始配置,在接到中断请求后保存现场,即对中断类型进行判断,并进行相应处理,如图3所示。

图3 中断SECTION流程

2.2.2 网络协议栈

数字变电站出于实时性的需要,采用4层网络结构,实现4层的网络结构只需要插入一个模块即可实现对7层结构上的应用层的支持,VxWorks网络内核驱动层次如4图所示。

图4 网络设备内核驱动层次

如要实现满足IEC61850规约通信要求,目前使用较多的方式是利用VxWorks提供的MUX接口,需要用户在MUX接口下编写底层网口驱动,在本文中称其为SMG增强型网络接口(Enhanced Network of SMG,ENS)。

3.3 应用层任务设计

SGM是IEC61850定义的实时性要求最高的通信服务,本文就以SGM的应用任务为例进行说明。其他类型应用与其相近,本文不做阐述。而VxWorks下网络发送机制的分析在文献[6]中做了详细阐述,本文着重介绍接收处理方式的实现。

SGM的功能主要由 tGooseReceiveTask(GRT)、tGooseSendTask(GST)、fGooseSend(FGS)

GOOSE订阅者由应用GRT实现,发布者功能由GST和FGS实现。任务关联如图5所示。

图5 SGM应用关联

(1)GRT的功能为:对接收到的GOOSE报文的APDU编码部进行解析,然后传递给其他应用完成相对作业。其流程简明阐述就是解析和判断的2个过程,如图6所示。

图6 GRT流程

APDU解码,包括控制块引用名,允许生存时间,数据集引用名,GOOSE标识符,T,Utc时间,StNum(数据集成员值发生变化发送GOOSE时该序号加1),Sq-Num(每重发1次GOOSE该序号加1,状态号加1该序号清零),测试标识,数据成员个数等。判断过程在解码之后顺次进行:对照CID文件判断数据集是否配置;是否是测试报文;是否是新事件;计数是否正确;传输是否超时。

判断之后进入相应后续处理:为新事件,对照CID文件建立的数据结构解码APDU中所有引用数据(AllData),按照相应应用格式规范写入共享内存,然后释放信号量通知对应应用更新GOOSE报文数据;为超时、重传、测试报文,更新SqNum和计时,不会更新GOOSE报文数据;计数出错时,记录出错状态号、顺序号,进入异常处理。

(2)GST和FGS协同完成GOOSE的发布功能,GST处理 GOOSE心跳报文,而 GSF处理事件性GOOSE报文。GST和FGS存在于每一个不同发送间隔的GOOSE控制块之中。

在GST将部分固定参数(如控制块引用名,数据集引用名,测试标识等)编码APDU之后,通过控制块活动标志(GoEna)和快速重传事件标志(GoUpdate)判断是否发送心跳报文,若可以发送,变更计数,读取数据并完成这些数据的APDU编码,调用ensSend函数发送报文,延时0.5倍允许生存时间。若不可发送,直接延时。

FSG根据GoEna和GoUpdate判断可否发送和是否为新事件,调用FSG的应用将GoUpdate赋值为1。当为新事件时,APDU编码之后调用ensSend并且改变相应计数。之后GoUpdata赋值为2,这样快速重传时FSG不会进入新事件发送流程。重传间隔时间会根据调用次数计数与重传次数计数以2n-1型计算出来,如T1=1ms、T2=2ms…Tn=n-1ms[7],直到重传次数计数满,令GoUpdata赋值为3,回复GST心跳报文发送流程。需要特别说明的是,因为GST发送心跳报文的计时函数精度为10ms,所以调用ensSend函数之后,在重传期内有必要启用另一个更高精度的计时器,为1ms周期,如图7所示。

4 实境模拟测试

实境模拟由2台PC主机和1个交换机来完成,一台PC装有2个网口,用来模拟智能保护终端和合并单元,另一台PC用来模拟站控层的监控主机。作为被测试主体的保护智能单元与智能保护终端和监控主机通过交换机组成间隔层、过程层网络,合并单元通过一路网线与智能单元相连接。

图7 GST和FGS流程

合并单元的采样频率是3600Hz,每277μs向保护智能单元发送IEC61850-9-2采样值报文(SAV),长度为110字节,通信流量约3.4Mb/s,保护智能单元每10ms向保护终端发送一帧GOOSE跳闸控制报文(Trip),智能保护终端收到 Trip后立即回复一帧GOOSE执行状态报文(Pos)。在智能保护单元加入测算Trip到Pos时间差的功能模块,这里也需要一个更加精确的计时器,用Δt=(tPos-ttirp)/2以近似计算出1次GOOSE报文的延时Δt(包括处理延时和传输延时)如图8所示。这个结果既可看作是快速报文从保护智能单元到保护终端端的延时。

图8 GOOSE控制报文传输过程

在1500次模拟测试中进行了以下3种状况的实验:(1)在合并单元与保护智能单元进行3.4Mbit/s的采样值报文通信的情况下,智能单元与保护终端进行快速报文通信;(2)在合并单元与保护智能单元进行3.4Mbit/s的采样值报文通信的情况下,监控主机向保护智能单元发送低优先级通信,智能单元与保护终端进行快速报文通信;(3)在合并单元与保护智能单元进行3.4Mbit/s的采样值报文通信的情况下,保护智能单元持续向站控层主机传输数据,同时智能单元与保护终端进行快速报文通信。实验结果见表2。

表2 快速报文实时性测试结果

结果显示不仅满足快速报文传输时延小于3ms的要求[8],并且在不同状况下传输时延的稳定度得到改善,由于实际应用中交换机的数量大于1台,网络环境相对更加复杂,传输时延的表现可能大于实验结果。

5 结语

本文针对IEC61850-9-2标准,提出了从硬件到软件的间隔层过程层通信方案,硬件基于集成Freescale公司的Power QUICC II系列处理器的硬件平台引入RISC,设计多种通信端口以及扩展接口。软件基于VxWorks,设计了核心驱动以及网络增强驱动ENS,对驱动方式加以优化,实现了快速报文基于VxWorks平台的实时传输,并且通过大量实验数据验证了方案的传输在实时稳定方面的优越性,为实际工程应用中提供借鉴。

[1]朱大新.数字化变电站综合自动化系统的发展[J].电工技术杂志.北京市:机械工业信息研究院,2001,4:20-22.

[2]王大鹏,栗俊凯,晁军征.浅谈数字化变电站的发展及应用[J].山东电力技术.山东省济南市:山东省电力研究院,山东电机工程学会,2007,153(1):14 -18.

[3]陈安伟.IEC61850在变电站中的工程应用[M].北京市:中国电力出版社,2012,6.

[4]辛建波,蔡子亮.数字化变电站通信网络的传输时延不确定性分析[J].继电器,2007,35(5):46 -49.

[5]曹桂平.VxWorks设备驱动开发详解[M].北京:电子工业出版社,2011,3.

[6]韩明峰,郑永志,李小滨.基于VxWorks系统的GOOSE实现与可靠性分析[J].电力系统自动化.江苏省南京市:国网电力科学研究院,2009,33(2):49 -52.

[7]徐成斌,孙一明.数字化变电站过程层GOOSE通信方案[J].电力系统自动化.江苏省南京市国网电力科学研究院国网电力科学研究院,2007,31(19):91 -94.

[8]IEC 61850 -5 Communication networks and systems in substations:Part 5 communication requirements for functions and device models[S].2003.

猜你喜欢

重传处理单元实时性
不同生物链组合对黄河下游地区引黄水库富营养化及藻类控制
城市污水处理厂设备能耗及影响因素分析研究
长填龄渗滤液MBR+NF组合工艺各处理单元的DOM化学多样性
一种高可用负载均衡网络数据采集处理的方法及系统
无线网络中基于网络编码与Hash查找的广播重传研究
面向异构网络的多路径数据重传研究∗
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
一种基于散列邻域搜索网络编码的机会中继重传方法
一种车载Profibus总线系统的实时性分析