CN103414694B - 变电站监控系统的通信服务映射与封装方法 - Google Patents
变电站监控系统的通信服务映射与封装方法 Download PDFInfo
- Publication number
- CN103414694B CN103414694B CN201310305285.5A CN201310305285A CN103414694B CN 103414694 B CN103414694 B CN 103414694B CN 201310305285 A CN201310305285 A CN 201310305285A CN 103414694 B CN103414694 B CN 103414694B
- Authority
- CN
- China
- Prior art keywords
- report
- communication
- communication service
- trustship
- control block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Telephonic Communication Services (AREA)
Abstract
一种变电站监控系统的通信服务映射与封装方法,所述方法将站控层底层实时通信协议中的数据结构和通信接口封装到面向对象的非托管站控层通信服务,并将面向对象的非托管通信服务封装为托管的通信服务,以应用于采用不同系统的通信网关机、综合应用服务器等站控层设备。采用本发明后,站控层通信服务类能够为站控层客户端通信功能的开发提供面向对象的、简单清晰的接口,屏蔽了使用底层通信协议的复杂性,显著降低开发成本。本发明提高了通信服务的灵活性和可扩展性,并能满足变电站一体化监控系统中站控层设备在不同平台上的各种业务需求与应用,能够为采用不同系统的站控层客户端提供基础通信服务。
Description
技术领域
本发明涉及一种智能变电站一体化监控系统从底层实时通信协议到站控层通信服务的封装方法,它能够为客户端的研发提供支持面向对象与跨平台应用的基础通信服务,属通信技术领域。
背景技术
随着智能变电站工程建设的推进,一大批新设备、新技术、新系统在智能变电站中得到了应用,造成当前变电站内部系统繁杂,不同系统之间信息交互困难,全站信息流不能随需求顺利流通。智能变电站一体化监控系统建设方案按照全站信息数字化、通信平台网络化、信息共享标准化的基本要求,通过系统集成优化,实现全站信息的统一接入、统一存储和统一展示,能有效整合变电站内运行监视、操作与控制、综合信息分析与智能告警、运行管理和辅助应用等功能并促进全站信息的顺利流通,成为智能电网调度控制和生产管理的重要保证。
智能变电站一体化监控系统提出遵循IEC61850标准实现全站信息的统一建模和站内数据传输。IEC61850在智能变电站一体化监控系统的应用价值主要体现在互操作上,国内外对研发符合IEC61850标准的测量、控制和监测智能电子设备(IED)进行了大量研究与实践,但对于开发符合IEC61850标准的客户端并应用于变电站监控系统站控层还有待进一步研究。
智能变电站一体化监控系统中的站控层设备主要采用客户端/服务器通信方式,站控层的通信网关机、综合应用服务器、本地监控设备等不同系统都需要集成站控层客户端,与间隔层的IED通信获取变电站一、二次设备信息供更高层的系统查询和浏览,同时能够下发高层系统的操作与控制命令。由于对IEC61850理解的差异性和实现程度的不同,不同系统实现的站控层客户端存在一致性问题。
站控层客户端的核心抽象通信服务接口(ACSI)通过映射到客户/服务器通信协议集实现,采用TCP/IP作为传输协议集,采用制造报文规范(MMS)作为应用协议集。MMS是应用层的一个协议,规范了出自不同制造商的智能电子设备、控制设备之间的通信行为,保证了设备间的互操作性。但是,ACSI到MMS映射的实现方式有多种,而且多数依赖于特定系统,不利于客户端的移植和扩展。
智能变电站一体化监控系统的站控层客户端主要采用读取数据模型、读取与设置数据、报告和控制等通信服务,通过映射到MMS+TCP/IP协议栈上实现与间隔层IED设备的通信。但目前站控层通信服务的研发与应用还不成熟,存在以下不足:
(1)站控层通信服务映射到的客户/服务器通信协议集采用TCP/IP作为传输协议集,应用协议集采用MMS协议机和ASN.1编解码器实现MMS报文的生成和解析。将ASN.1编/解码器置于表示层,用于将使用ASN.1抽象语法描述的MMS协议数据单元的编码转换为符合传送语法的报文。MMS协议机位于应用层,实现了MMS协议的原语交换,调用表示层的ASN.1编/解码器实现将MMS原语编码为传输报文以及将传输报文解码为MMS原语。在应用层上构建特定通信服务映射模块,实现ACSI核心服务到底层通信协议的映射。但是该方案只实现了基本信息模型获取服务到MMS的映射,对于变电站在线监测系统常用的报告和控制等服务的映射没有提供实现方法。并且该方案需要手动实现MMS原语交换的处理以及传输报文的解析,开发工作量大、效率低。
(2)为了避免自主研发MMS协议机以及传输报文编/解码器带来的复杂性和研发成本,大多数关于核心ACSI服务到底层实时通信协议映射的研究和实践都采用国外的MMS产品,例如SISCO公司的MMS-EASE,是一个MMS协议的开发包。MMS-EASE提供了与MMS协议中服务原语对应的编程接口,完成客户端组装并发送MMS协议数据,服务端接收并解析MMS协议数据的功能。省去了自主开发MMS协议机以及ASN.1的编/解码器的成本,为站控层通信服务的开发提供了方便快捷的底层实时通信接口。但是该产品只是实现了MMS通信协议的功能,需要在上层构建与ACSI核心服务的映射,并且该产品采用C语言开发,依赖于特定的系统,不易进行扩展和移植,需要对其进行跨平台封装。
为减少智能变电站一体化监控系统站控层客户端的研发工作量,提高灵活性和可扩展性,并能满足站控层设备在不同平台上的各种通信需要与实际应用,亟待实现一种简单易用、跨平台的站控层通信服务,为窗体与浏览器等形式的站控层客户端提供基础通信服务。
发明内容
本发明的目的在于针对现有技术之弊端,提供一种变电站监控系统的通信服务映射与封装方法,为客户端的研发提供支持面向对象与跨平台应用的基础通信服务。
本发明所述问题是以下述技术方案实现的:
一种变电站监控系统的通信服务映射与封装方法,所述方法将站控层底层实时通信协议中的数据结构和通信接口封装到面向对象的非托管站控层通信服务,并将面向对象的非托管通信服务封装为托管的通信服务,以应用于采用不同系统的通信网关机、综合应用服务器等站控层设备。
上述变电站监控系统的通信服务映射与封装方法,映射与封装的具体步骤如下:
Ⅰ.底层实时通信协议封装为面向对象的非托管通信服务类
①底层实时通信协议数据结构封装为非托管通信服务类变量
a.将底层实时通信协议的数据结构封装为通信服务类的私有变量,用于服务端和客户端的初始化配置以及与通信连接管理:
将用于底层通信协议栈初始化、对象模型配置和通信线程管理的数据结构封装为类的私有变量,防止对这些用于底层通信的基础数据结构的修改,仅在类的方法中被设置或使用,避免外部函数对其的不正当操作,
b.自定义数据结构并封装为通信服务类的辅助成员变量,用于通信过程中的数据组织和展示:
对象模型树变量将服务端对象模型解析到树形结构中,以层次化的形式展示对象模型;报告控制块变量封装报告服务的一组变量,传递给设置报告控制块服务控制报告行为;报告信息变量组织报告的各项内容,传递给报告回调方法进行报告的分析与处理;
②底层实时通信协议通信接口封装为非托管通信服务类方法
a.通信系统初始化过程中载入日志配置文件、协议栈配置文件和站控层配置文件进行日志工具、底层通信协议栈和站控层网络的配置及对象模型的解析,并将对象模型封装为树形结构,将上述过程调用封装到通信服务类的初始化方法中,在通信服务类初始化时执行,为进行站控层通信做好所有准备工作;
b.站控层通信在独立的线程中执行,首先连接到服务端,成功后获取连接信息,建立通信服务到底层通信协议的映射规范,将底层通信协议的通信接口封装到通信服务类方法中,参数中的对象引用从树形对象模型中获取,通信服务到底层通信协议接口的映射关系如下:
a)对于读取服务器、逻辑设备、逻辑节点目录等通信服务,映射到底层通信协议的读有名变量列表通信接口,配置请求参数中的层级参数,实现获取不同层级的对象目录;
b)对于读取、设置数据值和数据集等通信服务,映射到底层通信协议的读/写有名变量通信接口,在请求参数中传入要读取/设置数据对象的所在域和名称,并设置返回参数来获取读取/设置数据后的结果,报告控制块是与报告服务相关的一组有名变量,对于报告控制块的读取和设置也映射到读/写有名变量接口上,但需要对报告控制块中的报告标识、可选域、触发选项等有名变量分别读取和设置;
c)对于读数据目录、数据定义和数据集目录等通信服务,映射到底层通信协议的读变量访问属性和读变量列表属性通信接口,在请求参数中指定要获取的数据对象或数据集对象的引用,获得数据对象的类型定义信息等元数据;
Ⅱ.非托管通信服务类封装为托管通信服务类
①托管通信服务类对非托管通信服务类的指令调用与数据封送
a.指令调用
将非托管和托管通信服务类进行混合,然后统一编译成虚拟化平台指令;
b.数据封送
a)封送字符串:非托管通信服务类的数据模型获取、模型数据的设置和获取等通信服务都以字符指针作为参数及返回值,在托管通信服务类中使用双字节字符串进行封送;
b)封送结构体:非托管通信服务类的报告控制块获取和设置服务以及报告结果输出处理方法都使用结构体作为参数,在托管服务类中定义相应的类进行封送;
c)封送回调函数:非托管通信服务类使用异步通信方式,通过函数指针的形式实现回调函数完成通信结果和报告内容的处理,在托管通信服务类中定义相应的委托进行封送;
②托管通信服务类通信过程封装
跨平台通信服务类完成对非托管通信服务类中通信方法的调用,同时完成参数和返回值的跨平台封送。
上述变电站监控系统的通信服务映射与封装方法,对于托管通信服务类的ACSI服务和回调处理方法中的参数和返回值,封送方法如下:
字符串封送方法:托管通信服务接收对象的引用作为参数,类型为托管平台的字符串,采用双字节编码,将其拷贝到非托管内存并转换为单字节编码,生成特定于非托管平台的特定类型,将特定类型字符串转换为字符指针作为非托管通信服务的参数,完成作为参数的字符串的封送,非托通信服务调用后返回指定对象的数据值,类型为非托管平台字符串,采用单字节编码,首先进行类型转换生成平台特定字符串;之后将其拷贝到托管内存并转换为双字节编码,完成返回值字符串的封送。
结构体的封送方法:使用托管平台的报告控制块类封送非托管平台的报告控制块结构体,使用报告信息类封送报告信息结构体。对于结构体中的整数、浮点数等可直接跨平台使用的类型,直接应用于管平台的类中,对于字符串、数组等不可跨平台使用的类型,使用上文所述字符串封送方法进行封送处理,对于结构体中定义的结构体,进行递归处理,直到处理完每一个简单类型。
回调函数的封送方法:使用托管平台的输出委托和报告委托封送非托管平台的通信结果回调函数和报告回调函数。站控层通信完成后执行回调函数指定的方法,并传递经过封送的输出数据,之后触发相应的委托在托管平台中完成通信结果和报告内容的处理。
上述变电站监控系统的通信服务映射与封装方法,托管通信服务类报告服务的通信封装流程如下:
a.读取报告控制块
站控层客户端调用托管通信服务类的读取报告控制块服务,并传递控制块引用字符串和报告控制块(RCB)对象作为返回参数;托管通信服务类生成对应的RCB结构体,调用非托管通信服务类的读取报告控制块服务,传递经过封送处理的控制块引用字符指针以及RCB结构体作为返回参数用来获取控制块数据;非托管通信服务类调用底层通信协议的读有名变量服务,依次读取服务端报告控制块中的报告标识符、可选域等有名变量,并将数据值存储到RCB结构体的对应变量中;托管通信服务类将填充数据后的RCB结构体封送为托管平台的RCB对象,返回给站控层客户端;
b.设置报告控制块
站控层客户端编辑读取的RCB对象,设置报告控制块各个变量的值;调用托管通信服务类的设置报告控制块服务,并传递控制块引用字符串和编辑过的RCB对象;托管通信服务类将其封送为用于非托管平台的控制块引用字符指针和RCB结构体,传递给非托管通信服务类的设置报告控制块服务;非托管通信服务类调用底层协议栈的写有名变量服务,将RCB结构体中的可选域、触发选项、完整性周期变量依次写入到服务端报告控制块的相应变量中,写入完成后返回成功信号给站控层客户端;
c.开始报告
站控层客户端调用托管通信服务类的开始报告服务,传递报告控制块引用作为参数;托管通信服务类调用非托管通信服务类的启动报告服务,传递经过封送的报告控制块引用;非托管通信服务类调用底层通信协议栈的报告使能服务,激活服务端的数据报告,报告激活后根据报告控制块设定的触发选项在数据发生变化后生成报告并调用报告回调函数,传递给托管平台的报告委托,由站控层客户端指定的方法处理报告内容。
本发明的有益效果是:
(1)封装站控层底层通信协议到非托管通信服务类,采用面向对象的方式重新组织底层通信协议散乱的操作接口和数据结构,实现站控层通信服务接口到底层通信协议接口的映射。站控层通信服务类能够为站控层客户端通信功能的开发提供面向对象的、简单清晰的接口,屏蔽了使用底层通信协议的复杂性,显著降低开发成本。
(2)将站控层非托管通信服务类封装为托管通信服务类,即保证了站控层通信服务能够调用底层通信协议完成通信,同时提供一个虚拟的运行环境,实现变电站一体化监控系统中站控层通信服务与操作系统解耦合,提高了通信服务的灵活性和可扩展性,并能满足变电站一体化监控系统中站控层设备在不同平台上的各种业务需求与应用,能够为采用不同系统的站控层客户端提供基础通信服务。
附图说明
下面结合附图对本发明作进一步说明。
图1为底层实时通信协议到站控层通信服务的封装过程;
图2为站控层通信服务类的工作流程;
图3为站控层通信服务类的跨平台封装过程;
图4是托管的站控层报告服务通信流程图。
附图或文中各符号清单为:ACSI、抽象通信服务接口,MMS、制造报文规范,IED、智能电子设备,MMS、制造报文规范。
具体实施方式
本发明提出的智能变电站一体化监控系统的站控层底层实时通信协议到通信服务的封装方法,其实现方法如下:
(1)建立站控层底层实时通信协议与通信服务的映射规则,提出一种将底层实时通信协议中的数据结构和通信接口封装到面向对象的站控层通信服务的方法。
(2)提出站控层非托管通信服务到托管通信服务的跨平台封装方法,将面向对象的非托管通信服务封装为托管的通信服务,以应用于采用不同系统的通信网关机、综合应用服务器等站控层设备。
本发明针对智能变电站一体化监控系统站控层设备的通信需求,提出一种站控层底层实时通信协议到通信服务的封装方法,解耦站控层通信服务与特定系统的绑定,支持面向对象和跨平台技术特性,提高站控层客户端的开发效率,显著降低开发成本。
基于面向对象和跨平台原理的站控层底层实时通信协议到通信服务的封装方法是本发明的核心,其封装过程如图1所示。
(1)底层实时通信协议封装为面向对象的非托管通信服务类
现有站控层通信服务到底层实时通信协议的映射采用面向过程的方式实现,通信服务功能的实现需要联合调用多个通信接口并使用大量相关的数据结构,采用面向对象的方式对散乱的数据结构和通信接口进行封装,将站控层通信服务依赖的数据结构和接口重新组织,精简代码结构,显著提高开发效率。
1)底层实时通信协议数据结构封装为非托管通信服务类变量
a.将底层实时通信协议的数据结构封装为通信服务类的私有变量,用于服务端和客户端的初始化配置以及与通信连接管理。将用于底层通信协议栈初始化、对象模型配置和通信线程管理的数据结构封装为类的私有变量,防止对这些用于底层通信的基础数据结构的修改,仅在类的方法中被设置或使用,避免外部函数对其的不正当操作。通信服务类成员变量如表1所示。
表1底层实时通信协议的数据结构封装为通信服务类成员变量
类的成员变量 | 类型 | 作用 |
协议栈配置 | 指针 | 通过载入XML形式的配置文件,初始化底层实时通信协议栈。 |
虚拟制造设备对象 | 指针 | 使用变电站配置描述文件初始化后获得的对象,包含服务端对象模型。 |
客户端连接信息 | 指针 | 连接到服务端后,该变量保持此连接的所有信息,为通信服务提供连接认证等参数。 |
变电站配置文件名、IED设备名、连接点名、服务器名 | 字符数据类型 | 用于配置变电站通信以及间隔层测量、控制和监测等IED的对象模型以及通信接口的配置文件。 |
客户端/服务器连接线程 | 句柄指针 | 客户端与服务端的连接和通信在通信线程执行,该变量为通信线程,控制线程的创建和销毁。 |
b.自定义数据结构并封装为通信服务类的辅助成员变量,用于通信过程中的数据组织和展示。对象模型树变量通过解析将服务端对象模型结构组织到树形结构中,以层次化的形式展示对象模型。报告控制块变量封装设置报告服务的一组变量,传递给设置报告控制块服务控制报告行为。报告信息变量组织产生报告的详细内容,传递给报告处理回调方法进行报告的记录。通信服务类辅助成员变量如表2所示。
表2通信服务类辅助成员变量
辅助变量 | 类型 | 用途 |
对象节点 | 结构体 | 代表服务端对象模型中的节点,包含对象的名称、层次以及引用路径等信息。 |
节点层次 | 枚举 | 该数据结构表示对象节点所处的层级。 |
对象模型树 | 包含对象节点的树形结构类 | 将服务端对象模型映射到树形结构上,更自然的体现对象的层次化组织方式。 |
报告控制块 | 结构体 | 报告控制块在对象模型中以有名变量的方式存储,该结构体将报告相关的有名变量封装到结构体中,用于报告控制块的读取和设置。 |
报告信息 | 结构体 | 该结构体封装产生的报告内容,传递给报告处理回调函数进行报告的记录和展示。 |
2)底层实时通信协议通信接口封装为非托管通信服务类方法
非托管通信服务类的工作流程分为通信系统初始化和站控层通信两部分,如图2所示。
a.通信系统初始化过程中载入日志配置文件、协议栈配置文件和站控层配置文件进行日志工具、底层通信协议栈和站控层网络的配置及对象模型的解析,并将对象模型封装为树形结构。将上述过程调用封装到通信服务类的初始化方法中,在通信服务类初始化时执行,为进行站控层通信做好所有准备工作。
b.站控层通信在独立的线程中执行,首先连接到服务端,成功后获取连接信息,连接信息是进行后续通信的凭证。建立通信服务到底层通信协议的映射规范,将底层通信协议的通信接口封装到通信服务类方法中,参数中的对象引用从树形对象模型中获取,通信服务到底层通信协议接口的映射关系如下。
a)对于读取服务器、逻辑设备、逻辑节点目录等通信服务,映射到底层通信协议的读有名变量列表通信接口,配置请求参数中的层级参数,实现获取不同层级的对象目录。
b)对于读取、设置数据值和数据集等通信服务,映射到底层通信协议的读/写有名变量通信接口,在请求参数中传入要读取/设置数据的所在域和名称,并设置返回参数来获取读取/设置数据后的结果。报告控制块是与报告服务相关的一组有名变量,对于报告控制块的读取和设置也映射到读/写有名变量接口上,但需要对报告控制块中的报告标识、可选域、触发选项等有名变量分别读取和设置。
c)对于读数据目录、数据定义和数据集目录等通信服务,映射到底层通信协议的读变量访问属性和读变量列表属性通信接口。在请求参数中指定要获取的数据或数据集的引用,获得数据的类型定义信息等元数据。
(2)非托管通信服务类封装为托管通信服务类
将上述依赖于特定操作系统的通信服务类封装为托管平台上的通信服务类,能够方便迁移到安装有托管平台的各类操作系统,并且支持托管平台上的任意架构的应用程序调用,以应用于变电站一体化监控系统站控层的各种设备中。
1)托管通信服务类对非托管通信服务类的指令调用与数据封送
图3给出具体实现过程,主要包括指令调用封装和数据结构封送。
a.指令调用。将非托管和托管通信服务类进行混合,然后统一编译成虚拟化平台指令。例如将非托管通信服务类的获取数据值方法放置于托管通信服务类的相应方法中,经过编译生成托管指令,完成托管通信服务类对非托管通信服务类的指令调用。
b.数据封送。特定系统和托管平台对字符串、结构体和回调函数的实现机制不同,因此在托管服务类和非托管服务类之间传递时,要对其进行封送处理。数据封送过程如下:
a).封送字符串:托管通信服务类的数据模型获取、模型数据的设置和获取等通信服务都以字符串作为参数及返回值,以通信服务类的获取数据值为例,字符串的封送方法如下:
托管通信服务接收对象的引用作为参数,类型为托管平台的字符串,采用双字节编码。将其拷贝到非托管内存并转换为单字节编码,生成特定于非托管平台的特定类型。将特定类型字符串转换为字符指针作为非托管通信服务的参数,完成作为参数的字符串的封送。非托通信服务调用后返回指定对象的数据值,类型为非托管平台字符串,采用单字节编码。首先进行类型转换生成平台特定字符串;之后将其拷贝到托管内存并转换为双字节编码,完成返回值字符串的封送。
b).封送结构体:非托管通信服务类的报告控制块获取和设置服务以及报告结果输出回调都使用结构体作为参数。在托管服务类中定义相应的类进行封送,使用托管平台的报告控制块类封送非托管平台的报告控制块结构体,使用报告信息类封送报告信息结构体。对于结构体中的整数、浮点数等可直接跨平台使用的类型,直接赋值到托管平台的类中,对于字符串、数组等不可跨平台使用的类型,使用上文所述字符串封送方法进行封送处理。对于结构体中定义的结构体,进行递归处理,直到处理完每一个简单类型。
c).封送回调函数:非托管通信服务类使用异步通信方式,通过函数指针的形式实现回调函数,在通信成功后执行函数指针指定的输出处理方法完成通信结果和报告内容的处理。在托管通信服务类中定义相应的输出委托和报告委托封送回调函数,站控层通信完成后调用函数指针指定的输出处理方法,同时提供输出数据供调用者处理,之后触发相应的委托,并传递经过封送的输出数据,完成回调函数的封送。
2)托管通信服务类通信过程封装
跨平台通信服务类完成对非托管通信服务类中通信方法的调用,同时完成参数和返回值的跨平台封送。以报告服务为例,给出其通信封装过程,如图4所示。
托管通信服务类报告服务的通信封装流程如下:
a.读取报告控制块。站控层客户端调用托管通信服务类的读取报告控制块服务,并传递控制块引用字符串和报告控制块(RCB)对象作为返回参数;托管通信服务类生成对应的RCB结构体,调用非托管通信服务类的读取报告控制块服务,传递经过封送处理的控制块引用字符指针以及RCB结构体作为返回参数用来获取控制块数据;非托管通信服务类调用底层通信协议的读有名变量服务,依次读取服务端报告控制块中的报告标识符、可选域等有名变量,并将数据值存储到RCB结构体的对应变量中;托管通信服务类将填充数据后的RCB结构体封送为托管平台的RCB对象,返回给站控层客户端。
b.设置报告控制块。站控层客户端编辑读取的RCB对象,设置报告控制块各个变量的值;调用托管通信服务类的设置报告控制块服务,并传递控制块引用字符串和编辑过的RCB对象;托管通信服务类将其封送为用于非托管平台的控制块引用字符指针和RCB结构体,传递给非托管通信服务类的设置报告控制块服务;非托管通信服务类调用底层协议栈的写有名变量服务,将RCB结构体中的可选域、触发选项、完整性周期变量依次写入到服务端报告控制块的相应变量中,写入完成后返回成功信号给站控层客户端。
c.开始报告。站控层客户端调用托管通信服务类的开始报告服务,传递报告控制块引用作为参数;托管通信服务类调用非托管通信服务类的启动报告服务,传递经过封送的报告控制块引用;非托管通信服务类调用底层通信协议栈的报告使能服务,激活服务端的数据报告。报告激活后根据报告控制块设定的触发选项在数据发生变化后生成报告并调用报告内容回调函数,传递给托管平台的报告委托,由站控层客户端指定的方法处理报告内容。
术语解释
(1)智能变电站一体化监控系统
按照全站信息数字化、通信平台网络化、信息共享标准化的基本要求,通过系统集成优化,实现全站信息的统一接入、统一存储和统一展示,实现运行监视、操作与控制、信息综合分析与智能告警、运行管理和辅助应用等功能。
(2)数据通信网关机
一种通信装置。实现智能变电站与调度、生产等主站系统之间的通信,为主站系统实现智能变电站监视控制、信息查询和远程浏览等功能提供数据、模型和图形的传输服务。
(3)综合应用服务器
实现与状态监测、计量、电源、消防、安防和环境监测等设备(子系统)的信息通信,通过综合分和统一展示,实现一次设备在线监测和辅助设备的运行监视与控制。
(4)IEC61850
IEC61850标准是基于通用网络通信平台的变电站自动化系统唯一国际标准,它是由国际电工委员会第57技术委员会(IECTC57)的3个工作组10,11,12(WG10/11/12)负责制定的。IEC61850提出了一种公共的通信标准,通过对设备的一系列规范化,使其形成一个规范的输出,实现系统的无缝连接。
(5)智能电子设备(IED)
全称为IntelligentElectronicDevice。IEC61850标准对IED定义为由一个或多个处理器组成,具有从外部源接收和传送数据或控制外部源的任何设备,即电子多功能仪表、微机保护、控制器,在特定的环境下在接口所限定范围内能够执行一个或多个逻辑接点任务的实体。
(6)站控层
站控层包含自动化系统、站域控制、通信系统、对时系统等子系统,实现面向全站或一个以上一次设备的测量和控制的功能,完成数据采集和监视控制(SCADA)、操作闭锁以及同步相量采集、电能量采集、保护信息管理等相关功能。
(7)抽象通信服务接口(ACSI)
全称为AbstractCommunicationServiceInterface。一种虚拟接口,它为智能电子设备提供了抽象通信服务,例如连接、变电访问、非请求数据传输报告、设备控制以及文件传输服务,独立于所采用的实际通信栈和协议集。
(8)制造报文规范(MMS)
全称为ManufacturingMessageSpecifcation。是一个OSI应用层的标准,用于支持计算机集成制造环境下可编程设备之间双向报文通信,这种环境被称之为制造环境
(9)ASN.1抽象语法标记
ASN.1是一种对分布计算机系统之间交换的数据进行抽象描述的规范化语言,是位于表示层的语言,提供了语法规则和基本编码规则作为数据结构定义描述工具与传输语法。
(10)托管程序和非托管程序
依托于软件虚拟化平台的构建的程序经过编译生成中间指令,虚拟化平台将中间指令编译为特定操作系统指令并执行,以虚拟化平台为目标构建的程序即为托管程序。相对于托管程序,没有以虚拟化平台为目标构建的程序,而是经过编译直接生成特定操作系统指令的程序为非托管程序。
(11)数据封送
通过数据封送处理实现数据在托管和非托管平台间传输,封送是双向的,不仅在托管方法向非托管方法传递参数进行封送,而且在非托管方法的返回值传递回托管方法时也进行封送处理。
Claims (3)
1.一种变电站监控系统的通信服务映射与封装方法,其特征是,所述方法将站控层底层实时通信协议中的数据结构和通信接口封装到面向对象的非托管站控层通信服务,并将面向对象的非托管通信服务封装为托管的通信服务,以应用于采用不同系统的通信网关机、综合应用服务器站控层设备;
所述映射与封装方法的具体步骤如下:
Ⅰ.底层实时通信协议封装为面向对象的非托管通信服务类
①底层实时通信协议数据结构封装为非托管通信服务类变量
a.将底层实时通信协议的数据结构封装为通信服务类的私有变量,用于服务端和客户端的初始化配置以及与通信连接管理:
将用于底层通信协议栈初始化、对象模型配置和通信线程管理的数据结构封装为类的私有变量,防止对这些用于底层通信的基础数据结构的修改,仅在类的方法中被设置或使用,避免外部函数对其的不正当操作;
b.自定义数据结构并封装为通信服务类的辅助成员变量,用于通信过程中的数据组织和展示:
对象模型树变量将服务端对象模型解析到树形结构中,以层次化的形式展示对象模型;报告控制块RCB变量封装报告服务的一组变量,传递给设置报告控制块RCB服务控制报告行为;报告信息变量组织报告的各项内容,传递给报告回调方法进行报告的分析与处理;
②底层实时通信协议通信接口封装为非托管通信服务类方法
a.通信系统初始化过程中载入日志配置文件、协议栈配置文件和站控层配置文件进行日志工具、底层通信协议栈和站控层网络的配置及对象模型的解析,并将对象模型封装为树形结构,将所述通信系统初始化过程调用封装到通信服务类的初始化方法中,在通信服务类初始化时执行,为进行站控层通信做好所有准备工作;
b.站控层通信在独立的线程中执行,首先连接到服务端,成功后获取连接信息,建立通信服务到底层通信协议的映射规范,将底层通信协议的通信接口封装到通信服务类方法中,参数中的对象引用从树形对象模型中获取,通信服务到底层通信协议接口的映射关系如下:
a)对于读取服务器、逻辑设备、逻辑节点目录的通信服务,映射到底层通信协议的读有名变量列表通信接口,配置请求参数中的层级参数,实现获取不同层级的对象目录;
b)对于读取、设置数据值和数据集的通信服务,映射到底层通信协议的读/写有名变量通信接口,在请求参数中传入要读取/设置数据对象的所在域和名称,并设置返回参数来获取读取/设置数据后的结果,报告控制块RCB是与报告服务相关的一组有名变量,对于报告控制块RCB的读取和设置也映射到读/写有名变量接口上,但需要对报告控制块RCB中的报告标识、可选域、触发选项的有名变量分别读取和设置;
c)对于读数据目录、数据定义和数据集目录的通信服务,映射到底层通信协议的读变量访问属性和读变量列表属性通信接口,在请求参数中指定要获取的数据对象或数据集对象的引用,获得数据对象的类型定义信息的元数据;
Ⅱ.非托管通信服务类封装为托管通信服务类
①托管通信服务类对非托管通信服务类的指令调用与数据封送
a.指令调用
将非托管和托管通信服务类进行混合,然后统一编译成虚拟化平台指令;
b.数据封送
a)封送字符串:非托管通信服务类的数据模型获取、模型数据的设置和获取的通信服务都以字符指针作为参数及返回值,在托管通信服务类中使用双字节字符串进行封送;
b)封送结构体:非托管通信服务类的报告控制块RCB获取和设置服务以及报告结果输出处理方法都使用结构体作为参数,在托管服务类中定义相应的类进行封送;
c)封送回调函数:非托管通信服务类使用异步通信方式,通过函数指针的形式实现回调函数完成通信结果和报告内容的处理,在托管通信服务类中定义相应的委托进行封送;
②托管通信服务类通信过程封装
跨平台通信服务类完成对非托管通信服务类中通信方法的调用,同时完成参数和返回值的跨平台封送。
2.根据权利要求1所述的一种变电站监控系统的通信服务映射与封装方法,其特征是,对于托管通信服务类的ACSI服务和回调处理方法中的参数和返回值,封送方法如下:
字符串封送方法:托管通信服务接收对象的引用作为参数,类型为托管平台的字符串,采用双字节编码,将其拷贝到非托管内存并转换为单字节编码,生成特定于非托管平台的特定类型,将特定类型字符串转换为字符指针作为非托管通信服务的参数,完成作为参数的字符串的封送,非托通信服务调用后返回指定对象的数据值,类型为非托管平台字符串,采用单字节编码,首先进行类型转换生成平台特定字符串;之后将其拷贝到托管内存并转换为双字节编码,完成返回值字符串的封送;
结构体的封送方法:使用托管平台的报告控制块RCB类封送非托管平台的报告控制块RCB结构体,使用报告信息类封送报告信息结构体,对于结构体中的整数、浮点数的可直接跨平台使用的类型,直接应用于管平台的类中,对于字符串、数组的不可跨平台使用的类型,使用上文所述字符串封送方法进行封送处理,对于结构体中定义的结构体,进行递归处理,直到处理完每一个简单类型;
回调函数的封送方法:使用托管平台的输出委托和报告委托封送非托管平台的通信结果回调函数和报告回调函数,站控层通信完成后执行回调函数指定的方法,并传递经过封送的输出数据,之后触发相应的委托在托管平台中完成通信结果和报告内容的处理。
3.根据权利要求2所述的一种变电站监控系统的通信服务映射与封装方法,其特征是,托管通信服务类报告服务的通信封装步骤如下:
a.读取报告控制块RCB
站控层客户端调用托管通信服务类的读取报告控制块RCB服务,并传递控制块引用字符串和报告控制块RCB对象作为返回参数;托管通信服务类生成对应的报告控制块RCB结构体,调用非托管通信服务类的读取报告控制块RCB服务,传递经过封送处理的控制块引用字符指针以及报告控制块RCB结构体作为返回参数用来获取控制块数据;非托管通信服务类调用底层通信协议的读有名变量服务,依次读取服务端报告控制块RCB中的报告标识符、可选域的有名变量,并将数据值存储到报告控制块RCB结构体的对应变量中;托管通信服务类将填充数据后的报告控制块RCB结构体封送为托管平台的报告控制块RCB对象,返回给站控层客户端;
b.设置报告控制块RCB
站控层客户端编辑读取的报告控制块RCB对象,设置报告控制块RCB各个变量的值;调用托管通信服务类的设置报告控制块RCB服务,并传递控制块引用字符串和编辑过的报告控制块RCB对象;托管通信服务类将其封送为用于非托管平台的控制块引用字符指针和报告控制块RCB结构体,传递给非托管通信服务类的设置报告控制块RCB服务;非托管通信服务类调用底层协议栈的写有名变量服务,将报告控制块RCB结构体中的可选域、触发选项、完整性周期变量依次写入到服务端报告控制块RCB的相应变量中,写入完成后返回成功信号给站控层客户端;
c.开始报告
站控层客户端调用托管通信服务类的开始报告服务,传递报告控制块RCB引用作为参数;托管通信服务类调用非托管通信服务类的启动报告服务,传递经过封送的报告控制块RCB引用;非托管通信服务类调用底层通信协议栈的报告使能服务,激活服务端的数据报告,报告激活后根据报告控制块RCB设定的触发选项在数据发生变化后生成报告并调用报告回调函数,传递给托管平台的报告委托,由站控层客户端指定的方法处理报告内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310305285.5A CN103414694B (zh) | 2013-07-21 | 2013-07-21 | 变电站监控系统的通信服务映射与封装方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310305285.5A CN103414694B (zh) | 2013-07-21 | 2013-07-21 | 变电站监控系统的通信服务映射与封装方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103414694A CN103414694A (zh) | 2013-11-27 |
CN103414694B true CN103414694B (zh) | 2016-05-18 |
Family
ID=49607680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310305285.5A Expired - Fee Related CN103414694B (zh) | 2013-07-21 | 2013-07-21 | 变电站监控系统的通信服务映射与封装方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103414694B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333540B (zh) * | 2014-10-22 | 2018-02-13 | 国电南瑞科技股份有限公司 | 一种变电站自动化系统通信协议动态实现方法 |
CN105812317A (zh) * | 2014-12-29 | 2016-07-27 | 国家电网公司 | 一种基于数据分发服务规范的智能变电站报文映射方法 |
CN106844147B (zh) * | 2016-12-30 | 2020-12-18 | 杭州东方通信软件技术有限公司 | 一种监控系统及方法 |
CN108632239A (zh) * | 2017-11-15 | 2018-10-09 | 云南电网有限责任公司大理供电局 | 一种面向智能变电站整站联调的信息流产生与解析方法 |
CN109067743B (zh) * | 2018-08-08 | 2021-03-19 | 郑州云海信息技术有限公司 | 一种服务器监控方法和装置 |
CN109814845B (zh) * | 2019-01-30 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种基于OOP编程的NVMe模型 |
CN114928660B (zh) * | 2022-05-16 | 2023-10-31 | 北京计算机技术及应用研究所 | 一种嵌入式操作系统透明进程间通信的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102545387A (zh) * | 2012-01-20 | 2012-07-04 | 中国电力科学研究院 | 一种智能变电站一体化信息平台 |
CN102694420A (zh) * | 2012-06-08 | 2012-09-26 | 上海毅昊自动化有限公司 | 智能变电站网络化测控系统及其方法 |
CN102833119A (zh) * | 2012-09-29 | 2012-12-19 | 南京国电南自轨道交通工程有限公司 | 双网冗余机制下实时数据接收同步处理的方法 |
-
2013
- 2013-07-21 CN CN201310305285.5A patent/CN103414694B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102545387A (zh) * | 2012-01-20 | 2012-07-04 | 中国电力科学研究院 | 一种智能变电站一体化信息平台 |
CN102694420A (zh) * | 2012-06-08 | 2012-09-26 | 上海毅昊自动化有限公司 | 智能变电站网络化测控系统及其方法 |
CN102833119A (zh) * | 2012-09-29 | 2012-12-19 | 南京国电南自轨道交通工程有限公司 | 双网冗余机制下实时数据接收同步处理的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103414694A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103414694B (zh) | 变电站监控系统的通信服务映射与封装方法 | |
CN102929911B (zh) | 变电站与调度主站一体化建模方法 | |
CN101944770B (zh) | 一种故障信息系统61850主子站间虚拟站级ied模式的通信实现方法 | |
CN112668069B (zh) | 基于输变电工程三维设计模型与bim引擎的变电站数字化移交方法 | |
CN103295163A (zh) | 图模一体的变电站与调度主站协同建模方法 | |
CN102227122B (zh) | 平台无关规约模块系统 | |
CN102710435A (zh) | 一种基于cim模型的系统集成接口适配器 | |
CN104239406A (zh) | 一种智能变电站二次设备配置的高可视化展示方法 | |
Rohjans et al. | Cimbat-automated generation of cim-based opc ua-address spaces | |
CN101964542A (zh) | 一种iec61970调度ems系统接入iec61850数字化变电站的方法 | |
CN102509198B (zh) | 一种低压电网设备监测方法和系统 | |
CN104915794A (zh) | 一种基于模型中心的多时态全业务统一建模方法 | |
CN103685572A (zh) | 一种基于soa构建云数据中心管理平台方法及系统 | |
CN104346168B (zh) | 一种基于信息交换总线的监控管理可视化方法 | |
WO2014012422A1 (zh) | 一种水力发电厂主设备模型建立、存储和同步的方法 | |
CN109272248A (zh) | 一种基于元数据的综合能源一体化e-CIM模型设计方法 | |
CN102647027A (zh) | 一种实现建立电能质量数据交换接口的方法 | |
CN105373008A (zh) | 一种电力系统用全物理模型仿真方法 | |
CN105718656B (zh) | 一种智能变电站一二次系统信息关联方法 | |
Dai | Design and implementation of ESB based on SOA in power system | |
WO2019056564A1 (zh) | 基于iec61968标准信息交互总线的配电网故障抢修系统数据共享方法 | |
CN102014127B (zh) | 一种iec61850面向对象的在线通信系统及遗留系统迁移方法 | |
CN104573983B (zh) | 一种电力生产调度语义服务实现方法 | |
CN205176932U (zh) | 应用于智能计量平台的数据采集与传输系统 | |
CN102622669A (zh) | 融合电网自身信息和外部环境信息的一体化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200918 Address after: Room 101-1, 1 / F, building 5, University Science Park, 5699 North Second Ring Road, Baoding, Hebei Province 071000 Patentee after: Baoding Baojia Electronic Instrument Co., Ltd Address before: 071003 Hebei province Baoding Yonghua No. 619 North Street Patentee before: NORTH CHINA ELECTRIC POWER University (BAODING) |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160518 Termination date: 20210721 |
|
CF01 | Termination of patent right due to non-payment of annual fee |