变电站模型数据过滤处理的导出方法
技术领域
本发明属于变电站数据控制领域,尤其涉及的是一种变电站模型数据过滤处理的导出方法。
背景技术
变电站是智能电网的重要基础和支撑,源端维护是变电站的重要概念。变电站作为调度/集控***数据采集的源端,应提供各种可自描述的配置参量,维护时仅需在变电站利用统一配置工具进行配置,生成标准配置文件,包括变电站主接线图、网络拓扑等参数及数据模型。变电站自动化***与调度/集控***可自动获得变电站的标准配置文件,并自动导入到自身***数据库中。同时,变电站自动化***的主接线图和分画面图形文件,应以标准图形格式提供给调度/集控***。数据从源头就实现标准化,便于后面各种应用利用,可以大幅提高工作效率,减少重复工作。
当前源端维护的实现方案为变电站端导出图形SVG文件和模型数据CIMXML文件,这些文件传输到主站后,由主站***校验、导入,然后自动生成图形和模型数据。变电站模型数据可以全部导出,但是全部导出的模型数据文件对于主站导入后需要增加过多额外的处理任务,并且有些数据内容是不能够正确处理的。基于以上问题,在导出变电站模型数据CIM XML文件过程中,对变电站模型数据进行过滤和处理,使导出的CIM XML文件所包含的模型数据内容为主站所需要的变电站最小模型集合。这个模型数据集合包含了当前变电站所有有效的数据,并且不包含冗余信息,不需要主站做额外的分析、过滤和处理工作,提高主站导入数据入库的速度和效率就成了目前亟待解决的问题。
发明内容
本发明的目的在于克服现有变电站导出模型数据CIM XML文件,内容繁多,重复,不规范所导致的传送效率低,主站处理困难的不足,提供了一种简便有效的对变电站导出模型数据CIM XML文件的过滤处理方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种变电站模型数据过滤处理的导出方法,该方法包括下述步骤:
(1)、选择变电站***模型数据:在智能变电站信息一体化平台源端选择需要导出的变电站***模型数据文件,进入导出模型数据程序;
(2)、导出预处理:包括对变电站***模型数据进行清除垃圾设备、检查名称唯一性并修正以及检查关联关系错误并修正的处理;
(3)、导出处理:包括对变电站***数据相同ID或名称的记录分配新的ID和名称以及对关联关系错误的处理;
(4)、过滤处理:根据主站的事先约定,剔除约定以外的变电站***导出类型数据、设备数据;
(5)、特殊处理:在变电站***当前模型数据的基础上,对于必要但又与标准、规范以及约定相矛盾的数据进行的处理,使其符合61970CIM模型规范的要求并被主站***正确识别和导入;
(6)、创建导出数据:创建导出数据的节点、将最终变电站***模型字段、记录、表数据设置为节点的属性,并按层次关系,按CIM XML规定的格式组织;
(7)数据导出:将变电站***模型数据库内容导出为CIM XML格式的内存数据,关闭内存数据库,释放不需要的内存空间,然后进行生成CIM XML文件处理。
而且、所述步骤(2)对变电站***模型数据进行清除垃圾设备的具体步骤为:
程序打开变电站***模型数据库,并读取数据库表文件,遍历数据库设备表,获取全部设备信息,构造类型设备ID链表;通过信息一体化平台图形管理对象打开主接线图,并读取图形到内存,初始化图元对象链表,对于每一个图元对象,获取关联设备参数信息,如果当前图形对象所关联的设备ID在设备ID链表中,则认为此设备ID是有效的,将此设备ID从类型设备ID链表中删除,此过程结束后,设备链表中所剩余的设备ID即垃圾设备,将这些设备ID对应的模型数据库记录删除。
而且、所述步骤(2)对变电站***模型数据进行的检查名称唯一性并修正的具体步骤为:
遍历变电站***模型数据全部的数据库设备表,对于每一个设备表,再遍历全部的记录,构造设备类型ID链表,如果在遍历设备记录的过程中,发现当前ID已经在链表中存在,则认为ID相同,同样构造设备类型名称链表,检查是否存在同名的设备,对于这些相同ID和名称的设备记录修正后继续执行导出操作。
而且、所述步骤(2)对变电站***模型数据进行的检查关联关系错误并修正的具体步骤为:
(1)、检查关联关系首先打开主接线图,遍历变电站***模型数据全部图形对象,根据每个图形对象的设备类型和关联ID,查找当前类型的记录是否存在,如果不存在则进行错误修改处理,使之满足关联关系的正确性和完整性;
(2)、遍历变电站***模型数据全部图形对象,构造图形对象ID关联设备类型ID链表,查找重复关联记录,即两个图元对象关联同一个设备记录,如果存在这种情况则进行错误修改处理,使之满足关联关系的正确性和完整性。
而且、所述步骤(4)的过滤处理的具体步骤是:
(1)、遍历变电站***数据表记录导出数据前,需要根据预定的模型逻辑关系,滤除接地刀闸及变压器间隔记录;
(2)、根据表之间记录的引用关系,即量测所属的设备不存在不导出原则,过滤数据库表记录,将错误或是不合法的记录过滤掉,对于导出的量测、端子表记录数据,如果关联的设备不存在,则滤掉此条记录;
(3)、将变电站侧创建的特殊间隔滤除。
而且、所述步骤(5)特殊处理包括以下处理内容:
(1)、需要特殊处理变压器字段、变压器的容器、设置变压器资源引用;
(2)、对于变压器绕组字段、设置绕组类型资源引用、基准电压等级需要设置特定的标签、量测关联的点表数据;
(3)、调度***建库时,量测与点的关联,量测类型表的名称和路径。
本发明的优点和积极效果是:
本发明提出了采用过滤处理导出模型数据的方法,解决导出模型数据量过大问题,具有如下效果:
(1)导出的模型数据CIM XML文件能够正确被主站***识别,也能够通过标准的XML文件打开、浏览。主站***验证文件通过,并能够正确导入构建完整的变电站数据模型。而模型数据CIM XML文件中没有多余的冗余信息,对于主站***构建模型减少了过滤和处理的负担,提高了处理的准确性和效率,而又能够保证数据的完整性和一致性。
(2)由于无需将全部的模型数据进行处理,所以导出文件应该是主站***所需要的最小文件,这样的文件包含了全部的变电站模型信息。文件在传输过程中,对于速度和效率的提高非常明显。
附图说明
图1是本发明变电站模型数据导出处理流程图;
图2是本发明变电站源端维护导出模型CIM XML文件流程图。
具体实施方式
以下结合具体实施例对本专利做详细说明:
一种变电站模型数据过滤处理的导出方法,如图1所示,具体方法步骤如下:
1、选择变电站***模型数据:
在智能变电站信息一体化平台源端选择需要导出变电站***模型数据公共信息模型可扩展标记语言(CIM XML,Common Information Model ExtensibleMarkup Language)文件,进入导出模型数据程序:
(1)、打开变电站***数据库,初始化内存数据库环境,读取模型导出配置文件(dbcimxmlconfig.xml)。构造模型导出配置内存结构,获取变电站***数据库模型导出基本信息:数据量,表数量,表记录内容。
(2)、创建导出CIM XML操作对象,以及文档对象、根节点。定义导出过程所需要的各类数据成员变量,初始化图形列表及图形管理对象,启动导出预处理过程。
2、导出预处理:包括对变电站***模型数据进行清除垃圾设备,检查名称唯一性以及检查关联关系三个步骤的处理:
(1)、清除垃圾设备:
程序打开变电站***模型数据库,并读取数据库表文件,遍历数据库设备表,获取全部设备信息,构造类型设备标识(ID)链表。通过信息一体化平台图形管理对象打开主接线图,并读取图形到内存,初始化图元对象链表。对于每一个图元对象,获取关联设备参数信息,如果当前图形对象所关联的设备ID在设备ID链表中,则认为此设备ID是有效的,将此设备ID从类型设备ID链表中删除。此过程结束后,设备链表中所剩余的设备ID就都是无效的、冗余的,即垃圾设备,需要将这些设备ID对应的模型数据库记录删除。然后进入收集垃圾设备信息处理,在这个过程中,类型设备ID链表中所存储的记录即为垃圾设备ID,将这些ID收集、整理到待删除垃圾设备链表中。然后调用数据库的删除接口(remove)将这些垃圾设备从数据库中清除。
(2)、检查名称唯一性:
遍历变电站***模型数据全部的数据库设备表,对于每一个设备表,再遍历全部的记录。构造设备类型-ID链表,如果在遍历设备记录的过程中,发现当前ID已经在链表中存在,则认为ID相同。同样构造设备类型-名称链表,检查是否存在同名的设备。对于这些相同ID和名称的设备记录,给出错误提示,必须在修正这些错误后才能继续执行导出操作。
(3)检查关联关系:
A、检查关联关系首先打开主接线图,遍历变电站***模型数据全部图形对象,根据每个图形对象的设备类型和关联ID,查找当前类型的记录是否存在,如果不存在则给出错误提示。
B、遍历变电站***模型数据全部图形对象,构造图形对象ID关联设备类型ID链表,查找重复关联记录,即两个图元对象关联同一个设备记录,如果存在这种情况则给出错误提示。
对于以上A,B两种错误提示,都必须进行错误修改处理,使之满足关联关系的正确性和完整性。
3、导出处理:
导出处理包括自动重新为相同ID和名称的记录分配新的ID及名称,消除重复性错误。分配的原则是将当前可用的全局最大ID加1,通过调用信息一体化平台ID分配模块实现,新的名称为记录类型名称加ID。对于关联关系的错误,导出将自动进行处理。处理的内容主要包括连接点的关联容器,如果是间隔则获取间隔所属的电压等级,并设置连接点的关联容器为指定的电压等级。自动设置电压等级的基准电压等级,设置端点所关联的连接点。
4、过滤处理:
这里的过滤是根据主站的需要,或事先约定的设置,将不需要,或不必要导出的类型数据,设备数据从导出文件中剔除掉。
(1)、遍历变电站***数据表记录导出数据前,需要根据预定的模型逻辑关系,将接地刀闸、变压器间隔记录滤掉。
(2)、根据表之间记录的引用关系,即量测所属的设备不存在不导出原则,过滤数据库表记录,将错误或是不合法的记录过滤掉,对于导出的量测、端子表记录数据,如果关联的设备不存在,则滤掉此条记录。
(3)、将变电站侧创建的一些特殊的间隔滤掉。
5、特殊处理:
是指在当前模型数据的基础上,对于不符合要求、标准、规范以及约定的数据进行各种类型的处理,以使其符合要求并能够被主站***正确识别和导入,特殊处理主要用于满足61970CIM模型规范的要求,需要将当前变电站内的模型结构向61970CIM进行转换所做的处理。
(1)、需要特殊处理变压器字段、设置变压器资源引用、变压器的容器。
(2)、对于变压器绕组字段、设置绕组类型资源引用、基准电压等级需要设置特定的标签、量测关联的点表数据也需要特殊处理。
(3)、调度***建库时,量测与点的关联,量测类型表的名称和路径也需要特殊处理。
6、创建导出数据:
创建导出数据的节点、将最终模型字段、记录、表数据设置为节点的属性,并按层次关系按CIM XML规定的格式组织。
7、数据导出:
数据导出结束,即将模型数据库内容导出为CIM XML格式的内存数据,关闭内存数据库,释放不需要的内存空间,然后进行生成CIM XML文件处理。
需要强调的是,本发明所述的实施例是说明性的,而不是限定性的,因此本发明并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。