61850开发知识总结与分享【1】(包含自己从整个互联网搜索到的所有61850资源)

61850一开始对我来说也是个陌生的词汇,随着工作上的需要,才从各种渠道一点点的了解以及完善对于这个通讯规约的认识,当然对这个庞大的协议也是了解到冰山一角。

对于61850开发的话目前开源库libiec61850做的也十分不错,如果是61850的初学者,建议优先学习与使用这个开源库,下面开发相关的内容都是基于libiec61850这个开源库的。

一开始学习是直接在标准上学的,感觉是了解了一点点,但是又没法总结与阐述。然后从b站上找61850相关的课程发现除了几个PPT啥课程都没有,然后就从youtube上学,虽然英语难懂,但也掌握了一些基本原理,如果想学61850的话建议直接去youtube上找课程学。

废话不说,下面就是我对于61850MMS的一些总结与分析,在这里分享给各位,后续会继续分享相关的代码以及各种开发过程中实用的工具,请持续关注~

61850 MMS模型初步分析

目录

61850模型初步分析 1

1、配置文件分析 4

1.1 文件构建流程 4

1.2 ICD/CID文件结构 4

1.3模型验证 5

2、 IED配置 6

2.1 IED总体概述 6

2.2 IED配置原则 7

2.3 逻辑节点LN 8

2.3.1 包含测量值的LN 9

2.3.2 包含控制量的LN 9

2.3.3 包含定值的LN 10

3、数据DO(Data Object)及 数据属性DA(Data attribute) 11

3.1状态类数据 11

3.2 测量类数据 11

3.3控制类数据 12

3.4定值类数据 13

3.5 数据集:DOI /DAI的集合 14

3.6 报告控制块ReportControl 15

4、控制服务分析 16

4.1 常规安全的直接控制 17

4.2 常规安全的操作前选择控制 18

4.3 增强安全的控制 18

4.4 增强安全的操作前选择控制 19

5、 现阶段IEC61850开发情况以及问题 20

5.1库编译与移植 20

5.2 代码测试情况 21

5.2.1客户端读取服务器IED结构目录 21

5.2.2报警点以及测控点数据的读取 22

5.2.3 报告控制块与数据集相关测试 23

5.2.4 控制服务的测试 25

6、现阶段面临的开发问题 25

其他资料汇总 27

调研建模部分 27

智能变电站中状态监测IED的建模与配置: 27

IEC61850开发流程 27

建模说明: 29

IEDScout下载链接: 29

IEDScout讲解视频: 29

PCS-SCD配置工具: 30

PCS-SCD使用讲解视频: 30

2022-5-30问题记录 30

标准服务 30

建模过程 31

2022-06-07问题汇总 31

61850相关网址 32

1、配置文件分析

1.1 文件构建流程

IED(智能电子设备,指保护、测控等设备)应提供ICD文件,描述IED的能力及通信内容,如是否具有定值、压板、动作信号等。

在开发过程中最常用到的文件应该是.cid文件,他与.icd文件区别就是多了网络通讯参数。

系统集成工具把各IED的ICD文件集成并进行实例化如IED名、信息点描述等形成站级模型文件-SCD文件,供站级(包括监控、远动、故障信息主子站)应用。

IED从SCD文件中导出本IED相关部分形成CID文件,即实例化后的IED模型文件,供IED运行时用。具体如图1-1所示

图1-1构建61850体系配置文件

1.2 ICD/CID文件结构

-Header:历史版本信息等

-Communication:IEDMMS网络以及GOOSE配置等

-IED:数据模型,服务模型等

-DataTypeTemplates :所用到的对象类型模型

使用IEDmoldeler打开icd文件如下图1-2所示

图1-2 icd配置文件打开

1.3模型验证

使用南瑞的PCS-SCD可以对构建出来的模型进行一个语义语法检测,以及具体的服务查询。详情如下图.

下图1-3显示网络配置

图1-3 网络配置

下图1-4 所示表示此模型对外提供的服务

图1-4 提供服务

如下图1-5所示对此icd模型做语义语法层面上的校验保证能负荷61850标准,还有一点下面的数据类型模板表示根据61850标准内的固定的LN节点模型,在符合其规则的前提下,添加一些自定义的子对象,然后支持添加前缀与后缀(重命名),其实类似于开发中的继承与typedef,注意这里构建完之后相当于是建立一个类,然后在前面构建数据模型的时候就可以使用这些类new出来新的对象。

图1-5 语义语法校验

2、IED模型

2.1 IED总体概述

图2-1 IED模型

IED数据模型总体布局如上图2-1中所示

实际文件中IED中配置有描述自身服务模型,如下图2-2所示

图2-2 IED本身的服务能力

IED的数据模型如下图2-3所示

图2-3 IED数据模型

2.2 IED配置原则

建模原则:一个智能电子装置可以建模为一个物理设备,其中至少包含一个服务器,服务器应该有一个访问点,实现与外部设备的通信,也可采用不同访问点分别与变电站不同层进行通信,服务器中至少包含一个逻辑设备。每个逻辑设备至少包含三个逻辑节点,有且仅有一个LPHD。在不影响正常功能的情况下不宜划分过多的逻辑节点。

还有如下几点需要注意

  1. 每个IED包含1-n个LDevice,每个LD包含1个LN0和几个LN

  1. LD路径名:IED名+LD名 全站唯一确定一个LD

  1. 61850实施规范中规定的LD命名原则如下表2-1以及图2-4所示

  1. 数据交换的最小功能单位建模为一个逻辑节点

表2-1 规范命名方法

图2-4 实际icd中的命名

2.3 逻辑节点LN

逻辑节点是功能的最小单位,如GGIO通用输入输出,有时需要模拟输出、辅助继电器等输出,然而这些输出未被上述开关设备相关逻辑节点所覆盖。另一方面,还需增加一些未定义的输入输出代表的装置,如,警报器、警铃、目标值等。还有一些输入输出来自未定义辅助装置。对这些输入输出,使用通用逻辑节点GIO表示通用主装置或辅助装置输入输出。PTOC类型的LN表示带时限过流保护,包括时限、过流等定值及保护启动动作状态。CSWI表示开关对象,包括开关状态,开关控点等数据。从LD包含的LN既可知道LD所能支持的功能。

如下图2-5使用GGIO输出告警点,对应四遥中的遥信值。

图2-5 LN名称组成

  1. LN类型lnType:描述LN包含的数据信息,根据lnType如NJRS_GGIO_16IND在DataTypeTemplate段中查询

  1. LN实例名:prefix+lnClass+inst 如:StaGGIO1

  1. LN实例路径名:PCS001/StaGGIO1 LD与LN之间以/分隔

  1. 只能在LN0实例中包含数据集DataSet、报告控制块ReportControl、日志控制块LogControl(模型文件中应删除)。

2.3.1 包含测量值的LN

如下图2-6所示,MMXU逻辑节点,MMXU表示3相系统的模拟量,包括电流、电压、功率,频率等数据,对应到四遥中是对应遥测。

图2-6 MMXU测量值

2.3.2 包含控制量的LN

多个功能具有一定顺序。这些功能归类为通用自动过程控制逻辑节点类型(GAPC)。该节点是对所有未定义功能的通用节点。功能顺序可用标准的PLC 语言实现,数据访问和交换完全同其它逻辑节点。本LN节点实际对应四遥中的遥控,如下图2-7对PCS控点

2-7 PCS控点

2.3.3 包含定值的LN

定值控制类型,在此模型中同样采用逻辑节点GAPC,对有功无功两个节点进行了定值限制,相当于配置参数,如下图2-8所示。类似地可以看作四遥中的遥调。

图2-8 定值设置

图2-9 GOOSE实现的功率控制

3、数据DO(Data Object)及 数据属性DA(Data attribute)

模型中LN的下级数据称为DO,在61850标准中统一定义了每个DO含义,DO又可包含下级DO和DA,因此DO可看作一个结构化的数据。DA是模型中的末级数据,DA又可包含DA,最末级DA称为叶子leaf。

模型中的信息分为几种类型,由DA的功能约束属性fc进行标识,常用fc有如下类别:

ST:状态 MX:测量 CO:控制 SG:当前区定值 SE:编辑区定值

BR:缓冲型报告控制块 RP:非缓冲型报告控制块

下面为常用数据类型的例子。

3.1状态类数据

包括压板状态、开入状态、告警信息、事件状态等。

类型:SPS

如图3-1所示

3-1 表示状态的DO对应YX

3.2 测量类数据

包括测控测量和保护测量

类型CMV WYE MV

如图3-2所示

图3-2 测量类型DO对应YC

3.3控制类数据

控制类型包括复归、压板、开关控制

类型CMV WYE MV,SP

如下如3-3所示

图3-3 控制类型DO对应YK

1、61850实施规范中要求Check数据必须有值,不能为空值。如果client下发遥控命令Check为空,则保护测控装置无法接受控令,控制失败。

2、SBOw和Oper数据类型一般相同

3、除复归为直接控制类型外,其余大部分为预置、执行方式的控制,即增强安全的控制命令。

3.4定值类数据

DO类型SP,CF

如下图3-4所示

图3-4 定制类型DO对应YT

3.5 数据集:DOI /DAI的集合

FCDA到DO,DO包含的fc指定的DA也属于FCDA

FCDA到DA

  1. 数据集路径名datasetReference唯一确定一个数据集:IED名+LD名+LN名+数据集名

  1. 根据每个数据成员实例可找到数据的描述,即可知道数据与IED内部数据的对应关系

3.6 报告控制块ReportControl

1、报告控制块用于设定IED上送数据的内容及方式等,包括告警、事件、开入、模拟量等所有IED需上送的内容。61850中除总召由client发起外,其余全部为IED主动上送数据。

2、IED与client连接过程中,client一般会根据各自需要设定每个报告实例的属性,此处的例子是icd中设定的默认值,如果client不重新设定,IED以此方式上送。

3、datSet属性:本报告控制块对应的数据集。

4、TrgOps:报告触发选项,数据集中的数据在何种条件下通过报告上送

dchg:数据变化上送

qchg:品质变化上送

dupd:数据更新上送,目前一般不用

period:周期上送

  1. OptFeilds:报告报文中包含的数据域,除了信号状态模拟量值以外的信息,如以下数据等

seqNum:报告的序号,递增

timestamp:报告生成的时标,不是信号变化时间

dataset:报告中包含数据集名

  1. RptEnabled: max属性是IED可以支持的报告实例个数。IED初始化时为每个报告生成max个实例,分别以报告控制块名+实例号(01,02…)进行区分,如brcbAlarm01、 brabAlarm02。每个client在连接时,以不同的报告实例号占用一个报告实例。每个报告实例按照client指定的属性上送报告。

  1. 如果数据集成员到DO级别,其包含的任意一个数据满足报告触发条件都应触发报告

  1. 报告分为缓存和非缓存两种类型,由IED建模时,通过ReportControl段的”buffered”属性设置,buffered=true设置缓冲型报告,对应fc=BR; buffered=false设置非缓冲型报告,对应fc=RP。缓存型报告要求IED在内存中缓存报告,如通信中断期间发生了事件,通信恢复后,此事件报文应能上送不丢失,通常告警、事件、SOE等报告建模为缓存类型。非缓存型报告不要求IED缓存,通信中断期间的数据可丢失,通常遥测类型的数据建模为非缓存报告。

4、控制服务分析

变电站中断路器及隔离开关的远方遥控、继电保护装置软压板的远方投退等操作都可以由IEC61850中的控制服务完成。

控制模型定义了下述服务:

----Select(选择)/SelectWithValue(带值选择)

----Cancel(取消)

----Operate(操作)/TimeActivatedOperate(时间激活操作)

----CommandTermination(命令终止)

本次仅用到Operate(操作)服务,该服务可以直接操作远端服务器的DA值。那么什么情况下会用到其他服务后面会逐步介绍,这里暂时不做详细解释。

控制服务定义了四种模型

----常规安全的直接控制

----常规安全的操作前选择控制

----增强安全的直接控制

----增强安全的操作前选择控制

上述的“操作前选择”简称为:SBO( select before operate)

所谓常规和增强的区别就是常规的不需要校验执行结果,增强型的需要校验。而操作前选择和直接控制的区别是前者需要在操作前进行选择操作,后者不需要。控制服务流程如图4-1所示

图4-1 简单控制流程

4.1 常规安全的直接控制

常规安全的直接控制就是不需要校验执行结果也不需要在操作前进行选择,是控制的最简单模型。其控制状态机如下图4-2所示

图4-2 直接控制状态机

4.2 常规安全的操作前选择控制

常规安全的操作前选择可以确保设备在接受操作信号之后,等到实际设备动作后,再返回操作成功的指令,确保了此次控制成功,其状态机如下图4-3所示

图4-3常规安全的操作前选择控制

4.3 增强安全的控制

增强安全的控制可以确保此次操作是只有自己一个服务端来预定的,避免了可能会出现的控制冲突。但还是没有确定实际的物理设备是否动作,如下图4-4中所示。

图4-4增强安全的直接控制

4.4 增强安全的操作前选择控制

增强安全的操作前选择控制,将上面三个模型存在的问题都解决了,可以很可靠的进行控制命令的发送确认。即一开始发送select请求,确定可以select成功表示其没有另一个客户端在控制过程中,需要注意的是select过程可以取消。然后还可以确定只有一个用户来进行控制设备。并且在开关动作之后,得到服务器程序的确认之后,才会返回给客户端控制成功。具体流程如图4-5所示

图4-5 增强安全的操作前选择控制

5、现阶段IEC61850开发情况以及问题

5.1库编译与移植

主要命令如下

tar xvf libiec61850-1.4.2.1.tar.gz

cd libiec61850-1.4.2.1

mkdir build

cd build

export TOOLCHAIN /usr/local/arm-6ul/bin/arm-none-gnueabi-

cmake -DCMAKE_INSTALL_PREFIX=/opt/libiec61850 ..

make

make install

此时库已经安装在/opt/libiec61850中

首先在~/.bashrc中最后添加export LIBIEC=/opt/libiec61850

然后在/etc/ld.so.conf中最后一行添加动态库路径:/opt/libiec61850/lib/

自己手动编写的client_test.c与client_test.h,这里代码暂时省略,将会在分享2中分享给大家。

第一版Makefile如下:

INCLUDES = -I $(LIBIEC)/include/libiec61850

# 注意需要要将libiec61850.so.1.5.1路径加入到/etc/ld.so.conf中

LIBPATH = $(LIBIEC)/lib

LIBAS = $(LIBPATH)/libhal.a

LIBAS +=$(LIBPATH)/libhal-shared.a

LIBAS += -L$(LIBPATH) -liec61850 -lpthread

object = client_test.c client_test.h

client:$(object)

gcc -g $(INCLUDES) $^ -o $@ $(LIBAS)

clean:

rm client

5.2 代码测试情况

5.2.1客户端读取服务器IED结构目录

通过调用IEC61850库中的读取目录相关的API可以将一个服务器中的数据模型树状结构读取到客户端中。另外还有一点,在很多资料中都有提到,就是短地址,实际上是给一些关键的DO或者DA一个类似与点号的地址,便于程序中方便的读取。

5.2.2报警点以及测控点数据的读取

根据在服务器模型中的唯一引用值来读取对应的测控值即遥信和状态量即遥信

5.2.3 报告控制块与数据集相关测试

下图是报告关联数据集的数据变化触发报告发送的原因对应的宏定义

报告首先要客户端对服务器端的报告控制快进行参数设置,包括使能,触发条件,完整性周期等等,具体如下图中所示

测试结果如下

在服务端改变数据集中数值时,客户端会立刻接收到报告。

5.2.4 控制服务的测试

资料汇总

调研建模部分

智能变电站中状态监测IED的建模与配置:

建模原则:一个智能电子装置可以建模为一个物理设备,其中至少包含一个服务器,服务器应该有一个访问点,实现与外部设备的通信,也可采用不同访问点分别与变电站不同层进行通信,服务器中至少包含一个逻辑设备。每个逻辑设备至少包含三个逻辑节点,有且仅有一个LPHD。在不影响正常功能的情况下不宜划分过多的逻辑节点。

数据交换的最小功能单位建模为一个逻辑节点

IEC61850开发流程

https://blog.csdn.net/chenliang0224/article/details/88881419?ops_request_misc=&request_id=&biz_id=102&utm_term=61850%E5%BC%80%E5%8F%91&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-88881419.142^v11^control,157^v12^new_style1&spm=1018.2226.3001.4187

建模说明:

https://blog.csdn.net/kof98765/article/details/112903104

IEDScout下载链接:

https://www.xiaobaipan.com/file-2298713.html

IEDScout讲解视频:

https://haokan.baidu.com/v?pd=wisenatural&vid=10324006375493669954

PCS-SCD配置工具:

http://wei2008.com/news/news/201818297.html

PCS-SCD使用讲解视频:

https://www.iqiyi.com/v_1ibls0xq79w.html#curid=5608442795724600_ac2b1e9ed614ac53eb41f19c5964fd55

库编译链接

https://blog.csdn.net/kof98765/article/details/112902565

标准服务

IEC61850标准的服务实现主要分为三个部分:MMS服务、GOOSE服务、SMV服务。

MMS服务用于装置和后台之间的数据交互;GOOSE服务用于装置之间的通讯;SMV服务用于采样值传输。

三个服务之间的关系:在装置和后台之间涉及到双边应用关联,在GOOSE报文和传输采样值中涉及多路广播报文的服务。双边应用关联传送服务请求和响应(传输无确认和确认的一些服务)服务,多路广播应用关联(仅在一个方向)传送无确认服务。

如果把IEC61850标准的服务细化分,主要有:报告(事件状态上送)、日志历史记录上送、快速事件传送、采样值传送、遥控、遥调、定值读写服务、录波、保护故障报告、时间同步、文件传输、取代,以及模型的读取服务。

原文链接:https://blog.csdn.net/wgd0707/article/details/122425348

建模过程

https://blog.csdn.net/kof98765/article/details/112903104

1、首先根据输入java根据提示安装java编译环境

2、安装完成后输入java -jar genmodel.jar simpleIO_direct_control.icd 会在当前目录下生成静态数据模型

https://blog.csdn.net/rpybx/article/details/119568523

Windows下建模备用

61850相关网址

1. Linux下的开发流程、包括字描述语言建模:https://wenku.baidu.com/view/50e648307375a417866f8feb.html?sxts=1553787764923

2. 深圳某公司的操作流程:https://wenku.baidu.com/view/a660f33f0b4c2e3f5727638d.html

3. 建模:https://wenku.baidu.com/view/10db705e312b3169a451a40a.html?sxts=1553788471253

4. IEC61850与103协议的区别:https://wenku.baidu.com/view/86e4686f84868762cbaed580.html?rec_flag=default&sxts=1553788591252

5. 建模ppt:https://wenku.baidu.com/view/d9523bcf2af90242a995e53a.html?rec_flag=default&sxts=1553788700724

6. IEC61850客户端工具:https://wenku.baidu.com/view/718a4a85e53a580216fcfe99.html

7. IEC61850调试:https://wenku.baidu.com/view/93923bca192e45361166f59b.html?sxts=1553789008795

8. IEC61850在linux windows下的源代码下载、编译:https://blog.csdn.net/kecise/article/details/67647804

8.1 安装环境CMAKE,然后在libiec61850下编译生成vs2010工程

8.2 建模:动态建模(生成*.cfg配置文件)、静态建模(生成*.c和*.h文件):https://blog.csdn.net/kecise/article/details/68523599

9. DL/T6345.101 DL/T6345.104文档讲解:

9.1 https://wenku.baidu.com/view/eaf7e0f4227916888586d719.html,9.2 https://wenku.baidu.com/view/c6297d3c178884868762caaedd3383c4bb4cb427.html

9.3 DL/T6345-104报文分析:https://wenku.baidu.com/view/3b8eb1d06f1aff00bed51ea2.html

10.61850交叉编译教程

https://baijiahao.baidu.com/s?id=1638544508310532356&wfr=spider&for=pc

  • 27
    点赞
  • 157
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
资源和常用的case工具学习,了解软件工程领域的最新发展和实践经验。 2)了解如何利用网络资源进行问题解决和知识获取。 3)学习使用常用的case工具,提高软件开发和项目管理的效率。 2.实验内容 1)通过互联网资源进行软件工程领域相关的学习和研究。可以通过查阅文献、观看教学视频、参与技术论坛等途径,了解最新的软件工程技术、方法和实践经验。 2)学习使用常用的case工具,例如JIRA、Trello、Github等,了解它们的功能和用法,掌握基本的项目管理和团队协作能力。 3)根据实际需求,使用case工具进行软件项目管理和团队协作实践。例如,创建项目、制定计划、分配任务、跟踪进度等。 4)通过实际操作和实践,掌握使用case工具进行软件开发和项目管理的技能,提高工作效率和团队协作能力。 3.实验步骤 1)调查研究互联网上的软件工程资源,了解相关的学习和研究资料。可以参考国内外高校的教学网站、学术论文数据库、技术博客等资源。 2)选择一种或多种常用的case工具进行学习和研究。可以通过官方网站、用户手册、教学视频等途径,了解工具的功能和用法。 3)根据实际需求,选择一个小型软件项目进行管理和协作实践。可以用case工具创建项目,制定计划和任务,分配给团队成员,并跟踪项目进度。 4)在实践中记录和总结遇到的问题和解决方法,形成实验报告。 4.实验要求 1)完成实验报告,包括实验目的、实验内容、实验步骤和实验总结等内容。 2)掌握使用互联网资源进行软件工程学习和研究的方法和技巧。 3)掌握使用常用的case工具进行软件项目管理和团队协作的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值