CN108199879B - 基于spcd及scd形成智能站过程层网络拓扑的方法 - Google Patents
基于spcd及scd形成智能站过程层网络拓扑的方法 Download PDFInfo
- Publication number
- CN108199879B CN108199879B CN201711476138.9A CN201711476138A CN108199879B CN 108199879 B CN108199879 B CN 108199879B CN 201711476138 A CN201711476138 A CN 201711476138A CN 108199879 B CN108199879 B CN 108199879B
- Authority
- CN
- China
- Prior art keywords
- port
- porta
- portb
- spcd
- pcore
- 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.)
- Active
Links
- 208000033897 Systemic primary carnitine deficiency Diseases 0.000 title claims abstract description 151
- 208000016505 systemic primary carnitine deficiency disease Diseases 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000008569 process Effects 0.000 title claims abstract description 40
- 238000013507 mapping Methods 0.000 claims abstract description 14
- 238000012423 maintenance Methods 0.000 claims description 29
- 238000004458 analytical method Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000008676 import Effects 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 8
- 230000007704 transition Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J13/00—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
- H02J13/00001—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by the display of information or by user interaction, e.g. supervisory control and data acquisition systems [SCADA] or graphical user interfaces [GUI]
-
- H02J13/0013—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/16—Electric power substations
Abstract
本发明公开了一种基于SPCD及SCD形成智能站过程层网络拓扑的方法,要解决的技术问题是构建智能变电站过程层网络。本发明包括以下步骤:导入SPCD文件,从SPCD文件中提取信息,构建继电保护二次设备连接的路径,导入SCD文件,解析SCD文件,获得接收端二次设备的端口到发送端二次设备映射的集合,获得从发送端口到接收端口的网络路径集合,通过两集合构建跨交换机的路径,形成完整的网络路径列表。本发明与现有技术相比,可以快速形成智能站过程层网络拓扑,将智能变电站过程层的网络拓扑通过图形的方式展示,动态的显示各个二次设备的运行状态,各端口的运行状态,使得用户直观、一目了然的了解二次设备的的运行信息。
Description
技术领域
本发明涉及一种形成智能变电站网络结构的方法,特别是一种通过SPCD和SCD形成智能变电站过程层网络结构的方法。
背景技术
智能变电站(变电站,智能站)作为电网的一部分,其安全稳定的运行,对电网的安全和稳定运行具有重要作用。随着对电网的不断完善,对电网运维的重要性日益凸显,如何快速精确的定位电网运行过程中出现的问题所在,并进行行之有效的处理,在电网的日常运维中越来越重要。直观、一目了然的展示电网的运行方式,越来越受到用户的欢迎。作为可视化运维的一部分,将智能变电站过程层的网络拓扑通过图形的方式展示,并且动态的展示各个设备、各端口的运行状态,结合相应的数据分析,已经成为日常运维发展的必然趋势。快速构建智能变电站过程层二次设备的网络结构模型,形成所需的网络拓扑,是其中的一个重要环节,而现有技术还没有一种可以方便快速构建智能变电站过程层二次设备的网络结构模型的有效方法。
发明内容
本发明的目的是提供一种基于SPCD及SCD形成智能站过程层网络拓扑的方法,要解决的技术问题是快速构建智能变电站过程层网络。
本发明采用以下技术方案:一种基于SPCD及SCD形成智能站过程层网络拓扑的方法,包括以下步骤:
一、导入SPCD文件
由智能变电站运维服务器的运维分析系统将存放在本服务器的SPCD文件导入运维分析系统,将电子文档的文本文件转化为计算机识别的机器语言;
二、从SPCD文件中提取信息,形成智能变电站二次设备网络模型结构,获取SPCD文件的结构关系,包括以下步骤:
(21)解析区域Region节点,提取Region节点信息:描述、名称,构建SPCD_Region模型结构:区域名称、区域描述、区域内预制舱列表;
(22)解析预制舱Cubile节点,提取Cubile节点信息:描述、名称,构建SPCD_Cubile模型结构:名称、描述、该预制舱内所有端口连线的集合、该预制舱内所有单元的集合;
(23)解析单元Unit节点,提取Unit节点信息:名称、描述、生产厂家、类型、类别信息,构建SPCD_Unit模型结构:名称、描述、生产厂家、类型、类别、单元内所有的板卡列表;
(24)解析板卡Board节点,提取Board节点信息:描述、类型、卡槽编号信息,构建SPCD_Board模型结构:描述、类型、卡槽编号、该板卡所有端口的列表;
(25)解析端口Port节点,提取Port节点信息:描述、方向、类型、编号信息,构建SPCD_Port模型结构:描述、方向、类型、编号、上一个发送端口标识、下一个接受端口标识、所属单元的标识;
(26)解析同一个预制舱内端口连线IntCore节点,提取IntCore节点信息:连线名称、发送端口编号、接收端口编号,构建SPCD_Core_Int模型结构:名称、类型、接受端口标识、发送端口标识;
(27)解析线缆Cable节点,提取Cable节点信息:描述、名称、类型、线缆连接的一端预制舱标识、线缆连接的另外一端预制舱标识、预制舱之间端口接线的数目,构建SPCD_Cable模型结构:描述、名称、类型、线缆连接的一端预制舱标识、线缆连接的另外一端预制舱标识、预制舱之间端口接线的数目、预制舱之间端口接线的集合;
(28)解析不同预制舱之间的端口连线Core节点,提取Core节点信息:编号、发送端口标识、接收端口标识,构建SPCD_Core_Out模型结构:编号、发送端口标识、接收端口标识;
三、构建继电保护二次设备之间直连路径或继电保护二次设备经过交换机间接连接的路径,包括以下步骤:
(31)将预制舱内部的端口连线对象SPCD_Core_Int集合中每个端口连线对象的端口方向明确为发送Tx或接收Rx的端口,指定发送、接收关系;
(32)不同预制舱之间的端口连线对象SPCD_Core_Out集合中每一个端口连线对象端口方向明确为发送Tx或者接收Rx的端口,指定发送、接收关系;
(33)将步骤(32)中过滤的方向都为RT的端口连线SPCD_Core_Out对象和步骤(31)中过滤的方向都为RT的端口连线对象SPCD_Core_Int对象,存入端口连线对象SPCD_Core列表,对所述端口连线对象指定两端口的发送端、接收端关系;
(34)形成至少2个端口连接的路径列表。
四、导入SCD文件
由智能变电站运维服务器的运维分析系统将存放在本服务器的SCD文件导入运维分析系统,将电子文档的文本文件转化为计算机识别的机器语言;
五、解析SCD文件,获取变电站继电保护信号发送端的二次设备到变电站继电保护二次设备信号接收端口的映射,包括以下步骤:
(51)根据SCD文件,遍历SCD文件中的所有节点,创建对象SCD_Object,包含属性:标签名、父节点、子节点列表、属性与属性值的映射集合;
(52)过滤SCD_Object对象,如果该对象标签名“ExtRef”,且父节点对象的标签名为“Inputs”,则将该对象存入对象队列,标识为vObjects;如果该对象标签名为“SCL”;则将该节点对象视为根节点对象;
(53)遍历标签名为“ExtRef”,并且父对象标签名为“Inputs”对象的队列vObjects,获取对象属性为“IedName”的值作为发送端二次设备的标识;获取对象属性为“intAddr”的值并且根据该对象父节点标识回溯查找标签名称为“IED”的节点对象,获取该标签名为“IED”的节点对象属性“name”的值,组成接收端二次设备端口标识;构建从接收端二次设备的端口到发送端二次设备的映射集合;
六、获得接收端二次设备的端口到发送端二次设备映射的集合,标识为vTxIed2RxportMap,获得从发送端口到接收端口的网络路径集合,标识为vPaths,通过两集合构建跨交换机的路径,包括以下步骤:
(61)获取vTxIed2RxportMap和vPaths;
(62)过滤掉vPaths的直连路径;
(63)结合直连路径过滤vTxIed2RxportMap中的对应的映射;
(64)结合过滤以后的vTxIed2RxportMap处理vPaths中发送端口为交换机接收端为设备的路径,获取跨交换机从二次设备到二次设备的网络拓扑;
七、形成完整的网络路径列表。
本发明的步骤一的运维分析系统为PRS7012运维分析系统。
本发明的步骤(31)包括以下步骤:
(3101)遍历SPCD_Core_Int列表;
(3102)判断SPCD_Core_Int列表是否为空,若SPCD_Core_Int列表为空,结束遍历的过程;
(3103)获得SPCD_Core_Int列表中当前索引的对象,标识为pCore;
(3104)pCore的端口PortA和端口PortB合理性判断,不合理依据:PortA的端口方向为“TX”、“RX”、“RT”中的一种,如果未设置或设置不对,即不合理,不合理则中断该步骤,获取下一个SPCD_Core_Int对象,重新开始执行步骤(3101);
(3105)判断pCore的PortB和PortA的方向都为“RT”,“RT”为端口数据传输方向的类型;
(3106)将方向都为“RT”的端口存入列表,在步骤(31)中暂不处理该列表;在后续的步骤(33)中,循环处理两个端口都为“RT”类型的连线对象,形成发送端口和接收端口唯一,中间端口不固定的所有的路径;
(3107)判断pCore的PortB方向和PortA的方向,两端口方向必定为“RX”、“TX”或“RT”,且不相同,方向相同则配置错误,中断流程,重新开始步骤(3101),遍历下一个端口连线对象;
(3108)判断pCore的PortA方向等于“Tx”或者PortB的方向等于“Rx”;
(3109)判断pCore的PortA方向等于“Rx”或者PortB的方向等于“Tx”;
(3110)pCore的PortB的接收端口存在,且不为PortA,则说明配置错误,造成PortB的接收端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象;
(3111)pCore的PortA的发送端口存在,且不为PortB,则说明配置错误,造成PortA的发送端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象;
(3112)将PortA的发送端口置为PortB,将PortB的接收端口置为PortA,将PortA、PortB存入端口列表中;
(3113)pCore的PortA的接收端口存在,且不为PortB,则说明配置错误,造成PortA的接收端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象;
(3114)pCore的PortB的发送端口存在,且不为PortA,则说明配置错误,造成PortB的发送端口多个,中断pCore接下来的流程,遍历下一个端口连线对象;
(3115)将PortA、PortB存入端口列表中,将PortA的接收端口置为PortB,将PortB的发送端口置为PortA。
本发明的步骤(32)包括以下步骤:
(3201)遍历SPCD_Core_Out列表;
(3202)判断SPCD_Core_Out列表是否为空,列表为空,结束遍历的过程;
(3203)获得SPCD_Core_Out列表中当前索引的对象,标识为对象pCore;
(3204)pCore的端口PortA;和端口PortB;合理性判断,合理性依据:PortA的端口方向为“TX”、“RX”、“RT”中的一种,如果未设置或者设置不对,即不合理,不合理则中断流程,获取下一个SPCD_Core_Out对象,重新执行步骤(3201);
(3205)判断pCore的PortB和PortA的方向都为“RT”,“RT”为端口数据传输方向的类型;
(3206)将方向都为“RT”的端口存入列表,在步骤(32)暂不处理该列表;在后续的步骤(33)中,循环处理两个端口都为“RT”类型的连线,形成发送端口和接收端口唯一,中间端口不固定的所有的路径;
(3207)判断pCore的PortB方向和PortA的方向,两端口方向必定为“RX”、“TX”或“RT”,且不相同,方向相同则配置错误,中断pCore接下来的流程,遍历下一个端口连线对象;
(3208)判断pCore的PortA方向等于“Tx”或PortB的方向等于“Rx”;
(3209)判断pCore的PortA方向等于“Rx”或者PortB的方向等于“Tx”;
(3210)pCore的PortB的接收端口存在,且不为PortA,则配置错误,造成PortB的接收端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象;
(3211)pCore的PortA的发送端口存在,且不为PortB,则配置错误,造成PortA的发送端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象;
(3212)将PortA的发送端口置为PortB,将PortB的接收端口置为PortA,将PortA、PortB存入端口列表中;
(3213)pCore的PortA的接收端口存在,且不为PortB,则配置错误,造成PortA的接收端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象;
(3214)pCore的PortB的发送端口存在,且不为PortA,则配置错误,造成PortB的发送端口多个,中断pCore接下来的流程,遍历下一个端口连线对象;
(3215)将PortA、PortB存入端口列表中,将PortA的接收端口置为PortB,将PortB的发送端口置为PortA。
本发明的步骤(33)包括以下步骤:
(3301)判断端口方向都为RT的端口连线对象SPCD_Core列表是否空或者是否每个非孤立端口连线对象都已经执行过步骤(33),列表为空或者每个非孤立对象都已经处理,则结束该步骤;
(3302)遍历SPCD_Core列表,逐个获取端口连接对象,标识为pCore;
(3303)判断是否遍历完SPCD_Core列表;
(3304)当遍历完一轮SPCD_Core列表,用来标识遍历次数的nCount计数减一;
(3305)未遍历完SPCD_Core列表,则获取该索引对应的端口连接对象,标识为pCore;
(3306)判断pCore的一端口,标识为PortA的发送端口是否存在,若不存在转至步骤(3313);
(3307)判断PortA的发送端口是否等于pCore的另外一个端口,标识为PortB,若不等于转至步骤(3313);
(3308)判断PortA的接收端口存在并且不等于PortB是否成立,若等于转至步骤(3313);
(3309)判断PortB的发送端口存在并且不等于PortA是否成立,若成立转至步骤(3313);
(3310)将PortA、PortB存入端口列表;
(3311)PortA的接收端口置为PortB,PortB的发送端口置为PortA;
(3312)从SPCD_Core列表中删除该pCore,nCount计数减一,重新按步骤(3301)开始;
(3313)判断pCore的PortA的接收端口是否存在,若不存在转至步骤(3320);
(3314)判断PortA的接收端口不等于PortB是否成立,若不成立转至步骤(3320);
(3315)判断PortA的发送端口存在并且不等于PortB是否成立,若不成立转至步骤(3320);
(3316)判断PortB的接收端口存在并且不等于PortA是否成立,若不成立转至步骤(3320);
(3317)将PortA、PortB存入端口列表m_vPaths;
(3318)PortA的发送端口置为PortB;PortB的接收端口置为PortA;
(3319)从SPCD_Core列表中删除该pCore,nCount计数减一,重新按步骤(3301)开始;
(3320)判断pCore的PortB的发送端口是否存在,若不存在转至步骤(3327);
(3321)判断PortB的发送端口不等于PortA是否成立,若不成立转至步骤(3327);
(3322)判断PortB的接收端口存在并且不等于PortA是否成立,若不成立转至步骤(3327);
(3323)判断PortA的发送端口存在并且不等于PortB是否成立,若不成立转至步骤(3327);
(3324)将PortA、PortB存入端口列表;
(3325)PortA的发送端口置为PortB,PortB的接收端口置为PortA;
(3326)从SPCD_Core列表中删除pCore,nCount计数减一,重新按步骤(3301)开始;
(3327)判断pCore的PortB的接收端口是否存在,若不存在转至步骤(3302);
(3328)判断PortB的接收端口不等于PortA是否成立,若不成立转至步骤(3302);
(3329)判断PortA的接收端口存在并且不等于PortB是否成立,若不成立转至步骤(3302);
(3330)判断PortB的发送端口存在并且不等于PortA是否成立,若不成立转至步骤(3302);
(3331)将PortA、PortB存入端口列表;
(3332)PortB的发送端口置为PortA,PortA的接收端口置为PortB;
(3333)从SPCD_Core列表中删除该pCore,nCount计数减一,从新按步骤(3301)开始。
本发明的步骤(34)包括以下步骤:
(3401)判断端口列表是否为空,若为空结束该步骤;
(3402)从端口列表中取出待处理的端口,标识为PortA,同时从队列中移除该端口;
(3403)经过步骤(31)到步骤(33),每个端口如果存在发送端口,则可以通过发送端口的标识,一直回溯找到PortA的源发送端口,标识为PortC,并将所经过的端口从端口队列中移除;
(3404)经过步骤(31)到步骤(33),每个端口如果存在接收端口,则可以通过接收端口的标识,一直下顺找到PortA的目的接收端口,并将经过的端口从端口队列中移除除;
(3405)将源发送端口PortC存入新的端口队列。
本发明的步骤四的运维分析系统为PRS7012运维分析系统。
本发明的步骤(64)包括以下步骤:
(641)从网络路径的集合vPaths中获取接收端为继电保护二次设备,发送端为交换机的路径集合,标识为vTxSwitch2RxIed;
(642)判断vTxSwitch2RxIed是否空,为空则退出步骤(64);
(643)取出vTxSwitch2RxIed中未处理的路径;
(644)获得接收端口,标识为pRecvPort以及该端口的标识字符串,标识为sRecvPort;
(645)从vTxIed2RxportMap获取关键字为sRecvPort对应的值,标识为values;
(646)判断values是否为空;
(647)获取values中未处理的发送端设备名称标识为sIedName;
(648)根据sRecvPort和发送方继电保护二次设备名称sIedName递归获取完整链路。
本发明与现有技术相比,可以快速形成智能站过程层网络拓扑,将智能变电站过程层的网络拓扑通过图形的方式展示,动态的显示各个二次设备的运行状态,各端口的运行状态,使得用户直观、一目了然的了解二次设备的的运行信息。
附图说明
图1是本发明的方法流程图。
图2是本发明的解析SPCD文件流程图。
图3是本发明的形成全站的网络模型结构流程图。
图4是本发明在SPCD文件中,保护屏柜内部端口接线标签名为IntCore的对象中数据传输方向明确为Tx或为Rx的端口指定其发送端口和接收端口流程图。
图5是本发明在SPCD文件中,不同保护屏柜之间端口接线标签名为Core的对象中数据传输方向明确为Tx或为Rx的端口指定其发送端口和接收端口流程图。
图6是本发明在SPCD文件中,标签名为Core对象以及在SPCD文件中,标签名为IntCore对象中数据传输方向都为无明确指向,可以做接收,亦可做发送RT的端口指定其发送端口和接收端口流程图。
图7是本发明的形成路径列表流程图。
图8是本发明的导入SCD文件流程图。
图9是本发明通过结合SPCD文件解析结果和SCD文件的解析结果构建跨交换机的从一个继电保护二次设备到另外一个继电保护二次设备之间完整的可能路径流程图。
图10是本发明的经过步骤(4)~(5),获得接收端二次设备的端口到发送端二次设备映射的集合,标识为vTxIed2RxportMap,经过步骤(1)~(3),获得从发送端口到接收端口的网络路径集合,标识为vPaths,通过两集合构建跨交换机的路径流程图。
图11是本发明的物理回路的配置流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。本发明的基于SPCD及SCD形成智能站过程层网络拓扑的方法(方法),如图1所示,包括以下步骤:
一、导入SPCD文件
SPCD文件为变电站物理配置描述文件(Substation Physical ConfigurationDescription)文件,采用可扩展标记语言XML(Extensible Markup Language)描述变电站全站物理回路配置的文件,由变电站建设单位负责提供文件的电子档。完整的变电站二次回路模型包括物理回路模型和逻辑回路模型,在二次设备制造及其系统集成阶段物理回路和逻辑回路的配置过程均为解耦操作。二次回路包括物理回路以及回路上交互的信息;物理配置指导物理回路的建设,也是物理回路的真实反映。如图11所示,逻辑回路的配置流程在QGDW 1396-2012标准中明确规定。物理回路的配置流程如下:
(1)设备制造阶段通过物理端口描述文件IPCD(IPCD:IED Physical CapabilityDescription)配置工具配置IPCD文件,IPCD文件中包含单智能电子设备(装置)的板卡、端口物理能力描述信息,且应与装置的物理硬件保持一致。
(2)系统集成阶段通过SPCD配置工具导入IPCD文件,完成全站物理回路的配置,形成SPCD文件。
(3)系统集成后形成的全站完整变电站系统配置文件SCD(SubstationConfiguration Description)和SPCD文件中,包含可相互映射索引的装置标识符以及物理端口标识符,通过在SCD中检索逻辑回路、在SPCD中检索物理回路,可获取物理回路与逻辑回路的虚实映射关系。
由变电站运维服务器里装有的长园深瑞继保自动化有限公司的PRS7012运维分析程序(分析程序)自动将存放在变电站运维服务器固定目录下的SPCD文件导入该分析程序,将电子文档的文本文件转化为计算机识别的机器语言。
二、本服务器上的分析程序解析SPCD文件,从SPCD文件中提取相关信息,形成智能变电站全站的继电保护二次设备(二次设备)网络模型结构,在分析程序内存中获取文件的结构关系。如图2所示,包括以下步骤:
(21)解析区域Region(SPCD文件的一个标签名称)节点,提取Region节点信息:描述desc(电子文档中标签的属性名称),名称name(电子文档中标签的属性名称),构建SPCD_Region(Region节点在计算机识别的机器语言程序内的对应表述)模型结构。
SPCD_Region模型结构:区域名称、区域描述、区域内预制舱列表。
(22)解析预制舱Cubile(SPCD文件的一个标签名称)节点,提取Cubile节点信息:描述desc(标签的属性名称),名称name(标签的属性名称),构建SPCD_Cubile模型结构,Cubile节点在计算机程序内的表述。
SPCD_Cubile模型结构:名称、描述、该预制舱内所有端口连线的集合、该预制舱内所有单元的集合。
(23)解析单元Unit(SPCD文件的一个标签名称)节点,提取Unit节点信息:名称、描述、生产厂家、类型、类别信息,构建SPCD_Unit模型结构,Unit节点在计算机程序内的表述。
SPCD_Unit模型结构:名称、描述、生产厂家、类型、类别、单元内所有的板卡列表。
(24)解析板卡Board(SPCD文件的一个标签名称)节点,提取Board节点信息:描述、类型、卡槽编号信息,构建SPCD_Board模型结构,Board节点在计算机程序内的表述。
SPCD_Board模型结构:描述、类型、卡槽编号、该板卡所有端口的列表。
(25)解析端口Port(SPCD文件的一个标签名称)节点,提取Port节点信息:
描述、方向、类型、编号信息,构建SPCD_Port模型结构,Port节点在计算机程序内的表述。
SPCD_Port模型结构:描述、方向、类型、编号、上一个发送端口标识、下一个接受端口标识、所属单元的标识。所属单元为SPCD_Unit(定义同(23)一致,SPCD_Port属于SPCD_Unit的部分,SPCD_Unit与SPCD_Port属于包含与被包含的关系。
(26)解析同一个预制舱内端口连线IntCore(SPCD文件的一个标签名称)节点,提取IntCore节点信息:连线名称、发送端口编号、接收端口编号,构建SPCD_Core_Int模型结构,IntCore节点在计算机程序内的表述。
SPCD_Core_Int模型结构:名称、类型、接受端口标识、发送端口标识。
(27)解析线缆Cable节点(Cable为SPCD文件的一个标签名称,不同的预制舱Cubile通过线缆Cable相连),提取Cable节点信息:描述、名称、类型、一端预制舱Cubile的标识、另外一端预制舱Cubile的标识、预制舱之间端口接线的数目,构建SPCD_Cable模型结构,Cable节点在计算机程序内的表述。
SPCD_Cable模型结构:描述、名称、类型、线缆连接的一端预制舱标识、线缆连接的另外一端预制舱标识、预制舱之间端口接线的数目、预制舱之间端口接线的集合。
(28)解析不同预制舱之间的端口连线Core(SPCD文件的一个标签名称)节点,提取Core节点信息:编号、发送端口标识、接收端口标识,构建SPCD_Core_Out模型结构,Core节点在计算机程序内的表述。
SPCD_Core_Out模型结构:编号、发送端口标识、接收端口标识。
三、基于步骤二获取的模型结构及其关系,构建继电保护二次设备之间直连路径或继电保护二次设备经过交换机间接连接的路径。如图3所示,包括以下步骤:
(31)将预制舱内部的端口连线对象SPCD_Core_Int集合中每个端口连线对象的端口方向明确为发送Tx或者接收Rx的端口,指定发送、接收关系。
如图4所示,步骤(31)包括以下步骤:
(3101)遍历SPCD_Core_Int列表,作用:根据索引从列表中逐一获取SPCD_Core_Int对象。
(3102)判断SPCD_Core_Int列表是否为空,若SPCD_Core_Int列表为空,结束遍历的过程。
(3103)获得SPCD_Core_Int列表中当前索引的对象,标识为pCore。
(3104)pCore的端口PortA(一端口的标识)和端口PortB(另外端口的标识)合理性判断,不合理依据:PortA的端口方向为“TX”、“RX”、“RT”中的一种,如果未设置或设置不对,即不合理,不合理则中断该步骤,获取下一个SPCD_Core_Int对象,重新开始执行步骤(3101)。
(3105)判断pCore的PortB和PortA的方向都为“RT”,“RT”为端口数据传输方向的类型,同“TX”(发送)、“Rx”(接收)一样,“RT”表示发送、接收均可的端口。
(3106)将方向都为“RT”的端口存入列表,在步骤(31)中暂不处理该列表;在后续的步骤(33)中,循环处理两个端口都为“RT”类型的连线对象,形成发送端口和接收端口唯一,中间端口不固定的所有的路径。
(3107)判断pCore的PortB方向和PortA的方向,两端口方向必定为“RX”、“TX”或“RT”,且不相同,方向相同则配置错误,中断流程,重新开始步骤(3101),遍历下一个端口连线对象。
(3108)判断pCore的PortA方向等于“Tx”或者PortB的方向等于“Rx”。
(3109)判断pCore的PortA方向等于“Rx”或者PortB的方向等于“Tx”。
(3110)pCore的PortB的接收端口存在,且不为PortA,则说明配置错误,造成PortB的接收端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象。
(3111)pCore的PortA的发送端口存在,且不为PortB,则说明配置错误,造成PortA的发送端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象。
(3112)将PortA的发送端口置为PortB,将PortB的接收端口置为PortA,将PortA、PortB存入端口列表中。
(3113)pCore的PortA的接收端口存在,且不为PortB,则说明配置错误,造成PortA的接收端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象。
(3114)pCore的PortB的发送端口存在,且不为PortA,则说明配置错误,造成PortB的发送端口多个,中断pCore接下来的流程,遍历下一个端口连线对象。
(3115)将PortA、PortB存入端口列表中,将PortA的接收端口置为PortB,将PortB的发送端口置为PortA。
(32)不同预制舱之间的端口连线对象SPCD_Core_Out集合中每一个端口连线对象端口方向明确为发送Tx或者接收Rx的端口,指定发送、接收关系。
如图5所示,步骤(32)包括以下步骤:
(3201)遍历SPCD_Core_Out列表,作用:根据索引从列表中逐一获取SPCD_Core_Out对象。
(3202)判断SPCD_Core_Out列表是否为空,列表为空,结束遍历的过程。
(3203)获得SPCD_Core_Out列表中当前索引的对象,标识为对象pCore。
(3204)pCore的端口PortA(一个端口的标识)和端口PortB(另外端口的标识)合理性判断,合理性依据:PortA的端口方向为“TX”、“RX”、“RT”中的一种,如果未设置或者设置不对,即不合理,不合理则中断流程,获取下一个SPCD_Core_Out对象,重新执行步骤(3201)。
(3205)判断pCore的PortB和PortA的方向都为“RT”,“RT”为端口数据传输方向的类型,同“TX”、“Rx”一样,“RT”表示发送、接收均可的端口。
(3206)将方向都为“RT”的端口存入列表,在步骤(32)暂不处理该列表;在后续的步骤(33)中,循环处理两个端口都为“RT”类型的连线,形成发送端口和接收端口唯一,中间端口不固定的所有的路径。
(3207)判断pCore的PortB方向和PortA的方向,两端口方向必定为“RX”、“TX”或“RT”,且不相同,方向相同则配置错误,中断pCore接下来的流程,遍历下一个端口连线对象。
(3208)判断pCore的PortA方向等于“Tx”或者PortB的方向等于“Rx”。
(3209)判断pCore的PortA方向等于“Rx”或者PortB的方向等于“Tx”。
(3210)pCore的PortB的接收端口存在,且不为PortA。则说明配置错误,造成PortB的接收端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象。
(3211)pCore的PortA的发送端口存在,且不为PortB。则说明配置错误,造成PortA的发送端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象。
(3212)将PortA的发送端口置为PortB,将PortB的接收端口置为PortA,将PortA、PortB存入端口列表中。
(3213)pCore的PortA的接收端口存在,且不为PortB,则说明配置错误,造成PortA的接收端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象。
(3214)pCore的PortB的发送端口存在,且不为PortA,则说明配置错误,造成PortB的发送端口多个,中断pCore接下来的流程,遍历下一个端口连线对象。
(3215)将PortA、PortB存入端口列表中,将PortA的接收端口置为PortB,将PortB的发送端口置为PortA。
(33)在步骤(32)中过滤的方向都为RT的端口连线SPCD_Core_Out对象和在步骤(31)中过滤的方向都为RT的端口连线对象SPCD_Core_Int对象,全部存入端口连线对象SPCD_Core列表,该步骤中对所述端口连线对象指定两端口的发送端、接收端关系。
如图6所示,步骤(33)包括以下步骤:
(3301)判断端口方向都为RT的端口连线对象SPCD_Core列表是否空或者是否每个非孤立端口连线对象都已经执行过步骤(33),列表为空或者每个非孤立对象都已经处理,则结束该步骤。
(3302)遍历SPCD_Core列表,逐个获取端口连接对象,标识为pCore。
(3303)判断是否遍历完SPCD_Core列表。
(3304)当遍历完一轮SPCD_Core列表,用来标识遍历次数的nCount(初始值为SPCD_Core列表中端点连线对象的个数)计数减一。作用:每个对象指定了其端口PortA和PortB的方向,则将该对象从列表中删除,到最后,如果列表为空,将可以退出循环;如果列表中不存在需要处理的对象,即孤立的连线,则队列中不会清除该对象,造成队列不为空,无法退出循环;采用遍历完列表,nCount计数减一,可以既保证队列的所有非孤立的对象的端口PortA、PortB都可以指定方向,同时存在孤立无需指定端口方向的连线对象的队列可以在nCount减为0时,退出循环,避免死循环,重新开始步骤(3301)。
(3305)未遍历完SPCD_Core列表,则获取该索引对应的端口连接对象,标识为pCore。
(3306)判断pCore的一端口,标识为PortA的发送端口是否存在,若不存在转至步骤(3313)。
(3307)判断PortA的发送端口是否等于pCore的另外一个端口,标识为PortB,若不等于转至步骤(3313)。
(3308)判断PortA的接收端口存在并且不等于PortB是否成立,若等于转至步骤(3313)。
(3309)判断PortB的发送端口存在并且不等于PortA是否成立,若成立转至步骤(3313)。
(3310)将PortA、PortB存入端口列表。
(3311)PortA的接收端口置为PortB,PortB的发送端口置为PortA。
(3312)从SPCD_Core列表中删除该pCore,nCount计数减一,重新按步骤(3301)开始。
步骤(3306)至(3312)作用为:确定PortA的接收端口,PortB的发送端口。
(3313)判断pCore的PortA的接收端口是否存在,若不存在转至步骤(3320)。
(3314)判断PortA的接收端口不等于PortB是否成立,若不成立转至步骤(3320)。
(3315)判断PortA的发送端口存在并且不等于PortB是否成立,若不成立转至步骤(3320)。
(3316)判断PortB的接收端口存在并且不等于PortA是否成立,若不成立转至步骤(3320)。
(3317)将PortA、PortB存入端口列表m_vPaths。
(3318)PortA的发送端口置为PortB;PortB的接收端口置为PortA。
(3319)从SPCD_Core列表中删除该pCore,nCount计数减一,重新按步骤(3301)开始。
步骤(3313)至(3319)作用为:确定PortA的发送端口,PortB的接收端口。
(3320)判断pCore的PortB的发送端口是否存在,若不存在转至步骤(3327)。
(3321)判断PortB的发送端口不等于PortA是否成立,若不成立转至步骤(3327)。
(3322)判断PortB的接收端口存在并且不等于PortA是否成立,若不成立转至步骤(3327)。
(3323)判断PortA的发送端口存在并且不等于PortB是否成立,若不成立转至步骤(3327)。
(3324)将PortA、PortB存入端口列表。
(3325)PortA的发送端口置为PortB,PortB的接收端口置为PortA。
(3326)从SPCD_Core列表中删除pCore,nCount计数减一,重新按步骤(3301)开始。
步骤(3320)至(3326)作用为:确定PortA的发送端口,PortB的接收端口。
(3327)判断pCore的PortB的接收端口是否存在,若不存在转至步骤(3302)。
(3328)判断PortB的接收端口不等于PortA是否成立,若不成立转至步骤(3302)。
(3329)判断PortA的接收端口存在并且不等于PortB是否成立,若不成立转至步骤(3302)。
(3330)判断PortB的发送端口存在并且不等于PortA是否成立,若不成立转至步骤(3302)。
(3331)将PortA、PortB存入端口列表。
(3332)PortB的发送端口置为PortA,PortA的接收端口置为PortB。
(3333)从SPCD_Core列表中删除该pCore,nCount计数减一,从新按步骤(3301)开始。
步骤(3327)至(3333)作用为:确定PortB的发送端口,PortA的接收端口。
(34)经过步骤(31)至步骤(33),每个非孤立端口连线的端口都有其发送端口和接收端口,从而形成至少2个端口连接的路径列表。路径列表为一系列直连线路、或者从一个发送端口经过一个或多个中间端口到达接收端口的线路的集合。
如图7所示,步骤(34)包括以下步骤:
(3401)判断端口列表是否为空,若为空结束该步骤。
(3402)从端口列表中取出待处理的端口,标识为PortA,同时从队列中移除该端口。
(3403)经过步骤(31)到步骤(33)的处理,每个端口如果存在发送端口,则可以通过发送端口的标识,一直回溯找到PortA的源发送端口,标识为PortC,并将所经过的端口从端口队列中移除。
(3404)经过步骤(31)到步骤(33)的处理,每个端口如果存在接收端口,则可以通过接收端口的标识,一直下顺找到PortA的目的接收端口,并将经过的端口从端口队列中移除除。
(3405)将源发送端口PortC存入新的端口队列。
步骤3401至步骤3405的作用为:根据每个端口的接收端或者发送端,将相关联的端口串联起来,形成一条完整的路径。
四、导入SCD文件
SCD文件为一种类XML格式的文本文件,记录变电站内全站的系统配置信息,由变电站的建设单位负责提供电子档文件。
由变电站运维服务器里装有的长园深瑞继保自动化有限公司的PRS7012运维分析系统自动将存放在本服务器固定目录下的SCD文件导入该分析程序,将电子文档的文本文件转化为计算机识别的机器语言。
五、分析程序通过解析SCD文件,获取变电站继电保护信号发送端的二次设备到变电站继电保护二次设备信号接收端口的映射。如图8所示,包括以下步骤:
(51)根据导入的SCD文件,遍历该文件中的所有节点,创建对应的对象SCD_Object,包含属性:标签名、父节点、子节点列表、属性与属性值的映射集合。
(52)过滤所有的SCD_Object对象,如果该对象标签名“ExtRef”,且父节点对象的标签名为“Inputs”,则将该对象存入对象队列,标识为vObjects;如果该对象标签名为“SCL”;则将该节点对象视为根节点对象。
(53)遍历标签名为“ExtRef”,并且父对象标签名为“Inputs”对象的队列vObjects,获取对象属性为“IedName”的值作为发送端二次设备的标识;获取对象属性为“intAddr”的值并且根据该对象父节点标识回溯查找标签名称为“IED”的节点对象,获取该标签名为“IED”的节点对象属性“name”的值,组成接收端二次设备端口标识(标识格式:接收端二次设备名称.卡槽-端口号);构建从接收端二次设备的端口到发送端二次设备的映射集合。
IED:智能电子设备Intelligent Electronic Device。
六、经过步骤(4)~(5),获得接收端二次设备的端口到发送端二次设备映射的集合,标识为vTxIed2RxportMap,经过步骤(1)~(3),获得从发送端口到接收端口的网络路径集合,标识为vPaths,通过两集合构建跨交换机的路径,如图9所示,包括以下步骤:
(61)获取vTxIed2RxportMap和vPaths。
(62)过滤掉vPaths的直连路径。
(63)结合直连路径过滤vTxIed2RxportMap中的对应的映射。
(64)结合过滤以后的vTxIed2RxportMap处理vPaths中发送端口为交换机接收端为设备的路径,进而获取跨交换机从一继电保护二次设备到另一继电保护二次设备的网络拓扑。
如图10所示,步骤(64)包括以下步骤:
(641)从网络路径的集合vPaths中获取接收端为继电保护二次设备,发送端为交换机的路径集合,标识为vTxSwitch2RxIed。
(642)判断vTxSwitch2RxIed是否空,为空则退出步骤(64)。
(643)取出vTxSwitch2RxIed中未执行步骤(644)~(648)的路径。
(644)获得接收端口,标识为pRecvPort以及该端口的标识字符串,标识为sRecvPort(格式:二次设备名称,卡槽编号-端口编号)。
(645)从vTxIed2RxportMap获取关键字为sRecvPort对应的值,标识为values。
(646)判断values是否为空。
(647)获取values中未处理的发送端设备名称标识为sIedName。
(648)根据sRecvPort和发送方二次设备名称sIedName递归获取完整链路。
七、形成完整的网络路径列表(网络拓扑)。
通过本发明方法的步骤,可以快速形成完整的网络路径列表,将智能变电站过程层的网络拓扑通过图形的方式展示,并且动态的展示各个二次设备的运行状态,各端口的运行状态,使得用户直观、一目了然的了解二次设备的运行信息。
Claims (1)
1.一种基于SPCD及SCD形成智能站过程层网络拓扑的方法,包括以下步骤:
一、导入SPCD文件
由智能变电站运维服务器的运维分析系统将存放在本服务器的SPCD文件导入运维分析系统,将电子文档的文本文件转化为计算机识别的机器语言;
二、从SPCD文件中提取信息,形成智能变电站二次设备网络模型结构,获取SPCD文件的结构关系,包括以下步骤:
(21)解析区域Region节点,提取Region节点信息:描述、名称,构建SPCD_Region模型结构:区域名称、区域描述、区域内预制舱列表;
(22)解析预制舱Cubile节点,提取Cubile节点信息:描述、名称,构建SPCD_Cubile模型结构:名称、描述、该预制舱内所有端口连线的集合、该预制舱内所有单元的集合;
(23)解析单元Unit节点,提取Unit节点信息:名称、描述、生产厂家、类型、类别信息,构建SPCD_Unit模型结构:名称、描述、生产厂家、类型、类别、单元内所有的板卡列表;
(24)解析板卡Board节点,提取Board节点信息:描述、类型、卡槽编号信息,构建SPCD_Board模型结构:描述、类型、卡槽编号、该板卡所有端口的列表;
(25)解析端口Port节点,提取Port节点信息:描述、方向、类型、编号信息,构建SPCD_Port模型结构:描述、方向、类型、编号、上一个发送端口标识、下一个接收 端口标识、所属单元的标识;
(26)解析同一个预制舱内端口连线IntCore节点,提取IntCore节点信息:连线名称、发送端口编号、接收端口编号,构建SPCD_Core_Int模型结构:名称、类型、接收 端口标识、发送端口标识;
(27)解析线缆Cable节点,提取Cable节点信息:描述、名称、类型、线缆连接的一端预制舱标识、线缆连接的另外一端预制舱标识、预制舱之间端口接线的数目,构建SPCD_Cable模型结构:描述、名称、类型、线缆连接的一端预制舱标识、线缆连接的另外一端预制舱标识、预制舱之间端口接线的数目、预制舱之间端口接线的集合;
(28)解析不同预制舱之间的端口连线Core节点,提取Core节点信息:编号、发送端口标识、接收端口标识,构建SPCD_Core_Out模型结构:编号、发送端口标识、接收端口标识;
三、构建继电保护二次设备之间直连路径或继电保护二次设备经过交换机间接连接的路径,包括以下步骤:
(31)将预制舱内部的端口连线对象SPCD_Core_Int集合中每个端口连线对象的端口方向明确为发送Tx或接收Rx的端口,指定发送、接收关系;
(32)不同预制舱之间的端口连线对象SPCD_Core_Out集合中每一个端口连线对象端口方向明确为发送Tx或者接收Rx的端口,指定发送、接收关系;
(33)将步骤(32)中过滤的方向都为RT的端口连线SPCD_Core_Out对象和步骤(31)中过滤的方向都为RT的端口连线对象SPCD_Core_Int对象,存入端口连线对象SPCD_Core列表,对所述端口连线对象指定两端口的发送端、接收端关系;
(34)形成至少2个端口连接的路径列表;
四、导入SCD文件
由智能变电站运维服务器的运维分析系统将存放在本服务器的SCD文件导入运维分析系统,将电子文档的文本文件转化为计算机识别的机器语言;
五、解析SCD文件,获取变电站继电保护信号发送端的二次设备到变电站继电保护二次设备信号接收端口的映射,包括以下步骤:
(51)根据SCD文件,遍历SCD文件中的所有节点,创建对象SCD_Object,包含属性:标签名、父节点、子节点列表、属性与属性值的映射集合;
(52)过滤SCD_Object对象,如果该对象标签名“ExtRef”,且父节点对象的标签名为“Inputs”,则将该对象存入对象队列,标识为vObjects;如果该对象标签名为“SCL”;则将该节点对象视为根节点对象;
(53)遍历标签名为“ExtRef”,并且父对象标签名为“Inputs”对象的队列vObjects,获取对象属性为“IedName”的值作为发送端二次设备的标识;获取对象属性为“intAddr”的值并且根据该对象父节点标识回溯查找标签名称为“IED”的节点对象,获取该标签名为“IED”的节点对象属性“name”的值,组成接收端二次设备端口标识;构建从接收端二次设备的端口到发送端二次设备的映射集合;
六、获得接收端二次设备的端口到发送端二次设备映射的集合,标识为vTxIed2RxportMap,获得从发送端口到接收端口的网络路径集合,标识为vPaths,通过两集合构建跨交换机的路径,包括以下步骤:
(61)获取vTxIed2RxportMap和vPaths;
(62)过滤掉vPaths的直连路径;
(63)结合直连路径过滤vTxIed2RxportMap中的对应的映射;
(64)结合过滤以后的vTxIed2RxportMap处理vPaths中发送端口为交换机接收端为设备的路径,获取跨交换机从二次设备到二次设备的网络拓扑;
七、形成完整的网络路径列表;
所述步骤一的运维分析系统为PRS7012运维分析系统;
所述步骤(31)包括以下步骤:
(3101)遍历SPCD_Core_Int列表;
(3102)判断SPCD_Core_Int列表是否为空,若SPCD_Core_Int列表为空,结束遍历的过程;
(3103)获得SPCD_Core_Int列表中当前索引的对象,标识为pCore;
(3104)pCore的端口PortA和端口PortB合理性判断,不合理依据:PortA的端口方向为“TX”、“RX”、“RT”中的一种,如果未设置或设置不对,即不合理,不合理则中断该步骤,获取下一个SPCD_Core_Int对象,重新开始执行步骤(3101);
(3105)判断pCore的PortB和PortA的方向都为“RT”,“RT”为端口数据传输方向的类型;
(3106)将方向都为“RT”的端口存入列表,在步骤(31)中暂不处理该列表;在后续的步骤(33)中,循环处理两个端口都为“RT”类型的连线对象,形成发送端口和接收端口唯一,中间端口不固定的所有的路径;
(3107)判断pCore的PortB方向和PortA的方向,两端口方向必定为“RX”、“TX”或“RT”,且不相同,方向相同则配置错误,中断流程,重新开始步骤(3101),遍历下一个端口连线对象;
(3108)判断pCore的PortA方向等于“Tx”或者PortB的方向等于“Rx”;
(3109)判断pCore的PortA方向等于“Rx”或者PortB的方向等于“Tx”;
(3110)pCore的PortB的接收端口存在,且不为PortA,则说明配置错误,造成PortB的接收端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象;
(3111)pCore的PortA的发送端口存在,且不为PortB,则说明配置错误,造成PortA的发送端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象;
(3112)将PortA的发送端口置为PortB,将PortB的接收端口置为PortA,将PortA、PortB存入端口列表中;
(3113)pCore的PortA的接收端口存在,且不为PortB,则说明配置错误,造成PortA的接收端口多个,中断pCore接下来的流程,重新开始步骤(3101),遍历下一个端口连线对象;
(3114)pCore的PortB的发送端口存在,且不为PortA,则说明配置错误,造成PortB的发送端口多个,中断pCore接下来的流程,遍历下一个端口连线对象;
(3115)将PortA、PortB存入端口列表中,将PortA的接收端口置为PortB,将PortB的发送端口置为PortA;
所述步骤(32)包括以下步骤:
(3201)遍历SPCD_Core_Out列表;
(3202)判断SPCD_Core_Out列表是否为空,列表为空,结束遍历的过程;
(3203)获得SPCD_Core_Out列表中当前索引的对象,标识为对象pCore;
(3204)pCore的端口PortA;和端口PortB;合理性判断,合理性依据:PortA的端口方向为“TX”、“RX”、“RT”中的一种,如果未设置或者设置不对,即不合理,不合理则中断流程,获取下一个SPCD_Core_Out对象,重新执行步骤(3201);
(3205)判断pCore的PortB和PortA的方向都为“RT”,“RT”为端口数据传输方向的类型;
(3206)将方向都为“RT”的端口存入列表,在步骤(32)暂不处理该列表;在后续的步骤(33)中,循环处理两个端口都为“RT”类型的连线,形成发送端口和接收端口唯一,中间端口不固定的所有的路径;
(3207)判断pCore的PortB方向和PortA的方向,两端口方向必定为“RX”、“TX”或“RT”,且不相同,方向相同则配置错误,中断pCore接下来的流程,遍历下一个端口连线对象;
(3208)判断pCore的PortA方向等于“Tx”或PortB的方向等于“Rx”;
(3209)判断pCore的PortA方向等于“Rx”或者PortB的方向等于“Tx”;
(3210)pCore的PortB的接收端口存在,且不为PortA,则配置错误,造成PortB的接收端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象;
(3211)pCore的PortA的发送端口存在,且不为PortB,则配置错误,造成PortA的发送端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象;
(3212)将PortA的发送端口置为PortB,将PortB的接收端口置为PortA,将PortA、PortB存入端口列表中;
(3213)pCore的PortA的接收端口存在,且不为PortB,则配置错误,造成PortA的接收端口多个,中断pCore接下来的流程,重新开始步骤(3201),遍历下一个端口连线对象;
(3214)pCore的PortB的发送端口存在,且不为PortA,则配置错误,造成PortB的发送端口多个,中断pCore接下来的流程,遍历下一个端口连线对象;
(3215)将PortA、PortB存入端口列表中,将PortA的接收端口置为PortB,将PortB的发送端口置为PortA;
所述步骤(33)包括以下步骤:
(3301)判断端口方向都为RT的端口连线对象SPCD_Core列表是否空或者是否每个非孤立端口连线对象都已经执行过步骤(33),列表为空或者每个非孤立对象都已经处理,则结束该步骤;
(3302)遍历SPCD_Core列表,逐个获取端口连接对象,标识为pCore;
(3303)判断是否遍历完SPCD_Core列表;
(3304)当遍历完一轮SPCD_Core列表,用来标识遍历次数的nCount计数减一;
(3305)未遍历完SPCD_Core列表,则获取该索引对应的端口连接对象,标识为pCore;
(3306)判断pCore的一端口,标识为PortA的发送端口是否存在,若不存在转至步骤(3313);
(3307)判断PortA的发送端口是否等于pCore的另外一个端口,标识为PortB,若不等于转至步骤(3313);
(3308)判断PortA的接收端口存在并且不等于PortB是否成立,若等于转至步骤(3313);
(3309)判断PortB的发送端口存在并且不等于PortA是否成立,若成立转至步骤(3313);
(3310)将PortA、PortB存入端口列表;
(3311)PortA的接收端口置为PortB,PortB的发送端口置为PortA;
(3312)从SPCD_Core列表中删除该pCore,nCount计数减一,重新按步骤(3301)开始;
(3313)判断pCore的PortA的接收端口是否存在,若不存在转至步骤(3320);
(3314)判断PortA的接收端口不等于PortB是否成立,若不成立转至步骤(3320);
(3315)判断PortA的发送端口存在并且不等于PortB是否成立,若不成立转至步骤(3320);
(3316)判断PortB的接收端口存在并且不等于PortA是否成立,若不成立转至步骤(3320);
(3317)将PortA、PortB存入端口列表m_vPaths;
(3318)PortA的发送端口置为PortB;PortB的接收端口置为PortA;
(3319)从SPCD_Core列表中删除该pCore,nCount计数减一,重新按步骤(3301)开始;
(3320)判断pCore的PortB的发送端口是否存在,若不存在转至步骤(3327);
(3321)判断PortB的发送端口不等于PortA是否成立,若不成立转至步骤(3327);
(3322)判断PortB的接收端口存在并且不等于PortA是否成立,若不成立转至步骤(3327);
(3323)判断PortA的发送端口存在并且不等于PortB是否成立,若不成立转至步骤(3327);
(3324)将PortA、PortB存入端口列表;
(3325)PortA的发送端口置为PortB,PortB的接收端口置为PortA;
(3326)从SPCD_Core列表中删除pCore,nCount计数减一,重新按步骤(3301)开始;
(3327)判断pCore的PortB的接收端口是否存在,若不存在转至步骤(3302);
(3328)判断PortB的接收端口不等于PortA是否成立,若不成立转至步骤(3302);
(3329)判断PortA的接收端口存在并且不等于PortB是否成立,若不成立转至步骤(3302);
(3330)判断PortB的发送端口存在并且不等于PortA是否成立,若不成立转至步骤(3302);
(3331)将PortA、PortB存入端口列表;
(3332)PortB的发送端口置为PortA,PortA的接收端口置为PortB;
(3333)从SPCD_Core列表中删除该pCore,nCount计数减一,从新按步骤(3301)开始;
所述步骤(34)包括以下步骤:
(3401)判断端口列表是否为空,若为空结束该步骤;
(3402)从端口列表中取出待处理的端口,标识为PortA,同时从队列中移除该端口;
(3403)经过步骤(31)到步骤(33),每个端口如果存在发送端口,则可以通过发送端口的标识,一直回溯找到PortA的源发送端口,标识为PortC,并将所经过的端口从端口队列中移除;
(3404)经过步骤(31)到步骤(33),每个端口如果存在接收端口,则可以通过接收端口的标识,一直下顺找到PortA的目的接收端口,并将经过的端口从端口队列中移除除;
(3405)将源发送端口PortC存入新的端口队列;
所述步骤四的运维分析系统为PRS7012运维分析系统;
所述步骤(64)包括以下步骤:
(641)从网络路径的集合vPaths中获取接收端为继电保护二次设备,发送端为交换机的路径集合,标识为vTxSwitch2RxIed;
(642)判断vTxSwitch2RxIed是否空,为空则退出步骤(64);
(643)取出vTxSwitch2RxIed中未处理的路径;
(644)获得接收端口,标识为pRecvPort以及该端口的标识字符串,标识为sRecvPort;
(645)从vTxIed2RxportMap获取关键字为sRecvPort对应的值,标识为values;
(646)判断values是否为空;
(647)获取values中未处理的发送端设备名称标识为sIedName;
(648)根据sRecvPort和发送方继电保护二次设备名称sIedName递归获取完整链路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711476138.9A CN108199879B (zh) | 2017-12-29 | 2017-12-29 | 基于spcd及scd形成智能站过程层网络拓扑的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711476138.9A CN108199879B (zh) | 2017-12-29 | 2017-12-29 | 基于spcd及scd形成智能站过程层网络拓扑的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108199879A CN108199879A (zh) | 2018-06-22 |
CN108199879B true CN108199879B (zh) | 2021-03-05 |
Family
ID=62586241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711476138.9A Active CN108199879B (zh) | 2017-12-29 | 2017-12-29 | 基于spcd及scd形成智能站过程层网络拓扑的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108199879B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108845244A (zh) * | 2018-06-28 | 2018-11-20 | 北京汉能光伏投资有限公司 | 一种电路检测方法及装置 |
CN109617746B (zh) * | 2019-01-17 | 2021-10-08 | 广东电网有限责任公司 | 一种基于spcd文件的scd网络配置校验方法 |
CN110704992B (zh) * | 2019-08-22 | 2022-09-16 | 国网安徽省电力有限公司 | 适用于智能变电站的光纤物理回路自动成图方法及装置 |
CN111948489B (zh) * | 2020-07-27 | 2024-02-02 | 国网山东省电力公司电力科学研究院 | 智能变电站二次设备板卡级异常缺陷诊断定位方法及系统 |
CN112532420B (zh) * | 2020-10-19 | 2022-10-11 | 许继集团有限公司 | 一种虚实结合的变电站通信网络全景可视化方法及装置 |
CN114900239A (zh) * | 2022-06-07 | 2022-08-12 | 国网安徽省电力有限公司滁州供电公司 | 一种智能变电站光纤标签解析及可视化展示方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2782291A1 (en) * | 2013-03-20 | 2014-09-24 | Wolting Holding B.V. | Compiler for and method of software defined networking |
CN104092585A (zh) * | 2014-07-17 | 2014-10-08 | 国家电网公司 | 一种智能变电站过程层二次回路故障诊断方法 |
CN105931132A (zh) * | 2016-04-20 | 2016-09-07 | 中国能源建设集团江苏省电力设计院有限公司 | 智能变电站二次系统物理回路文件完整路径解析方法 |
CN106099727A (zh) * | 2016-06-15 | 2016-11-09 | 南京南瑞集团公司 | 一种智能变电站二次设备系统的构建方法 |
CN107040413A (zh) * | 2017-03-31 | 2017-08-11 | 国网电力科学研究院武汉南瑞有限责任公司 | 智能变电站过程层通讯链路故障定位的方法 |
-
2017
- 2017-12-29 CN CN201711476138.9A patent/CN108199879B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2782291A1 (en) * | 2013-03-20 | 2014-09-24 | Wolting Holding B.V. | Compiler for and method of software defined networking |
CN104092585A (zh) * | 2014-07-17 | 2014-10-08 | 国家电网公司 | 一种智能变电站过程层二次回路故障诊断方法 |
CN105931132A (zh) * | 2016-04-20 | 2016-09-07 | 中国能源建设集团江苏省电力设计院有限公司 | 智能变电站二次系统物理回路文件完整路径解析方法 |
CN106099727A (zh) * | 2016-06-15 | 2016-11-09 | 南京南瑞集团公司 | 一种智能变电站二次设备系统的构建方法 |
CN107040413A (zh) * | 2017-03-31 | 2017-08-11 | 国网电力科学研究院武汉南瑞有限责任公司 | 智能变电站过程层通讯链路故障定位的方法 |
Non-Patent Citations (2)
Title |
---|
《基于物理回路建模的智能标签的优化研究》;田源;《技术与应用》;20170315(第3期);第139-142页 * |
智能变电站二次系统物理回路建模方法及设计实现;高磊;《电力系统保护与控制》;20161216;第44卷(第24期);第130-139页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108199879A (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108199879B (zh) | 基于spcd及scd形成智能站过程层网络拓扑的方法 | |
CN105931132B (zh) | 智能变电站二次系统物理回路文件完整路径解析方法 | |
EP2460258B1 (en) | Method and device for auto-generating goose signal connection topology from substation level | |
CN108494575B (zh) | 一种基于图数据库的电力通信网运行方式建模方法及系统 | |
CN108549650B (zh) | 一种智能变电站防误闭锁逻辑规则源端配置方法及系统 | |
CN105847023B (zh) | 业务系统网络拓扑关系获取方法及装置 | |
CN103199617B (zh) | 二次回路图中虚回路与物理端口对应关系的表示方法 | |
CN115858796A (zh) | 一种故障知识图谱构建方法及装置 | |
CN104468191A (zh) | 基于时间窗和网络模型的电力通信故障预警方法及系统 | |
CN109753401A (zh) | 监控方法、采集端、管控端、监控系统及装置 | |
CN112565095A (zh) | 一种互联网专线自动发现分析方法及装置 | |
CN106874442B (zh) | 通过数据名称命名实现数据自携带特征信息的方法及装置 | |
CN110674353B (zh) | 一种基于xml的就地化保护过程层自动配置方法 | |
CN108846214A (zh) | 变电站的全路径光纤光缆端口节点遍历检索方法及其设备 | |
CN208940010U (zh) | 一种内外网同步系统 | |
CN102932179A (zh) | 一种综合性跨网多保护的电力通信业务可靠性分析方法 | |
CN105225164A (zh) | 智能变电站goose虚拟二次回路图形化方法 | |
CN108089968A (zh) | 一种宿主机监控虚拟机数据库状态的方法 | |
CN107025329A (zh) | 智能变电站的虚回路自动连接方法 | |
CN102868222A (zh) | 基于端口配置的智能变电站光纤二次回路命名方法 | |
CN109687985B (zh) | 一种变电站过程层网络自动配置方法及系统 | |
CN107480883B (zh) | 一种变电站二次系统资源配置方法和系统 | |
CN115345093A (zh) | 基于scd模型的智能变电站二次设备回路信息关联映射方法 | |
CN116260727A (zh) | 一种变电站的网络拓扑图自动生成方法及系统 | |
CN104065524A (zh) | 一种iec61850中goose报文的性能测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |