著录项信息
| 专利名称 | 电网元件实时状态的获取方法 |
| 申请号 | CN201110298397.3 | 申请日期 | 2011-09-29 |
| 法律状态 | 权利终止 | 申报国家 | 中国 |
| 公开/公告日 | 2012-04-25 | 公开/公告号 | CN102427274A |
| 优先权 | 暂无 | 优先权号 | 暂无 |
| 主分类号 | H02J13/00 | IPC分类号 | H;0;2;J;1;3;/;0;0;;;H;0;2;H;7;/;2;6查看分类表>
|
| 申请人 | 广西电网公司电力调度控制中心;华中科技大学 | 申请人地址 | 广西壮族自治区南宁市兴宁区民主路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
| 权利人 | 广西电网公司电力调度控制中心,华中科技大学 | 当前权利人 | 广西电网公司电力调度控制中心,华中科技大学 |
| 发明人 | 覃松涛;陶佳燕;李银红;郑发林;蒙亮 |
| 代理机构 | 华中科技大学专利中心 | 代理人 | 朱仁玲 |
摘要
本发明提供了一种电网元件实时状态的获取方法,属于电力系统继电保护技术领域。首先,从能量管理系统获取数据;然后,采用融合节点的思想降低电网规模;最后,形成电网各节点的邻接链表,分析厂站连通性,判断元件运行/非运行状态。本发明可以快速获取电网实时状态,实现电网在线校核系统与能量管理系统系统的接口,提高实时状态获取的速度。
1.一种电网元件实时状态的获取方法,其特征在于,包括如下步骤:
从能量管理系统获取数据,所述数据包括:厂站的名称、线路的名称及线路两端的节点号、开关的名称及开关两端的节点号、刀闸的名称及刀闸两端的节点号、变压器的名称及变压器两端的节点号、发电机的名称及发电机的节点号、母线的名称及母线的节点号、开关和刀闸的运行/非运行状态;
选择第一个开关;
遍历所有刀闸,以判断是否存在刀闸的名称除以10再取整数后与所述开关的名称相同;
若存在刀闸的名称除以10再取整后与所述开关的名称相同,则用所述刀闸两端的节点中与所述开关两端的节点不同的节点来取代所述开关两端的节点中与所述刀闸两端的节点相同的节点;
判断当前开关是否是最后一个开关;
若当前开关是最后一个开关,则将获取的所有节点存入顺序链表;
从所述顺序链表中选择第一个节点;
遍历所有处于运行状态的开关和刀闸,以判断是否开关或刀闸的两端节点与所述节点相同;
若存在开关或刀闸的两端节点与所述节点相同,则将所述开关或刀闸两端的节点与所述节点不同的节点存入所述节点的邻接链表;
判断所述顺序链表中的所有节点是否已遍历完毕;
若所述顺序链表中的所有节点已遍历完毕,则任选一厂站;
定义标志位数组,其数组长度等于所述厂站内节点数,其数组元素用于标示所述厂站的对应节点是否已被访问,将所有数组元素初始化为0;
选择所述厂站内一条未访问的母线,建立连通链表,将所述母线的节点加入所述连通链表中作为所述连通链表的首节点;
将所述母线的节点的标志位设为1;
定义整数k,用于标示所述连通链表中已被查找过邻接点的节点个数,初始化k=0;
从所述邻接链表中查找所述连通链表中第k个节点的邻接点,并设置k=k+1;
判断所述第k个节点的邻接点的标志位是否为0;
若所述第k个节点的邻接点的标志位为0,则将所述邻接点存入所述连通链表中,并将所述邻接点的标志位设置为1;
判断k是否小于所述连通链表的长度;
若k小于所述连通链表的长度,则重复所述从所述邻接链表中查找所述连通链表中第k个节点的邻接点,并设置k=k+1的步骤;
若不存在刀闸的名称除以10再取整后与所述开关的名称相同,则转入所述判断当前开关是否是最后一个开关的步骤;
若当前开关不是最后一个开关,则跳转到下一开关,并重复所述遍历所有刀闸,以判断是否存在刀闸的名称除以10再取整数后与所述开关的名称相同的步骤;
若不存在开关或刀闸的两端节点与所述节点相同,则转入所述判断所述顺序链表中的所有节点是否已遍历完毕的步骤;
若所述顺序链表中的所有节点未遍历完毕,则跳转到所述顺序链表的下一节点,并重复所述遍历所有处于运行状态的开关和刀闸,以判断是否开关或刀闸的两端节点与所述节点相同的步骤;
若所述第k个节点的邻接点的标志位不为0,则转入所述判断k是否小于所述连通链表的长度的步骤;
若k不小于所述连通链表的长度,则判断所述厂站的所有母线是否已遍历完毕;
若所述厂站的所有母线已遍历完毕,则判断所有厂站是否遍历完毕;
若所有厂站已遍历完毕,则判断所述厂站的所有元件是处于运行状态还是处于非运行状态;
若所述厂站的所有母线未遍历完毕,则返回所述选择所述厂站内一条未访问的母线,建立连通链表,将所述母线的节点加入所述连通链表中作为所述连通链表的首节点的步骤;
若所有厂站未遍历完毕,则返回所述若所述顺序链表中的所有节点已遍历完毕,则任选一厂站的步骤。
电网元件实时状态的获取方法\n技术领域\n[0001] 本发明属于电力系统继电保护技术领域,具体涉及一种电网元件实时状态的获取方法。\n背景技术\n[0002] 如何快速准确地从能量管理系统获取电网元件的实时状态,成为电网在线系统亟待解决的问题之一。目前,许多学者对电网元件实时状态获取的相关问题进行了研究,但均未深入研究实时状态获取的总体结构和实现方法,回避了实时状态快速获取中获取数据、降低规模、分析拓扑等关键技术问题。\n发明内容\n[0003] 本发明的目的在于提供一种电网元件实时状态的获取方法,该方法可以解决在线校核系统与能量管理系统系统接口过程中的获取数据、降低规模、分析拓扑等若干关键技术问题,提高实时状态获取的速度。\n[0004] 本发明的技术方案如下:\n[0005] 一种电网元件实时状态的获取方法,包括如下步骤:从能量管理系统获取数据,获取的数据包括:厂站的名称、线路的名称及线路两端的节点号、开关的名称及开关两端的节点号、刀闸的名称及刀闸两端的节点号、变压器的名称及变压器两端的节点号、发电机的名称及发电机的节点号、母线的名称及母线的节点号、开关和刀闸的运行/非运行状态;选择第一个开关;遍历所有刀闸,以判断是否存在刀闸的名称除以10再取整数后与当前开关的名称相同;若存在刀闸的名称除以10再取整后与当前开关的名称相同,则用当前刀闸两端的节点中与当前开关两端的节点不同的节点来取代当前开关两端的节点中与当前刀闸两端的节点相同的节点;判断当前开关是否是最后一个开关;若当前开关是最后一个开关,则将获取的所有节点存入顺序链表;从顺序链表中选择第一个节点;遍历所有处于运行状态的开关和刀闸,以判断是否开关或刀闸的两端节点与当前节点相同;若存在开关或刀闸的两端节点与当前节点相同,则将当前开关或刀闸两端的节点与当前节点不同的节点存入当前节点的邻接链表;判断顺序链表中的所有节点是否已遍历完毕;若顺序链表中的所有节点已遍历完毕,则任选一厂站;定义标志位数组,其数组长度等于当前厂站内节点数,其数组元素用于标示当前厂站的对应节点是否已被访问,将所有数组元素初始化为0;选择当前厂站内一条未访问的母线,建立连通链表,将当前母线的节点加入连通链表中作为连通链表的首节点;将当前母线的节点的标志位设为1;定义整数k,用于标示连通链表中已被查找过邻接点的节点个数,初始化k=0;从邻接链表中查找连通链表中第k个节点的邻接点,并设置k=k+1;判断当前第k个节点的邻接点的标志位是否为0;若当前第k个节点的邻接点的标志位为0,则将当前邻接点存入连通链表中,并将当前邻接点的标志位设置为1;判断k是否小于连通链表的长度;若k小于连通链表的长度,则重复从当前邻接链表中查找当前连通链表中第k个节点的邻接点,并设置k=k+1的步骤。\n[0006] 本发明的获取方法还包括以下步骤:若不存在刀闸的名称除以10再取整后与当前开关的名称相同,则转入判断当前开关是否是最后一个开关?的步骤。\n[0007] 本发明的获取方法还包括以下步骤:若当前开关不是最后一个开关,则跳转到下一开关,并重复遍历所有刀闸,以判断是否存在刀闸的名称除以10再取整数后与当前开关的名称相同的步骤。\n[0008] 本发明的获取方法还包括以下步骤:若不存在开关或刀闸的两端节点与当前节点相同,则转入判断顺序链表中的所有节点是否已遍历完毕的步骤。\n[0009] 本发明的获取方法还包括以下步骤:若顺序链表中的所有节点未遍历完毕,则跳转到顺序链表的下一节点,并重复遍历所有处于运行状态的开关和刀闸,以判断是否开关或刀闸的两端节点与当前节点相同的步骤。\n[0010] 本发明的获取方法还包括以下步骤:若当前第k个节点的邻接点的标志位不为0,则转入判断k是否小于连通链表的长度的步骤。\n[0011] 本发明的获取方法还包括以下步骤:若k不小于连通链表的长度,则判断当前厂站的所有母线是否已遍历完毕;若当前厂站的所有母线已遍历完毕,则判断所有厂站是否遍历完毕;若所有厂站已遍历完毕,则判断当前厂站的所有元件是处于运行状态还是处于非运行状态。\n[0012] 本发明的获取方法还包括以下步骤:若当前厂站的所有母线未遍历完毕,则返回选择当前厂站内一条未访问的母线,建立连通链表,将当前母线的节点加入连通链表中作为连通链表的首节点的步骤。\n[0013] 本发明的获取方法还包括以下步骤:若所有厂站未遍历完毕,则返回若顺序链表中的所有节点已遍历完毕,则任选一厂站的步骤。\n[0014] 本发明的优点在于:可以解决在线校核系统与能量管理系统系统接口过程中的若干关键技术问题,提高实时状态获取的速度。\n附图说明\n[0015] 图1为本发明电网元件实时状态的获取方法的流程图。\n[0016] 图2为某一厂站内部的接线图。\n[0017] 图3为图2所示厂站邻接列表的形成过程图。\n具体实施方式\n[0018] 如图1所示,本发明电网元件实时状态的获取方法包括以下步骤:\n[0019] (1)从能量管理系统获取数据,获取的数据包括:厂站的名称、线路的名称及线路两端的节点号、开关的名称及开关两端的节点号、刀闸的名称及刀闸两端的节点号、变压器的名称及变压器两端的节点号、发电机的名称及发电机的节点号、母线的名称及母线的节点号、开关和刀闸的运行/非运行状态;\n[0020] (2)选择第一个开关;\n[0021] (3)遍历所有刀闸,以判断是否存在刀闸的名称除以10再取整数后与当前开关的名称相同;\n[0022] (4)若存在刀闸的名称除以10再取整后与当前开关的名称相同,则进入步骤(5),若不存在刀闸的名称除以10再取整后与当前开关的名称相同,则进入步骤(6);\n[0023] (5)用当前刀闸两端的节点中与当前开关两端的节点不同的节点来取代当前开关两端的节点中与当前刀闸两端的节点相同的节点;\n[0024] (6)判断当前开关是否是最后一个开关;\n[0025] (7)若当前开关是最后一个开关,则进入步骤(8),若当前开关不是最后一个开关,则转跳到下一开关,并返回步骤(3);\n[0026] (8)将获取的所有节点存入顺序链表;\n[0027] (9)从顺序链表中选择第一个节点;\n[0028] (10)遍历所有处于运行状态的开关和刀闸,以判断是否开关或刀闸的两端节点与当前节点相同;\n[0029] (11)若存在开关或刀闸的两端节点与当前节点相同,则进入步骤(12),若不存在开关或刀闸的两端节点与当前节点相同,则进入步骤(13):\n[0030] (12)将当前开关或刀闸两端的节点与当前节点不同的节点存入当前节点的邻接链表;\n[0031] (13)判断顺序链表中的所有节点是否已遍历完毕;\n[0032] (14)若顺序链表中的所有节点已遍历完毕,则进入步骤(15),若顺序链表中的所有节点未遍历完毕,则跳转到顺序链表的下一节点,并返回步骤(10);\n[0033] (15)任选一厂站;\n[0034] (16)定义标志位数组,其数组长度等于当前厂站内节点数,其数组元素用于标示当前厂站的对应节点是否已被访问,将所有数组元素初始化为0;\n[0035] (17)选择当前厂站内一条未访问的母线,建立连通链表,将当前母线的节点加入当前连通链表中作为当前连通链表的首节点;\n[0036] (18)将当前母线的节点的标志位设为1;\n[0037] (19)定义整数k,用于标示当前连通链表中已被查找过邻接点的节点个数,初始化k=0;\n[0038] (20)从当前邻接链表中查找当前连通链表中第k个节点的邻接点,并设置k=k+1;\n[0039] (21)判断当前第k个节点的邻接点的标志位是否为0;\n[0040] (22)若当前第k个节点的邻接点的标志位为0,则进入步骤(23),否则进入步骤(24);\n[0041] (23)将当前邻接点存入当前连通链表中,并将当前邻接点的标志位设置为1;\n[0042] (24)判断k是否小于当前连通链表的长度;\n[0043] (25)若k小于当前连通链表的长度,则返回步骤(20),若k不小于当前连通链表的长度,则进入步骤(26);\n[0044] (26)判断当前厂站中的所有母线是否遍历完毕;\n[0045] (27)若当前厂站的所有母线遍历完毕,则进入步骤(28),若当前厂站的所有母线未遍历完毕,则返回步骤(17);\n[0046] (28)判断所有厂站是否遍历完毕;\n[0047] (29)若所有厂站已遍历完毕,则判断当前厂站的所有元件是处于运行状态还是处于非运行状态,若所有厂站未遍历完毕,则返回步骤(15)。\n[0048] 步骤(8)-(14)为形成邻接链表的详细步骤。对于图2某一厂站内部的接线图,其邻接链表的形成过程如图3所示,其具体实施过程如下:\n[0049] 将图2中所有节点存入顺序链表{①,②,③,④,⑤,⑥,⑦,⑧};\n[0050] 从顺序链表选择节点①,遍历所有处于运行状态下的开关{L1,L3,L5,L6,L7,L8},其中L1两端节点(①,⑦)中存在于与当前节点①相同的节点,将该开关节点中与当前节点①不同的节点⑦存入邻接链表,得到邻接链表{⑦};\n[0051] 判断顺序链表中的节点是否遍历完毕;\n[0052] 顺序链表中的节点未遍历完毕,选择下一节点②,遍历所有处于运行状态下的开关{L1,L3,L5,L6,L7,L8},其中L3两端节点(②,⑧)中存在与当前节点②相同的节点,将与当前节点②不同的⑧存入邻接链表,得到邻接链表{⑦,⑧};\n[0053] 判断顺序链表中的节点是否遍历完毕;\n[0054] 顺序链表中的节点未遍历完毕,选择下一节点③,遍历所有处于运行状态下的开关{L1,L3,L5,L6,L7,L8},其中L5两端节点(③,④)中存在与当前节点③相同的节点,将与当前节点③不同的④存入邻接链表,得到邻接链表{⑦,⑧,④};\n[0055] 判断顺序链表中的节点是否遍历完毕;\n[0056] 顺序链表中的节点未遍历完毕,选择下一节点④,遍历所有处于运行状态下的开关{L1,L3,L5,L6,L7,L8},其中L5两端节点(③,④)中存在与当前节点④相同的节点,将与当前节点④不同的③存入邻接链表,L6两端节点(④,⑧)中存在与当前节点④相同的节点,将与当前节点④不同的⑧存入邻接链表,得到邻接链表{⑦,⑧,④,③⑧};\n[0057] 判断顺序链表中的节点是否遍历完毕;\n[0058] 顺序链表中的节点未遍历完毕,选择下一节点⑤,遍历所有处于运行状态下的开关{L1,L3,L5,L6,L7,L8},其中L7两端节点(⑤,⑦)中存在与当前节点⑤相同的节点,将与当前节点⑤不同的⑦存入邻接链表,L8两端节点(⑤,⑥)中存在与当前节点⑤相同的节点,将与当前节点⑤不同的⑥存入邻接链表,得到邻接链表{⑦,⑧,④,③⑧,⑦⑥};\n[0059] 判断顺序链表中的节点是否遍历完毕;\n[0060] 顺序链表中的节点未遍历完毕,选择下一节点⑥,遍历所有处于运行状态下的开关{L1,L3,L5,L6,L7,L8},其中L8两端节点(③,④)中存在与当前节点⑥相同的节点,将与当前节点⑥不同的⑤存入邻接链表,得到邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤};\n[0061] 判断顺序链表中的节点是否遍历完毕;\n[0062] 顺序链表中的节点未遍历完毕,选择下一节点⑦,遍历所有处于运行状态下的开关{L1,L3,L5,L6,L7,L8},其中L1两端节点(①,⑦)中存在与当前节点⑦相同的节点,将与当前节点⑦不同的①存入邻接链表,L7两端节点(⑤,⑦)中存在与当前节点⑦相同的节点,将与当前节点⑦不同的⑤存入邻接链表,得到邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤};\n[0063] 判断顺序链表中的节点是否遍历完毕;\n[0064] 顺序链表中的节点未遍历完毕,选择下一节点⑧,遍历所有处于运行状态下的开关{L1,L3,L5,L6,L7,L8},其中L3两端节点(②,⑧)中存在与当前节点⑧相同的节点,将与当前节点⑧不同的②存入邻接链表,L6两端节点(④,⑧)中存在与当前节点⑧相同的节点,将与当前节点⑧不同的④存入邻接链表,得到邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤,②④};\n[0065] 判断顺序链表中的节点是否遍历完毕;\n[0066] 顺序链表中的节点遍历完毕,对应于顺序表的最终邻接链表为{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤,②④}。\n[0067] 步骤(15)-(29)为对全网厂站进行连通性分析的详细步骤。针对图2所示厂站进行连通性分析的具体实施过程如下:\n[0068] 该厂站内部节点数为8,定义标志位数组A(8)={0,0,0,0,0,0,0,0},0表示厂站内对应的节点未被访问,1表示厂站内对应的节点已被访问;\n[0069] 厂站内母线有两条{⑦,⑧},先选择母线⑦,建立连通链表{⑦},并将节点⑦的标志位置1,即A(8)={0,0,0,0,0,0,1,0};\n[0070] 定义整数k,用于标示当前连通链表中已被查找过邻接点的节点个数,初始化k=\n0;\n[0071] 从当前邻接链表中查找当前连通链表中第0个节点的邻接点,并设置k=k+1=\n1;\n[0072] 查询最终邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤,②④}可知,连通链表的第0个节点⑦的邻接点为①⑤,且①⑤的标志位均为0;\n[0073] 将当前邻接点①⑤存入当前连通链表{⑦}中,得到{⑦,①⑤},并将当前邻接点①⑤的标志位设置为1,即A(8)={1,0,0,0,1,0,1,0};\n[0074] 判断k=1小于当前连通链表长度3,则从当前邻接链表中查找当前连通链表中第\n1个节点的邻接点,并设置k=k+1=2;\n[0075] 查询最终邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤,②④}可知,连通链表的第1个节点①的邻接点为⑦,且⑦的标志位为1;\n[0076] 判断k=2小于当前连通链表长度3,则从当前邻接链表中查找当前连通链表中第\n2个节点的邻接点,并设置k=k+1=3;\n[0077] 查询最终邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤,②④}可知,连通链表的第2个节点⑤的邻接点为⑦⑥,且⑦的标志位为1,⑥的标志位为0;\n[0078] 将当前邻接点⑥存入当前连通链表{⑦,①⑤}中,得到{⑦,①⑤,⑥},并将当前邻接点⑥的标志位设置为1,即A(8)={1,0,0,0,1,1,1,0};\n[0079] 判断k=3不小于当前连通链表长度3,判断当前厂站中的所有母线是否遍历完毕;\n[0080] 当前厂站的所有母线未遍历完毕,选择母线⑧,建立连通链表{⑧},并将节点⑧的标志位置1,即A(8)={1,0,0,0,1,1,1,1};\n[0081] 定义整数k,用于标示当前连通链表中已被查找过邻接点的节点个数,初始化k=\n0;\n[0082] 从当前邻接链表中查找当前连通链表中第0个节点的邻接点,并设置k=k+1=\n1;\n[0083] 查询最终邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤,②④}可知,连通链表的第0个节点⑧的邻接点为②④,且②④的标志位均为0;\n[0084] 将当前邻接点②④存入当前连通链表{⑧}中,得到{⑧,②④},并将当前邻接点②④的标志位设置为1,即A(8)={1,1,0,1,1,1,1,1};\n[0085] 判断k=1小于当前连通链表长度3,则从当前邻接链表中查找当前连通链表中第\n1个节点的邻接点,并设置k=k+1=2;\n[0086] 查询最终邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤,②④}可知,连通链表的第1个节点②的邻接点为⑧,且⑧的标志位为1;\n[0087] 判断k=2小于当前连通链表长度3,则从当前邻接链表中查找当前连通链表中第\n2个节点的邻接点,并设置k=k+1=3;\n[0088] 查询最终邻接链表{⑦,⑧,④,③⑧,⑦⑥,⑤,①⑤,②④}可知,连通链表的第2个节点④的邻接点为③⑧,且⑧的标志位为1,③的标志位为0;\n[0089] 将当前邻接点③存入当前连通链表{⑧,②④}中,得到{⑧,②④,③},并将当前邻接点③的标志位设置为1,即A(8)={1,1,1,1,1,1,1,1};\n[0090] 判断k=3不小于当前连通链表长度3,判断当前厂站中的所有母线是否遍历完毕;\n[0091] 母线⑦⑧均遍历完毕,因此本厂站连通性分析完毕,最终得到分别以⑦⑧开头的两条连通链表,{⑦→①⑤→⑥}和{⑧→②④→③}。\n[0092] 下面通过具体实例对本发明的技术方案作进一步表述。将上述实时状态快速获取方法已应用于开发的继电保护在线定值校核系统,并在某省级电网调度中心投入在线运行。该电网规模如表1所示。\n[0093] 表1某省级电网规模\n[0094] \n 类型 厂站 开关 刀闸 线路 发电机 变压器\n 数目 168 2820 5175 389 129 318\n 类型 厂站 开关 刀闸 线路 发电机 变压器\n 数目 168 2820 5175 389 129 318\n[0095] 使用本发明从能量管理系统获取模型文件“export_gxdw_all201107110912.xml”和断面文件“gx_20110711.DT”,最终得到在线校核所需的全网实时状态如下表2示。\n[0096] 表2某省级电网典型元件实时状态\n[0097] \n 元件类型 投运数目 停运数目\n 线路 260 129\n 发电机 78 51\n 变压器 282 36\n 元件类型 投运数目 停运数目\n 线路 260 129\n 发电机 78 51\n 变压器 282 36
法律信息
- 2015-11-11
未缴年费专利权终止
IPC(主分类): H02J 13/00
专利号: ZL 201110298397.3
申请日: 2011.09.29
授权公告日: 2013.07.24
- 2013-07-24
- 2012-06-06
实质审查的生效
IPC(主分类): H02J 13/00
专利申请号: 201110298397.3
申请日: 2011.09.29
- 2012-04-25
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2006-03-02
| | |
2
| |
2010-05-26
|
2008-10-07
| | |
3
| |
2010-08-25
|
2010-04-23
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |