- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
一种易于实现伸缩性和扩展性的保护通信协议
0 引言
传统的保护通信协议对于不同命令的报文采用不同类型的代码,这些不同类型的代码可能相同,它们通过对应不同的命令来区分。但是在实际保护动作过程中,一个保护动作的通信报文中可能含有多个同一类型的代码,而且个数可能不确定。例如:在高压线路保护中,在正方向近距离内发生单相接地短路,则接地距离一段、零序一段、重合闸都可能动作,如果重合于永久性故障,则还有后加速动作;在低压线路保护中,过流、低电压、重合闸多个保护元件可能动作。因此,一个报文中同一类型的代码必须解决伸缩性的问题。解决的方法有两种:①传多个报告,每一个报告表达一个保护动作元件;②传一个报告来表达多个保护动作元件。第1种方法的效率高,可较好地表达一个事件过程中多个保护元件之间的联系,用户较习惯,但是必须解决伸缩性的问题。
另外,在实际保护动作过程中,为了全面反映一个保护动作事件,通信报文中需要含有不同类型的代码,而且个数可能不确定。例如:需要知道保护的动作类型、故障相别、故障相的测量值、故障相的相角差、与保护动作有关的开入量、故障测距值等。因此,一个报文中必须解决不同类型的代码的伸缩性的问题,而且随着用户对保护信息的要求的提高,还可能出现新的类型,必须解决扩展性的问题。目前的解决方法有两种:①在报告中固定各种类型的数量和排列顺序;②在报告中加上描述性的报文。对于第1种方法,如果报告中固定的各种类型信息的数
量比较少,可能会限制了一些保护信息的上送;如果固定的各种类型的信息数量按照最大化设计,则在大多数情况下通信的代码有冗余,降低了通信的效率,而且也不能穷尽各种可能出现的新的信息。第2种方法能解决不同类型的代码的伸缩性和扩展性的问题,但是由于描述性的报文过长,影响了通信的效率。因此,保护产品迫切需要一种简捷的、易于实现伸缩性和扩展性的通信协议。
1 新的保护通信协议
针对这些问题,本文提出了一种新颖的保护通信协议。不同于其他保护通信协议对不同类型的代码分别编码,本协议对各种类型代码采用统一编码,使得其易于伸缩和扩展。此协议的前提条件是尽管保护通信的类型和代码比较多,但所有类型的代码数量的总和不会多于65535个,即2个字节能表示所有的代码。
如果所有类型的代码数量的总和多于65535个,可定义从F000H到FFFFH的代码区用于扩展代码,即当代码是从F000H到FFFFH,则下面紧跟的2个字节不再是其对应的数值,而是扩展的代码。
本协议采用统一惟一编码,类似于微软的COM指定接口和对象用128 bit全局惟一标识符(GUID)来标识。
2 应用举例
在我们实际使用的通信协议中,各种类型的代码区的分配见表1。
a.为了能区分类型和与其对应的数值,规定数值也采用2个字节来表示,两者交替排列,使得类型和数值不会混淆;
b.类型和与其对应的数值作为一个描述组,描述组的数量和顺序可灵活摆放,便于扩展;
c.描述组的个数可通过报文中2个字节的长度值换算得到;
d.从报文头到描述绝对时刻结束的一段报文是固定格式;
e.“动作类型”后续的数值是其对应的“动作毫秒”,而不是“动作数值”,因为没有“动作数值”,而动作相对于绝对时刻的相对滞后时间是需要的;
f.“故障类型”后续的数值是其对应的“故障测距”,而不是“故障数值”,因为没有“故障数值”,而“故障测距”是可能需要的,如果无测距,则置“0FFFFH”;
g.“诊断类型”后续的数值是其对应的相对于绝对时刻的相对滞后时间;
h.为了便于分析故障,对于有1个以上动作元件的事件报告,可在第1个动作元件描述完后,再接第2个动作元件的描述,第3个动作…以此类推,对于第1个以后的动作元件可省略前面已描述的类型及其数值;
i.定值也可采用此格式;
j.送故障录波的格式和数据可套用此格式。
3 存在的问题及其解决方法
本协议的缺点是有些类型的代码(例如测量和诊断类型的代码)不超过256个,若不采用统一惟一编码,则用1个字节即能表示一个某一类型的代码,所以在这种情况下采用2个字节的统一惟一编码会增加报文的长度,但由于这些类型在整个报文中数量很少,并且这些报文不常收发,所以对软硬件资源和通信传输时间影响不大。
4 实际应用
表2为一个针对CAN通信的110 kV线路发生AB两相接地瞬时短路,距离保护的距离一段、零序一段、重合闸动作的具体保护动作报告的例子。
从上述例子可以看出,由于本协议对各种类型代码采用统一编码,使得其易于伸缩和扩展。实际系统的联调显示了其强大的伸缩性和扩展性。