(准格尔旗浩普电力勘测设计有限责任公司内蒙古鄂尔多斯010300)
摘要:目前,各远动系统大多仍沿用传统的方式,采用的协议体系也是多种多样,这就增加了许多无谓的协议转换工作。在计算机、自动化通讯技术迅猛发展的今天,整个电力远动系统的无缝通信成为当前迫切的需要。
关键词:力远动系统;OPC服务器;IEC61850;数据模型;
当前电力远动调度通讯的发展状况及现场设备的多样性,采用OPC服务器远程访问不同协议的数据模型,根据OPC的体系结构并结合最新通信标准,给出了种由OPC服务器发布IEC61850信息模型的数据映射方法,向调度端应用提供统一的标准实时数据服务。
一、OPC技术概述
1.OPC的应用。OPC是具有高度柔韧性的接口标准,既适合于把从底层物理设备中获取原始实时数据,也适用于从系统获取数据到应用程序中。实际上,OPC设计的目的就是从网络上某节点或设备上获取数据,生成OPC服务器,使客户应用程序通过OPC接口访问所采集到的数据。在实时信息处理方面,尤其是当数据通信量非常大时,OPC具有明显的优势,其可充分满足电力监控中分布式系统的要求。所设计的OPC服务器作为调度端前置机用于获取远动实时数据,为调度中心应用提供统一的信息服务。
2.OPCDA服务器的对象结构。根据OPCDA规范,OPC数据访问服务器包含三种对象,分别是服务器(Server)对象,组(Group)对象和项(Item)对象。OPC服务器为每个与之相连的客户应用程序实例化一个Server对象,每个Server对象可以包含多个Group对象,它主要负责管理Server对象的内部状态以及创建和管理Group对象,而每个Group对象又可以包含多个Item对象,它负责管理Group对象的内部状态信息以及创建和管理Item对象,同时完成OPC服务器内部的实时数据存取服务(同步或异步方式)。
二、系统的设计与实现
1.OPC的数据访问模式。在OPC中,数据传输是以组为单位进行的。Server和Group都是标准的COM对象,由这两种对象来完成与客户程序的交互,而Item则代表了OPC服务器到数据源的一个物理连接,它不能被客户程序直接访问。OPC数据访问服务器的结构如图1所示。
图1OPC数据访问服务器结构图
在服务器的数据存储区存放着数据项(Item),它包括值、品质、时间戳三个基本属性以及其他与访问数据相关的属性。服务器既要对数据源进行读写操作,又要通过OPC接口与客户程序进行交互,所以对数据存储区的操作要采用多线程,以保证数据的存取效率。OPC服务器提供双接口,即自动化接口(AutomationInterface)和定制接口(CustomInterface)。自动化接口能为高级语言客户程序提供极大的便利,但数据传输效率较低,而定制接口则为高级语言编写的客户程序带来灵活高效的调用手段。
2.OPC发布IEC61850信息数据模型的方法。在远动系统中,变电站端设备采用主动上传的方式向调度端传输实时数据,而调度端的OPC服务器接收到数据时并不知道这些数据所代表的含义,因此,在数据传输之前需要提供一份数据描述文档对数据信息进行描述。在IEC61850中,用SCL对变电站及站内的IED进行统一建模,SCL语法是基于XML的,采用XMLSchema来定义SCL文档所允许的词汇与类型信息。在传输数据之前,须对OPC服务器存储空间进行配置,根据SCL文档的内容,解析配置信息。在OPC服务器中,设置一个XML文档解析模块,采用XercesC++DOM解析器对设备的SCL配置文档进行解析,根据生成的DOM树结构,收集整理OPC的信息变量存储空间。根据其功能含义,所属模块、设备所处物理位置等信息,规划OPCItem的名称。将这些Item对象根据配置文档的内容分成若干Item项集合,最终形成的是以通讯模块ID为根节点的树状结构。通讯模块的数量决定了生成树的数量,数据对象的嵌套层次决定了项集合的嵌套深度。这里不涉及OPCGroup的概念,Group是为了提高客户端应用程序对大批量Item的访问效率而设定的逻辑组,将在客户端应用中被创建。在配置安装好OPC服务器后,按照设备所采用的通信协议就可以建立与各个通信模块的连接。在本系统中,将61850的信息模型映射到OPC的Item空间结构中,实现实时数据的传输。
3.系统的功能实现。OPC服务器的开发采用了OPCST(OPCDAServerTool)开发工具包,它完全按照OPCDA20.5协议标准开发,封装了OPCDA的诸多接口及应用。OPCST开发工具通过了iFix、WinCC以及RockWell等组态软件的连接性测试,已在多个工程项目中成功应用,稳定可靠,性能优异。将opcda_ipt.h头文件与opcst.lib库文件拷入工程目录。在项目的初始化函数中调用SCL解析模块,根据得到的对象结构,在初始化存储空间模块中调用AddOPCTag()函数,向OPCDA服务器内添加Item标记点。该函数中,用参数constunsigned*sName表示标记点名称,它用于客户程序对Item空间的浏览、选取,必须唯一,否则无法添加。在以上结构中,创建了一个OPCItem对象集合Items,其中包含两个Item对象number和size。OPC服务器数据的读写操作用下面的函数来表示;BoolReadVariant(unsigneddevid,VARIANT*value,constVARTYPEvtype);BoolWriteVariant(unsigneddevid,VARIANT*value);
参数说明如下;
devid——区别不同Item标记点的ID;
value——从通道devid读取的值,类型为VARIANT;
vtype——指定要读取的数据类型。
OPC服务器接受客户端的数据请求,通过解析模块中的全局函数把信息进行解析封装成设备的规约格式,通过设备驱动程序发送给设备,设备得到请求后采集数据或者控制动作。采集的数据以设备规约的数据格式进入OPC服务器件,OPC的解析全局函数从设备网络接口得到数据规约报文,解析报文,提取设备数据。客户程序通过调用ReadVariant()得到相应Item具体的变量值,通过riteVariant()修改设备信息。按照以上设计方案实现了远动系统中调度中心与变电站端的双向通信,通过该OPC实时数据服务器提供的统一接口,为调度中心的各种应用提供了符合标准的统一实时数据服务,也可以把采集的现场数据存储在数据库中。在数据通讯发面OPC有个优势和特点;OPC服务器和客户程序采用Windows平台DCOM底层远程组件进行通讯,这样效率比较高,也简化了系统开发的复杂度。
IEC61850标准作为无缝远动通信的基础,必将成为变电站内以及从变电站到调度中心通信的唯一国际标准,因此,有必要跟踪标准的发展动态,利用现有相关技术对电力远动通信系统做进一步深入的研究。
参考文献:
[1]张爱民,基于OPC的电力远动调度通讯服务的研究,2017.
[2]李耀中,浅谈基于OPC的电力远动调度通讯服务的研究,2017.