广州网页设计制作,产品介绍网站如何做seo,谷歌云 阿里云 做网站,品牌高端网站建设公司61850一开始对我来说也是个陌生的词汇#xff0c;随着工作上的需要#xff0c;才从各种渠道一点点的了解以及完善对于这个通讯规约的认识#xff0c;当然对这个庞大的协议也是了解到冰山一角。 对于61850开发的话目前开源库libiec61850做的也十分不错#xff0c;如果是6185… 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、数据DOData Object及 数据属性DAData 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历史版本信息等 -CommunicationIEDMMS网络以及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。在不影响正常功能的情况下不宜划分过多的逻辑节点。 还有如下几点需要注意 每个IED包含1-n个LDevice每个LD包含1个LN0和几个LN LD路径名IED名LD名 全站唯一确定一个LD 61850实施规范中规定的LD命名原则如下表2-1以及图2-4所示 数据交换的最小功能单位建模为一个逻辑节点 表2-1 规范命名方法 图2-4 实际icd中的命名 2.3 逻辑节点LN 逻辑节点是功能的最小单位如GGIO通用输入输出有时需要模拟输出、辅助继电器等输出然而这些输出未被上述开关设备相关逻辑节点所覆盖。另一方面还需增加一些未定义的输入输出代表的装置如警报器、警铃、目标值等。还有一些输入输出来自未定义辅助装置。对这些输入输出使用通用逻辑节点GIO表示通用主装置或辅助装置输入输出。PTOC类型的LN表示带时限过流保护包括时限、过流等定值及保护启动动作状态。CSWI表示开关对象包括开关状态开关控点等数据。从LD包含的LN既可知道LD所能支持的功能。 如下图2-5使用GGIO输出告警点对应四遥中的遥信值。 图2-5 LN名称组成 LN类型lnType描述LN包含的数据信息根据lnType如NJRS_GGIO_16IND在DataTypeTemplate段中查询 LN实例名prefixlnClassinst 如StaGGIO1 LN实例路径名PCS001/StaGGIO1 LD与LN之间以/分隔 只能在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、数据DOData Object及 数据属性DAData 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 MVSP 如下如3-3所示 图3-3 控制类型DO对应YK 1、61850实施规范中要求Check数据必须有值不能为空值。如果client下发遥控命令Check为空则保护测控装置无法接受控令控制失败。 2、SBOw和Oper数据类型一般相同 3、除复归为直接控制类型外其余大部分为预置、执行方式的控制即增强安全的控制命令。 3.4定值类数据 DO类型SPCF 如下图3-4所示 图3-4 定制类型DO对应YT 3.5 数据集DOI /DAI的集合 FCDA到DODO包含的fc指定的DA也属于FCDA FCDA到DA 数据集路径名datasetReference唯一确定一个数据集:IED名LD名LN名数据集名 根据每个数据成员实例可找到数据的描述即可知道数据与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:周期上送 OptFeilds:报告报文中包含的数据域除了信号状态模拟量值以外的信息如以下数据等 seqNum:报告的序号递增 timestamp:报告生成的时标不是信号变化时间 dataset:报告中包含数据集名 RptEnabled: max属性是IED可以支持的报告实例个数。IED初始化时为每个报告生成max个实例分别以报告控制块名实例号01,02…进行区分如brcbAlarm01、 brabAlarm02。每个client在连接时以不同的报告实例号占用一个报告实例。每个报告实例按照client指定的属性上送报告。 如果数据集成员到DO级别其包含的任意一个数据满足报告触发条件都应触发报告 报告分为缓存和非缓存两种类型由IED建模时通过ReportControl段的”buffered”属性设置bufferedtrue设置缓冲型报告对应fcBR bufferedfalse设置非缓冲型报告,对应fcRP。缓存型报告要求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_miscrequest_idbiz_id102utm_term61850%E5%BC%80%E5%8F%91utm_mediumdistribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-88881419.142^v11^control,157^v12^new_style1spm1018.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?pdwisenaturalvid10324006375493669954 PCS-SCD配置工具 http://wei2008.com/news/news/201818297.html PCS-SCD使用讲解视频 https://www.iqiyi.com/v_1ibls0xq79w.html#curid5608442795724600_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?sxts1553787764923 2. 深圳某公司的操作流程https://wenku.baidu.com/view/a660f33f0b4c2e3f5727638d.html 3. 建模https://wenku.baidu.com/view/10db705e312b3169a451a40a.html?sxts1553788471253 4. IEC61850与103协议的区别https://wenku.baidu.com/view/86e4686f84868762cbaed580.html?rec_flagdefaultsxts1553788591252 5. 建模ppthttps://wenku.baidu.com/view/d9523bcf2af90242a995e53a.html?rec_flagdefaultsxts1553788700724 6. IEC61850客户端工具https://wenku.baidu.com/view/718a4a85e53a580216fcfe99.html 7. IEC61850调试https://wenku.baidu.com/view/93923bca192e45361166f59b.html?sxts1553789008795 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.html9.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?id1638544508310532356wfrspiderforpc