配置文件格式
本节介绍 libIEC61850 服务器的配置文件格式。配置文件可以通过工具生成。libiec61850 源代码分发包含一个基于 Java 的工具,用于将 SCL(ICD) 文件转换为服务器配置文件。
配置文件格式旨在非常易于解析,以保持 IEC 61850 服务器代码较小。它描述了 GOOSE 的数据模型、控制块、数据集和一些通信设置,如 MAC 地址和 VLAN 参数。模型描述以分层方式定义。每个包含子元素的模型元素都以模型元素类型(元素标签)的缩写开头,后跟一个前导花括号。每个左大括号都必须在稍后与一个右大括号匹配。如果一个元素没有子元素,则以分号结尾。
示例:完整的数据模型以大写字母“MODEL”开头,后跟一个花括号(花括号是该行的最后一个字符,这一点很重要!):MODEL(simpleIO){
LD(GenericIO){
LN(LLN0){
DO(Mod 0){
DA(q 0 23 0 2 0);
DA(t 0 22 0 0 0);
DA(ctlModel 0 12 4 0 0)=0;
}
}
}
}
请注意,解析器非常简单,因此它要求分号是一行中的最后一个字符。此外,每个右花括号都必须位于其自己的行中。行必须由 UNIX 或 Windows 行分隔符结束。
打开新模型元素的每一行都以元素说明符开头。这可能是数据模型的 MODEL、LD、LN、DO 或 DA 之一,数据集定义的 DS、DE 和控制块定义的 RC、LC、GC。
模型元素描述包含模型元素的参数作为大括号中的空格分隔列表。第一个参数通常是元素的名称。
例如
LD(GenericIO){
将一个名为“simpleIOGenericIO”的逻辑设备添加到数据模型中。请注意,生成的逻辑设备名称(MMS 域名)是 IED 名称和 LD 名称的串联!
模型
MODEL 关键字指定一个新的数据模型。目前配置文件中只能有on data model。
语法:MODEL(<模型名称>){…}
MODEL 元素只能包含 LD 元素作为子元素。
LD
LD 关键字指定一个新的逻辑设备。
语法:LD(<逻辑设备名称>){…}
LD 元素只能包含 LN 元素作为子元素。
LN
LN 关键字指定一个新的逻辑节点。
语法:LN(<逻辑节点名称>){…}
LN 元素可以包含 DO(数据对象)、DS(数据集)、RC(报告控制)和 GC(GOOSE 控制)元素。
做
DO 关键字指定一个新的数据对象或子数据对象。
语法:DO(<data object name> <nb of array elements>){…}
如果数据对象是数组,则第二个参数指定数组元素的数量。“0”值表示 DO 不是数组。
DO 元素可以包含其他 DO 元素(子数据对象)和 DA(数据属性)元素。
DA
DA 关键字指定新的数据属性或子数据属性。
基本数据属性的语法:
DA(<数据属性名称> <nb of array elements> <type> <FC> <trigger options> <sAddr>)[=value];
构造数据属性的语法:
DA(<数据属性名称> <nb of array elements> 27 <FC> <trigger options> <sAddr>){…}
DA 元素只能包含其他 DA 元素,以防它指定构造的数据属性。
类型代码是可以在文件iec61850_model.h中找到的 DataAttributeType 枚举的值。
FC 代码是可在文件iec61850_common.h中找到的 FunctionalConstraint 枚举类型的值。
触发选项为 1(数据更改)、2(质量更改)或 4(数据更新)。
sAddr是一个不同于 0 的整数值。libiec61850 不接受 sAddr 的其他值。