电力系统时间同步系统之二
2.4 电力系统时间同步系统相关授时信号
电力系统时间同步系统为调度主站系统、变电站、电厂的所有被授时设备提供授时信号,并且根据不同的设备对时间精度的要求提供不同的对时方式。对故障录波器、事件记录仪、微机继电保护及安全自动装置、远动及微机监控等系统,可采用规约软对时的对时方式,必要情况下可采用规约软对时+脉冲对时方式。脉冲可根据要求配置为PPS(秒脉冲)、PPM(分脉冲)或PPH(时脉冲)等,也可以采用授时精度较高的IRIG-B对时方式;对PMU、行波测距系统、雷电定位系统等对时间精度要求较高的系统必须采用软对时+PPS秒脉冲或IRIG-B对时方式以保证授时精度;对信息子站和网络服务器等对时间要求较低的设备可采用PTP网络对时。
针对不同层次的授时要求,时间同步系统能够灵活的提供各种授时接口,电力系统中常用的对时信号依据类型可分为脉冲信号、串行口时间报文信号、IRIG-B码信号和网络时间报文信号。其中脉冲信号包括PPS(秒脉冲)、PPM(分脉冲)、PPH(时脉冲)和PPD(可编程脉冲);IRIG-B码遵循IEEE C37.118-2005标准,根据编码形式分为DC(直流)和AC(交流)两种;网络时间报文信号分为NTP/SNTP、PTP(IEEE 1588)对时报文。
2.4.1 脉冲信号
脉冲对时是指时间同步系统每隔一定的时间间隔输出一个精确的具有一定脉宽的同步脉冲,被授时设备在接收到同步脉冲信号后进行对时,以消除装置内部时钟的走时误差。
脉冲信号有PPS、PPM、PPH或PPD等,在整秒、整分、整时的时候,信号作用于被授时设备的时钟清零,实现时间同步,其输出接口有TTL电平、静态空接点、RS-422、RS-485和光纤等。技术参数如下:
(1)脉冲宽度:10~200ms。
(2)TTL电平。
1)准时沿:上升沿,上升时间≤100ns;
2)上升沿的时间准确度:优于1μs。
(3)静态空接点。
静态空接点与TTL电平信号的对应关系为接点闭合对应TTL电平的高电平,接点打开对应TTL电平的低电平,接点由打开到闭合的跳变对应准时沿。
1)准时沿:上升沿,上升时间≤1μs;
2)上升沿的时间准确度:优于3μs;
3)隔离方式:光电隔离;
4)输出方式:集电极开路;
5)允许Vcc工作电压:220V DC;
6)允许Icc工作电流:20mA。
(4)RS-422、RS-485。
1)准时沿:上升沿,上升时间≤100ns;
2)上升沿的时间准确度:优于1μs。
(5)光纤。
使用光纤传导时,亮对应高电平,灭对应低电平,由灭转亮的跳变对应准时沿。
1)秒准时沿:上升沿,上升时间≤100ns;
2)上升沿的时间准确度:优于1μs。
2.4.2 串行口时间报文
串行口时间报文对时方式是指时间同步系统通过RS-232/422/485串口以串行数据流的方式输出时间信息,被授时设备接收串行时间信息后进行时间同步。串行口对时方式受信道时延、中断处理等不确定性延时的影响,只能实现10ms级对时,而无法单独实现高精度(微秒级)对时。因此,对于时间精度要求较高的被授时设备,一般会采用脉冲+串行口时间报文方式实现高精度的时间同步。
(1)串行口参数。
波特率为1200、2400、4800、9600、19200bit/s可选,缺省值为9600bit/s;数据位8位,停止位1位,偶校验。
(2)串行口时间报文协议。
报文发送时刻,每秒输出1帧,帧头为#,与秒脉冲PPS的上升沿对齐,偏差小于5ms。波形如图2-5所示。串行口时间报文协议的标准格式定义如表2-4所示。
2.4.3 IRIG-B 码
IRIG-B 是靶场仪器组(inter-range instrumentation group,IRIG)的 B 标准,是专为时钟信号传递制定的时钟码。IRIG-B 码以 BCD 方式每秒输出一次,内含100个脉冲,输出的时间信息为:秒、分、时、日、一个月中的第几天。B码对时携带信息量大,对时分辨率高,接口国际标准化,在电力系统对时中得到了广泛应用,并成为电力系统目前采用的主流对时信号类型。
IRIG-B 码参考 IRIG Standard 200-04 的规定,含有年份和时间信号质量信息(参照 IEEE C37.118—2005),其时间为北京时间。
(1)IRIG-B(DC)码。
IRIG-B(DC)码输出的技术要求:
1)每秒1帧,包含100个码元,每个码元10ms;
2)脉冲上升时间:≤100ns;
3)抖动时间:≤200ns;
4)秒准时沿的时间准确度:优于1μs;
5)接口类型:TTL电平、RS-422、RS-485或光纤;
6)使用光纤传导时,灯亮对应高电平,灯灭对应低电平,由灭转亮的跳变对应准时沿;
7)采用IRIG-B 000格式。
(2)IRIG-B(AC)码。
IRIG-B(AC)码输出的技术要求:
1)载波频率:1kHz。
2)频率抖动:≤载波频率的1%。
3)信号幅值(峰峰值):高幅值为3~12V可调,典型值为10V;低幅值符合3:1~6:1调幅比要求,典型调制比为3:1。
4)输出阻抗:600Ω,变压器隔离输出。
5)秒准时沿的时间准确度:优于20μs。
6)采用IRIG-B 120格式。
2.4.4 网络时间协议(NTP)
网络时间协议(network time protocol,NTP)[10-13],是用于互联网中时间同步的标准互联网协议。NTP定义了相应的报文格式、报文类型,通过互联网将计算机的时间同步到某一个标准时间。目前标准时间是协调世界时(UTC)。美国特拉华大学的David L. Mills教授是NTP的主要开发者[13]。
NTP的设计充分考虑了互联网上时间同步的复杂性。NTP提供的对时机制严格、实用、有效,适应于在各种规模、速度和连接通路情况下的联网环境下工作。NTP以GPS时间代码传送的时间消息为参考标准,采用了Client/Server结构,具有相当高的灵活性,可以适应各种互联网环境。NTP不仅校正现行时间,而且持续跟踪时间的变化,能够进行自动调节,即使网络发生故障,也能维持时间的稳定。NTP产生的网络开销较小,并具有保证网络安全的应对措施。这些措施的采用使NTP可以在互联网上获取可靠和精确的时间同步,并使NTP成为互联网上公认的时间同步工具。
目前,在通常的环境下,NTP提供的时间精确度在广域网(wide area network,WAN)上为数十毫秒,在局域网(local area network,LAN)上则为亚毫秒级或者更高。在专用的时间服务器上,则精确度更高。
2.4.4.1 NTP和SNTP
NTP协议和算法已经发展了30多年,其版本也逐步发展到NTP第4版(NTP v4),它可以兼容Unix、VMS和Windows等多种操作系统,同时适用于IPv6;第4版改进了时钟模型,在各种同步模型和网络通路的情况下更精确地预测和调节频率和时间;相应的新算法将降低网络抖动和振荡器漂移的误差,并且将加速起始时时间同步收敛速度;重新设计了工作在锁频环、锁相环或者两者混合模式下的时钟校正算法;还将提供关于自动配置(例如,manycast mode)、可靠性、降低互联网事务量和加强网络安全性的建议(使用public-key密码)等方面的新特性。NTP v4的结构框图如图2-10所示。
NTP协议为了保证高度的精确性,需要很复杂的算法,但是在实际很多应用中,秒级的精确度就足够了,在这种情况下,SNTP协议出现了,它通过简化原来的访问协议,在保证时间精确度的前提下,使得对网络时间的开发和应用变得容易。SNTP主要对NTP协议涉及有关访问安全、服务器自动迁移部分进行了删减。
SNTP协议目前的版本号是SNTP v4,它能与以前的版本兼容,更重要的是SNTP能够与NTP协议具有互操作性,即SNTP客户可以与NTP服务器协同工作,同样NTP客户也可以接收SNTP服务器发出的授时信息。这是因为NTP和SNTP的数据包格式是一样的,计算客户时间、时间偏差以及包往返时延的算法也是一样的。因此NTP和SNTP实际上是无法分割的。
2.4.4.2 时间同步子网络
互联网中运用NTP进行时间同步和分配所涉及的设备和通路的集合称为时间同步子网络。时间同步子网络以分层主从结构模式运行,其结构见图2-11。在这种结构中,少量的几台高层设备可以为大量的低层设备提供时间同步信息。
时间同步网络理论上根据其精确度和重要性一般分为从0~15的共16个级别或更多级,实际上不会大于6级。级别编码越低,精确度和重要性越高。时间的分配自级别编码小的层次向较大的层次进行,即由第0级向第15级分配渗透。第0级设备处于该子网络的特殊位置,是时间同步网络的基准时间参考源。它位于子网络的顶端,目前普遍采用全球卫星定位系统,即由GPS播发的UTC时间代码,其本身并不具有NTP。子网络中的设备可以扮演多重角色。例如一个第二层的设备,对于第一层来说是客户机,对于第三层可能是服务器,对于同层的设备则可以是对等机。这里对等机的含义是相互用NTP进行同步的计算机设备。
NTP工作在时间同步子网络1级以上的其它各级设备中。图2-11中,在第1级和第2级上用机盒图式表示的设备是网络时间服务器,或者称为NTP时间服务器;用计算机主机和工作站图式表示的是一般互联网中的对应物,在时间同步子网络中它们被视为时间服务器的时间客户机(下面简称服务器和客户机),服务器可以是专用设备,也可以是备有专用时钟电路的通用计算机。出于对精确度和可靠性的考虑,下层设备同时引用若干个上层设备作为参考源;而且也可以引用同层设备作为参考源。NTP能够从时间参考源中选择最好的几个时间源来推断现行时间。在同层设备配置为互为参考时,NTP会在两个对等机间进行自动选择,以精确度高者作为两者共同的参考源,而绝非两者互相引用。
时间同步子网络和电信网络中的数字同步网一样,不允许出现时间环路。数字同步网中依据的是同步状态信息(synchronization status message,SSM);而NTP则利用协议的优势,自动识别高精度的时钟源,确保时钟单方向地同步到高精确度的时钟,这样就避免了时间环路的出现。
2.4.4.3 NTP的通信模式
NTP以客户机和服务器方式进行通信。每次通信共计四个包。客户机发送一个请求数据包,服务器接收后回送一个应答数据包,如图2-12所示,数据包中时间戳的含义如表2-5所示。
两个数据包都带有时间戳。NTP根据这两个数据包的时间戳确定时间误差,并通过一系列算法来消除网络传输的不确定性的影响。
T1:客户方发送查询请求时间(以客户方时间系统为参照);
T2:服务器收到查询请求时间(以服务器时间系统为参照);
T3:服务器回复时间信息包时间(以服务器时间系统为参照);
T4:客户方收到时间信息包时间(以客户方时间系统为参照)。 在数据包的传送方式上,有客户机和服务器一对一的点对点方式,还有多个客户机对一个服务器的广播/多播方式。两者工作方法基本相同。处于两种方式下的客户机在初始时和服务器进行如同点对点的简短信息交换,据此对往返延时进行量化判断。对于广播/多播客户机只接收广播/多播消息的状态,并根据第一次信息交换的判断值修正时间。不同之处在于时间服务器在广播方式下周期性地向广播地址发送时间刷新信号;而在多播方式下周期性地向多播地址发送时间刷新信号。在广播/多播方式下一个服务器可以为大量的客户机提供时间,但精度较低。
NTP要求的资源开销和通信带宽很小。NTP采用UDP协议,端口号设定为123。UDP占用很小的网络带宽,在众多客户机和少许服务器通信时有利于避免拥塞。NTP数据包的净长度在v3下为64个字节,v4下为72个字节;在IP层分别为76和84个字节。如果通信方式是广播模式,服务器以固定的间隔向客户机广播发送一个数据包;如果是服务器/客户机方式,则通信间隔将在指定的范围内变化(一般是64~1024s),同步精度越好,间隔就越长。
2.4.4.4 NTP的数据包格式
NTP网络结构中,无论是服务器或是客户机之间通信的数据包均带有时间戳。时间戳用32位表示,前面16位是整数部分,后面16位是小数部分,计数精度可以达到200ps,NTP从时间戳中获得最基本的时间信息。
NTP数据包消息直接遵循UDP的消息头格式,其分组数据包由若干个数据字组成,每个字长为32bits,详见图2-13。其中,未加底色方框中内容为NTP v3和v4共同部分;浅灰底色部分为NTP v4专有部分;深灰底色部分为鉴权加密专用部分(其协议字段的含义参见文献[10-12])。在数据包传送时,可以采用DES-CBC或MD5进行数据加密。
2.4.4.5 NTP的算法
从图2-10中可以看到NTP涉及4个算法:时间滤波算法、时间选择算法、服务器算法和时钟调节算法。严格地说,这些算法并不是协议的固有部分,但是NTP的实现却有赖于这些算法。
(1)时间滤波算法。
该算法的功能是确认数据包的有效性和从某个给定的时间参考源的时间样本中选取最佳的样本。它可以分成健全性校验和滤波两个部分。
1)健全性校验的内容有:数据包的唯一性,数据包内容的符合性,服务器工作是否正常,往返延迟和离差数值是否合理。如果协议配置了安全性要求,则还将进行鉴权。
2)其后进行滤波。它备有一个时间参数寄存器数组,其深度N根据系统配置设置。当前的时间参数根据NTP消息交换时的发送起始时间、对端接收时间、对端回送时间和收到回送时间这4个时间戳信息计算得出,以(θ,δ,ε)形式表示。这里θ是样本时钟偏移,δ和ε是相关的往返延迟和滤波离差。
算法根据当前时间参数(θ,δ,ε),参照门限要求和时间参数寄存器数组中的历史信息,计算求得样本的滤波离差、同步距离,并且更新时间参数寄存器数组。滤波离差和同步距离表示了当前时间的偏移和最大误差,在后续的时钟选择算法中将作为参数用于时间同步参考源的选择。该算法在典型情况下可以把偏移的均方误差降低18dB。
(2)时间选择算法。
NTP客户机可以有若干时间同步参考源。时间选择算法则用于在若干时间参考源中选取最佳的若干参考源。NTP首先使用滤波算法的结果、滤波离差和同步距离确定对于各个时间源的有效的时间域值,也称之为交越值。然后对所有的时间逐一进行校验,如落入交越值规定的范围内时,认为有效,否则将被剔除。
(3)聚类算法。
NTP内部有一个时间参考源的表格,记录可供访问的所有时间参考源。这些参考源中最为优秀的才能作为候选者进入参考源的优选目录。从可靠性和效率的折中考虑,通常在参考源中选取10个最佳的时间参考源进入优选目录。聚类算法根据前面滤波和选择两个算法的结果,对优选目录中的时间参考源重新选择。衡量标准说明是精确度,具体表现为NTP的级、离差、延时、偏移和偏移的一次导数等的加权组合。现行候选者如能通过聚类算法则留用,否则将被剔除出优选目录,并在其他参考源中选取一个最佳者加入优选目录。通过聚类算法,可以减少网络时钟漂移产生的不良影响。
(4)时钟调节算法。
时钟调节是NTP实现至关重要的一个环节。时间精确度须依赖于时钟振荡器的稳定度和时钟调节的精密度。在NTP中,网络响应能力的变化产生的误差为抖动;振荡器频率稳定度产生的误差为漂移。目前使用自适应混合时钟调整算法。该调整算法校准计算机时钟的时间,补偿固有频率误差,根据测得的抖动和漂移动态地调节相关参数。算法使用了锁相环路(PLL)和锁频环路(FLL)两者的合成。PLL消除抖动非常有效,而只能间接地降低漂移,而FLL正好相反。因此,在抖动主导的环境,使用PLL效果明显;在漂移占主导地位的环境中,FLL效果明显。调整算法由图2-14的反馈控制系统进行实现。
这里,θ1 表示周期性轮询产生的参考相位,θ2 是可变频率振荡器(VFO)产生的控制相位。鉴相器输出信号Vc 表示θ1 和θ2 的瞬时相位差。时钟滤波器相当于一个带抽头的延迟线,由算法决定抽头位置,时钟选择、群集、合成算法组合滤波器的数据以生成信号V。环路滤波器产生信号Vc,控制VFO的频率ω。和相位θ2。该算法在不同的网络抖动和振荡器漂移情况下,自动控制管理消息更新间隔。更新间隔的上限从先前的不到0.5h扩展到1.5天,大大减小了网络开销,增加了可靠性。而且切换时间源时不会出现跳频现象。
2.4.5 精确时间同步协议(PTP)
精确时间同步协议(precision time protocol,PTP)是一种对标准以太网终端设备进行时间和频率同步的协议,也称为IEEE 1588,简称为1588。1588分为1588v1和1588v2两个版本,1588v1只能达到亚毫秒级的时间同步精度,而1588v2可以达到亚微秒级时间同步精度。1588v2被定义为时间同步的协议,未来只是用于设备之间的高精度时间同步,随着技术的发展,1588v2已具备频率同步的功能。现在1588v1基本已被1588v2取代,以下非特殊说明,PTP即表示1588v2。
IEEE 1588的基本思想是通过硬件和软件将网络设备的内时钟与主控机的主时钟实现同步,提供亚微秒级的同步精度,与未执行PTP协议的以太网毫秒级的延迟相比,整个网络的时间同步性能有显著的改善。
IEEE 1588标准定义了一个在测量和控制系统中实现高精度时间同步的协议,PTP协议集成了网络通信、分布式对象和本地计算等多项技术,适用于所有通过支持多播的局域网进行通信的分布式系统,适合于以太网,但并不局限于以太网。PTP协议目前在电力系统内主要用于数字化/智能变电站的准确对时。
2.4.5.1 PTP基本概念
(1)PTP域。
应用了PTP协议的网络被称为PTP域,PTP域内有且只有一个同步时钟,域内的所有设备都与该时钟保持同步。一个域包括一个或多个PTP设备,设备按PTP协议规定互相通信。域规定了PTP报文通信、状态、操作、数据集以及时间标尺的范围。PTP设备可能属于多个域,但是除非另外说明,在不同的域中协议和时间标尺的运行是互相独立的。
域由一个整数来识别,即域值(domain number),其变化范围是0~255,定义见表2-6。具有域值为0的域被称为默认域。域值的值将根据PTP配置集限制要求来配置。
(2)PTP端口。
设备上运行了PTP协议的端口被称为PTP端口。PTP端口的角色可分为以下三种。
1)主端口(master port):发布同步时间的端口,可存在于边界时钟(boundary clock,BC)或普通时钟(ordinary clock,OC)上;
2)从端口(slave port):接收同步时间的端口,可存在于BC或OC上;
3)被动端口(passive port):既不接收同步时间、也不对外发布同步时间的端口,只存在于BC上。
(3)时钟节点。
PTP域中的节点称为时钟节点,PTP协议定义了以下三种类型的基本时钟节点:
1)普通时钟(ordinary clock,OC):该时钟节点在同一个PTP域内只有一个PTP端口参与时间同步,并通过该端口从上游时钟节点同步时间。此外,当时钟节点作为时钟源时,可以只通过一个PTP端口向下游时钟节点发布时间。
2)边界时钟(boundary clock,BC):该时钟节点在同一个PTP域内拥有多个PTP端口参与时间同步。它通过其中一个端口从上游时钟节点同步时间,并通过其余端口向下游时钟节点发布时间。此外,当时钟节点作为时钟源时,可以通过多个PTP端口向下游时钟节点发布时间。
3)透明时钟(transparent clock,TC):BC/OC需要与其他时钟节点保持时间同步,而TC则不与其他时钟节点保持时间同步。TC有多个PTP端口,但它只在这些端口间转发PTP协议报文并对其进行转发延时校正,而不会通过任何一个端口同步时间。TC包括以下两种类型:
① 端到端透明时钟(end-to-end transparent clock,E2ETC):直接转发网络中非点到点(peer-to-peer,P2P)类型的协议报文,并参与计算整条链路的延时;
② 点到点透明时钟(peer-to-peer transparent clock,P2PTC):只直接转发Sync报文、Follow_Up报文和Announce报文,而终结其他PTP协议报文,并参与计算整条链路上每一段链路的延时。
除了上述三种基本时钟节点以外,还有一些混合时钟节点,譬如融合了TC和OC各自特点的TC+OC:它在同一个PTP域内拥有多个PTP端口,其中一个端口为OC类型,其他端口则为TC类型。一方面,它通过TC类型的端口转发PTP协议报文并对其进行转发延时校正;另一方面,它通过OC类型的端口进行时间的同步。与TC的分类类似,TC+OC也包括两种类型:E2ETC+OC和P2PTC+OC。
(4)主从关系。
PTP域中的时钟主从关系(master-slave)是相对而言的,对于相互同步的一对时钟节点来说,存在如下主从关系:
1)发布同步时间的节点称为主节点,而接收同步时间的节点则称为从节点;
2)主节点上的时钟称为主时钟,而从节点上的时钟则称为从时钟;
3)发布同步时间的端口称为主端口,而接收同步时间的端口则称为从端口;
4)最优时钟。
如图2-15所示,PTP域中所有的时钟节点都按层次结构组织在一起,整个域的参考时间就是最优时钟(grandmaster clock,GM),即最高层次的时钟。通过各时钟节点间PTP协议报文的交互,最优时钟的时间最终将被同步到整个PTP域中,因此也称其为时钟源。
2.4.5.2 PTP时钟模型
PTP定义了五种类型的PTP装置,包括普通时钟、边界时钟、端到端(end-to-end)透明时钟、peer-to-end透明时钟、管理节点。
测量PTP端口之间的增值延迟有两种机制:第一种机制,延迟请求—响应机制,使用Sync、Delay_Req、Delay_Resp、Follow_Up(若有需要);第二种机制,同等延迟机制,使用信息Pdelay_Req、Pdelay_Resp、Pdelay_Resp_Follow_Up。在普通时钟和边界时钟上的端口可执行任一机制;端到端(end-to-end)透明时钟端口独立于这些机制;对等(peer-to-peer)透明时钟端口使用同等延迟机制。另外,同等延迟机制限制拓扑,对等(peer-to-peer)端口与其他端口通过PTP报文通信。
2.4.5.3 PTP报文类型
PTP报文有四种类型:Sync、Delay_Req、Pdelay_Req、Pdelay_Resp。
(1)Sync:报文由主时钟发送到从时钟。它同时还包含发送时间戳在跟随的Follow_Up报文中包含这个时间。它可以由接收报文节点测量数据包从主时钟发送到从时钟的延时。
(2)Delay_Req:报文是一个对接收报文节点的请求,接收报文节点使用Delay_Resp报文,返回接收Delay_Req报文那刻的时间。
(3)Pdelay_Req:报文由一个PTP端口发送到另一个PTP端口,这是同等延时机制的一个部分,用来确定两个端口之间的链路上的延时。
(4)Pdelay_Resp:报文由一个PTP端口响应接收到了Pdelay_Req报文信息而发送的。
普通报文包含以下报文类型:广播(Announce)报文提供发送报文节点的状态和特征信息以及它的最高级主时钟;Follow_Up报文对于两类时钟和边界时钟,为了特殊的Sync报文需要而进行<syncEventExpressTimestamp>值的通信;Delay_Resp报文向发送Delay_Req报文的从端口通信<delayReqEventingTimestamp>值;Pdelay_Resp_Follow_Up报文对于支持同等(peer-to-peer)延时机制的二步时钟;管理Management报文使用通信信息和命令来管理时钟;信令Signaling报文带有时钟之间的信息、请求和命令。
2.4.5.4 PTP同步机制
PTP协议正常执行包括两个阶段:建立主从体系和同步化时钟。
(1)最优主时钟算法。
最优主时钟算法,用于决定PTP域中,哪个时钟是最优时钟,描述在本地时钟端口收到的Announce报文中。它也被用于决定新发现的时钟(外部的主时钟)是否比本地时钟更优。外部主时钟的数据被包含在Announce报文的最高级主时钟字段中。描述本地时钟的数据包含在时钟的defaultDS数据集中。
最优主时钟算法由两个算法组成:数据集比较算法和状态决定算法。
1)数据集比较算法,决定两个时钟端口哪个更优,从而决定时钟端口的状态。
2)状态决定算法,端口协议引擎基于协议状态机的当前状态评估建议的状态,决定端口下一个状态。
(2)主从体系。
“状态决定事件”规则决定PTP系统的主从体系,主从体系的建立实质上就是在子网中寻找最优主时钟。最优主时钟可以通过手工配置静态指定,也可以通过最优主时钟(Best Master Clock,BMC)算法动态选举,动态选举的过程如下:
1)各时钟节点之间通过交互Announce报文中所携带的最优时钟优先级、时间等级、时间精度等信息,最终选出一个节点作为PTP域的最优时钟,与此同时,各节点之间的主从关系以及各节点上的主从端口也确定了下来。通过这个过程,整个PTP域中建立起了一棵无环路、全连通,并以最优时钟为根的生成树。
2)主节点会定期发送Announce报文给从节点,如果在一段时间内,从节点没有收到主节点发来的Announce报文,便认为该主节点失效,于是重新进行最优时钟的选择。
域中普通时钟和边界时钟之间的主从体系,如图2-16所示。图2-16中,边界时钟-1在家域的根,即最高级主时钟。边界时钟-1的端口1是最高级主时钟从端口(如图中S)。边界时钟-1上的所有的其他端口是所有邻接时钟的主时钟。因此,边界时钟-2的端口1对边界时钟1是从时钟,以此类推。只有普通时钟和边界时钟维持这种状态,边界时钟是建立主从体系的分支点(例如,路径1、2、3、4可能包含透明时钟,但是这些时钟不参与主从体系)。
(3)PTP时钟频率的调整。
主时钟节点通过网络向子网内的所有节点周期性的广播Sync报文,其发送的准确时间t0。在随后的Follow_Up报文中,t0为第n个Sync报文在网络接口上发送时的时间戳。子网内所有其他节点作为从时钟,在收到第n个Sync报文后,记下接收时刻t_n,再结合接收到的Follow_Up报文中的时间t_m,分别计算本地时钟与主时钟的频率偏差Δf,并根据计算出的Δf对本地时钟的频率做出相应的调整,其调整示意图如图2-17所示。
计算公式:
Δf = ((tm - tm') - (tn - tn')) / (tm - t1) (2-4)
式(2-4)中,n为syncInterval分隔时间戳的数目(n>0)。从时钟的频率能够通过这个比例因子来调整。根据式(2-4)计算出的频率偏差Δf来调整本地时钟的晶振使得本地时钟的变化率与主时钟的变化率一致。
(4)PTP路径延时与时间偏差的测量。
PTP协议定义了两种传播延时测量机制:延迟请求响应(delay request-response)机制和对等延时(peer delay)机制,这两种机制都以网络链路对称为前提。
1)延迟请求响应机制。
延时请求响应机制用于测量端到端的时延。无论是直接连接通信的主、从时钟节点,还是经过E2E透明时钟的主、从时钟节点,它们之间的路径传输延时都可采用延迟请求响应机制。
延时请求响应机制的实现过程如图2-18所示,其中CFFollow_Up、CFDelay_Resp分别是报文Follow_Up、Delay_Resp纠正域字段的值,里面包含有Sync、Delay_Req经过E2E透明时钟的驻留时间。
① 主时钟向从时钟发送Sync报文,并记录发送时间t1;穿越E2E时钟时,计算Sync报文的驻留时间;从时钟收到该报文后,记录接收时间t2。
② 主时钟发送Sync报文之后,紧接着发送一个携带有t1的Follow_Up报文;穿越E2E时钟时,将Sync报文的驻留时间插入到CFFollow_Up字段中。
③ 从时钟向主时钟发送Delay_Req报文,并记录发送时间t3;穿越E2E时钟时,计算Delay_Req报文的驻留时间;主时钟收到该报文后,记录接收时间t4。
④ 主时钟收到Delay_Req报文之后,回复一个携带有t4的Delay_Resp报文;穿越E2E时钟时,将Delay_Req报文的驻留时间插入到CFDelay_Resp字段中。
此时,从时钟便拥有了t1~t4这四个时间戳以及报文Sync、Delay_Req经过E2E透明时钟的驻留时间,由此便可计算出主、从时钟之间的传输延时为:
delay = [(t2 - t1) + (t4 - t3) - CFFollow_Up - CFDelay_Resp] / 2 (2-5)
时间偏差计算公式:
offset = [(t2 - t1) - (t4 - t3) - CFFollow_Up + CFDelay_Resp] / 2 (2-6)
2)对等延时机制。
对等延时机制只适用于支持这种机制的对等时钟设备之间的延时测量。与延时请求响应机制相比,对等延时机制不仅计算同步事件报文的驻留时间,还对上游链路的延时进行计算。
对等延时机制的实现过程如图2-19所示,其中Δt1与Δt2分别是主时钟与P2P时钟,P2P时钟与从时钟之间的链路延迟,CFFollow_Up是报文Follow_Up纠正域字段的值,里面包含有Sync经过P2P透明时钟的驻留时间与链路延迟Δt1的和,对等延时机制的实现过程分两个阶段进行。
首先,计算每一个链路的传输延时,以计算Δt2为例:
① 从时钟向P2P时钟发送Pdelay_Req报文,并记录发送时间t1;P2P时钟收到该报文后,记录接收时间t0。
② P2P时钟收到Pdelay_Req报文之后,回复一个携带有t0的Pdelay_Resp报文,并记录发送时间tc;从时钟收到该报文后,记录接收时间t0。
③ P2P时钟回复Pdelay_Resp报文之后,紧接着发送一个携带有tc-t0的Pdelay_Resp_Follow_Up报文。
此时,从时钟便拥有了tA~tD这四个时间戳,可以计算出链路对上两个设备之间的线路延迟,计算公式如下:
th = tA + Δt2 - offset (2-7)
t0 = tC + Δt2 + offset (2-8)
由式(2-7)、式(2-8)可得:
Δt2 = [(th - tA) + (tD - tC)] / 2 = [(t0 - tA) - (tC - tD)] / 2 (2-9)
同样的道理计算出Δt1。
其次,计算主、从时钟之间的时间偏差:
① 主时钟向从时钟发送Sync报文,并记录发送时间t1;穿越P2P时钟时,计算Sync报文的驻留时间;从时钟收到该报文后,记录接收时间t2。
② 主时钟发送Sync报文之后,紧接着发送一个携带有t1的Follow_Up报文;穿越P2P时钟时,将Sync报文的驻留时间与链路延时Δt1一起插入到Follow_Up报文的CFFollow_Up字段中。
此时,从时钟便拥有了t1、t2、CFFollow_Up、Δt2这四个时间值,由此可计算出主、从时钟设备之间的时间偏差offset值,其计算公式如下:
t2 = t1 + CFFollow_Up + Δt2 + offset (2-10)
delay = CFFollow_Up + Δt2 (2-11)
在式(2-11)中,delay为主、从时钟之间总的路径延时(包含驻留时间),所以由式(2-10)和式(2-11)可计算出:
offset = t2 - t1 - delay = t2 - t1 - CFFollow_Up - Δt2 (2-12)
从时钟根据offset的值调整本地时钟,使本地时钟与主时钟达到时间上的同步。
2.4.5.5 PTP系统组成
常用的PTP时间同步系统组成有基本式和主备式两种[15]。
(1)基本式如图2-20所示,PTP主时钟接收北斗/GPS卫星同步基准或有线时间基准信号,通过网络交换设备,向下一级时间同步系统或PTP被授时设备提供时间基准信号。
(2)主备式如图2-21所示,配置两台主时钟,主时钟A和主时钟B互为热备用,同时接收上一级的有线或无线时间基准信号。 注:实线框表示支持精确时间协议的设备,虚线框表示不支持精确时间协议的设备。
2.4.5.6 PTP网络结构
针对变电站内是否已经配置主时钟的情况,这里给出两种PTP网络结构。
(1)逻辑组网方式A,如图2-22所示,面向变电站和发电厂内配置两个互备主时钟的情形。主备时钟的切换,由主时钟通过BMC算法来完成,从时钟需识别切换过程,确定使用的路径时延与工作的主时钟路径一致。
(2)逻辑组网方式B,如图2-23所示,面向变电站和发电厂内已配置主时钟,但主时钟不具备提供PTP信息的情形,可通过输出IRIG-B到具备OC主模式的PTP服务器,实现网络授时功能。
2.4.5.7 PTP应用缺省设置
PTP时间同步系统应用缺省设置符合IEC 61850-90-4和IEEE C37.238的要求,见表2-7。
2.4.6 DCLS时码
数据采集与定位系统(data collection and location system,DCLS)是IRIG码的另一种传输码形,用直流电位来携带时码信息,等效于IRIG调制码的包络。以8ms的脉冲作为前导码(index),5ms的脉冲表示逻辑1,2ms的脉冲表示逻辑0;每个脉冲都必须在每个10ms的开始,作为时间码解码信息。IRIG-B普通方式与DCLS方式的比较如图2-24所示。DCLS通过数字通道进行传输,无传输距离的限制,精确度为10~1000μs。DCLS输入具有时延补偿机制,补偿范围可达99ms,补偿后,系统精度小于10μs。目前,随着电力系统数字同步网的建设及NTP/SNTP/PTP技术的发展和应用,DCLS技术在电力系统时间同步系统内几乎不再被采用。
2.5 电力系统时间同步系统常用通信协议
在电力系统中,为了实现无线授时模块与主时钟单元、时钟装置与变电站监控系统之间的报文通信,采用了现有的通信协议,如NMEA-0183[16]、串行通信口报文协议[9](见2.4.2)以及基于IEC 61850(DL/T 860)、IEC 60875-5-104的通信协议,实现时间同步系统与变电站/发电厂监控系统间的管理通信。
2.5.1 NMEA-0183
NMEA-0183是美国国家海洋电子协会为海用电子设备制定的标准格式,在原有的0180、0182基础上增加了GPS接收机输出内容而完成的。该协议定义了电子需求、数据传输协议、时间编码、4800波特率串行数据总线的专用语句格式等。北斗系统也采用NMEA-0183协议,是目前电力系统时间同步装置的卫星接收模块给内部时钟单元输出时间报文所用的通信协议。
NMEA-0183的所有语句均以“$”开头,以hh<CR><LF>结束。hh为输出语句“$”和“*”之间所有字符异或的值(不包括$符和*符),长度为1字节。<CR>为0x0D,<LF>为0x0A。语句的格式如表2-8所示。卫星接收模块输出的语句包括GPGGA、BDGSV、GPGSV、GPRMC、GPZDA、GPDMM、GPGLL、GPVG、GPZDV,如表2-9所示。
ID语句由5个字符构成,前两位为交谈识别符,后三位为语句识别符,语句识别符固定不变;而交谈识别符可自由设定,为CP则表明是GPS系统数据(GPS系统交谈识别符皆为GP),为BD则表明是北斗数据,各卫星接收模块厂家也可自己定义,比如用SSGGA代替GPGGA也是允许的。
2.5.1.1 GPGGA(全球定位信息)
$ GPGGA, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>, M, <10>, M, <11>, <12> * hh<CR><LF>
<1>时间信息hhmmss.sss(时分秒)
<2>纬度半球:N为北纬,S为南纬
<3>纬度dddmm.mmmm(度分)
<4>经度dddmm.mmmm(度分)
<5>经度半球:E为东经,W为西经
<6>数据输出种类:北斗数据为B,GPS数据为G
<7>当前系统接收卫星颗数 00~16
<8> HDOP 水平精度因子;BD 为0.0
<9>海拔高度 hh.h(m)
<10>高程异常:恒为0.0
<11>差分修正值数据龄期:空
<12>差分基准站ID:空
2.5.1.2 BDGSV(北斗卫星信息)
$ BDGSV, <1>, <2>, <3>, | <4>, <5>, <6>, <7>, | * hh<CR><LF>
例:$ BDGSV, 1, 1, 3, 1, 33, 114, 52, 2, 42, 125, 51, 3, 36, 133, 52 * C2
<1>GSV语句的总数;1
<2>本句GSV的编号;1
<3>可用卫星的总数
<4>卫星编号
<5>卫星仰角(00~90°)
<6>卫星方位角(000~359°,前面的0也将被传输)
<7>接收机功率,输出接收到的卫星的载噪比
2.5.1.3 GPGSV(GPS卫星信息)
$ GPGSV, <1>, <2>, <3>, | <4>, <5>, <6>, <7>, | * hh<CR><LF>
例:$ GPGSV, 4, 2, 16, 05, 15, 133, 32, 06, 23, 114, 52, 12, 42, 125, 51, 03, 36, 133, 52 * C2
<1>GSV语句的总数
<2>本句GSV的编号
<3>可见卫星的总数
<4>卫星编号
<5>卫星仰角(00~90°)
<6>卫星方位角(000~359°)
<7>接收机功率,输出接收到的卫星的载噪比
注:<4>, <5>, <6>, <7>信息将按照每颗卫星进行循环显示,每条GPGSV语句显示四颗卫星的信息。
2.5.1.4 GPRMC(最小推荐数据)
$ GPRMC, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>, <10>, <11>, * hh<CR><LF>
例:$ GPRMC, 152654.00, A, 3958.29261, N, 11618.29001, E, 0.2, 23.3, 010109, , , 1 * 6D
<1>时间信息hhmmss(时分秒)
<2>接收机状态:V为无效,A为有效
<3>纬度ddmm.mmmm(度分),前面的0也被传输
<4>纬度半球:N为北纬,S为南纬
<5>经度dddmm.mmmm(度分),前面的0也被传输
<6>经度半球:E为东经,W为西经
<7>地速
<8>地速方向
<9>时间信息DDMMYY(日月年)
<10>磁偏角:空
<11>磁偏角方向:E/W
<12>工作模式:0为无效,1为北斗固定位置模式,2为北斗2D定位,3为北斗3D定位
2.5.1.5 GPZDA(时间和日期信息)
$ GPZDA, <1>, <2>, <3>, <4>, <5>, <6> * hh<CR><LF>
例:$ GPZDA, 132536.00, 02, 03, 2010, 08, V, 00 * AC
<1>时间信息hhmmss.sss(时分秒)
<2>日期dd
<3>月份mm
<4>年份yyyy
<5>时区08
<6>接收机状态:V为无效,A为有效
2.5.1.6 GPDMV(速度信息)
$ GPDMV, <1>, <2>, <3>, <4>, <5>, <6> * hh<CR><LF>
例:$ GPDMV, 0.1, -2.3, 1.2, 125.1, 2.1 * AC
<1>X方向速度(m/s)
<2>Y方向速度(m/s)
<3>Z方向速度(m/s)
<4>地速方向
<5>总速度(m/s)
2.5.1.7 GPCFG(接收机配置信息)
$ GPCFG, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>, <10> * hh<CR><LF>
例:$ GPCFG, A, A, A, B, 1, 4, 0, 15, 1, A * 23
<1>北斗系统状态:V为无效,A为有效
<2>GPS系统状态:V为无效,A为有效,W为同步无效
<3>当前选用系统状态:V为无效,A为有效
<4>当前系统选择:B为北斗,G为GPS
<5>当前系统选择模式
<6>当前工作模式
<7>是否保存位置;0为不保存,1为保存
<8>GPS收到的同秒信息
<9>GPS 同秒是否有效:0 为无效,1 为有效
<10>天线状态:A 为正常,O 为开路,S 为短路
2.5.1.8 GPZDY(客户自定义信息)
$ GPZDY, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>, <10>, <11>, <12>, <13>, <14>, <15>, <16>, <17>, <18>, <19>, <20>, <21>, <22>, <23> * hh<CR><LF>
例:$ GPZDY, 144538.00, A, 3955.84704, N, 11616.52366, E, 031111, 73.6, M, 03, A, 09, W, B, 1, 15, V, 00, 08, 1, 4, 0, A * 00
<1>时间信息 hhmmss.sss(时分秒)
<2>接收机状态:V 为无效,A 为有效
<3>纬度 ddmm.mmmmmm(度分),前面的 0 也被传输
<4>纬度半球:N 为北纬,S 为南纬
<5>经度 ddmm.mmmmmm(度分),前面的 0 也被传输
<6>经度半球:E 为东经,W 为西经
<7>时间信息 DDMMYY(日月年)
<8>海拔高度 hh.h(m)
<9>高度单位(m)
<10>北斗收星数量
<11>北斗系统状态:V 为无效,A 为有效
<12>GPS 收星数量
<13>GPS 系统状态:V 为无效,W 为同秒无效,A 为有效
<14>当前所用系统
<15>当前系统定位状态(0,1,2,3)
<16>GPS 同秒
<17>同秒状态:V 为无效,A 为有效
<18>同秒预报(保留位)
<19>时区
<20>系统选择设置:1 为主用北斗,2 为主用 GPS,3 为指定北斗,4 为指定 GPS
<21>工作模式设置:1 为手动输入高度,2 为读取 GPS 高度,3 为手动输入经纬度,4 为读取 GPS 经纬度
<22>坐标状态:0 为不保存坐标位置,1 为保存坐标位置
<23>天线状态:A 为正常,S 为短路,O 为开路
2.5.2 IEC 61850/MMS通信
制造报文规范(manufacturing message specification,MMS)是一个OSI应用层的标准,用于支持计算机集成制造环境下可编程设备之间双向报文通信。MMS规范了工业领域具有通信能力的智能传感器、智能电子设备(intelligent electric device,IED)、智能控制设备的通信行为,使出自不同制造商的设备之间具有互操作性(interoperability)。制造报文规范从以下几个方面进行定义:
(1)定义服务的用户之间交互的抽象模型;
(2)外部可见执行功能,以程序要求的形式与执行服务请求相关联;
(3)服务的原语活动和事件;
(4)与每个原语活动和事件相关联的数据;
(5)这些活动和事件之间的关系及其有效顺序。
随着变电站自动化技术的快速发展,IEC 61850系列标准(国内等同采用为DL/T 860系列标准)在变电站内使用也日臻成熟。IEC 61850在技术上一个显著的特点就是使用了MMS,其高层抽象定义最终都映射到底层的MMS上去。所以,MMS是IEC 61850的基础之一。
IEC 61850-8-1定义了变电站站控层和间隔层之间通信的抽象通信服务接口(abstract communication service interface,ACSI)到MMS之间的映射。这种映射关系定义了ACSI中的概念、对象和服务如何与MMS中的概念、对象和服务进行对应。这部分给出了在局域网条件下使用与ISO标准完全兼容的MMS服务与协议传输实时数据的方法。
基于IEC 61850建立的变电站系统,通常也被称为智能变电站,智能变电站内时间同步装置是其中的重要设备,它为站内所有的智能电子设备提供统一的时间源。作为智能变电站内的智能电子设备,IEC 61850系列标准中对时间同步装置进行定义,在实际应用中,设备制造商可根据电力公司的需求、设计规范的要求,根据MMS规范对时间同步装置进行建模,表2-10是一个现场应用模型示例。 模型里面的节点信息定义涵盖了时间同步装置的主要自检状态信息,这些信息以虚遥信的方式,传输给监控后台。
2.5.3 IEC 60870-5-104 规约
对于常规变电站来说,时间同步装置的状态信息可以通过IEC 60870-5-104规约(简称104规约)传输到监控后台。
时间同步装置作为104规约通信的客户端,在2404端口进行监听。当接收到监控后台(控制端)的连接请求后,建立TCP/IP连接,通信通道建立。
客户端被动接受并响应控制端下发的总召、对时、复位等命令。
客户端检测到有变化遥测、遥信变位等时,主动上传遥测、遥信数据。
客户端与主站端均通过发送序号、接收序号来判断通信链路的好坏,当某一方检测到发送序号未进行确认或者是接收序号跳变时,立即启动链路测试报文,若测试异常,则终止本次连接。
遥信、遥测点号定义如表2-11所示。