如何在IEC61850的ICD文件中添加新的DO节点

写在前面

恭喜“梅山剑客”粉丝突破1K,为了纪念这一伟大的时刻,今日发表此文, 纪念这神圣的时间节点,愿各位 青春永驻,笔耕不息。

本文参考链接:
1、61850开发知识总结与分享
2、IEC61850建模说明

1 简介

IEC61850的数据建模,实际上就是将设备的点表按照IEC61850标准的规则编写的一份点表文件,该点表以XML的格式描述,后缀名为.icd,另一个名字叫智能电子设备能力描述文件。

ICD配置文件

下图是ICD配置我呢见的内容和文件结构。
如何在IEC61850的ICD文件中添加新的DO节点_第1张图片以下是一个最简单的icd文件:

<SCL version="2007" revision="B" xmlns="http://www.iec.ch/61850/2003/SCL" xmlns:xsl="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.iec.ch/61850/2003/SCL SCL.xsd">
<Header id="" version="" revision="" toolID="OMICRON IEDScout" nameStructure="IEDName" />
<IED name="EAST01">
<Services>
    <AccessPoint name="P1">
    <Server>
    <Authentication none="true"/>
        <LDevice inst="DEV1">
            <LN0 lnType="EAST01DEV1.LLN0" lnClass="LLN0" inst="">
                <DOI name="Mod">
                    <DAI name="ctlModel" sAddr>
                        <Val>status-only</Val>="40000"
                    </DAI>
                </DOI>
            </LN0>
        </LDevice>
    </Server>
    </AccessPoint>
</Services>
</IED>
<DataTypeTemplates>
    <LNodeType id="EAST01DEV1.LLN0" lnClass="LLN0">
        <DO name="Mod" type="EAST01DEV1.LLN0.Mod"/>
    </LNodeType>
    <DOType id="EAST01DEV1.LLN0.Mod" cdc="INC">
        <DA name="stVal" fc="ST" bType="Enum" type="Mod">
        <DA name="ctlModel" fc="CF" bType="Enum "type="ctlModel">
    </DOType>
    <EnumType id="Mod">
        <EnumVal ord="1">on</EnumVal>
        <EnumVal ord="2">blocked</EnumVal>
        <EnumVal ord="3">test</EnumVal>
        <EnumVal ord="4">test/blocked</EnumVal>
        <EnumVal ord="5">off</EnumVal>
    </EnumType>
      <EnumType id="ctlModel">
        <EnumVal ord="0">status-only</EnumVal>
        <EnumVal ord="1">direct-with-normal-security</EnumVal>
        <EnumVal ord="2">sbo-with-normal-security</EnumVal>
        <EnumVal ord="3">direct-with-enhanced-security</EnumVal>
        <EnumVal ord="4">sbo-with-enhanced-secrity</EnumVal>
    </EnumType>
</DataTypeTemplates>
</SCL>

包含两大块,IED和DataTypeTemplates,DataTypeTemplates为数据类型的模板,定义该设备拥有什么数据变量,变量的类型,单位等信息,IED为设备的对象实例,定义了数据的初始值,系数,单位,寄存器地址等信息
以上文件在LNodeType字段定义了一个数据Mod,类型是EAST01DEV1.LLN0.Mod,在DOType字段中有该类型的具体定义,其中cdc(公用数据类)为INC,即可控的整数状态,而INC又定义了它必选的和可选的属性。

添加一个DOI节点

添加节点时:
• 创建一个新的 标签。
• 定义新DOI的描述(desc)、名称(name)等属性。
• 指定新DOI的具体信息,比如 标签下的属性和值。

示例1

在这里插入图片描述

		<DOI desc="母线1间隔1故障开入" name="SPCS01">
			<DAI name="dU">
					<Val>开入</Val>
			</DAI>
			<DAI name="stVal" sAddr="YX:Bool.YX.GoIn.0"/>
		</DOI>

在这里插入图片描述

配置数据对象

配置数据对象需要在DataTypeTemplates的LNodeType字段中添加DO结点,DO有很多种类型,一般我们按遥信,遥控,遥测,遥测四种类型配置即可,DO有三个属性,分别为name,type,descname是固定的,一般字符串就行,尽量和要表达的属性命令匹配,容易维护,type需要根据当前数据来定。

需要在LNodeType 中添加如下所示:

<LNodeType desc="80路单点GOOSE开入" id="DFE_GGIO_YX_DF9311_V10" lnClass="GGIO">
		<DO desc="模式" name="Mod" type="CN_INC_Mod"/>
		<DO desc="行为" name="Beh" type="CN_INS_Beh"/>
		<DO desc="健康状态" name="Health" type="CN_INS_Health"/>
		<DO desc="铭牌" name="NamPlt" type="CN_LPL"/>
		<DO name="SPCS01" type="CN_SPC_DC"/>

示例2:

	<Authentication/>
				<LDevice desc="LD0" inst="LD0">
					<LN0 desc="General" lnType="DFE_LLN0_GOOSE" lnClass="LLN0" inst=""/>
					<LN desc="铭牌信息" lnType="DFE_LPHD_COMMON_DF9311_V10" lnClass="LPHD" inst="1"/>
				</LDevice>
				<LDevice desc="GOOSE过程层访问点LD" inst="PIGO">
					<LN0 desc="General" inst="" lnClass="LLN0" lnType="DFE_LLN0_GOOSE">
						<DataSet desc="GOOSE数据输出" name="dsGOOSE0">
							<FCDA daName="general" doName="Tr" fc="ST" ldInst="PIGO" lnClass="PTRC" lnInst="1"/>
								…………
					  		<FCDA daName="mag.i" doName="AnIn34" fc="MX" ldInst="PIGO" lnClass="GGIO" lnInst="3" prefix="GOUT"/>
						</DataSet>

如何在IEC61850的ICD文件中添加新的DO节点_第2张图片

			<DOI desc="母线2间隔6复归测量值" name="AnIn34">
				<SDI name="mag">
					<DAI name="i" sAddr="YC:INT16U.GOOSEReal.57"/>
				</SDI>
				<DAI name="dU">
					<Val>母线2间隔6复归测量值</Val>
				</DAI>
			</DOI>

如何在IEC61850的ICD文件中添加新的DO节点_第3张图片

	<DOI desc="母线2间隔6闭锁" name="AnIn34">
		<SDI name="mag">
			<DAI name="i" sAddr="YC:INT16U.GOIN.56"/>
		</SDI>
		<DAI name="dU">
			<Val>母线2间隔6闭锁</Val>
		</DAI>
	</DOI>

在这里插入图片描述

配置数据对象

最后,同样的需要在LNodType中添加,
在这里插入图片描述

<LNodeType desc="GOOSE模拟量开出" id="DFE_GGIO_YC_DF9311_V10" lnClass="GGIO">
			<DO desc="模式" name="Mod" type="CN_INC_Mod"/>
			<DO desc="行为" name="Beh" type="CN_INS_Beh"/>
			<DO desc="健康状态" name="Health" type="CN_INS_Health"/>
			<DO desc="铭牌" name="NamPlt" type="CN_LPL"/>
			<DO desc="整型遥测34" name="AnIn34" type="CN_MV_DF"/>

注意

控制集里面的数据对象一定是在DataTypeTemplates的LNodeType字段中找得到的,确保LN(Logical Node)与正确的LNType关联。在SCL文件中,LN通过lnType属性与LNType关联。确保LN使用了包含了新添加DOI节点配置的LNType。

你可能感兴趣的:(电力系统,61850,ICD)