30 分钟内了解 IEC 61850

news/2024/11/16 20:33:30/文章来源:https://www.cnblogs.com/cj94/p/18381813

30 分钟内了解 IEC 61850

索引术语——IEC 61850 配置、语义分层对象数据模型、客户端 - 服务器、发布 - 订阅。

平时学习标准或调试IEC61850设备,需要IEC61850模拟器,推荐一款:

  • 客户端下载地址:IEC61850客户端模拟器
  • 服务端下载地址:IEC61850服务端模拟器

谣传 IEC 61850 过于复杂,学习难度高。传统的 IEC 61850 学习路径是先学习 IEC 61850 标准,然后开始 IEC 61850 配置。用户花费数天时间学习标准的大量内容,包括 10 个部分、27 个文档,超过 4,000 页。该标准采用了现代通信和计算机科学技术,如 7 层通信模型、XML(可扩展标记语言)、统一模型语言(UML)、面向对象设计(OOD)等。许多潜在用户因 IEC 61850 培训期间的大量信息而望而却步。IEC 61850 标准的目标之一是缩短系统工程时间。学习如此庞大的内容对专业知识来说是一项挑战。可以在 30 分钟内对标准有一个基本的了解并为 IEC 61850 配置做好准备。从继电保护工程师的角度来看,两个基本问题是“数据在哪里?”和“如何获取数据?”本文提供了一种理解 IEC 61850 核心组件的替代方法:语义分层对象数据模型和两种通信服务:客户端 - 服务器和发布 - 订阅。

IEC 61850标准采用了不同的方法来定位数据。语义分层对象数据模型用于描述数据点、产品设备和变电站。

传统方式

学习 IEC 61850 配置的传统方式是从复习 IEC 61850 标准开始。据非官方统计,该标准有 10 个部分、27 个文档,超过 4,000 页,以每页 2 分钟的正常阅读速度,需要 3 周以上才能读完全部内容。精疲力竭后,几乎没有精力在 IED 上练习 IEC 61850 配置。超过一半的潜在用户在 IEC 61850 课堂上会放弃或决定在课程结束前稍后再看。那些打算稍后学习 IEC 61850 标准的人会一直推迟,直到它不再新鲜有趣。

IEC 61850 标准与传统通信协议之间存在差异。IEC 61850 标准不仅仅是一种通信协议。在应用前面描述的适当通信服务之前,IEC 61850 提供了一种系统的方式来描述设备和系统。

IEC 61850 标准融合了现代计算机科学和通信技术的新成果。面向对象设计用于设计分层对象数据模式来描述电力产品系统、设备和数据。开放系统互连 (OSI) 7 层模式用作通信的基础。客户端 - 服务器和发布 - 订阅是 IEC 61850 标准采用的两种主要通信模型。IEC 61850 标准使用统一建模语言(UML)进行实施。

在几天内吸收如此大量的数据是一项挑战,因此需要一种新的方法。

新方法

经过多年的 IEC 61850 培训和系统集成经验,我们找到了一种新方法,帮助更有效地学习 IEC 61850 配置。这种新方法不是按顺序浏览 IEC 61850 标准的大量内容,而是从两个基本问题开始:“数据在哪里?”和“如何获取数据?”,并专注于标准的核心组件:语义分层对象数据模型、客户端 - 服务器和发布 - 订阅通信服务。

语义层次对象数据模型

传统的通信协议 DNP3 或 Modbus 是基于索引或寄存器的。所有数据点都分配有与数据类型对应的索引号。A 相负载电流可以作为数据点列表手册中的模拟输入索引 1 定位,该手册将与继电器和 SCADA 工程师共享。他们必须使用相同的通信数据点列表手册。如果对继电器上的点列表进行了任何修改或更新,则需要同时检查或修改 SCADA 配置以匹配新列表。

对象数据模型

在面向对象设计中,系统被划分为层和子系统。大型复杂系统被划分为较小组件或复杂度较低的对象的层次结构。单个组件的复杂度较低,更易于理解和管理。每个组件都是独立的,可以替换而不会影响整个系统。这些组件或对象是自包含实体,封装了数据属性和操作服务。

采用面向对象设计的方法,在 IEC 61850 标准中,每个 IED(智能电子设备)分为逻辑设备、逻辑节点和对象数据点。每个 IED 包含多个用于特定应用的逻辑设备。每个逻辑设备包含一组逻辑节点或功能。逻辑节点包含该功能所需的所有数据对象。通过为不同的保护和控制应用包含不同的逻辑设备和逻辑节点,IED 设计现在非常灵活。

在面向对象设计中,“类”用于数据对象的模板或定义。每个对象都是类的一个实例。类是对象的定义。IEC 61850 标准定义了通用类。IED 供应商根据 IED 中的类实现实际的数据对象。

例如,IEC 61850 中常用的类是“WYE”,它提供有关三相电力系统设备的相地相关测量值的信息。WYE 中的属性包括 phsA、phsB、phsC、neut,用于测量 A、B、C 相和地电流或电压。这些属性属于 CMV(复杂测量值)类型,由幅度和相位角组成,就像任何交流测量一样。CMV 的属性如图所示。

image

在 IEC 61850 标准第 7-3 部分中,定义了通用数据类来描述数据对象。A 相电流不仅是模拟输入的索引 1。在 IEC 61850 中,CMV 类的属性“cVal.mag.f”用于幅度测量,“cVal.ang.f”用于角度,“q”用于质量,“t”用于时间戳。数据类 SPS(单点状态)定义为二进制数据,包括布尔值的属性“stVal”、“质量的属性”和“时间戳的属性”,以及一些其他属性。实际上,IEC 61850 中的所有数据对象都至少具有三个属性:值、质量和时间戳。

定义了一个重要的数据对象 DPC(双点控制)来描述断路器的位置和操作。为断路器位置定义了双点状态属性“stVal”,为 2 位整数,其中位 0 表示打开位置信号,位 1 表示关闭位置。因此十进制值 1,即二进制的“0 1”,表示断路器处于打开状态。值 2,即二进制的“1 0”,表示断路器处于关闭状态。值 0,即“0 0”,表示未接收到打开或关闭信号,断路器位置处于中间位置。最后一个可能值 3,即二进制的“1 1”,因为断路器不可能同时处于打开和关闭位置,表示断路器处于故障位置。它还包括表示质量的属性“q”和表示时间戳的属性“t”。作为控制数据对象,它包括一个用于控制输出的布尔属性“ctlVal”。“True”为关闭,“False”为打开。对于名称为“Pos”且属于 DPC 类的数据对象,当断路器打开时,Pos.stVal 的值为 1。当断路器闭合时,Pos.stVal 的值为 2。

数据对象可以包含其他数据对象作为其属性。数据对象 WYE(三相系统的相对地/中性线相关测量值)包括属性“phsA”、“phsB”、“phsC”、“neut”、“net”和“res”,数据对象类型为 CMV。当 A 是 WYE 对象时,A 相负载电流的 IEC 61850 相参考将为“A.phsA.cVal.mag.f”。B 相电流将为“A.phsB.cVal.mag.f”。

层次结构

IEC 61850 中的数据结构不是扁平的,而是分层的层次结构。

IEC 61580 中的逻辑节点用于将 IED 中的基本功能定义为数据对象的容器。IEC 61850 第 7-4 部分定义了逻辑节点类型或类。逻辑节点类 CSWI 定义了开关控制器的数据结构。CSWI 中的一个重要数据对象名为“Pos”,数据类型为 DPC。IEC 61850 断路器状态参考将引用为“CBCSWI1.Pos.stVal”,逻辑节点名称为“CBCSWI1”。

测量逻辑节点名为 CMMXU1,属于 MMXU 类,包含相电流的 WYE 类型的数据对象 A,相电压的 WYE 类型的数据对象 phsV。IEC 61850 相 A 电流测量参考为“CMMXU1.A.phsA.cVal.mag.f”。相 B 测量为“CMMXU1.A.phsA.cVal.mag.f”。

在 IEC 61850 标准中,逻辑节点类按其功能分组。所有逻辑节点类名都由四个字母组成,其中第一个字母代表逻辑节点的组。所有计量和测量功能的逻辑节点都以“M”开头,如 MMXU 包含测量数据对象。以字母“C”开头的逻辑节点名称表示控制功能。字母“P”表示保护功能,如 PTOC 表示过流延时。任何支持 IEC 61850 的 IED 都包含一个逻辑节点列表。为了使其更加用户友好和更易于管理,IEC 61850 标准指定了虚拟逻辑设备层。每个逻辑设备都是针对特定应用的逻辑节点组。逻辑设备 CTRL 可以包括断路器功能的所有逻辑节点。逻辑设备 LD0 可以包括保护功能的所有逻辑节点,逻辑设备 DR 包括扰动记录的所有逻辑节点。 IEC 61850 中 A 相电流的参考完整内容为“LD0.CMMXU1.A.phsA.cVal.mag.f”。“CTRL.CBCSWI1.Pos.stVal”代表断路器 1 的位置。

语义名称空间

IEC 61850 定义了逻辑节点的命名规范,逻辑节点名必须以 IEC 61850 标准第 7-4 部分定义的逻辑节点类名(如 CSWI、MMXU 或 PTOC)为基础,厂商可以自由地在类名前添加前缀(如 CB、C、PHH),并在类名后添加实例号。逻辑节点名“CBCSWI1”由前缀“CB”、逻辑节点类 CSWI 和实例号 1 组成。“CMMXU1”有前缀“C”、逻辑节点类型 MMXU 和实例号 1。

image

逻辑节点中的数据对象名称在 IEC 61850 标准中定义。逻辑节点 CSWI 中的断路器状态定义为 DPC 类型的“Pos”。MMXU 中的相电流定义为 WYE 类型的“A”。

作为语义分层数据模型,IEC 61850 参考具有“逻辑设备”、“逻辑节点”、“数据对象”、“属性”的格式。以下是一些示例:LD0.CMMXU1.A.phsA.cVal.mag.f 表示 A 相负载电流,CTRL.CBCSWI1.Pos.stVal 表示断路器位置。

现在数据格式已定义,但 IED 中的数据在哪里?它们通常由供应商在 IED 中准备和预配置。不同供应商的 IEC 61850 配置工具具有通用功能“导出”,用于导出 CID(配置 IED 描述)文件,其中包括 IED 中的所有逻辑设备、逻辑节点和数据对象。 CID 文件的格式由 IEC 61850 以 XML 格式定义。此文件可在任何 XML 编辑器或任何 Web 浏览器中打开。用户可以浏览从 IED 到逻辑设备、逻辑节点、数据对象和数据属性的层次结构。

该 IED 有三个逻辑设备 LD0、CTRL 和 DR
image

客户端 - 服务器通信服务

IED 通常通过速度为每秒 100 兆比特的快速以太网连接与 SCADA(监控和数据采集)相连。IEC 61850 使用通信协议 MMS(制造消息规范)来实现 IED 和 SCADA 之间的客户端 - 服务器服务。IED 作为服务器运行,包含所有数据并随时准备响应任何请求。SCADA 作为客户端发起通信并发送读取数据或控制命令的请求。IED 使用数据值或控制操作结果响应 SCADA。

除了这种请求 - 响应轮询机制外,MMS 还支持异常报告功能。当 IED 上没有事件发生或没有数据变化时,IED 和 SCADA 之间就不会进行通信。当发生任何关键事件或数据发生变化时,IED 会自动将事件数据发送到 SCADA 而无需请求。通信负载降至最低,SCADA 总是及时接收事件而无需等待轮询。

这种异常报告通信方法主要用于 IED 和 SCADA 之间的通信。当 SCADA 和 IED 之间首次建立通信时,SCADA 会向 IED 发送大量请求以读取所有数据的值。之后,SCADA 会向 IED 发送“启用报告”命令。现在,IED 已准备好在任何数据发生变化时发送事件报告。当没有数据变化时,SCADA 和 IED 之间没有通信。网络很安静。只有当发生数据变化事件时,IED 才会自动向 SCADA 发送事件数据。

对于请求 - 响应轮询模式,无需任何配置工作。导入从 IED 配置工具导出的 CID 文件,SCADA 接收有关 IED 的所有 IEC 61580 逻辑设备、逻辑节点和数据对象,并能够发送对其感兴趣的任何数据的请求。

对于事件报告操作,需要配置 IED 以创建信息报告数据集,以准备报告的数据点列表和报告控制块以指定如何发送报告。IEC 61850 标准使用数据集作为报告事件的数据对象列表。报告控制块用于指定如何发送这些报告。

大多数 IED 供应商提供数据集和报告控制块。默认信息报告数据集包括重要数据对象列表,如断路器位置、保护跳闸和带阈值的测量报告。报告控制块配置为在数据更改或质量更改时发送事件报告。它还可以配置为定期向 SCADA 发送数据,无论是否有任何数据更改。IED 无需任何配置工作即可与 SCADA 进行通信。

当 SCADA 所需的某些数据点未包含在默认报告数据集中时,用户需要更新信息报告数据集以添加新数据。

对于与 SCADA 的客户端 - 服务器 MMS 通信,IED 上的 IEC 61850 配置工作最少。

发布-订阅通信服务

GOOSE(通用面向对象变电站事件)是 IEC 61850 标准中定义的 IED 之间的另一种通信服务,用于取代一个 IED 的二进制输出触点与另一个 IED 的二进制输入或模拟连接之间的硬线连接。

发布 - 订阅服务模型用于实现 GOOSE 通信的高速和高可用性性能。在此模型中,GOOSE 发送 IED 通过向同一网络上的所有 IED 广播,在通信堆栈数据链路层的低层发送 GOOSE 消息。这些 GOOSE 消息被分配了高优先级标志,因此这些消息将移动到以太网交换机通信端口队列的前面,在其他消息之前发送出去。

为了确保 IED 在 3 毫秒内收到任何新事件的 GOOSE 消息,IED 以非线性速率发送多条具有递增序列号的 GOOSE 消息,以确保至少收到一条消息。 IED 随后以固定速率持续发送 GOOSE 消息作为心跳机制,GOOSE 接收 IED 可使用此机制检测任何通信故障。

当 IED 向网络上的所有 IED 发布 GOOSE 消息时,订阅的 IED 会检索 GOOSE 消息并获取数据。

GOOSE 配置通常涉及至少一个 GOOSE 发送 IED 和一个或多个 GOOSE 接收 IED。

GOOSE 配置包括三个步骤:准备要发送的 GOOSE 数据、订阅和接收 GOOSE 数据。与 MMS 配置类似,用户创建 GOOSE 数据集、向数据集添加数据点,并配置 GOOSE 控制块以指定如何为 GOOSE 发送 IED 发送 GOOSE 消息作为第一步。

第二步订阅是配置哪些 IED 接收 GOOSE 消息。它通常是配置工具表中的复选框或图形界面中的任何其他类型的操作。配置工具会将所有 GOOSE 数据集和控制块信息复制到订阅接收消息的 IED。它还将发送 IED 的 IEC 61850 数据结构复制到订阅 IED。在此步骤之后,从 GOOSE 接收 IED 导出的 CID 文件包括其自身的 IED、逻辑设备、逻辑节点和数据对象的信息,还包括 GOOSE 发送 IED 的 IED、逻辑设备、逻辑节点和数据对象。

第三步是通过将 GOOSE 数据映射到 IED 的用户逻辑来配置 GOOSE 接收 IED。不同供应商的 IED 有不同的 GOOSE 数据映射方式。信号矩阵是数据映射的一种方式。在上面的示例中,列标题中来自两个 IED(F1 和 F2)的六个 GOOSE 数据被映射到应用程序逻辑中的六个 GOOSE 接收数据对象行。

通过这三个步骤,GOOSE 发送 IED 已准备好发送数据,GOOSE 接收 IED 被识别并准备好接收数据。

总结

从两个基本问题开始:“数据在哪里”和“如何获取数据”,保护和控制工程师应该关注 IEC 61850 标准的核心组件:1) 语义分层对象数据模型,以及 2) 通信服务:客户端 - 服务器和发布 - 订阅。IEC 61850 配置分别仅包括两个步骤:1) 按照数据模型准备数据和 2) 设置通信服务参数。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.redisant.cn/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787807.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6.2K star!推荐一款开源混沌工程测试平台:Chaos Mesh

1、Chaos Mesh 介绍 Chaos Mesh是一个开源的混沌工程平台,旨在帮助用户在生产环境中测试、验证和优化其应用程序的可靠性和稳定性。通过引入故障注入和混沌工程原则,Chaos Mesh可以模拟各种故障场景,如网络延迟、节点故障、磁盘故障等,以帮助用户发现和解决系统中的潜在问题…

看图学 - Swift 并发

Swift 内置支持以结构化方式编写异步和并行代码。看着那些层层嵌套的闭包,你是不是很想把它们全都干掉? 本文首发于 Ficow Shens Blog,原文地址: 看图学 - Swift 并发。想第一时间获取对于自己有帮助的新内容? 欢迎关注 Ficow 的公众号: 看图学 - Swift 并发如需获取 PD…

《黑神话,悟空》研发公司的薪资水平

大家好,我是晓凡。 最近全网最火爆的要属《黑神话:悟空》了,即便是我这个平时不沾游戏、不追直播的人,也看直播看得津津有味。 一、销量与热度背后 首先,让我们来看看那些令人瞩目的数字。《黑神话:悟空》自发布以来,销量已经超过450万份,总销售额达到了惊人的15亿元人…

NetScaler Release 14.1 Build 29.63 (nCore, VPX, SDX, CPX, BLX) - 混合多云应用交付控制器

NetScaler Release 14.1 Build 29.63 (nCore, VPX, SDX, CPX, BLX) - 混合多云应用交付控制器NetScaler Release 14.1 Build 29.63 (nCore, VPX, SDX, CPX, BLX) - 混合多云应用交付控制器 NetScaler - 混合多云应用交付控制器 请访问原文链接:https://sysin.org/blog/netscal…

dotnet WinUI 3 修复非打包应用运行提示 Microsoft.ui.xaml.dll 找不到

本文记录一个 WinUI 3 的坑点,有时候开发者只是想拉下来代码跑一下,自己本机没有预先安装好 Windows App Runtime 导致缺失环境,进而在运行的时候提示 Unable to load DLL 找不到 Microsoft.ui.xaml.dll 启动失败详细的错误信息如下 System.DllNotFoundException:“Unable t…

读 dotnet 源代码 为何 Thread.Sleep 半毫秒和一毫秒等待时间差距如此之大

本文记录我读 dotnet 的源代码了解到为什么调用 Thread.Sleep 的时候,传入的是不足一毫秒,如半毫秒时或 0.99 毫秒,与传入是一毫秒时,两者的等待时间差距非常大大概如下的代码,分别进行两次传入给 Thread.Sleep 不同等待时间的循环测试。其中一次传入的是 0.99 毫秒,一次…

从零开始学会建网站,个人博客建设!一步步全程图文教程。

第一步,需要购买一个域名,当然,若是测试只用也可用ip暂时替代。 比如 .com .cn .net 等域名,比如以本站:70zhan.com 为例,70zhan是我选择的域名,而.com后缀是国际域名,目前推荐的国际域名后缀包括:.com .net .org,如果是国内则可以选择.cn! 目前国际域名都比较贵,…

如何用英语读出所有数字 All In One

如何用英语读出所有数字 All In One 大数/小数/序数/分数/日期/地址/电话如何用英语读出所有数字 All In One大数/小数/序数/分数/日期/地址/电话号码图解大数基数词序数词小数⚠️ 根据语境,区分 $4.99 与 $499分数日期地址电话号码demosHow to read ALL NUMBERS in English…

自我介绍+软工5问

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade2234/homework/13228这个作业的目标 提升自己的实践能力与表达能力,学习与使用github,学习使用Markdown排版进行随笔的编写,更好地展…

PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup

热烈欢迎,请直接点击!!! 进入博主App Store主页,下载使用各个作品!!! 注:博主将坚持每月上线一个新app!! 在Xcode中,Widget文件夹右键点击,弹出菜单,在菜单中选择【Convert to Group】,即可正常使用Cocoapods。

全网最适合入门的面向对象编程教程:39 Python常用复合数据类型-集合

在Python中,集合(set)是一种常用的复合数据类型。集合是一组无序且不重复的元素。与列表和元组不同,集合中的元素是无序的,并且每个元素只能出现一次。全网最适合入门的面向对象编程教程:39 Python 常用复合数据类型-集合摘要: 在 Python 中,集合(set)是一种常用的复…

网卡-模式标准

目前主流的无线WIFI网络设备一共有以下几种模式:802.11a是一种Wi-Fi标准,工作在5GHz频段,提供最高54Mbps的数据传输速率。虽然速度较快,但覆盖范围较小。802.11b是Wi-Fi的最初标准之一,工作在2.4GHz频段,提供最高11Mbps的数据传输速率。虽然速度较慢,但拥有较广的覆盖范…