首页 资讯 招标 项目 展会 更多

位置:首页 > 新闻频道 > 技术动态


底层实时通信协议及托管抽象通信服务的封装方法

2015-11-24 10:06:30 安装信息网

相关链接: 中国安全网 中国质量网 中国论文网 中国资讯网

    作者:张毅宏

    智能变电站一体化监控系统按照全站信息数字化、通信平台网络化、信息共享标准化的基本要求.通过系统集成优化.实现全站信息的统一接入、统一存储和统一展示,能有效整合变电站内运行监视、操作与控制、综合信息分析与智能告警、运行管理和辅助应用等功能并促进全站信息的顺利流通.成为智能电网调度控制和生产管理的重要保证。

    智能变电站一体化监控系统提出遵循IEC61850标准实现全站信息的统一建模和站内数据传输。在智能变电站一体化监控系统中,智能电子设备(IED)位于间隔层,遵循IEC 61850标准建立信息模型,使用制造报文规范( manufacturingmessage specification,MMS)作为底层通信协议。站控层的IEC 61850客户端与IED通信,获取变电站一、二次设备信息,进行数据存储、监视和告警.供高层系统查询和浏览,同时下发高层系统的操作与控制命令。

    站控层IEC 61850客户端的通信过程复杂、需要提供人机交互方式,研发工作量大,对IEC61850通信服务的灵活性和扩展性的要求更高。由于对IEC 61850理解的差异性和实现方式的不同.站控层IEC 61850通信服务的实现方法存在一致性和扩展性问题,一种方法是自主研发MMS应用协议集.需要进行MMS原语交换的处理以及传输报文的编解码,仅实现了部分功能,开发工作量大、效率低,难以保障协议的一致性。另一种方法采用现有的MMS协议栈.在应用层上构建特定通信服务映射模块.实现抽象通信服务接口(ACSI)核心服务到MMS的映射。该方法需要使用MMS协议栈的复杂通信接口,二次开发难度大.并依赖于特定系统和运行环境,不利于系统的移植和扩展。

    为了减少智能变电站一体化监控系统中站控层客户端的研发工作量.提高灵活性和扩展性,满足IEC 61850各种通信需要与实际应用,本文提出了底层实时通信协议到ACSI通信服务的封装方法.解耦ACSI通信服务与特定系统的绑定,支持面向对象和跨平台技术特性,能够为窗体与浏览器等形式的站控层客户端提供高效易用的IEC61850基础通信服务。

    1  智能变电站一体化监控系统的IEC 61850通信架构

    针对智能变电站一体化监控系统中IEC 61850通信部分,提取站控层和问隔层中遵循IEC 61850标准的装置,给出基于IEC 61850的通信架构.如图1所示。

    变电站一体化监控系统通过划分安全区的方式隔离了保护、测控、监测以及辅助数据。I区和Ⅱ区通信网关机作为一体化监控系统连接安全I区和Ⅱ区接口,通过直采直送的方式实现与调度控制1中心的实时数据传输,同时接收调度(调控)中心的操作与控制命令。I区本地监控主机和Ⅱ区综合应用服务器作为各自安全区内数据的集巾设备,同样需要采用IEC 61850标准通信方式与位于间隔层的各个IED进行信息交互。

    智能变电站一体化监控系统中的站控层设备主要采用客户端/服务器通信方式。通信网关机、监控主机和综合应用服务器都将充当IEC 61850客户端,采用读取数据模型、读取与设置数据、报告和控制等通信服务,实现与间隔层IED设备的数据通信。因此,实现站控层中ACSI通信服务到底层通信协议栈的封装对于站控层设备的研发具有重要的意义。

    2通信服务封装的基本方法

    基于面向对象和跨平台原理的底层实时通信协议MMS到站控层通信服务的基本封装过程.如图2所示.

    (1)为了避免自主研发MMS协议机以及传输报文编/解码器带来的复杂性和研发成本.底层实时通信协议采用MMS-EASE.可以节省自主开发MMS协议机以及ASN.1的编/解码器的成本.为站控层通信服务的开发提供了方便快捷的底层实时通信接口。每个协议层为独立模块,每层为上层协议提供服务,可以根据特定应用的要求选用不同的协议层组合。

    (2)根据IEC 61850-8-1给出的站控层底层实时通信协议与通信服务的映射规则,将底层实时通信协议中的数据结构和通信接口封装为面向对象的ACSI通信服务类。

    (3)将面向对象的非托管通信服务封装为托管的通信服务,解耦ACSI通信服务与特定系统的绑定,支持面向对象和跨平台技术特性,能够满足各种站控层客户端的需要,减少二次开发成本.并具有良好的可扩展性.

    3  MMS封装为面向对象的ACSI通信服务类

    现有站控层通信服务到底层实时通信协议的映射采用面向过程的方式实现,通信服务功能的实现需要联合调用多个通信接口并使用大量相关的数据结构,采用面向对象的方式对散乱的数据结构和通信接口进行封装,将站控层通信服务依赖的数据结构和接口重新组织,精简代码结构,显著提高开发效率.

    3.1  ACSI通信服务类成员变量

    将用于MMS协议栈初始化、对象模型配置和通信线程管理的数据结构封装为类的私有变量.防止对基础数据结构的修改,仅在类的方法中被设置或使用,避免外部函数对其进行不正当操作。通信服务类的主要成员变量如表1所示。

    自定义数据结构并封装为通信服务类的辅助成员变量,用于通信过程中的数据组织和展示。对象模型树变量将服务端对象模型解析到树形结构中,以层次化的形式展示对象模型。报告控制块变量封装设置报告服务的一组变量,传递给设置报告控制块服务以控制报告行为。报告信息变量组织产生报告的详细内容,传递给报告处理回调方法进行报告的记录。通信服务类辅助成员变量如表2所示.

    3.2 ACSI通信服务方法的映射

    ACSI通信服务的工作流程分为通信系统初始化和站控层通信2个部分,如图3所示。

    (1)通信系统初始化过程中载入日志配置文件、协议栈配置文件和站控层配置文件进行日志工具、MMS栈和站控层网络的配置及对象模型的解析,并将对象模型封装为树形结构。将上述过程调用封装到通信服务类的初始化方法中,在通信服务类初始化时执行,为进行站控层通信做好所有准备工作。

    (2)站控层通信在独立的线程中执行,首先连接到服务端.成功后获取连接信息,连接信息是进行后续通信的凭证。建立通信服务到MMS的映射规范,将MMS的通信接口封装到通信服务类方法中.参数中的对象引用从树形对象模型中获取.ACSI通信服务到MMS接口的映射关系如下:

    ①对于读取服务器、逻辑设备、逻辑节点日录等通信服务.映射到MMS的渎有名变量列表通信接口,配置请求参数中的层级参数,实现获取不同层级的对象目录。

    ②对于读取、设置数据值和数据集等通信服务.映射到MMS的读/写有名变量通信接口,在请求参数巾传人要读取/设置数据的所在域和名称,并设置返回参数获取读取/设置数据后的结果。报告控制块是与报告服务相关的一组有名变量,对于报告控制块的读取和设置也映射到读/写有名变量接口,但需要对报告控制块中的报告标识、可选域、触发选项等有名变量分别读取和设置。

    ③对于读数据目录、数据定义和数据集目录等通信服务,映射到MMS的读变量访问属性和读变量列表属性通信接口。在请求参数中指定要获取的数据或数据集的引用.获得类型定义信息等元数据。

    4  MMS封装为面向对象的ACSI通信服务类

    将上述依赖于特定操作系统的ACSI通信服务类封装为托管平台上的通信服务类,能够方便迁移到安装有托管平台的各类操作系统.并且支持托管平台上的任意架构的应用程序调用.以应用于变电站一体化监控系统站控层的各种设备中。

    4.1  指令调用与数据封送

    图4给出了通信服务类的跨平台封装过程.包括指令调用封装和数据结构封送。

    (l)指令调用。将非托管和托管通信服务类进行混合,然后统一编译成虚拟化平台指令。例如,将ACSI通信服务类的获取数据值方法放置于托管通信服务类的相应方法中.经过编译生成托管指令,完成托管通信服务类对ACSI通信服务类的指令调用。

    (2)数据封送。特定系统和托管平台对字符串、结构体和回调函数的实现机制不同,因此在托管服务类和非托管服务类之间传递时,对其进行封送处理,过程如下。

    ①封送字符串。托管通信服务类的数据模型获取、模型数据的设置和获取等通信服务都以字符串作为参数及返回值。以通信服务类的获取数据值为例,托管通信服务接收对象的引用作为参数,类型为托管平台的字符串,采用双字节编码。将其拷贝到非托管内存并转换为单字节编码.生成特定于非托管平台的特定类型。将特定类型字符串转换为字符指针作为非托管通信服务的参数,完成作为参数的字符串的封送。非托通信服务调用后返同指定对象的数据值,类型为非托管平台字符串,采用单字节编码。首先进行类型转换生成平台特定字符串,之后将其拷贝到托管内存并转换为双字节编码.完成返回值字符串的封送.

    ②封送结构体。非托管通信服务类的报告控制块获取和设置服务以及报告结果输出回调都使用结构体作为参数。在托管服务类中定义相应的类进行封送,使用托管平台的报告控制块类封送非托管平台的报告控制块结构体,使用报告信息类封送报告信息结构体。对于结构体中的整数、浮点数等可直接跨平台使用的类型.直接赋值到托管平台的类中,对于字符串、数组等不可跨平台使用的类型,使用上文所述字符串封送方法进行封送处理。对于结构体中定义的结构体,进行递归处理.直到处理完每一个简单类型.

    ③封送回调函数。非托管通信服务类使用异步通信方式,通过函数指针的形式实现回调函数.在通信成功后执行函数指针指定的输出处理方法.完成通信结果和报告内容的处理。在托管通信服务类中定义相应的输出委托和报告委托封送回调函数,站控层通信完成后调用函数指针指定的输出处理方法,同时提供输出数据供调用者处理.之后触发相应的委托,并传递经过封送的输出数据,完成回调函数的封送.

    4.2通信过程封装

    跨平台通信服务类完成对ACSI通信服务类中通信方法的调用,同时完成参数和返回值的跨平台封送。以报告服务为例,给出其通信封装过程,如图5所示。

    (1)读取报告控制块。站控层客户端调用托管通信服务类的读取报告控制块服务,并传递控制块引用字符串( Str_RCBRef)和报告控制块对象( RCBObj)作为返同参数;托管通信服务类生成对应的RCB结构体(RCBStruct),调用非托管通信服务类的获取报告控制块服务.传递经过封送处理的控制块引用指针( Ptr_RCBRef)以及RCBStruct作为返回参数用来获取控制块数据:非托管通信服务类调用MMS的读有名变量服务,依次读取服务端报告控制块中的报告标识符、可选域等有名变量,并将数据值存储到RCBStruct的对应变量中:托管通信服务类将填充数据后的RCBStruct封送为托管平台的RCBObj,返回给站控层客户端。

    (2)设置报告控制块。站控层客户端编辑读取的RCBObj,设置报告控制块各个变量的值;调用托管通信服务类的设置报告控制块服务,并传递Str_RCBRef和编辑过的RCBObj参数;托管通信服务类将其封送为用于非托管平台的Ptr_RCBRef和RCBStruct数据类型,传递给非托管通信服务类的设置报告控制块服务:非托管通信服务类调用底层协议栈的写有名变量服务,将RCBStruct中的可选域、触发选项、完整性周期变量依次写入到服务端报告控制块的相应变量中.返同成功信号给站控层客户端。

    (3)开始报告。站控层客户端调用托管通信服务类的开始报告服务,传递Str_RCBRef参数;托管通信服务类调用非托管通信服务类的启动报告服务,传递经过封送的Ptr_RCBRef参数:非托管通信服务类调用MMS栈的报告,使其能够服务,激活服务端的数据报告。报告激活后,根据控制块设定的触发选项在数据发生变化后调用报告输出回调函数,并传递给托管平台的报告输出委托.由站控层客户端指定的方法处理报告输出。

    5试验与测试

    将上述方法应用于国家电网公司某科技项目的站端监测单元研发,构建了一个试验测试环境,并成功进行了与综合监测单元的通信试验,如图6所示。

    站端监测单元汇聚综合监测单元发送的数据,支持人工召唤和定时自动轮询2种方式采集监测数据,实现对综合监测单元的模型获取与控制等功能。

采用网络协议分析器Wireshark实时捕获IEC61850与MMS协议的通信报文,包括双边应用关联、目录和数据类型的获取、报告等。通过比较站端监测单元的实际输出与预期输出的异同,验证了与IEC 61850与MMS标准的一致性,如图7所示。

    对10 min内定时召唤周期为10 s的MMS通信报文进行了统计分析,取样期问(1 s)的报文数量如图8所示。

    在8-11 s时间段内进行双边应用关联,通信初始化后,主要传输报文为数据召唤请求与响应。

    往返延迟( RTT)是衡量网络性能的重要指标。图9给出了综合监测单元到站端监测单元的往返延时。

    正常运行情况下,大多数时间内通信网络中只有报告报文,吞吐量与端到端延时低,明显满足智能变电站一体化监控系统的通信要求。

    6结语

    本文提出了一种面向对象的、跨平台的MMS协议到ACSI核心服务的封装方法.为智能变电站一体化监控系统提供面向对象且可跨平台应用的IEC 61850基础通信服务。该方法可以降低IEC61850客户端的开发周期和成本,对通信网关机与综合应用服务器的研发具有重要参考价值。

    7摘  要:

    智能变电站一体化监控系统遵循IEC 61850与制造报文规范实现全站信息的统一建模和数据传输,实现全站信息统一的接入、存储和展示。通过对智能变电站一体化监控系统通信架构的分析,针对现有站控层通信服务接口的实现方案存在一致性和扩展性不足等问题,提出了底层实时通信协议到托管抽象通信服务的封装方法,支持面向对象和跨平台技术特性,减少站控层客户端的研发工作量,为站端监测单元与数据通信网关机等提供高效易用的基础通信服务,并给出了一致性与性能测试结果,验证了方法的正确性和可行性。

关键字:

上一篇:经验介绍:大伙房水库输水工程TBM洞内拆卸方案设计

下一篇:地表夯击载荷作用下埋地管道力学分析

行业资讯月点击排行

展会信息月点击排行

招商信息月点击排行

首页 资讯 招标 项目 展会
关于我们 | 广告服务 | 友情连接 | 联系我们
触屏版 电脑版
安装信息网 www.36qyk.cn.