基于IEEE1588协议电力监控系统的对时算法改进
2016-11-17张朕滔周亚勋龚俊名
刘 伟,彭 雷,张朕滔,周亚勋,龚俊名
(1.重庆理工大学 电气与电子工程学院,重庆 400054;2.重庆市计量质量检测研究院,重庆 401121)
基于IEEE1588协议电力监控系统的对时算法改进
刘伟1,彭雷1,张朕滔2,周亚勋1,龚俊名1
(1.重庆理工大学 电气与电子工程学院,重庆400054;2.重庆市计量质量检测研究院,重庆401121)
随着电力系统的发展,分布式电力监控系统对时钟同步精度的要求越来越高,已经提出了微秒级的要求。为满足此要求,对IEEE1588精确网络时钟同步协议进行了研究,对该协议实现高精度时钟同步的原理进行了阐述,并针对时钟同步过程中网络延迟不对等的问题,使用移动平均算法对IEEE1588的同步过程进行了改进,并予以验证。
IEEE1588;电力监控系统;移动平均算法;网络延迟量
随着电力系统的日益扩大,分布式电力监控系统的结构也越来越复杂。电力监控系统的各个节点的系统时钟保持同步,才能对电力系统进行实时的调度和控制,这对电力系统的运行有着重要意义。现今大多数电力监控系统的时钟同步系统,是基于GPS和NTP网络对时协议搭建,能使系统达到毫秒级的对时精度。随着系统的复杂程度增加,并且电子式电流、电压互感器等,要求时间精度达到微秒级的设备的增加,使NTP网络对时协议满足不了当前的需求[1]。IEEE1588为网络测量和控制系统的精确时钟同步协议(precise time protocol,PTP)。它可以通过以太网实现设备之间的同步,其同步精度可以达到亚微秒级,解决分布式电力监控系统的时钟同步精确度问题,满足了电力监控系统对同步对时的要求。
本文首先对IEEE1588的时钟同步原理进行介绍,然后针对协议算法中主从时钟网络延迟量不对等的问题进行研究,基于移动平均算法对网络延迟量的测量方法提出了改进,并在最后给出了验证。
1 IEEE1588的时钟同步原理
IEEE1588(precise time protocol,PTP)系统是多个节点构成的一个网络,其中的每一个节点都代表了一个时钟。系统自动根据最佳主时钟算法(best master clock,BMC)选择出子网内的唯一的一个节点作为主时钟。在系统运行时,主时钟就是系统的基准时间,每隔一定的时间,就在网络上发布自己的本地时钟信息[2]。各个从时钟在网络上获得此时钟信息,完成本地时钟与主时钟的同步过程。
1.1IEEE1588的时钟类型
IEEE1588时钟同步网络规定了3种时钟类型。除了普通时钟(OC)和边界时钟(BC),在IEEE1588v2版本中又提出了透明时钟(TC)。透明时钟又分为点对点透明时钟(P2P TC)和端到端透明时钟(E2E TC)。
1.2IEEE1588的同步过程
从时钟与主时钟在PTP系统中的同步过程主要使用以下4类报文:Sync(同步报文)、Follow_Up(同步跟随报文)、Delay_Req(延迟请求报文)、Delay_Resp(延迟应答报文)[3]。其同步过程是分为两个阶段来完成:时钟偏移量的计算和网络延迟量的计算。
IEEE1588同步时钟过程,是通过主-从时钟互发同步报文,进行数据交换,从而实现精确对时的。同步过程如图1所示[4]。
图1 IEEE1588主从时钟同步过程
具体同步过程如下:
1) 主时钟向网络中发布同步报文Sync,同时在报文发出的同时,记录本地时间的时间戳t1,这个时间就是发出Sync的时间。
2) 从时钟在网络中获取同步报文Sync,同时在获取报文的同时,记录本地时间的时间戳t2,为获取Sync的时间。
3) 主时钟把上次记录的Sync报文发送时间的时间戳t1写入同步跟随报文Follow_Up,发送给从时钟。
4) 从时钟发送延迟请求报文Delay_Req给主时钟,同时在报文发出的同时记录本地时间的时间戳t3,为从时钟发送Delay_Req报文的时间。
5) 主时钟接收Delay_Req报文,在获取报文的同时,记录本地时间的时间戳t4,为主时钟获取Delay_Req报文的时间。
6) 主时钟把记录的Delay_Req报文获取时间的时间戳t4写入延迟应答报文Delay_Resp,发送给从时钟。
以上过程为1个对时周期,从时钟根据1个周期中产生的4个时间戳t1~t4来计算本地时钟与主时钟的时钟偏移量[5]。现假设从主时钟发送报文到从时钟的网络延迟量为Delay1,从时钟到主时钟为Delay2,从时钟与主时钟的时钟偏移量为Offset,那么根据得到的四个时间戳,可知:
t2-t1=Delay1+Offset
(1)
t4-t3=Delay2-Offset
(2)
然而在对时过程中,Delay1与Delay2几乎相同,设为Delay,于是
(3)
(4)
至此,从时钟根据得到的时钟偏移量Offset和网络延迟量Delay,可以完成对时。
2 网络延迟对称性的影响
在之前分析时钟同步的过程中,时钟偏移量和网络延迟量的计算都是建立在两个时钟节点之间PTP报文往返的网络延迟相等的基础上的。在实际的对时网络系统中,虽然大部分的情况下网络延迟量都是近乎对称的,但是由于系统信息量的繁杂,大量实时监控数据随机性收发,也总会出现对称程度很差的情况[6]。如果网络不对称,那么在计算网络延时量时就会产生误差,影响对时的精度[7]。
以最典型的主从时钟对时过程为例说明。在计算网络延迟量和时钟偏移量的时候,最先得出的是式(1)和式(2)。在后续的计算过程中,假定Delay1与Delay2几乎相同,设为Delay。但是在实际的对时系统中,Delay1与Delay2很可能由于网络的实时性堵塞存在一定的偏差。如图2所示,同步报文Sync在发送到从时钟设备的过程中遇到了网络堵塞,而延迟请求报文Delay_Req在发送到主时钟的过程中,网络堵塞情况已经好转。
现在设实际网络偏移量为Delay*,令
2Delay*=Delay1+Delay2+Δt
(5)
再根据式(1)、(2)和(4),可以推导得到以下公式
Delay1+Delay2=Td1+Td2
(6)
(7)
(8)
由此可见,在出现网络延迟不对称的情况下,再按照一般的算法计算网络延迟量,计算得到的网络延迟量和跟同步网络在实际运行中存在的真实值是存在Δt/2偏差的。如果随机突然出现网络极端阻塞的情况下,Δt的值会变得很大,对主从时钟设备精确对时会产生很大的影响,最终会导致同步不精确。
图2 网络延迟不对称对时钟同步的影响
3 IEEE1588时钟同步改进算法
本文采用移动平均算法的方式,对测量得到的网络延迟量经行数据平滑处理。通过这种方法对偏差较大的数据经行处理,可以有效减小网络延迟量不对称对对时精度造成的影响。
3.1移动平均算法原理
一般情况,对于测试到的动态数据y(t),都是由确定性元素f(t)和随机性元素x(t)两部分组成[8]。确定性元素为测量的目的结果或者有效信号,随机性元素为测试过程中随机的误差或者噪声,即x(t)=e(t)。对动态数据离散化采样后,数据可以写成
(9)
为了使测量结果更精确的表示,减小随机性误差ej的影响,经常会对动态测试数据yj执行平滑和滤波的操作。具体就是对非平稳数据yj选择适当的小区间[9],把这一段数据视为接近平稳的,对其进行某种局部平均操作,从而减小ej引起的随机波动。沿着全长为N的非平稳数据,每个小区间上不断进行这种局部平均,就可以得到较为平滑的测量结果fj,从而减小频繁起伏的随机性误差所带来的影响[10]。
例如,测量得到N个非平稳数据yj,把其中每m个连续数据的小区间之内的数据看成是接近平稳的,即每个小区间数据的均值接近于常量。于是,可以计算出每m个连续数据的平均值,以此来表示这m个连续数据中任一个的取值,并且可以把这个平均值作为减小了随机误差之后的测量目的结果或者抑制了噪声之后的信号。根据不同的适用场合,该均值可以用来表示该区间内的中点数据或者端点数据。假设取m等于5,并且用平均值代替这5个点中最后的数据,可以得到
(10)
然后可以认为f5=y5。同理,可以得到
(11)
同样可以认为f6=y6。依此类推,就可以得到后端点移动平均算法的一般表达式:
(12)
经过移动平均处理之后得到的fk=yk,与原来的数据yk相比,数据的随机波动由于平均作用减小了,故移动平均算法是一种平滑数据的方法。
3.2移动平均算法的特点
移动平均算法最主要的特点是具有简捷性和实时性。相比别的动态测试数据算法,移动平均算法简便,计算量较小[11],其通过递推形式来处理离散数据的机制也可以起到节省存贮单元的作用。除此之外,还能在对非平稳数据平滑处理抑制误差的同时保证数据的实时性。另外,移动平均算法还具有可控制性。移动平均算法处理数据的效果跟移动参数的选则有很大关系,因此通常可以具体问题具体分析,针对动态测试目标本身变化的特点和动态测试数据的实际变化情况,依靠经验来选择合适的移动平均参数[12]。
对于本文研究的网络对时协议中主从时钟网络延迟不对称问题,移动平均算法可以完全适用。由于对时精确度的要求,所以计算过程的简便,使移动平均算法很适合应用于此。在对时过程中,对于突然出现波动较大的网络延迟量,直接做出丢弃处理显然是不合适的。因为如果此时网络只是在网络延迟对称情况下出现的正常堵塞,那么直接丢弃大波动的测量数据就会使时钟偏移量测量结果误差增大,影响对时精度。但是,对于突然出现较大的网络延迟量,如果直接依据此数据来进行时钟偏移量的计算,那么当此量是网络延迟不对称情况下的大误差数据时,会使时钟偏移量测量结果误差增大,影响对时精度[13]。因此,最好的方法是用算法平滑突然出现波动较大的网络延迟量,使其幅值降低,但又尽可能快速地向实时数据进行靠拢。因此,移动平均法虽然会比一些高级算法简单,但是却适合于对时网络主从时钟网络延迟量的处理。
3.3移动平均算法的一般方法
移动平均算法一般分为两种:简单移动平均算法和加权移动平均算法。
按式(3)~(14)的方法来计算移动平均,是沿总数为N的非平稳数据不断依次移动的取m个连续数据直接做算术平均计算。这就是简单移动平均算法,在计算过程中相邻的数据yk-m+1,yk-m+2,…,yk在进行计算时,对于计算结果fk=yk来说是等效的,是一种等权处理。而实际上,与yk距离较远的数据相对于距离较近的数据对fk的作用可能小,应该是不等权的,因而对实时性要求高的数据,选择的m个相邻数据应该在设置成不同的权值之后再进行移动平均平滑数据,这就是加权移动平均算法[14]。
后端点加权移动平均算法一般公式为
(13)
其中ωi为权系数,满足
(14)
在计算过程中,当式中m的取值偏大,则选取的连续数据就会偏多,经过平均处理之后产生的平滑作用较大,这种情况下对频繁随机波动的误差能更好地减小,但是会一起平均掉高频变化的有效信号,引起结果的不准确[15];而当式中m的取值偏小,则平滑作用较小,对频繁随机波动的误差抑制程度偏小,达不到处理误差的预计效果。因此,在实际应用当中,需要先分析处理数据的目的和数据实际波动情况,或经过对比试验,再选取合适的移动平均参数m以及权系数ωi。一般在用移动平均算法处理动态测试数据的时候,应用相对较多的是5~11点等权移动平均算法和2,3点加权移动平均算法[16]。
4 改进算法验证
为了测试移动平均算法对IEEE1588协议的改进,本文采用自行设计的硬件平台进行了验证。平台采用由意法半导体公司(STMicroelectronics,ST)生产的微控制器STM32F107VCT6实现协议,同时使用TI公司生产的物理层接口芯片DP83640记录同步报文的硬件时间戳,如图3所示。
图3 测试硬件平台结构
在测试过程中,两个硬件平台分别作为主时钟和从时钟,通过以太网交换机相连,从时钟通过串口与PC相连,用Matlab软件完成主从时钟偏移量的绘制。在选取移动平均算法的参数时,由于本文搭建的测试平台规模较小,仅将主从时钟电路板通过一台交换机相连,因此进行主从时钟同步过程中产生的网络抖动不大,如果选择的参数m过大,那么较大的平均作用就会影响正常的高频数据。所以,在本实验中,选择较小的移动平均参数m,这样不会影响网络延迟量变化的实时性。另外,在对于算法的选择方面,由于时钟同步作为实时性要求较高的过程,选择了加权移动平均法。图4为引入2点加权移动平均算法之后的测试结果。
图4 改进算法前后主从时钟偏移量对比
在图4中:上方图像中的时钟偏移量是在网络延迟量计算过程中没有加入移动平均算法情况下测量得出的,而下方图像中的时钟偏移量波动情况明显要改善很多,在40~45 ns小幅度波动,就是因为使用了移动平均算法对网络延迟量进行处理。
上述测试结果可以证明:以上改进可以提高IEEE1588协议的对时精度和稳定性,并且对时精度满足电力监控系统亚微秒级的要求。
5 结束语
电力监控系统是一个复杂的实时系统,采用IEEE1588协议作为网络精确时钟同步技术,可以在不增加网络负荷的基础上,实现亚微秒级的同步精度,可以有效地解决分布式电力监控系统的实时性问题,具有很强的研究与应用价值。本文IEEE1588协议的对时机制进行了研究,并且改进了对时算法。最后通过实验证明了移动平均算法可以改进IEEE1588协议的对时精确度和稳定性,并且完全满足电力监控系统的要求。
[1]桂本炬,冯冬芹,褚健.IEEE1588的高精度时间同步算法的分析与实现[J].工业仪表与自动化装置,2006(4):20-23.
[2]黎锐烽,曾祥君,李泽文,等.IEEE1588同步时钟网络时延误差的分析及修正[J].电力系统自动化,2012,36(12):82-87.
[3]冉懋海,陈小川,徐毅.网络时间协议在电力监控系统时钟同步中的应用[J].电力系统通信,2006,27(159):29-32.
[4]胡永春,张雪松,许伟国.IEEE1588时钟同步系统误差分析及其检测方法[J].电力系统自动化,2010,34(21):107-111.
[5]PENGFEI Y,QIANG Y,DENG H.The research of precision time protocol IEEE1588[J].Automation of Electric Power System,2009,33(13):99-103.
[6]ZHILIANG Y,WANSHUN L,QIXUN Y.A new IEEE1588 based technology for realizing the sampled values synchronization on the substation process bus[J].Automation of Electric Power System,2005,29(13):60-63.
[7]高翔,张沛超.数字化变电站的主要特征和关键技术[J].电力系统自动化,2006,30(23):67-71.
[8]赵上林,胡敏强,窦晓波.基于IEEE1588的数字化变电站时钟同步技术研究[J].电网技术,2008,32(21):100-101.
[9]于跃海,张道农,胡永辉.电力系统时间同步方案[J],2008,32(7):82-86.
[10]王燕山,李运华,刘恩朋.以太网时间同步技术的研究进展及其应用[J].测控技术,2007,26(4):4-6.
[11]李超,徐启峰.IEEE1588协议延时不对等问题的修正[J].电子测量与仪器学报,2013,27(10):931-936.
[12]陈金凤,华宇,孙中尉.IEEE1588v2透明时钟研究与实现[J].宇航计测技术,2013,33(3):11-16.
[13]陈金凤.IEEE1588网络时延测量研究与实现[D].北京:中国科学院研究生院,2013.
[14]郭庆.基于IEEE1588精确时间协议的分布式PMU系统及其组网同步方案研究[D].北京:华北电力大学,2012.
[15]孙祥祥.分布式系统时钟同步协议的研究与实现[D].杭州:杭州电子科技大学,2013.
[16]周末.基于IEEE1588v2电力系统时间同步的研究与设计[D].济南:山东大学,2014.
(责任编辑杨文青)
Synchronization Algorithm Modification of Power Supervisory System Based on IEEE1588 Protocol
LIU Wei1, PENG Lei1, ZHANG Zhen-tao2,ZHOU Ya-xun1, GONG Jun-ming1
(1.School of Electrical and Electronic Engineering, Chongqing University of Technology,Chongqing 400054, China; 2.Chongqing Institute of Measurement and Quality Inspection, Chongqing 401121, China)
With the development of the power system, the distributed power monitoring and control system of clock synchronization precision demand is higher and higher, and have put forward the requirements of microsecond. To satisfy this requirement, IEEE 1588 precise network clock synchronization protocols were studied in this article, and exposited the principle of high precision clock synchronization. In view of the clock synchronization network latency is dis-symmetry in the process of problems, that using moving average algorithm was proposed to improve the synchronization process of IEEE1588, and finally it was verified.
IEEE1588; power supervisory system; moving average algorithm; network delay
2016-05-17
重庆理工大学研究生创新基金资助项目(YCX2013217)
刘伟(1963—),男,副教授,主要从事电力系统自动化技术研究,E-mail:liuwei@cqut.edu.cn;彭雷(1992—),男,河北廊坊人,硕士研究生,主要从事电气测试技术研究,E-mail:475569812@qq.com。
format:LIU Wei, PENG Lei, ZHANG Zhen-tao,et al.Synchronization Algorithm Modification of Power Supervisory System Based on IEEE1588 Protocol[J].Journal of Chongqing University of Technology(Natural Science),2016(10):135-140.
10.3969/j.issn.1674-8425(z).2016.10.021
TN915
A
1674-8425(2016)10-0135-06
引用格式:刘伟,彭雷,张朕滔,等.基于IEEE1588协议电力监控系统的对时算法改进[J].重庆理工大学学报(自然科学),2016(10):135-140.