IEC 61850一致性测试研究
(国网自动化研究院,江苏省南京市 210003)
摘要:变电站自动化产品遵循的IEC 61850通信标准是确保不同厂家的产品能互通的关键,因此标准的一致性测试就相应成为产品开发过程中的重要环节,文章介绍了IEC 61850一致性测试的程序、内容及测试项目,提出并讨论了一致性测试的简单框架结构。对中国规约一致性测试的发展道路提出自己的观点。IEC 61850一致性测试工作的开展有一定的积极意义。
关键词:IEC 61850; IED; 一致性测试; 互操作; 测试过程
0 引言
国际电工委员会TC 57制定了《变电站通信网络和系统》系列标准,该标准成为基于通用网络通信平台的变电站自动化系统唯一国际标准。通过对变电站自动化系统中的对象进行统一建模,采用面向对象技术和独立于网络结构的抽象服务通信接口(ACSI),增强了设备间的互操作性,可以在不同厂家的设备之间实现无缝连接。为了检测开发的IED(智能电子设备)产品是否符合IEC 61850标准,标准第10部分即一致性测试部分定义了一致性测试的程序、内容及测试项目等[1,4],本文主要对一致性测试这部分加以讨论。
制定通信规约的国际标准其目的在于加强不同厂家之间产品的兼容性即实现无缝通信,使不同厂家生产的产品具有互操作性,从而降低在规约转换时造成的大量的人力物力的浪费,为制造商和用户带来利益。
为了保证设备相互间的兼容性,从国际上比较成功的标准规约IEC60870-5及DNP 3的来看,它们经历的过程非常值得注意。规约的统一解释对一个标准规约的实施推广起非常重要的作用。IEC 60870-5系列规约比DNP 3公布的早,实施推广却晚2-3年,3-5年前,IEC 60870-5作为国际标准,国际上却没有一个组织可以对IEC 60870-5的实施细节进行解释。北美的DNP3规约在1993年就成立了由以各个竞争厂家为主的DNP3用户协会,负责DNP3实施细节的解释以及规约的修改,目前DNP3的用户协会需要200美元加入。IEC 60870-5没有用户协会,但从2000年9月起,美国的Triangle Micro Works发起了IEC60870-5规约的INTERNET讨论组,这个讨论组得到全世界IEC 60870-5方面专家的支持。可见规约的统一解释非常关键,通常标准规约文本仅仅定义了90%,而10%是选择项。各个厂家的实施实现程度也不相同。用户也未必在功能规范书中将规约的要求明确。这就给规约的使用带来了极大的困难,因此,标准测试步骤也慢慢成为标准规约的一部分。
1999年DNP3用户意识到标准测试的重要性,第一个完成了DNP3的标准测试步骤,并在各竞争厂家,用户组成的DNP3用户协会中投票通过成为DNP3规约的标准文件之一。以此文件为标准,目前DNP3用户协会批准了三家公司进行DNP3兼容性认证的测试及兼容证书的发放。
IEC 60870-5系列规约的兼容性测试始于欧洲的KEMA咨询公司。由于KEMA积极参与了IEC 60870-5系列规约的制定,甚至起草一些相应标准。KEMA从1996进行IEC 60870-5系列规约的兼容性测试。
IEC 60870-5系列2004年9月又制订了IEC 60870-5-6作为IEC 60870-5的标准测试步骤。而IEC 61850从一开始就设计了兼容认证步骤,即IEC 61850-10部分:一致性测试。
KEMA的经验统计表明,在KEMA做IEC规约兼容测试的设备及系统,60%没有一次通过的,必须进行第二次测试。自从认识到规约一致性测试的重要性后,规约一致性测试与规约产品开发基本保持了同步发展的态势。由此可见,规约的一致性测试将是电力自动化产品投入使用前的必经阶段[2,3]。
1 IEC 61850一致性测试简介
一致性测试是验证IED通信接口与标准要求的一致性。它验证串行链路上数据流与有关标准条件的一致性,如访问组织、帧格式、位顺序、时间同步、定时、信号形式和电平,以及对错误的处理。
实现各生产厂家IED的互操作性是IEC 61850标准的主要目的之一,IEC 61850-10即一致性测试部分的根本目的是使制造商和用户(即使不是协议专家)也能客观评价所测试的设备(或系统)支持IEC 61850标准的情况。而一致性和互操作性又是得到这个评价的两个方面。其中,设备的一致性测试是指用一致性测试系统或模拟器的单个测试源一致性测试单个设备;系统的互操作性测试是利用两个运行系统进行互操作性测试,由分析仪检验其信息交换过程。一致性测试是互操作性测试的基础,从一致性陈述可以大致知道该设备的互操作能力,若要进一步评价,则须进行相应的互操作性测试。
当然,一致性测试并不是一种完全无遗漏的测试,通过了一致性测试的协议在实现时并不能保证百分之百的可靠,但是它可以在一定程度上保证该实现是与协议标准相一致的,从而大大提高协议实现之间能够互操作的概率。相对于其它类型的测试,一致性测试具有测试结果可比较、测试代价小等特点。
作为一个全球的通信标准,IEC 61850系列标准包含一致性测试部分,用以确保各厂家生产的所有的IED产品都严格遵循本标准。
2 IEC 61850一致性测试的程序
为顺利实现一致性测试,被测方应提供什么资料?而测试方又怎样来完成测试呢?
测试方应进行以被测方提供的在PICS(协议实现一致性陈述), PIXIT(协议实现之外的信息)和MICS(模型实现一致性陈述)中定义的能力为基础的一致性测试。在提交测试设备测试时,被测方应提供以下几点内容:
1) 测试设备的准备;
2) PICS,也被称为PICS示范,是被测系统能力的总结;
3) PIXIT,包括系统特定信息,涉及被测系统的容量;
4) MICS,详细说明由系统或设备支持的标准数据对象模型元素;
5) 设备安装和操作的详细的指令指南。
一致性测试的要求分成以下两类:
1) 静态一致性需求,对其测试通过静态一致性分析来实现;
2) 动态一致性需求,对其测试通过测试行为来进行。
静态和动态的一致性需求应该在PICS内,PICS用于三种目的:
a) 适当的测试集的选择;
b) 保证执行的测试适合一致性要求;
c) 为静态一致性观察提供基础。
一致性测试评估过程如图1所示[5]。
图1 一致性测试评估过程
Fig.1 Conceptual conformance
assessment process
3 IEC 61850一致性测试结构
图 2 一致性测试结构
Fig.2 Architecture of
conformance testing
要完成一致性测试,测试结构的构建是其核心。本文根据标准提出以下测试结构,如图2所示。
首先要有被测设备,即DTU,如保护或智能控制设备。
可以用一个通信仿真器作为一个用户和服务器,通过以太网向被测设备请求发送并记录和处理结果信息。此通信仿真器可采用 。
一个网络上的后台负载可由另外的一个负载仿真器提供,包含电流电压互感器和仿真开关,进行环境仿真,并与通信仿真器互相通信。可以采用Omicron公司的CMC Test Set,或采用南瑞集团公司的DSF-3继电保护测试装置等。
用一个网络分析仪来监控测试过程中出现的错误,分析所得检测结果。网络分析仪能够采集并分析以太网络上IEC 61850的信息流量,在此它可以用来记录网络事件、监控网络安全以及建立连接并检验系统配置等。分析仪在鉴别和最小化互操作危险方面扮演很重要的角色。分析仪可应用KEMA公司的UniCA 61850 Analyzer。它不但可以以人们可以读懂的格式显示通信包,还可以分析和报告检查到的错误。
还有一个时间控制器用来监控时间同步。
以上设备组成IEC 61850一致性测试的框架结构。如果开发的装置即被测设备作为客户运行,则通信仿真器将作为仿真服务器的角色运行;若开发的装置要作为服务器运行,则通信仿真器将用作仿真客户来测试以验证其要求的通信功能。
4 IEC 61850一致性测试的内容[5]
IEC 61850 一致性测试的项目比较繁多,在此作简单的介绍。
4.1配置文件的测试项
检测ICD(智能电子设备性能描述)配置文件和SCL(变电站配置描述语言)文件型号定义是否相一致。
检测ICD配置文件与网络上的由DTU(被测试设备)显示的实际数据、数据类型和服务是否相符。
在SCD配置文件中改变终端用户的配置参数,应用提供的配置工具用SCD配置文件来配置DUT,并用在线服务检测此配置与SCD文件相一致,恢复原始的SCD文件并重新配置DUT到其原始状态。
4.2 数据模型的测试项
数据模型测试项包括以下几项:
1) 检查每一个逻辑节点的强制对象是否存在(强制的=M,任选的=O,条件的=C);
2) 检查按条件应该存在的但实际并不存在的错误对象;
3) 检查每一个逻辑节点的全部对象的数据类型;
4) 验证设备中数据的属性值是在指定范围内。
需要被检测的数据模型映射:
1) 证明名字的长度和对象的扩展;
2) 功能组成结构;
3) 控制块和控制日志的名称。
4.3 ASCI模型和服务映射测试项
ASCI(抽象服务通信映射)模型和服务映射射包括以下各项:
1) 应用关联(Ass);
2) 服务器、逻辑设备、逻辑节点、数据和数据属性模型(Srv);
3) 数据集模型(Dset);
4) 定值组控制模型(Sg);
5) 报告控制模型(Rpt);
6) 日志控制模型(Log);
7) 通用变电站事件模型(Goo);
8) 控制模型(Ctl);
9) 取代模型(Sub);
10) 采样值传输模型(Sv);
11) 时间和时间同步模型(Tm);
12) 文件传输模型(Ft)。
每一个ASCI模型和服务的测试项应依据下列两种方式分别进行:
1) 肯定的=正常的条件验证,响应正确;
2) 否定的=反常的条件验证,响应失败。
在此以服务器、逻辑设备、逻辑节点、数据和数据属性模型为例详细说明ASCI模型和服务映射测试项,如下表:
在表1中列出服务器、逻辑设备、逻辑节点、数据和数据属性模型肯定的测试项
表1 — 肯定的测试项
Table 1-Positive test cases
测试项
|
测试项描述
|
Srv1
|
请求GetServerDirectory(LOGICAL-DEVICE)并检查其响应
(IEC 61850-7-2即变电站和线路通信设备的基本通信结构—抽象通信服务接口(ACSI),6.2.2)
|
Srv2
|
对每一个GetServerDirectory(LOGICAL-DEVICE)响应发布一个GetLogicalDeviceDirectory请求并检查其响应(IEC 61850-7-2,8.2.1)
|
Srv3
|
对每一个GetLogicalDeviceDirectory响应发布一个GetLogicalNodeDirectory(DATA)请求并检查其响应(IEC 61850-7-2,9.2.2)
|
Srv4
|
对每一个GetLogicalNodeDirectory(DATA)响应发布一个
— GetDataDirectory请求并检查其响应(IEC 61850-7-2,10.4.4)
— GetDataDefinition请求并检查其响应(IEC 61850-7-2,10.4..5)
— GetDataValues请求并检查其响应(IEC 61850-7-2,10.4.2)
|
SRV5
|
用数据值中最大的数据发布一个GetDataValues请求并检查其响应
|
SRV6
|
对每一个写使能DATA对象发布一个SetDataValues请求并检查其响应(IEC 61850-7-2,10.4.2)
|
SRV7
|
用数据值中最大的数据发布一个SetDataValues请求并检查其响应
|
SRV8
|
对每一个功能约束请求GetAllDataValues并检查其响应
(IEC 61850-7-2,9.2.3)
|
在表2中列出服务器、逻辑设备、逻辑节点、数据和数据属性模型否定的测试项
表2—否定的测试项
Table2-Negative test cases
测试项
|
测试项描述
|
SrvN1
|
用错误的参数(未知对象,名项不匹配,错误的逻辑设备或错误的逻辑接点)请求下面数据服务,并验证服务请求失败和服务错误
— GetServerDirectory(LOGICAL-DEVICE)(IEC 61850-7-2,6.2.2)
— GetLogicalDeviceDirectory(IEC 61850-7-2,8.2.1)
— GetLogicalNodeDirectory(DATA)(IEC 61850-7-2,9.2.2)
— GetAllDataValues(IEC 61850-7-2,9.2.3)
— GetDataValues(IEC 61850-7-2,10.4.2)
— SetDataValues(IEC 61850-7-2,10.4.3)
— GetDataDirectory(IEC 61850-7-2,10.4.4)
— GetDataDefinition(IEC 61850-7-2,10.4.5)
|
SrvN2
|
用超出范围的值请求CODED ENUM的设置数据值,并验证请求失败和服务错误(IEC 61850-7-2,10.4.2)
|
SrvN3
|
用不匹配的数据类型(如,int-float)请求SetDataValues并验证服务请求失败和服务错误(IEC 61850-7-2,10.4.2)
|
SrvN4
|
对一个只读数据值请求SetDataValues并验证服务请求失败和服务错误
(IEC 61850-7-2,10.4.2)
|
下面以ACSI_SetDataValues功能为例介绍编码,用此功能有几种方法往服务器中写值。可以用一个命令往功能约束数据属性Functional Constrained Data Attribute(FCDA)中写一个单一的值或往功能约束数据Functional Constrained Data’s(FCD)中写多重复杂结构。
ACSI_SetDataValues()的例子:
a) ACSI_SetDataValues(“MyServer”, “Relay/LLN0.DC.Beh.d.Description”, “$Some text”)
b) ACSI_SetDataValues(“MyServer”, “Relay/LLN0.DC.Beh.d”, “{$Some text}”)
c) ACSI_SetDataValues(“MyServer”, “Relay/LLN0.DC.Beh”, “{{$Some text}}”)
d) ACSI_SetDataValues(“MyServer”, “Relay/LLN0.DC.Beh.d.Description;
Relay/LLN0.DC.Diag.d.Description”, “$SomeText;$OtherText”)
e) ACSI_SetDataValues(“MyServer”, “Relay/LLN0.DC.Beh.d.Description;
Relay/LLN0.DC.Diag”, “$SomeText;{{$OtherText}}”)
f) ACSI_SetDataValues(“MyServer”, “Relay/MMXU0.CF.A.phsA.units”, “{10,-3}”)
注释:
a) 在此项中,一个字符串 “$Some text” 被写入FCDA的‘Description’中;
b) 在此项中,相同的可见字符串被写入FCD(Relay/LLN0.DC.Beh.d),它是与a)中相比更高一级的,Relay/LLN0.DC.Beh.d 只有一个属性:Description。用一个花括号括起此字符串;
c) 同样,在此项中,相同的字符串被写入FCD的更高一级中,很明显,Relay/LLN0.DC.Beh 只有一个功能约束数据FCD:d,此处,用两个花括号括起此字符串
d) 在此项中,两个字符串被写入两个不同的FCDA’s ,“$SomeText”写入第一个,“$OtherText”写入第二个;
e) 类似于d) ,只是第二个被写入更高一级的FCD;
f) 此项中,有两个元素的一个结构被写入FCD,Relay/MMXU0$CF$A$phsA$units 中,units 包含两个元素:SIUnit, int16 和 mult;, int16
4.4 一致性测试结果
根据ISO/IEC 9646一般有以下三个可能的检测结果:
1) 通过 —— 当观察到的测试结果和一致性要求(主要指测试项的测试目的)相一致,并且没有错误事件发现,则给出此结论;
2) 失败 —— 当观察的测试结果或者证明和相关的(至少一个)一致性要求(主要指测试项的测试目的)不一致,或者根据相关的规定包含至少一个错误的测试项,则给出此结论;
3) 无结论 —— 当观察的测试结果既不通过也不失败时,这样一个结论一般要找出是因为标准或操作还是应为测试程序的原因。
5 我国一致性测试的发展道路
从国外的一致性测试的发展来看,北美和欧洲的规约兼容测试中心行业中自然形成。这在中国短期内可能难以实现。中国目前可能还只能通过引进国际上规约兼容测试中心的经验来装备树立监测中心的技术权威性,因此我们提出如下的一种发展思路。
1)学习国外一致性测试的先进经验。从国际上比较成熟的测试机构学习他们的经验的同时,积极研究,根据中国国情,利用本国的技术资源建立规约测试机构。并借助国际上成熟测试机构的权威性,来保证我国规约测试机构的技术实力和权威性,以便我们少走弯路,尽快与国际接轨。
2)规约一致性测试必须强制执行。规约一致性测试是保证互操作性的基础,不能实现互操作性,IEC 61850的制定就失去了意义。因此,规约的一致性测试必须是强制性的,并且要对每一系列的IED进行一致性测试。不然,由于各厂家对规约解释的不同而造成互联不通,还将造成大浪的人力物力的浪费。
3)一致性测试结果必须唯一。每一个测试机构对同一设备的测试结果必须一致。否则,以执行测试将失去意义。
4)建立第三方的规约测试中心。规约一致性测试机构应该由第三方机构来执行,以保证一致性测试结果的公正性、专业性、权威性。
5)服从IEC TC57领导,统一开展工作。要保证规约一致性测试的效果,就必须全面考虑国内外的因素,否则即使我们国家的规约一致性得到了保证,但在国际大舞台上,可能还是无法保持与国外产品的兼容性,既然一个世界有一个标准,那我们就要在国际IEC TC57的统一协调和领导下工作。
6 结语
目前,IEC 61850各个部分已经正式出版完毕,我国相应电力行业标准也已出版了一部分,国内外一些大的公司正在着力研究消化标准,GE等一些大的国际厂商已经使其应用于自身产品,并做了互操作试验[6~8]。国内一些知名厂家如南瑞、四方、南自等也在积极研究,做了相应的互操作试验。为确保多个厂家设备的互联成功,以及业务的正常提供,对设备进行协议一致性测试是十分必要的。IEC 61850的主要目的之一就是实现互操作,而与协议的一致性又是产品实现互操作性的基础,因此对一致性的研究就迫在眉睫。本文就一致性测试标准的测试程序、测试结构、测试内容,中国规约测试道路等方面作了简单的介绍与讨论。相信对一致性测试的进一步研究必将对IEC 61850标准在产品中的正确实现起到积极作用。
参考文献
[1] IEC 61850变电站通信网络和系统系列标准,全国电力系统控制及其通讯标准技术委员会,2002。
IEC 61850 Communication Networks and Systems in substations.CSBTS/TC82,2002.
[2] 何卫,徐劲松. IEC 60870—5—6一致性测试规则探讨。电力系统自动化,2003
HE Wei, XU Jin-song. Discussion on IEC 60870-5-6 Conformance Testing. Automation of Electric Power Systems,2003.
[3] J.A.W.Jansen van der Sligte,如何从IEC通信标准中获益,中国规约网,
[4] IEC 61850 Communication Networks and Systems in Substations,IEC.
[5] IEC 61850 Communication networks and systems in substations ——Part 10:
conformance testing,IEC,2005。
[6] IEC 61850:Application Migration, Conformance and Interoperability Testing Ralph Mackiewicz SISCO, Inc,International Conference IEC 61850,2005。
[7] IEC 61850 INTEROPERABILITY TEST GE ,ABB,Alstom and Siemens,2002。
[8] Ralph Mackiewicz, IEC61850: Application Migration, Conformanceand Interoperability Testing, International Conference IEC 61850, 2005.3
The Study on IEC 61850 Conformance Testing
(Nanjing Automation Research Institute, Nanjing 210003,China)
Abstract: The IED following IEC 61850 is the key for IED from different manufacturers to implement interoperability. Accordingly, the conformance testing becomes the important part in product development. The process, the contents and the items which to be tested are introduced in this paper. The simple framework of conformance testing is proposed and discussed. This paper forecasts the development of the conformance testing of the electric power and proposes how the conformance testing should be developed in China. It is helpful for conformance testing.
Key words: IEC 61850; IED; conformance testing; interoperability; testing process