IEC61850中报告服务端开发

时间:2024.4.20

本文讲述的是IEC61850中最常用的报告功能服务端的实现方法,内容包含了CID建模,编码实现,还包括后面的运行效果、MMS报文等。

一、CID建模

1、通讯部分: <Communication>

<SubNetwork name="SubNetworkName">

<ConnectedAP apName="SubstationRing1" iedName="NewIED"> <Address>

<P type="OSI-AP-Title">1,1,9999,1</P>

<P type="OSI-AE-Qualifier">12</P>

<P type="OSI-PSEL">00000001</P>

<P type="OSI-SSEL">0001</P>

<P type="OSI-TSEL">0001</P>

<P type="IP">192.168.95.128</P>

<P type="IP-SUBNET">255.255.255.0</P>

<P type="IP-GATEWAY">192.168.95.2</P>

<P type="MAC-Address">00-0C-29-D0-7D-33</P>

</Address>

</ConnectedAP>

</SubNetwork>

</Communication>

这里重点关注P type为"IP""IP-SUBNET""IP-GATEWAY""MAC-Address"四个配置,分别代表了本机IP地址,子网掩码、网关IP地址、本机MAC地址。需要按照报告服务端装置的实际情况配置,多网卡情况需要根据实际需要选择一个网卡进行配置。

2、服务、逻辑设备、逻辑节点、数据、数据属性

按照这个顺序逐一添加,这里考虑读者具备基本的建模知识,所以建模相关知识就不详细介绍了。

这里截取部分CID信息如下:

逻辑节点MMXU:

<LN desc="" inst="0" lnClass="MMXU" lnType="MMXU_0" prefix=""> 数据和数据属性:

<DOI desc="" name="A">

<SDI name="phsA">

<SDI name="cVal">

<SDI name="mag">

<DAI name="i"></DAI>

</SDI>

</SDI>

<DAI name="q"></DAI>

<DAI name="t"></DAI>

</SDI>

</DOI>

因为是要开发报告服务端,所以要配置报告控制块,那么配置控制块之前就需要创建数据集如下:

<DataSet name="MMXUDataSet">

<FCDA daName="phsA" doName="A" fc="MX" ldInst="Example" lnClass="MMXU" lnInst="0" prefix=""/>

</DataSet>

下面就是报告控制块的设置(非缓存报告控制块URCB):

<ReportControl confRev="1" datSet="MMXUDataSet" desc="" name="Measurement" rptID="MMXUID">

<TrgOps dupd="true"/>

<OptFields dataSet="true" reasonCode="true" seqNum="true" timeStamp="true"/>

<RptEnabled max="3"/>

</ReportControl>

如果是要设置缓存报告控制块BRCB,需要加上缓存时间和缓存标志,例如: <ReportControl bufTime="50000" buffered="true" confRev......

触发选项TrgOps部分设置了数据更新,也就是代表数据集中数据属性的值发生刷新就会触发内部事件,对于非缓存报告控制块会立即发送报告。

二、编码

如下是服务端开发使用的PIS-10的方法(PIS-10的lib包下载链接:/s/1c06VRm4 密码:d3aj)

IEC61850中报告服务端开发

IEC61850_Create() 和 IEC61850_Free() 用于创建或删除客户端/服务端对象。

IEC61850_LoadSCLFile() 使用SCL文件配置客户端/服务器。如果想重新对客户端/服务器进行配置则必须首先删除客户端/服务端(通过IEC61850_Free()实现) 并将新的配置下装到新的客户端/服务端(由 IEC61850_Create()创建)。 IEC61850_Start() 和IEC61850_Stop() 用于启动或停止客户端/服务端的服务(如 GOOSE、MMS等)。

调用IEC61850_Create()函数时必须向其传递IEC61850_Parameters参量。该参量包含一个用了标识MMS行为的标志位、一个可选标志位、命令超时结束的时间值、支持的最大连接数以及已定义的任何回调函数的指针。. 整个结构在使用之前应该在内存中被置为0以避免内存中的随机值影响函数的正确执行。 代码示例如下:

struct IEC61850_Parameters tServerParam = {0};

memset(&tServerParam, 0, sizeof(struct IEC61850_Parameters) );

tServerParam.ClientServerFlag = IEC61850_SERVER; //服务端 tServerParam.Ed1_Ed2_Flag = IEC61850_Edition2; //采用2.0

tServerParam.uiOptions = 0; //可查阅AIP手册了解

//下面是对回调函数的指定,因为这次不需要回调所以可以不写回调,但是PIS-10要求必须指定测试的回调,所以请添加如下代码:

tServerParam.ptOprTestCallback = (IEC61850_ControlOperativeTestCallback) OperativeTestCallbackHandler;

完成这些后即可创建服务端对象,代码如下: myIEC61850Object= IEC61850_Create(&tServerParam, &eErrorCode); 创建成功后可以加载前面创建的CID文件,代码如下: returnError = LoadSCLFile("../cidFiles/server.cid");

加载CID成功后可以执行如下代码完成服务端的运行:

eErrorCode = IEC61850_Start(myIEC61850Object);

报告的触发条件,按照服务端主动发送的有:完整性、数据变化、数据更新、质量变化,完整性非常简单,只需要在CID建模的时候设置一下即可,设置方法如下:

1、在<ReportControl>节点增加属性intgPd来设置完整性发送的周期,例如intgPd="30000"(代表周期为30秒);

2、在<OptFields>节点中设置period="true"。

这样设置后就已经可以按照周期发送报告了。如果要使用数据更新来触发要如何做呢?PIS-10提供了DAID的方式,下面为您介绍:

首先需要CID建模的时候为DA设置DAID <DOI desc="" name="A">

<SDI name="phsA">

<SDI name="cVal">

<SDI name="mag">

<DAI name="i"></DAI>

这个DA设置后就应该是: <DOI desc="" name="A">

<SDI name="phsA">

<SDI name="cVal">

<SDI name="mag">

<DAI name="i">

<Private type="SystemCorp_Generic">

<SystemCorp_Generic:GenericPrivateObject xmlns:SystemCorp_Generic=".au/61850/SCL/Generic" Field1="3" Field2="1" Field3="1" Field4="1" Field5="1"/>

</Private>

</DAI>

</SDI>

</SDI>

这里就是用3,1,1,1,1来对应DA name="i"的这个DA,如何更新呢?请看如下代码:

enum IEC61850_ErrorCodes UpdateValueByDaid() {

struct IEC61850_DataAttributeID_Generic updateDAID = { 0 }; //定义一个DAID的结构体变量(PIS-10标准结构体) struct IEC61850_DataAttributeData updateDAData = { 0 }; // 定义一个数据属性结构体变量(PIS-10标准结构体)

IEC61850 myIEC61850Object = GetMyServerClient(); //获取IEC61850对象

//更新DAID对应的DA

eErrorCode = IEC61850_Update(myIEC61850Object, (struct IEC61850_DataAttributeID*)&updateDAID, &updateDAData, 1);

/* 数据属性结构体设置 */ updateDAData.uiBitLength = sizeof(Integer32)* 8; updateDAData.ucType = IEC61850_DATATYPE_INT32; printf("请输入要更新的值: "); scanf("%d", &nInputValue); updateDAData.pvData = &nInputValue; //DAID结构体设置 updateDAID.Generic_type = IEC61850_DAID_GENERIC; printf("请输入DAID的Field1值: "); scanf("%d", &updateDAID.uiField1); printf("请输入DAID的Field2值: "); scanf("%d", &updateDAID.uiField2); printf("请输入DAID的Field3值: "); scanf("%d", &updateDAID.uiField3); printf("请输入DAID的Field4值: "); scanf("%d", &updateDAID.uiField4); printf("请输入DAID的Field5值: "); scanf("%d", &updateDAID.uiField5); Integer32 nInputValue = 0; enum IEC61850_ErrorCodes eErrorCode = IEC61850_ERROR_NONE;

if (eErrorCode == IEC61850_ERROR_NONE) { char strError[SIZE_OF_ERROR_STRING] = { 0 }; snprintf(strError, SIZE_OF_ERROR_STRING, "更新成功:DAID(%d,%d,%d,%d,%d)更新为[%d]\n", updateDAID.uiField1, updateDAID.uiField2, updateDAID.uiField3, updateDAID.uiField4, updateDAID.uiField5, nInputValue);

} else { char strError[SIZE_OF_ERROR_STRING] = { 0 }; SetErrorString(strError, SIZE_OF_ERROR_STRING);

snprintf(strError, SIZE_OF_ERROR_STRING, "更新失败:(%i) %s\n", eErrorCode,

IEC61850中报告服务端开发

IEC61850_ErrorString(eErrorCode));

}

三、运行和抓包

为了方便运行这里写了一个循环菜单,运行效果如图: return eErrorCode; } SetErrorString(strError, SIZE_OF_ERROR_STRING);

上面是输入命令1后按照提示一点点输入,最后回车效果如下:

IEC61850中报告服务端开发

由于我们这里运行了客户端程序,所以能够抓到报告的消息包,如下图:

IEC61850中报告服务端开发


第二篇:IEC61850标准


IEC61850标准

IEC61850《变电站网络与通信协议》标准(以下简称IEC61850)是新一代的变电站网络通信体系,适应分层的IED和变电站自动化系统。该标准根据电力系统生产过程的特点,制定了满足实时信息传输要求的服务模型;采用抽象通信服务接口、特定通信服务映射,以适应网络发展。采用面向对象建模技术,面向设备建模和自我描述,以适应功能扩展,满足应用开放互操作要求。采用配置语言,配备配置工具,在信息源定义数据和数据属性。定义和传输元数据,扩充数据和设备管理功能,传输采样测量值等。该标准还包括变电站通信网络和系统总体要求、系统和工程管理、一致性测试等。

IEC61850标准是全世界唯一的变电站网络通信标准,也将成为电力系统中从调度中心到变电站、变电站内、配电自动化无缝自动化标准。IEC61850标准的发展方向是实现“即插即用”,在工业控制通信上实现“一个世界、一种技术、一个标准”。IEC61850标准为电力系统自动化产品的“统一标准、统一模型、互联开放”的格局奠定了基础,使变电站信息建模标准化成为可能,信息共享具备了可实施的基础前提。

IEC61850系列标准简介

1、什么是IEC 61850

IEC 61850系列标准的全称是变电站通信网络和系统(Communication

Networks and Systems in Substations),它规范了变电站内智能电子设备(IED)之间的通信行为和相关的系统要求

IEC 61850系列标准是由国际电工委员会第57技术委员会(IEC TC57)从19xx年开始制订的,目前,IEC61850共14个部份已经全部通过为国际标准。我国的标准化委员会对61850系列标准进行了同步的跟踪和翻译工作

IEC 61850系列标准吸收了多种国际最先进的新技术,并且大量引用了目前正在使用的多个领域内的其它国际标准作为61850系列标准的一部分。所以它是一个十分庞大的标准体系,而不仅仅是一个通信协议标准

IEC 61850看起来很像又一新的协议。其实它不是。确切地说,它是一种新的变电站自动化的方法,一种影响工程、维护、运行和电力行业组织的新方法 它采用面向对象的建模技术,面向未来通讯的可扩展架构,来实现“一个世界,一种技术,一个标准”的目标

2、主要目的及特点

开放性:

全部通信协议集将基于已有的IEC/IEEE/ISO/ OSI可用 的通信标准的基础上;不考虑具体实现

先进性:

采用ACSI、SCSM、OO的技术; 采用抽象的MMS作为应用层协议; 自我描述,在线读取/修改参数和配置

采用XML语言来描述变电站的配置

完整性:

适用对象几乎包容了变电站内所有IED,例如:常规的测控装置、保护装置、RTU、站级计算机、 可选的同期、VQC装置

未来可能广泛使用的数字式一次设备如PT、CT、开关

3、内容简介及理解

61850-1 介绍和概述

该标准介绍了整个61850系列标准的制定目的、历史沿革,对61850的其它标准的核心内容作了一个提炼并加以介绍,对以后的标准中涉及的核心概念作了初步的阐述

61850-2 术语

该标准搜集了整个61850系列标准所涉及的术语解释、缩写名词定义、规范性引用文件

61850-3 总体要求

该标准从质量要求、环境条件、供电条件三个方面对SAS系统的性能进行了规范

质量要求包括可靠性、系统可用性、可维护性、安全性、数据完整性

环境条件包括对温度、湿度、大气压、振动、污染、腐蚀、电磁干扰的耐受能力

供电条件包括对供电电源的电压、频率范围以及瞬时失电的耐受能力

更多相关推荐:
20xx年中国IT服务行业研究报告

什么是行业研究报告行业研究是通过深入研究某一行业发展动态规模结构竞争格局以及综合经济信息等为企业自身发展或行业投资者等相关客户提供重要的参考依据企业通常通过自身的营销网络了解到所在行业的微观市场但微观市场中的假...

中国服务业发展报告

成果名称中国服务业发展的问题与对策促进服务业发展政策研究项目总报告成果类型研究报告出版时间20xx年6月出版单位国家发展和改革委员会产业协调司原产业政策司成果内容简介篇章结构基本观点本项成果是国家发改委产业协调...

20xx年中国科技服务行业深度调研报告

20xx20xx年中国科技服务行业深度调研及未来发展趋势报告中国产业信息网什么是行业研究报告行业研究是通过深入研究某一行业发展动态规模结构竞争格局以及综合经济信息等为企业自身发展或行业投资者等相关客户提供重要的...

翻译中国翻译服务业分析报告20xx

翻译中国翻译服务业分析报告20xx泛瑞翻译中国翻译服务业分析报告20xx在京发布20xx年4月21日中国翻译研究院中国翻译协会联合中国翻译行业发展战略研究院对外发布中国语言服务业第三份专题报告中国翻译服务业分析...

20xx-20xx年中国IT服务行业分析与发展趋势预测报告

20xx20xx年中国IT服务行业分析与发展趋势预测报告中国产业研究报告网什么是行业研究报告行业研究是通过深入研究某一行业发展动态规模结构竞争格局以及综合经济信息等为企业自身发展或行业投资者等相关客户提供重要的...

20xx-20xx年中国翻译服务市场调研及发展趋势预测报告

中金企信北京国际信息咨询有限公司国统调查报告网20xx20xx年中国翻译服务市场调研及发展趋势预测报告第一章20xx20xx年中国翻译服务产业整体运行形势分析第一节20xx20xx年中国翻译服务产业运行总况第二...

中国人力资源服务市场发展态势与发展前景分析报告(20xx-20xx)

中国人力资源服务市场发展态势与发展前景分析报告20xx20xx中国人力资源服务市场发展态势与发展前景分析报告20xx20xx观研天下北京信息咨询有限公司出版时间20xx年观研天下观研网中国企业市场发展咨询机构中...

20xx-20xx年中国人力资源服务业投资商机及发展前景研究报告

120xx20xx年中国人力资源服务业投资商机及发展前景研究报告企业网址yjbgqthyqt20xx0116305829html点击看正文正文目录第一章20xx20xx年中国人力资源服务业运行环境解析1第一节2...

20xx-20xx年中国统计软件服务市场分析预测及发展趋势研究报告

20xx20xx年中国统计软件服务市场分析预测及发展趋势研究报告艾凯咨询网艾凯咨询网什么是行业研究报告行业研究是通过深入研究某一行业发展动态规模结构竞争格局以及综合经济信息等为企业自身发展或行业投资者等相关客户...

20xx年中国人力资源服务行业消费研究报告

智研数据研究中心专业的调研报告网站20xx20xx年中国人力资源服务行业深度研究与投资前景调研报告客服QQ992930161报告价格印刷版RMB7000电子版RMB7200印刷版电子版RMB7500电子邮箱文章...

20xx-20xx年中国环境服务业市场前景研究与投资战略研究报告

20xx20xx年中国环境服务业市场前景研究与投资战略研究报告什么是行业研究报告行业研究是通过深入研究某一行业发展动态规模结构竞争格局以及综合经济信息等为企业自身发展或行业投资者等相关客户提供重要的参考依据企业...

20xx年度中国旅游业分析报告

20xx年度中国旅游业分析报告迈点网张淑萍20xx年我国旅游业实现新跨越全年旅游总收入约325万亿元旅游业发展总体向好其在国民经济中发挥的作用也越来越大一20xx年度旅游业发展概况20xx年我国GDP首破60万...

中国服务业发展报告2014(18篇)