一、术语定义
荷电状态 state of charge; SOC
能量状态 state of energy; SOE
健康状态 state of health; SOH
有功控制 automatic generation control; AGC
无功控制automatic voltage control; AVC
协调控制器 coordinating controller
二、协议简介
2.1 智能变电站自动化系统架构
其中GOOSE、SV、MMS在数字变电站中的作用一文详细描述了智能电子设备(IEDE)与控制系统的协调和互操作性的协议,也就是GOOSE、SV、MMS,也帮助我们站在智能变电站自动化系统架构的视野上来了解GOOSE、SV、MMS协议。
连接这些设备的通信网络可以是基于以太网、由光纤电缆和 UTP 电缆组成的网络,也可以是无线通信系统。
数字化变电站是电力系统基础设施的游戏规则改变者。他们利用 IED 提供增强诊断、降低维护成本和提高自动化等优势。
2.2 goose 传输模型:
2.3 GOOSE(通用面向对象变电站事件)协议。
通用面向对象变电站事件 (GOOSE) 协议是数字变电站中常用的实时事件交换通信协议。该协议旨在实现快速可靠的点对点通信,同时满足严格的电力系统控制和自动化要求。
GOOSE 利用发布者-订阅者模型,其中涉及一个 IED 作为发布者,将事件消息(称为 GOOSE 消息)传输到变电站网络内感兴趣的 IED。订阅者被称为接收者 IED。
GOOSE 的一个主要优点是能够快速可靠地传输信息。它通过利用基于组播的通信来实现这一点,该通信允许将单个 GOOSE 消息同时有效地传输到多个订阅者。
该协议还实现了高优先级、时间关键的交付机制。这种传送机制采用同步技术来确保整个网络的事件时间戳准确且同步。 GOOSE报文结构
2.4 GOOSE报文有如下结构,
SendingIED(发送的智能电子装置)是发送智能电子装置唯一识别报告GOOSE报文的装置;
time-stamp(时标)和 GOOSE报文有关的时标,指用户数据最后的变化时间,缺省值零指时标不可用;
SeqNum(顺序号)每发送一个报文,这个序号加一而且比特对偶不 改变状态,如果报文包含了任何GOOSE比特对偶的状态变化,SeqNum(顺序号)复位为零。SeqNum(顺序号)计数达到32位的最大数复位为零;
StNUM(状态号)每次IED发送已改变的信息此状态号加一,状态号唯一地标记GOOSE事件,当达到最大计数复归为零。接收的GOOSE报文StNUM 没有加一表示在接收的报文中没有状态变化;
Usec(微秒)任选项微秒时间分辨率用于GOOSE报文最后的状态变化的“t”时间参数。量程从0到 999。如果没有采用,值为零;
UserDat(用户数据)包含在GOOSE报文中的用户定义的数。
2.5 Goose的用途
发布者(如主变保护装置)的GOOSE控制块GoCB定时根据虚端子映射表更新与IECGoosePdu变量列表成员相对应的数据集,依据GOOSE的应用协议描述,经ASN.1 BER编码后将数据以FIFO方式压入发送缓冲区,由网络适配器通过以太网交换机采取多播或单播的方式发送给订阅者(如主变主一次智能操作箱)。特定事件发生后,立即启动上述流程,并以先密后疏(2ms至10s)的形式,快速重传以提高可行性。
订阅者根据新数据通知读取接收缓冲区中的GOOSE数据,经MAC过滤、ASN.1 BER解码、GOOSE报文状态号(StNum)和顺序号(SqNum)的效验等解析出合法的应用数据。实现正确解析的一个重要前提是订阅者必须获得发布者的ICD自描述文件,以获得多播MAC地址、APPID、数据集成员顺序等重要参数,这些参数可抽取并归纳到发布者的GOOSE配置文
2.6 ICD配置文件实例
配置文件需要厂家给提供,文件中包含目的Mac、设备控制引用名称、控制ID和数据集的引用名称等重要信息。
开源编译
基础库IEC61850
libiec61850 是实现 MMS、GOOSE 和 SV 协议的 IEC 61850 客户端和服务器库的开源 (GPLv3) 实现。它是用 C 语言实现的(根据 C99 标准)以提供最大的可移植性。它可用于在运行 Linux、Windows 和 MacOS 的嵌入式系统和 PC 上实施符合 IEC 61850 的客户端和服务器应用程序。其中包括一组简单的示例应用程序,可用作实现自己的 IEC 61850 兼容设备或与 IEC 61850 设备通信的起点。该库已成功应用于许多商业软件产品和设备。
开源库编译以及运行实例
进入到开源代码文件中:cd libiec61850/
#正常编译安装
sudo -s
mkdir build && cd build
cmake ..
make
make install
编译成功如下: