论文部分内容阅读
摘要:IEC 61970系列标准提出了应用集成框架、信息模型和接口规范,是电力系统管理及其信息交换领域的重要标准。此次研究主要基于IEC 61970消息通信标准,旨在实现电网智能终端设备与监测平台之间的数据通信。此次研究是通过移动Android设备模拟电网智能终端设备生成信息,并将信息转换为符合IEC 61970系列标准中定义的CIM规范的信息。智能终端与监测平台之间建立网络连接实现智能终端与监测平台之间的消息通信,监测平台通过网络对智能仿真设备发送控制指令,智能仿真设备向监测平台传回数据。应用程序把接收到的信息进行解析,形成了统一规范的信息数据。本研究基于IEC 61970公共信息模型(CIM)规范电力企业信息通信,为设备和系统之间的信息集成与交互提供统一的通信规约。
关键字:IEC 61970、CIM、数据通信、通信规约
1.概述
IEC 61970系列标准作为应用集成框架、 信息模型和接口规范标准基础基本成熟, 而且支持应用集成的组件软件技术和中间件技术与产品, 以及支持多种应用集成和在多种应用集成基础上构建业务流程/工作流的应用平台技术与产品也有了长足的进步。人们可以以这些标准、技术和产品为基础,在比较高的层次上作规划、制定策略从而较好的解决电力企业内部应用集成的问题。随着 IEC 61970 标准中的公共信息模型(CIM)被国内外的电力企业采纳接受,这些应用系统在涉及到电力模型相关部分可以用统一模型描述,而 IEC61970 组件接口规范(CIS)正是用于跨越这道屏障的主要技术手段。
IEC 61970目的是为了推动由不同厂商开发的EMS应用的集成;独立开发的完整EMS系统之间的集成;EMS系统与有关电力系统运行的其他系统之间的集成。IEC 61970使EMS的应用软件组件化和开放化,能即插即用和互联互通,使系统集成和信息共享更加容易,对电力系统中的三个最主要的涉众——最终用户、开发商和行业管理者都具有重要的意义。标准化的目标之一就是使设计和生产更简单、更清晰、更可靠,使用标准,可以不必每次重复开发,而是将精力专著于改进质量,促进技术进步。
2.研究内容
2.1 智能仿真设备测试数据生成
本次研究主要通过移动Android设备模拟智能终端实现数据的生成和数据通信息。移动Android设备具有网络通信简单,应用程序开发方便的特点,能很好的实现模拟测试数据的生成和数据通信息。在移动设备上开发一套基模拟仿真数据第生成的Android程序,当移动设备接收到数据生成指令时,Android程序自动生成模拟数据。
监测平台可以建立数据采集进程和数据发送进程对智能终端进行管理。每一个智能终端设备对应一个唯一的端口号,每个监测平台对应一个IP地址,通过设置进程中不同的端口号可以实现对不同设备的控制。当智能终端监听到所述的通信连接请求时,接收所述通信连接进程发来的消息并解析所述消息类型。
当智能终端接收到数据采集进程,智能终端生成电力信息数据,并创建一个CIM XML文件。
IEC 61970第501部分中描述的 CIM RDF 模式作为元模型框架来构建电力系统信息模型的 XML文档。这些文档的风格被称为 CIM XML 格式。 CIM XML文件有两种类型,分别是CIM模式文件和CIM的RDF模式文件,描述的是元数据。
1)一个 XML文档是一组容器。容器可以包含其它的容器以及内容。XML 文档由两块组成,一是序言,一是根元素。序言包含指出 XML 标准的版本号以及使用的编码的声 明。CIM XML 文件的序言为:
<?xml version="1.0" encoding="UTF-8"?>
2)根元素包含了 XML 文档的实际内容,这些内容包含在起始和结束标记之中。CIM XML 文档的根元素为:
3)根元素也包含对名字空间的引用。名字空间为文档中使用的其它元素定义了一个上下文环境。 元素的名称的前面均需要前缀一个名字空间的缩写并紧跟在冒号之后。例如:RDF语法的名字空间以及CIM模式的名字空间声明为:
xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:cim="http://iec.ch/TC57/2003/CIM-schema-cim10#">
在文档中对名字空间的引用使用的语法是:
4)注释可以出现在 XML 文档的任何地方,用<!-- and -->来界定。
5)元素:一个元素是在起始 和结束标记之间的一个容器。起始标记定义了元素的名字以及该元素包含的任意的属性。在以下的例子中 Company 是元素的名字,而 ID 是它的属性。
而结束标记则是 。
6)属性:对于 Company 元素的 ID 属性可以被 XML 文档中的其它元素所引用。具有 ID="_C70BB64F21C747E9A2B04CC2529751B0"的元素可以被其它元素所引用,但引用时需要使用#字符加在ID属性值的前面如:“#_C70BB64F21C747E9A2B04CC2529751B0”
2.2 數据传输
数据发送进程中包含了数据接监测台的IP地址和数据采集智能终端的端口号,CIM XML文件创建成功后,当智能终端监听到数据发送进程时,接收数据发送进程发来的消息并解析。智能终端根据数据发送进程中发送的信息建立一个通用消息规范格式的消息,并将消息发送给相应的监测平台。所述通用的消息格式包括消息头、开始符、消息体、结束符四部分组成。 其中消息头主要由数据接监测台的IP地址和数据采集智能终端的端口号组成,开始符和结束符由特殊的标识符构成,主要用于標识出消息体的开始与结束。
并分别与各功能模块建立连接;各功能模块在公共消息模块中注册事件或注册响应事件的回调函数;当公共消息模块收到其他功能模块发来的消息后,调用预先注册的事件上所有的回调函数,以完成功能模块间的交互。本研究将模块交互的工作统一由一个独立的公共消息模块完成,降低了多个模块间的耦合,使软件系统易于维护;模块间的交互,只需要在公共消息模块中做简单的注册,实现更简易;所有需要交互的模块都直接引用公共消息模块头文件,避免了模块间定义不一致的情况,提升了系统的稳定性。
2.3 监测平台数据接收
数据接收模块负责对数据的采集和初步处理,其中具体过程包括两部分:原始数据的接收、原始数据的加工处理。
其底层接口为网络接口,对设备通过GPRS网络,利用GPRS_RTU无线方式上传的数据进行接收。GPRS_RTU采用TCP/IP方式与服务器通讯,服务器端利用socket进行数据的接收。
监测平台接收到智能终端传回的原始数据,递交数据处理模块。数据处理模块要按照不同设备的端口号对原始数据进行解析、CRC校验、计算、处理。处理完毕后递交给消息读取模块。
数据接收模块在windows环境下用C#语言编写。创建套接字采用TCP/IP的方式实现智能终端与监测平台的数据通信,软件动态加载动态链接库到内存中,找到函数入口后调用函数进行数据的接收、发送,服务的开启、关闭。
考虑到发送数据的设备可能众多,为了保证软件处理数据的实时性,软件会使用多线程技术,保证数据能够被快速处理,防止缓冲区堆满溢出、丢失数据,达到实时处理的要求。
由于跟数据接收模块与硬件相联系,而且处于底层与高层连接的核心位置,所以硬件问题、干扰问题、网络问题、数据传输问题等,都可能导致数据出错。因此软件在容错处理方面应该特别加强。若错误的数据不能够被正确处理,则可能会影响数据的完整性,甚至影响整个系统的正常运作。
2.4 CIM XML文件解析模块
智能终端发回的信息通过数据接收模块的初步处理之后得到了CIM XML文件,文件解析模块用于CIM XML文档的导入解析;模式解析模块负责对XML部分的解析,同时提供相应的XML类型定义给所述规则验证模块;所述规则验证模块根据信息建立有效性约束规则,负责对XML文档进行有效性约束的检查,具体为创建一个实例,该实例包含一个对象;提供的解析器解析文档,若遇到XML文档,检查其是否符合有效性约束,主要检查是否只存在一个根节点,XML中只允许有一个全局元素能够被实例化成根节点,其他全局元素必须被引用;模式定义是否完整,是否存在元素或者属性没有声明相应的数据类型。
利用一致性校验规则对CIM XML文档进行校验,一致性校验规则包括元素节点有效性,属性节点有效性,元素的量词限制和属性的限制,所述元素节点有效性具体为对于消息文档中所有元素节点,其节点名称以及节点类型都应该与规范的CIM XML文档中对应的元素节点一致,所述属性节点有效性具体为CIM XML文档中所有属性节点的名称与规范的CIM XML文档中定义的属性名称一致,并且其属性值符合规范的CIM XML文档中定义的属性值类型,所述元素的量词限制具体为规范的CIM XML文档中元素节点被实例化的次数在其定义的基数限制最小值和最大值之间,所述属性的限制规范的CIM XML文档中定义的请求项类型属性,在CIM XML文档中相应的节点下必须出现,而对于可选类型的属性则不需要必须出现;将CIM XML文档中的元素、类型、属性等转换为对象的描述验证规则,并设置对数据类型的限制条件,对后续进行程序开发提供很好的帮助。
此次研究,智能终端采集生成数据,通过IEC 61970规约转换把抽象的电力信息规范化,系统化。通过网络传到监测平台,监测平台对数据进行解析,把原本抽象的电力信息转换成了实例化的对象,为面向对象的编程带来了很多便捷,也为电力企业信息的标准化,规范化提供了一种新的研究方向和思路。
3.结语
从单个应用的组件化,到多应用之间的集成化,到最后实现电力企业的综合信息平台,电力企业信息化发展的每个阶段都对软件系统的标准化和开放性提出了更高的要求,在这个过程中,CIM系列标准将对于电力企业信息化水平的提高具有极大的促进作用,理解标准、遵循标准、使用标准、扩展标准也必将成为广大电力企业信息化发展的共识。
作为智能电网核心标准的IEC 61970,IEC 61970第501部分中描述的 CIM RDF 模式作为元模型框架来构建电力系统信息模型的 XML文档,为数据信息规范提供了一个标准,使电力系统模型构建、信息共享、业务融合等方面得到了深入研究和推广应用。这对于促进中国将智能电网相关技术领域的优势转换为先进的标准优势,占领国际智能电网技术的制高点,提高中国相关产业在国际智能电网市场的核心竞争力具有非常重要的意义。
参考文献
[1] IEC61970. Energy Management System Application Program Interface (EMS-API) Part I: CCAPI Guidelines Preliminary Draft. 1999
[2] IEC61970. Energy Management System Application Program Interface (EMS-API) Part 301: Common Information Model (CIM) Base Draft Reversion 5. 1999
[3] Draft IEC 61970: Energy Management System Application Program Interface (EMS-API) -Part 401: Component Interface Specification Framework Draft , Revision 3.2000.
作者简介:
曹敏(1961年),男,学士,高级工程师,云南电网公司首席技术科学家,享受云南省政府特殊津贴,全国电工仪器仪表标准化委员会电能测量和负载控制设备分技术委员会副主任委员。
张建伟(1979年),男,高级工程师,长期从事电力系统计量工作
段勇(1974),男,学士,长期从事电力自动化、信息化领域的相关研究和实施推广工作。
高尚飞 (1984年),男,硕士学位,工程师,主要从事电网信息化工作.
张发政(1991),男,学士,从事电力系统计量工作。
关键字:IEC 61970、CIM、数据通信、通信规约
1.概述
IEC 61970系列标准作为应用集成框架、 信息模型和接口规范标准基础基本成熟, 而且支持应用集成的组件软件技术和中间件技术与产品, 以及支持多种应用集成和在多种应用集成基础上构建业务流程/工作流的应用平台技术与产品也有了长足的进步。人们可以以这些标准、技术和产品为基础,在比较高的层次上作规划、制定策略从而较好的解决电力企业内部应用集成的问题。随着 IEC 61970 标准中的公共信息模型(CIM)被国内外的电力企业采纳接受,这些应用系统在涉及到电力模型相关部分可以用统一模型描述,而 IEC61970 组件接口规范(CIS)正是用于跨越这道屏障的主要技术手段。
IEC 61970目的是为了推动由不同厂商开发的EMS应用的集成;独立开发的完整EMS系统之间的集成;EMS系统与有关电力系统运行的其他系统之间的集成。IEC 61970使EMS的应用软件组件化和开放化,能即插即用和互联互通,使系统集成和信息共享更加容易,对电力系统中的三个最主要的涉众——最终用户、开发商和行业管理者都具有重要的意义。标准化的目标之一就是使设计和生产更简单、更清晰、更可靠,使用标准,可以不必每次重复开发,而是将精力专著于改进质量,促进技术进步。
2.研究内容
2.1 智能仿真设备测试数据生成
本次研究主要通过移动Android设备模拟智能终端实现数据的生成和数据通信息。移动Android设备具有网络通信简单,应用程序开发方便的特点,能很好的实现模拟测试数据的生成和数据通信息。在移动设备上开发一套基模拟仿真数据第生成的Android程序,当移动设备接收到数据生成指令时,Android程序自动生成模拟数据。
监测平台可以建立数据采集进程和数据发送进程对智能终端进行管理。每一个智能终端设备对应一个唯一的端口号,每个监测平台对应一个IP地址,通过设置进程中不同的端口号可以实现对不同设备的控制。当智能终端监听到所述的通信连接请求时,接收所述通信连接进程发来的消息并解析所述消息类型。
当智能终端接收到数据采集进程,智能终端生成电力信息数据,并创建一个CIM XML文件。
IEC 61970第501部分中描述的 CIM RDF 模式作为元模型框架来构建电力系统信息模型的 XML文档。这些文档的风格被称为 CIM XML 格式。 CIM XML文件有两种类型,分别是CIM模式文件和CIM的RDF模式文件,描述的是元数据。
1)一个 XML文档是一组容器。容器可以包含其它的容器以及内容。XML 文档由两块组成,一是序言,一是根元素。序言包含指出 XML 标准的版本号以及使用的编码的声 明。CIM XML 文件的序言为:
<?xml version="1.0" encoding="UTF-8"?>
2)根元素包含了 XML 文档的实际内容,这些内容包含在起始和结束标记之中。CIM XML 文档的根元素为:
3)根元素也包含对名字空间的引用。名字空间为文档中使用的其它元素定义了一个上下文环境。 元素的名称的前面均需要前缀一个名字空间的缩写并紧跟在冒号之后。例如:RDF语法的名字空间以及CIM模式的名字空间声明为:
xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:cim="http://iec.ch/TC57/2003/CIM-schema-cim10#">
在文档中对名字空间的引用使用的语法是:
4)注释可以出现在 XML 文档的任何地方,用<!-- and -->来界定。
5)元素:一个元素是在起始 和结束标记之间的一个容器。起始标记定义了元素的名字以及该元素包含的任意的属性。在以下的例子中 Company 是元素的名字,而 ID 是它的属性。
而结束标记则是
6)属性:对于 Company 元素的 ID 属性可以被 XML 文档中的其它元素所引用。具有 ID="_C70BB64F21C747E9A2B04CC2529751B0"的元素可以被其它元素所引用,但引用时需要使用#字符加在ID属性值的前面如:“#_C70BB64F21C747E9A2B04CC2529751B0”
2.2 數据传输
数据发送进程中包含了数据接监测台的IP地址和数据采集智能终端的端口号,CIM XML文件创建成功后,当智能终端监听到数据发送进程时,接收数据发送进程发来的消息并解析。智能终端根据数据发送进程中发送的信息建立一个通用消息规范格式的消息,并将消息发送给相应的监测平台。所述通用的消息格式包括消息头、开始符、消息体、结束符四部分组成。 其中消息头主要由数据接监测台的IP地址和数据采集智能终端的端口号组成,开始符和结束符由特殊的标识符构成,主要用于標识出消息体的开始与结束。
并分别与各功能模块建立连接;各功能模块在公共消息模块中注册事件或注册响应事件的回调函数;当公共消息模块收到其他功能模块发来的消息后,调用预先注册的事件上所有的回调函数,以完成功能模块间的交互。本研究将模块交互的工作统一由一个独立的公共消息模块完成,降低了多个模块间的耦合,使软件系统易于维护;模块间的交互,只需要在公共消息模块中做简单的注册,实现更简易;所有需要交互的模块都直接引用公共消息模块头文件,避免了模块间定义不一致的情况,提升了系统的稳定性。
2.3 监测平台数据接收
数据接收模块负责对数据的采集和初步处理,其中具体过程包括两部分:原始数据的接收、原始数据的加工处理。
其底层接口为网络接口,对设备通过GPRS网络,利用GPRS_RTU无线方式上传的数据进行接收。GPRS_RTU采用TCP/IP方式与服务器通讯,服务器端利用socket进行数据的接收。
监测平台接收到智能终端传回的原始数据,递交数据处理模块。数据处理模块要按照不同设备的端口号对原始数据进行解析、CRC校验、计算、处理。处理完毕后递交给消息读取模块。
数据接收模块在windows环境下用C#语言编写。创建套接字采用TCP/IP的方式实现智能终端与监测平台的数据通信,软件动态加载动态链接库到内存中,找到函数入口后调用函数进行数据的接收、发送,服务的开启、关闭。
考虑到发送数据的设备可能众多,为了保证软件处理数据的实时性,软件会使用多线程技术,保证数据能够被快速处理,防止缓冲区堆满溢出、丢失数据,达到实时处理的要求。
由于跟数据接收模块与硬件相联系,而且处于底层与高层连接的核心位置,所以硬件问题、干扰问题、网络问题、数据传输问题等,都可能导致数据出错。因此软件在容错处理方面应该特别加强。若错误的数据不能够被正确处理,则可能会影响数据的完整性,甚至影响整个系统的正常运作。
2.4 CIM XML文件解析模块
智能终端发回的信息通过数据接收模块的初步处理之后得到了CIM XML文件,文件解析模块用于CIM XML文档的导入解析;模式解析模块负责对XML部分的解析,同时提供相应的XML类型定义给所述规则验证模块;所述规则验证模块根据信息建立有效性约束规则,负责对XML文档进行有效性约束的检查,具体为创建一个实例,该实例包含一个对象;提供的解析器解析文档,若遇到XML文档,检查其是否符合有效性约束,主要检查是否只存在一个根节点,XML中只允许有一个全局元素能够被实例化成根节点,其他全局元素必须被引用;模式定义是否完整,是否存在元素或者属性没有声明相应的数据类型。
利用一致性校验规则对CIM XML文档进行校验,一致性校验规则包括元素节点有效性,属性节点有效性,元素的量词限制和属性的限制,所述元素节点有效性具体为对于消息文档中所有元素节点,其节点名称以及节点类型都应该与规范的CIM XML文档中对应的元素节点一致,所述属性节点有效性具体为CIM XML文档中所有属性节点的名称与规范的CIM XML文档中定义的属性名称一致,并且其属性值符合规范的CIM XML文档中定义的属性值类型,所述元素的量词限制具体为规范的CIM XML文档中元素节点被实例化的次数在其定义的基数限制最小值和最大值之间,所述属性的限制规范的CIM XML文档中定义的请求项类型属性,在CIM XML文档中相应的节点下必须出现,而对于可选类型的属性则不需要必须出现;将CIM XML文档中的元素、类型、属性等转换为对象的描述验证规则,并设置对数据类型的限制条件,对后续进行程序开发提供很好的帮助。
此次研究,智能终端采集生成数据,通过IEC 61970规约转换把抽象的电力信息规范化,系统化。通过网络传到监测平台,监测平台对数据进行解析,把原本抽象的电力信息转换成了实例化的对象,为面向对象的编程带来了很多便捷,也为电力企业信息的标准化,规范化提供了一种新的研究方向和思路。
3.结语
从单个应用的组件化,到多应用之间的集成化,到最后实现电力企业的综合信息平台,电力企业信息化发展的每个阶段都对软件系统的标准化和开放性提出了更高的要求,在这个过程中,CIM系列标准将对于电力企业信息化水平的提高具有极大的促进作用,理解标准、遵循标准、使用标准、扩展标准也必将成为广大电力企业信息化发展的共识。
作为智能电网核心标准的IEC 61970,IEC 61970第501部分中描述的 CIM RDF 模式作为元模型框架来构建电力系统信息模型的 XML文档,为数据信息规范提供了一个标准,使电力系统模型构建、信息共享、业务融合等方面得到了深入研究和推广应用。这对于促进中国将智能电网相关技术领域的优势转换为先进的标准优势,占领国际智能电网技术的制高点,提高中国相关产业在国际智能电网市场的核心竞争力具有非常重要的意义。
参考文献
[1] IEC61970. Energy Management System Application Program Interface (EMS-API) Part I: CCAPI Guidelines Preliminary Draft. 1999
[2] IEC61970. Energy Management System Application Program Interface (EMS-API) Part 301: Common Information Model (CIM) Base Draft Reversion 5. 1999
[3] Draft IEC 61970: Energy Management System Application Program Interface (EMS-API) -Part 401: Component Interface Specification Framework Draft , Revision 3.2000.
作者简介:
曹敏(1961年),男,学士,高级工程师,云南电网公司首席技术科学家,享受云南省政府特殊津贴,全国电工仪器仪表标准化委员会电能测量和负载控制设备分技术委员会副主任委员。
张建伟(1979年),男,高级工程师,长期从事电力系统计量工作
段勇(1974),男,学士,长期从事电力自动化、信息化领域的相关研究和实施推广工作。
高尚飞 (1984年),男,硕士学位,工程师,主要从事电网信息化工作.
张发政(1991),男,学士,从事电力系统计量工作。