n
1 IEC61850 标准
1.1标准概述
IEC61850是新一代的变电站自动化系统的国际标准,它规范了数据的命名、数据定义、设备行为、设备的自描述特征和通用配置语言。同传统的IEC60870-5-103标准相比,它不仅仅是一个单纯的通信规约,而是数字化变电站自动化系统的标准,它指导了变电站自动化的设计、开发、工程、维护等各个领域。该标准通过对变电站自动化系统中的对象统一建模,采用面向对象技术和独立于网络结构的抽象通信服务接口,增强了设备之间的互操作性,可以在不同厂家的设备之间实现无缝连接。智能化一次设备和数字式变电站要求变电站自动化采用IEC61850标准。IEC61850是至今为止最为完善的变电站自动化标准,它不仅规范保护测控装置的模型和通信接口,而且还定义了数字式CT、PT、智能式开关等一次设备的模型和通信接口。采用IEC61850国际标准可以大大提高变电站自动化技术水平、提高变电站自动化安全稳定运行水平,节约开发验收维护的人力物力,实现完全的互操作,如图1所示。
IEC61850与传统的SCADA协议不同的是,它不仅是一个简单的协议,更涉及到通信网络性能要求、对象建模、系统和项目管理等多方面的规范要求。IEC61850采用面向对象的建模方法和抽象、分层映射的技术,通过规范系统和项目管理以及一致性测试等途径来保证其目标的实现,并且IEC61850不仅适用于变电站自动化系统内部网络通信,也适用于配电自动化、电能计量系统、发电厂自动化系统、风力发电以及其它工业领域。n
图1:IEC61850与数字化变电站(SAS)之间的相互关系:n
1.2 制造报文规范MMS
制造报文规范(Manufacturing Message Specification,MMS)是网络上实时处理和监控系统信息交换的国际标准,由国际标准化组织和国际电工委员会工业自动化技术委员会TC184工业组负责制定和发展,它适合于在不同的设备、应用、发展商和领域内提供通用信息服务,例如:MMS提供的读(Read)服务允许网络上的设备、应用或计算机从另外一个设备、应用或计算机内读取所需的变量,而不管这个变量是在可编程逻辑控制器、机器人、远方终端设备或智能电子设备内。MMS已经广泛应用在制造、石油化工、电力工业和太空探索等领域。
MMS由以下各部分组成:n
1) 服务规范(Service Specification)
2) 协议规范(Protocol Specification)
3) 机器人伴同标准(Robot Companion Standard)
4) 数字控制器伴同标准(Numberical Controller Companion Standard)
5) 可编程逻辑控制器伴同标准(Programmable Logical Controller Companion Standard)
6) 过程控制系统伴同标准(Process Control System Companion Standard)
上列各部分中,第一部分服务规范和第二部分协议规范是其核心,服务规范包含的定义
有:①虚拟制造设备(Virtual Manufacturing Device,VMD);②网络上节点间的信息交换;③与VMD有关的属性和参数。协议规范定义的是通信规则,包括:①信息格式;②通过网络的信息顺序;③MMS层与ISO/OSI开放模型的其他层的交互,而3)-6)则是针对不同的应用领域的伴同标准。
MMS提供了丰富的针对对等式实时通信网络的一系列任务,已经成为许多工业领域的控制设备的通信协议,例如CNC、可编程逻辑控制器、机器人、电力领域中的远方终端设备(RTU)、能源管理系统(EMS)、重合器、开关等IED设备。许多流行的计算机平台都支持基于MMS的互联,在软件支持上,更多的API、图形界面、网关、字处理、电子表格、关系型数据库都支持MMS,从通信连接上看,MMS在以太网、令牌总线、串行接口RS-232C、OSI、TCP/IP、MiniMAP上也都很容易实现,如图2所示:n
图2:MMS在IEC61850报文结构中的位置n
1.3 IEC61850标准的体系结构
变电站自动化系统由各种IED 组成,主要完成变电站内设备的控制、监视和保护功能,并实现系统配置、通信管理和软件管理等系统维护功能。IEC 61850 标准将变电站自动化系统在逻辑上划分为3 层(即变电站层、间隔层和过程层),并将具体应用功能分解为许多常驻在不同IED 内、彼此间相互通信的单元,称为逻辑节点(logical node,LN),然后以LN 为对象建立变电站内IED 的统一的数据和服务模型,旨在解决不同厂商提供的IED间的数据交换、信息共享等问题。
遵循IEC 61850 标准的变电站自动化系统主要包括:①主站自动化系统软件(人机界面、数据库及系统管理等);②间隔层装置(保护、测控单元等);③过程层设备,包括电子式电流/电压互感器(electronic current/potential transducer,ECT/EPT)、智能断路器/隔离开关、合并单元等;④工程化工具(如配置工具等),用于管理IEC 61850所定义的的通信模型,并满足IEC 61850-6(配置)和IEC 61850-10(一致性测试)的规范要求,如图3所示:n
图3:IEC61850与数字化变电站接口与体系结构n
1.4数据模型
在了解数据模型之前,首先需要了解一些关于IEC61850 的重要概念
智能电子设备(IED):实际的物理设备,如开关、断路器,综保等。
功能:变电站自动化系统执行的任务,如:母线保护、联锁、报警管理等。
逻辑设备(LD):一种虚拟设备,聚合逻辑节点和数据,物理设备可以包含一个或多个LD。
逻辑节点(LN):用来描述系统功能的基本单位,是数据对象的容器,可以任意分配到
IED,每个逻辑节点和内部的数据都有具体的语义,并通过他们的服务与外部进行交互。
在IEC61850 中,一个IED 设备的外部性能通过Server 服务器类来表征,Server 服务器可以包含一个或多个逻辑设备,一个逻辑设备可以包含多个逻辑节点,在IEC61850 中一些逻辑节点是电力系统实设备的映射。一个IED 设备要实现特定功能必然需要这些逻辑节点来最终实现操作、控制的功能。可以简单理解逻辑设备是IED 设备实现具体一个功能的抽象容器,在这个容器中包含了实现功能所需的相应的逻辑节点。
下图4描述了从一个实际的项目中如何对实际的物理设备建模的完整过程:n
图4:设备建模的完整过程n
就针对一个具体的IED设备模型而言,下图5描述了该物理设备中所包含的内容及其交互关系:n
图5:数据模型所包含的内容及交互关系n
下图6为一个实际的IED物理设备所包含的相关内容,该图描述了该LED设备中其中一个逻辑设备”Tampa_Control”的逻辑节点”Q0XCBR1”断路器的”位置Pos”数据的相关状态 “stVal和ctlVal”。n
图6:一个实际的IED设备所包含的内容n
2 “IEC61850 Server Library”软件包概述
2.1 “IEC61850 Server Library”通信概述
“IEC61850 Server Library”软件包是西门子推出的基于S7-300/400作为服务器端的IEC61850规约的通信解决方案,通过该软件包,可以将S7-300/400 “虚拟”为一个IEC61850服务器端设备,之后S7-300/400 可以支持在IEC61850总线上的过程变量导出,下图7为“IEC61850 Server Library”软件包通信总览:n
图7:“IEC61850 Server Library“软件包通信总览n
“IEC61850 Server Library “软件包具有如下特征:
1) 功能完全的功能块库,支持德语及英语的在线帮助。
2) 每个IEC61850 客户端设备将通过一个ISO-On-TCP连接服务器。
3) 最多可以支持100 Data-Attribute及10 DataSet(每个DataSet包含100个Data-Attributes):
4) Data-Attribute支持如下数据类型,如图8所示:n
图8:”IEC61850 Server Library”所支持的数据类型n
5) 支持如下MMS服务类型,如下图9所示:
图9:”IEC61850 Server Library”所支持的MMS服务类型n
6) 提供基于XML语言描述的SCL和.icd文件,供客户端访问
7) 通过标准PCS7或Step7工具进行编程
8) 支持S7-300/S7-400/S7 mec
9) 冗余设计(用于S7-400H)
10) 带通信诊断功能
11) 软件包仅支持通过CP343/443-1建立通信连接,不支持CPU的集成PN口创建连接
2.2 “IEC61850 Server Library”软件包工作原理
下图10描述了“IEC61850 Server Library”软件包的工作原理:n
图10:“IEC61850 Server Library”软件包的工作原理n
从图10可以看出,软件包中主要的核心为数据模型.ICD文件及Table DB数据块,两者之间必须一致,这个将包含在软件包中,其中.ICD文件提供给IEC61850客户端用于IEC61850通信的连接、变量的导出及读写等,Table DB数据块用于下载到S7-300/400中用于创建S7-300/400作为IEC61850服务器的数据模型,之后将其匹配到主功能块“SVR_IEC61850”中。
在软件包的实际应用中还需要注意以下几点:n
1) 允许多个IEC61850客户端访问同一个S7-300/400 IEC61850服务器,但是每个客户端需要创建多个ISO-on-TCP连接并多次调用之后将其匹配到功能块“SVR_IEC61850”,此时将功能块“SVR_IEC61850”均连接到同一个Table DB,这样能够保证客户端访问服务器的数据一致性。
2) 通过DataSet(数据集)可以批量读写Data-Attribute,软件包只支持静态DataSet功能,不支持动态的 DataSet创建,因此只允许IEC61850客户端的静态DataSet访问请求。
3) 所有的Data-Attribute及DataSet均可以在 Table DB中更改,这可以通过软件包 的SCL源文件编辑,当更改Table DB时,.ICD文件(软件包中的server_x_y.icd文件)也必须调整以保证更改后的Table DB与.ICD文件保持一致
2.3 “IEC61850 Server Library“软件包软硬件需求及限制
“IEC61850 Server Library”软件包的软硬件需求及限制如下图11所示:n
图11:“IEC61850 Server Library”软件包软硬件需求及使用限制n
2.4 “IEC61850 Server Library“软件包订货号
“IEC61850 Server Library”软件包的订货号如下图12所示:n
图12:“IEC61850 Server Library”软件包订货号n
2.5 “IEC61850 Server Library“软件包包含内容
购买“IEC61850 Server Library“软件包后将会得到一张光盘,光盘中包含如下文件内容,如下图13所示:n
图13:“IEC61850 Server Library“软件包所包含的内容n
3 通过“IEC61850 Server Library“软件包配置S7-300作为服务器进行IEC61850 规约通信
下面以S7-300及TMW 61850 Test Harness软件为例,详细介绍如何通过“IEC61850 Server Library“软件包将S7-300通过配置为服务器,TMW 61850 Test Harness配置为客户端进行IEC61850 通信。
注:TMW 61850 Test Harness软件可以从网上免费下载得到,网址为:
http://www.trianglemicroworks.com/
下载的为试用版本,试用版本有一定的功能限制,只有20天的试用期,试用期结束后失去所有功能,需要购买使用授权
3.1例子中使用的硬件设备及软件
本例中所用的硬件设备如下表1所示。n
名称 | 数量 | 订货号 |
S7-300电源模块PS 307 5A | 1 | 6ES7307-1EA01-0AA0 |
S7-300 CPU317-2PN/DP | 1 | 6ES7317-2EK14-0AB0(V3.2) |
S7-300 CP343-1 | 1 | 6GK7343-1EX30-0XE0(V2.2) |
S7-300 机架 | 1 | 6ES7390-1AE60-0AA0 |
网线及MMC卡 | 若干 | |
笔记本电脑 | 1 |
表1:硬件清单n
所用到软件如下表2所示:n
名称 | 订货号 |
Step7 V5.5+SP2 | 6ES7810-4CC10-0YA5 |
CFC V7.1+SP1 | 6ES7658-1EX17-2YA5 |
“IEC61850 Server Library“软件包 | 9AE4110-8AA00 |
TMW 61850 Test Harness V3.00.0022 |
表2:软件清单n
3.2 硬件及网络组态
打开Step7软件,新建一个工程项目文件,命名为“IEC61850_server_update”, 在项目下插入一个S7-300站,如下图14所示。n
图14:新建S7-300 Statio
双击插入的SIMATIC 300 Station的“Hardware”,打开硬件组态,在硬件组态界面下分别插入机架,电源PS307、CPU317-2PN/DP、CP343-1,本例中将CP的IP地址设为192.168.0.11,如下图15所示。n
图15:硬件组态并设置CP343-1的IP地址n
打开Netpro网络组态,选中CPU317-2PN/DP,插入一个新连接,连接伙伴为Unspecified,连接类型为ISO-on-TCP Coection,如下图16所示:n
图16:网络组态-创建ISO-on-TCPn
对于插入的TCP coection,在打开的连接属性对话框中的“General Information”中由于CP343-1做Server被动连接,因此不勾选“Active coection estabishment”选项,ID保持缺省即可,在“Adress”栏中同样由于CP343-1做Server,因此填入本地连接的TSAP号设置为00.01,对于通信伙伴Remote的TSAP可以选择不填,即允许任意IP地址的客户端发起连接,如下图17所示:n
图17:作为 服务器的ISO-on-TCP连接属性设置n
注意:1) 如果有多个客户端连接,每个客户端需要创建一个ISO-on-TCP连接,对于本地
的TSAP号可以依次按照00.01顺排,对于远程TSAP号则建议添上对应的客户
端IP地址及TSAP号
3.3 编写程序
打开“IEC61850 Server Library“软件包中功能块库,将软件包中所有的程序拷贝到以上创建的Step7项目中,如下图18所示:n
图18:拷贝“IEC61850 Server Library“软件包中功能块到创建的项目中n
之后再Step7项目中插入一个CFC Chart图并打开,在打开的Chart图中调用主功能块“FB575 SVR_IEC61850”,如下图19,20。n
图19:插一个CFCn
图20:在CFC中调用主功能块“FB575 SVR_IEC61850”n
注意: 如果有多个客户端连接同一个服务器,每个客户端需要调用一个主功能块“FB575
SVR_IEC61850”,每个调用功能块的 Table DB可以共享,但是“CONN_RCV”
及“CONN_SEN”必须不同,如下图21所示。
图21:多个IEC61850客户端连接时编程处理n
表3:功能快FB575“SVR_IEC61850”各管脚参数含义n
注意:对于START_COM及STOP_COM参数,SVR_IEC61850功能块要求在启动时首先
将STOP_COM置1后再将STOP_COM置1的一个时序过程功能块才能正常工作,
因此需要在CFC编程时进行处理。
参数“QSTATE”中功能块输出的内部处理状态如下表4所示:n
QSTATE | 程序状态 | 含义描述 |
0 | START | 功能块未运行 |
1 | IDLE | 由空闲转入开始通信 |
2 | RCV | 接收报文(AG_RECV被调用) |
3 | DECODE | 对接收的报文进行分析并解码 |
4 | BUILD | 对接收的报文产生相应的响应报文并编码封装 |
5 | SEND | 发送报文(通过AG_SEND发送) |
表4: 参数“QSTATE”中功能块输出的内部处理状态n
3.4 模型文件Table DB及ICD文件修改
对于实际的应用来说,软件包中自带了一个标准Table DB数据块模型及ICD文件,这两个文件均可以通过软件包中的SCL源文件(源文件为DB.SCL),可以将软件包中的SCL源文件拷贝到客户所创建的项目中打开后进行修改,如下图22所示:n
图22:拷贝DB SCL源文件到项目中n
在实际应用中大致来说会涉及到以下内容的修改:
1) 改变模型标识符:DB.SCL源文件中会包含3个字符串的模型标识符,如下图23所示:
■ 供应商名称(最大20个字符)
■ 模型设备名称(最大40个字符)
■ 模型文件版本号(最大20个字符)
在IEC61850客户端/服务器的初始通信连接过程中通过该模型标识符来进行初步握手n
图23:在DB.DCL中的模型标识符n
2) 更改Data-Attribute的变量属性(Table DB数据块中的“Cont”),DB.SCL源文件中包含一个结构体变量“Cont”,每个结构体变量“Cont”包含了一个变量的如下条目:
■ 变量域名ID-为IEC61850地址的一部分
►代表了IED名称如“IED_001”及逻辑设备名称如“CTRL”。
■ 变量条目ID-为IEC61850地址的一部分
►代表了逻辑节点名称及Data-Attribute名称,需要以“$$”开头,如
“LLN0$$ST$$stVAL”。
■ 变量数据类型-MMS数据类型,支持的数据类型包括:
► 83h:布尔量
► 84h:位串(最大4个字节)
► 85h:整型
► 86h:无符号整型
► 87h: 浮点型
► 8fh: DataSet数据集
■ 变量长度-MMS变量长度值,主要包括:
► 对于83h布尔量:1个字节
► 其他数据类型:4个字节
■ 变量实际值-MMS变量实际值,长度为4个字节
DB.SCL中一个完整的结构体变量“Cont”如下图24所示:n
图24:在DB.SCL中一个完整的结构体变量“Cont”n
注意:当需要更改以上模型文件时建议直接在SCL源文件中直接更改,之后可以直接编
译成模型数据块DB及通过相应的工具转换成.ICD文件。
3.5 通信测试
打开TMW 61850 Test Harness软件中的IEC61850客户端Hammer,通过Options->Configure打开客户端参数设置界面,分别设置相关参数如下图25所示:n
图25:TMW 61850 Test Harness软件中Hammer相关参数设置n
其中Basic-IP Address:服务器IP地址,本例中为192.168.0.11
Basic-SCL File:服务器提供的ICD文件
Client Specific-Transport Seletor:客户端TSAP号
Server Specific-Transport Seletor:服务器端TSAP号,与Step7中Netpro中设置一致
下载上述中编写的项目程序到PLC中,点击Hammer中的连接,可以看到双方的通信已经建立起来了,在Hamer界面中可以对布尔量,整型,浮点等进行读写,如下图26所示:
图26:通过测试中的变量读写
3.6 通信故障排查
对于通信中可能出现的各种故障请参考下表5:
故障 | 可能的原因 | 补救措施 |
无法通信 | 没有物理连接 | 检查S7-300/400与IEC61850客户端之间的物理连接,包括参数设置等 |
SVR_IEC61850未启动 | 检查是否将参数START_COM置1 | |
S7-300/400未正确组态及编程 | 在CFC检查SVR_IEC61850功能块是否连接了Table DB,并且Table DB是否存在检查网络连接是否正确组态并下载到PLC中 | |
IEC61850客户端未正确组态 | 将CFC置于Test状态,检查输出参数RECV,DECODE,BUILD,SEND是否在交替状态,否则检查客户端的连接 | |
变量寻址地址不正确 | 检查Table DB与IEC61850客户端的变量寻址是否一致 |
表5:可能的故障及排查方式
4 “IEC61850 Server Library“软件包通信小结
“IEC61850 Server Library”软件包是西门子推出的基于S7-300/400的IEC61850
规约的通信解决方案,在软件包的使用中需要注意以下几点:
1) 如果有多个客户端访问一个服务器,需要创建过个ISO-on-TCP连接并多次调用SVR_IEC61850功能块,其中的Table DB可以一致以保证数据访问的一致性。
2) 由于软件包中程序块占用的Work Memoy较大,因此建议使用中高端的CPU。
3) 对于模型文件ICD的修改,建议客户在购买软件包后直接将需求发给德国总部来获得支持。
4) 建议 使用 CFC编程将更加高效
5) 软件包目前只能支持较少的MMS通信服务,如GetData,SetData,static Dataset等,其他如Report等服务都不支持,因此只能用于常规的数据读写服务,而对于实时性要求比较高的事件消息上送服务本软件包并不适用.
关键词
IEC61850、变电站自动化、制造报文规范、智能电子设备、ICD文件、数据模型、IEC61850 服务器块库、客户端、服务器、通信、变量读取、Test Harness
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc329221.html