电力系统故障录波器是研究现代电网的基础,也是评价继电保护动作行为及分析设备故障性质和原因的重要依据。在传统变电站中,录波所采用的方法是将需要采样的各个节点通过硬电缆集中的连接到专用的采集板上,采集板对电流电压值以及开关量进行A/D转换,再由后台的录波设备进行分析与存储。
当前,变电站的发展正处于传统变电站向数字化变电站的过渡阶段,甚至有的变电站运行于传统站与数字站的混和状态。对于录波器制造公司来说,由于传统站和数字站同时有录波需求,需要同时有可用于传统站和数字站的两种设备,如果单独设计两种独立的录波器,将大大增加产品设计、生产和维护成本。兼容传统站与数字站的录波器正是为了满足这一需求而设计。
1 总体结构
1.1 变电站的结构
数字化变电站在物理结构上分为两类,即智能化的一次设备和网络化的二次设备;而在逻辑结构上可分为3个层次,根据IEC61850协议定义,分别为过程层、间隔层、站控层(或变电站层)。各层内部及各层之间采用高速网络通信,整个系统的通信网络可以分为:站控层和间隔层之间的间隔层通信网、以及间隔层和过程层之间的过程层通信网。间隔层在站内按间隔分布式布置,各间隔设备之间相对独立;间隔层和过程层之间的网络采用单点向多点的单向传输光纤以太网,在标准中称为过程总线。如图1所示。
1.2 故障录波器系统构成
数字化故障录波器使用分层的系统设计,包括前端的协议转换器部分以及后端的故障判断与录波设备两部分。协议转换器采用PowerPC8 270处理器结构和VxWorks操作系统,其中包括IEC61850协议处理模块、数据同步模块、传统站数据模块、数据通信模块和时间同步模块。如图2所示。
IEC61850模块负责接收和解析模拟合并单元发送的IEC61850 9-1报文,提取模拟采样值数据;以及接收和解析保护控制单元发送的面向通用对象的变电站事件(GOOSE)报文,提取开关量数据。数据同步模块根据同步采样合并策略,实现开关量数据和采样值数据的同步。数据通信模块负责与故障判断与录波设备进行数据交互。时间同步模块则负责IEEE1588校时协议的处理和同步本地时钟。
2 VxWorks下的IEC61850报文的接收实现
2.1 IEC61850 9-1与GOOSE报文的传输
IEC61850标准针对变电站所有功能定义了比较详尽的逻辑节点和数据对象,并提供了完整的描述数据对象模型的方法和面向对象的服务,其中的9-1协议和GOOSE协议都采用了不经TCP/IP协议,直接映射到数据链路层,即传输层和网络层均空的方式。以避免通信堆栈造成传输延迟,从而保证报文传输、处理的快速性。
2.2 VxWorks下对于网络协议的处理流程
在VxWorks下处理数据链路层的报文,需要关注它的网络协议栈结构。VxWorks网络协议栈(scalable enhanced network stack,SENS)为可裁减增强网络协议栈。它与传统的TCP/IP网络协议栈相比,最大的特点是在数据链路层和网络协议层之间多了MUX层。当网络接口驱动向协议层发送数据时,驱动程序会调用一个MUX层提供的函数将数据转发给协议层。MUX的主要目的是把网络接口驱动层和协议层分开,使得二者彼此保持独立。在此,为了实现对9-1和GOOSE协议数据链路层报文的处理,利用了VxWorks网络协议栈的MUX接口,如图3所示。
当网卡收到一个报文时,网卡驱动中实现的网卡中断服务函数将被调用。中断服务只负责最简单的底层操作,然后中断调用netJobAdd(),将接下来的工作排队加入网络服务队列,tNetTask任务将会从此队列中读出,完成任务级别的网络处理工作。其具体的处理方法根据不同的网络协议类型有所不同,开发人员可以通过MUX接口绑定对新的网络协议处理方法。
2.3 IEEE1588精密时钟同步协议
为了在后方的故障录波和常态录波下都能有精确的时间,采用IEEE1588精密时钟同步协议(PTP)。它是一种网络时间同步协议。
IEEE1588协议通过硬件和软件配合获得更精确的定时同步。它采用分层的主-从式(master-slave)模式,主要定义了4种时钟报文类型:同步报文(Sync)、跟随报文(Fellow-up)、延时要求报文(Delay-Req)、回应报文(Delay-Resp)。PTP系统中的从时钟就是通过与主时钟交换上述的4种报文来同步时间。
3 硬件设计
前端故障录波器协议转换器部分的硬件选择Freescale MPC8270处理器,其CPU主频为450 MHz,通信处理器(CPM)主频300 MHz,并且其自身具有3个快速以太网控制器(FCC)。在该本应用中使用了交换芯片进行扩展。后端的故障判断与录波设备采用IntelCore 2双核E4300 1.8 GHz。
4 软件设计
软件基于VxWorks操作系统,VxWorks具有良好的可靠性,高性能的内核以及很好的实时性。
4.1 IEC61850报文处理模块
IEC61850 9-1标准与GOOSE为了保证通信的实时性,都采用了数据链路层直接传输报文。在此利用VxWorks的MUX层接口实现从数据链路层将IEC61850协议数据传输给应用层程序。由于在IEC61850协议中规定帧结构中含有虚拟局域网标记TPID和TCI,在帧经过交换机时可能会被去掉也可能保留。因而在MUX层绑定网络协议类型处理函数时需要对9-1协议(ethertype 0x88b8),GOOSE协议(ethertype 0x88ba),以及虚拟局域网标记(0x8100)都进行绑定,并在后续的处理中对类型为0x8100的报文特别处理,判断其真实的协议类型,以免误判。
9-1是一个点对点的协议。在故障录波器的应用场景中,由于必须监控全站的大量线路,前端需要集中器将9-1数据合并,而合并后的数据格式目前并没有统一的标准。在此对于9-1协议解析进行了模块化设计,将报文的解析独立出来,使其很容易增加对其他类型9-1扩展协议的支持。
4.2 传统数据报文模块
该应用中对于传统站,将由前方的采集设备采样模拟量和开关量数据,通过TCP协议发送到录波器。录波器将对其解析后封装为与IEC61 850相兼容的数据格式,以便后方设备进行启动判断与存储。
4.3 同步模块
9-1数据来自合并单元,而开关量采样数据来自保护控制单元,两者的数据源不同,发送的报文格式也不同。IEC-61850中定义的GOOSE报文,每帧报文中含有详细的绝对时间,但报文只有在开关量发生变位时才发送,在开关量变位后,则建议按指数递增的时间间隔发送,因而接受到GOOSE报文的时刻是不定的。在某些实际应用中,甚至可能发生保护装置未进行同步,造成GOOSE报文中的时间戳不准的情况。另一方面,故障录波需要全站的大量开关量数据,而单一保护控制单元发送的GOOSE报文只包含其中的一部分,需要将不同来源的GOOSE报文进行同步和组合。包含模拟量采样值的9-1报文通过合并单元后虽然具有录波所需要的全部模拟采样值数据,也按照固定的采样频率均匀发送,但其中仅含有秒的等分序号,而没有绝对的时间信息。因此必须要将不同源的开关量之间、以及开关量和模拟量之间进行同步合并,对数据整体加入绝对时刻。在设计同步方案时,充分考虑到开关量的数据更新频率远远小于开关量数据读取频率,即绝大多数的同步工作都是将保存的开关量与当前收到的模拟量采样值进行合并,只在低频率的GOOSE报文来临时才需要更新保存的开关量值。在该设计中,高频率的模拟量数据到需要和开关量合并时,保存开关量的堆栈中将只含有最近的一次或之前少数几次开关量状态,模拟量数据将以极大的概率直接与最近的开关量时间匹配,维护此堆栈的空间开销和时间开销都很小。具体流程图如图5所示。
4.4 数据通信模块设计
该模块将同步好的全站模拟量采样值与开关量加入时间戳,通过TCP连接发送给启动判断与存储设备,保证数据及时间的正确性并简化后端的实现。
4.5 时间同步模块
按照IEEE1588的规定,首先由主时钟节点向从时钟节点发送带主时钟时间戳的同步报文(Sync),同时主时钟节点记录下同步报文实际发送的时间戳,并在随后的跟进报文(Fellow-up)中传送该精确时间戳t0。从时钟节点在收到上述报文后记下同步报文的接收时刻t1。然后从时钟节点向主时钟节点发送一个延迟请求报文(delay-request),同时记录下该报文的实际发送时间作为精确的发送时间戳t2,而主时钟接收到该报文时也记下接收时刻的精确时间戳t3,并将该事件戳在随后的延迟响应报文。中发送给从时钟节点。如图6所示。
主、从时钟偏差(offset)以及网络延迟(delay)可表示为:
4.6 故障录波启动判断及记录模块
因协议转换器已对数据加入时间戳并进行合并,故障录波启动判断及记录模块存在实时性的问题,设计时注重更大的系统容量,因此硬件平台选择Intel CPU,软件基于Linux操作系统。它通过额外的算法判断同步的模拟量采样数据与开关量数据的瞬时值或有效值来判断当前电网中是否发生故障,需要高速存储并生成故障报告。同时可在正常状态下存储常态录波。
5 结语
新型故障录波器采用两层设计,对传统站与数字站进行了统一的封装,使得单一型号的录波器产品可以满足传统站,数字站以及传统数字混合站的要求,解决了当前过渡时期的多种要求,大大降低了录波设备的开发、生产和维护成本。同时,它同时支持大容量,高采样率的暂态故障录波需求和常态录波。在96路模拟量,192路开关量的容量下,对于传统站可以支持达到10 kHz的采样率,对于数字站可以支持4.8 kHz的采样率。它是一种高性能,实用性良好的新型故障录波器。